bl61x_pac/
uart.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    transmit_config: TRANSMIT_CONFIG,
5    receive_config: RECEIVE_CONFIG,
6    bit_period: BIT_PERIOD,
7    data_config: DATA_CONFIG,
8    transmit_position: TRANSMIT_POSITION,
9    receive_position: RECEIVE_POSITION,
10    receive_timeout: RECEIVE_TIMEOUT,
11    signal_override: SIGNAL_OVERRIDE,
12    interrupt_state: INTERRUPT_STATE,
13    interrupt_mask: INTERRUPT_MASK,
14    interrupt_clear: INTERRUPT_CLEAR,
15    interrupt_enable: INTERRUPT_ENABLE,
16    bus_state: BUS_STATE,
17    auto_baudrate: AUTO_BAUDRATE,
18    _reserved14: [u8; 0x10],
19    pulse_tolerance: PULSE_TOLERANCE,
20    _reserved15: [u8; 0x08],
21    rs485_transmit: RS485_TRANSMIT,
22    _reserved16: [u8; 0x28],
23    fifo_config_0: FIFO_CONFIG_0,
24    fifo_config_1: FIFO_CONFIG_1,
25    data_write: DATA_WRITE,
26    data_read: DATA_READ,
27}
28impl RegisterBlock {
29    #[doc = "0x00 - Transmit configuration register"]
30    #[inline(always)]
31    pub const fn transmit_config(&self) -> &TRANSMIT_CONFIG {
32        &self.transmit_config
33    }
34    #[doc = "0x04 - Receive configuration register"]
35    #[inline(always)]
36    pub const fn receive_config(&self) -> &RECEIVE_CONFIG {
37        &self.receive_config
38    }
39    #[doc = "0x08 - Bit period control register"]
40    #[inline(always)]
41    pub const fn bit_period(&self) -> &BIT_PERIOD {
42        &self.bit_period
43    }
44    #[doc = "0x0c - Data configuration register"]
45    #[inline(always)]
46    pub const fn data_config(&self) -> &DATA_CONFIG {
47        &self.data_config
48    }
49    #[doc = "0x10 - IR-mode transmit position control"]
50    #[inline(always)]
51    pub const fn transmit_position(&self) -> &TRANSMIT_POSITION {
52        &self.transmit_position
53    }
54    #[doc = "0x14 - IR-mode receive position control"]
55    #[inline(always)]
56    pub const fn receive_position(&self) -> &RECEIVE_POSITION {
57        &self.receive_position
58    }
59    #[doc = "0x18 - Receive Time-Out interrupt control"]
60    #[inline(always)]
61    pub const fn receive_timeout(&self) -> &RECEIVE_TIMEOUT {
62        &self.receive_timeout
63    }
64    #[doc = "0x1c - Manual override of flow control signal"]
65    #[inline(always)]
66    pub const fn signal_override(&self) -> &SIGNAL_OVERRIDE {
67        &self.signal_override
68    }
69    #[doc = "0x20 - Interrupt state register"]
70    #[inline(always)]
71    pub const fn interrupt_state(&self) -> &INTERRUPT_STATE {
72        &self.interrupt_state
73    }
74    #[doc = "0x24 - Interrupt mask register"]
75    #[inline(always)]
76    pub const fn interrupt_mask(&self) -> &INTERRUPT_MASK {
77        &self.interrupt_mask
78    }
79    #[doc = "0x28 - Clear interrupt register"]
80    #[inline(always)]
81    pub const fn interrupt_clear(&self) -> &INTERRUPT_CLEAR {
82        &self.interrupt_clear
83    }
84    #[doc = "0x2c - Interrupt enable register"]
85    #[inline(always)]
86    pub const fn interrupt_enable(&self) -> &INTERRUPT_ENABLE {
87        &self.interrupt_enable
88    }
89    #[doc = "0x30 - Bus state register"]
90    #[inline(always)]
91    pub const fn bus_state(&self) -> &BUS_STATE {
92        &self.bus_state
93    }
94    #[doc = "0x34 - Auto baudrate detection register"]
95    #[inline(always)]
96    pub const fn auto_baudrate(&self) -> &AUTO_BAUDRATE {
97        &self.auto_baudrate
98    }
99    #[doc = "0x48 - Pulse width tolerance for auto baudrate"]
100    #[inline(always)]
101    pub const fn pulse_tolerance(&self) -> &PULSE_TOLERANCE {
102        &self.pulse_tolerance
103    }
104    #[doc = "0x54 - RS-485 mode transmit configuration"]
105    #[inline(always)]
106    pub const fn rs485_transmit(&self) -> &RS485_TRANSMIT {
107        &self.rs485_transmit
108    }
109    #[doc = "0x80 - FIFO configuration register 0"]
110    #[inline(always)]
111    pub const fn fifo_config_0(&self) -> &FIFO_CONFIG_0 {
112        &self.fifo_config_0
113    }
114    #[doc = "0x84 - FIFO configuration register 1"]
115    #[inline(always)]
116    pub const fn fifo_config_1(&self) -> &FIFO_CONFIG_1 {
117        &self.fifo_config_1
118    }
119    #[doc = "0x88 - FIFO write data register"]
120    #[inline(always)]
121    pub const fn data_write(&self) -> &DATA_WRITE {
122        &self.data_write
123    }
124    #[doc = "0x8c - FIFO read data register"]
125    #[inline(always)]
126    pub const fn data_read(&self) -> &DATA_READ {
127        &self.data_read
128    }
129}
130#[doc = "transmit_config (rw) register accessor: Transmit configuration register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`transmit_config::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 [`transmit_config::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@transmit_config`]
131module"]
132pub type TRANSMIT_CONFIG = crate::Reg<transmit_config::TRANSMIT_CONFIG_SPEC>;
133#[doc = "Transmit configuration register"]
134pub mod transmit_config;
135#[doc = "receive_config (rw) register accessor: Receive configuration register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`receive_config::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 [`receive_config::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@receive_config`]
136module"]
137pub type RECEIVE_CONFIG = crate::Reg<receive_config::RECEIVE_CONFIG_SPEC>;
138#[doc = "Receive configuration register"]
139pub mod receive_config;
140#[doc = "bit_period (rw) register accessor: Bit period control register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`bit_period::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 [`bit_period::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@bit_period`]
141module"]
142pub type BIT_PERIOD = crate::Reg<bit_period::BIT_PERIOD_SPEC>;
143#[doc = "Bit period control register"]
144pub mod bit_period;
145#[doc = "data_config (rw) register accessor: Data configuration register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data_config::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 [`data_config::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@data_config`]
146module"]
147pub type DATA_CONFIG = crate::Reg<data_config::DATA_CONFIG_SPEC>;
148#[doc = "Data configuration register"]
149pub mod data_config;
150#[doc = "transmit_position (rw) register accessor: IR-mode transmit position control\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`transmit_position::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 [`transmit_position::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@transmit_position`]
151module"]
152pub type TRANSMIT_POSITION = crate::Reg<transmit_position::TRANSMIT_POSITION_SPEC>;
153#[doc = "IR-mode transmit position control"]
154pub mod transmit_position;
155#[doc = "receive_position (rw) register accessor: IR-mode receive position control\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`receive_position::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 [`receive_position::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@receive_position`]
156module"]
157pub type RECEIVE_POSITION = crate::Reg<receive_position::RECEIVE_POSITION_SPEC>;
158#[doc = "IR-mode receive position control"]
159pub mod receive_position;
160#[doc = "receive_timeout (rw) register accessor: Receive Time-Out interrupt control\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`receive_timeout::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 [`receive_timeout::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@receive_timeout`]
161module"]
162pub type RECEIVE_TIMEOUT = crate::Reg<receive_timeout::RECEIVE_TIMEOUT_SPEC>;
163#[doc = "Receive Time-Out interrupt control"]
164pub mod receive_timeout;
165#[doc = "signal_override (rw) register accessor: Manual override of flow control signal\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`signal_override::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 [`signal_override::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@signal_override`]
166module"]
167pub type SIGNAL_OVERRIDE = crate::Reg<signal_override::SIGNAL_OVERRIDE_SPEC>;
168#[doc = "Manual override of flow control signal"]
169pub mod signal_override;
170#[doc = "interrupt_state (r) register accessor: Interrupt state register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`interrupt_state::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@interrupt_state`]
171module"]
172pub type INTERRUPT_STATE = crate::Reg<interrupt_state::INTERRUPT_STATE_SPEC>;
173#[doc = "Interrupt state register"]
174pub mod interrupt_state;
175#[doc = "interrupt_mask (rw) register accessor: Interrupt mask register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`interrupt_mask::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 [`interrupt_mask::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@interrupt_mask`]
176module"]
177pub type INTERRUPT_MASK = crate::Reg<interrupt_mask::INTERRUPT_MASK_SPEC>;
178#[doc = "Interrupt mask register"]
179pub mod interrupt_mask;
180#[doc = "interrupt_clear (w) register accessor: Clear interrupt 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 [`interrupt_clear::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@interrupt_clear`]
181module"]
182pub type INTERRUPT_CLEAR = crate::Reg<interrupt_clear::INTERRUPT_CLEAR_SPEC>;
183#[doc = "Clear interrupt register"]
184pub mod interrupt_clear;
185#[doc = "interrupt_enable (rw) register accessor: Interrupt enable register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`interrupt_enable::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 [`interrupt_enable::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@interrupt_enable`]
186module"]
187pub type INTERRUPT_ENABLE = crate::Reg<interrupt_enable::INTERRUPT_ENABLE_SPEC>;
188#[doc = "Interrupt enable register"]
189pub mod interrupt_enable;
190#[doc = "bus_state (r) register accessor: Bus state register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`bus_state::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@bus_state`]
191module"]
192pub type BUS_STATE = crate::Reg<bus_state::BUS_STATE_SPEC>;
193#[doc = "Bus state register"]
194pub mod bus_state;
195#[doc = "auto_baudrate (r) register accessor: Auto baudrate detection register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`auto_baudrate::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@auto_baudrate`]
196module"]
197pub type AUTO_BAUDRATE = crate::Reg<auto_baudrate::AUTO_BAUDRATE_SPEC>;
198#[doc = "Auto baudrate detection register"]
199pub mod auto_baudrate;
200#[doc = "pulse_tolerance (rw) register accessor: Pulse width tolerance for auto baudrate\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`pulse_tolerance::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 [`pulse_tolerance::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@pulse_tolerance`]
201module"]
202pub type PULSE_TOLERANCE = crate::Reg<pulse_tolerance::PULSE_TOLERANCE_SPEC>;
203#[doc = "Pulse width tolerance for auto baudrate"]
204pub mod pulse_tolerance;
205#[doc = "rs485_transmit (rw) register accessor: RS-485 mode transmit configuration\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rs485_transmit::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 [`rs485_transmit::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@rs485_transmit`]
206module"]
207pub type RS485_TRANSMIT = crate::Reg<rs485_transmit::RS485_TRANSMIT_SPEC>;
208#[doc = "RS-485 mode transmit configuration"]
209pub mod rs485_transmit;
210#[doc = "fifo_config_0 (rw) register accessor: FIFO configuration register 0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`fifo_config_0::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 [`fifo_config_0::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@fifo_config_0`]
211module"]
212pub type FIFO_CONFIG_0 = crate::Reg<fifo_config_0::FIFO_CONFIG_0_SPEC>;
213#[doc = "FIFO configuration register 0"]
214pub mod fifo_config_0;
215#[doc = "fifo_config_1 (rw) register accessor: FIFO configuration register 1\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`fifo_config_1::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 [`fifo_config_1::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@fifo_config_1`]
216module"]
217pub type FIFO_CONFIG_1 = crate::Reg<fifo_config_1::FIFO_CONFIG_1_SPEC>;
218#[doc = "FIFO configuration register 1"]
219pub mod fifo_config_1;
220#[doc = "data_write (w) register accessor: FIFO write data 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 [`data_write::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data_write`]
221module"]
222pub type DATA_WRITE = crate::Reg<data_write::DATA_WRITE_SPEC>;
223#[doc = "FIFO write data register"]
224pub mod data_write;
225#[doc = "data_read (r) register accessor: FIFO read data register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`data_read::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@data_read`]
226module"]
227pub type DATA_READ = crate::Reg<data_read::DATA_READ_SPEC>;
228#[doc = "FIFO read data register"]
229pub mod data_read;