Struct stm32mp1::stm32mp157::hash2::RegisterBlock[][src]

#[repr(C)]pub struct RegisterBlock {
    pub hash_cr: HASH_CR,
    pub hash_din: HASH_DIN,
    pub hash_str: HASH_STR,
    pub hash_hr0: HASH_HR0,
    pub hash_hr1: HASH_HR1,
    pub hash_hr2: HASH_HR2,
    pub hash_hr3: HASH_HR3,
    pub hash_hr4: HASH_HR4,
    pub hash_imr: HASH_IMR,
    pub hash_sr: HASH_SR,
    pub hash_csr0: HASH_CSR0,
    pub hash_csr1: HASH_CSR1,
    pub hash_csr2: HASH_CSR2,
    pub hash_csr3: HASH_CSR3,
    pub hash_csr4: HASH_CSR4,
    pub hash_csr5: HASH_CSR5,
    pub hash_csr6: HASH_CSR6,
    pub hash_csr7: HASH_CSR7,
    pub hash_csr8: HASH_CSR8,
    pub hash_csr9: HASH_CSR9,
    pub hash_csr10: HASH_CSR10,
    pub hash_csr11: HASH_CSR11,
    pub hash_csr12: HASH_CSR12,
    pub hash_csr13: HASH_CSR13,
    pub hash_csr14: HASH_CSR14,
    pub hash_csr15: HASH_CSR15,
    pub hash_csr16: HASH_CSR16,
    pub hash_csr17: HASH_CSR17,
    pub hash_csr18: HASH_CSR18,
    pub hash_csr19: HASH_CSR19,
    pub hash_csr20: HASH_CSR20,
    pub hash_csr21: HASH_CSR21,
    pub hash_csr22: HASH_CSR22,
    pub hash_csr23: HASH_CSR23,
    pub hash_csr24: HASH_CSR24,
    pub hash_csr25: HASH_CSR25,
    pub hash_csr26: HASH_CSR26,
    pub hash_csr27: HASH_CSR27,
    pub hash_csr28: HASH_CSR28,
    pub hash_csr29: HASH_CSR29,
    pub hash_csr30: HASH_CSR30,
    pub hash_csr31: HASH_CSR31,
    pub hash_csr32: HASH_CSR32,
    pub hash_csr33: HASH_CSR33,
    pub hash_csr34: HASH_CSR34,
    pub hash_csr35: HASH_CSR35,
    pub hash_csr36: HASH_CSR36,
    pub hash_csr37: HASH_CSR37,
    pub hash_csr38: HASH_CSR38,
    pub hash_csr39: HASH_CSR39,
    pub hash_csr40: HASH_CSR40,
    pub hash_csr41: HASH_CSR41,
    pub hash_csr42: HASH_CSR42,
    pub hash_csr43: HASH_CSR43,
    pub hash_csr44: HASH_CSR44,
    pub hash_csr45: HASH_CSR45,
    pub hash_csr46: HASH_CSR46,
    pub hash_csr47: HASH_CSR47,
    pub hash_csr48: HASH_CSR48,
    pub hash_csr49: HASH_CSR49,
    pub hash_csr50: HASH_CSR50,
    pub hash_csr51: HASH_CSR51,
    pub hash_csr52: HASH_CSR52,
    pub hash_csr53: HASH_CSR53,
    pub hash_hr5: HASH_HR5,
    pub hash_hr6: HASH_HR6,
    pub hash_hr7: HASH_HR7,
    pub hash_hwcfgr: HASH_HWCFGR,
    pub hash_verr: HASH_VERR,
    pub hash_ipidr: HASH_IPIDR,
    pub hash_mid: HASH_MID,
    // some fields omitted
}

Register block

Fields

hash_cr: HASH_CR

0x00 - HASH control register

hash_din: HASH_DIN

0x04 - HASH_DIN is the data input register.

hash_str: HASH_STR

0x08 - The HASH_STR register has two functions: It is used to define the number of valid bits in the last word of the message entered in the hash processor (that is the number of valid least significant bits in the last data written to the HASH_DIN register) It is used to start the processing of the last block in the message by writing the DCAL bit to 1

hash_hr0: HASH_HR0

0x0c - HASH digest register 0

hash_hr1: HASH_HR1

0x10 - HASH digest register 1

hash_hr2: HASH_HR2

0x14 - HASH digest register 2

hash_hr3: HASH_HR3

0x18 - HASH digest register 3

hash_hr4: HASH_HR4

0x1c - HASH digest register 4

hash_imr: HASH_IMR

0x20 - HASH interrupt enable register

hash_sr: HASH_SR

0x24 - HASH status register

hash_csr0: HASH_CSR0

