1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - I2C Master Slave Address"]
    pub msa: MSA,
    #[doc = "0x04 - I2C Master Control/Status"]
    pub mcs: MCS,
    #[doc = "0x08 - I2C Master Data"]
    pub mdr: MDR,
    #[doc = "0x0c - I2C Master Timer Period"]
    pub mtpr: MTPR,
    #[doc = "0x10 - I2C Master Interrupt Mask"]
    pub mimr: MIMR,
    #[doc = "0x14 - I2C Master Raw Interrupt Status"]
    pub mris: MRIS,
    #[doc = "0x18 - I2C Master Masked Interrupt Status"]
    pub mmis: MMIS,
    #[doc = "0x1c - I2C Master Interrupt Clear"]
    pub micr: MICR,
    #[doc = "0x20 - I2C Master Configuration"]
    pub mcr: MCR,
    #[doc = "0x24 - I2C Master Clock Low Timeout Count"]
    pub mclkocnt: MCLKOCNT,
    _reserved10: [u8; 4usize],
    #[doc = "0x2c - I2C Master Bus Monitor"]
    pub mbmon: MBMON,
    #[doc = "0x30 - I2C Master Burst Length"]
    pub mblen: MBLEN,
    #[doc = "0x34 - I2C Master Burst Count"]
    pub mbcnt: MBCNT,
    _reserved13: [u8; 1992usize],
    #[doc = "0x800 - I2C Slave Own Address"]
    pub soar: SOAR,
    #[doc = "0x804 - I2C Slave Control/Status"]
    pub scsr: SCSR,
    #[doc = "0x808 - I2C Slave Data"]
    pub sdr: SDR,
    #[doc = "0x80c - I2C Slave Interrupt Mask"]
    pub simr: SIMR,
    #[doc = "0x810 - I2C Slave Raw Interrupt Status"]
    pub sris: SRIS,
    #[doc = "0x814 - I2C Slave Masked Interrupt Status"]
    pub smis: SMIS,
    #[doc = "0x818 - I2C Slave Interrupt Clear"]
    pub sicr: SICR,
    #[doc = "0x81c - I2C Slave Own Address 2"]
    pub soar2: SOAR2,
    #[doc = "0x820 - I2C Slave ACK Control"]
    pub sackctl: SACKCTL,
    _reserved22: [u8; 1756usize],
    #[doc = "0xf00 - I2C FIFO Data"]
    pub fifodata: FIFODATA,
    #[doc = "0xf04 - I2C FIFO Control"]
    pub fifoctl: FIFOCTL,
    #[doc = "0xf08 - I2C FIFO Status"]
    pub fifostatus: FIFOSTATUS,
    _reserved25: [u8; 180usize],
    #[doc = "0xfc0 - I2C Peripheral Properties"]
    pub pp: PP,
    #[doc = "0xfc4 - I2C Peripheral Configuration"]
    pub pc: PC,
}
#[doc = "I2C Master Slave Address"]
pub struct MSA {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Master Slave Address"]
pub mod msa;
#[doc = "I2C Master Control/Status"]
pub struct MCS {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Master Control/Status"]
pub mod mcs;
#[doc = "I2C Master Data"]
pub struct MDR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Master Data"]
pub mod mdr;
#[doc = "I2C Master Timer Period"]
pub struct MTPR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Master Timer Period"]
pub mod mtpr;
#[doc = "I2C Master Interrupt Mask"]
pub struct MIMR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Master Interrupt Mask"]
pub mod mimr;
#[doc = "I2C Master Raw Interrupt Status"]
pub struct MRIS {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Master Raw Interrupt Status"]
pub mod mris;
#[doc = "I2C Master Masked Interrupt Status"]
pub struct MMIS {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Master Masked Interrupt Status"]
pub mod mmis;
#[doc = "I2C Master Interrupt Clear"]
pub struct MICR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Master Interrupt Clear"]
pub mod micr;
#[doc = "I2C Master Configuration"]
pub struct MCR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Master Configuration"]
pub mod mcr;
#[doc = "I2C Master Clock Low Timeout Count"]
pub struct MCLKOCNT {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Master Clock Low Timeout Count"]
pub mod mclkocnt;
#[doc = "I2C Master Bus Monitor"]
pub struct MBMON {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Master Bus Monitor"]
pub mod mbmon;
#[doc = "I2C Master Burst Length"]
pub struct MBLEN {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Master Burst Length"]
pub mod mblen;
#[doc = "I2C Master Burst Count"]
pub struct MBCNT {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Master Burst Count"]
pub mod mbcnt;
#[doc = "I2C Slave Own Address"]
pub struct SOAR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Slave Own Address"]
pub mod soar;
#[doc = "I2C Slave Control/Status"]
pub struct SCSR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Slave Control/Status"]
pub mod scsr;
#[doc = "I2C Slave Data"]
pub struct SDR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Slave Data"]
pub mod sdr;
#[doc = "I2C Slave Interrupt Mask"]
pub struct SIMR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Slave Interrupt Mask"]
pub mod simr;
#[doc = "I2C Slave Raw Interrupt Status"]
pub struct SRIS {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Slave Raw Interrupt Status"]
pub mod sris;
#[doc = "I2C Slave Masked Interrupt Status"]
pub struct SMIS {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Slave Masked Interrupt Status"]
pub mod smis;
#[doc = "I2C Slave Interrupt Clear"]
pub struct SICR {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Slave Interrupt Clear"]
pub mod sicr;
#[doc = "I2C Slave Own Address 2"]
pub struct SOAR2 {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Slave Own Address 2"]
pub mod soar2;
#[doc = "I2C Slave ACK Control"]
pub struct SACKCTL {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Slave ACK Control"]
pub mod sackctl;
#[doc = "I2C FIFO Data"]
pub struct FIFODATA {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C FIFO Data"]
pub mod fifodata;
#[doc = "I2C FIFO Control"]
pub struct FIFOCTL {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C FIFO Control"]
pub mod fifoctl;
#[doc = "I2C FIFO Status"]
pub struct FIFOSTATUS {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C FIFO Status"]
pub mod fifostatus;
#[doc = "I2C Peripheral Properties"]
pub struct PP {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Peripheral Properties"]
pub mod pp;
#[doc = "I2C Peripheral Configuration"]
pub struct PC {
    register: vcell::VolatileCell<u32>,
}
#[doc = "I2C Peripheral Configuration"]
pub mod pc;