esp32p4/efuse/
rd_repeat_err1.rs1#[doc = "Register `RD_REPEAT_ERR1` reader"]
2pub type R = crate::R<RD_REPEAT_ERR1_SPEC>;
3#[doc = "Field `KM_HUK_GEN_STATE_HIGH_ERR` reader - Indicates a programming error of HUK_GEN_STATE_HIGH."]
4pub type KM_HUK_GEN_STATE_HIGH_ERR_R = crate::FieldReader;
5#[doc = "Field `KM_RND_SWITCH_CYCLE_ERR` reader - Indicates a programming error of KM_RND_SWITCH_CYCLE."]
6pub type KM_RND_SWITCH_CYCLE_ERR_R = crate::FieldReader;
7#[doc = "Field `KM_DEPLOY_ONLY_ONCE_ERR` reader - Indicates a programming error of KM_DEPLOY_ONLY_ONCE."]
8pub type KM_DEPLOY_ONLY_ONCE_ERR_R = crate::FieldReader;
9#[doc = "Field `FORCE_USE_KEY_MANAGER_KEY_ERR` reader - Indicates a programming error of FORCE_USE_KEY_MANAGER_KEY."]
10pub type FORCE_USE_KEY_MANAGER_KEY_ERR_R = crate::FieldReader;
11#[doc = "Field `FORCE_DISABLE_SW_INIT_KEY_ERR` reader - Indicates a programming error of FORCE_DISABLE_SW_INIT_KEY."]
12pub type FORCE_DISABLE_SW_INIT_KEY_ERR_R = crate::BitReader;
13#[doc = "Field `XTS_KEY_LENGTH_256_ERR` reader - Indicates a programming error of XTS_KEY_LENGTH_256."]
14pub type XTS_KEY_LENGTH_256_ERR_R = crate::BitReader;
15#[doc = "Field `WDT_DELAY_SEL_ERR` reader - Indicates a programming error of WDT_DELAY_SEL."]
16pub type WDT_DELAY_SEL_ERR_R = crate::FieldReader;
17#[doc = "Field `SPI_BOOT_CRYPT_CNT_ERR` reader - Indicates a programming error of SPI_BOOT_CRYPT_CNT."]
18pub type SPI_BOOT_CRYPT_CNT_ERR_R = crate::FieldReader;
19#[doc = "Field `SECURE_BOOT_KEY_REVOKE0_ERR` reader - Indicates a programming error of SECURE_BOOT_KEY_REVOKE0."]
20pub type SECURE_BOOT_KEY_REVOKE0_ERR_R = crate::BitReader;
21#[doc = "Field `SECURE_BOOT_KEY_REVOKE1_ERR` reader - Indicates a programming error of SECURE_BOOT_KEY_REVOKE1."]
22pub type SECURE_BOOT_KEY_REVOKE1_ERR_R = crate::BitReader;
23#[doc = "Field `SECURE_BOOT_KEY_REVOKE2_ERR` reader - Indicates a programming error of SECURE_BOOT_KEY_REVOKE2."]
24pub type SECURE_BOOT_KEY_REVOKE2_ERR_R = crate::BitReader;
25#[doc = "Field `KEY_PURPOSE_0_ERR` reader - Indicates a programming error of KEY_PURPOSE_0."]
26pub type KEY_PURPOSE_0_ERR_R = crate::FieldReader;
27#[doc = "Field `KEY_PURPOSE_1_ERR` reader - Indicates a programming error of KEY_PURPOSE_1."]
28pub type KEY_PURPOSE_1_ERR_R = crate::FieldReader;
29impl R {
30 #[doc = "Bits 0:2 - Indicates a programming error of HUK_GEN_STATE_HIGH."]
31 #[inline(always)]
32 pub fn km_huk_gen_state_high_err(&self) -> KM_HUK_GEN_STATE_HIGH_ERR_R {
33 KM_HUK_GEN_STATE_HIGH_ERR_R::new((self.bits & 7) as u8)
34 }
35 #[doc = "Bits 3:4 - Indicates a programming error of KM_RND_SWITCH_CYCLE."]
36 #[inline(always)]
37 pub fn km_rnd_switch_cycle_err(&self) -> KM_RND_SWITCH_CYCLE_ERR_R {
38 KM_RND_SWITCH_CYCLE_ERR_R::new(((self.bits >> 3) & 3) as u8)
39 }
40 #[doc = "Bits 5:8 - Indicates a programming error of KM_DEPLOY_ONLY_ONCE."]
41 #[inline(always)]
42 pub fn km_deploy_only_once_err(&self) -> KM_DEPLOY_ONLY_ONCE_ERR_R {
43 KM_DEPLOY_ONLY_ONCE_ERR_R::new(((self.bits >> 5) & 0x0f) as u8)
44 }
45 #[doc = "Bits 9:12 - Indicates a programming error of FORCE_USE_KEY_MANAGER_KEY."]
46 #[inline(always)]
47 pub fn force_use_key_manager_key_err(&self) -> FORCE_USE_KEY_MANAGER_KEY_ERR_R {
48 FORCE_USE_KEY_MANAGER_KEY_ERR_R::new(((self.bits >> 9) & 0x0f) as u8)
49 }
50 #[doc = "Bit 13 - Indicates a programming error of FORCE_DISABLE_SW_INIT_KEY."]
51 #[inline(always)]
52 pub fn force_disable_sw_init_key_err(&self) -> FORCE_DISABLE_SW_INIT_KEY_ERR_R {
53 FORCE_DISABLE_SW_INIT_KEY_ERR_R::new(((self.bits >> 13) & 1) != 0)
54 }
55 #[doc = "Bit 14 - Indicates a programming error of XTS_KEY_LENGTH_256."]
56 #[inline(always)]
57 pub fn xts_key_length_256_err(&self) -> XTS_KEY_LENGTH_256_ERR_R {
58 XTS_KEY_LENGTH_256_ERR_R::new(((self.bits >> 14) & 1) != 0)
59 }
60 #[doc = "Bits 16:17 - Indicates a programming error of WDT_DELAY_SEL."]
61 #[inline(always)]
62 pub fn wdt_delay_sel_err(&self) -> WDT_DELAY_SEL_ERR_R {
63 WDT_DELAY_SEL_ERR_R::new(((self.bits >> 16) & 3) as u8)
64 }
65 #[doc = "Bits 18:20 - Indicates a programming error of SPI_BOOT_CRYPT_CNT."]
66 #[inline(always)]
67 pub fn spi_boot_crypt_cnt_err(&self) -> SPI_BOOT_CRYPT_CNT_ERR_R {
68 SPI_BOOT_CRYPT_CNT_ERR_R::new(((self.bits >> 18) & 7) as u8)
69 }
70 #[doc = "Bit 21 - Indicates a programming error of SECURE_BOOT_KEY_REVOKE0."]
71 #[inline(always)]
72 pub fn secure_boot_key_revoke0_err(&self) -> SECURE_BOOT_KEY_REVOKE0_ERR_R {
73 SECURE_BOOT_KEY_REVOKE0_ERR_R::new(((self.bits >> 21) & 1) != 0)
74 }
75 #[doc = "Bit 22 - Indicates a programming error of SECURE_BOOT_KEY_REVOKE1."]
76 #[inline(always)]
77 pub fn secure_boot_key_revoke1_err(&self) -> SECURE_BOOT_KEY_REVOKE1_ERR_R {
78 SECURE_BOOT_KEY_REVOKE1_ERR_R::new(((self.bits >> 22) & 1) != 0)
79 }
80 #[doc = "Bit 23 - Indicates a programming error of SECURE_BOOT_KEY_REVOKE2."]
81 #[inline(always)]
82 pub fn secure_boot_key_revoke2_err(&self) -> SECURE_BOOT_KEY_REVOKE2_ERR_R {
83 SECURE_BOOT_KEY_REVOKE2_ERR_R::new(((self.bits >> 23) & 1) != 0)
84 }
85 #[doc = "Bits 24:27 - Indicates a programming error of KEY_PURPOSE_0."]
86 #[inline(always)]
87 pub fn key_purpose_0_err(&self) -> KEY_PURPOSE_0_ERR_R {
88 KEY_PURPOSE_0_ERR_R::new(((self.bits >> 24) & 0x0f) as u8)
89 }
90 #[doc = "Bits 28:31 - Indicates a programming error of KEY_PURPOSE_1."]
91 #[inline(always)]
92 pub fn key_purpose_1_err(&self) -> KEY_PURPOSE_1_ERR_R {
93 KEY_PURPOSE_1_ERR_R::new(((self.bits >> 28) & 0x0f) as u8)
94 }
95}
96#[cfg(feature = "impl-register-debug")]
97impl core::fmt::Debug for R {
98 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
99 f.debug_struct("RD_REPEAT_ERR1")
100 .field(
101 "km_huk_gen_state_high_err",
102 &format_args!("{}", self.km_huk_gen_state_high_err().bits()),
103 )
104 .field(
105 "km_rnd_switch_cycle_err",
106 &format_args!("{}", self.km_rnd_switch_cycle_err().bits()),
107 )
108 .field(
109 "km_deploy_only_once_err",
110 &format_args!("{}", self.km_deploy_only_once_err().bits()),
111 )
112 .field(
113 "force_use_key_manager_key_err",
114 &format_args!("{}", self.force_use_key_manager_key_err().bits()),
115 )
116 .field(
117 "force_disable_sw_init_key_err",
118 &format_args!("{}", self.force_disable_sw_init_key_err().bit()),
119 )
120 .field(
121 "xts_key_length_256_err",
122 &format_args!("{}", self.xts_key_length_256_err().bit()),
123 )
124 .field(
125 "wdt_delay_sel_err",
126 &format_args!("{}", self.wdt_delay_sel_err().bits()),
127 )
128 .field(
129 "spi_boot_crypt_cnt_err",
130 &format_args!("{}", self.spi_boot_crypt_cnt_err().bits()),
131 )
132 .field(
133 "secure_boot_key_revoke0_err",
134 &format_args!("{}", self.secure_boot_key_revoke0_err().bit()),
135 )
136 .field(
137 "secure_boot_key_revoke1_err",
138 &format_args!("{}", self.secure_boot_key_revoke1_err().bit()),
139 )
140 .field(
141 "secure_boot_key_revoke2_err",
142 &format_args!("{}", self.secure_boot_key_revoke2_err().bit()),
143 )
144 .field(
145 "key_purpose_0_err",
146 &format_args!("{}", self.key_purpose_0_err().bits()),
147 )
148 .field(
149 "key_purpose_1_err",
150 &format_args!("{}", self.key_purpose_1_err().bits()),
151 )
152 .finish()
153 }
154}
155#[cfg(feature = "impl-register-debug")]
156impl core::fmt::Debug for crate::generic::Reg<RD_REPEAT_ERR1_SPEC> {
157 fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
158 core::fmt::Debug::fmt(&self.read(), f)
159 }
160}
161#[doc = "Programming error record register 1 of BLOCK0.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rd_repeat_err1::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
162pub struct RD_REPEAT_ERR1_SPEC;
163impl crate::RegisterSpec for RD_REPEAT_ERR1_SPEC {
164 type Ux = u32;
165}
166#[doc = "`read()` method returns [`rd_repeat_err1::R`](R) reader structure"]
167impl crate::Readable for RD_REPEAT_ERR1_SPEC {}
168#[doc = "`reset()` method sets RD_REPEAT_ERR1 to value 0"]
169impl crate::Resettable for RD_REPEAT_ERR1_SPEC {
170 const RESET_VALUE: u32 = 0;
171}