1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
#[doc = r" Register block"] #[repr(C)] pub struct RegisterBlock { #[doc = "0x00 - Start generation of key-stream. This operation will stop by itself when completed."] pub tasks_ksgen: TASKS_KSGEN, #[doc = "0x04 - Start encryption/decryption. This operation will stop by itself when completed."] pub tasks_crypt: TASKS_CRYPT, #[doc = "0x08 - Stop encryption/decryption"] pub tasks_stop: TASKS_STOP, _reserved0: [u8; 244usize], #[doc = "0x100 - Key-stream generation complete"] pub events_endksgen: EVENTS_ENDKSGEN, #[doc = "0x104 - Encrypt/decrypt complete"] pub events_endcrypt: EVENTS_ENDCRYPT, #[doc = "0x108 - CCM error event"] pub events_error: EVENTS_ERROR, _reserved1: [u8; 244usize], #[doc = "0x200 - Shortcut register"] pub shorts: SHORTS, _reserved2: [u8; 256usize], #[doc = "0x304 - Enable interrupt"] pub intenset: INTENSET, #[doc = "0x308 - Disable interrupt"] pub intenclr: INTENCLR, _reserved3: [u8; 244usize], #[doc = "0x400 - MIC check result"] pub micstatus: MICSTATUS, _reserved4: [u8; 252usize], #[doc = "0x500 - Enable"] pub enable: ENABLE, #[doc = "0x504 - Operation mode"] pub mode: MODE, #[doc = "0x508 - Pointer to data structure holding AES key and NONCE vector"] pub cnfptr: CNFPTR, #[doc = "0x50c - Input pointer"] pub inptr: INPTR, #[doc = "0x510 - Output pointer"] pub outptr: OUTPTR, #[doc = "0x514 - Pointer to data area used for temporary storage"] pub scratchptr: SCRATCHPTR, } #[doc = "Start generation of key-stream. This operation will stop by itself when completed."] pub struct TASKS_KSGEN { register: ::vcell::VolatileCell<u32>, } #[doc = "Start generation of key-stream. This operation will stop by itself when completed."] pub mod tasks_ksgen; #[doc = "Start encryption/decryption. This operation will stop by itself when completed."] pub struct TASKS_CRYPT { register: ::vcell::VolatileCell<u32>, } #[doc = "Start encryption/decryption. This operation will stop by itself when completed."] pub mod tasks_crypt; #[doc = "Stop encryption/decryption"] pub struct TASKS_STOP { register: ::vcell::VolatileCell<u32>, } #[doc = "Stop encryption/decryption"] pub mod tasks_stop; #[doc = "Key-stream generation complete"] pub struct EVENTS_ENDKSGEN { register: ::vcell::VolatileCell<u32>, } #[doc = "Key-stream generation complete"] pub mod events_endksgen; #[doc = "Encrypt/decrypt complete"] pub struct EVENTS_ENDCRYPT { register: ::vcell::VolatileCell<u32>, } #[doc = "Encrypt/decrypt complete"] pub mod events_endcrypt; #[doc = "CCM error event"] pub struct EVENTS_ERROR { register: ::vcell::VolatileCell<u32>, } #[doc = "CCM error event"] pub mod events_error; #[doc = "Shortcut register"] pub struct SHORTS { register: ::vcell::VolatileCell<u32>, } #[doc = "Shortcut register"] pub mod shorts; #[doc = "Enable interrupt"] pub struct INTENSET { register: ::vcell::VolatileCell<u32>, } #[doc = "Enable interrupt"] pub mod intenset; #[doc = "Disable interrupt"] pub struct INTENCLR { register: ::vcell::VolatileCell<u32>, } #[doc = "Disable interrupt"] pub mod intenclr; #[doc = "MIC check result"] pub struct MICSTATUS { register: ::vcell::VolatileCell<u32>, } #[doc = "MIC check result"] pub mod micstatus; #[doc = "Enable"] pub struct ENABLE { register: ::vcell::VolatileCell<u32>, } #[doc = "Enable"] pub mod enable; #[doc = "Operation mode"] pub struct MODE { register: ::vcell::VolatileCell<u32>, } #[doc = "Operation mode"] pub mod mode; #[doc = "Pointer to data structure holding AES key and NONCE vector"] pub struct CNFPTR { register: ::vcell::VolatileCell<u32>, } #[doc = "Pointer to data structure holding AES key and NONCE vector"] pub mod cnfptr; #[doc = "Input pointer"] pub struct INPTR { register: ::vcell::VolatileCell<u32>, } #[doc = "Input pointer"] pub mod inptr; #[doc = "Output pointer"] pub struct OUTPTR { register: ::vcell::VolatileCell<u32>, } #[doc = "Output pointer"] pub mod outptr; #[doc = "Pointer to data area used for temporary storage"] pub struct SCRATCHPTR { register: ::vcell::VolatileCell<u32>, } #[doc = "Pointer to data area used for temporary storage"] pub mod scratchptr;