d1_pac/
twi.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    twi_addr: TWI_ADDR,
5    twi_xaddr: TWI_XADDR,
6    twi_data: TWI_DATA,
7    twi_cntr: TWI_CNTR,
8    twi_stat: TWI_STAT,
9    twi_ccr: TWI_CCR,
10    twi_srst: TWI_SRST,
11    twi_efr: TWI_EFR,
12    twi_lcr: TWI_LCR,
13    _reserved9: [u8; 0x01dc],
14    twi_drv_ctrl: TWI_DRV_CTRL,
15    twi_drv_cfg: TWI_DRV_CFG,
16    twi_drv_slv: TWI_DRV_SLV,
17    twi_drv_fmt: TWI_DRV_FMT,
18    twi_drv_bus_ctrl: TWI_DRV_BUS_CTRL,
19    twi_drv_int_ctrl: TWI_DRV_INT_CTRL,
20    twi_drv_dma_cfg: TWI_DRV_DMA_CFG,
21    twi_drv_fifo_con: TWI_DRV_FIFO_CON,
22    _reserved17: [u8; 0xe0],
23    twi_drv_send_fifo_acc: TWI_DRV_SEND_FIFO_ACC,
24    twi_drv_recv_fifo_acc: TWI_DRV_RECV_FIFO_ACC,
25}
26impl RegisterBlock {
27    #[doc = "0x00 - TWI Slave Address Register"]
28    #[inline(always)]
29    pub const fn twi_addr(&self) -> &TWI_ADDR {
30        &self.twi_addr
31    }
32    #[doc = "0x04 - TWI Extended Slave Address Register"]
33    #[inline(always)]
34    pub const fn twi_xaddr(&self) -> &TWI_XADDR {
35        &self.twi_xaddr
36    }
37    #[doc = "0x08 - TWI Data Byte Register"]
38    #[inline(always)]
39    pub const fn twi_data(&self) -> &TWI_DATA {
40        &self.twi_data
41    }
42    #[doc = "0x0c - TWI Control Register"]
43    #[inline(always)]
44    pub const fn twi_cntr(&self) -> &TWI_CNTR {
45        &self.twi_cntr
46    }
47    #[doc = "0x10 - TWI Status Register"]
48    #[inline(always)]
49    pub const fn twi_stat(&self) -> &TWI_STAT {
50        &self.twi_stat
51    }
52    #[doc = "0x14 - TWI Clock Control Register"]
53    #[inline(always)]
54    pub const fn twi_ccr(&self) -> &TWI_CCR {
55        &self.twi_ccr
56    }
57    #[doc = "0x18 - TWI Software Reset Register"]
58    #[inline(always)]
59    pub const fn twi_srst(&self) -> &TWI_SRST {
60        &self.twi_srst
61    }
62    #[doc = "0x1c - TWI Enhance Feature Register"]
63    #[inline(always)]
64    pub const fn twi_efr(&self) -> &TWI_EFR {
65        &self.twi_efr
66    }
67    #[doc = "0x20 - TWI Line Control Register"]
68    #[inline(always)]
69    pub const fn twi_lcr(&self) -> &TWI_LCR {
70        &self.twi_lcr
71    }
72    #[doc = "0x200 - TWI_DRV Control Register"]
73    #[inline(always)]
74    pub const fn twi_drv_ctrl(&self) -> &TWI_DRV_CTRL {
75        &self.twi_drv_ctrl
76    }
77    #[doc = "0x204 - TWI_DRV Transmission Configuration Register"]
78    #[inline(always)]
79    pub const fn twi_drv_cfg(&self) -> &TWI_DRV_CFG {
80        &self.twi_drv_cfg
81    }
82    #[doc = "0x208 - TWI_DRV Slave ID Register"]
83    #[inline(always)]
84    pub const fn twi_drv_slv(&self) -> &TWI_DRV_SLV {
85        &self.twi_drv_slv
86    }
87    #[doc = "0x20c - TWI_DRV Packet Format Register"]
88    #[inline(always)]
89    pub const fn twi_drv_fmt(&self) -> &TWI_DRV_FMT {
90        &self.twi_drv_fmt
91    }
92    #[doc = "0x210 - TWI_DRV Bus Control Register"]
93    #[inline(always)]
94    pub const fn twi_drv_bus_ctrl(&self) -> &TWI_DRV_BUS_CTRL {
95        &self.twi_drv_bus_ctrl
96    }
97    #[doc = "0x214 - TWI_DRV Interrupt Control Register"]
98    #[inline(always)]
99    pub const fn twi_drv_int_ctrl(&self) -> &TWI_DRV_INT_CTRL {
100        &self.twi_drv_int_ctrl
101    }
102    #[doc = "0x218 - TWI_DRV DMA Configure Register"]
103    #[inline(always)]
104    pub const fn twi_drv_dma_cfg(&self) -> &TWI_DRV_DMA_CFG {
105        &self.twi_drv_dma_cfg
106    }
107    #[doc = "0x21c - TWI_DRV FIFO Content Register"]
108    #[inline(always)]
109    pub const fn twi_drv_fifo_con(&self) -> &TWI_DRV_FIFO_CON {
110        &self.twi_drv_fifo_con
111    }
112    #[doc = "0x300 - TWI_DRV Send Data FIFO Access Register"]
113    #[inline(always)]
114    pub const fn twi_drv_send_fifo_acc(&self) -> &TWI_DRV_SEND_FIFO_ACC {
115        &self.twi_drv_send_fifo_acc
116    }
117    #[doc = "0x304 - TWI_DRV Receive Data FIFO Access Register"]
118    #[inline(always)]
119    pub const fn twi_drv_recv_fifo_acc(&self) -> &TWI_DRV_RECV_FIFO_ACC {
120        &self.twi_drv_recv_fifo_acc
121    }
122}
123#[doc = "twi_addr (rw) register accessor: TWI Slave Address Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_addr::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 [`twi_addr::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@twi_addr`] module"]
124pub type TWI_ADDR = crate::Reg<twi_addr::TWI_ADDR_SPEC>;
125#[doc = "TWI Slave Address Register"]
126pub mod twi_addr;
127#[doc = "twi_xaddr (rw) register accessor: TWI Extended Slave Address Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_xaddr::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 [`twi_xaddr::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@twi_xaddr`] module"]
128pub type TWI_XADDR = crate::Reg<twi_xaddr::TWI_XADDR_SPEC>;
129#[doc = "TWI Extended Slave Address Register"]
130pub mod twi_xaddr;
131#[doc = "twi_data (rw) register accessor: TWI Data Byte Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_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 [`twi_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@twi_data`] module"]
132pub type TWI_DATA = crate::Reg<twi_data::TWI_DATA_SPEC>;
133#[doc = "TWI Data Byte Register"]
134pub mod twi_data;
135#[doc = "twi_cntr (rw) register accessor: TWI Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_cntr::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 [`twi_cntr::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@twi_cntr`] module"]
136pub type TWI_CNTR = crate::Reg<twi_cntr::TWI_CNTR_SPEC>;
137#[doc = "TWI Control Register"]
138pub mod twi_cntr;
139#[doc = "twi_stat (r) register accessor: TWI Status Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_stat::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@twi_stat`] module"]
140pub type TWI_STAT = crate::Reg<twi_stat::TWI_STAT_SPEC>;
141#[doc = "TWI Status Register"]
142pub mod twi_stat;
143#[doc = "twi_ccr (rw) register accessor: TWI Clock Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_ccr::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 [`twi_ccr::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@twi_ccr`] module"]
144pub type TWI_CCR = crate::Reg<twi_ccr::TWI_CCR_SPEC>;
145#[doc = "TWI Clock Control Register"]
146pub mod twi_ccr;
147#[doc = "twi_srst (rw) register accessor: TWI Software Reset Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_srst::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 [`twi_srst::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@twi_srst`] module"]
148pub type TWI_SRST = crate::Reg<twi_srst::TWI_SRST_SPEC>;
149#[doc = "TWI Software Reset Register"]
150pub mod twi_srst;
151#[doc = "twi_efr (rw) register accessor: TWI Enhance Feature Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_efr::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 [`twi_efr::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@twi_efr`] module"]
152pub type TWI_EFR = crate::Reg<twi_efr::TWI_EFR_SPEC>;
153#[doc = "TWI Enhance Feature Register"]
154pub mod twi_efr;
155#[doc = "twi_lcr (rw) register accessor: TWI Line Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_lcr::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 [`twi_lcr::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@twi_lcr`] module"]
156pub type TWI_LCR = crate::Reg<twi_lcr::TWI_LCR_SPEC>;
157#[doc = "TWI Line Control Register"]
158pub mod twi_lcr;
159#[doc = "twi_drv_ctrl (rw) register accessor: TWI_DRV Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_drv_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 [`twi_drv_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@twi_drv_ctrl`] module"]
160pub type TWI_DRV_CTRL = crate::Reg<twi_drv_ctrl::TWI_DRV_CTRL_SPEC>;
161#[doc = "TWI_DRV Control Register"]
162pub mod twi_drv_ctrl;
163#[doc = "twi_drv_cfg (rw) register accessor: TWI_DRV Transmission Configuration Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_drv_cfg::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 [`twi_drv_cfg::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@twi_drv_cfg`] module"]
164pub type TWI_DRV_CFG = crate::Reg<twi_drv_cfg::TWI_DRV_CFG_SPEC>;
165#[doc = "TWI_DRV Transmission Configuration Register"]
166pub mod twi_drv_cfg;
167#[doc = "twi_drv_slv (rw) register accessor: TWI_DRV Slave ID Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_drv_slv::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 [`twi_drv_slv::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@twi_drv_slv`] module"]
168pub type TWI_DRV_SLV = crate::Reg<twi_drv_slv::TWI_DRV_SLV_SPEC>;
169#[doc = "TWI_DRV Slave ID Register"]
170pub mod twi_drv_slv;
171#[doc = "twi_drv_fmt (rw) register accessor: TWI_DRV Packet Format Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_drv_fmt::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 [`twi_drv_fmt::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@twi_drv_fmt`] module"]
172pub type TWI_DRV_FMT = crate::Reg<twi_drv_fmt::TWI_DRV_FMT_SPEC>;
173#[doc = "TWI_DRV Packet Format Register"]
174pub mod twi_drv_fmt;
175#[doc = "twi_drv_bus_ctrl (rw) register accessor: TWI_DRV Bus Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_drv_bus_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 [`twi_drv_bus_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@twi_drv_bus_ctrl`] module"]
176pub type TWI_DRV_BUS_CTRL = crate::Reg<twi_drv_bus_ctrl::TWI_DRV_BUS_CTRL_SPEC>;
177#[doc = "TWI_DRV Bus Control Register"]
178pub mod twi_drv_bus_ctrl;
179#[doc = "twi_drv_int_ctrl (rw) register accessor: TWI_DRV Interrupt Control Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_drv_int_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 [`twi_drv_int_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@twi_drv_int_ctrl`] module"]
180pub type TWI_DRV_INT_CTRL = crate::Reg<twi_drv_int_ctrl::TWI_DRV_INT_CTRL_SPEC>;
181#[doc = "TWI_DRV Interrupt Control Register"]
182pub mod twi_drv_int_ctrl;
183#[doc = "twi_drv_dma_cfg (rw) register accessor: TWI_DRV DMA Configure Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_drv_dma_cfg::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 [`twi_drv_dma_cfg::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@twi_drv_dma_cfg`] module"]
184pub type TWI_DRV_DMA_CFG = crate::Reg<twi_drv_dma_cfg::TWI_DRV_DMA_CFG_SPEC>;
185#[doc = "TWI_DRV DMA Configure Register"]
186pub mod twi_drv_dma_cfg;
187#[doc = "twi_drv_fifo_con (rw) register accessor: TWI_DRV FIFO Content Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_drv_fifo_con::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 [`twi_drv_fifo_con::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@twi_drv_fifo_con`] module"]
188pub type TWI_DRV_FIFO_CON = crate::Reg<twi_drv_fifo_con::TWI_DRV_FIFO_CON_SPEC>;
189#[doc = "TWI_DRV FIFO Content Register"]
190pub mod twi_drv_fifo_con;
191#[doc = "twi_drv_send_fifo_acc (w) register accessor: TWI_DRV Send Data FIFO Access 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 [`twi_drv_send_fifo_acc::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@twi_drv_send_fifo_acc`] module"]
192pub type TWI_DRV_SEND_FIFO_ACC = crate::Reg<twi_drv_send_fifo_acc::TWI_DRV_SEND_FIFO_ACC_SPEC>;
193#[doc = "TWI_DRV Send Data FIFO Access Register"]
194pub mod twi_drv_send_fifo_acc;
195#[doc = "twi_drv_recv_fifo_acc (r) register accessor: TWI_DRV Receive Data FIFO Access Register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`twi_drv_recv_fifo_acc::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@twi_drv_recv_fifo_acc`] module"]
196pub type TWI_DRV_RECV_FIFO_ACC = crate::Reg<twi_drv_recv_fifo_acc::TWI_DRV_RECV_FIFO_ACC_SPEC>;
197#[doc = "TWI_DRV Receive Data FIFO Access Register"]
198pub mod twi_drv_recv_fifo_acc;