ra2a1/
crc.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - CRC Control Register0"]
5    pub crccr0: CRCCR0,
6    #[doc = "0x01 - CRC Control Register1"]
7    pub crccr1: CRCCR1,
8    _reserved2: [u8; 0x02],
9    _reserved_2_crcdir: [u8; 0x04],
10    _reserved_3_crcdor: [u8; 0x04],
11    #[doc = "0x0c - Snoop Address Register"]
12    pub crcsar: CRCSAR,
13}
14impl RegisterBlock {
15    #[doc = "0x04 - CRC Data Input Register (byte access)"]
16    #[inline(always)]
17    pub const fn crcdir_by(&self) -> &CRCDIR_BY {
18        unsafe { &*(self as *const Self).cast::<u8>().add(4usize).cast() }
19    }
20    #[doc = "0x04 - CRC Data Input Register"]
21    #[inline(always)]
22    pub const fn crcdir(&self) -> &CRCDIR {
23        unsafe { &*(self as *const Self).cast::<u8>().add(4usize).cast() }
24    }
25    #[doc = "0x08 - CRC Data Output Register(byte access)"]
26    #[inline(always)]
27    pub const fn crcdor_by(&self) -> &CRCDOR_BY {
28        unsafe { &*(self as *const Self).cast::<u8>().add(8usize).cast() }
29    }
30    #[doc = "0x08 - CRC Data Output Register (halfword access)"]
31    #[inline(always)]
32    pub const fn crcdor_ha(&self) -> &CRCDOR_HA {
33        unsafe { &*(self as *const Self).cast::<u8>().add(8usize).cast() }
34    }
35    #[doc = "0x08 - CRC Data Output Register"]
36    #[inline(always)]
37    pub const fn crcdor(&self) -> &CRCDOR {
38        unsafe { &*(self as *const Self).cast::<u8>().add(8usize).cast() }
39    }
40}
41#[doc = "CRCCR0 (rw) register accessor: an alias for `Reg<CRCCR0_SPEC>`"]
42pub type CRCCR0 = crate::Reg<crccr0::CRCCR0_SPEC>;
43#[doc = "CRC Control Register0"]
44pub mod crccr0;
45#[doc = "CRCCR1 (rw) register accessor: an alias for `Reg<CRCCR1_SPEC>`"]
46pub type CRCCR1 = crate::Reg<crccr1::CRCCR1_SPEC>;
47#[doc = "CRC Control Register1"]
48pub mod crccr1;
49#[doc = "CRCDIR (rw) register accessor: an alias for `Reg<CRCDIR_SPEC>`"]
50pub type CRCDIR = crate::Reg<crcdir::CRCDIR_SPEC>;
51#[doc = "CRC Data Input Register"]
52pub mod crcdir;
53#[doc = "CRCDIR_BY (rw) register accessor: an alias for `Reg<CRCDIR_BY_SPEC>`"]
54pub type CRCDIR_BY = crate::Reg<crcdir_by::CRCDIR_BY_SPEC>;
55#[doc = "CRC Data Input Register (byte access)"]
56pub mod crcdir_by;
57#[doc = "CRCDOR (rw) register accessor: an alias for `Reg<CRCDOR_SPEC>`"]
58pub type CRCDOR = crate::Reg<crcdor::CRCDOR_SPEC>;
59#[doc = "CRC Data Output Register"]
60pub mod crcdor;
61#[doc = "CRCDOR_HA (rw) register accessor: an alias for `Reg<CRCDOR_HA_SPEC>`"]
62pub type CRCDOR_HA = crate::Reg<crcdor_ha::CRCDOR_HA_SPEC>;
63#[doc = "CRC Data Output Register (halfword access)"]
64pub mod crcdor_ha;
65#[doc = "CRCDOR_BY (rw) register accessor: an alias for `Reg<CRCDOR_BY_SPEC>`"]
66pub type CRCDOR_BY = crate::Reg<crcdor_by::CRCDOR_BY_SPEC>;
67#[doc = "CRC Data Output Register(byte access)"]
68pub mod crcdor_by;
69#[doc = "CRCSAR (rw) register accessor: an alias for `Reg<CRCSAR_SPEC>`"]
70pub type CRCSAR = crate::Reg<crcsar::CRCSAR_SPEC>;
71#[doc = "Snoop Address Register"]
72pub mod crcsar;