1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 _reserved0: [u8; 0x0800],
5 #[doc = "0x800 - Configuration for shared functions."]
6 pub cfg: crate::Reg<cfg::CFG_SPEC>,
7 #[doc = "0x804 - Status register for Master, Slave, and Monitor functions."]
8 pub stat: crate::Reg<stat::STAT_SPEC>,
9 #[doc = "0x808 - Interrupt Enable Set and read register."]
10 pub intenset: crate::Reg<intenset::INTENSET_SPEC>,
11 #[doc = "0x80c - Interrupt Enable Clear register."]
12 pub intenclr: crate::Reg<intenclr::INTENCLR_SPEC>,
13 #[doc = "0x810 - Time-out value register."]
14 pub timeout: crate::Reg<timeout::TIMEOUT_SPEC>,
15 #[doc = "0x814 - Clock pre-divider for the entire I2C interface. This determines what time increments are used for the MSTTIME register, and controls some timing of the Slave function."]
16 pub clkdiv: crate::Reg<clkdiv::CLKDIV_SPEC>,
17 #[doc = "0x818 - Interrupt Status register for Master, Slave, and Monitor functions."]
18 pub intstat: crate::Reg<intstat::INTSTAT_SPEC>,
19 _reserved7: [u8; 0x04],
20 #[doc = "0x820 - Master control register."]
21 pub mstctl: crate::Reg<mstctl::MSTCTL_SPEC>,
22 #[doc = "0x824 - Master timing configuration."]
23 pub msttime: crate::Reg<msttime::MSTTIME_SPEC>,
24 #[doc = "0x828 - Combined Master receiver and transmitter data register."]
25 pub mstdat: crate::Reg<mstdat::MSTDAT_SPEC>,
26 _reserved10: [u8; 0x14],
27 #[doc = "0x840 - Slave control register."]
28 pub slvctl: crate::Reg<slvctl::SLVCTL_SPEC>,
29 #[doc = "0x844 - Combined Slave receiver and transmitter data register."]
30 pub slvdat: crate::Reg<slvdat::SLVDAT_SPEC>,
31 #[doc = "0x848 - Slave address register."]
32 pub slvadr0: crate::Reg<slvadr0::SLVADR0_SPEC>,
33 #[doc = "0x84c - Slave address register."]
34 pub slvadr1: crate::Reg<slvadr1::SLVADR1_SPEC>,
35 #[doc = "0x850 - Slave address register."]
36 pub slvadr2: crate::Reg<slvadr2::SLVADR2_SPEC>,
37 #[doc = "0x854 - Slave address register."]
38 pub slvadr3: crate::Reg<slvadr3::SLVADR3_SPEC>,
39 #[doc = "0x858 - Slave Qualification for address 0."]
40 pub slvqual0: crate::Reg<slvqual0::SLVQUAL0_SPEC>,
41 _reserved17: [u8; 0x24],
42 #[doc = "0x880 - Monitor receiver data register."]
43 pub monrxdat: crate::Reg<monrxdat::MONRXDAT_SPEC>,
44 _reserved18: [u8; 0x0778],
45 #[doc = "0xffc - Peripheral identification register."]
46 pub id: crate::Reg<id::ID_SPEC>,
47}
48#[doc = "CFG register accessor: an alias for `Reg<CFG_SPEC>`"]
49pub type CFG = crate::Reg<cfg::CFG_SPEC>;
50#[doc = "Configuration for shared functions."]
51pub mod cfg;
52#[doc = "STAT register accessor: an alias for `Reg<STAT_SPEC>`"]
53pub type STAT = crate::Reg<stat::STAT_SPEC>;
54#[doc = "Status register for Master, Slave, and Monitor functions."]
55pub mod stat;
56#[doc = "INTENSET register accessor: an alias for `Reg<INTENSET_SPEC>`"]
57pub type INTENSET = crate::Reg<intenset::INTENSET_SPEC>;
58#[doc = "Interrupt Enable Set and read register."]
59pub mod intenset;
60#[doc = "INTENCLR register accessor: an alias for `Reg<INTENCLR_SPEC>`"]
61pub type INTENCLR = crate::Reg<intenclr::INTENCLR_SPEC>;
62#[doc = "Interrupt Enable Clear register."]
63pub mod intenclr;
64#[doc = "TIMEOUT register accessor: an alias for `Reg<TIMEOUT_SPEC>`"]
65pub type TIMEOUT = crate::Reg<timeout::TIMEOUT_SPEC>;
66#[doc = "Time-out value register."]
67pub mod timeout;
68#[doc = "CLKDIV register accessor: an alias for `Reg<CLKDIV_SPEC>`"]
69pub type CLKDIV = crate::Reg<clkdiv::CLKDIV_SPEC>;
70#[doc = "Clock pre-divider for the entire I2C interface. This determines what time increments are used for the MSTTIME register, and controls some timing of the Slave function."]
71pub mod clkdiv;
72#[doc = "INTSTAT register accessor: an alias for `Reg<INTSTAT_SPEC>`"]
73pub type INTSTAT = crate::Reg<intstat::INTSTAT_SPEC>;
74#[doc = "Interrupt Status register for Master, Slave, and Monitor functions."]
75pub mod intstat;
76#[doc = "MSTCTL register accessor: an alias for `Reg<MSTCTL_SPEC>`"]
77pub type MSTCTL = crate::Reg<mstctl::MSTCTL_SPEC>;
78#[doc = "Master control register."]
79pub mod mstctl;
80#[doc = "MSTTIME register accessor: an alias for `Reg<MSTTIME_SPEC>`"]
81pub type MSTTIME = crate::Reg<msttime::MSTTIME_SPEC>;
82#[doc = "Master timing configuration."]
83pub mod msttime;
84#[doc = "MSTDAT register accessor: an alias for `Reg<MSTDAT_SPEC>`"]
85pub type MSTDAT = crate::Reg<mstdat::MSTDAT_SPEC>;
86#[doc = "Combined Master receiver and transmitter data register."]
87pub mod mstdat;
88#[doc = "SLVCTL register accessor: an alias for `Reg<SLVCTL_SPEC>`"]
89pub type SLVCTL = crate::Reg<slvctl::SLVCTL_SPEC>;
90#[doc = "Slave control register."]
91pub mod slvctl;
92#[doc = "SLVDAT register accessor: an alias for `Reg<SLVDAT_SPEC>`"]
93pub type SLVDAT = crate::Reg<slvdat::SLVDAT_SPEC>;
94#[doc = "Combined Slave receiver and transmitter data register."]
95pub mod slvdat;
96#[doc = "SLVADR0 register accessor: an alias for `Reg<SLVADR0_SPEC>`"]
97pub type SLVADR0 = crate::Reg<slvadr0::SLVADR0_SPEC>;
98#[doc = "Slave address register."]
99pub mod slvadr0;
100#[doc = "SLVADR1 register accessor: an alias for `Reg<SLVADR1_SPEC>`"]
101pub type SLVADR1 = crate::Reg<slvadr1::SLVADR1_SPEC>;
102#[doc = "Slave address register."]
103pub mod slvadr1;
104#[doc = "SLVADR2 register accessor: an alias for `Reg<SLVADR2_SPEC>`"]
105pub type SLVADR2 = crate::Reg<slvadr2::SLVADR2_SPEC>;
106#[doc = "Slave address register."]
107pub mod slvadr2;
108#[doc = "SLVADR3 register accessor: an alias for `Reg<SLVADR3_SPEC>`"]
109pub type SLVADR3 = crate::Reg<slvadr3::SLVADR3_SPEC>;
110#[doc = "Slave address register."]
111pub mod slvadr3;
112#[doc = "SLVQUAL0 register accessor: an alias for `Reg<SLVQUAL0_SPEC>`"]
113pub type SLVQUAL0 = crate::Reg<slvqual0::SLVQUAL0_SPEC>;
114#[doc = "Slave Qualification for address 0."]
115pub mod slvqual0;
116#[doc = "MONRXDAT register accessor: an alias for `Reg<MONRXDAT_SPEC>`"]
117pub type MONRXDAT = crate::Reg<monrxdat::MONRXDAT_SPEC>;
118#[doc = "Monitor receiver data register."]
119pub mod monrxdat;
120#[doc = "ID register accessor: an alias for `Reg<ID_SPEC>`"]
121pub type ID = crate::Reg<id::ID_SPEC>;
122#[doc = "Peripheral identification register."]
123pub mod id;