mcxa_pac/sgi0/
sgi_version.rs1#[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 {}