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