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