stm32 /stm32h7rs /STM32H7S /SAES /SAES_SR

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

Interpret as SAES_SR

31 2827 2423 2019 1615 1211 87 43 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (CCF)CCF 0 (B_0x0)RDERR 0 (B_0x0)WRERR 0 (B_0x0)BUSY 0 (B_0x0)KEYVALID

WRERR=B_0x0, RDERR=B_0x0, KEYVALID=B_0x0, BUSY=B_0x0

Description

SAES status register

Fields

CCF

Computation completed flag This bit mirrors the CCF bit of the SAES_ISR register.

RDERR

Read error flag This flag indicates the detection of an unexpected read operation from the SAES_DOUTR register (during computation or data input phase): The flag is set by hardware. It is cleared by software upon setting the RWEIF bit of the SAES_ICR register. Upon the flag setting, an interrupt is generated if enabled through the RWEIE bit of the SAES_ICR register. The flag setting has no impact on the SAES operation. Unexpected read returns zero.

0 (B_0x0): Not detected

1 (B_0x1): Detected

WRERR

Write error This flag indicates the detection of an unexpected write operation to the SAES_DINR register (during computation or data output phase): The flag is set by hardware. It is cleared by software upon setting the RWEIF bit of the SAES_ICR register. Upon the flag setting, an interrupt is generated if enabled through the RWEIE bit of the SAES_ICR register. The flag setting has no impact on the SAES operation. Unexpected write is ignored.

0 (B_0x0): Not detected

1 (B_0x1): Detected

BUSY

Busy This flag indicates whether SAES is idle or busy during GCM payload encryption phase: The flag is also set upon SAES initialization, upon fetching random number from the RNG, or upon transferring a shared key to a target peripheral. When GCM encryption is selected, the flag must be at zero before selecting the GCM final phase.

0 (B_0x0): Idle

1 (B_0x1): Busy

KEYVALID

Key Valid flag This bit is set by hardware when the amount of key information defined by KEYSIZE in SAES_CR has been loaded in SAES_KEYx key registers. In normal mode when KEYSEL equals to zero, the application must write the key registers in the correct sequence, otherwise the KEIF flag of the SAES_ISR register is set and KEYVALID stays at zero. When KEYSEL is different from zero the BUSY flag is automatically set by SAES. When key is loaded successfully, the BUSY flag is cleared and KEYVALID set. Upon an error, the KEIF flag of the SAES_ISR register is set, the BUSY flag cleared and KEYVALID kept at zero. When the KEIF flag is set, the application must clear it through the SAES_ICR register, otherwise KEYVALID cannot be set. See the KEIF bit description for more details. For more information on key loading, refer to Section 32.4.16: SAES key registers.

0 (B_0x0): No valid key information is available in key registers. EN bit in SAES_CR cannot be set.

1 (B_0x1): Valid key information, defined by KEYSIZE in SAES_CR, is loaded in key registers.

Links

()