1#![allow(clippy::identity_op)]
21#![allow(clippy::module_inception)]
22#![allow(clippy::derivable_impls)]
23#[allow(unused_imports)]
24use crate::common::sealed;
25#[allow(unused_imports)]
26use crate::common::*;
27#[doc = r"CRC Calculator"]
28unsafe impl ::core::marker::Send for super::Crc {}
29unsafe impl ::core::marker::Sync for super::Crc {}
30impl super::Crc {
31 #[allow(unused)]
32 #[inline(always)]
33 pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
34 self.ptr
35 }
36
37 #[doc = "CRC Control Register 0"]
38 #[inline(always)]
39 pub const fn crccr0(
40 &self,
41 ) -> &'static crate::common::Reg<self::Crccr0_SPEC, crate::common::RW> {
42 unsafe {
43 crate::common::Reg::<self::Crccr0_SPEC, crate::common::RW>::from_ptr(
44 self._svd2pac_as_ptr().add(0usize),
45 )
46 }
47 }
48
49 #[doc = "CRC Data Input Register"]
50 #[inline(always)]
51 pub const fn crcdir(
52 &self,
53 ) -> &'static crate::common::Reg<self::Crcdir_SPEC, crate::common::RW> {
54 unsafe {
55 crate::common::Reg::<self::Crcdir_SPEC, crate::common::RW>::from_ptr(
56 self._svd2pac_as_ptr().add(4usize),
57 )
58 }
59 }
60
61 #[doc = "CRC Data Input Register"]
62 #[inline(always)]
63 pub const fn crcdir_by(
64 &self,
65 ) -> &'static crate::common::Reg<self::CrcdirBy_SPEC, crate::common::RW> {
66 unsafe {
67 crate::common::Reg::<self::CrcdirBy_SPEC, crate::common::RW>::from_ptr(
68 self._svd2pac_as_ptr().add(4usize),
69 )
70 }
71 }
72
73 #[doc = "CRC Data Output Register"]
74 #[inline(always)]
75 pub const fn crcdor(
76 &self,
77 ) -> &'static crate::common::Reg<self::Crcdor_SPEC, crate::common::RW> {
78 unsafe {
79 crate::common::Reg::<self::Crcdor_SPEC, crate::common::RW>::from_ptr(
80 self._svd2pac_as_ptr().add(8usize),
81 )
82 }
83 }
84
85 #[doc = "CRC Data Output Register"]
86 #[inline(always)]
87 pub const fn crcdor_ha(
88 &self,
89 ) -> &'static crate::common::Reg<self::CrcdorHa_SPEC, crate::common::RW> {
90 unsafe {
91 crate::common::Reg::<self::CrcdorHa_SPEC, crate::common::RW>::from_ptr(
92 self._svd2pac_as_ptr().add(8usize),
93 )
94 }
95 }
96}
97#[doc(hidden)]
98#[derive(Copy, Clone, Eq, PartialEq)]
99pub struct Crccr0_SPEC;
100impl crate::sealed::RegSpec for Crccr0_SPEC {
101 type DataType = u8;
102}
103
104#[doc = "CRC Control Register 0"]
105pub type Crccr0 = crate::RegValueT<Crccr0_SPEC>;
106
107impl Crccr0 {
108 #[doc = "CRC Generating Polynomial Switching"]
109 #[inline(always)]
110 pub fn gps(
111 self,
112 ) -> crate::common::RegisterField<
113 0,
114 0x7,
115 1,
116 0,
117 crccr0::Gps,
118 crccr0::Gps,
119 Crccr0_SPEC,
120 crate::common::RW,
121 > {
122 crate::common::RegisterField::<
123 0,
124 0x7,
125 1,
126 0,
127 crccr0::Gps,
128 crccr0::Gps,
129 Crccr0_SPEC,
130 crate::common::RW,
131 >::from_register(self, 0)
132 }
133
134 #[doc = "CRCDOR/CRCDOR_HA Register Clear"]
135 #[inline(always)]
136 pub fn dorclr(
137 self,
138 ) -> crate::common::RegisterField<
139 7,
140 0x1,
141 1,
142 0,
143 crccr0::Dorclr,
144 crccr0::Dorclr,
145 Crccr0_SPEC,
146 crate::common::W,
147 > {
148 crate::common::RegisterField::<
149 7,
150 0x1,
151 1,
152 0,
153 crccr0::Dorclr,
154 crccr0::Dorclr,
155 Crccr0_SPEC,
156 crate::common::W,
157 >::from_register(self, 0)
158 }
159}
160impl ::core::default::Default for Crccr0 {
161 #[inline(always)]
162 fn default() -> Crccr0 {
163 <crate::RegValueT<Crccr0_SPEC> as RegisterValue<_>>::new(0)
164 }
165}
166pub mod crccr0 {
167
168 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
169 pub struct Gps_SPEC;
170 pub type Gps = crate::EnumBitfieldStruct<u8, Gps_SPEC>;
171 impl Gps {
172 #[doc = "16-bit CRC-CCITT (X16 + X12 + X5 + 1)"]
173 pub const _011: Self = Self::new(3);
174
175 #[doc = "32-bit CRC-32 (X32 + X26 + X23 + X22 + X16 + X12 + X11 +X10 + X8 + X7 + X5 + X4 + X2 + X + 1)"]
176 pub const _100: Self = Self::new(4);
177 }
178 #[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
179 pub struct Dorclr_SPEC;
180 pub type Dorclr = crate::EnumBitfieldStruct<u8, Dorclr_SPEC>;
181 impl Dorclr {
182 #[doc = "No effect"]
183 pub const _0: Self = Self::new(0);
184
185 #[doc = "Clear the CRCDOR/CRCDOR_HA register"]
186 pub const _1: Self = Self::new(1);
187 }
188}
189#[doc(hidden)]
190#[derive(Copy, Clone, Eq, PartialEq)]
191pub struct Crcdir_SPEC;
192impl crate::sealed::RegSpec for Crcdir_SPEC {
193 type DataType = u32;
194}
195
196#[doc = "CRC Data Input Register"]
197pub type Crcdir = crate::RegValueT<Crcdir_SPEC>;
198
199impl NoBitfieldReg<Crcdir_SPEC> for Crcdir {}
200impl ::core::default::Default for Crcdir {
201 #[inline(always)]
202 fn default() -> Crcdir {
203 <crate::RegValueT<Crcdir_SPEC> as RegisterValue<_>>::new(0)
204 }
205}
206
207#[doc(hidden)]
208#[derive(Copy, Clone, Eq, PartialEq)]
209pub struct CrcdirBy_SPEC;
210impl crate::sealed::RegSpec for CrcdirBy_SPEC {
211 type DataType = u8;
212}
213
214#[doc = "CRC Data Input Register"]
215pub type CrcdirBy = crate::RegValueT<CrcdirBy_SPEC>;
216
217impl NoBitfieldReg<CrcdirBy_SPEC> for CrcdirBy {}
218impl ::core::default::Default for CrcdirBy {
219 #[inline(always)]
220 fn default() -> CrcdirBy {
221 <crate::RegValueT<CrcdirBy_SPEC> as RegisterValue<_>>::new(0)
222 }
223}
224
225#[doc(hidden)]
226#[derive(Copy, Clone, Eq, PartialEq)]
227pub struct Crcdor_SPEC;
228impl crate::sealed::RegSpec for Crcdor_SPEC {
229 type DataType = u32;
230}
231
232#[doc = "CRC Data Output Register"]
233pub type Crcdor = crate::RegValueT<Crcdor_SPEC>;
234
235impl NoBitfieldReg<Crcdor_SPEC> for Crcdor {}
236impl ::core::default::Default for Crcdor {
237 #[inline(always)]
238 fn default() -> Crcdor {
239 <crate::RegValueT<Crcdor_SPEC> as RegisterValue<_>>::new(0)
240 }
241}
242
243#[doc(hidden)]
244#[derive(Copy, Clone, Eq, PartialEq)]
245pub struct CrcdorHa_SPEC;
246impl crate::sealed::RegSpec for CrcdorHa_SPEC {
247 type DataType = u16;
248}
249
250#[doc = "CRC Data Output Register"]
251pub type CrcdorHa = crate::RegValueT<CrcdorHa_SPEC>;
252
253impl NoBitfieldReg<CrcdorHa_SPEC> for CrcdorHa {}
254impl ::core::default::Default for CrcdorHa {
255 #[inline(always)]
256 fn default() -> CrcdorHa {
257 <crate::RegValueT<CrcdorHa_SPEC> as RegisterValue<_>>::new(0)
258 }
259}