48typedef enum : uint8_t {
60typedef enum : uint8_t {
79typedef enum : uint8_t {
94typedef enum : uint32_t {
130typedef enum : uint32_t {
156typedef enum : uint32_t {
187typedef enum : uint32_t {
205typedef enum : uint8_t {
221typedef enum : uint16_t {
242typedef enum : uint32_t {
251typedef enum : uint32_t {
260typedef enum : uint32_t {
273typedef enum : uint32_t {
288typedef enum : uint8_t {
303typedef enum : uint8_t {
318typedef enum : uint8_t {
327typedef enum : uint8_t {
344typedef enum : uint16_t {
364typedef enum : uint32_t {
389typedef enum : uint32_t {
406typedef enum : uint32_t {
423typedef enum : uint32_t {
440typedef enum : uint16_t {
Annotation-attribute framework macros for ra8-firmware.
#define RA8_HW_REGISTER_ACCESS
Mark an MMIO accessor function (returns volatile register pointer).
ra8_rsip_kdf_op_t
KDF mode selector written to KDF_CTRL.
@ k_ra8_rsip_kdf_op_huk_label
Derive from HUK + label.
@ k_ra8_rsip_kdf_op_hkdf_sha384
HKDF SHA-384.
@ k_ra8_rsip_kdf_op_hkdf_sha512
HKDF SHA-512.
@ k_ra8_rsip_kdf_op_hkdf_sha256
HKDF SHA-256.
@ k_ra8_rsip_kdf_op_uid_label
Derive from UID + label.
ra8_rsip_sym_alg_t
Symmetric-cipher algorithm selector low byte of SYM_CTRL.
@ k_ra8_rsip_sym_alg_chacha20
ChaCha20 stream cipher.
@ k_ra8_rsip_sym_alg_aes128
AES with a 128-bit key.
@ k_ra8_rsip_sym_alg_aes256
AES with a 256-bit key.
@ k_ra8_rsip_sym_alg_aes192
AES with a 192-bit key.
ra8_rsip_kw_op_t
Key-wrap command word values written to KW_CTRL.
@ k_ra8_rsip_kw_op_wrap
Wrap a plaintext handle -> blob.
@ k_ra8_rsip_kw_op_unwrap
Unwrap a blob -> handle.
ra8_rsip_handle_word_t
Wrapped-key handle word counts (FSP rsip_wrapped_key_t).
@ k_ra8_rsip_handle_words_hmac_sha384
HMAC-SHA-384 wrapped key.
@ k_ra8_rsip_handle_words_rsa4096_priv
RSA-4096 wrapped private.
@ k_ra8_rsip_handle_words_ecc521_priv
ECC P-521 wrapped private.
@ k_ra8_rsip_handle_words_hmac_sha224
HMAC-SHA-224 wrapped key.
@ k_ra8_rsip_handle_words_chacha20
ChaCha20 wrapped key body.
@ k_ra8_rsip_handle_words_rsa2048_priv
RSA-2048 wrapped private.
@ k_ra8_rsip_handle_words_rsa3072_priv
RSA-3072 wrapped private.
@ k_ra8_rsip_handle_words_aes128
AES-128 wrapped-key body.
@ k_ra8_rsip_handle_words_aes192
AES-192 wrapped-key body.
@ k_ra8_rsip_handle_words_hmac_sha512
HMAC-SHA-512 wrapped key.
@ k_ra8_rsip_handle_words_ecc384_priv
ECC P-384 wrapped private.
@ k_ra8_rsip_handle_words_aes256
AES-256 wrapped-key body.
@ k_ra8_rsip_handle_words_hmac_sha256
HMAC-SHA-256 wrapped key.
@ k_ra8_rsip_handle_words_ecc256_priv
ECC P-256 wrapped private.
ra8_rsip_aes_dir_t
Direction selector for symmetric ciphers.
@ k_ra8_rsip_dir_decrypt
Ciphertext -> Plaintext.
@ k_ra8_rsip_dir_encrypt
Plaintext -> Ciphertext.
ra8_rsip_isr_bits_t
Field positions inside the IER / ISR words.
@ k_ra8_rsip_isr_bit_asym_done
RSA/ECC operation complete.
@ k_ra8_rsip_isr_bit_kdf_done
KDF complete.
@ k_ra8_rsip_isr_bit_err
Generic access/algorithm error.
@ k_ra8_rsip_isr_bit_tamper
Tamper / RSIP_TADI interrupt.
@ k_ra8_rsip_isr_bit_kv_done
Key vault op complete.
@ k_ra8_rsip_isr_bit_hash
Hash absorption complete.
@ k_ra8_rsip_isr_bit_done
Generic command-complete.
@ k_ra8_rsip_isr_bit_rnd
RNG fresh-data ready.
ra8_rsip_dotf_route_t
DOTF key route command value written to DOTFn_CTRL.
@ k_ra8_rsip_dotf_on
Feed key from slot bits 31..16.
@ k_ra8_rsip_dotf_off
Disable key feed.
ra8_rsip_chacha_op_t
ChaCha20 / Poly1305 operation selector.
@ k_ra8_rsip_chacha_op_aead_encrypt
ChaCha20-Poly1305 enc.
@ k_ra8_rsip_chacha_op_poly1305_mac
Poly1305 MAC only.
@ k_ra8_rsip_chacha_op_decrypt
ChaCha20 stream decrypt.
@ k_ra8_rsip_chacha_op_aead_decrypt
ChaCha20-Poly1305 dec.
@ k_ra8_rsip_chacha_op_encrypt
ChaCha20 stream encrypt.
ra8_rsip_debug_level_t
Debug authorisation levels AL0/AL1/AL2 (off-target-only model – no documented RA8D2 register; real st...
@ k_ra8_rsip_debug_al2
AL2 – secure + non-secure debug.
@ k_ra8_rsip_debug_al1
AL1 – non-secure debug only.
@ k_ra8_rsip_debug_al0
AL0 – no debug functions available.
ra8_rsip_curve_t
ECC curve selector (HUM Ch 52.1 Table 52.1 "ECC" p 3302).
@ k_ra8_rsip_curve_secp384r1
NIST P-384.
@ k_ra8_rsip_curve_brain384r1
Brainpool P-384r1.
@ k_ra8_rsip_curve_secp521r1
NIST P-521.
@ k_ra8_rsip_curve_brain512r1
Brainpool P-512r1.
@ k_ra8_rsip_curve_brain256r1
Brainpool P-256r1.
@ k_ra8_rsip_curve_ed25519
Ed25519.
@ k_ra8_rsip_curve_secp256r1
NIST P-256.
@ k_ra8_rsip_curve_secp192r1
NIST P-192.
@ k_ra8_rsip_curve_secp256k1
secp256k1.
@ k_ra8_rsip_curve_secp224r1
NIST P-224.
ra8_rsip_hash_alg_t
Algorithm selector value written to the HASH CTRL word.
@ k_ra8_rsip_hash_sha3_512
SHA3-512 FIPS PUB 202.
@ k_ra8_rsip_hash_sha512_224
SHA-512/224.
@ k_ra8_rsip_hash_shake256
SHAKE256 FIPS PUB 202.
@ k_ra8_rsip_hash_sha384
SHA-384.
@ k_ra8_rsip_hash_sha3_256
SHA3-256 FIPS PUB 202.
@ k_ra8_rsip_hash_sha256
SHA-256.
@ k_ra8_rsip_hash_sha512
SHA-512.
@ k_ra8_rsip_hash_shake128
SHAKE128 FIPS PUB 202.
@ k_ra8_rsip_hash_sha512_256
SHA-512/256.
@ k_ra8_rsip_hash_sha3_224
SHA3-224 FIPS PUB 202.
@ k_ra8_rsip_hash_sha224
SHA-224.
@ k_ra8_rsip_hash_sha3_384
SHA3-384 FIPS PUB 202.
ra8_rsip_oem_cmd_t
OEM-key install opcode written to OEM_CTRL.
@ k_ra8_rsip_oem_cmd_rsa3072_priv
RSA-3072 private.
@ k_ra8_rsip_oem_cmd_ecc_secp521r1_priv
ECC NIST P-521 private.
@ k_ra8_rsip_oem_cmd_rsa4096_priv
RSA-4096 private.
@ k_ra8_rsip_oem_cmd_ecc_secp256r1_priv
ECC NIST P-256 private.
@ k_ra8_rsip_oem_cmd_ecc_brain512r1_priv
ECC Brainpool P-512.
@ k_ra8_rsip_oem_cmd_ecc_secp256k1_priv
ECC secp256k1 private.
@ k_ra8_rsip_oem_cmd_ecc_secp384r1_priv
ECC NIST P-384 private.
@ k_ra8_rsip_oem_cmd_hmac_sha384
HMAC-SHA-384.
@ k_ra8_rsip_oem_cmd_chacha20
ChaCha20.
@ k_ra8_rsip_oem_cmd_aes256
AES-256.
@ k_ra8_rsip_oem_cmd_ecc_brain256r1_priv
ECC Brainpool P-256.
@ k_ra8_rsip_oem_cmd_aes128_xts
AES-128 XTS.
@ k_ra8_rsip_oem_cmd_hmac_sha512_224
HMAC-SHA-512/224.
@ k_ra8_rsip_oem_cmd_aes256_xts
AES-256 XTS.
@ k_ra8_rsip_oem_cmd_aes192
AES-192.
@ k_ra8_rsip_oem_cmd_hmac_sha224
HMAC-SHA-224.
@ k_ra8_rsip_oem_cmd_ecc_brain384r1_priv
ECC Brainpool P-384.
@ k_ra8_rsip_oem_cmd_rsa2048_priv
RSA-2048 private.
@ k_ra8_rsip_oem_cmd_hmac_sha512
HMAC-SHA-512.
@ k_ra8_rsip_oem_cmd_invalid
Sentinel / unused.
@ k_ra8_rsip_oem_cmd_hmac_sha256
HMAC-SHA-256.
@ k_ra8_rsip_oem_cmd_ecc_ed25519_priv
Ed25519 private.
@ k_ra8_rsip_oem_cmd_aes128
AES-128.
@ k_ra8_rsip_oem_cmd_hmac_sha512_256
HMAC-SHA-512/256.
ra8_rsip_rsa_size_t
RSA key-size selector (HUM Ch 52.1 Table 52.1 "RSA" p 3302).
@ k_ra8_rsip_rsa_4096
4096-bit RSA.
@ k_ra8_rsip_rsa_1024
1024-bit RSA.
@ k_ra8_rsip_rsa_3072
3072-bit RSA.
@ k_ra8_rsip_rsa_2048
2048-bit RSA.
ra8_rsip_asym_op_t
Opcode written to ASYM_CTRL to select the operation.
@ k_ra8_rsip_asym_op_rsa_verify
RSA signature ver.
@ k_ra8_rsip_asym_op_ecdh_compute
ECDH shared secret.
@ k_ra8_rsip_asym_op_rsa_decrypt
RSA private decrypt.
@ k_ra8_rsip_asym_op_rsa_sign
RSA signature gen.
@ k_ra8_rsip_asym_op_eddsa_verify
Ed25519 PureEdDSA verify.
@ k_ra8_rsip_asym_op_ecc_keygen
ECC keypair gen.
@ k_ra8_rsip_asym_op_eddsa_sign
Ed25519 PureEdDSA sign.
@ k_ra8_rsip_asym_op_ecdsa_sign
ECDSA signature gen.
@ k_ra8_rsip_asym_op_rsa_encrypt
RSA public encrypt.
@ k_ra8_rsip_asym_op_ecdsa_verify
ECDSA signature ver.
ra8_rsip_rsa_pad_t
RSA encryption padding-scheme selector written to ASYM_ARG.
@ k_ra8_rsip_rsa_pad_oaep
RSAES-OAEP (SHA-256 MGF1).
@ k_ra8_rsip_rsa_pad_pkcs1
RSAES-PKCS1-v1_5 (legacy).
static volatile uint32_t * ra8_rsip_reg32(ra8_rsip_off_t offset)
Volatile pointer to a 32-bit RSIP register at offset.
ra8_rsip_aes_mode_t
Block-cipher mode selector for the AES engine.
@ k_ra8_rsip_aes_mode_ctr
CTR.
@ k_ra8_rsip_aes_mode_ecb
ECB.
@ k_ra8_rsip_aes_mode_cbc
CBC.
@ k_ra8_rsip_aes_mode_xts
XTS.
@ k_ra8_rsip_aes_mode_gmac
GMAC.
@ k_ra8_rsip_aes_mode_cmac
CMAC.
@ k_ra8_rsip_aes_mode_gcm
GCM (AEAD).
@ k_ra8_rsip_aes_mode_ccm
CCM (AEAD).
ra8_rsip_sizes_t
Buffer sizes published to callers.
@ k_ra8_rsip_chacha_nonce_bytes
RFC 7539 12-byte nonce.
@ k_ra8_rsip_sha512_256_digest_bytes
SHA-512/256 length.
@ k_ra8_rsip_kv_slot_count
Number of vault slots.
@ k_ra8_rsip_trng_word_bytes
Bytes per TRNG read.
@ k_ra8_rsip_sha256_digest_words
SHA-256 = 8 * uint32_t.
@ k_ra8_rsip_aes_block_bytes
AES block = 128 bits.
@ k_ra8_rsip_sha512_digest_bytes
SHA-512 digest length.
@ k_ra8_rsip_aes192_key_bytes
AES-192 key length.
@ k_ra8_rsip_chacha_key_bytes
ChaCha20 256-bit key.
@ k_ra8_rsip_sha3_512_digest_bytes
SHA3-512 length.
@ k_ra8_rsip_poly1305_tag_bytes
Poly1305 16-byte MAC.
@ k_ra8_rsip_sha3_224_digest_bytes
SHA3-224 length.
@ k_ra8_rsip_sha256_digest_bytes
SHA-256 digest length.
@ k_ra8_rsip_sha512_224_digest_bytes
SHA-512/224 length.
@ k_ra8_rsip_aes256_key_bytes
AES-256 key length.
@ k_ra8_rsip_aes128_key_bytes
AES-128 key length.
@ k_ra8_rsip_sha384_digest_bytes
SHA-384 digest length.
@ k_ra8_rsip_kv_slot_bytes
Wrapped-key blob size.
@ k_ra8_rsip_sha3_256_digest_bytes
SHA3-256 length.
@ k_ra8_rsip_uid_bytes
128-bit Unique ID.
@ k_ra8_rsip_sha3_384_digest_bytes
SHA3-384 length.
@ k_ra8_rsip_huk_bytes
256-bit HUK.
@ k_ra8_rsip_ccm_tag_bytes
AES-CCM max tag = 128b.
@ k_ra8_rsip_gcm_tag_bytes
AES-GCM 128-bit tag.
@ k_ra8_rsip_sha224_digest_bytes
SHA-224 digest length.
ra8_rsip_mask_t
Pre-computed bit masks for the CTRL / STATUS / ISR words.
@ k_ra8_rsip_mask_isr_kv_done
ISR.KV_DONE bit.
@ k_ra8_rsip_mask_isr_done
ISR.DONE bit.
@ k_ra8_rsip_mask_isr_hash
ISR.HASH bit.
@ k_ra8_rsip_mask_ctrl_irq_glob
CTRL.IRQ_GLOB bit.
@ k_ra8_rsip_mask_isr_all
Union of ISR bits.
@ k_ra8_rsip_mask_status_bistok
STATUS.BIST_OK.
@ k_ra8_rsip_mask_isr_err
ISR.ERR bit.
@ k_ra8_rsip_mask_ctrl_bist
CTRL.BIST bit.
@ k_ra8_rsip_mask_kv_busy
Key-op status BUSY.
@ k_ra8_rsip_mask_isr_kdf_done
ISR.KDF_DONE bit.
@ k_ra8_rsip_mask_ctrl_reset
CTRL.RESET bit.
@ k_ra8_rsip_mask_ctrl_dpa_arm
CTRL.DPA_ARM bit.
@ k_ra8_rsip_mask_isr_asym_done
ISR.ASYM_DONE bit.
@ k_ra8_rsip_mask_isr_tamper
ISR.TAMPER bit.
@ k_ra8_rsip_mask_status_err
STATUS.ERR bit.
@ k_ra8_rsip_mask_kv_ready
Key-op status READY.
@ k_ra8_rsip_mask_status_ready
STATUS.READY bit.
@ k_ra8_rsip_mask_status_kvok
STATUS.KV_OK.
@ k_ra8_rsip_mask_status_dpa_on
STATUS.DPA_ON.
@ k_ra8_rsip_mask_status_busy
STATUS.BUSY bit.
@ k_ra8_rsip_mask_ctrl_enable
CTRL.ENABLE bit.
@ k_ra8_rsip_mask_status_hukok
STATUS.HUK_OK.
@ k_ra8_rsip_mask_isr_rnd
ISR.RND bit.
ra8_rsip_status_bits_t
Field positions inside the STATUS mailbox word.
@ k_ra8_rsip_status_bit_huk_ok
1 = HUK loaded and unwrapped.
@ k_ra8_rsip_status_bit_busy
1 = engine is running a command.
@ k_ra8_rsip_status_bit_dpa_on
1 = SPA/DPA countermeasures live.
@ k_ra8_rsip_status_bit_err
1 = access-management error.
@ k_ra8_rsip_status_bit_bist_ok
1 = self-test passed.
@ k_ra8_rsip_status_bit_ready
1 = idle and ready for command.
@ k_ra8_rsip_status_bit_kv_ok
1 = key vault initialized.
ra8_rsip_ctrl_bits_t
Field positions inside the CTRL mailbox word.
@ k_ra8_rsip_ctrl_bit_irq_glob
1 = globally enable RSIP IRQ line.
@ k_ra8_rsip_ctrl_bit_dpa_arm
1 = enable SPA/DPA countermeasures.
@ k_ra8_rsip_ctrl_bit_bist
1 = arm built-in self-test.
@ k_ra8_rsip_ctrl_bit_enable
1 = clock the engine.
@ k_ra8_rsip_ctrl_bit_reset
1 = soft-reset the engine.
ra8_rsip_kv_op_t
Key-vault command word values written to KV_CTRL.
@ k_ra8_rsip_kv_op_write
Write KV_DATA -> slot.
@ k_ra8_rsip_kv_op_count
Snapshot populated-slot count.
@ k_ra8_rsip_kv_op_read
Read slot -> KV_DATA.
@ k_ra8_rsip_kv_op_idle
No-op.
@ k_ra8_rsip_kv_op_erase
Zeroise slot.
ra8_rsip_tamper_src_t
Tamper-source identifier bits inside TAMPER_CTRL / TAMPER_STATUS.
@ k_ra8_rsip_tamper_src_self
RSIP internal self-fault.
@ k_ra8_rsip_tamper_src_ext3
External tamper input 3.
@ k_ra8_rsip_tamper_src_clk
Clock-glitch detector.
@ k_ra8_rsip_tamper_src_ext5
External tamper input 5.
@ k_ra8_rsip_tamper_src_all
Union of all sources.
@ k_ra8_rsip_tamper_src_ext4
External tamper input 4.
@ k_ra8_rsip_tamper_src_ext1
External tamper input 1.
@ k_ra8_rsip_tamper_src_volt
Voltage-glitch detector.
@ k_ra8_rsip_tamper_src_ext0
External tamper input 0.
@ k_ra8_rsip_tamper_src_ext2
External tamper input 2.
ra8_rsip_life_state_t
Device-lifecycle state values (off-target-only model – no documented RA8D2 register; real state is in...
@ k_ra8_rsip_life_rma
Return-merchandise-auth.
@ k_ra8_rsip_life_nsecsd
Non-secure software dev.
@ k_ra8_rsip_life_dpl
Deployed.
@ k_ra8_rsip_life_lcm
Locked.
@ k_ra8_rsip_life_ssd
Secure software development.
@ k_ra8_rsip_life_cm
Chip-manufacturing.
RSIP-E50D register base address, byte offsets, and layout asserts.
@ k_ra8_rsip_base_addr
RSIP-E50D mailbox window base.
ra8_rsip_off_t
Byte offsets of every register the HAL touches.