corstone300_pac/sysinfo/
iidr.rs1#[doc = "Register `IIDR` reader"]
6pub struct R(crate::R<IIDR_SPEC>);
7impl core::ops::Deref for R {
8 type Target = crate::R<IIDR_SPEC>;
9 #[inline(always)]
10 fn deref(&self) -> &Self::Target {
11 &self.0
12 }
13}
14impl From<crate::R<IIDR_SPEC>> for R {
15 #[inline(always)]
16 fn from(reader: crate::R<IIDR_SPEC>) -> Self {
17 R(reader)
18 }
19}
20#[doc = "Field `IMP_IMPLEMENTATOR` reader - Contains the JEP106 code of the company that implemented the subsystem implementation."]
21pub type IMP_IMPLEMENTATOR_R = crate::FieldReader<u16, u16>;
22#[doc = "Field `IMP_REVISION` reader - IMPL_DEF value used to distinguish minor revisions of the subsystem implementation."]
23pub type IMP_REVISION_R = crate::FieldReader<u8, u8>;
24#[doc = "Field `IMP_VARIANT` reader - IMPL_DEF value variant or major revision of the subsystem implementation."]
25pub type IMP_VARIANT_R = crate::FieldReader<u8, u8>;
26#[doc = "Field `IMP_PRODUCT_ID` reader - IMPL_DEF value identifying the subsystem implementation."]
27pub type IMP_PRODUCT_ID_R = crate::FieldReader<u16, u16>;
28impl R {
29 #[doc = "Bits 0:11 - Contains the JEP106 code of the company that implemented the subsystem implementation."]
30 #[inline(always)]
31 pub fn imp_implementator(&self) -> IMP_IMPLEMENTATOR_R {
32 IMP_IMPLEMENTATOR_R::new((self.bits & 0x0fff) as u16)
33 }
34 #[doc = "Bits 12:15 - IMPL_DEF value used to distinguish minor revisions of the subsystem implementation."]
35 #[inline(always)]
36 pub fn imp_revision(&self) -> IMP_REVISION_R {
37 IMP_REVISION_R::new(((self.bits >> 12) & 0x0f) as u8)
38 }
39 #[doc = "Bits 16:19 - IMPL_DEF value variant or major revision of the subsystem implementation."]
40 #[inline(always)]
41 pub fn imp_variant(&self) -> IMP_VARIANT_R {
42 IMP_VARIANT_R::new(((self.bits >> 16) & 0x0f) as u8)
43 }
44 #[doc = "Bits 20:31 - IMPL_DEF value identifying the subsystem implementation."]
45 #[inline(always)]
46 pub fn imp_product_id(&self) -> IMP_PRODUCT_ID_R {
47 IMP_PRODUCT_ID_R::new(((self.bits >> 20) & 0x0fff) as u16)
48 }
49}
50#[doc = "Subsystem Implementation 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 [iidr](index.html) module"]
51pub struct IIDR_SPEC;
52impl crate::RegisterSpec for IIDR_SPEC {
53 type Ux = u32;
54}
55#[doc = "`read()` method returns [iidr::R](R) reader structure"]
56impl crate::Readable for IIDR_SPEC {
57 type Reader = R;
58}
59#[doc = "`reset()` method sets IIDR to value 0"]
60impl crate::Resettable for IIDR_SPEC {
61 #[inline(always)]
62 fn reset_value() -> Self::Ux {
63 0
64 }
65}