esp32p4/
bitscrambler.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    tx_inst_cfg0: TX_INST_CFG0,
6    tx_inst_cfg1: TX_INST_CFG1,
7    rx_inst_cfg0: RX_INST_CFG0,
8    rx_inst_cfg1: RX_INST_CFG1,
9    tx_lut_cfg0: TX_LUT_CFG0,
10    tx_lut_cfg1: TX_LUT_CFG1,
11    rx_lut_cfg0: RX_LUT_CFG0,
12    rx_lut_cfg1: RX_LUT_CFG1,
13    tx_tailing_bits: TX_TAILING_BITS,
14    rx_tailing_bits: RX_TAILING_BITS,
15    tx_ctrl: TX_CTRL,
16    rx_ctrl: RX_CTRL,
17    tx_state: TX_STATE,
18    rx_state: RX_STATE,
19    _reserved14: [u8; 0xc0],
20    sys: SYS,
21    version: VERSION,
22}
23impl RegisterBlock {
24    #[doc = "0x00 - Control and configuration registers"]
25    #[inline(always)]
26    pub const fn tx_inst_cfg0(&self) -> &TX_INST_CFG0 {
27        &self.tx_inst_cfg0
28    }
29    #[doc = "0x04 - Control and configuration registers"]
30    #[inline(always)]
31    pub const fn tx_inst_cfg1(&self) -> &TX_INST_CFG1 {
32        &self.tx_inst_cfg1
33    }
34    #[doc = "0x08 - Control and configuration registers"]
35    #[inline(always)]
36    pub const fn rx_inst_cfg0(&self) -> &RX_INST_CFG0 {
37        &self.rx_inst_cfg0
38    }
39    #[doc = "0x0c - Control and configuration registers"]
40    #[inline(always)]
41    pub const fn rx_inst_cfg1(&self) -> &RX_INST_CFG1 {
42        &self.rx_inst_cfg1
43    }
44    #[doc = "0x10 - Control and configuration registers"]
45    #[inline(always)]
46    pub const fn tx_lut_cfg0(&self) -> &TX_LUT_CFG0 {
47        &self.tx_lut_cfg0
48    }
49    #[doc = "0x14 - Control and configuration registers"]
50    #[inline(always)]
51    pub const fn tx_lut_cfg1(&self) -> &TX_LUT_CFG1 {
52        &self.tx_lut_cfg1
53    }
54    #[doc = "0x18 - Control and configuration registers"]
55    #[inline(always)]
56    pub const fn rx_lut_cfg0(&self) -> &RX_LUT_CFG0 {
57        &self.rx_lut_cfg0
58    }
59    #[doc = "0x1c - Control and configuration registers"]
60    #[inline(always)]
61    pub const fn rx_lut_cfg1(&self) -> &RX_LUT_CFG1 {
62        &self.rx_lut_cfg1
63    }
64    #[doc = "0x20 - Control and configuration registers"]
65    #[inline(always)]
66    pub const fn tx_tailing_bits(&self) -> &TX_TAILING_BITS {
67        &self.tx_tailing_bits
68    }
69    #[doc = "0x24 - Control and configuration registers"]
70    #[inline(always)]
71    pub const fn rx_tailing_bits(&self) -> &RX_TAILING_BITS {
72        &self.rx_tailing_bits
73    }
74    #[doc = "0x28 - Control and configuration registers"]
75    #[inline(always)]
76    pub const fn tx_ctrl(&self) -> &TX_CTRL {
77        &self.tx_ctrl
78    }
79    #[doc = "0x2c - Control and configuration registers"]
80    #[inline(always)]
81    pub const fn rx_ctrl(&self) -> &RX_CTRL {
82        &self.rx_ctrl
83    }
84    #[doc = "0x30 - Status registers"]
85    #[inline(always)]
86    pub const fn tx_state(&self) -> &TX_STATE {
87        &self.tx_state
88    }
89    #[doc = "0x34 - Status registers"]
90    #[inline(always)]
91    pub const fn rx_state(&self) -> &RX_STATE {
92        &self.rx_state
93    }
94    #[doc = "0xf8 - Control and configuration registers"]
95    #[inline(always)]
96    pub const fn sys(&self) -> &SYS {
97        &self.sys
98    }
99    #[doc = "0xfc - Control and configuration registers"]
100    #[inline(always)]
101    pub const fn version(&self) -> &VERSION {
102        &self.version
103    }
104}
105#[doc = "TX_INST_CFG0 (rw) register accessor: Control and configuration registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tx_inst_cfg0::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 [`tx_inst_cfg0::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@tx_inst_cfg0`] module"]
106pub type TX_INST_CFG0 = crate::Reg<tx_inst_cfg0::TX_INST_CFG0_SPEC>;
107#[doc = "Control and configuration registers"]
108pub mod tx_inst_cfg0;
109#[doc = "TX_INST_CFG1 (rw) register accessor: Control and configuration registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tx_inst_cfg1::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 [`tx_inst_cfg1::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@tx_inst_cfg1`] module"]
110pub type TX_INST_CFG1 = crate::Reg<tx_inst_cfg1::TX_INST_CFG1_SPEC>;
111#[doc = "Control and configuration registers"]
112pub mod tx_inst_cfg1;
113#[doc = "RX_INST_CFG0 (rw) register accessor: Control and configuration registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rx_inst_cfg0::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 [`rx_inst_cfg0::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@rx_inst_cfg0`] module"]
114pub type RX_INST_CFG0 = crate::Reg<rx_inst_cfg0::RX_INST_CFG0_SPEC>;
115#[doc = "Control and configuration registers"]
116pub mod rx_inst_cfg0;
117#[doc = "RX_INST_CFG1 (rw) register accessor: Control and configuration registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rx_inst_cfg1::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 [`rx_inst_cfg1::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@rx_inst_cfg1`] module"]
118pub type RX_INST_CFG1 = crate::Reg<rx_inst_cfg1::RX_INST_CFG1_SPEC>;
119#[doc = "Control and configuration registers"]
120pub mod rx_inst_cfg1;
121#[doc = "TX_LUT_CFG0 (rw) register accessor: Control and configuration registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tx_lut_cfg0::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 [`tx_lut_cfg0::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@tx_lut_cfg0`] module"]
122pub type TX_LUT_CFG0 = crate::Reg<tx_lut_cfg0::TX_LUT_CFG0_SPEC>;
123#[doc = "Control and configuration registers"]
124pub mod tx_lut_cfg0;
125#[doc = "TX_LUT_CFG1 (rw) register accessor: Control and configuration registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tx_lut_cfg1::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 [`tx_lut_cfg1::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@tx_lut_cfg1`] module"]
126pub type TX_LUT_CFG1 = crate::Reg<tx_lut_cfg1::TX_LUT_CFG1_SPEC>;
127#[doc = "Control and configuration registers"]
128pub mod tx_lut_cfg1;
129#[doc = "RX_LUT_CFG0 (rw) register accessor: Control and configuration registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rx_lut_cfg0::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 [`rx_lut_cfg0::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@rx_lut_cfg0`] module"]
130pub type RX_LUT_CFG0 = crate::Reg<rx_lut_cfg0::RX_LUT_CFG0_SPEC>;
131#[doc = "Control and configuration registers"]
132pub mod rx_lut_cfg0;
133#[doc = "RX_LUT_CFG1 (rw) register accessor: Control and configuration registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rx_lut_cfg1::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 [`rx_lut_cfg1::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@rx_lut_cfg1`] module"]
134pub type RX_LUT_CFG1 = crate::Reg<rx_lut_cfg1::RX_LUT_CFG1_SPEC>;
135#[doc = "Control and configuration registers"]
136pub mod rx_lut_cfg1;
137#[doc = "TX_TAILING_BITS (rw) register accessor: Control and configuration registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tx_tailing_bits::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 [`tx_tailing_bits::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@tx_tailing_bits`] module"]
138pub type TX_TAILING_BITS = crate::Reg<tx_tailing_bits::TX_TAILING_BITS_SPEC>;
139#[doc = "Control and configuration registers"]
140pub mod tx_tailing_bits;
141#[doc = "RX_TAILING_BITS (rw) register accessor: Control and configuration registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rx_tailing_bits::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 [`rx_tailing_bits::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@rx_tailing_bits`] module"]
142pub type RX_TAILING_BITS = crate::Reg<rx_tailing_bits::RX_TAILING_BITS_SPEC>;
143#[doc = "Control and configuration registers"]
144pub mod rx_tailing_bits;
145#[doc = "TX_CTRL (rw) register accessor: Control and configuration registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tx_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 [`tx_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@tx_ctrl`] module"]
146pub type TX_CTRL = crate::Reg<tx_ctrl::TX_CTRL_SPEC>;
147#[doc = "Control and configuration registers"]
148pub mod tx_ctrl;
149#[doc = "RX_CTRL (rw) register accessor: Control and configuration registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rx_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 [`rx_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@rx_ctrl`] module"]
150pub type RX_CTRL = crate::Reg<rx_ctrl::RX_CTRL_SPEC>;
151#[doc = "Control and configuration registers"]
152pub mod rx_ctrl;
153#[doc = "TX_STATE (rw) register accessor: Status registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`tx_state::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 [`tx_state::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@tx_state`] module"]
154pub type TX_STATE = crate::Reg<tx_state::TX_STATE_SPEC>;
155#[doc = "Status registers"]
156pub mod tx_state;
157#[doc = "RX_STATE (rw) register accessor: Status registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rx_state::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 [`rx_state::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@rx_state`] module"]
158pub type RX_STATE = crate::Reg<rx_state::RX_STATE_SPEC>;
159#[doc = "Status registers"]
160pub mod rx_state;
161#[doc = "SYS (rw) register accessor: Control and configuration registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`sys::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 [`sys::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@sys`] module"]
162pub type SYS = crate::Reg<sys::SYS_SPEC>;
163#[doc = "Control and configuration registers"]
164pub mod sys;
165#[doc = "VERSION (rw) register accessor: Control and configuration registers\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`version::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 [`version::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@version`] module"]
166pub type VERSION = crate::Reg<version::VERSION_SPEC>;
167#[doc = "Control and configuration registers"]
168pub mod version;