42typedef enum : uintptr_t {
58typedef enum : uint16_t {
207typedef enum : uint16_t {
253#define RA8_RSIP_ASSERT_ALIGN(off_) \
254 static_assert(((size_t)(off_) & 0x3U) == 0U, #off_ " must be 4-byte aligned")
258#define RA8_RSIP_ASSERT_IN_WIN(off_, lo_, hi_) \
259 static_assert((size_t)(off_) >= (size_t)(lo_) && (size_t)(off_) <= (size_t)(hi_), \
260 #off_ " outside window [" #lo_ ", " #hi_ "]")
313 "KEY_OP_STATUS offset (must NOT collide with TRNG status @ 0x1444)");
325 "KEY_OP_STATUS and RND_STATUS must not overlap");
ra8_rsip_addr_t
Memory-mapped base address for the RSIP-E50D engine.
@ k_ra8_rsip_base_addr
RSIP-E50D mailbox window base.
ra8_rsip_window_t
Sub-block boundary constants used by the layout asserts below.
@ k_ra8_rsip_win_cmd_hi
Command FIFO window high.
@ k_ra8_rsip_win_data_lo
Data + KEY_STAGE window low.
@ k_ra8_rsip_win_kw_hi
Key-wrap window high.
@ k_ra8_rsip_win_sym_hi
Symmetric cipher window high.
@ k_ra8_rsip_win_cmd_lo
Command FIFO window low.
@ k_ra8_rsip_win_trng_lo
TRNG window low.
@ k_ra8_rsip_win_asym_hi
Asymmetric (RSA/ECC) window high.
@ k_ra8_rsip_win_asym_lo
Asymmetric (RSA/ECC) window low.
@ k_ra8_rsip_win_kw_lo
Key-wrap window low.
@ k_ra8_rsip_win_kv_lo
Key-vault window low.
@ k_ra8_rsip_win_ctrl_lo
CTRL/status mailbox low.
@ k_ra8_rsip_win_oem_lo
OEM-install window low.
@ k_ra8_rsip_win_mbox_lo
Generic mailbox low.
@ k_ra8_rsip_win_hash_hi
HASH window high.
@ k_ra8_rsip_win_hash_lo
HASH window low.
@ k_ra8_rsip_win_kv_hi
Key-vault window high.
@ k_ra8_rsip_win_data_hi
Data + KEY_STAGE window high.
@ k_ra8_rsip_win_oem_hi
OEM-install window high.
@ k_ra8_rsip_win_mbox_hi
Generic mailbox high.
@ k_ra8_rsip_win_trng_hi
TRNG window high.
@ k_ra8_rsip_win_ctrl_hi
CTRL/status mailbox high.
@ k_ra8_rsip_win_sym_lo
Symmetric cipher window low.
ra8_rsip_off_t
Byte offsets of every register the HAL touches.
@ k_ra8_rsip_off_kdf_len
Output length (bytes).
@ k_ra8_rsip_off_mbox_arg2
Argument 2.
@ k_ra8_rsip_off_asym_sig_out
Signature output lane.
@ k_ra8_rsip_off_ctrl
Engine control word.
@ k_ra8_rsip_off_asym_msg_in
Message / digest input port.
@ k_ra8_rsip_off_asym_curve
ECC curve selector.
@ k_ra8_rsip_off_kv_data
Vault data port.
@ k_ra8_rsip_off_data_in3
Data input lane 3.
@ k_ra8_rsip_off_kv_ctrl
Vault command (read/write/erase).
@ k_ra8_rsip_off_mbox_ret
Completion code from engine.
@ k_ra8_rsip_off_data_out0
Data output lane 0.
@ k_ra8_rsip_off_life_state
Current lifecycle state.
@ k_ra8_rsip_off_sym_ctrl
Cipher command (mode|dir|alg).
@ k_ra8_rsip_off_oem_iv
OEM install IV.
@ k_ra8_rsip_off_status
Status / state monitor.
@ k_ra8_rsip_off_kw_iv1
Wrap IV lane 1.
@ k_ra8_rsip_off_bist
Built-in self-test trigger / result.
@ k_ra8_rsip_off_kdf_out
Derived-key output handle.
@ k_ra8_rsip_off_asym_key
Key-handle slot.
@ k_ra8_rsip_off_hash_digest
HASH output digest base.
@ k_ra8_rsip_off_kv_count
Vault populated-slot count.
@ k_ra8_rsip_off_asym_shared
ECDH shared-secret handle.
@ k_ra8_rsip_off_uid_ctrl
Unique-ID access gate.
@ k_ra8_rsip_off_dotf0_ctrl
DOTF0 key route enable + slot.
@ k_ra8_rsip_off_isr
Interrupt status (W1C).
@ k_ra8_rsip_off_asym_arg
Argument-block descriptor.
@ k_ra8_rsip_off_data_in0
Data input lane 0.
@ k_ra8_rsip_off_sym_iv3
IV / nonce lane 3.
@ k_ra8_rsip_off_rnd_ctrl
TRNG control word.
@ k_ra8_rsip_off_kdf_ctrl
KDF request word.
@ k_ra8_rsip_off_ier
Interrupt enable.
@ k_ra8_rsip_off_sym_keyh
Cipher key-handle slot.
@ k_ra8_rsip_off_rnd_data
TRNG output (32-bit per read).
@ k_ra8_rsip_off_hash_status
HASH ready / done flags.
@ k_ra8_rsip_off_cmd_fifo
32-bit opcode descriptor write.
@ k_ra8_rsip_off_oem_bl_lock
Lock-after-validation latch.
@ k_ra8_rsip_off_kw_iv3
Wrap IV lane 3.
@ k_ra8_rsip_off_data_out3
Data output lane 3.
@ k_ra8_rsip_off_rnd_status
TRNG ready / health flags.
@ k_ra8_rsip_off_kw_iv2
Wrap IV lane 2.
@ k_ra8_rsip_off_sym_iv1
IV / nonce lane 1.
@ k_ra8_rsip_off_oem_bl_ver
Latched OEM BL Ver counter.
@ k_ra8_rsip_off_data_out1
Data output lane 1.
@ k_ra8_rsip_off_hash_ctrl
HASH control (algorithm select).
@ k_ra8_rsip_off_asym_pub_x
ECC peer X / RSA pubkey lane.
@ k_ra8_rsip_off_tamper_status
Latched tamper-event flags.
@ k_ra8_rsip_off_tamper_ctrl
Tamper-source enable mask.
@ k_ra8_rsip_off_data_in2
Data input lane 2.
@ k_ra8_rsip_off_kw_iv0
Wrap IV lane 0.
@ k_ra8_rsip_off_mbox_arg0
Argument 0.
@ k_ra8_rsip_off_hash_hmac
HMAC mode + key-handle slot.
@ k_ra8_rsip_off_sym_tag
AEAD authentication tag.
@ k_ra8_rsip_off_dpa_ctrl
SPA/DPA countermeasure arm.
@ k_ra8_rsip_off_mbox_op
Opcode written by host.
@ k_ra8_rsip_off_data_in1
Data input lane 1.
@ k_ra8_rsip_off_asym_ctrl
Asymmetric command word.
@ k_ra8_rsip_off_kw_blob_out
Wrapped-blob output lane.
@ k_ra8_rsip_off_sym_aad_len
AEAD AAD length (bytes).
@ k_ra8_rsip_off_hash_data_in
HASH input window (32-bit each).
@ k_ra8_rsip_off_kw_blob_in
Wrapped-blob input lane.
@ k_ra8_rsip_off_kv_slot
Vault slot index.
@ k_ra8_rsip_off_kdf_salt
HKDF salt lane.
@ k_ra8_rsip_off_dotf1_ctrl
DOTF1 key route enable + slot.
@ k_ra8_rsip_off_debug_level
AL0/AL1/AL2 debug level.
@ k_ra8_rsip_off_asym_status
Asymmetric busy / done.
@ k_ra8_rsip_off_sym_status
Cipher busy / done.
@ k_ra8_rsip_off_asym_sig_in
Signature input lane.
@ k_ra8_rsip_off_oem_arg
OEM install argument descriptor.
@ k_ra8_rsip_off_oem_ctrl
OEM install command word.
@ k_ra8_rsip_off_asym_rsa_size
RSA modulus-size selector.
@ k_ra8_rsip_off_mbox_arg3
Argument 3.
@ k_ra8_rsip_off_kw_kek
KEK handle slot.
@ k_ra8_rsip_off_mbox_arg1
Argument 1.
@ k_ra8_rsip_off_key_op_status
Key/data op status (one 32-bit word past KEY_STAGE, inside the KEY_STAGE sub-block 0x1420-0x143F – th...
@ k_ra8_rsip_off_kdf_info
KDF info / context lane.
@ k_ra8_rsip_off_asym_pub_y
ECC peer Y lane.
@ k_ra8_rsip_off_key_stage
Wrapped-key load port.
@ k_ra8_rsip_off_kw_ctrl
Key-wrap command word.
@ k_ra8_rsip_off_kdf_ikm
Input keying material handle.
@ k_ra8_rsip_off_sym_iv0
IV / nonce lane 0.
@ k_ra8_rsip_off_data_out2
Data output lane 2.
@ k_ra8_rsip_off_kw_handle
Source / destination handle slot.
@ k_ra8_rsip_off_huk_ctrl
HUK access gate (read-only data).
@ k_ra8_rsip_off_kdf_status
KDF complete / busy.
@ k_ra8_rsip_off_sym_aad_in
AEAD additional-data input.
@ k_ra8_rsip_off_kdf_label
KDF context label slot.
@ k_ra8_rsip_off_sym_pt_len
AEAD plaintext length (bytes).
@ k_ra8_rsip_off_sym_iv2
IV / nonce lane 2.
@ k_ra8_rsip_off_oem_bl_inc
Increment trigger (W1).
#define RA8_RSIP_ASSERT_ALIGN(off_)
RA8 RSIP ASSERT ALIGN.
#define RA8_RSIP_ASSERT_IN_WIN(off_, lo_, hi_)
RA8 RSIP ASSERT IN WIN.