mimxrt685s_pac/trng/
vid1.rs

1#[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}