atsam4ls2b_pac/
pm.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - Main Clock Control"]
5    pub mcctrl: MCCTRL,
6    #[doc = "0x04 - CPU Clock Select"]
7    pub cpusel: CPUSEL,
8    _reserved2: [u8; 0x04],
9    #[doc = "0x0c - PBA Clock Select"]
10    pub pbasel: PBASEL,
11    #[doc = "0x10 - PBB Clock Select"]
12    pub pbbsel: PBBSEL,
13    #[doc = "0x14 - PBC Clock Select"]
14    pub pbcsel: PBCSEL,
15    #[doc = "0x18 - PBD Clock Select"]
16    pub pbdsel: PBDSEL,
17    _reserved6: [u8; 0x04],
18    #[doc = "0x20 - CPU Mask"]
19    pub cpumask: CPUMASK,
20    #[doc = "0x24 - HSB Mask"]
21    pub hsbmask: HSBMASK,
22    #[doc = "0x28 - PBA Mask"]
23    pub pbamask: PBAMASK,
24    #[doc = "0x2c - PBB Mask"]
25    pub pbbmask: PBBMASK,
26    #[doc = "0x30 - PBC Mask"]
27    pub pbcmask: PBCMASK,
28    #[doc = "0x34 - PBD Mask"]
29    pub pbdmask: PBDMASK,
30    _reserved12: [u8; 0x08],
31    #[doc = "0x40 - PBA Divided Clock Mask"]
32    pub pbadivmask: PBADIVMASK,
33    _reserved13: [u8; 0x10],
34    #[doc = "0x54 - Clock Failure Detector Control"]
35    pub cfdctrl: CFDCTRL,
36    #[doc = "0x58 - Unlock Register"]
37    pub unlock: UNLOCK,
38    _reserved15: [u8; 0x64],
39    #[doc = "0xc0 - Interrupt Enable Register"]
40    pub ier: IER,
41    #[doc = "0xc4 - Interrupt Disable Register"]
42    pub idr: IDR,
43    #[doc = "0xc8 - Interrupt Mask Register"]
44    pub imr: IMR,
45    #[doc = "0xcc - Interrupt Status Register"]
46    pub isr: ISR,
47    #[doc = "0xd0 - Interrupt Clear Register"]
48    pub icr: ICR,
49    #[doc = "0xd4 - Status Register"]
50    pub sr: SR,
51    _reserved21: [u8; 0x88],
52    #[doc = "0x160 - Peripheral Power Control Register"]
53    pub ppcr: PPCR,
54    _reserved22: [u8; 0x1c],
55    #[doc = "0x180 - Reset Cause Register"]
56    pub rcause: RCAUSE,
57    #[doc = "0x184 - Wake Cause Register"]
58    pub wcause: WCAUSE,
59    #[doc = "0x188 - Asynchronous Wake Enable"]
60    pub awen: AWEN,
61    _reserved25: [u8; 0x04],
62    #[doc = "0x190 - Obsvervability"]
63    pub obs: OBS,
64    #[doc = "0x194 - Fast Sleep Register"]
65    pub fastsleep: FASTSLEEP,
66    _reserved27: [u8; 0x0260],
67    #[doc = "0x3f8 - Configuration Register"]
68    pub config: CONFIG,
69    #[doc = "0x3fc - Version Register"]
70    pub version: VERSION,
71}
72#[doc = "AWEN (rw) register accessor: an alias for `Reg<AWEN_SPEC>`"]
73pub type AWEN = crate::Reg<awen::AWEN_SPEC>;
74#[doc = "Asynchronous Wake Enable"]
75pub mod awen;
76#[doc = "CFDCTRL (rw) register accessor: an alias for `Reg<CFDCTRL_SPEC>`"]
77pub type CFDCTRL = crate::Reg<cfdctrl::CFDCTRL_SPEC>;
78#[doc = "Clock Failure Detector Control"]
79pub mod cfdctrl;
80#[doc = "CONFIG (r) register accessor: an alias for `Reg<CONFIG_SPEC>`"]
81pub type CONFIG = crate::Reg<config::CONFIG_SPEC>;
82#[doc = "Configuration Register"]
83pub mod config;
84#[doc = "CPUMASK (rw) register accessor: an alias for `Reg<CPUMASK_SPEC>`"]
85pub type CPUMASK = crate::Reg<cpumask::CPUMASK_SPEC>;
86#[doc = "CPU Mask"]
87pub mod cpumask;
88#[doc = "CPUSEL (rw) register accessor: an alias for `Reg<CPUSEL_SPEC>`"]
89pub type CPUSEL = crate::Reg<cpusel::CPUSEL_SPEC>;
90#[doc = "CPU Clock Select"]
91pub mod cpusel;
92#[doc = "FASTSLEEP (rw) register accessor: an alias for `Reg<FASTSLEEP_SPEC>`"]
93pub type FASTSLEEP = crate::Reg<fastsleep::FASTSLEEP_SPEC>;
94#[doc = "Fast Sleep Register"]
95pub mod fastsleep;
96#[doc = "HSBMASK (rw) register accessor: an alias for `Reg<HSBMASK_SPEC>`"]
97pub type HSBMASK = crate::Reg<hsbmask::HSBMASK_SPEC>;
98#[doc = "HSB Mask"]
99pub mod hsbmask;
100#[doc = "ICR (w) register accessor: an alias for `Reg<ICR_SPEC>`"]
101pub type ICR = crate::Reg<icr::ICR_SPEC>;
102#[doc = "Interrupt Clear Register"]
103pub mod icr;
104#[doc = "IDR (w) register accessor: an alias for `Reg<IDR_SPEC>`"]
105pub type IDR = crate::Reg<idr::IDR_SPEC>;
106#[doc = "Interrupt Disable Register"]
107pub mod idr;
108#[doc = "IER (w) register accessor: an alias for `Reg<IER_SPEC>`"]
109pub type IER = crate::Reg<ier::IER_SPEC>;
110#[doc = "Interrupt Enable Register"]
111pub mod ier;
112#[doc = "IMR (r) register accessor: an alias for `Reg<IMR_SPEC>`"]
113pub type IMR = crate::Reg<imr::IMR_SPEC>;
114#[doc = "Interrupt Mask Register"]
115pub mod imr;
116#[doc = "ISR (r) register accessor: an alias for `Reg<ISR_SPEC>`"]
117pub type ISR = crate::Reg<isr::ISR_SPEC>;
118#[doc = "Interrupt Status Register"]
119pub mod isr;
120#[doc = "MCCTRL (rw) register accessor: an alias for `Reg<MCCTRL_SPEC>`"]
121pub type MCCTRL = crate::Reg<mcctrl::MCCTRL_SPEC>;
122#[doc = "Main Clock Control"]
123pub mod mcctrl;
124#[doc = "OBS (rw) register accessor: an alias for `Reg<OBS_SPEC>`"]
125pub type OBS = crate::Reg<obs::OBS_SPEC>;
126#[doc = "Obsvervability"]
127pub mod obs;
128#[doc = "PBADIVMASK (rw) register accessor: an alias for `Reg<PBADIVMASK_SPEC>`"]
129pub type PBADIVMASK = crate::Reg<pbadivmask::PBADIVMASK_SPEC>;
130#[doc = "PBA Divided Clock Mask"]
131pub mod pbadivmask;
132#[doc = "PBAMASK (rw) register accessor: an alias for `Reg<PBAMASK_SPEC>`"]
133pub type PBAMASK = crate::Reg<pbamask::PBAMASK_SPEC>;
134#[doc = "PBA Mask"]
135pub mod pbamask;
136#[doc = "PBASEL (rw) register accessor: an alias for `Reg<PBASEL_SPEC>`"]
137pub type PBASEL = crate::Reg<pbasel::PBASEL_SPEC>;
138#[doc = "PBA Clock Select"]
139pub mod pbasel;
140#[doc = "PBBMASK (rw) register accessor: an alias for `Reg<PBBMASK_SPEC>`"]
141pub type PBBMASK = crate::Reg<pbbmask::PBBMASK_SPEC>;
142#[doc = "PBB Mask"]
143pub mod pbbmask;
144#[doc = "PBBSEL (rw) register accessor: an alias for `Reg<PBBSEL_SPEC>`"]
145pub type PBBSEL = crate::Reg<pbbsel::PBBSEL_SPEC>;
146#[doc = "PBB Clock Select"]
147pub mod pbbsel;
148#[doc = "PBCMASK (rw) register accessor: an alias for `Reg<PBCMASK_SPEC>`"]
149pub type PBCMASK = crate::Reg<pbcmask::PBCMASK_SPEC>;
150#[doc = "PBC Mask"]
151pub mod pbcmask;
152#[doc = "PBCSEL (rw) register accessor: an alias for `Reg<PBCSEL_SPEC>`"]
153pub type PBCSEL = crate::Reg<pbcsel::PBCSEL_SPEC>;
154#[doc = "PBC Clock Select"]
155pub mod pbcsel;
156#[doc = "PBDMASK (rw) register accessor: an alias for `Reg<PBDMASK_SPEC>`"]
157pub type PBDMASK = crate::Reg<pbdmask::PBDMASK_SPEC>;
158#[doc = "PBD Mask"]
159pub mod pbdmask;
160#[doc = "PBDSEL (rw) register accessor: an alias for `Reg<PBDSEL_SPEC>`"]
161pub type PBDSEL = crate::Reg<pbdsel::PBDSEL_SPEC>;
162#[doc = "PBD Clock Select"]
163pub mod pbdsel;
164#[doc = "PPCR (rw) register accessor: an alias for `Reg<PPCR_SPEC>`"]
165pub type PPCR = crate::Reg<ppcr::PPCR_SPEC>;
166#[doc = "Peripheral Power Control Register"]
167pub mod ppcr;
168#[doc = "RCAUSE (r) register accessor: an alias for `Reg<RCAUSE_SPEC>`"]
169pub type RCAUSE = crate::Reg<rcause::RCAUSE_SPEC>;
170#[doc = "Reset Cause Register"]
171pub mod rcause;
172#[doc = "SR (r) register accessor: an alias for `Reg<SR_SPEC>`"]
173pub type SR = crate::Reg<sr::SR_SPEC>;
174#[doc = "Status Register"]
175pub mod sr;
176#[doc = "UNLOCK (w) register accessor: an alias for `Reg<UNLOCK_SPEC>`"]
177pub type UNLOCK = crate::Reg<unlock::UNLOCK_SPEC>;
178#[doc = "Unlock Register"]
179pub mod unlock;
180#[doc = "VERSION (r) register accessor: an alias for `Reg<VERSION_SPEC>`"]
181pub type VERSION = crate::Reg<version::VERSION_SPEC>;
182#[doc = "Version Register"]
183pub mod version;
184#[doc = "WCAUSE (r) register accessor: an alias for `Reg<WCAUSE_SPEC>`"]
185pub type WCAUSE = crate::Reg<wcause::WCAUSE_SPEC>;
186#[doc = "Wake Cause Register"]
187pub mod wcause;