1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - Start RTC Counter."]
5 pub tasks_start: TASKS_START,
6 #[doc = "0x04 - Stop RTC Counter."]
7 pub tasks_stop: TASKS_STOP,
8 #[doc = "0x08 - Clear RTC Counter."]
9 pub tasks_clear: TASKS_CLEAR,
10 #[doc = "0x0c - Set COUNTER to 0xFFFFFFF0."]
11 pub tasks_trigovrflw: TASKS_TRIGOVRFLW,
12 _reserved4: [u8; 0xf0],
13 #[doc = "0x100 - Event on COUNTER increment."]
14 pub events_tick: EVENTS_TICK,
15 #[doc = "0x104 - Event on COUNTER overflow."]
16 pub events_ovrflw: EVENTS_OVRFLW,
17 _reserved6: [u8; 0x38],
18 #[doc = "0x140..0x150 - Compare event on CC\\[n\\]
19match."]
20 pub events_compare: [EVENTS_COMPARE; 4],
21 _reserved7: [u8; 0x01b4],
22 #[doc = "0x304 - Interrupt enable set register."]
23 pub intenset: INTENSET,
24 #[doc = "0x308 - Interrupt enable clear register."]
25 pub intenclr: INTENCLR,
26 _reserved9: [u8; 0x34],
27 #[doc = "0x340 - Configures event enable routing to PPI for each RTC event."]
28 pub evten: EVTEN,
29 #[doc = "0x344 - Enable events routing to PPI. The reading of this register gives the value of EVTEN."]
30 pub evtenset: EVTENSET,
31 #[doc = "0x348 - Disable events routing to PPI. The reading of this register gives the value of EVTEN."]
32 pub evtenclr: EVTENCLR,
33 _reserved12: [u8; 0x01b8],
34 #[doc = "0x504 - Current COUNTER value."]
35 pub counter: COUNTER,
36 #[doc = "0x508 - 12-bit prescaler for COUNTER frequency (32768/(PRESCALER+1)). Must be written when RTC is STOPed."]
37 pub prescaler: PRESCALER,
38 _reserved14: [u8; 0x34],
39 #[doc = "0x540..0x550 - Capture/compare registers."]
40 pub cc: [CC; 4],
41 _reserved15: [u8; 0x0aac],
42 #[doc = "0xffc - Peripheral power control."]
43 pub power: POWER,
44}
45#[doc = "TASKS_START (w) register accessor: an alias for `Reg<TASKS_START_SPEC>`"]
46pub type TASKS_START = crate::Reg<tasks_start::TASKS_START_SPEC>;
47#[doc = "Start RTC Counter."]
48pub mod tasks_start;
49#[doc = "TASKS_STOP (w) register accessor: an alias for `Reg<TASKS_STOP_SPEC>`"]
50pub type TASKS_STOP = crate::Reg<tasks_stop::TASKS_STOP_SPEC>;
51#[doc = "Stop RTC Counter."]
52pub mod tasks_stop;
53#[doc = "TASKS_CLEAR (w) register accessor: an alias for `Reg<TASKS_CLEAR_SPEC>`"]
54pub type TASKS_CLEAR = crate::Reg<tasks_clear::TASKS_CLEAR_SPEC>;
55#[doc = "Clear RTC Counter."]
56pub mod tasks_clear;
57#[doc = "TASKS_TRIGOVRFLW (w) register accessor: an alias for `Reg<TASKS_TRIGOVRFLW_SPEC>`"]
58pub type TASKS_TRIGOVRFLW = crate::Reg<tasks_trigovrflw::TASKS_TRIGOVRFLW_SPEC>;
59#[doc = "Set COUNTER to 0xFFFFFFF0."]
60pub mod tasks_trigovrflw;
61#[doc = "EVENTS_TICK (rw) register accessor: an alias for `Reg<EVENTS_TICK_SPEC>`"]
62pub type EVENTS_TICK = crate::Reg<events_tick::EVENTS_TICK_SPEC>;
63#[doc = "Event on COUNTER increment."]
64pub mod events_tick;
65#[doc = "EVENTS_OVRFLW (rw) register accessor: an alias for `Reg<EVENTS_OVRFLW_SPEC>`"]
66pub type EVENTS_OVRFLW = crate::Reg<events_ovrflw::EVENTS_OVRFLW_SPEC>;
67#[doc = "Event on COUNTER overflow."]
68pub mod events_ovrflw;
69#[doc = "EVENTS_COMPARE (rw) register accessor: an alias for `Reg<EVENTS_COMPARE_SPEC>`"]
70pub type EVENTS_COMPARE = crate::Reg<events_compare::EVENTS_COMPARE_SPEC>;
71#[doc = "Compare event on CC\\[n\\]
72match."]
73pub mod events_compare;
74#[doc = "INTENSET (rw) register accessor: an alias for `Reg<INTENSET_SPEC>`"]
75pub type INTENSET = crate::Reg<intenset::INTENSET_SPEC>;
76#[doc = "Interrupt enable set register."]
77pub mod intenset;
78#[doc = "INTENCLR (rw) register accessor: an alias for `Reg<INTENCLR_SPEC>`"]
79pub type INTENCLR = crate::Reg<intenclr::INTENCLR_SPEC>;
80#[doc = "Interrupt enable clear register."]
81pub mod intenclr;
82#[doc = "EVTEN (rw) register accessor: an alias for `Reg<EVTEN_SPEC>`"]
83pub type EVTEN = crate::Reg<evten::EVTEN_SPEC>;
84#[doc = "Configures event enable routing to PPI for each RTC event."]
85pub mod evten;
86#[doc = "EVTENSET (rw) register accessor: an alias for `Reg<EVTENSET_SPEC>`"]
87pub type EVTENSET = crate::Reg<evtenset::EVTENSET_SPEC>;
88#[doc = "Enable events routing to PPI. The reading of this register gives the value of EVTEN."]
89pub mod evtenset;
90#[doc = "EVTENCLR (rw) register accessor: an alias for `Reg<EVTENCLR_SPEC>`"]
91pub type EVTENCLR = crate::Reg<evtenclr::EVTENCLR_SPEC>;
92#[doc = "Disable events routing to PPI. The reading of this register gives the value of EVTEN."]
93pub mod evtenclr;
94#[doc = "COUNTER (r) register accessor: an alias for `Reg<COUNTER_SPEC>`"]
95pub type COUNTER = crate::Reg<counter::COUNTER_SPEC>;
96#[doc = "Current COUNTER value."]
97pub mod counter;
98#[doc = "PRESCALER (rw) register accessor: an alias for `Reg<PRESCALER_SPEC>`"]
99pub type PRESCALER = crate::Reg<prescaler::PRESCALER_SPEC>;
100#[doc = "12-bit prescaler for COUNTER frequency (32768/(PRESCALER+1)). Must be written when RTC is STOPed."]
101pub mod prescaler;
102#[doc = "CC (rw) register accessor: an alias for `Reg<CC_SPEC>`"]
103pub type CC = crate::Reg<cc::CC_SPEC>;
104#[doc = "Capture/compare registers."]
105pub mod cc;
106#[doc = "POWER (rw) register accessor: an alias for `Reg<POWER_SPEC>`"]
107pub type POWER = crate::Reg<power::POWER_SPEC>;
108#[doc = "Peripheral power control."]
109pub mod power;