atsam4s2c_pac/
smc.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - SMC Setup Register (CS_number = 0)"]
5    pub setup0: SETUP0,
6    #[doc = "0x04 - SMC Pulse Register (CS_number = 0)"]
7    pub pulse0: PULSE0,
8    #[doc = "0x08 - SMC Cycle Register (CS_number = 0)"]
9    pub cycle0: CYCLE0,
10    #[doc = "0x0c - SMC Mode Register (CS_number = 0)"]
11    pub mode0: MODE0,
12    #[doc = "0x10 - SMC Setup Register (CS_number = 1)"]
13    pub setup1: SETUP1,
14    #[doc = "0x14 - SMC Pulse Register (CS_number = 1)"]
15    pub pulse1: PULSE1,
16    #[doc = "0x18 - SMC Cycle Register (CS_number = 1)"]
17    pub cycle1: CYCLE1,
18    #[doc = "0x1c - SMC Mode Register (CS_number = 1)"]
19    pub mode1: MODE1,
20    #[doc = "0x20 - SMC Setup Register (CS_number = 2)"]
21    pub setup2: SETUP2,
22    #[doc = "0x24 - SMC Pulse Register (CS_number = 2)"]
23    pub pulse2: PULSE2,
24    #[doc = "0x28 - SMC Cycle Register (CS_number = 2)"]
25    pub cycle2: CYCLE2,
26    #[doc = "0x2c - SMC Mode Register (CS_number = 2)"]
27    pub mode2: MODE2,
28    #[doc = "0x30 - SMC Setup Register (CS_number = 3)"]
29    pub setup3: SETUP3,
30    #[doc = "0x34 - SMC Pulse Register (CS_number = 3)"]
31    pub pulse3: PULSE3,
32    #[doc = "0x38 - SMC Cycle Register (CS_number = 3)"]
33    pub cycle3: CYCLE3,
34    #[doc = "0x3c - SMC Mode Register (CS_number = 3)"]
35    pub mode3: MODE3,
36    _reserved16: [u8; 0x40],
37    #[doc = "0x80 - SMC OCMS MODE Register"]
38    pub ocms: OCMS,
39    #[doc = "0x84 - SMC OCMS KEY1 Register"]
40    pub key1: KEY1,
41    #[doc = "0x88 - SMC OCMS KEY2 Register"]
42    pub key2: KEY2,
43    _reserved19: [u8; 0x58],
44    #[doc = "0xe4 - SMC Write Protect Mode Register"]
45    pub wpmr: WPMR,
46    #[doc = "0xe8 - SMC Write Protect Status Register"]
47    pub wpsr: WPSR,
48}
49#[doc = "SETUP0 (rw) register accessor: an alias for `Reg<SETUP0_SPEC>`"]
50pub type SETUP0 = crate::Reg<setup0::SETUP0_SPEC>;
51#[doc = "SMC Setup Register (CS_number = 0)"]
52pub mod setup0;
53#[doc = "PULSE0 (rw) register accessor: an alias for `Reg<PULSE0_SPEC>`"]
54pub type PULSE0 = crate::Reg<pulse0::PULSE0_SPEC>;
55#[doc = "SMC Pulse Register (CS_number = 0)"]
56pub mod pulse0;
57#[doc = "CYCLE0 (rw) register accessor: an alias for `Reg<CYCLE0_SPEC>`"]
58pub type CYCLE0 = crate::Reg<cycle0::CYCLE0_SPEC>;
59#[doc = "SMC Cycle Register (CS_number = 0)"]
60pub mod cycle0;
61#[doc = "MODE0 (rw) register accessor: an alias for `Reg<MODE0_SPEC>`"]
62pub type MODE0 = crate::Reg<mode0::MODE0_SPEC>;
63#[doc = "SMC Mode Register (CS_number = 0)"]
64pub mod mode0;
65#[doc = "SETUP1 (rw) register accessor: an alias for `Reg<SETUP1_SPEC>`"]
66pub type SETUP1 = crate::Reg<setup1::SETUP1_SPEC>;
67#[doc = "SMC Setup Register (CS_number = 1)"]
68pub mod setup1;
69#[doc = "PULSE1 (rw) register accessor: an alias for `Reg<PULSE1_SPEC>`"]
70pub type PULSE1 = crate::Reg<pulse1::PULSE1_SPEC>;
71#[doc = "SMC Pulse Register (CS_number = 1)"]
72pub mod pulse1;
73#[doc = "CYCLE1 (rw) register accessor: an alias for `Reg<CYCLE1_SPEC>`"]
74pub type CYCLE1 = crate::Reg<cycle1::CYCLE1_SPEC>;
75#[doc = "SMC Cycle Register (CS_number = 1)"]
76pub mod cycle1;
77#[doc = "MODE1 (rw) register accessor: an alias for `Reg<MODE1_SPEC>`"]
78pub type MODE1 = crate::Reg<mode1::MODE1_SPEC>;
79#[doc = "SMC Mode Register (CS_number = 1)"]
80pub mod mode1;
81#[doc = "SETUP2 (rw) register accessor: an alias for `Reg<SETUP2_SPEC>`"]
82pub type SETUP2 = crate::Reg<setup2::SETUP2_SPEC>;
83#[doc = "SMC Setup Register (CS_number = 2)"]
84pub mod setup2;
85#[doc = "PULSE2 (rw) register accessor: an alias for `Reg<PULSE2_SPEC>`"]
86pub type PULSE2 = crate::Reg<pulse2::PULSE2_SPEC>;
87#[doc = "SMC Pulse Register (CS_number = 2)"]
88pub mod pulse2;
89#[doc = "CYCLE2 (rw) register accessor: an alias for `Reg<CYCLE2_SPEC>`"]
90pub type CYCLE2 = crate::Reg<cycle2::CYCLE2_SPEC>;
91#[doc = "SMC Cycle Register (CS_number = 2)"]
92pub mod cycle2;
93#[doc = "MODE2 (rw) register accessor: an alias for `Reg<MODE2_SPEC>`"]
94pub type MODE2 = crate::Reg<mode2::MODE2_SPEC>;
95#[doc = "SMC Mode Register (CS_number = 2)"]
96pub mod mode2;
97#[doc = "SETUP3 (rw) register accessor: an alias for `Reg<SETUP3_SPEC>`"]
98pub type SETUP3 = crate::Reg<setup3::SETUP3_SPEC>;
99#[doc = "SMC Setup Register (CS_number = 3)"]
100pub mod setup3;
101#[doc = "PULSE3 (rw) register accessor: an alias for `Reg<PULSE3_SPEC>`"]
102pub type PULSE3 = crate::Reg<pulse3::PULSE3_SPEC>;
103#[doc = "SMC Pulse Register (CS_number = 3)"]
104pub mod pulse3;
105#[doc = "CYCLE3 (rw) register accessor: an alias for `Reg<CYCLE3_SPEC>`"]
106pub type CYCLE3 = crate::Reg<cycle3::CYCLE3_SPEC>;
107#[doc = "SMC Cycle Register (CS_number = 3)"]
108pub mod cycle3;
109#[doc = "MODE3 (rw) register accessor: an alias for `Reg<MODE3_SPEC>`"]
110pub type MODE3 = crate::Reg<mode3::MODE3_SPEC>;
111#[doc = "SMC Mode Register (CS_number = 3)"]
112pub mod mode3;
113#[doc = "OCMS (rw) register accessor: an alias for `Reg<OCMS_SPEC>`"]
114pub type OCMS = crate::Reg<ocms::OCMS_SPEC>;
115#[doc = "SMC OCMS MODE Register"]
116pub mod ocms;
117#[doc = "KEY1 (w) register accessor: an alias for `Reg<KEY1_SPEC>`"]
118pub type KEY1 = crate::Reg<key1::KEY1_SPEC>;
119#[doc = "SMC OCMS KEY1 Register"]
120pub mod key1;
121#[doc = "KEY2 (w) register accessor: an alias for `Reg<KEY2_SPEC>`"]
122pub type KEY2 = crate::Reg<key2::KEY2_SPEC>;
123#[doc = "SMC OCMS KEY2 Register"]
124pub mod key2;
125#[doc = "WPMR (rw) register accessor: an alias for `Reg<WPMR_SPEC>`"]
126pub type WPMR = crate::Reg<wpmr::WPMR_SPEC>;
127#[doc = "SMC Write Protect Mode Register"]
128pub mod wpmr;
129#[doc = "WPSR (r) register accessor: an alias for `Reg<WPSR_SPEC>`"]
130pub type WPSR = crate::Reg<wpsr::WPSR_SPEC>;
131#[doc = "SMC Write Protect Status Register"]
132pub mod wpsr;