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 CPUID"] pub type R = crate::R<u32, super::CPUID>; #[doc = "Revision number\n\nValue on reset: 1"] #[derive(Clone, Copy, Debug, PartialEq)] #[repr(u8)] pub enum REVISION_A { #[doc = "1: Patch 1"] VALUE1 = 1, } impl From<REVISION_A> for u8 { #[inline(always)] fn from(variant: REVISION_A) -> Self { variant as _ } } #[doc = "Reader of field `Revision`"] pub type REVISION_R = crate::R<u8, REVISION_A>; impl REVISION_R { #[doc = r"Get enumerated values variant"] #[inline(always)] pub fn variant(&self) -> crate::Variant<u8, REVISION_A> { use crate::Variant::*; match self.bits { 1 => Val(REVISION_A::VALUE1), i => Res(i), } } #[doc = "Checks if the value of the field is `VALUE1`"] #[inline(always)] pub fn is_value1(&self) -> bool { *self == REVISION_A::VALUE1 } } #[doc = "Part number of the processor\n\nValue on reset: 3108"] #[derive(Clone, Copy, Debug, PartialEq)] #[repr(u16)] pub enum PARTNO_A { #[doc = "3108: Cortex-M4"] VALUE1 = 3108, } impl From<PARTNO_A> for u16 { #[inline(always)] fn from(variant: PARTNO_A) -> Self { variant as _ } } #[doc = "Reader of field `PartNo`"] pub type PARTNO_R = crate::R<u16, PARTNO_A>; impl PARTNO_R { #[doc = r"Get enumerated values variant"] #[inline(always)] pub fn variant(&self) -> crate::Variant<u16, PARTNO_A> { use crate::Variant::*; match self.bits { 3108 => Val(PARTNO_A::VALUE1), i => Res(i), } } #[doc = "Checks if the value of the field is `VALUE1`"] #[inline(always)] pub fn is_value1(&self) -> bool { *self == PARTNO_A::VALUE1 } } #[doc = "Reader of field `Constant`"] pub type CONSTANT_R = crate::R<u8, u8>; #[doc = "Variant number\n\nValue on reset: 0"] #[derive(Clone, Copy, Debug, PartialEq)] #[repr(u8)] pub enum VARIANT_A { #[doc = "0: Revision 0"] VALUE1 = 0, } impl From<VARIANT_A> for u8 { #[inline(always)] fn from(variant: VARIANT_A) -> Self { variant as _ } } #[doc = "Reader of field `Variant`"] pub type VARIANT_R = crate::R<u8, VARIANT_A>; impl VARIANT_R { #[doc = r"Get enumerated values variant"] #[inline(always)] pub fn variant(&self) -> crate::Variant<u8, VARIANT_A> { use crate::Variant::*; match self.bits { 0 => Val(VARIANT_A::VALUE1), i => Res(i), } } #[doc = "Checks if the value of the field is `VALUE1`"] #[inline(always)] pub fn is_value1(&self) -> bool { *self == VARIANT_A::VALUE1 } } #[doc = "Implementer code\n\nValue on reset: 65"] #[derive(Clone, Copy, Debug, PartialEq)] #[repr(u8)] pub enum IMPLEMENTER_A { #[doc = "65: ARM"] VALUE1 = 65, } impl From<IMPLEMENTER_A> for u8 { #[inline(always)] fn from(variant: IMPLEMENTER_A) -> Self { variant as _ } } #[doc = "Reader of field `Implementer`"] pub type IMPLEMENTER_R = crate::R<u8, IMPLEMENTER_A>; impl IMPLEMENTER_R { #[doc = r"Get enumerated values variant"] #[inline(always)] pub fn variant(&self) -> crate::Variant<u8, IMPLEMENTER_A> { use crate::Variant::*; match self.bits { 65 => Val(IMPLEMENTER_A::VALUE1), i => Res(i), } } #[doc = "Checks if the value of the field is `VALUE1`"] #[inline(always)] pub fn is_value1(&self) -> bool { *self == IMPLEMENTER_A::VALUE1 } } impl R { #[doc = "Bits 0:3 - Revision number"] #[inline(always)] pub fn revision(&self) -> REVISION_R { REVISION_R::new((self.bits & 0x0f) as u8) } #[doc = "Bits 4:15 - Part number of the processor"] #[inline(always)] pub fn part_no(&self) -> PARTNO_R { PARTNO_R::new(((self.bits >> 4) & 0x0fff) as u16) } #[doc = "Bits 16:19 - Reads as 0xF"] #[inline(always)] pub fn constant(&self) -> CONSTANT_R { CONSTANT_R::new(((self.bits >> 16) & 0x0f) as u8) } #[doc = "Bits 20:23 - Variant number"] #[inline(always)] pub fn variant(&self) -> VARIANT_R { VARIANT_R::new(((self.bits >> 20) & 0x0f) as u8) } #[doc = "Bits 24:31 - Implementer code"] #[inline(always)] pub fn implementer(&self) -> IMPLEMENTER_R { IMPLEMENTER_R::new(((self.bits >> 24) & 0xff) as u8) } }