[][src]Struct lpc55s6x_pac::flash_cfpa0::RegisterBlock

#[repr(C)]
pub struct RegisterBlock { pub header: HEADER, pub version: VERSION, pub s_fw_version: S_FW_VERSION, pub ns_fw_version: NS_FW_VERSION, pub image_key_revoke: IMAGE_KEY_REVOKE, pub rotkh_revoke: ROTKH_REVOKE, pub vendor_usage: VENDOR_USAGE, pub dcfg_cc_socu_pin: DCFG_CC_SOCU_PIN, pub dcfg_cc_socu_dflt: DCFG_CC_SOCU_DFLT, pub enable_fa_mode: ENABLE_FA_MODE, pub cmpa_prog_in_progress: CMPA_PROG_IN_PROGRESS, pub prince_region0_iv_code0: PRINCE_REGION0_IV_CODE0, pub prince_region0_iv_code1: PRINCE_REGION0_IV_CODE1, pub prince_region0_iv_body0: PRINCE_REGION0_IV_BODY0, pub prince_region0_iv_body1: PRINCE_REGION0_IV_BODY1, pub prince_region0_iv_body2: PRINCE_REGION0_IV_BODY2, pub prince_region0_iv_body3: PRINCE_REGION0_IV_BODY3, pub prince_region0_iv_body4: PRINCE_REGION0_IV_BODY4, pub prince_region0_iv_body5: PRINCE_REGION0_IV_BODY5, pub prince_region0_iv_body6: PRINCE_REGION0_IV_BODY6, pub prince_region0_iv_body7: PRINCE_REGION0_IV_BODY7, pub prince_region0_iv_body8: PRINCE_REGION0_IV_BODY8, pub prince_region0_iv_body9: PRINCE_REGION0_IV_BODY9, pub prince_region0_iv_body10: PRINCE_REGION0_IV_BODY10, pub prince_region0_iv_body11: PRINCE_REGION0_IV_BODY11, pub prince_region1_iv_code0: PRINCE_REGION1_IV_CODE0, pub prince_region1_iv_code1: PRINCE_REGION1_IV_CODE1, pub prince_region1_iv_body0: PRINCE_REGION1_IV_BODY0, pub prince_region1_iv_body1: PRINCE_REGION1_IV_BODY1, pub prince_region1_iv_body2: PRINCE_REGION1_IV_BODY2, pub prince_region1_iv_body3: PRINCE_REGION1_IV_BODY3, pub prince_region1_iv_body4: PRINCE_REGION1_IV_BODY4, pub prince_region1_iv_body5: PRINCE_REGION1_IV_BODY5, pub prince_region1_iv_body6: PRINCE_REGION1_IV_BODY6, pub prince_region1_iv_body7: PRINCE_REGION1_IV_BODY7, pub prince_region1_iv_body8: PRINCE_REGION1_IV_BODY8, pub prince_region1_iv_body9: PRINCE_REGION1_IV_BODY9, pub prince_region1_iv_body10: PRINCE_REGION1_IV_BODY10, pub prince_region1_iv_body11: PRINCE_REGION1_IV_BODY11, pub prince_region2_iv_code0: PRINCE_REGION2_IV_CODE0, pub prince_region2_iv_code1: PRINCE_REGION2_IV_CODE1, pub prince_region2_iv_body0: PRINCE_REGION2_IV_BODY0, pub prince_region2_iv_body1: PRINCE_REGION2_IV_BODY1, pub prince_region2_iv_body2: PRINCE_REGION2_IV_BODY2, pub prince_region2_iv_body3: PRINCE_REGION2_IV_BODY3, pub prince_region2_iv_body4: PRINCE_REGION2_IV_BODY4, pub prince_region2_iv_body5: PRINCE_REGION2_IV_BODY5, pub prince_region2_iv_body6: PRINCE_REGION2_IV_BODY6, pub prince_region2_iv_body7: PRINCE_REGION2_IV_BODY7, pub prince_region2_iv_body8: PRINCE_REGION2_IV_BODY8, pub prince_region2_iv_body9: PRINCE_REGION2_IV_BODY9, pub prince_region2_iv_body10: PRINCE_REGION2_IV_BODY10, pub prince_region2_iv_body11: PRINCE_REGION2_IV_BODY11, pub customer_defined: [CUSTOMER_DEFINED; 56], pub sha256_digest: [SHA256_DIGEST; 8], // some fields omitted }

Register block

Fields

header: HEADER

0x00 - .

version: VERSION

0x04 - .

s_fw_version: S_FW_VERSION

0x08 - Secure firmware version (Monotonic counter)

ns_fw_version: NS_FW_VERSION

0x0c - Non-Secure firmware version (Monotonic counter)

image_key_revoke: IMAGE_KEY_REVOKE

0x10 - Image key revocation ID (Monotonic counter)

rotkh_revoke: ROTKH_REVOKE

0x18 - .

vendor_usage: VENDOR_USAGE

0x1c - .

dcfg_cc_socu_pin: DCFG_CC_SOCU_PIN

0x20 - With TZ-M, the part can be sold by level 1 customers (secure code developer) to level-2 customers who develops non-secure code only. - In this scenario, or easy of development, Level-I customer releases the part to always allow non-secure debug. - To allow level-2 customers to further seal the part DCFG_CC_SOCU_NS is used. - ROM will use this word to further restrict the debug access.

dcfg_cc_socu_dflt: DCFG_CC_SOCU_DFLT

0x24 - With TZ-M, the part can be sold by level 1 customers (secure code developer) to level-2 customers who develops non-secure code only. - In this scenario, or easy of development, Level-I customer releases the part to always allow non-secure debug. - To allow level-2 customers to further seal the part DCFG_CC_SOCU_NS is used. - ROM will use this word to further restrict the debug access.

enable_fa_mode: ENABLE_FA_MODE

0x28 - Enable FA mode. SET_FA_MODE Command should write 0xC33CA55A to this word to indicate boot ROM to enter FA mode.

cmpa_prog_in_progress: CMPA_PROG_IN_PROGRESS

0x2c - CMPA Page programming on going. This field shall be set to 0x5CC55AA5 in the active CFPA page each time CMPA page programming is going on. It shall always be set to 0x00000000 in the CFPA scratch area.

prince_region0_iv_code0: PRINCE_REGION0_IV_CODE0

0x30 - .

prince_region0_iv_code1: PRINCE_REGION0_IV_CODE1

0x34 - .

prince_region0_iv_body0: PRINCE_REGION0_IV_BODY0

0x38 - .

prince_region0_iv_body1: PRINCE_REGION0_IV_BODY1

0x3c - .

prince_region0_iv_body2: PRINCE_REGION0_IV_BODY2

0x40 - .

prince_region0_iv_body3: PRINCE_REGION0_IV_BODY3

0x44 - .

prince_region0_iv_body4: PRINCE_REGION0_IV_BODY4

0x48 - .

prince_region0_iv_body5: PRINCE_REGION0_IV_BODY5

0x4c - .

prince_region0_iv_body6: PRINCE_REGION0_IV_BODY6

0x50 - .

prince_region0_iv_body7: PRINCE_REGION0_IV_BODY7

0x54 - .

prince_region0_iv_body8: PRINCE_REGION0_IV_BODY8

0x58 - .

prince_region0_iv_body9: PRINCE_REGION0_IV_BODY9

0x5c - .

prince_region0_iv_body10: PRINCE_REGION0_IV_BODY10

0x60 - .

prince_region0_iv_body11: PRINCE_REGION0_IV_BODY11

0x64 - .

prince_region1_iv_code0: PRINCE_REGION1_IV_CODE0

0x68 - .

prince_region1_iv_code1: PRINCE_REGION1_IV_CODE1

0x6c - .

prince_region1_iv_body0: PRINCE_REGION1_IV_BODY0

0x70 - .

prince_region1_iv_body1: PRINCE_REGION1_IV_BODY1

0x74 - .

prince_region1_iv_body2: PRINCE_REGION1_IV_BODY2

0x78 - .

prince_region1_iv_body3: PRINCE_REGION1_IV_BODY3

0x7c - .

prince_region1_iv_body4: PRINCE_REGION1_IV_BODY4

0x80 - .

prince_region1_iv_body5: PRINCE_REGION1_IV_BODY5

0x84 - .

prince_region1_iv_body6: PRINCE_REGION1_IV_BODY6

0x88 - .

prince_region1_iv_body7: PRINCE_REGION1_IV_BODY7

0x8c - .

prince_region1_iv_body8: PRINCE_REGION1_IV_BODY8

0x90 - .

prince_region1_iv_body9: PRINCE_REGION1_IV_BODY9

0x94 - .

prince_region1_iv_body10: PRINCE_REGION1_IV_BODY10

0x98 - .

prince_region1_iv_body11: PRINCE_REGION1_IV_BODY11

0x9c - .

prince_region2_iv_code0: PRINCE_REGION2_IV_CODE0

0xa0 - .

prince_region2_iv_code1: PRINCE_REGION2_IV_CODE1

0xa4 - .

prince_region2_iv_body0: PRINCE_REGION2_IV_BODY0

0xa8 - .

prince_region2_iv_body1: PRINCE_REGION2_IV_BODY1

0xac - .

prince_region2_iv_body2: PRINCE_REGION2_IV_BODY2

0xb0 - .

prince_region2_iv_body3: PRINCE_REGION2_IV_BODY3

0xb4 - .

prince_region2_iv_body4: PRINCE_REGION2_IV_BODY4

0xb8 - .

prince_region2_iv_body5: PRINCE_REGION2_IV_BODY5

0xbc - .

prince_region2_iv_body6: PRINCE_REGION2_IV_BODY6

0xc0 - .

prince_region2_iv_body7: PRINCE_REGION2_IV_BODY7

0xc4 - .

prince_region2_iv_body8: PRINCE_REGION2_IV_BODY8

0xc8 - .

prince_region2_iv_body9: PRINCE_REGION2_IV_BODY9

0xcc - .

prince_region2_iv_body10: PRINCE_REGION2_IV_BODY10

0xd0 - .

prince_region2_iv_body11: PRINCE_REGION2_IV_BODY11

0xd4 - .

customer_defined: [CUSTOMER_DEFINED; 56]

0x100 - Customer Defined (Programable through ROM API)

sha256_digest: [SHA256_DIGEST; 8]

0x1e0 - SHA256_DIGEST0 for DIGEST[31:0] SHA256_DIGEST1 for DIGEST[63:32] SHA256_DIGEST2 for DIGEST[95:64] SHA256_DIGEST3 for DIGEST[127:96] SHA256_DIGEST4 for DIGEST[159:128] SHA256_DIGEST5 for DIGEST[191:160] SHA256_DIGEST6 for DIGEST[223:192] SHA256_DIGEST7 for DIGEST[255:224]

Auto Trait Implementations

impl Send for RegisterBlock

impl !Sync for RegisterBlock

Blanket Implementations

impl<T> From<T> for 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> Into<U> for T where
    U: From<T>, 
[src]

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.

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

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

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

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

type Output = T

Should always be Self