bl61x_pac/
i2c.rs

1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4    config: CONFIG,
5    interrupt: INTERRUPT,
6    sub_address: SUB_ADDRESS,
7    bus_busy: BUS_BUSY,
8    period_start: PERIOD_START,
9    period_stop: PERIOD_STOP,
10    period_data: PERIOD_DATA,
11    _reserved7: [u8; 0x64],
12    fifo_config_0: FIFO_CONFIG_0,
13    fifo_config_1: FIFO_CONFIG_1,
14    data_write: DATA_WRITE,
15    data_read: DATA_READ,
16}
17impl RegisterBlock {
18    #[doc = "0x00 - Function configuration register"]
19    #[inline(always)]
20    pub const fn config(&self) -> &CONFIG {
21        &self.config
22    }
23    #[doc = "0x04 - Interrupt enables, states and masks"]
24    #[inline(always)]
25    pub const fn interrupt(&self) -> &INTERRUPT {
26        &self.interrupt
27    }
28    #[doc = "0x08 - Register address of slave device"]
29    #[inline(always)]
30    pub const fn sub_address(&self) -> &SUB_ADDRESS {
31        &self.sub_address
32    }
33    #[doc = "0x0c - Bus busy state indicator"]
34    #[inline(always)]
35    pub const fn bus_busy(&self) -> &BUS_BUSY {
36        &self.bus_busy
37    }
38    #[doc = "0x10 - Duration of start phase"]
39    #[inline(always)]
40    pub const fn period_start(&self) -> &PERIOD_START {
41        &self.period_start
42    }
43    #[doc = "0x14 - Duration of stop phase"]
44    #[inline(always)]
45    pub const fn period_stop(&self) -> &PERIOD_STOP {
46        &self.period_stop
47    }
48    #[doc = "0x18 - Duration of data phase"]
49    #[inline(always)]
50    pub const fn period_data(&self) -> &PERIOD_DATA {
51        &self.period_data
52    }
53    #[doc = "0x80 - FIFO configuration register 0"]
54    #[inline(always)]
55    pub const fn fifo_config_0(&self) -> &FIFO_CONFIG_0 {
56        &self.fifo_config_0
57    }
58    #[doc = "0x84 - FIFO configuration register 1"]
59    #[inline(always)]
60    pub const fn fifo_config_1(&self) -> &FIFO_CONFIG_1 {
61        &self.fifo_config_1
62    }
63    #[doc = "0x88 - FIFO write data register"]
64    #[inline(always)]
65    pub const fn data_write(&self) -> &DATA_WRITE {
66        &self.data_write
67    }
68    #[doc = "0x8c - FIFO read data register"]
69    #[inline(always)]
70    pub const fn data_read(&self) -> &DATA_READ {
71        &self.data_read
72    }
73}
74#[doc = "config (rw) register accessor: Function configuration register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`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 [`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@config`]
75module"]
76pub type CONFIG = crate::Reg<config::CONFIG_SPEC>;
77#[doc = "Function configuration register"]
78pub mod config;
79#[doc = "interrupt (rw) register accessor: Interrupt enables, states and masks\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`interrupt::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::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`]
80module"]
81pub type INTERRUPT = crate::Reg<interrupt::INTERRUPT_SPEC>;
82#[doc = "Interrupt enables, states and masks"]
83pub mod interrupt;
84#[doc = "sub_address (rw) register accessor: Register address of slave device\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`sub_address::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 [`sub_address::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@sub_address`]
85module"]
86pub type SUB_ADDRESS = crate::Reg<sub_address::SUB_ADDRESS_SPEC>;
87#[doc = "Register address of slave device"]
88pub mod sub_address;
89#[doc = "bus_busy (rw) register accessor: Bus busy state indicator\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`bus_busy::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 [`bus_busy::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@bus_busy`]
90module"]
91pub type BUS_BUSY = crate::Reg<bus_busy::BUS_BUSY_SPEC>;
92#[doc = "Bus busy state indicator"]
93pub mod bus_busy;
94#[doc = "period_start (rw) register accessor: Duration of start phase\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`period_start::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 [`period_start::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@period_start`]
95module"]
96pub type PERIOD_START = crate::Reg<period_start::PERIOD_START_SPEC>;
97#[doc = "Duration of start phase"]
98pub mod period_start;
99#[doc = "period_stop (rw) register accessor: Duration of stop phase\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`period_stop::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 [`period_stop::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@period_stop`]
100module"]
101pub type PERIOD_STOP = crate::Reg<period_stop::PERIOD_STOP_SPEC>;
102#[doc = "Duration of stop phase"]
103pub mod period_stop;
104#[doc = "period_data (rw) register accessor: Duration of data phase\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`period_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 [`period_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@period_data`]
105module"]
106pub type PERIOD_DATA = crate::Reg<period_data::PERIOD_DATA_SPEC>;
107#[doc = "Duration of data phase"]
108pub mod period_data;
109#[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`]
110module"]
111pub type FIFO_CONFIG_0 = crate::Reg<fifo_config_0::FIFO_CONFIG_0_SPEC>;
112#[doc = "FIFO configuration register 0"]
113pub mod fifo_config_0;
114#[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`]
115module"]
116pub type FIFO_CONFIG_1 = crate::Reg<fifo_config_1::FIFO_CONFIG_1_SPEC>;
117#[doc = "FIFO configuration register 1"]
118pub mod fifo_config_1;
119#[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`]
120module"]
121pub type DATA_WRITE = crate::Reg<data_write::DATA_WRITE_SPEC>;
122#[doc = "FIFO write data register"]
123pub mod data_write;
124#[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`]
125module"]
126pub type DATA_READ = crate::Reg<data_read::DATA_READ_SPEC>;
127#[doc = "FIFO read data register"]
128pub mod data_read;