Security - Key Management - nordic,nrf-kmu-nvmc
nRF5340 KMU + NVMC (key management + flash controller)
Combined model of the shared 4 KiB KMU/NVMC block. KMU pushes and revokes the 128 UICR-backed key slots (zeroizing on revoke, as per the product specification); NVMC provides the flash write-enable gate, page erase, and ERASEALL.
Events emitted
nrf.kmu.slot_pushedA KMU key slot was pushed to its destination address (`TASKS_PUSH`).
Payload
| Field | Type | Description |
|---|---|---|
dest | u32 | Destination address from the slot's DEST word. |
keyoptional | u32[] | The four 32-bit key words, or `null` when not readable. |
key_readable | boolean | Whether the slot permits host-side key read-out. |
slot | u32 | Key slot index (0-127). |
nrf.kmu.slot_revokedA KMU key slot was revoked: key words zeroized, STATE cleared.
Payload
| Field | Type | Description |
|---|---|---|
slot | u32 | Key slot index (0-127). |
Events accepted
No peripheral-specific input events. The peripheral is driven through MMIO register access.
Commands
push_slotTrigger a host-side `TASKS_PUSH` of the selected slot.
| Param | Parsed as | Description |
|---|---|---|
| slot | u32 | Key slot index (0-127). |
All params travel as strings in the command JSON; the type shows how the peripheral parses them (0x/0b prefixes accepted for integers).
revoke_slotRevoke a slot: clear its STATE permission bit and zeroize the key words.
| Param | Parsed as | Description |
|---|---|---|
| slot | u32 | Key slot index (0-127). |
All params travel as strings in the command JSON; the type shows how the peripheral parses them (0x/0b prefixes accepted for integers).
write_slotWrite the four key words of a slot directly into UICR (host-side provisioning shortcut).
| Param | Parsed as | Description |
|---|---|---|
| slot | u32 | Key slot index (0-127). |
| k0 | u32 | Key word 0. |
| k1 | u32 | Key word 1. |
| k2 | u32 | Key word 2. |
| k3 | u32 | Key word 3. |
All params travel as strings in the command JSON; the type shows how the peripheral parses them (0x/0b prefixes accepted for integers).
Snapshot fields
| Field | Type | Label |
|---|---|---|
| state_json | str | KMU Slot State (JSON) |
| kmu_info | str | KMU FSM Info (JSON) |
Read at runtime with emulator.peripheral_snapshot(name).