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;