corstone300_pac/sysinfo/
soc_identity.rs1#[doc = "Register `SOC_IDENTITY` reader"]
6pub struct R(crate::R<SOC_IDENTITY_SPEC>);
7impl core::ops::Deref for R {
8 type Target = crate::R<SOC_IDENTITY_SPEC>;
9 #[inline(always)]
10 fn deref(&self) -> &Self::Target {
11 &self.0
12 }
13}
14impl From<crate::R<SOC_IDENTITY_SPEC>> for R {
15 #[inline(always)]
16 fn from(reader: crate::R<SOC_IDENTITY_SPEC>) -> Self {
17 R(reader)
18 }
19}
20#[doc = "Field `SOC_IMPLEMENTATOR` reader - JEP106 code of the company that implemented the SoC"]
21pub type SOC_IMPLEMENTATOR_R = crate::FieldReader<u16, u16>;
22#[doc = "Field `SOC_REVISION` reader - IMPL_DEF value used to distinguish minor revisions of the SoC."]
23pub type SOC_REVISION_R = crate::FieldReader<u8, u8>;
24#[doc = "Field `SOC_VARIANT` reader - IMPL_DEF value variant or major revision of the SoC."]
25pub type SOC_VARIANT_R = crate::FieldReader<u8, u8>;
26#[doc = "Field `SOC_PRODUCT_ID` reader - IMPL_DEF value identifying the SoC."]
27pub type SOC_PRODUCT_ID_R = crate::FieldReader<u16, u16>;
28impl R {
29 #[doc = "Bits 0:11 - JEP106 code of the company that implemented the SoC"]
30 #[inline(always)]
31 pub fn soc_implementator(&self) -> SOC_IMPLEMENTATOR_R {
32 SOC_IMPLEMENTATOR_R::new((self.bits & 0x0fff) as u16)
33 }
34 #[doc = "Bits 12:15 - IMPL_DEF value used to distinguish minor revisions of the SoC."]
35 #[inline(always)]
36 pub fn soc_revision(&self) -> SOC_REVISION_R {
37 SOC_REVISION_R::new(((self.bits >> 12) & 0x0f) as u8)
38 }
39 #[doc = "Bits 16:19 - IMPL_DEF value variant or major revision of the SoC."]
40 #[inline(always)]
41 pub fn soc_variant(&self) -> SOC_VARIANT_R {
42 SOC_VARIANT_R::new(((self.bits >> 16) & 0x0f) as u8)
43 }
44 #[doc = "Bits 20:31 - IMPL_DEF value identifying the SoC."]
45 #[inline(always)]
46 pub fn soc_product_id(&self) -> SOC_PRODUCT_ID_R {
47 SOC_PRODUCT_ID_R::new(((self.bits >> 20) & 0x0fff) as u16)
48 }
49}
50#[doc = "System Identity Register\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [soc_identity](index.html) module"]
51pub struct SOC_IDENTITY_SPEC;
52impl crate::RegisterSpec for SOC_IDENTITY_SPEC {
53 type Ux = u32;
54}
55#[doc = "`read()` method returns [soc_identity::R](R) reader structure"]
56impl crate::Readable for SOC_IDENTITY_SPEC {
57 type Reader = R;
58}
59#[doc = "`reset()` method sets SOC_IDENTITY to value 0"]
60impl crate::Resettable for SOC_IDENTITY_SPEC {
61 #[inline(always)]
62 fn reset_value() -> Self::Ux {
63 0
64 }
65}