1# Current implementation status
2
3Currently peripherals of a nRF52833 and nrf5340 SOCs are modelled at varying degrees:
4
5Notation:
6
7| Mark | Meaning |
8|---|---|
9| ✅ | Fully completed |
10| ✔ | Implemented |
11| ☐ | Minimal/stubbed implementation |
12| 𐄂 | Missing |
13
14<br>
15
16|  |  | **nRF52833** | **nRF5340** | Notes |
17|---|---|---|---|---|
18| **AAR** | Accelerated address resolver | &#x2714; | &#x2714; | See [NHW_AAR.c](../src/HW_models/NHW_AAR.c) |
19| **ACL** | Access control lists | &#x10102; | &#x10102; |  |
20| **CACHE** | Instruction/data cache | N/A | &#x10102; |  |
21| **CCM** | AES CCM mode encryption | &#x2714; | &#x2714; | See [NHW_AES_CCM.c](../src/HW_models/NHW_AES_CCM.c) |
22| **CLOCK** | Clock control | &#x2714; | &#x2714; | See [NHW_CLOCK.c](../src/HW_models/NHW_CLOCK.c) |
23| **COMP** | Comparator | &#x10102; | &#x10102; |  |
24| **DPPI** | Distributed programmable peripheral interconnect | N/A | &#x2705; |  |
25| **ECB** | AES electronic codebook mode encryption | &#x2705; | &#x2705; |  |
26| **EGU** | Event generator unit | &#x2705; | &#x2705; |  |
27| **FICR** | Factory information configuration registers | &#x2714; | &#x2714; | For 52: See [NHW_52_FICR.c](../src/HW_models/NHW_52_FICR.c)<br>For 53: See [NHW_53_FICR.c](../src/HW_models/NHW_53_FICR.c) |
28| **GPIO** | General purpose input/output | &#x2714; | &#x10102; | For 52: See [NRF_GPIO.c](../src/HW_models/NRF_GPIO.c) |
29| **GPIOTE** | GPIO tasks and events | &#x2705; | &#x10102; | For 52: Complete with very minor differences, see [NRF_GPIOTE.c](../src/HW_models/NRF_GPIOTE.c) |
30| **I2S** | Inter-IC sound interface | &#x10102; | &#x10102; |  |
31| **IPC** | Interprocessor communication | N/A | &#x2714; | See [NHW_IPC.c](../src/HW_models/NHW_IPC.c) |
32| **KMU** | Key management unit | &#x10102; | &#x10102; |  |
33| **LPCOMP** | Low-power comparator | &#x10102; | &#x10102; |  |
34| **MUTEX** | Mutual exclusive peripheral | N/A | &#x2705; |  |
35| **MWU** | Memory watch unit | &#x10102; | N/A |  |
36| **NFCT** | Near field communication tag | &#x10102; | &#x10102; |  |
37| **NVMC** | Non-volatile memory controller | &#x2714; | &#x2714; | See [NHW_NVMC.c](../src/HW_models/NHW_NVMC.c) |
38| **OSCILLATORS** | Oscillator control | N/A | &#x10102; |  |
39| **PDM** | Pulse density modulation interface | &#x10102; | &#x10102; |  |
40| **POWER** | Power supply | &#x2610; | &#x2610; | Only register stubs |
41| **PPI** | Programmable peripheral interconnect | &#x2705; | N/A | Complete but some peripheral connections are missing |
42| **PWM** | Pulse width modulation | &#x10102; | &#x10102; |  |
43| **QDEC** | Quadrature decoder | &#x10102; | &#x10102; |  |
44| **RADIO** | 2.4 GHz radio | &#x2714; | &#x2714; | See [NHW_RADIO.c](../src/HW_models/NHW_RADIO.c) |
45| **REGULATORS** | Regulator control | N/A | &#x10102; |  |
46| **RESET** | Reset control | N/A | &#x2610; | Only register stubs |
47| **RNG** | Random number generator | &#x2714; | &#x2714; | See [NHW_RNG.c](../src/HW_models/NHW_RNG.c) |
48| **RTC** | Real-time counter | &#x2714; | &#x2714; | See [NHW_RTC.c](../src/HW_models/NHW_RTC.c) |
49| **SAADC** | Successive approximation analog-to-digital converter | &#x10102; | &#x10102; |  |
50| **[Q]SPI[M/S]** | [Quad] Serial peripheral interface [master/slave] | &#x10102; | &#x10102; |  |
51| **SPU** | System protection unit | N/A | &#x10102; |  |
52| **SWI** | Software interrupts | &#x2705; | &#x2705; |  |
53| **TEMP** | Temperature sensor | &#x2714; | &#x2714; | See [NHW_TEMP.c](../src/HW_models/NHW_TEMP.c) |
54| **TIMER** | Timer/counter | &#x2705; | &#x2705; |  |
55| **TWI[M/S]** | I2C compatible two-wire interface | &#x10102; | &#x10102; |  |
56| **UART[E]** | Universal asynchronous receiver/transmitter [with EasyDMA] | &#x2714; | &#x2714; | For 53: It cannot be used yet w Zephyr as the Zephyr driver requires a working nRF53 GPIO |
57| **UICR** | User information configuration registers | &#x2714; | &#x2714; | See [NHW_NVMC.c](../src/HW_models/NHW_NVMC.c) |
58| **USBD** | Universal serial bus device | &#x10102; | &#x10102; |  |
59| **USBREG** | Universal serial bus device | N/A | &#x10102; |  |
60| **VREQCTRL** | Voltage request control | N/A | &#x2610; | Only register stubs |
61| **VMC** | Volatile memory controller | N/A | &#x10102; |  |
62| **WDT** | Watchdog timer | &#x10102; | &#x10102; |  |
63
64ARM processor peripherals or the AHB interconnect are not part of these models
65