Struct rk3399_pac::Crypto0

source ·
pub struct Crypto0 { /* private fields */ }
Expand description

Crypto 0 Registers

Implementations§

source§

impl Crypto0

source

pub const PTR: *const RegisterBlock = {0xff8b0000 as *const crypto::RegisterBlock}

Pointer to the register block

source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

source

pub fn intsts(&self) -> &Intsts

0x00 - Interrupt Status Register

source

pub fn intena(&self) -> &Intena

0x04 - Interrupt Set Register

source

pub fn ctrl(&self) -> &Ctrl

0x08 - Control Register

source

pub fn conf(&self) -> &Conf

0x0c - Configure Register

source

pub fn brdmas(&self) -> &Brdmas

0x10 - Block Receiving DMA Start Address Register

source

pub fn btdmas(&self) -> &Btdmas

0x14 - Block Transmiting DMA Start Address Register

source

pub fn brdmal(&self) -> &Brdmal

0x18 - Block Receiving DMA Length Register

source

pub fn hrdmas(&self) -> &Hrdmas

0x1c - Hash Receiving DMA Start Address Register

source

pub fn hrdmal(&self) -> &Hrdmal

0x20 - Hash Receiving DMA Length Register

source

pub fn aes_ctrl(&self) -> &AesCtrl

0x80 - AES Control Register

source

pub fn aes_sts(&self) -> &AesSts

0x84 - Status Register

source

pub fn aes_din_0(&self) -> &AesDin0

0x88 - AES Input Data 0 Register

source

pub fn aes_din_1(&self) -> &AesDin1

0x8c - AES Input Data 1 Register

source

pub fn aes_din_2(&self) -> &AesDin2

0x90 - AES Input Data 2 Register

source

pub fn aes_din_3(&self) -> &AesDin3

0x94 - AES Input Data 3 Register

source

pub fn aes_dout_0(&self) -> &AesDout0

0x98 - AES Output Data 0 Register

source

pub fn aes_dout_1(&self) -> &AesDout1

0x9c - AES Output Data 1 Register

source

pub fn aes_dout_2(&self) -> &AesDout2

0xa0 - AES Output Data 2 Register

source

pub fn aes_dout_3(&self) -> &AesDout3

0xa4 - AES Output Data 3 Register

source

pub fn aes_iv_0(&self) -> &AesIv0

0xa8 - AES IV data 0 Register

source

pub fn aes_iv_1(&self) -> &AesIv1

0xac - AES IV data 1 Register

source

pub fn aes_iv_2(&self) -> &AesIv2

0xb0 - AES IV data 2 Register

source

pub fn aes_iv_3(&self) -> &AesIv3

0xb4 - AES IV data 3 Register

source

pub fn aes_key_0(&self) -> &AesKey0

0xb8 - AES Key data 0 Register

source

pub fn aes_key_1(&self) -> &AesKey1

0xbc - AES Key data 1 Register

source

pub fn aes_key_2(&self) -> &AesKey2

0xc0 - AES Key data 2 Register

source

pub fn aes_key_3(&self) -> &AesKey3

0xc4 - AES Key data 3 Register

source

pub fn aes_key_4(&self) -> &AesKey4

0xc8 - AES Key data 4 Register

source

pub fn aes_key_5(&self) -> &AesKey5

0xcc - AES Key data 5 Register

source

pub fn aes_key_6(&self) -> &AesKey6

0xd0 - AES Key data 6 Register

source

pub fn aes_key_7(&self) -> &AesKey7

0xd4 - AES Key data 7 Register

source

pub fn aes_cnt_0(&self) -> &AesCnt0

0xd8 - AES Input Counter 0 Register

source

pub fn aes_cnt_1(&self) -> &AesCnt1

0xdc - AES Input Counter 1 Register

source

pub fn aes_cnt_2(&self) -> &AesCnt2

0xe0 - AES Input Counter 2 Register

source

pub fn aes_cnt_3(&self) -> &AesCnt3

0xe4 - AES Input Counter 3 Register

source

pub fn tdes_ctrl(&self) -> &TdesCtrl

0x100 - TDES Control Register

source

pub fn tdes_sts(&self) -> &TdesSts

0x104 - Status Register

source

pub fn tdes_din_0(&self) -> &TdesDin0

0x108 - TDES Input Data 0 Register

source

pub fn tdes_din_1(&self) -> &TdesDin1

0x10c - TDES Input Data 1 Register

source

pub fn tdes_dout_0(&self) -> &TdesDout0

0x110 - TDES Output Data 0 Register

source

pub fn tdes_dout_1(&self) -> &TdesDout1

0x114 - TDES Output Data 1 Register

source

pub fn tdes_iv_0(&self) -> &TdesIv0

0x118 - TDES IV data 0 Register

source

pub fn tdes_iv_1(&self) -> &TdesIv1

0x11c - TDES IV data 1 Register

source

pub fn tdes_key1_0(&self) -> &TdesKey1_0

0x120 - TDES Key1 data 1 Register

source

pub fn tdes_key1_1(&self) -> &TdesKey1_1

0x124 - TDES Key1 data 1 Register

source

pub fn tdes_key2_0(&self) -> &TdesKey2_0

0x128 - TDES Key2 data 0 Register

source

pub fn tdes_key2_1(&self) -> &TdesKey2_1