0xf8 - These registers contain the complete internal register states of the hash processor. They are useful when a context swap has to be done because a high-priority task needs to use the hash processor while it is already used by another task. When such an event occurs, the HASH_CSRx registers have to be read and the read values have to be saved in the system memory space. Then the hash processor can be used by the preemptive task, and when the hash computation is complete, the saved context can be read from memory and written back into the HASH_CSRx registers.

hash_csr1: HASH_CSR1

0xfc - HASH context swap registers

hash_csr2: HASH_CSR2

0x100 - HASH context swap registers

hash_csr3: HASH_CSR3

0x104 - HASH context swap registers

hash_csr4: HASH_CSR4

0x108 - HASH context swap registers

hash_csr5: HASH_CSR5

0x10c - HASH context swap registers

hash_csr6: HASH_CSR6

0x110 - HASH context swap registers

hash_csr7: HASH_CSR7

0x114 - HASH context swap registers

hash_csr8: HASH_CSR8

0x118 - HASH context swap registers

hash_csr9: HASH_CSR9

0x11c - HASH context swap registers

hash_csr10: HASH_CSR10

0x120 - HASH context swap registers

hash_csr11: HASH_CSR11

0x124 - HASH context swap registers

hash_csr12: HASH_CSR12

0x128 - HASH context swap registers

hash_csr13: HASH_CSR13

0x12c - HASH context swap registers

hash_csr14: HASH_CSR14

0x130 - HASH context swap registers

hash_csr15: HASH_CSR15

0x134 - HASH context swap registers

hash_csr16: HASH_CSR16

0x138 - HASH context swap registers

hash_csr17: HASH_CSR17

0x13c - HASH context swap registers

hash_csr18: HASH_CSR18

0x140 - HASH context swap registers

hash_csr19: HASH_CSR19

0x144 - HASH context swap registers

hash_csr20: HASH_CSR20

0x148 - HASH context swap registers

hash_csr21: HASH_CSR21

0x14c - HASH context swap registers

hash_csr22: HASH_CSR22

0x150 - HASH context swap registers

hash_csr23: HASH_CSR23

0x154 - HASH context swap registers

hash_csr24: HASH_CSR24

0x158 - HASH context swap registers

hash_csr25: HASH_CSR25

0x15c - HASH context swap registers

hash_csr26: HASH_CSR26

0x160 - HASH context swap registers

hash_csr27: HASH_CSR27

0x164 - HASH context swap registers

hash_csr28: HASH_CSR28

0x168 - HASH context swap registers

hash_csr29: HASH_CSR29

0x16c - HASH context swap registers

hash_csr30: HASH_CSR30

0x170 - HASH context swap registers

hash_csr31: HASH_CSR31

0x174 - HASH context swap registers

hash_csr32: HASH_CSR32

0x178 - HASH context swap registers

hash_csr33: HASH_CSR33

0x17c - HASH context swap registers

hash_csr34: HASH_CSR34

0x180 - HASH context swap registers

hash_csr35: HASH_CSR35

0x184 - HASH context swap registers

hash_csr36: HASH_CSR36

0x188 - HASH context swap registers

hash_csr37: HASH_CSR37

0x18c - HASH context swap registers

hash_csr38: HASH_CSR38

0x190 - HASH context swap registers

hash_csr39: HASH_CSR39

0x194 - HASH context swap registers

hash_csr40: HASH_CSR40

0x198 - HASH context swap registers

hash_csr41: HASH_CSR41

0x19c - HASH context swap registers

hash_csr42: HASH_CSR42

0x1a0 - HASH context swap registers

hash_csr43: HASH_CSR43

0x1a4 - HASH context swap registers

hash_csr44: HASH_CSR44

0x1a8 - HASH context swap registers

hash_csr45: HASH_CSR45

0x1ac - HASH context swap registers

hash_csr46: HASH_CSR46

0x1b0 - HASH context swap registers

hash_csr47: HASH_CSR47

0x1b4 - HASH context swap registers

hash_csr48: HASH_CSR48

0x1b8 - HASH context swap registers

hash_csr49: HASH_CSR49

0x1bc - HASH context swap registers

hash_csr50: HASH_CSR50

0x1c0 - HASH context swap registers

hash_csr51: HASH_CSR51

0x1c4 - HASH context swap registers

hash_csr52: HASH_CSR52

0x1c8 - HASH context swap registers

hash_csr53: HASH_CSR53

0x1cc - HASH context swap registers

hash_hr5: HASH_HR5

0x324 - HASH digest register 5

hash_hr6: HASH_HR6

0x328 - HASH digest register 6

hash_hr7: HASH_HR7

0x32c - HASH digest register 7

hash_hwcfgr: HASH_HWCFGR

0x3f0 - HASH Hardware Configuration Register

hash_verr: HASH_VERR

0x3f4 - HASH Version Register

hash_ipidr: HASH_IPIDR

0x3f8 - HASH Identification

hash_mid: HASH_MID

0x3fc - HASH Hardware Magic ID

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.