mcxa_pac/sgi0/
sgi_version.rs

1#[doc = "Register `sgi_version` reader"]
2pub type R = crate::R<SgiVersionSpec>;
3#[doc = "Field `z` reader - Extended revision number in X.Y1Y2.Z, e.g. 1.20.3."]
4pub type ZR = crate::FieldReader;
5#[doc = "Field `y2` reader - Minor revision number 2 in X.Y1Y2.Z, e.g. 1.20.3."]
6pub type Y2R = crate::FieldReader;
7#[doc = "Field `y1` reader - Minor revision number 1 in X.Y1Y2.Z, e.g. 1.20.3."]
8pub type Y1R = crate::FieldReader;
9#[doc = "Field `x` reader - Major revision number in X.Y1Y2.Z, e.g. 1.20.3."]
10pub type XR = crate::FieldReader;
11#[doc = "Field `milestone` reader - Release milestone. 00-PREL, 01-BR, 10-SI, 11-GO."]
12pub type MilestoneR = crate::FieldReader;
13#[doc = "Field `version_rsvd_1` reader - Reserved for Future Use"]
14pub type VersionRsvd1R = crate::FieldReader<u16>;
15impl R {
16    #[doc = "Bits 0:3 - Extended revision number in X.Y1Y2.Z, e.g. 1.20.3."]
17    #[inline(always)]
18    pub fn z(&self) -> ZR {
19        ZR::new((self.bits & 0x0f) as u8)
20    }
21    #[doc = "Bits 4:7 - Minor revision number 2 in X.Y1Y2.Z, e.g. 1.20.3."]
22    #[inline(always)]
23    pub fn y2(&self) -> Y2R {
24        Y2R::new(((self.bits >> 4) & 0x0f) as u8)
25    }
26    #[doc = "Bits 8:11 - Minor revision number 1 in X.Y1Y2.Z, e.g. 1.20.3."]
27    #[inline(always)]
28    pub fn y1(&self) -> Y1R {
29        Y1R::new(((self.bits >> 8) & 0x0f) as u8)
30    }
31    #[doc = "Bits 12:15 - Major revision number in X.Y1Y2.Z, e.g. 1.20.3."]
32    #[inline(always)]
33    pub fn x(&self) -> XR {
34        XR::new(((self.bits >> 12) & 0x0f) as u8)
35    }
36    #[doc = "Bits 16:17 - Release milestone. 00-PREL, 01-BR, 10-SI, 11-GO."]
37    #[inline(always)]
38    pub fn milestone(&self) -> MilestoneR {
39        MilestoneR::new(((self.bits >> 16) & 3) as u8)
40    }
41    #[doc = "Bits 18:31 - Reserved for Future Use"]
42    #[inline(always)]
43    pub fn version_rsvd_1(&self) -> VersionRsvd1R {
44        VersionRsvd1R::new(((self.bits >> 18) & 0x3fff) as u16)
45    }
46}
47#[cfg(feature = "debug")]
48impl core::fmt::Debug for R {
49    fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
50        f.debug_struct("sgi_version")
51            .field("z", &self.z())
52            .field("y2", &self.y2())
53            .field("y1", &self.y1())
54            .field("x", &self.x())
55            .field("milestone", &self.milestone())
56            .field("version_rsvd_1", &self.version_rsvd_1())
57            .finish()
58    }
59}
60#[doc = "SGI Version\n\nYou can [`read`](crate::Reg::read) this register and get [`sgi_version::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
61pub struct SgiVersionSpec;
62impl crate::RegisterSpec for SgiVersionSpec {
63    type Ux = u32;
64}
65#[doc = "`read()` method returns [`sgi_version::R`](R) reader structure"]
66impl crate::Readable for SgiVersionSpec {}
67#[doc = "`reset()` method sets sgi_version to value 0"]
68impl crate::Resettable for SgiVersionSpec {}