1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - Function configuration register"]
5 pub config: CONFIG,
6 #[doc = "0x04 - Interrupt enables, states and masks"]
7 pub interrupt: INTERRUPT,
8 #[doc = "0x08 - Register address of slave device"]
9 pub sub_address: SUB_ADDRESS,
10 #[doc = "0x0c - Bus busy state indicator"]
11 pub bus_busy: BUS_BUSY,
12 #[doc = "0x10 - Duration of start phase"]
13 pub period_start: PERIOD_START,
14 #[doc = "0x14 - Duration of stop phase"]
15 pub period_stop: PERIOD_STOP,
16 #[doc = "0x18 - Duration of data phase"]
17 pub period_data: PERIOD_DATA,
18 _reserved7: [u8; 0x64],
19 #[doc = "0x80 - FIFO configuration register 0"]
20 pub fifo_config_0: FIFO_CONFIG_0,
21 #[doc = "0x84 - FIFO configuration register 1"]
22 pub fifo_config_1: FIFO_CONFIG_1,
23 #[doc = "0x88 - FIFO write data register"]
24 pub data_write: DATA_WRITE,
25 #[doc = "0x8c - FIFO read data register"]
26 pub data_read: DATA_READ,
27}
28#[doc = "config (rw) register accessor: an alias for `Reg<CONFIG_SPEC>`"]
29pub type CONFIG = crate::Reg<config::CONFIG_SPEC>;
30#[doc = "Function configuration register"]
31pub mod config;
32#[doc = "interrupt (rw) register accessor: an alias for `Reg<INTERRUPT_SPEC>`"]
33pub type INTERRUPT = crate::Reg<interrupt::INTERRUPT_SPEC>;
34#[doc = "Interrupt enables, states and masks"]
35pub mod interrupt;
36#[doc = "sub_address (rw) register accessor: an alias for `Reg<SUB_ADDRESS_SPEC>`"]
37pub type SUB_ADDRESS = crate::Reg<sub_address::SUB_ADDRESS_SPEC>;
38#[doc = "Register address of slave device"]
39pub mod sub_address;
40#[doc = "bus_busy (rw) register accessor: an alias for `Reg<BUS_BUSY_SPEC>`"]
41pub type BUS_BUSY = crate::Reg<bus_busy::BUS_BUSY_SPEC>;
42#[doc = "Bus busy state indicator"]
43pub mod bus_busy;
44#[doc = "period_start (rw) register accessor: an alias for `Reg<PERIOD_START_SPEC>`"]
45pub type PERIOD_START = crate::Reg<period_start::PERIOD_START_SPEC>;
46#[doc = "Duration of start phase"]
47pub mod period_start;
48#[doc = "period_stop (rw) register accessor: an alias for `Reg<PERIOD_STOP_SPEC>`"]
49pub type PERIOD_STOP = crate::Reg<period_stop::PERIOD_STOP_SPEC>;
50#[doc = "Duration of stop phase"]
51pub mod period_stop;
52#[doc = "period_data (rw) register accessor: an alias for `Reg<PERIOD_DATA_SPEC>`"]
53pub type PERIOD_DATA = crate::Reg<period_data::PERIOD_DATA_SPEC>;
54#[doc = "Duration of data phase"]
55pub mod period_data;
56#[doc = "fifo_config_0 (rw) register accessor: an alias for `Reg<FIFO_CONFIG_0_SPEC>`"]
57pub type FIFO_CONFIG_0 = crate::Reg<fifo_config_0::FIFO_CONFIG_0_SPEC>;
58#[doc = "FIFO configuration register 0"]
59pub mod fifo_config_0;
60#[doc = "fifo_config_1 (rw) register accessor: an alias for `Reg<FIFO_CONFIG_1_SPEC>`"]
61pub type FIFO_CONFIG_1 = crate::Reg<fifo_config_1::FIFO_CONFIG_1_SPEC>;
62#[doc = "FIFO configuration register 1"]
63pub mod fifo_config_1;
64#[doc = "data_write (w) register accessor: an alias for `Reg<DATA_WRITE_SPEC>`"]
65pub type DATA_WRITE = crate::Reg<data_write::DATA_WRITE_SPEC>;
66#[doc = "FIFO write data register"]
67pub mod data_write;
68#[doc = "data_read (r) register accessor: an alias for `Reg<DATA_READ_SPEC>`"]
69pub type DATA_READ = crate::Reg<data_read::DATA_READ_SPEC>;
70#[doc = "FIFO read data register"]
71pub mod data_read;