1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 losc_ctrl: LOSC_CTRL,
5 losc_auto_swt_sta: LOSC_AUTO_SWT_STA,
6 intosc_clk_prescal: INTOSC_CLK_PRESCAL,
7 _reserved3: [u8; 0x04],
8 rtc_day: RTC_DAY,
9 rtc_hh_mm_ss: RTC_HH_MM_SS,
10 _reserved5: [u8; 0x08],
11 alarm0_day_set: ALARM0_DAY_SET,
12 alarm0_cur_vlu: ALARM0_CUR_VLU,
13 alarm0_enable: ALARM0_ENABLE,
14 alarm0_irq_en: ALARM0_IRQ_EN,
15 alarm0_irq_sta: ALARM0_IRQ_STA,
16 _reserved10: [u8; 0x1c],
17 alarm_config: ALARM_CONFIG,
18 _reserved11: [u8; 0x0c],
19 fout_32k_ctrl_gating: FOUT_32K_CTRL_GATING,
20 _reserved12: [u8; 0x9c],
21 gp_data: [GP_DATA; 8],
22 fboot_info: [FBOOT_INFO; 2],
23 _reserved14: [u8; 0x38],
24 dcxo_ctrl: DCXO_CTRL,
25 _reserved15: [u8; 0x2c],
26 rtc_vio: RTC_VIO,
27 _reserved16: [u8; 0x5c],
28 ic_chara: IC_CHARA,
29 vdd_off_gating_ctrl: VDD_OFF_GATING_CTRL,
30 _reserved18: [u8; 0x0c],
31 efuse_hv_pwrswt_ctrl: EFUSE_HV_PWRSWT_CTRL,
32 _reserved19: [u8; 0x0108],
33 rtc_spi_clk_ctrl: RTC_SPI_CLK_CTRL,
34}
35impl RegisterBlock {
36 #[doc = "0x00 - Low Oscillator Control Register"]
37 #[inline(always)]
38 pub const fn losc_ctrl(&self) -> &LOSC_CTRL {
39 &self.losc_ctrl
40 }
41 #[doc = "0x04 - LOSC Auto Switch Status Register"]
42 #[inline(always)]
43 pub const fn losc_auto_swt_sta(&self) -> &LOSC_AUTO_SWT_STA {
44 &self.losc_auto_swt_sta
45 }
46 #[doc = "0x08 - Internal OSC Clock Pre-scalar Register"]
47 #[inline(always)]
48 pub const fn intosc_clk_prescal(&self) -> &INTOSC_CLK_PRESCAL {
49 &self.intosc_clk_prescal
50 }
51 #[doc = "0x10 - RTC Year-Month-Day Register"]
52 #[inline(always)]
53 pub const fn rtc_day(&self) -> &RTC_DAY {
54 &self.rtc_day
55 }
56 #[doc = "0x14 - RTC Hour-Minute-Second Register"]
57 #[inline(always)]
58 pub const fn rtc_hh_mm_ss(&self) -> &RTC_HH_MM_SS {
59 &self.rtc_hh_mm_ss
60 }
61 #[doc = "0x20 - Alarm 0 Day Setting Register"]
62 #[inline(always)]
63 pub const fn alarm0_day_set(&self) -> &ALARM0_DAY_SET {
64 &self.alarm0_day_set
65 }
66 #[doc = "0x24 - Alarm 0 Counter Current Value Register"]
67 #[inline(always)]
68 pub const fn alarm0_cur_vlu(&self) -> &ALARM0_CUR_VLU {
69 &self.alarm0_cur_vlu
70 }
71 #[doc = "0x28 - Alarm 0 Enable Register"]
72 #[inline(always)]
73 pub const fn alarm0_enable(&self) -> &ALARM0_ENABLE {
74 &self.alarm0_enable
75 }
76 #[doc = "0x2c - Alarm 0 IRQ Enable Register"]
77 #[inline(always)]
78 pub const fn alarm0_irq_en(&self) -> &ALARM0_IRQ_EN {
79 &self.alarm0_irq_en
80 }
81 #[doc = "0x30 - Alarm 0 IRQ Status Register"]
82 #[inline(always)]
83 pub const fn alarm0_irq_sta(&self) -> &ALARM0_IRQ_STA {
84 &self.alarm0_irq_sta
85 }
86 #[doc = "0x50 - Alarm Configuration Register"]
87 #[inline(always)]
88 pub const fn alarm_config(&self) -> &ALARM_CONFIG {
89 &self.alarm_config
90 }
91 #[doc = "0x60 - 32K Fanout Control Gating Register"]
92 #[inline(always)]
93 pub const fn fout_32k_ctrl_gating(&self) -> &FOUT_32K_CTRL_GATING {
94 &self.fout_32k_ctrl_gating
95 }
96 #[doc = "0x100..0x120 - General Purpose Register"]
97 #[inline(always)]
98 pub const fn gp_data(&self, n: usize) -> &GP_DATA {
99 &self.gp_data[n]
100 }
101 #[doc = "0x120..0x128 - Fast Boot Information Register \\[01\\]"]
102 #[inline(always)]
103 pub const fn fboot_info(&self, n: usize) -> &FBOOT_INFO {
104 &self.fboot_info[n]
105 }
106 #[doc = "0x160 - DCXO Control Register"]
107 #[inline(always)]
108 pub const fn dcxo_ctrl(&self) -> &DCXO_CTRL {
109 &self.dcxo_ctrl
110 }
111 #[doc = "0x190 - RTC_VIO Regulation Register"]
112 #[inline(always)]
113 pub const fn rtc_vio(&self) -> &RTC_VIO {
114 &self.rtc_vio
115 }
116 #[doc = "0x1f0 - IC Characteristic Register"]
117 #[inline(always)]
118 pub const fn ic_chara(&self) -> &IC_CHARA {
119 &self.ic_chara
120 }
121 #[doc = "0x1f4 - VDD Off Gating Control Register"]
122 #[inline(always)]
123 pub const fn vdd_off_gating_ctrl(&self) -> &VDD_OFF_GATING_CTRL {
124 &self.vdd_off_gating_ctrl
125 }
126 #[doc = "0x204 - Efuse High Voltage Power Switch Control Register"]
127 #[inline(always)]
128 pub const fn efuse_hv_pwrswt_ctrl(&self) -> &EFUSE_HV_PWRSWT_CTRL {
129 &self.efuse_hv_pwrswt_ctrl
130 }
131 #[doc = "0x310 - RTC SPI Clock Control Register"]
132 #[inline(always)]
133 pub const fn rtc_spi_clk_ctrl(&self) -> &RTC_SPI_CLK_CTRL {
134 &self.rtc_spi_clk_ctrl
135 }
136}
137#[doc = "losc_ctrl (rw) register accessor: Low Oscillator Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`losc_ctrl::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`losc_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@losc_ctrl`] module"]
138pub type LOSC_CTRL = crate::Reg<losc_ctrl::LOSC_CTRL_SPEC>;
139#[doc = "Low Oscillator Control Register"]
140pub mod losc_ctrl;
141#[doc = "losc_auto_swt_sta (rw) register accessor: LOSC Auto Switch Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`losc_auto_swt_sta::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`losc_auto_swt_sta::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@losc_auto_swt_sta`] module"]
142pub type LOSC_AUTO_SWT_STA = crate::Reg<losc_auto_swt_sta::LOSC_AUTO_SWT_STA_SPEC>;
143#[doc = "LOSC Auto Switch Status Register"]
144pub mod losc_auto_swt_sta;
145#[doc = "intosc_clk_prescal (rw) register accessor: Internal OSC Clock Pre-scalar Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`intosc_clk_prescal::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`intosc_clk_prescal::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@intosc_clk_prescal`] module"]
146pub type INTOSC_CLK_PRESCAL = crate::Reg<intosc_clk_prescal::INTOSC_CLK_PRESCAL_SPEC>;
147#[doc = "Internal OSC Clock Pre-scalar Register"]
148pub mod intosc_clk_prescal;
149#[doc = "rtc_day (rw) register accessor: RTC Year-Month-Day Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rtc_day::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`rtc_day::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_day`] module"]
150pub type RTC_DAY = crate::Reg<rtc_day::RTC_DAY_SPEC>;
151#[doc = "RTC Year-Month-Day Register"]
152pub mod rtc_day;
153#[doc = "rtc_hh_mm_ss (rw) register accessor: RTC Hour-Minute-Second Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rtc_hh_mm_ss::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`rtc_hh_mm_ss::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_hh_mm_ss`] module"]
154pub type RTC_HH_MM_SS = crate::Reg<rtc_hh_mm_ss::RTC_HH_MM_SS_SPEC>;
155#[doc = "RTC Hour-Minute-Second Register"]
156pub mod rtc_hh_mm_ss;
157#[doc = "alarm0_day_set (rw) register accessor: Alarm 0 Day Setting Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`alarm0_day_set::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`alarm0_day_set::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@alarm0_day_set`] module"]
158pub type ALARM0_DAY_SET = crate::Reg<alarm0_day_set::ALARM0_DAY_SET_SPEC>;
159#[doc = "Alarm 0 Day Setting Register"]
160pub mod alarm0_day_set;
161#[doc = "alarm0_cur_vlu (rw) register accessor: Alarm 0 Counter Current Value Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`alarm0_cur_vlu::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`alarm0_cur_vlu::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@alarm0_cur_vlu`] module"]
162pub type ALARM0_CUR_VLU = crate::Reg<alarm0_cur_vlu::ALARM0_CUR_VLU_SPEC>;
163#[doc = "Alarm 0 Counter Current Value Register"]
164pub mod alarm0_cur_vlu;
165#[doc = "alarm0_enable (rw) register accessor: Alarm 0 Enable Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`alarm0_enable::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`alarm0_enable::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@alarm0_enable`] module"]
166pub type ALARM0_ENABLE = crate::Reg<alarm0_enable::ALARM0_ENABLE_SPEC>;
167#[doc = "Alarm 0 Enable Register"]
168pub mod alarm0_enable;
169#[doc = "alarm0_irq_en (rw) register accessor: Alarm 0 IRQ Enable Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`alarm0_irq_en::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`alarm0_irq_en::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@alarm0_irq_en`] module"]
170pub type ALARM0_IRQ_EN = crate::Reg<alarm0_irq_en::ALARM0_IRQ_EN_SPEC>;
171#[doc = "Alarm 0 IRQ Enable Register"]
172pub mod alarm0_irq_en;
173#[doc = "alarm0_irq_sta (rw) register accessor: Alarm 0 IRQ Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`alarm0_irq_sta::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`alarm0_irq_sta::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@alarm0_irq_sta`] module"]
174pub type ALARM0_IRQ_STA = crate::Reg<alarm0_irq_sta::ALARM0_IRQ_STA_SPEC>;
175#[doc = "Alarm 0 IRQ Status Register"]
176pub mod alarm0_irq_sta;
177#[doc = "alarm_config (rw) register accessor: Alarm Configuration Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`alarm_config::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`alarm_config::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@alarm_config`] module"]
178pub type ALARM_CONFIG = crate::Reg<alarm_config::ALARM_CONFIG_SPEC>;
179#[doc = "Alarm Configuration Register"]
180pub mod alarm_config;
181#[doc = "fout_32k_ctrl_gating (rw) register accessor: 32K Fanout Control Gating Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`fout_32k_ctrl_gating::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`fout_32k_ctrl_gating::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fout_32k_ctrl_gating`] module"]
182pub type FOUT_32K_CTRL_GATING = crate::Reg<fout_32k_ctrl_gating::FOUT_32K_CTRL_GATING_SPEC>;
183#[doc = "32K Fanout Control Gating Register"]
184pub mod fout_32k_ctrl_gating;
185#[doc = "gp_data (rw) register accessor: General Purpose Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`gp_data::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`gp_data::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@gp_data`] module"]
186pub type GP_DATA = crate::Reg<gp_data::GP_DATA_SPEC>;
187#[doc = "General Purpose Register"]
188pub mod gp_data;
189#[doc = "fboot_info (rw) register accessor: Fast Boot Information Register \\[01\\]\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`fboot_info::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`fboot_info::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@fboot_info`] module"]
190pub type FBOOT_INFO = crate::Reg<fboot_info::FBOOT_INFO_SPEC>;
191#[doc = "Fast Boot Information Register \\[01\\]"]
192pub mod fboot_info;
193#[doc = "dcxo_ctrl (rw) register accessor: DCXO Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dcxo_ctrl::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`dcxo_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dcxo_ctrl`] module"]
194pub type DCXO_CTRL = crate::Reg<dcxo_ctrl::DCXO_CTRL_SPEC>;
195#[doc = "DCXO Control Register"]
196pub mod dcxo_ctrl;
197#[doc = "rtc_vio (rw) register accessor: RTC_VIO Regulation Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rtc_vio::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`rtc_vio::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_vio`] module"]
198pub type RTC_VIO = crate::Reg<rtc_vio::RTC_VIO_SPEC>;
199#[doc = "RTC_VIO Regulation Register"]
200pub mod rtc_vio;
201#[doc = "ic_chara (rw) register accessor: IC Characteristic Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`ic_chara::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ic_chara::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ic_chara`] module"]
202pub type IC_CHARA = crate::Reg<ic_chara::IC_CHARA_SPEC>;
203#[doc = "IC Characteristic Register"]
204pub mod ic_chara;
205#[doc = "vdd_off_gating_ctrl (rw) register accessor: VDD Off Gating Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`vdd_off_gating_ctrl::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`vdd_off_gating_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@vdd_off_gating_ctrl`] module"]
206pub type VDD_OFF_GATING_CTRL = crate::Reg<vdd_off_gating_ctrl::VDD_OFF_GATING_CTRL_SPEC>;
207#[doc = "VDD Off Gating Control Register"]
208pub mod vdd_off_gating_ctrl;
209#[doc = "efuse_hv_pwrswt_ctrl (rw) register accessor: Efuse High Voltage Power Switch Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`efuse_hv_pwrswt_ctrl::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`efuse_hv_pwrswt_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@efuse_hv_pwrswt_ctrl`] module"]
210pub type EFUSE_HV_PWRSWT_CTRL = crate::Reg<efuse_hv_pwrswt_ctrl::EFUSE_HV_PWRSWT_CTRL_SPEC>;
211#[doc = "Efuse High Voltage Power Switch Control Register"]
212pub mod efuse_hv_pwrswt_ctrl;
213#[doc = "rtc_spi_clk_ctrl (rw) register accessor: RTC SPI Clock Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rtc_spi_clk_ctrl::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`rtc_spi_clk_ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_spi_clk_ctrl`] module"]
214pub type RTC_SPI_CLK_CTRL = crate::Reg<rtc_spi_clk_ctrl::RTC_SPI_CLK_CTRL_SPEC>;
215#[doc = "RTC SPI Clock Control Register"]
216pub mod rtc_spi_clk_ctrl;