mimxrt685s_pac/trng/
vid1.rs1#[doc = "Register `VID1` reader"]
2pub type R = crate::R<Vid1Spec>;
3#[doc = "Shows the IP's Minor revision of the TRNG.\n\nValue on reset: 4"]
4#[cfg_attr(feature = "defmt", derive(defmt::Format))]
5#[derive(Clone, Copy, Debug, PartialEq, Eq)]
6#[repr(u8)]
7pub enum MinRev {
8 #[doc = "0: Minor revision number for TRNG."]
9 MinRev0 = 0,
10}
11impl From<MinRev> for u8 {
12 #[inline(always)]
13 fn from(variant: MinRev) -> Self {
14 variant as _
15 }
16}
17impl crate::FieldSpec for MinRev {
18 type Ux = u8;
19}
20impl crate::IsEnum for MinRev {}
21#[doc = "Field `MIN_REV` reader - Shows the IP's Minor revision of the TRNG."]
22pub type MinRevR = crate::FieldReader<MinRev>;
23impl MinRevR {
24 #[doc = "Get enumerated values variant"]
25 #[inline(always)]
26 pub const fn variant(&self) -> Option<MinRev> {
27 match self.bits {
28 0 => Some(MinRev::MinRev0),
29 _ => None,
30 }
31 }
32 #[doc = "Minor revision number for TRNG."]
33 #[inline(always)]
34 pub fn is_min_rev_0(&self) -> bool {
35 *self == MinRev::MinRev0
36 }
37}
38#[doc = "Shows the IP's Major revision of the TRNG.\n\nValue on reset: 1"]
39#[cfg_attr(feature = "defmt", derive(defmt::Format))]
40#[derive(Clone, Copy, Debug, PartialEq, Eq)]
41#[repr(u8)]
42pub enum MajRev {
43 #[doc = "1: Major revision number for TRNG."]
44 MajRev1 = 1,
45}
46impl From<MajRev> for u8 {
47 #[inline(always)]
48 fn from(variant: MajRev) -> Self {
49 variant as _
50 }
51}
52impl crate::FieldSpec for MajRev {
53 type Ux = u8;
54}
55impl crate::IsEnum for MajRev {}
56#[doc = "Field `MAJ_REV` reader - Shows the IP's Major revision of the TRNG."]
57pub type MajRevR = crate::FieldReader<MajRev>;
58impl MajRevR {
59 #[doc = "Get enumerated values variant"]
60 #[inline(always)]
61 pub const fn variant(&self) -> Option<MajRev> {
62 match self.bits {
63 1 => Some(MajRev::MajRev1),
64 _ => None,
65 }
66 }
67 #[doc = "Major revision number for TRNG."]
68 #[inline(always)]
69 pub fn is_maj_rev_1(&self) -> bool {
70 *self == MajRev::MajRev1
71 }
72}
73#[doc = "Shows the IP ID.\n\nValue on reset: 48"]
74#[cfg_attr(feature = "defmt", derive(defmt::Format))]
75#[derive(Clone, Copy, Debug, PartialEq, Eq)]
76#[repr(u16)]
77pub enum IpId {
78 #[doc = "48: ID for TRNG."]
79 IpId48 = 48,
80}
81impl From<IpId> for u16 {
82 #[inline(always)]
83 fn from(variant: IpId) -> Self {
84 variant as _
85 }
86}
87impl crate::FieldSpec for IpId {
88 type Ux = u16;
89}
90impl crate::IsEnum for IpId {}
91#[doc = "Field `IP_ID` reader - Shows the IP ID."]
92pub type IpIdR = crate::FieldReader<IpId>;
93impl IpIdR {
94 #[doc = "Get enumerated values variant"]
95 #[inline(always)]
96 pub const fn variant(&self) -> Option<IpId> {
97 match self.bits {
98 48 => Some(IpId::IpId48),
99 _ => None,
100 }
101 }
102 #[doc = "ID for TRNG."]
103 #[inline(always)]
104 pub fn is_ip_id_48(&self) -> bool {
105 *self == IpId::IpId48
106 }
107}
108impl R {
109 #[doc = "Bits 0:7 - Shows the IP's Minor revision of the TRNG."]
110 #[inline(always)]
111 pub fn min_rev(&self) -> MinRevR {
112 MinRevR::new((self.bits & 0xff) as u8)
113 }
114 #[doc = "Bits 8:15 - Shows the IP's Major revision of the TRNG."]
115 #[inline(always)]
116 pub fn maj_rev(&self) -> MajRevR {
117 MajRevR::new(((self.bits >> 8) & 0xff) as u8)
118 }
119 #[doc = "Bits 16:31 - Shows the IP ID."]
120 #[inline(always)]
121 pub fn ip_id(&self) -> IpIdR {
122 IpIdR::new(((self.bits >> 16) & 0xffff) as u16)
123 }
124}
125#[cfg(feature = "debug")]
126impl core::fmt::Debug for R {
127 fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
128 f.debug_struct("VID1")
129 .field("min_rev", &self.min_rev())
130 .field("maj_rev", &self.maj_rev())
131 .field("ip_id", &self.ip_id())
132 .finish()
133 }
134}
135#[doc = "Version ID Register (MS)\n\nYou can [`read`](crate::Reg::read) this register and get [`vid1::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
136pub struct Vid1Spec;
137impl crate::RegisterSpec for Vid1Spec {
138 type Ux = u32;
139}
140#[doc = "`read()` method returns [`vid1::R`](R) reader structure"]
141impl crate::Readable for Vid1Spec {}
142#[doc = "`reset()` method sets VID1 to value 0x0030_0104"]
143impl crate::Resettable for Vid1Spec {
144 const RESET_VALUE: u32 = 0x0030_0104;
145}