1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 _reserved0: [u8; 0x78],
5 #[doc = "0x78 - Enable constant latency mode."]
6 pub tasks_constlat: TASKS_CONSTLAT,
7 #[doc = "0x7c - Enable low power mode (variable latency)"]
8 pub tasks_lowpwr: TASKS_LOWPWR,
9 _reserved2: [u8; 0x78],
10 #[doc = "0xf8 - Subscribe configuration for task CONSTLAT"]
11 pub subscribe_constlat: SUBSCRIBE_CONSTLAT,
12 #[doc = "0xfc - Subscribe configuration for task LOWPWR"]
13 pub subscribe_lowpwr: SUBSCRIBE_LOWPWR,
14 _reserved4: [u8; 0x08],
15 #[doc = "0x108 - Power failure warning"]
16 pub events_pofwarn: EVENTS_POFWARN,
17 _reserved5: [u8; 0x08],
18 #[doc = "0x114 - CPU entered WFI/WFE sleep"]
19 pub events_sleepenter: EVENTS_SLEEPENTER,
20 #[doc = "0x118 - CPU exited WFI/WFE sleep"]
21 pub events_sleepexit: EVENTS_SLEEPEXIT,
22 _reserved7: [u8; 0x6c],
23 #[doc = "0x188 - Publish configuration for event POFWARN"]
24 pub publish_pofwarn: PUBLISH_POFWARN,
25 _reserved8: [u8; 0x08],
26 #[doc = "0x194 - Publish configuration for event SLEEPENTER"]
27 pub publish_sleepenter: PUBLISH_SLEEPENTER,
28 #[doc = "0x198 - Publish configuration for event SLEEPEXIT"]
29 pub publish_sleepexit: PUBLISH_SLEEPEXIT,
30 _reserved10: [u8; 0x0164],
31 #[doc = "0x300 - Enable or disable interrupt"]
32 pub inten: INTEN,
33 #[doc = "0x304 - Enable interrupt"]
34 pub intenset: INTENSET,
35 #[doc = "0x308 - Disable interrupt"]
36 pub intenclr: INTENCLR,
37 _reserved13: [u8; 0xf4],
38 #[doc = "0x400 - Reset reason"]
39 pub resetreas: RESETREAS,
40 _reserved14: [u8; 0x3c],
41 #[doc = "0x440 - Modem domain power status"]
42 pub powerstatus: POWERSTATUS,
43 _reserved15: [u8; 0xd8],
44 #[doc = "0x51c..0x524 - Description collection: General purpose retention register"]
45 pub gpregret: [GPREGRET; 2],
46}
47#[doc = "TASKS_CONSTLAT (w) register accessor: an alias for `Reg<TASKS_CONSTLAT_SPEC>`"]
48pub type TASKS_CONSTLAT = crate::Reg<tasks_constlat::TASKS_CONSTLAT_SPEC>;
49#[doc = "Enable constant latency mode."]
50pub mod tasks_constlat;
51#[doc = "TASKS_LOWPWR (w) register accessor: an alias for `Reg<TASKS_LOWPWR_SPEC>`"]
52pub type TASKS_LOWPWR = crate::Reg<tasks_lowpwr::TASKS_LOWPWR_SPEC>;
53#[doc = "Enable low power mode (variable latency)"]
54pub mod tasks_lowpwr;
55#[doc = "SUBSCRIBE_CONSTLAT (rw) register accessor: an alias for `Reg<SUBSCRIBE_CONSTLAT_SPEC>`"]
56pub type SUBSCRIBE_CONSTLAT = crate::Reg<subscribe_constlat::SUBSCRIBE_CONSTLAT_SPEC>;
57#[doc = "Subscribe configuration for task CONSTLAT"]
58pub mod subscribe_constlat;
59#[doc = "SUBSCRIBE_LOWPWR (rw) register accessor: an alias for `Reg<SUBSCRIBE_LOWPWR_SPEC>`"]
60pub type SUBSCRIBE_LOWPWR = crate::Reg<subscribe_lowpwr::SUBSCRIBE_LOWPWR_SPEC>;
61#[doc = "Subscribe configuration for task LOWPWR"]
62pub mod subscribe_lowpwr;
63#[doc = "EVENTS_POFWARN (rw) register accessor: an alias for `Reg<EVENTS_POFWARN_SPEC>`"]
64pub type EVENTS_POFWARN = crate::Reg<events_pofwarn::EVENTS_POFWARN_SPEC>;
65#[doc = "Power failure warning"]
66pub mod events_pofwarn;
67#[doc = "EVENTS_SLEEPENTER (rw) register accessor: an alias for `Reg<EVENTS_SLEEPENTER_SPEC>`"]
68pub type EVENTS_SLEEPENTER = crate::Reg<events_sleepenter::EVENTS_SLEEPENTER_SPEC>;
69#[doc = "CPU entered WFI/WFE sleep"]
70pub mod events_sleepenter;
71#[doc = "EVENTS_SLEEPEXIT (rw) register accessor: an alias for `Reg<EVENTS_SLEEPEXIT_SPEC>`"]
72pub type EVENTS_SLEEPEXIT = crate::Reg<events_sleepexit::EVENTS_SLEEPEXIT_SPEC>;
73#[doc = "CPU exited WFI/WFE sleep"]
74pub mod events_sleepexit;
75#[doc = "PUBLISH_POFWARN (rw) register accessor: an alias for `Reg<PUBLISH_POFWARN_SPEC>`"]
76pub type PUBLISH_POFWARN = crate::Reg<publish_pofwarn::PUBLISH_POFWARN_SPEC>;
77#[doc = "Publish configuration for event POFWARN"]
78pub mod publish_pofwarn;
79#[doc = "PUBLISH_SLEEPENTER (rw) register accessor: an alias for `Reg<PUBLISH_SLEEPENTER_SPEC>`"]
80pub type PUBLISH_SLEEPENTER = crate::Reg<publish_sleepenter::PUBLISH_SLEEPENTER_SPEC>;
81#[doc = "Publish configuration for event SLEEPENTER"]
82pub mod publish_sleepenter;
83#[doc = "PUBLISH_SLEEPEXIT (rw) register accessor: an alias for `Reg<PUBLISH_SLEEPEXIT_SPEC>`"]
84pub type PUBLISH_SLEEPEXIT = crate::Reg<publish_sleepexit::PUBLISH_SLEEPEXIT_SPEC>;
85#[doc = "Publish configuration for event SLEEPEXIT"]
86pub mod publish_sleepexit;
87#[doc = "INTEN (rw) register accessor: an alias for `Reg<INTEN_SPEC>`"]
88pub type INTEN = crate::Reg<inten::INTEN_SPEC>;
89#[doc = "Enable or disable interrupt"]
90pub mod inten;
91#[doc = "INTENSET (rw) register accessor: an alias for `Reg<INTENSET_SPEC>`"]
92pub type INTENSET = crate::Reg<intenset::INTENSET_SPEC>;
93#[doc = "Enable interrupt"]
94pub mod intenset;
95#[doc = "INTENCLR (rw) register accessor: an alias for `Reg<INTENCLR_SPEC>`"]
96pub type INTENCLR = crate::Reg<intenclr::INTENCLR_SPEC>;
97#[doc = "Disable interrupt"]
98pub mod intenclr;
99#[doc = "RESETREAS (rw) register accessor: an alias for `Reg<RESETREAS_SPEC>`"]
100pub type RESETREAS = crate::Reg<resetreas::RESETREAS_SPEC>;
101#[doc = "Reset reason"]
102pub mod resetreas;
103#[doc = "POWERSTATUS (r) register accessor: an alias for `Reg<POWERSTATUS_SPEC>`"]
104pub type POWERSTATUS = crate::Reg<powerstatus::POWERSTATUS_SPEC>;
105#[doc = "Modem domain power status"]
106pub mod powerstatus;
107#[doc = "GPREGRET (rw) register accessor: an alias for `Reg<GPREGRET_SPEC>`"]
108pub type GPREGRET = crate::Reg<gpregret::GPREGRET_SPEC>;
109#[doc = "Description collection: General purpose retention register"]
110pub mod gpregret;