Skip to main content

mcxa_pac/sgi0/
sgi_config2.rs

1#[doc = "Register `sgi_config2` reader"]
2pub type R = crate::R<SgiConfig2Spec>;
3#[doc = "Field `aes_used` reader - 0=Apollo; 1=Aegis; 2=Ayna; 3=Athenium; 4=Ajax;"]
4pub type AesUsedR = crate::FieldReader;
5#[doc = "Field `aes_num_sboxes` reader - Number of AES sboxes"]
6pub type AesNumSboxesR = crate::FieldReader;
7#[doc = "Field `aes_keysize` reader - 0=128-Only,1=192-Only, 2=256-Only, 3=All Keysizes"]
8pub type AesKeysizeR = crate::FieldReader;
9#[doc = "Field `config2b_rsvd` reader - reserved"]
10pub type Config2bRsvdR = crate::FieldReader;
11#[doc = "Field `des_used` reader - 0=Dakar; 1=Danube; 2=Depicta; 3=Digi; 4=Date;"]
12pub type DesUsedR = crate::FieldReader;
13#[doc = "Field `des_num_sboxes` reader - Number of DES sboxes"]
14pub type DesNumSboxesR = crate::FieldReader;
15#[doc = "Field `config2a_rsvd` reader - reserved"]
16pub type Config2aRsvdR = crate::FieldReader;
17impl R {
18    #[doc = "Bits 0:3 - 0=Apollo; 1=Aegis; 2=Ayna; 3=Athenium; 4=Ajax;"]
19    #[inline(always)]
20    pub fn aes_used(&self) -> AesUsedR {
21        AesUsedR::new((self.bits & 0x0f) as u8)
22    }
23    #[doc = "Bits 4:8 - Number of AES sboxes"]
24    #[inline(always)]
25    pub fn aes_num_sboxes(&self) -> AesNumSboxesR {
26        AesNumSboxesR::new(((self.bits >> 4) & 0x1f) as u8)
27    }
28    #[doc = "Bits 9:10 - 0=128-Only,1=192-Only, 2=256-Only, 3=All Keysizes"]
29    #[inline(always)]
30    pub fn aes_keysize(&self) -> AesKeysizeR {
31        AesKeysizeR::new(((self.bits >> 9) & 3) as u8)
32    }
33    #[doc = "Bits 11:15 - reserved"]
34    #[inline(always)]
35    pub fn config2b_rsvd(&self) -> Config2bRsvdR {
36        Config2bRsvdR::new(((self.bits >> 11) & 0x1f) as u8)
37    }
38    #[doc = "Bits 16:19 - 0=Dakar; 1=Danube; 2=Depicta; 3=Digi; 4=Date;"]
39    #[inline(always)]
40    pub fn des_used(&self) -> DesUsedR {
41        DesUsedR::new(((self.bits >> 16) & 0x0f) as u8)
42    }
43    #[doc = "Bits 20:24 - Number of DES sboxes"]
44    #[inline(always)]
45    pub fn des_num_sboxes(&self) -> DesNumSboxesR {
46        DesNumSboxesR::new(((self.bits >> 20) & 0x1f) as u8)
47    }
48    #[doc = "Bits 25:31 - reserved"]
49    #[inline(always)]
50    pub fn config2a_rsvd(&self) -> Config2aRsvdR {
51        Config2aRsvdR::new(((self.bits >> 25) & 0x7f) as u8)
52    }
53}
54#[cfg(feature = "debug")]
55impl core::fmt::Debug for R {
56    fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
57        f.debug_struct("sgi_config2")
58            .field("aes_used", &self.aes_used())
59            .field("aes_num_sboxes", &self.aes_num_sboxes())
60            .field("aes_keysize", &self.aes_keysize())
61            .field("config2b_rsvd", &self.config2b_rsvd())
62            .field("des_used", &self.des_used())
63            .field("des_num_sboxes", &self.des_num_sboxes())
64            .field("config2a_rsvd", &self.config2a_rsvd())
65            .finish()
66    }
67}
68#[doc = "SHA Configuration 2 Reg\n\nYou can [`read`](crate::Reg::read) this register and get [`sgi_config2::R`](R). See [API](https://docs.rs/svd2rust/#read--modify--write-api)."]
69pub struct SgiConfig2Spec;
70impl crate::RegisterSpec for SgiConfig2Spec {
71    type Ux = u32;
72}
73#[doc = "`read()` method returns [`sgi_config2::R`](R) reader structure"]
74impl crate::Readable for SgiConfig2Spec {}
75#[doc = "`reset()` method sets sgi_config2 to value 0"]
76impl crate::Resettable for SgiConfig2Spec {}