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
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - DMA mode register"]
    pub eth_dmamr: crate::Reg<eth_dmamr::ETH_DMAMR_SPEC>,
    #[doc = "0x04 - System bus mode register"]
    pub eth_dmasbmr: crate::Reg<eth_dmasbmr::ETH_DMASBMR_SPEC>,
    #[doc = "0x08 - Interrupt status register"]
    pub eth_dmaisr: crate::Reg<eth_dmaisr::ETH_DMAISR_SPEC>,
    #[doc = "0x0c - Debug status register"]
    pub eth_dmadsr: crate::Reg<eth_dmadsr::ETH_DMADSR_SPEC>,
    _reserved4: [u8; 0x10],
    #[doc = "0x20 - AXI4 transmit channel ACE control register"]
    pub eth_dmaa4tx_acr: crate::Reg<eth_dmaa4tx_acr::ETH_DMAA4TXACR_SPEC>,
    #[doc = "0x24 - AXI4 receive channel ACE control register"]
    pub eth_dmaa4rx_acr: crate::Reg<eth_dmaa4rx_acr::ETH_DMAA4RXACR_SPEC>,
    #[doc = "0x28 - AXI4 descriptor ACE control register"]
    pub eth_dmaa4dacr: crate::Reg<eth_dmaa4dacr::ETH_DMAA4DACR_SPEC>,
    _reserved7: [u8; 0xd4],
    #[doc = "0x100 - Channel 0 control register"]
    pub eth_dmac0cr: crate::Reg<eth_dmac0cr::ETH_DMAC0CR_SPEC>,
    #[doc = "0x104 - Channel 0 transmit control register"]
    pub eth_dmac0tx_cr: crate::Reg<eth_dmac0tx_cr::ETH_DMAC0TXCR_SPEC>,
    #[doc = "0x108 - Channel receive control register"]
    pub eth_dmac0rx_cr: crate::Reg<eth_dmac0rx_cr::ETH_DMAC0RXCR_SPEC>,
    _reserved10: [u8; 0x08],
    #[doc = "0x114 - Channel i Tx descriptor list address register"]
    pub eth_dmac0tx_dlar: crate::Reg<eth_dmac0tx_dlar::ETH_DMAC0TXDLAR_SPEC>,
    _reserved11: [u8; 0x04],
    #[doc = "0x11c - Channel Rx descriptor list address register"]
    pub eth_dmac0rx_dlar: crate::Reg<eth_dmac0rx_dlar::ETH_DMAC0RXDLAR_SPEC>,
    #[doc = "0x120 - Channel Tx descriptor tail pointer register"]
    pub eth_dmac0tx_dtpr: crate::Reg<eth_dmac0tx_dtpr::ETH_DMAC0TXDTPR_SPEC>,
    _reserved13: [u8; 0x04],
    #[doc = "0x128 - Channel Rx descriptor tail pointer register"]
    pub eth_dmac0rx_dtpr: crate::Reg<eth_dmac0rx_dtpr::ETH_DMAC0RXDTPR_SPEC>,
    #[doc = "0x12c - Channel Tx descriptor ring length register"]
    pub eth_dmac0tx_rlr: crate::Reg<eth_dmac0tx_rlr::ETH_DMAC0TXRLR_SPEC>,
    #[doc = "0x130 - Channel Rx descriptor ring length register"]
    pub eth_dmac0rx_rlr: crate::Reg<eth_dmac0rx_rlr::ETH_DMAC0RXRLR_SPEC>,
    #[doc = "0x134 - Channel interrupt enable register"]
    pub eth_dmac0ier: crate::Reg<eth_dmac0ier::ETH_DMAC0IER_SPEC>,
    #[doc = "0x138 - Channel Rx interrupt watchdog timer register"]
    pub eth_dmac0rx_iwtr: crate::Reg<eth_dmac0rx_iwtr::ETH_DMAC0RXIWTR_SPEC>,
    #[doc = "0x13c - Channel i slot function control status register"]
    pub eth_dmac0sfcsr: crate::Reg<eth_dmac0sfcsr::ETH_DMAC0SFCSR_SPEC>,
    _reserved19: [u8; 0x04],
    #[doc = "0x144 - Channel current application transmit descriptor register"]
    pub eth_dmac0catx_dr: crate::Reg<eth_dmac0catx_dr::ETH_DMAC0CATXDR_SPEC>,
    _reserved20: [u8; 0x04],
    #[doc = "0x14c - Channel 0 current application receive descriptor register"]
    pub eth_dmac0carx_dr: crate::Reg<eth_dmac0carx_dr::ETH_DMAC0CARXDR_SPEC>,
    _reserved21: [u8; 0x04],
    #[doc = "0x154 - Channel 0 current application transmit buffer register"]
    pub eth_dmac0catx_br: crate::Reg<eth_dmac0catx_br::ETH_DMAC0CATXBR_SPEC>,
    _reserved22: [u8; 0x04],
    #[doc = "0x15c - Channel current application receive buffer register"]
    pub eth_dmac0carx_br: crate::Reg<eth_dmac0carx_br::ETH_DMAC0CARXBR_SPEC>,
    #[doc = "0x160 - Channel status register"]
    pub eth_dmac0sr: crate::Reg<eth_dmac0sr::ETH_DMAC0SR_SPEC>,
    _reserved24: [u8; 0x08],
    #[doc = "0x16c - Channel missed frame count register"]
    pub eth_dmac0mfcr: crate::Reg<eth_dmac0mfcr::ETH_DMAC0MFCR_SPEC>,
    _reserved25: [u8; 0x10],
    #[doc = "0x180 - Channel 1 control register"]
    pub eth_dmac1cr: crate::Reg<eth_dmac1cr::ETH_DMAC1CR_SPEC>,
    #[doc = "0x184 - Channel 1 transmit control register"]
    pub eth_dmac1tx_cr: crate::Reg<eth_dmac1tx_cr::ETH_DMAC1TXCR_SPEC>,
    _reserved27: [u8; 0x0c],
    #[doc = "0x194 - Channel i Tx descriptor list address register"]
    pub eth_dmac1tx_dlar: crate::Reg<eth_dmac1tx_dlar::ETH_DMAC1TXDLAR_SPEC>,
    _reserved28: [u8; 0x08],
    #[doc = "0x1a0 - Channel Tx descriptor tail pointer register"]
    pub eth_dmac1tx_dtpr: crate::Reg<eth_dmac1tx_dtpr::ETH_DMAC1TXDTPR_SPEC>,
    _reserved29: [u8; 0x08],
    #[doc = "0x1ac - Channel Tx descriptor ring length register"]
    pub eth_dmac1tx_rlr: crate::Reg<eth_dmac1tx_rlr::ETH_DMAC1TXRLR_SPEC>,
    _reserved30: [u8; 0x04],
    #[doc = "0x1b4 - Channel interrupt enable register"]
    pub eth_dmac1ier: crate::Reg<eth_dmac1ier::ETH_DMAC1IER_SPEC>,
    _reserved31: [u8; 0x04],
    #[doc = "0x1bc - Channel i slot function control status register"]
    pub eth_dmac1sfcsr: crate::Reg<eth_dmac1sfcsr::ETH_DMAC1SFCSR_SPEC>,
    _reserved32: [u8; 0x04],
    #[doc = "0x1c4 - Channel current application transmit descriptor register"]
    pub eth_dmac1catx_dr: crate::Reg<eth_dmac1catx_dr::ETH_DMAC1CATXDR_SPEC>,
    _reserved33: [u8; 0x0c],
    #[doc = "0x1d4 - Channel 0 current application transmit buffer register"]
    pub eth_dmac1catx_br: crate::Reg<eth_dmac1catx_br::ETH_DMAC1CATXBR_SPEC>,
    _reserved34: [u8; 0x08],
    #[doc = "0x1e0 - Channel status register"]
    pub eth_dmac1sr: crate::Reg<eth_dmac1sr::ETH_DMAC1SR_SPEC>,
    _reserved35: [u8; 0x08],
    #[doc = "0x1ec - Channel missed frame count register"]
    pub eth_dmac1mfcr: crate::Reg<eth_dmac1mfcr::ETH_DMAC1MFCR_SPEC>,
}
#[doc = "ETH_DMAMR register accessor: an alias for `Reg<ETH_DMAMR_SPEC>`"]
pub type ETH_DMAMR = crate::Reg<eth_dmamr::ETH_DMAMR_SPEC>;
#[doc = "DMA mode register"]
pub mod eth_dmamr;
#[doc = "ETH_DMASBMR register accessor: an alias for `Reg<ETH_DMASBMR_SPEC>`"]
pub type ETH_DMASBMR = crate::Reg<eth_dmasbmr::ETH_DMASBMR_SPEC>;
#[doc = "System bus mode register"]
pub mod eth_dmasbmr;
#[doc = "ETH_DMAISR register accessor: an alias for `Reg<ETH_DMAISR_SPEC>`"]
pub type ETH_DMAISR = crate::Reg<eth_dmaisr::ETH_DMAISR_SPEC>;
#[doc = "Interrupt status register"]
pub mod eth_dmaisr;
#[doc = "ETH_DMADSR register accessor: an alias for `Reg<ETH_DMADSR_SPEC>`"]
pub type ETH_DMADSR = crate::Reg<eth_dmadsr::ETH_DMADSR_SPEC>;
#[doc = "Debug status register"]
pub mod eth_dmadsr;
#[doc = "ETH_DMAA4TxACR register accessor: an alias for `Reg<ETH_DMAA4TXACR_SPEC>`"]
pub type ETH_DMAA4TXACR = crate::Reg<eth_dmaa4tx_acr::ETH_DMAA4TXACR_SPEC>;
#[doc = "AXI4 transmit channel ACE control register"]
pub mod eth_dmaa4tx_acr;
#[doc = "ETH_DMAA4RxACR register accessor: an alias for `Reg<ETH_DMAA4RXACR_SPEC>`"]
pub type ETH_DMAA4RXACR = crate::Reg<eth_dmaa4rx_acr::ETH_DMAA4RXACR_SPEC>;
#[doc = "AXI4 receive channel ACE control register"]
pub mod eth_dmaa4rx_acr;
#[doc = "ETH_DMAA4DACR register accessor: an alias for `Reg<ETH_DMAA4DACR_SPEC>`"]
pub type ETH_DMAA4DACR = crate::Reg<eth_dmaa4dacr::ETH_DMAA4DACR_SPEC>;
#[doc = "AXI4 descriptor ACE control register"]
pub mod eth_dmaa4dacr;
#[doc = "ETH_DMAC0CR register accessor: an alias for `Reg<ETH_DMAC0CR_SPEC>`"]
pub type ETH_DMAC0CR = crate::Reg<eth_dmac0cr::ETH_DMAC0CR_SPEC>;
#[doc = "Channel 0 control register"]
pub mod eth_dmac0cr;
#[doc = "ETH_DMAC1CR register accessor: an alias for `Reg<ETH_DMAC1CR_SPEC>`"]
pub type ETH_DMAC1CR = crate::Reg<eth_dmac1cr::ETH_DMAC1CR_SPEC>;
#[doc = "Channel 1 control register"]
pub mod eth_dmac1cr;
#[doc = "ETH_DMAC0TxCR register accessor: an alias for `Reg<ETH_DMAC0TXCR_SPEC>`"]
pub type ETH_DMAC0TXCR = crate::Reg<eth_dmac0tx_cr::ETH_DMAC0TXCR_SPEC>;
#[doc = "Channel 0 transmit control register"]
pub mod eth_dmac0tx_cr;
#[doc = "ETH_DMAC1TxCR register accessor: an alias for `Reg<ETH_DMAC1TXCR_SPEC>`"]
pub type ETH_DMAC1TXCR = crate::Reg<eth_dmac1tx_cr::ETH_DMAC1TXCR_SPEC>;
#[doc = "Channel 1 transmit control register"]
pub mod eth_dmac1tx_cr;
#[doc = "ETH_DMAC0RxCR register accessor: an alias for `Reg<ETH_DMAC0RXCR_SPEC>`"]
pub type ETH_DMAC0RXCR = crate::Reg<eth_dmac0rx_cr::ETH_DMAC0RXCR_SPEC>;
#[doc = "Channel receive control register"]
pub mod eth_dmac0rx_cr;
#[doc = "ETH_DMAC0TxDLAR register accessor: an alias for `Reg<ETH_DMAC0TXDLAR_SPEC>`"]
pub type ETH_DMAC0TXDLAR = crate::Reg<eth_dmac0tx_dlar::ETH_DMAC0TXDLAR_SPEC>;
#[doc = "Channel i Tx descriptor list address register"]
pub mod eth_dmac0tx_dlar;
#[doc = "ETH_DMAC1TxDLAR register accessor: an alias for `Reg<ETH_DMAC1TXDLAR_SPEC>`"]
pub type ETH_DMAC1TXDLAR = crate::Reg<eth_dmac1tx_dlar::ETH_DMAC1TXDLAR_SPEC>;
#[doc = "Channel i Tx descriptor list address register"]
pub mod eth_dmac1tx_dlar;
#[doc = "ETH_DMAC0RxDLAR register accessor: an alias for `Reg<ETH_DMAC0RXDLAR_SPEC>`"]
pub type ETH_DMAC0RXDLAR = crate::Reg<eth_dmac0rx_dlar::ETH_DMAC0RXDLAR_SPEC>;
#[doc = "Channel Rx descriptor list address register"]
pub mod eth_dmac0rx_dlar;
#[doc = "ETH_DMAC0TxDTPR register accessor: an alias for `Reg<ETH_DMAC0TXDTPR_SPEC>`"]
pub type ETH_DMAC0TXDTPR = crate::Reg<eth_dmac0tx_dtpr::ETH_DMAC0TXDTPR_SPEC>;
#[doc = "Channel Tx descriptor tail pointer register"]
pub mod eth_dmac0tx_dtpr;
#[doc = "ETH_DMAC1TxDTPR register accessor: an alias for `Reg<ETH_DMAC1TXDTPR_SPEC>`"]
pub type ETH_DMAC1TXDTPR = crate::Reg<eth_dmac1tx_dtpr::ETH_DMAC1TXDTPR_SPEC>;
#[doc = "Channel Tx descriptor tail pointer register"]
pub mod eth_dmac1tx_dtpr;
#[doc = "ETH_DMAC0RxDTPR register accessor: an alias for `Reg<ETH_DMAC0RXDTPR_SPEC>`"]
pub type ETH_DMAC0RXDTPR = crate::Reg<eth_dmac0rx_dtpr::ETH_DMAC0RXDTPR_SPEC>;
#[doc = "Channel Rx descriptor tail pointer register"]
pub mod eth_dmac0rx_dtpr;
#[doc = "ETH_DMAC0TxRLR register accessor: an alias for `Reg<ETH_DMAC0TXRLR_SPEC>`"]
pub type ETH_DMAC0TXRLR = crate::Reg<eth_dmac0tx_rlr::ETH_DMAC0TXRLR_SPEC>;
#[doc = "Channel Tx descriptor ring length register"]
pub mod eth_dmac0tx_rlr;
#[doc = "ETH_DMAC1TxRLR register accessor: an alias for `Reg<ETH_DMAC1TXRLR_SPEC>`"]
pub type ETH_DMAC1TXRLR = crate::Reg<eth_dmac1tx_rlr::ETH_DMAC1TXRLR_SPEC>;
#[doc = "Channel Tx descriptor ring length register"]
pub mod eth_dmac1tx_rlr;
#[doc = "ETH_DMAC0RxRLR register accessor: an alias for `Reg<ETH_DMAC0RXRLR_SPEC>`"]
pub type ETH_DMAC0RXRLR = crate::Reg<eth_dmac0rx_rlr::ETH_DMAC0RXRLR_SPEC>;
#[doc = "Channel Rx descriptor ring length register"]
pub mod eth_dmac0rx_rlr;
#[doc = "ETH_DMAC0IER register accessor: an alias for `Reg<ETH_DMAC0IER_SPEC>`"]
pub type ETH_DMAC0IER = crate::Reg<eth_dmac0ier::ETH_DMAC0IER_SPEC>;
#[doc = "Channel interrupt enable register"]
pub mod eth_dmac0ier;
#[doc = "ETH_DMAC1IER register accessor: an alias for `Reg<ETH_DMAC1IER_SPEC>`"]
pub type ETH_DMAC1IER = crate::Reg<eth_dmac1ier::ETH_DMAC1IER_SPEC>;
#[doc = "Channel interrupt enable register"]
pub mod eth_dmac1ier;
#[doc = "ETH_DMAC0RxIWTR register accessor: an alias for `Reg<ETH_DMAC0RXIWTR_SPEC>`"]
pub type ETH_DMAC0RXIWTR = crate::Reg<eth_dmac0rx_iwtr::ETH_DMAC0RXIWTR_SPEC>;
#[doc = "Channel Rx interrupt watchdog timer register"]
pub mod eth_dmac0rx_iwtr;
#[doc = "ETH_DMAC0SFCSR register accessor: an alias for `Reg<ETH_DMAC0SFCSR_SPEC>`"]
pub type ETH_DMAC0SFCSR = crate::Reg<eth_dmac0sfcsr::ETH_DMAC0SFCSR_SPEC>;
#[doc = "Channel i slot function control status register"]
pub mod eth_dmac0sfcsr;
#[doc = "ETH_DMAC1SFCSR register accessor: an alias for `Reg<ETH_DMAC1SFCSR_SPEC>`"]
pub type ETH_DMAC1SFCSR = crate::Reg<eth_dmac1sfcsr::ETH_DMAC1SFCSR_SPEC>;
#[doc = "Channel i slot function control status register"]
pub mod eth_dmac1sfcsr;
#[doc = "ETH_DMAC0CATxDR register accessor: an alias for `Reg<ETH_DMAC0CATXDR_SPEC>`"]
pub type ETH_DMAC0CATXDR = crate::Reg<eth_dmac0catx_dr::ETH_DMAC0CATXDR_SPEC>;
#[doc = "Channel current application transmit descriptor register"]
pub mod eth_dmac0catx_dr;
#[doc = "ETH_DMAC1CATxDR register accessor: an alias for `Reg<ETH_DMAC1CATXDR_SPEC>`"]
pub type ETH_DMAC1CATXDR = crate::Reg<eth_dmac1catx_dr::ETH_DMAC1CATXDR_SPEC>;
#[doc = "Channel current application transmit descriptor register"]
pub mod eth_dmac1catx_dr;
#[doc = "ETH_DMAC0CARxDR register accessor: an alias for `Reg<ETH_DMAC0CARXDR_SPEC>`"]
pub type ETH_DMAC0CARXDR = crate::Reg<eth_dmac0carx_dr::ETH_DMAC0CARXDR_SPEC>;
#[doc = "Channel 0 current application receive descriptor register"]
pub mod eth_dmac0carx_dr;
#[doc = "ETH_DMAC0CATxBR register accessor: an alias for `Reg<ETH_DMAC0CATXBR_SPEC>`"]
pub type ETH_DMAC0CATXBR = crate::Reg<eth_dmac0catx_br::ETH_DMAC0CATXBR_SPEC>;
#[doc = "Channel 0 current application transmit buffer register"]
pub mod eth_dmac0catx_br;
#[doc = "ETH_DMAC1CATxBR register accessor: an alias for `Reg<ETH_DMAC1CATXBR_SPEC>`"]
pub type ETH_DMAC1CATXBR = crate::Reg<eth_dmac1catx_br::ETH_DMAC1CATXBR_SPEC>;
#[doc = "Channel 0 current application transmit buffer register"]
pub mod eth_dmac1catx_br;
#[doc = "ETH_DMAC0CARxBR register accessor: an alias for `Reg<ETH_DMAC0CARXBR_SPEC>`"]
pub type ETH_DMAC0CARXBR = crate::Reg<eth_dmac0carx_br::ETH_DMAC0CARXBR_SPEC>;
#[doc = "Channel current application receive buffer register"]
pub mod eth_dmac0carx_br;
#[doc = "ETH_DMAC0SR register accessor: an alias for `Reg<ETH_DMAC0SR_SPEC>`"]
pub type ETH_DMAC0SR = crate::Reg<eth_dmac0sr::ETH_DMAC0SR_SPEC>;
#[doc = "Channel status register"]
pub mod eth_dmac0sr;
#[doc = "ETH_DMAC1SR register accessor: an alias for `Reg<ETH_DMAC1SR_SPEC>`"]
pub type ETH_DMAC1SR = crate::Reg<eth_dmac1sr::ETH_DMAC1SR_SPEC>;
#[doc = "Channel status register"]
pub mod eth_dmac1sr;
#[doc = "ETH_DMAC0MFCR register accessor: an alias for `Reg<ETH_DMAC0MFCR_SPEC>`"]
pub type ETH_DMAC0MFCR = crate::Reg<eth_dmac0mfcr::ETH_DMAC0MFCR_SPEC>;
#[doc = "Channel missed frame count register"]
pub mod eth_dmac0mfcr;
#[doc = "ETH_DMAC1MFCR register accessor: an alias for `Reg<ETH_DMAC1MFCR_SPEC>`"]
pub type ETH_DMAC1MFCR = crate::Reg<eth_dmac1mfcr::ETH_DMAC1MFCR_SPEC>;
#[doc = "Channel missed frame count register"]
pub mod eth_dmac1mfcr;