esp32p4/
lp_huk.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    _reserved0: [u8; 0x04],
6    clk: CLK,
7    int_raw: INT_RAW,
8    int_st: INT_ST,
9    int_ena: INT_ENA,
10    int_clr: INT_CLR,
11    _reserved5: [u8; 0x08],
12    conf: CONF,
13    start: START,
14    state: STATE,
15    _reserved8: [u8; 0x08],
16    status: STATUS,
17    _reserved9: [u8; 0xc4],
18    date: DATE,
19    info_mem: [INFO_MEM; 96],
20}
21impl RegisterBlock {
22    #[doc = "0x04 - HUK Generator clock gate control register"]
23    #[inline(always)]
24    pub const fn clk(&self) -> &CLK {
25        &self.clk
26    }
27    #[doc = "0x08 - HUK Generator interrupt raw register, valid in level."]
28    #[inline(always)]
29    pub const fn int_raw(&self) -> &INT_RAW {
30        &self.int_raw
31    }
32    #[doc = "0x0c - HUK Generator interrupt status register."]
33    #[inline(always)]
34    pub const fn int_st(&self) -> &INT_ST {
35        &self.int_st
36    }
37    #[doc = "0x10 - HUK Generator interrupt enable register."]
38    #[inline(always)]
39    pub const fn int_ena(&self) -> &INT_ENA {
40        &self.int_ena
41    }
42    #[doc = "0x14 - HUK Generator interrupt clear register."]
43    #[inline(always)]
44    pub const fn int_clr(&self) -> &INT_CLR {
45        &self.int_clr
46    }
47    #[doc = "0x20 - HUK Generator configuration register"]
48    #[inline(always)]
49    pub const fn conf(&self) -> &CONF {
50        &self.conf
51    }
52    #[doc = "0x24 - HUK Generator control register"]
53    #[inline(always)]
54    pub const fn start(&self) -> &START {
55        &self.start
56    }
57    #[doc = "0x28 - HUK Generator state register"]
58    #[inline(always)]
59    pub const fn state(&self) -> &STATE {
60        &self.state
61    }
62    #[doc = "0x34 - HUK Generator HUK status register"]
63    #[inline(always)]
64    pub const fn status(&self) -> &STATUS {
65        &self.status
66    }
67    #[doc = "0xfc - Version control register"]
68    #[inline(always)]
69    pub const fn date(&self) -> &DATE {
70        &self.date
71    }
72    #[doc = "0x100..0x280 - The memory that stores HUK info."]
73    #[inline(always)]
74    pub const fn info_mem(&self, n: usize) -> &INFO_MEM {
75        &self.info_mem[n]
76    }
77    #[doc = "Iterator for array of:"]
78    #[doc = "0x100..0x280 - The memory that stores HUK info."]
79    #[inline(always)]
80    pub fn info_mem_iter(&self) -> impl Iterator<Item = &INFO_MEM> {
81        self.info_mem.iter()
82    }
83}
84#[doc = "CLK (rw) register accessor: HUK Generator clock gate control register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`clk::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 [`clk::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@clk`] module"]
85pub type CLK = crate::Reg<clk::CLK_SPEC>;
86#[doc = "HUK Generator clock gate control register"]
87pub mod clk;
88#[doc = "INT_RAW (r) register accessor: HUK Generator interrupt raw register, valid in level.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`int_raw::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_raw`] module"]
89pub type INT_RAW = crate::Reg<int_raw::INT_RAW_SPEC>;
90#[doc = "HUK Generator interrupt raw register, valid in level."]
91pub mod int_raw;
92#[doc = "INT_ST (r) register accessor: HUK Generator interrupt status register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`int_st::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_st`] module"]
93pub type INT_ST = crate::Reg<int_st::INT_ST_SPEC>;
94#[doc = "HUK Generator interrupt status register."]
95pub mod int_st;
96#[doc = "INT_ENA (rw) register accessor: HUK Generator interrupt enable register.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`int_ena::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 [`int_ena::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@int_ena`] module"]
97pub type INT_ENA = crate::Reg<int_ena::INT_ENA_SPEC>;
98#[doc = "HUK Generator interrupt enable register."]
99pub mod int_ena;
100#[doc = "INT_CLR (w) register accessor: HUK Generator interrupt clear register.\n\nYou can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`int_clr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_clr`] module"]
101pub type INT_CLR = crate::Reg<int_clr::INT_CLR_SPEC>;
102#[doc = "HUK Generator interrupt clear register."]
103pub mod int_clr;
104#[doc = "CONF (rw) register accessor: HUK Generator configuration register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`conf::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 [`conf::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@conf`] module"]
105pub type CONF = crate::Reg<conf::CONF_SPEC>;
106#[doc = "HUK Generator configuration register"]
107pub mod conf;
108#[doc = "START (w) register accessor: HUK Generator control register\n\nYou can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`start::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@start`] module"]
109pub type START = crate::Reg<start::START_SPEC>;
110#[doc = "HUK Generator control register"]
111pub mod start;
112#[doc = "STATE (r) register accessor: HUK Generator state register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`state::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@state`] module"]
113pub type STATE = crate::Reg<state::STATE_SPEC>;
114#[doc = "HUK Generator state register"]
115pub mod state;
116#[doc = "STATUS (r) register accessor: HUK Generator HUK status register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`status::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@status`] module"]
117pub type STATUS = crate::Reg<status::STATUS_SPEC>;
118#[doc = "HUK Generator HUK status register"]
119pub mod status;
120#[doc = "DATE (rw) register accessor: Version control register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`date::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 [`date::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@date`] module"]
121pub type DATE = crate::Reg<date::DATE_SPEC>;
122#[doc = "Version control register"]
123pub mod date;
124#[doc = "INFO_MEM (rw) register accessor: The memory that stores HUK info.\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`info_mem::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 [`info_mem::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@info_mem`] module"]
125pub type INFO_MEM = crate::Reg<info_mem::INFO_MEM_SPEC>;
126#[doc = "The memory that stores HUK info."]
127pub mod info_mem;