#[repr(C)] #[cfg_attr(feature = "impl-register-debug", derive(Debug))] #[doc = "Register block"] pub struct RegisterBlock { rtc_gpio_out: RTC_GPIO_OUT, rtc_gpio_out_w1ts: RTC_GPIO_OUT_W1TS, rtc_gpio_out_w1tc: RTC_GPIO_OUT_W1TC, rtc_gpio_enable: RTC_GPIO_ENABLE, rtc_gpio_enable_w1ts: RTC_GPIO_ENABLE_W1TS, enable_w1tc: ENABLE_W1TC, rtc_gpio_status: RTC_GPIO_STATUS, rtc_gpio_status_w1ts: RTC_GPIO_STATUS_W1TS, rtc_gpio_status_w1tc: RTC_GPIO_STATUS_W1TC, rtc_gpio_in: RTC_GPIO_IN, pin: [PIN; 22], rtc_debug_sel: RTC_DEBUG_SEL, touch_pad: [TOUCH_PAD; 15], xtal_32p_pad: XTAL_32P_PAD, xtal_32n_pad: XTAL_32N_PAD, pad_dac1: PAD_DAC1, pad_dac2: PAD_DAC2, rtc_pad19: RTC_PAD19, rtc_pad20: RTC_PAD20, rtc_pad21: RTC_PAD21, ext_wakeup0: EXT_WAKEUP0, xtl_ext_ctr: XTL_EXT_CTR, sar_i2c_io: SAR_I2C_IO, touch_ctrl: TOUCH_CTRL, _reserved24: [u8; 0x0110], date: DATE, } impl RegisterBlock { #[doc = "0x00 - RTC GPIO 0 ~ 21 output data register"] #[inline(always)] pub const fn rtc_gpio_out(&self) -> &RTC_GPIO_OUT { &self.rtc_gpio_out } #[doc = "0x04 - one set RTC GPIO output data"] #[inline(always)] pub const fn rtc_gpio_out_w1ts(&self) -> &RTC_GPIO_OUT_W1TS { &self.rtc_gpio_out_w1ts } #[doc = "0x08 - one clear RTC GPIO output data"] #[inline(always)] pub const fn rtc_gpio_out_w1tc(&self) -> &RTC_GPIO_OUT_W1TC { &self.rtc_gpio_out_w1tc } #[doc = "0x0c - Configure RTC GPIO output enable"] #[inline(always)] pub const fn rtc_gpio_enable(&self) -> &RTC_GPIO_ENABLE { &self.rtc_gpio_enable } #[doc = "0x10 - one set RTC GPIO output enable"] #[inline(always)] pub const fn rtc_gpio_enable_w1ts(&self) -> &RTC_GPIO_ENABLE_W1TS { &self.rtc_gpio_enable_w1ts } #[doc = "0x14 - one clear RTC GPIO output enable"] #[inline(always)] pub const fn enable_w1tc(&self) -> &ENABLE_W1TC { &self.enable_w1tc } #[doc = "0x18 - RTC GPIO 0 ~ 21 interrupt status"] #[inline(always)] pub const fn rtc_gpio_status(&self) -> &RTC_GPIO_STATUS { &self.rtc_gpio_status } #[doc = "0x1c - One set RTC GPIO 0 ~ 21 interrupt status"] #[inline(always)] pub const fn rtc_gpio_status_w1ts(&self) -> &RTC_GPIO_STATUS_W1TS { &self.rtc_gpio_status_w1ts } #[doc = "0x20 - One clear RTC GPIO 0 ~ 21 interrupt status"] #[inline(always)] pub const fn rtc_gpio_status_w1tc(&self) -> &RTC_GPIO_STATUS_W1TC { &self.rtc_gpio_status_w1tc } #[doc = "0x24 - RTC GPIO input data"] #[inline(always)] pub const fn rtc_gpio_in(&self) -> &RTC_GPIO_IN { &self.rtc_gpio_in } #[doc = "0x28..0x80 - configure RTC GPIO%s"] #[inline(always)] pub const fn pin(&self, n: usize) -> &PIN { &self.pin[n] } #[doc = "Iterator for array of:"] #[doc = "0x28..0x80 - configure RTC GPIO%s"] #[inline(always)] pub fn pin_iter(&self) -> impl Iterator { self.pin.iter() } #[doc = "0x80 - configure rtc debug"] #[inline(always)] pub const fn rtc_debug_sel(&self) -> &RTC_DEBUG_SEL { &self.rtc_debug_sel } #[doc = "0x84..0xc0 - configure RTC PAD%s"] #[inline(always)] pub const fn touch_pad(&self, n: usize) -> &TOUCH_PAD { &self.touch_pad[n] } #[doc = "Iterator for array of:"] #[doc = "0x84..0xc0 - configure RTC PAD%s"] #[inline(always)] pub fn touch_pad_iter(&self) -> impl Iterator { self.touch_pad.iter() } #[doc = "0xc0 - configure RTC PAD15"] #[inline(always)] pub const fn xtal_32p_pad(&self) -> &XTAL_32P_PAD { &self.xtal_32p_pad } #[doc = "0xc4 - configure RTC PAD16"] #[inline(always)] pub const fn xtal_32n_pad(&self) -> &XTAL_32N_PAD { &self.xtal_32n_pad } #[doc = "0xc8 - configure RTC PAD17"] #[inline(always)] pub const fn pad_dac1(&self) -> &PAD_DAC1 { &self.pad_dac1 } #[doc = "0xcc - configure RTC PAD18"] #[inline(always)] pub const fn pad_dac2(&self) -> &PAD_DAC2 { &self.pad_dac2 } #[doc = "0xd0 - configure RTC PAD19"] #[inline(always)] pub const fn rtc_pad19(&self) -> &RTC_PAD19 { &self.rtc_pad19 } #[doc = "0xd4 - configure RTC PAD20"] #[inline(always)] pub const fn rtc_pad20(&self) -> &RTC_PAD20 { &self.rtc_pad20 } #[doc = "0xd8 - configure RTC PAD21"] #[inline(always)] pub const fn rtc_pad21(&self) -> &RTC_PAD21 { &self.rtc_pad21 } #[doc = "0xdc - configure EXT0 wakeup"] #[inline(always)] pub const fn ext_wakeup0(&self) -> &EXT_WAKEUP0 { &self.ext_wakeup0 } #[doc = "0xe0 - configure gpio pd XTAL"] #[inline(always)] pub const fn xtl_ext_ctr(&self) -> &XTL_EXT_CTR { &self.xtl_ext_ctr } #[doc = "0xe4 - configure rtc i2c mux"] #[inline(always)] pub const fn sar_i2c_io(&self) -> &SAR_I2C_IO { &self.sar_i2c_io } #[doc = "0xe8 - configure touch pad bufmode"] #[inline(always)] pub const fn touch_ctrl(&self) -> &TOUCH_CTRL { &self.touch_ctrl } #[doc = "0x1fc - version"] #[inline(always)] pub const fn date(&self) -> &DATE { &self.date } } #[doc = "RTC_GPIO_OUT (rw) register accessor: RTC GPIO 0 ~ 21 output data register\n\nYou can [`read`](crate::Reg::read) this register and get [`rtc_gpio_out::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rtc_gpio_out::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_gpio_out`] module"] pub type RTC_GPIO_OUT = crate::Reg; #[doc = "RTC GPIO 0 ~ 21 output data register"] pub mod rtc_gpio_out; #[doc = "RTC_GPIO_OUT_W1TS (w) register accessor: one set RTC GPIO output data\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rtc_gpio_out_w1ts::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_gpio_out_w1ts`] module"] pub type RTC_GPIO_OUT_W1TS = crate::Reg; #[doc = "one set RTC GPIO output data"] pub mod rtc_gpio_out_w1ts; #[doc = "RTC_GPIO_OUT_W1TC (w) register accessor: one clear RTC GPIO output data\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rtc_gpio_out_w1tc::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_gpio_out_w1tc`] module"] pub type RTC_GPIO_OUT_W1TC = crate::Reg; #[doc = "one clear RTC GPIO output data"] pub mod rtc_gpio_out_w1tc; #[doc = "RTC_GPIO_ENABLE (rw) register accessor: Configure RTC GPIO output enable\n\nYou can [`read`](crate::Reg::read) this register and get [`rtc_gpio_enable::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rtc_gpio_enable::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_gpio_enable`] module"] pub type RTC_GPIO_ENABLE = crate::Reg; #[doc = "Configure RTC GPIO output enable"] pub mod rtc_gpio_enable; #[doc = "RTC_GPIO_ENABLE_W1TS (w) register accessor: one set RTC GPIO output enable\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rtc_gpio_enable_w1ts::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_gpio_enable_w1ts`] module"] pub type RTC_GPIO_ENABLE_W1TS = crate::Reg; #[doc = "one set RTC GPIO output enable"] pub mod rtc_gpio_enable_w1ts; #[doc = "ENABLE_W1TC (w) register accessor: one clear RTC GPIO output enable\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`enable_w1tc::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@enable_w1tc`] module"] pub type ENABLE_W1TC = crate::Reg; #[doc = "one clear RTC GPIO output enable"] pub mod enable_w1tc; #[doc = "RTC_GPIO_STATUS (rw) register accessor: RTC GPIO 0 ~ 21 interrupt status\n\nYou can [`read`](crate::Reg::read) this register and get [`rtc_gpio_status::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rtc_gpio_status::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_gpio_status`] module"] pub type RTC_GPIO_STATUS = crate::Reg; #[doc = "RTC GPIO 0 ~ 21 interrupt status"] pub mod rtc_gpio_status; #[doc = "RTC_GPIO_STATUS_W1TS (w) register accessor: One set RTC GPIO 0 ~ 21 interrupt status\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rtc_gpio_status_w1ts::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_gpio_status_w1ts`] module"] pub type RTC_GPIO_STATUS_W1TS = crate::Reg; #[doc = "One set RTC GPIO 0 ~ 21 interrupt status"] pub mod rtc_gpio_status_w1ts; #[doc = "RTC_GPIO_STATUS_W1TC (w) register accessor: One clear RTC GPIO 0 ~ 21 interrupt status\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rtc_gpio_status_w1tc::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_gpio_status_w1tc`] module"] pub type RTC_GPIO_STATUS_W1TC = crate::Reg; #[doc = "One clear RTC GPIO 0 ~ 21 interrupt status"] pub mod rtc_gpio_status_w1tc; #[doc = "RTC_GPIO_IN (r) register accessor: RTC GPIO input data\n\nYou can [`read`](crate::Reg::read) this register and get [`rtc_gpio_in::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_gpio_in`] module"] pub type RTC_GPIO_IN = crate::Reg; #[doc = "RTC GPIO input data"] pub mod rtc_gpio_in; #[doc = "PIN (rw) register accessor: configure RTC GPIO%s\n\nYou can [`read`](crate::Reg::read) this register and get [`pin::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pin::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pin`] module"] pub type PIN = crate::Reg; #[doc = "configure RTC GPIO%s"] pub mod pin; #[doc = "RTC_DEBUG_SEL (rw) register accessor: configure rtc debug\n\nYou can [`read`](crate::Reg::read) this register and get [`rtc_debug_sel::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rtc_debug_sel::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_debug_sel`] module"] pub type RTC_DEBUG_SEL = crate::Reg; #[doc = "configure rtc debug"] pub mod rtc_debug_sel; #[doc = "TOUCH_PAD (rw) register accessor: configure RTC PAD%s\n\nYou can [`read`](crate::Reg::read) this register and get [`touch_pad::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`touch_pad::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@touch_pad`] module"] pub type TOUCH_PAD = crate::Reg; #[doc = "configure RTC PAD%s"] pub mod touch_pad; #[doc = "XTAL_32P_PAD (rw) register accessor: configure RTC PAD15\n\nYou can [`read`](crate::Reg::read) this register and get [`xtal_32p_pad::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`xtal_32p_pad::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@xtal_32p_pad`] module"] pub type XTAL_32P_PAD = crate::Reg; #[doc = "configure RTC PAD15"] pub mod xtal_32p_pad; #[doc = "XTAL_32N_PAD (rw) register accessor: configure RTC PAD16\n\nYou can [`read`](crate::Reg::read) this register and get [`xtal_32n_pad::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`xtal_32n_pad::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@xtal_32n_pad`] module"] pub type XTAL_32N_PAD = crate::Reg; #[doc = "configure RTC PAD16"] pub mod xtal_32n_pad; #[doc = "PAD_DAC1 (rw) register accessor: configure RTC PAD17\n\nYou can [`read`](crate::Reg::read) this register and get [`pad_dac1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pad_dac1::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pad_dac1`] module"] pub type PAD_DAC1 = crate::Reg; #[doc = "configure RTC PAD17"] pub mod pad_dac1; #[doc = "PAD_DAC2 (rw) register accessor: configure RTC PAD18\n\nYou can [`read`](crate::Reg::read) this register and get [`pad_dac2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pad_dac2::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@pad_dac2`] module"] pub type PAD_DAC2 = crate::Reg; #[doc = "configure RTC PAD18"] pub mod pad_dac2; #[doc = "RTC_PAD19 (rw) register accessor: configure RTC PAD19\n\nYou can [`read`](crate::Reg::read) this register and get [`rtc_pad19::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rtc_pad19::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_pad19`] module"] pub type RTC_PAD19 = crate::Reg; #[doc = "configure RTC PAD19"] pub mod rtc_pad19; #[doc = "RTC_PAD20 (rw) register accessor: configure RTC PAD20\n\nYou can [`read`](crate::Reg::read) this register and get [`rtc_pad20::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rtc_pad20::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_pad20`] module"] pub type RTC_PAD20 = crate::Reg; #[doc = "configure RTC PAD20"] pub mod rtc_pad20; #[doc = "RTC_PAD21 (rw) register accessor: configure RTC PAD21\n\nYou can [`read`](crate::Reg::read) this register and get [`rtc_pad21::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rtc_pad21::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_pad21`] module"] pub type RTC_PAD21 = crate::Reg; #[doc = "configure RTC PAD21"] pub mod rtc_pad21; #[doc = "EXT_WAKEUP0 (rw) register accessor: configure EXT0 wakeup\n\nYou can [`read`](crate::Reg::read) this register and get [`ext_wakeup0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`ext_wakeup0::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@ext_wakeup0`] module"] pub type EXT_WAKEUP0 = crate::Reg; #[doc = "configure EXT0 wakeup"] pub mod ext_wakeup0; #[doc = "XTL_EXT_CTR (rw) register accessor: configure gpio pd XTAL\n\nYou can [`read`](crate::Reg::read) this register and get [`xtl_ext_ctr::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`xtl_ext_ctr::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@xtl_ext_ctr`] module"] pub type XTL_EXT_CTR = crate::Reg; #[doc = "configure gpio pd XTAL"] pub mod xtl_ext_ctr; #[doc = "SAR_I2C_IO (rw) register accessor: configure rtc i2c mux\n\nYou can [`read`](crate::Reg::read) this register and get [`sar_i2c_io::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sar_i2c_io::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@sar_i2c_io`] module"] pub type SAR_I2C_IO = crate::Reg; #[doc = "configure rtc i2c mux"] pub mod sar_i2c_io; #[doc = "TOUCH_CTRL (rw) register accessor: configure touch pad bufmode\n\nYou can [`read`](crate::Reg::read) this register and get [`touch_ctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`touch_ctrl::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@touch_ctrl`] module"] pub type TOUCH_CTRL = crate::Reg; #[doc = "configure touch pad bufmode"] pub mod touch_ctrl; #[doc = "DATE (rw) register accessor: version\n\nYou can [`read`](crate::Reg::read) this register and get [`date::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`date::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@date`] module"] pub type DATE = crate::Reg; #[doc = "version"] pub mod date;