bl808_pac/
hbn.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    #[doc = "0x00 - Miscellaneous control register"]
5    pub control: CONTROL,
6    #[doc = "0x04 - Low bits of hibernate time"]
7    pub time_lo: TIME_LO,
8    #[doc = "0x08 - High bits of hibernate time"]
9    pub time_hi: TIME_HI,
10    #[doc = "0x0c - Low bits of Real-Time Clock time"]
11    pub rtc_time_lo: RTC_TIME_LO,
12    #[doc = "0x10 - High bits of Real-Time Clock time"]
13    pub rtc_time_hi: RTC_TIME_HI,
14    #[doc = "0x14 - Hibernate interrupt contol"]
15    pub interrupt_mode: INTERRUPT_MODE,
16    #[doc = "0x18 - Hibernate interrupt state"]
17    pub interrupt_state: INTERRUPT_STATE,
18    #[doc = "0x1c - Clear hibernate interrupt"]
19    pub interrupt_clear: INTERRUPT_CLEAR,
20    _reserved8: [u8; 0x10],
21    #[doc = "0x30 - Global hibernate configuration"]
22    pub global: GLOBAL,
23    #[doc = "0x34 - Static Random-Access Memory hibernate control"]
24    pub sram: SRAM,
25    _reserved10: [u8; 0x01c8],
26    #[doc = "0x200 - 32-kHz internal RC oscillator control"]
27    pub rc32k: RC32K,
28    #[doc = "0x204 - External crystal oscillator control"]
29    pub xtal32k: XTAL32K,
30    #[doc = "0x208 - Real-Time Clock control and reset register 0"]
31    pub rtc_control_0: RTC_CONTROL_0,
32    #[doc = "0x20c - Real-Time Clock control and reset register 1"]
33    pub rtc_control_1: RTC_CONTROL_1,
34}
35#[doc = "control (rw) register accessor: an alias for `Reg<CONTROL_SPEC>`"]
36pub type CONTROL = crate::Reg<control::CONTROL_SPEC>;
37#[doc = "Miscellaneous control register"]
38pub mod control;
39#[doc = "time_lo (rw) register accessor: an alias for `Reg<TIME_LO_SPEC>`"]
40pub type TIME_LO = crate::Reg<time_lo::TIME_LO_SPEC>;
41#[doc = "Low bits of hibernate time"]
42pub mod time_lo;
43#[doc = "time_hi (rw) register accessor: an alias for `Reg<TIME_HI_SPEC>`"]
44pub type TIME_HI = crate::Reg<time_hi::TIME_HI_SPEC>;
45#[doc = "High bits of hibernate time"]
46pub mod time_hi;
47#[doc = "rtc_time_lo (rw) register accessor: an alias for `Reg<RTC_TIME_LO_SPEC>`"]
48pub type RTC_TIME_LO = crate::Reg<rtc_time_lo::RTC_TIME_LO_SPEC>;
49#[doc = "Low bits of Real-Time Clock time"]
50pub mod rtc_time_lo;
51#[doc = "rtc_time_hi (rw) register accessor: an alias for `Reg<RTC_TIME_HI_SPEC>`"]
52pub type RTC_TIME_HI = crate::Reg<rtc_time_hi::RTC_TIME_HI_SPEC>;
53#[doc = "High bits of Real-Time Clock time"]
54pub mod rtc_time_hi;
55#[doc = "interrupt_mode (rw) register accessor: an alias for `Reg<INTERRUPT_MODE_SPEC>`"]
56pub type INTERRUPT_MODE = crate::Reg<interrupt_mode::INTERRUPT_MODE_SPEC>;
57#[doc = "Hibernate interrupt contol"]
58pub mod interrupt_mode;
59#[doc = "interrupt_state (rw) register accessor: an alias for `Reg<INTERRUPT_STATE_SPEC>`"]
60pub type INTERRUPT_STATE = crate::Reg<interrupt_state::INTERRUPT_STATE_SPEC>;
61#[doc = "Hibernate interrupt state"]
62pub mod interrupt_state;
63#[doc = "interrupt_clear (rw) register accessor: an alias for `Reg<INTERRUPT_CLEAR_SPEC>`"]
64pub type INTERRUPT_CLEAR = crate::Reg<interrupt_clear::INTERRUPT_CLEAR_SPEC>;
65#[doc = "Clear hibernate interrupt"]
66pub mod interrupt_clear;
67#[doc = "global (rw) register accessor: an alias for `Reg<GLOBAL_SPEC>`"]
68pub type GLOBAL = crate::Reg<global::GLOBAL_SPEC>;
69#[doc = "Global hibernate configuration"]
70pub mod global;
71#[doc = "sram (rw) register accessor: an alias for `Reg<SRAM_SPEC>`"]
72pub type SRAM = crate::Reg<sram::SRAM_SPEC>;
73#[doc = "Static Random-Access Memory hibernate control"]
74pub mod sram;
75#[doc = "rc32k (rw) register accessor: an alias for `Reg<RC32K_SPEC>`"]
76pub type RC32K = crate::Reg<rc32k::RC32K_SPEC>;
77#[doc = "32-kHz internal RC oscillator control"]
78pub mod rc32k;
79#[doc = "xtal32k (rw) register accessor: an alias for `Reg<XTAL32K_SPEC>`"]
80pub type XTAL32K = crate::Reg<xtal32k::XTAL32K_SPEC>;
81#[doc = "External crystal oscillator control"]
82pub mod xtal32k;
83#[doc = "rtc_control_0 (rw) register accessor: an alias for `Reg<RTC_CONTROL_0_SPEC>`"]
84pub type RTC_CONTROL_0 = crate::Reg<rtc_control_0::RTC_CONTROL_0_SPEC>;
85#[doc = "Real-Time Clock control and reset register 0"]
86pub mod rtc_control_0;
87#[doc = "rtc_control_1 (rw) register accessor: an alias for `Reg<RTC_CONTROL_1_SPEC>`"]
88pub type RTC_CONTROL_1 = crate::Reg<rtc_control_1::RTC_CONTROL_1_SPEC>;
89#[doc = "Real-Time Clock control and reset register 1"]
90pub mod rtc_control_1;