1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - Contains the offsets of AB and CD in the RAM."]
5 pub ctrl0: crate::Reg<ctrl0::CTRL0_SPEC>,
6 #[doc = "0x04 - Contains the opcode mode, iteration count, and result offset (in RAM) and also launches the accelerator. Note: with CP version: CTRL0 and CRTL1 can be written in one go with MCRR."]
7 pub ctrl1: crate::Reg<ctrl1::CTRL1_SPEC>,
8 #[doc = "0x08 - Contains an optional loader to load into CTRL0/1 in steps to perform a set of operations."]
9 pub loader: crate::Reg<loader::LOADER_SPEC>,
10 #[doc = "0x0c - Indicates operational status and would contain the carry bit if used."]
11 pub status: crate::Reg<status::STATUS_SPEC>,
12 #[doc = "0x10 - Sets interrupts"]
13 pub intenset: crate::Reg<intenset::INTENSET_SPEC>,
14 #[doc = "0x14 - Clears interrupts"]
15 pub intenclr: crate::Reg<intenclr::INTENCLR_SPEC>,
16 #[doc = "0x18 - Interrupt status bits (mask of INTENSET and STATUS)"]
17 pub intstat: crate::Reg<intstat::INTSTAT_SPEC>,
18 _reserved7: [u8; 0x04],
19 #[doc = "0x20 - A register"]
20 pub areg: crate::Reg<areg::AREG_SPEC>,
21 #[doc = "0x24 - B register"]
22 pub breg: crate::Reg<breg::BREG_SPEC>,
23 #[doc = "0x28 - C register"]
24 pub creg: crate::Reg<creg::CREG_SPEC>,
25 #[doc = "0x2c - D register"]
26 pub dreg: crate::Reg<dreg::DREG_SPEC>,
27 #[doc = "0x30 - Result register 0"]
28 pub res0: crate::Reg<res0::RES0_SPEC>,
29 #[doc = "0x34 - Result register 1"]
30 pub res1: crate::Reg<res1::RES1_SPEC>,
31 #[doc = "0x38 - Result register 2"]
32 pub res2: crate::Reg<res2::RES2_SPEC>,
33 #[doc = "0x3c - Result register 3"]
34 pub res3: crate::Reg<res3::RES3_SPEC>,
35 _reserved15: [u8; 0x20],
36 #[doc = "0x60 - Optional mask register"]
37 pub mask: crate::Reg<mask::MASK_SPEC>,
38 #[doc = "0x64 - Optional re-mask register"]
39 pub remask: crate::Reg<remask::REMASK_SPEC>,
40 _reserved17: [u8; 0x18],
41 #[doc = "0x80 - Security lock register"]
42 pub lock: crate::Reg<lock::LOCK_SPEC>,
43}
44#[doc = "CTRL0 register accessor: an alias for `Reg<CTRL0_SPEC>`"]
45pub type CTRL0 = crate::Reg<ctrl0::CTRL0_SPEC>;
46#[doc = "Contains the offsets of AB and CD in the RAM."]
47pub mod ctrl0;
48#[doc = "CTRL1 register accessor: an alias for `Reg<CTRL1_SPEC>`"]
49pub type CTRL1 = crate::Reg<ctrl1::CTRL1_SPEC>;
50#[doc = "Contains the opcode mode, iteration count, and result offset (in RAM) and also launches the accelerator. Note: with CP version: CTRL0 and CRTL1 can be written in one go with MCRR."]
51pub mod ctrl1;
52#[doc = "LOADER register accessor: an alias for `Reg<LOADER_SPEC>`"]
53pub type LOADER = crate::Reg<loader::LOADER_SPEC>;
54#[doc = "Contains an optional loader to load into CTRL0/1 in steps to perform a set of operations."]
55pub mod loader;
56#[doc = "STATUS register accessor: an alias for `Reg<STATUS_SPEC>`"]
57pub type STATUS = crate::Reg<status::STATUS_SPEC>;
58#[doc = "Indicates operational status and would contain the carry bit if used."]
59pub mod status;
60#[doc = "INTENSET register accessor: an alias for `Reg<INTENSET_SPEC>`"]
61pub type INTENSET = crate::Reg<intenset::INTENSET_SPEC>;
62#[doc = "Sets interrupts"]
63pub mod intenset;
64#[doc = "INTENCLR register accessor: an alias for `Reg<INTENCLR_SPEC>`"]
65pub type INTENCLR = crate::Reg<intenclr::INTENCLR_SPEC>;
66#[doc = "Clears interrupts"]
67pub mod intenclr;
68#[doc = "INTSTAT register accessor: an alias for `Reg<INTSTAT_SPEC>`"]
69pub type INTSTAT = crate::Reg<intstat::INTSTAT_SPEC>;
70#[doc = "Interrupt status bits (mask of INTENSET and STATUS)"]
71pub mod intstat;
72#[doc = "AREG register accessor: an alias for `Reg<AREG_SPEC>`"]
73pub type AREG = crate::Reg<areg::AREG_SPEC>;
74#[doc = "A register"]
75pub mod areg;
76#[doc = "BREG register accessor: an alias for `Reg<BREG_SPEC>`"]
77pub type BREG = crate::Reg<breg::BREG_SPEC>;
78#[doc = "B register"]
79pub mod breg;
80#[doc = "CREG register accessor: an alias for `Reg<CREG_SPEC>`"]
81pub type CREG = crate::Reg<creg::CREG_SPEC>;
82#[doc = "C register"]
83pub mod creg;
84#[doc = "DREG register accessor: an alias for `Reg<DREG_SPEC>`"]
85pub type DREG = crate::Reg<dreg::DREG_SPEC>;
86#[doc = "D register"]
87pub mod dreg;
88#[doc = "RES0 register accessor: an alias for `Reg<RES0_SPEC>`"]
89pub type RES0 = crate::Reg<res0::RES0_SPEC>;
90#[doc = "Result register 0"]
91pub mod res0;
92#[doc = "RES1 register accessor: an alias for `Reg<RES1_SPEC>`"]
93pub type RES1 = crate::Reg<res1::RES1_SPEC>;
94#[doc = "Result register 1"]
95pub mod res1;
96#[doc = "RES2 register accessor: an alias for `Reg<RES2_SPEC>`"]
97pub type RES2 = crate::Reg<res2::RES2_SPEC>;
98#[doc = "Result register 2"]
99pub mod res2;
100#[doc = "RES3 register accessor: an alias for `Reg<RES3_SPEC>`"]
101pub type RES3 = crate::Reg<res3::RES3_SPEC>;
102#[doc = "Result register 3"]
103pub mod res3;
104#[doc = "MASK register accessor: an alias for `Reg<MASK_SPEC>`"]
105pub type MASK = crate::Reg<mask::MASK_SPEC>;
106#[doc = "Optional mask register"]
107pub mod mask;
108#[doc = "REMASK register accessor: an alias for `Reg<REMASK_SPEC>`"]
109pub type REMASK = crate::Reg<remask::REMASK_SPEC>;
110#[doc = "Optional re-mask register"]
111pub mod remask;
112#[doc = "LOCK register accessor: an alias for `Reg<LOCK_SPEC>`"]
113pub type LOCK = crate::Reg<lock::LOCK_SPEC>;
114#[doc = "Security lock register"]
115pub mod lock;