0x12c - TDES Key2 data 1 Register

source

pub fn tdes_key3_0(&self) -> &TdesKey3_0

0x130 - TDES Key3 data 0 Register

source

pub fn tdes_key3_1(&self) -> &TdesKey3_1

0x134 - TDES Key3 data 1 Register

source

pub fn hash_ctrl(&self) -> &HashCtrl

0x180 - Hash Control Register

source

pub fn hash_sts(&self) -> &HashSts

0x184 - Hash Status Register

source

pub fn hash_msg_len(&self) -> &HashMsgLen

0x188 - Hash Message Len

source

pub fn hash_dout_0(&self) -> &HashDout0

0x18c - Hash Result Register 0

source

pub fn hash_dout_1(&self) -> &HashDout1

0x190 - Hash Result Register 1

source

pub fn hash_dout_2(&self) -> &HashDout2

0x194 - Hash Result Register 2

source

pub fn hash_dout_3(&self) -> &HashDout3

0x198 - Hash Result Register 3

source

pub fn hash_dout_4(&self) -> &HashDout4

0x19c - Hash Result Register 4

source

pub fn hash_dout_5(&self) -> &HashDout5

0x1a0 - Hash Result Register 5

source

pub fn hash_dout_6(&self) -> &HashDout6

0x1a4 - Hash Result Register 6

source

pub fn hash_dout_7(&self) -> &HashDout7

0x1a8 - Hash Result Register 7

source

pub fn hash_seed_0(&self) -> &HashSeed0

0x1ac - PRNG Seed/HMAC Key Register 0

source

pub fn hash_seed_1(&self) -> &HashSeed1

0x1b0 - PRNG Seed/HMAC Key Register 1

source

pub fn hash_seed_2(&self) -> &HashSeed2

0x1b4 - PRNG Seed/HMAC Key Register 2

source

pub fn hash_seed_3(&self) -> &HashSeed3

0x1b8 - PRNG Seed/HMAC Key Register 3

source

pub fn hash_seed_4(&self) -> &HashSeed4

0x1bc - PRNG Seed/HMAC Key Register 4

source

pub fn trng_ctrl(&self) -> &TrngCtrl

0x200 - TRNG Control register

source

pub fn trng_dout_0(&self) -> &TrngDout0

0x204 - TRNG output register 0

source

pub fn trng_dout_1(&self) -> &TrngDout1

0x208 - TRNG output register 1

source

pub fn trng_dout_2(&self) -> &TrngDout2

0x20c - TRNG output register 2

source

pub fn trng_dout_3(&self) -> &TrngDout3

0x210 - TRNG output register 3

source

pub fn trng_dout_4(&self) -> &TrngDout4

0x214 - TRNG output register 4

source

pub fn trng_dout_5(&self) -> &TrngDout5

0x218 - TRNG output register 5

source

pub fn trng_dout_6(&self) -> &TrngDout6

0x21c - TRNG output register 6

source

pub fn trng_dout_7(&self) -> &TrngDout7

0x220 - TRNG output register 7

source

pub fn pka_ctrl(&self) -> &PkaCtrl

0x280 - PKA Control Register

source

pub fn aes_tkey_0(&self) -> &AesTkey0

0x300 - AES Tweak Key data 0 Register

source

pub fn aes_tkey_1(&self) -> &AesTkey1

0x304 - AES Tweak Key data 1 Register

source

pub fn aes_tkey_2(&self) -> &AesTkey2

0x308 - AES Tweak Key data 2 Register

source

pub fn aes_tkey_3(&self) -> &AesTkey3

0x30c - AES Tweak Key data 3 Register

source

pub fn aes_tkey_4(&self) -> &AesTkey4

0x310 - AES Tweak Key data 4 Register

source

pub fn aes_tkey_5(&self) -> &AesTkey5

0x314 - AES Tweak Key data 5 Register

source

pub fn aes_tkey_6(&self) -> &AesTkey6

0x318 - AES Tweak Key data 6 Register

source

pub fn aes_tkey_7(&self) -> &AesTkey7

0x31c - AES Tweak Key data 7 Register

source

pub fn aes_twk_0(&self) -> &AesTwk0

0x320 - AES Tweak data 0 Register

source

pub fn aes_twk_1(&self) -> &AesTwk1

0x324 - AES Tweak data 1 Register

source

pub fn aes_twk_2(&self) -> &AesTwk2

0x328 - AES Tweak data 2 Register

source

pub fn aes_twk_3(&self) -> &AesTwk3

0x32c - AES Tweak data 3 Register

source

pub fn key_secure(&self) -> &KeySecure

0x330 - Key Secure Control Register

source

pub fn clk_gate(&self) -> &ClkGate

0x334 - Clock Gate Control Register

source

pub fn crypto_ver(&self) -> &CryptoVer

0x3f0 - Crypto Version register

source

pub fn pka_m(&self) -> &PkaM

0x400 - PKA input/output data

source

pub fn pka_c(&self) -> &PkaC

0x500 - PKA C value

source

pub fn pka_n(&self) -> &PkaN

0x600 - PKA modular

source

pub fn pka_e(&self) -> &PkaE

0x700 - PKA exponent

Trait Implementations§

source§

impl Debug for Crypto0

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for Crypto0

§

type Target = RegisterBlock

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Send for Crypto0

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.