1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
#[doc = "Reader of register STAT"] pub type R = crate::R<u32, super::STAT>; #[doc = "Writer for register STAT"] pub type W = crate::W<u32, super::STAT>; #[doc = "Register STAT `reset()`'s with value 0"] impl crate::ResetValue for super::STAT { type Type = u32; #[inline(always)] fn reset_value() -> Self::Type { 0 } } #[doc = "Reader of field `CMDBUSY`"] pub type CMDBUSY_R = crate::R<bool, bool>; #[doc = "Reader of field `WRCLOSE`"] pub type WRCLOSE_R = crate::R<bool, bool>; #[doc = "Reader of field `CMDCOMP`"] pub type CMDCOMP_R = crate::R<bool, bool>; #[doc = "Reader of field `WRALCOMP`"] pub type WRALCOMP_R = crate::R<bool, bool>; #[doc = "Reader of field `CMDFAIL`"] pub type CMDFAIL_R = crate::R<u8, u8>; #[doc = "Reader of field `SLEEPING`"] pub type SLEEPING_R = crate::R<bool, bool>; #[doc = "Reader of field `ECCERRCMD`"] pub type ECCERRCMD_R = crate::R<u8, u8>; #[doc = "Reader of field `ECCRDERR`"] pub type ECCRDERR_R = crate::R<u8, u8>; #[doc = "Reader of field `OVERLAP`"] pub type OVERLAP_R = crate::R<bool, bool>; #[doc = "Write proxy for field `OVERLAP`"] pub struct OVERLAP_W<'a> { w: &'a mut W, } impl<'a> OVERLAP_W<'a> { #[doc = r"Sets the field bit"] #[inline(always)] pub fn set_bit(self) -> &'a mut W { self.bit(true) } #[doc = r"Clears the field bit"] #[inline(always)] pub fn clear_bit(self) -> &'a mut W { self.bit(false) } #[doc = r"Writes raw bits to the field"] #[inline(always)] pub fn bit(self, value: bool) -> &'a mut W { self.w.bits = (self.w.bits & !(0x01 << 11)) | (((value as u32) & 0x01) << 11); self.w } } #[doc = "Reader of field `SIGNERR`"] pub type SIGNERR_R = crate::R<bool, bool>; #[doc = "Reader of field `INIT`"] pub type INIT_R = crate::R<bool, bool>; #[doc = "Reader of field `ECCINFOSIGN`"] pub type ECCINFOSIGN_R = crate::R<u8, u8>; #[doc = "Reader of field `ECCERRCNT`"] pub type ECCERRCNT_R = crate::R<u8, u8>; #[doc = "Reader of field `ECCICODE`"] pub type ECCICODE_R = crate::R<u8, u8>; #[doc = "Reader of field `ECCDCODE`"] pub type ECCDCODE_R = crate::R<u8, u8>; #[doc = "Reader of field `CACHESRAMPERR`"] pub type CACHESRAMPERR_R = crate::R<bool, bool>; impl R { #[doc = "Bit 0 - Command Busy"] #[inline(always)] pub fn cmdbusy(&self) -> CMDBUSY_R { CMDBUSY_R::new((self.bits & 0x01) != 0) } #[doc = "Bit 1 - WRITE Registers are Closed"] #[inline(always)] pub fn wrclose(&self) -> WRCLOSE_R { WRCLOSE_R::new(((self.bits >> 1) & 0x01) != 0) } #[doc = "Bit 2 - Command Complete"] #[inline(always)] pub fn cmdcomp(&self) -> CMDCOMP_R { CMDCOMP_R::new(((self.bits >> 2) & 0x01) != 0) } #[doc = "Bit 3 - Write Almost Complete"] #[inline(always)] pub fn wralcomp(&self) -> WRALCOMP_R { WRALCOMP_R::new(((self.bits >> 3) & 0x01) != 0) } #[doc = "Bits 4:5 - Provides Information on Command Failures"] #[inline(always)] pub fn cmdfail(&self) -> CMDFAIL_R { CMDFAIL_R::new(((self.bits >> 4) & 0x03) as u8) } #[doc = "Bit 6 - Flash Array is in Low Power (Sleep) Mode"] #[inline(always)] pub fn sleeping(&self) -> SLEEPING_R { SLEEPING_R::new(((self.bits >> 6) & 0x01) != 0) } #[doc = "Bits 7:8 - ECC Errors Detected During User Issued SIGN Command"] #[inline(always)] pub fn eccerrcmd(&self) -> ECCERRCMD_R { ECCERRCMD_R::new(((self.bits >> 7) & 0x03) as u8) } #[doc = "Bits 9:10 - ECC IRQ Cause"] #[inline(always)] pub fn eccrderr(&self) -> ECCRDERR_R { ECCRDERR_R::new(((self.bits >> 9) & 0x03) as u8) } #[doc = "Bit 11 - Overlapping Command"] #[inline(always)] pub fn overlap(&self) -> OVERLAP_R { OVERLAP_R::new(((self.bits >> 11) & 0x01) != 0) } #[doc = "Bit 13 - Signature Check Failure During Initialization"] #[inline(always)] pub fn signerr(&self) -> SIGNERR_R { SIGNERR_R::new(((self.bits >> 13) & 0x01) != 0) } #[doc = "Bit 14 - Flash Controller Initialization in Progress"] #[inline(always)] pub fn init(&self) -> INIT_R { INIT_R::new(((self.bits >> 14) & 0x01) != 0) } #[doc = "Bits 15:16 - ECC Status of Flash Initialization"] #[inline(always)] pub fn eccinfosign(&self) -> ECCINFOSIGN_R { ECCINFOSIGN_R::new(((self.bits >> 15) & 0x03) as u8) } #[doc = "Bits 17:19 - ECC Correction Counter"] #[inline(always)] pub fn eccerrcnt(&self) -> ECCERRCNT_R { ECCERRCNT_R::new(((self.bits >> 17) & 0x07) as u8) } #[doc = "Bits 25:26 - ICode AHB Bus Error ECC Status"] #[inline(always)] pub fn eccicode(&self) -> ECCICODE_R { ECCICODE_R::new(((self.bits >> 25) & 0x03) as u8) } #[doc = "Bits 27:28 - DCode AHB Bus Error ECC Status"] #[inline(always)] pub fn eccdcode(&self) -> ECCDCODE_R { ECCDCODE_R::new(((self.bits >> 27) & 0x03) as u8) } #[doc = "Bit 29 - SRAM Parity Errors in Cache Controller"] #[inline(always)] pub fn cachesramperr(&self) -> CACHESRAMPERR_R { CACHESRAMPERR_R::new(((self.bits >> 29) & 0x01) != 0) } } impl W { #[doc = "Bit 11 - Overlapping Command"] #[inline(always)] pub fn overlap(&mut self) -> OVERLAP_W { OVERLAP_W { w: self } } }