1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - DMA Status Registers"]
5 pub status: crate::Reg<status::STATUS_SPEC>,
6 #[doc = "0x04 - DMA Configuration Register"]
7 pub config: crate::Reg<config::CONFIG_SPEC>,
8 #[doc = "0x08 - Channel Control Data Base Pointer Register"]
9 pub ctrlbase: crate::Reg<ctrlbase::CTRLBASE_SPEC>,
10 #[doc = "0x0c - Channel Alternate Control Data Base Pointer Register"]
11 pub altctrlbase: crate::Reg<altctrlbase::ALTCTRLBASE_SPEC>,
12 #[doc = "0x10 - Channel Wait on Request Status Register"]
13 pub chwaitstatus: crate::Reg<chwaitstatus::CHWAITSTATUS_SPEC>,
14 #[doc = "0x14 - Channel Software Request Register"]
15 pub chswreq: crate::Reg<chswreq::CHSWREQ_SPEC>,
16 #[doc = "0x18 - Channel Useburst Set Register"]
17 pub chusebursts: crate::Reg<chusebursts::CHUSEBURSTS_SPEC>,
18 #[doc = "0x1c - Channel Useburst Clear Register"]
19 pub chuseburstc: crate::Reg<chuseburstc::CHUSEBURSTC_SPEC>,
20 #[doc = "0x20 - Channel Request Mask Set Register"]
21 pub chreqmasks: crate::Reg<chreqmasks::CHREQMASKS_SPEC>,
22 #[doc = "0x24 - Channel Request Mask Clear Register"]
23 pub chreqmaskc: crate::Reg<chreqmaskc::CHREQMASKC_SPEC>,
24 #[doc = "0x28 - Channel Enable Set Register"]
25 pub chens: crate::Reg<chens::CHENS_SPEC>,
26 #[doc = "0x2c - Channel Enable Clear Register"]
27 pub chenc: crate::Reg<chenc::CHENC_SPEC>,
28 #[doc = "0x30 - Channel Alternate Set Register"]
29 pub chalts: crate::Reg<chalts::CHALTS_SPEC>,
30 #[doc = "0x34 - Channel Alternate Clear Register"]
31 pub chaltc: crate::Reg<chaltc::CHALTC_SPEC>,
32 #[doc = "0x38 - Channel Priority Set Register"]
33 pub chpris: crate::Reg<chpris::CHPRIS_SPEC>,
34 #[doc = "0x3c - Channel Priority Clear Register"]
35 pub chpric: crate::Reg<chpric::CHPRIC_SPEC>,
36 _reserved16: [u8; 0x0c],
37 #[doc = "0x4c - Bus Error Clear Register"]
38 pub errorc: crate::Reg<errorc::ERRORC_SPEC>,
39 _reserved17: [u8; 0x0dc0],
40 #[doc = "0xe10 - Channel Request Status"]
41 pub chreqstatus: crate::Reg<chreqstatus::CHREQSTATUS_SPEC>,
42 _reserved18: [u8; 0x04],
43 #[doc = "0xe18 - Channel Single Request Status"]
44 pub chsreqstatus: crate::Reg<chsreqstatus::CHSREQSTATUS_SPEC>,
45 _reserved19: [u8; 0x01e4],
46 #[doc = "0x1000 - Interrupt Flag Register"]
47 pub if_: crate::Reg<if_::IF_SPEC>,
48 #[doc = "0x1004 - Interrupt Flag Set Register"]
49 pub ifs: crate::Reg<ifs::IFS_SPEC>,
50 #[doc = "0x1008 - Interrupt Flag Clear Register"]
51 pub ifc: crate::Reg<ifc::IFC_SPEC>,
52 #[doc = "0x100c - Interrupt Enable register"]
53 pub ien: crate::Reg<ien::IEN_SPEC>,
54 #[doc = "0x1010 - DMA Control Register"]
55 pub ctrl: crate::Reg<ctrl::CTRL_SPEC>,
56 #[doc = "0x1014 - DMA Retain Descriptor State"]
57 pub rds: crate::Reg<rds::RDS_SPEC>,
58 _reserved25: [u8; 0x08],
59 #[doc = "0x1020 - Channel 0 Loop Register"]
60 pub loop0: crate::Reg<loop0::LOOP0_SPEC>,
61 #[doc = "0x1024 - Channel 1 Loop Register"]
62 pub loop1: crate::Reg<loop1::LOOP1_SPEC>,
63 _reserved27: [u8; 0x38],
64 #[doc = "0x1060 - Channel 0 Rectangle Register"]
65 pub rect0: crate::Reg<rect0::RECT0_SPEC>,
66 _reserved28: [u8; 0x9c],
67 #[doc = "0x1100 - Channel Control Register"]
68 pub ch0_ctrl: crate::Reg<ch0_ctrl::CH0_CTRL_SPEC>,
69 #[doc = "0x1104 - Channel Control Register"]
70 pub ch1_ctrl: crate::Reg<ch1_ctrl::CH1_CTRL_SPEC>,
71 #[doc = "0x1108 - Channel Control Register"]
72 pub ch2_ctrl: crate::Reg<ch2_ctrl::CH2_CTRL_SPEC>,
73 #[doc = "0x110c - Channel Control Register"]
74 pub ch3_ctrl: crate::Reg<ch3_ctrl::CH3_CTRL_SPEC>,
75 #[doc = "0x1110 - Channel Control Register"]
76 pub ch4_ctrl: crate::Reg<ch4_ctrl::CH4_CTRL_SPEC>,
77 #[doc = "0x1114 - Channel Control Register"]
78 pub ch5_ctrl: crate::Reg<ch5_ctrl::CH5_CTRL_SPEC>,
79 #[doc = "0x1118 - Channel Control Register"]
80 pub ch6_ctrl: crate::Reg<ch6_ctrl::CH6_CTRL_SPEC>,
81 #[doc = "0x111c - Channel Control Register"]
82 pub ch7_ctrl: crate::Reg<ch7_ctrl::CH7_CTRL_SPEC>,
83 #[doc = "0x1120 - Channel Control Register"]
84 pub ch8_ctrl: crate::Reg<ch8_ctrl::CH8_CTRL_SPEC>,
85 #[doc = "0x1124 - Channel Control Register"]
86 pub ch9_ctrl: crate::Reg<ch9_ctrl::CH9_CTRL_SPEC>,
87 #[doc = "0x1128 - Channel Control Register"]
88 pub ch10_ctrl: crate::Reg<ch10_ctrl::CH10_CTRL_SPEC>,
89 #[doc = "0x112c - Channel Control Register"]
90 pub ch11_ctrl: crate::Reg<ch11_ctrl::CH11_CTRL_SPEC>,
91}
92#[doc = "STATUS register accessor: an alias for `Reg<STATUS_SPEC>`"]
93pub type STATUS = crate::Reg<status::STATUS_SPEC>;
94#[doc = "DMA Status Registers"]
95pub mod status;
96#[doc = "CONFIG register accessor: an alias for `Reg<CONFIG_SPEC>`"]
97pub type CONFIG = crate::Reg<config::CONFIG_SPEC>;
98#[doc = "DMA Configuration Register"]
99pub mod config;
100#[doc = "CTRLBASE register accessor: an alias for `Reg<CTRLBASE_SPEC>`"]
101pub type CTRLBASE = crate::Reg<ctrlbase::CTRLBASE_SPEC>;
102#[doc = "Channel Control Data Base Pointer Register"]
103pub mod ctrlbase;
104#[doc = "ALTCTRLBASE register accessor: an alias for `Reg<ALTCTRLBASE_SPEC>`"]
105pub type ALTCTRLBASE = crate::Reg<altctrlbase::ALTCTRLBASE_SPEC>;
106#[doc = "Channel Alternate Control Data Base Pointer Register"]
107pub mod altctrlbase;
108#[doc = "CHWAITSTATUS register accessor: an alias for `Reg<CHWAITSTATUS_SPEC>`"]
109pub type CHWAITSTATUS = crate::Reg<chwaitstatus::CHWAITSTATUS_SPEC>;
110#[doc = "Channel Wait on Request Status Register"]
111pub mod chwaitstatus;
112#[doc = "CHSWREQ register accessor: an alias for `Reg<CHSWREQ_SPEC>`"]
113pub type CHSWREQ = crate::Reg<chswreq::CHSWREQ_SPEC>;
114#[doc = "Channel Software Request Register"]
115pub mod chswreq;
116#[doc = "CHUSEBURSTS register accessor: an alias for `Reg<CHUSEBURSTS_SPEC>`"]
117pub type CHUSEBURSTS = crate::Reg<chusebursts::CHUSEBURSTS_SPEC>;
118#[doc = "Channel Useburst Set Register"]
119pub mod chusebursts;
120#[doc = "CHUSEBURSTC register accessor: an alias for `Reg<CHUSEBURSTC_SPEC>`"]
121pub type CHUSEBURSTC = crate::Reg<chuseburstc::CHUSEBURSTC_SPEC>;
122#[doc = "Channel Useburst Clear Register"]
123pub mod chuseburstc;
124#[doc = "CHREQMASKS register accessor: an alias for `Reg<CHREQMASKS_SPEC>`"]
125pub type CHREQMASKS = crate::Reg<chreqmasks::CHREQMASKS_SPEC>;
126#[doc = "Channel Request Mask Set Register"]
127pub mod chreqmasks;
128#[doc = "CHREQMASKC register accessor: an alias for `Reg<CHREQMASKC_SPEC>`"]
129pub type CHREQMASKC = crate::Reg<chreqmaskc::CHREQMASKC_SPEC>;
130#[doc = "Channel Request Mask Clear Register"]
131pub mod chreqmaskc;
132#[doc = "CHENS register accessor: an alias for `Reg<CHENS_SPEC>`"]
133pub type CHENS = crate::Reg<chens::CHENS_SPEC>;
134#[doc = "Channel Enable Set Register"]
135pub mod chens;
136#[doc = "CHENC register accessor: an alias for `Reg<CHENC_SPEC>`"]
137pub type CHENC = crate::Reg<chenc::CHENC_SPEC>;
138#[doc = "Channel Enable Clear Register"]
139pub mod chenc;
140#[doc = "CHALTS register accessor: an alias for `Reg<CHALTS_SPEC>`"]
141pub type CHALTS = crate::Reg<chalts::CHALTS_SPEC>;
142#[doc = "Channel Alternate Set Register"]
143pub mod chalts;
144#[doc = "CHALTC register accessor: an alias for `Reg<CHALTC_SPEC>`"]
145pub type CHALTC = crate::Reg<chaltc::CHALTC_SPEC>;
146#[doc = "Channel Alternate Clear Register"]
147pub mod chaltc;
148#[doc = "CHPRIS register accessor: an alias for `Reg<CHPRIS_SPEC>`"]
149pub type CHPRIS = crate::Reg<chpris::CHPRIS_SPEC>;
150#[doc = "Channel Priority Set Register"]
151pub mod chpris;
152#[doc = "CHPRIC register accessor: an alias for `Reg<CHPRIC_SPEC>`"]
153pub type CHPRIC = crate::Reg<chpric::CHPRIC_SPEC>;
154#[doc = "Channel Priority Clear Register"]
155pub mod chpric;
156#[doc = "ERRORC register accessor: an alias for `Reg<ERRORC_SPEC>`"]
157pub type ERRORC = crate::Reg<errorc::ERRORC_SPEC>;
158#[doc = "Bus Error Clear Register"]
159pub mod errorc;
160#[doc = "CHREQSTATUS register accessor: an alias for `Reg<CHREQSTATUS_SPEC>`"]
161pub type CHREQSTATUS = crate::Reg<chreqstatus::CHREQSTATUS_SPEC>;
162#[doc = "Channel Request Status"]
163pub mod chreqstatus;
164#[doc = "CHSREQSTATUS register accessor: an alias for `Reg<CHSREQSTATUS_SPEC>`"]
165pub type CHSREQSTATUS = crate::Reg<chsreqstatus::CHSREQSTATUS_SPEC>;
166#[doc = "Channel Single Request Status"]
167pub mod chsreqstatus;
168#[doc = "IF register accessor: an alias for `Reg<IF_SPEC>`"]
169pub type IF = crate::Reg<if_::IF_SPEC>;
170#[doc = "Interrupt Flag Register"]
171pub mod if_;
172#[doc = "IFS register accessor: an alias for `Reg<IFS_SPEC>`"]
173pub type IFS = crate::Reg<ifs::IFS_SPEC>;
174#[doc = "Interrupt Flag Set Register"]
175pub mod ifs;
176#[doc = "IFC register accessor: an alias for `Reg<IFC_SPEC>`"]
177pub type IFC = crate::Reg<ifc::IFC_SPEC>;
178#[doc = "Interrupt Flag Clear Register"]
179pub mod ifc;
180#[doc = "IEN register accessor: an alias for `Reg<IEN_SPEC>`"]
181pub type IEN = crate::Reg<ien::IEN_SPEC>;
182#[doc = "Interrupt Enable register"]
183pub mod ien;
184#[doc = "CTRL register accessor: an alias for `Reg<CTRL_SPEC>`"]
185pub type CTRL = crate::Reg<ctrl::CTRL_SPEC>;
186#[doc = "DMA Control Register"]
187pub mod ctrl;
188#[doc = "RDS register accessor: an alias for `Reg<RDS_SPEC>`"]
189pub type RDS = crate::Reg<rds::RDS_SPEC>;
190#[doc = "DMA Retain Descriptor State"]
191pub mod rds;
192#[doc = "LOOP0 register accessor: an alias for `Reg<LOOP0_SPEC>`"]
193pub type LOOP0 = crate::Reg<loop0::LOOP0_SPEC>;
194#[doc = "Channel 0 Loop Register"]
195pub mod loop0;
196#[doc = "LOOP1 register accessor: an alias for `Reg<LOOP1_SPEC>`"]
197pub type LOOP1 = crate::Reg<loop1::LOOP1_SPEC>;
198#[doc = "Channel 1 Loop Register"]
199pub mod loop1;
200#[doc = "RECT0 register accessor: an alias for `Reg<RECT0_SPEC>`"]
201pub type RECT0 = crate::Reg<rect0::RECT0_SPEC>;
202#[doc = "Channel 0 Rectangle Register"]
203pub mod rect0;
204#[doc = "CH0_CTRL register accessor: an alias for `Reg<CH0_CTRL_SPEC>`"]
205pub type CH0_CTRL = crate::Reg<ch0_ctrl::CH0_CTRL_SPEC>;
206#[doc = "Channel Control Register"]
207pub mod ch0_ctrl;
208#[doc = "CH1_CTRL register accessor: an alias for `Reg<CH1_CTRL_SPEC>`"]
209pub type CH1_CTRL = crate::Reg<ch1_ctrl::CH1_CTRL_SPEC>;
210#[doc = "Channel Control Register"]
211pub mod ch1_ctrl;
212#[doc = "CH2_CTRL register accessor: an alias for `Reg<CH2_CTRL_SPEC>`"]
213pub type CH2_CTRL = crate::Reg<ch2_ctrl::CH2_CTRL_SPEC>;
214#[doc = "Channel Control Register"]
215pub mod ch2_ctrl;
216#[doc = "CH3_CTRL register accessor: an alias for `Reg<CH3_CTRL_SPEC>`"]
217pub type CH3_CTRL = crate::Reg<ch3_ctrl::CH3_CTRL_SPEC>;
218#[doc = "Channel Control Register"]
219pub mod ch3_ctrl;
220#[doc = "CH4_CTRL register accessor: an alias for `Reg<CH4_CTRL_SPEC>`"]
221pub type CH4_CTRL = crate::Reg<ch4_ctrl::CH4_CTRL_SPEC>;
222#[doc = "Channel Control Register"]
223pub mod ch4_ctrl;
224#[doc = "CH5_CTRL register accessor: an alias for `Reg<CH5_CTRL_SPEC>`"]
225pub type CH5_CTRL = crate::Reg<ch5_ctrl::CH5_CTRL_SPEC>;
226#[doc = "Channel Control Register"]
227pub mod ch5_ctrl;
228#[doc = "CH6_CTRL register accessor: an alias for `Reg<CH6_CTRL_SPEC>`"]
229pub type CH6_CTRL = crate::Reg<ch6_ctrl::CH6_CTRL_SPEC>;
230#[doc = "Channel Control Register"]
231pub mod ch6_ctrl;
232#[doc = "CH7_CTRL register accessor: an alias for `Reg<CH7_CTRL_SPEC>`"]
233pub type CH7_CTRL = crate::Reg<ch7_ctrl::CH7_CTRL_SPEC>;
234#[doc = "Channel Control Register"]
235pub mod ch7_ctrl;
236#[doc = "CH8_CTRL register accessor: an alias for `Reg<CH8_CTRL_SPEC>`"]
237pub type CH8_CTRL = crate::Reg<ch8_ctrl::CH8_CTRL_SPEC>;
238#[doc = "Channel Control Register"]
239pub mod ch8_ctrl;
240#[doc = "CH9_CTRL register accessor: an alias for `Reg<CH9_CTRL_SPEC>`"]
241pub type CH9_CTRL = crate::Reg<ch9_ctrl::CH9_CTRL_SPEC>;
242#[doc = "Channel Control Register"]
243pub mod ch9_ctrl;
244#[doc = "CH10_CTRL register accessor: an alias for `Reg<CH10_CTRL_SPEC>`"]
245pub type CH10_CTRL = crate::Reg<ch10_ctrl::CH10_CTRL_SPEC>;
246#[doc = "Channel Control Register"]
247pub mod ch10_ctrl;
248#[doc = "CH11_CTRL register accessor: an alias for `Reg<CH11_CTRL_SPEC>`"]
249pub type CH11_CTRL = crate::Reg<ch11_ctrl::CH11_CTRL_SPEC>;
250#[doc = "Channel Control Register"]
251pub mod ch11_ctrl;