1#[doc = r"Register block"]
2#[repr(C)]
3pub struct RegisterBlock {
4 #[doc = "0x00 - Control Register"]
5 pub ctrl: crate::Reg<ctrl::CTRL_SPEC>,
6 #[doc = "0x04 - Address Timing Register"]
7 pub addrtiming: crate::Reg<addrtiming::ADDRTIMING_SPEC>,
8 #[doc = "0x08 - Read Timing Register"]
9 pub rdtiming: crate::Reg<rdtiming::RDTIMING_SPEC>,
10 #[doc = "0x0c - Write Timing Register"]
11 pub wrtiming: crate::Reg<wrtiming::WRTIMING_SPEC>,
12 #[doc = "0x10 - Polarity Register"]
13 pub polarity: crate::Reg<polarity::POLARITY_SPEC>,
14 _reserved5: [u8; 0x04],
15 #[doc = "0x18 - Address Timing Register 1"]
16 pub addrtiming1: crate::Reg<addrtiming1::ADDRTIMING1_SPEC>,
17 #[doc = "0x1c - Read Timing Register 1"]
18 pub rdtiming1: crate::Reg<rdtiming1::RDTIMING1_SPEC>,
19 #[doc = "0x20 - Write Timing Register 1"]
20 pub wrtiming1: crate::Reg<wrtiming1::WRTIMING1_SPEC>,
21 #[doc = "0x24 - Polarity Register 1"]
22 pub polarity1: crate::Reg<polarity1::POLARITY1_SPEC>,
23 #[doc = "0x28 - Address Timing Register 2"]
24 pub addrtiming2: crate::Reg<addrtiming2::ADDRTIMING2_SPEC>,
25 #[doc = "0x2c - Read Timing Register 2"]
26 pub rdtiming2: crate::Reg<rdtiming2::RDTIMING2_SPEC>,
27 #[doc = "0x30 - Write Timing Register 2"]
28 pub wrtiming2: crate::Reg<wrtiming2::WRTIMING2_SPEC>,
29 #[doc = "0x34 - Polarity Register 2"]
30 pub polarity2: crate::Reg<polarity2::POLARITY2_SPEC>,
31 #[doc = "0x38 - Address Timing Register 3"]
32 pub addrtiming3: crate::Reg<addrtiming3::ADDRTIMING3_SPEC>,
33 #[doc = "0x3c - Read Timing Register 3"]
34 pub rdtiming3: crate::Reg<rdtiming3::RDTIMING3_SPEC>,
35 #[doc = "0x40 - Write Timing Register 3"]
36 pub wrtiming3: crate::Reg<wrtiming3::WRTIMING3_SPEC>,
37 #[doc = "0x44 - Polarity Register 3"]
38 pub polarity3: crate::Reg<polarity3::POLARITY3_SPEC>,
39 #[doc = "0x48 - Page Control Register"]
40 pub pagectrl: crate::Reg<pagectrl::PAGECTRL_SPEC>,
41 #[doc = "0x4c - NAND Control Register"]
42 pub nandctrl: crate::Reg<nandctrl::NANDCTRL_SPEC>,
43 #[doc = "0x50 - Command Register"]
44 pub cmd: crate::Reg<cmd::CMD_SPEC>,
45 #[doc = "0x54 - Status Register"]
46 pub status: crate::Reg<status::STATUS_SPEC>,
47 #[doc = "0x58 - ECC Parity Register"]
48 pub eccparity: crate::Reg<eccparity::ECCPARITY_SPEC>,
49 #[doc = "0x5c - TFT Control Register"]
50 pub tftctrl: crate::Reg<tftctrl::TFTCTRL_SPEC>,
51 #[doc = "0x60 - TFT Status Register"]
52 pub tftstatus: crate::Reg<tftstatus::TFTSTATUS_SPEC>,
53 #[doc = "0x64 - Color Format Register"]
54 pub tftcolorformat: crate::Reg<tftcolorformat::TFTCOLORFORMAT_SPEC>,
55 #[doc = "0x68 - TFT Frame Base Register"]
56 pub tftframebase: crate::Reg<tftframebase::TFTFRAMEBASE_SPEC>,
57 _reserved26: [u8; 0x04],
58 #[doc = "0x70 - TFT Stride Register"]
59 pub tftstride: crate::Reg<tftstride::TFTSTRIDE_SPEC>,
60 #[doc = "0x74 - TFT Size Register"]
61 pub tftsize: crate::Reg<tftsize::TFTSIZE_SPEC>,
62 #[doc = "0x78 - TFT Horizontal Porch Register"]
63 pub tfthporch: crate::Reg<tfthporch::TFTHPORCH_SPEC>,
64 #[doc = "0x7c - TFT Vertical Porch Register"]
65 pub tftvporch: crate::Reg<tftvporch::TFTVPORCH_SPEC>,
66 #[doc = "0x80 - TFT Timing Register"]
67 pub tfttiming: crate::Reg<tfttiming::TFTTIMING_SPEC>,
68 #[doc = "0x84 - TFT Polarity Register"]
69 pub tftpolarity: crate::Reg<tftpolarity::TFTPOLARITY_SPEC>,
70 #[doc = "0x88 - TFT Direct Drive Data Register"]
71 pub tftdd: crate::Reg<tftdd::TFTDD_SPEC>,
72 #[doc = "0x8c - TFT Alpha Blending Register"]
73 pub tftalpha: crate::Reg<tftalpha::TFTALPHA_SPEC>,
74 #[doc = "0x90 - TFT Pixel 0 Register"]
75 pub tftpixel0: crate::Reg<tftpixel0::TFTPIXEL0_SPEC>,
76 #[doc = "0x94 - TFT Pixel 1 Register"]
77 pub tftpixel1: crate::Reg<tftpixel1::TFTPIXEL1_SPEC>,
78 #[doc = "0x98 - TFT Alpha Blending Result Pixel Register"]
79 pub tftpixel: crate::Reg<tftpixel::TFTPIXEL_SPEC>,
80 #[doc = "0x9c - TFT Masking Register"]
81 pub tftmask: crate::Reg<tftmask::TFTMASK_SPEC>,
82 #[doc = "0xa0 - Interrupt Flag Register"]
83 pub if_: crate::Reg<if_::IF_SPEC>,
84 #[doc = "0xa4 - Interrupt Flag Set Register"]
85 pub ifs: crate::Reg<ifs::IFS_SPEC>,
86 #[doc = "0xa8 - Interrupt Flag Clear Register"]
87 pub ifc: crate::Reg<ifc::IFC_SPEC>,
88 #[doc = "0xac - Interrupt Enable Register"]
89 pub ien: crate::Reg<ien::IEN_SPEC>,
90 #[doc = "0xb0 - I/O Routing Register"]
91 pub routepen: crate::Reg<routepen::ROUTEPEN_SPEC>,
92 #[doc = "0xb4 - I/O Routing Location Register"]
93 pub routeloc0: crate::Reg<routeloc0::ROUTELOC0_SPEC>,
94 #[doc = "0xb8 - I/O Routing Location Register"]
95 pub routeloc1: crate::Reg<routeloc1::ROUTELOC1_SPEC>,
96}
97#[doc = "CTRL register accessor: an alias for `Reg<CTRL_SPEC>`"]
98pub type CTRL = crate::Reg<ctrl::CTRL_SPEC>;
99#[doc = "Control Register"]
100pub mod ctrl;
101#[doc = "ADDRTIMING register accessor: an alias for `Reg<ADDRTIMING_SPEC>`"]
102pub type ADDRTIMING = crate::Reg<addrtiming::ADDRTIMING_SPEC>;
103#[doc = "Address Timing Register"]
104pub mod addrtiming;
105#[doc = "RDTIMING register accessor: an alias for `Reg<RDTIMING_SPEC>`"]
106pub type RDTIMING = crate::Reg<rdtiming::RDTIMING_SPEC>;
107#[doc = "Read Timing Register"]
108pub mod rdtiming;
109#[doc = "WRTIMING register accessor: an alias for `Reg<WRTIMING_SPEC>`"]
110pub type WRTIMING = crate::Reg<wrtiming::WRTIMING_SPEC>;
111#[doc = "Write Timing Register"]
112pub mod wrtiming;
113#[doc = "POLARITY register accessor: an alias for `Reg<POLARITY_SPEC>`"]
114pub type POLARITY = crate::Reg<polarity::POLARITY_SPEC>;
115#[doc = "Polarity Register"]
116pub mod polarity;
117#[doc = "ADDRTIMING1 register accessor: an alias for `Reg<ADDRTIMING1_SPEC>`"]
118pub type ADDRTIMING1 = crate::Reg<addrtiming1::ADDRTIMING1_SPEC>;
119#[doc = "Address Timing Register 1"]
120pub mod addrtiming1;
121#[doc = "RDTIMING1 register accessor: an alias for `Reg<RDTIMING1_SPEC>`"]
122pub type RDTIMING1 = crate::Reg<rdtiming1::RDTIMING1_SPEC>;
123#[doc = "Read Timing Register 1"]
124pub mod rdtiming1;
125#[doc = "WRTIMING1 register accessor: an alias for `Reg<WRTIMING1_SPEC>`"]
126pub type WRTIMING1 = crate::Reg<wrtiming1::WRTIMING1_SPEC>;
127#[doc = "Write Timing Register 1"]
128pub mod wrtiming1;
129#[doc = "POLARITY1 register accessor: an alias for `Reg<POLARITY1_SPEC>`"]
130pub type POLARITY1 = crate::Reg<polarity1::POLARITY1_SPEC>;
131#[doc = "Polarity Register 1"]
132pub mod polarity1;
133#[doc = "ADDRTIMING2 register accessor: an alias for `Reg<ADDRTIMING2_SPEC>`"]
134pub type ADDRTIMING2 = crate::Reg<addrtiming2::ADDRTIMING2_SPEC>;
135#[doc = "Address Timing Register 2"]
136pub mod addrtiming2;
137#[doc = "RDTIMING2 register accessor: an alias for `Reg<RDTIMING2_SPEC>`"]
138pub type RDTIMING2 = crate::Reg<rdtiming2::RDTIMING2_SPEC>;
139#[doc = "Read Timing Register 2"]
140pub mod rdtiming2;
141#[doc = "WRTIMING2 register accessor: an alias for `Reg<WRTIMING2_SPEC>`"]
142pub type WRTIMING2 = crate::Reg<wrtiming2::WRTIMING2_SPEC>;
143#[doc = "Write Timing Register 2"]
144pub mod wrtiming2;
145#[doc = "POLARITY2 register accessor: an alias for `Reg<POLARITY2_SPEC>`"]
146pub type POLARITY2 = crate::Reg<polarity2::POLARITY2_SPEC>;
147#[doc = "Polarity Register 2"]
148pub mod polarity2;
149#[doc = "ADDRTIMING3 register accessor: an alias for `Reg<ADDRTIMING3_SPEC>`"]
150pub type ADDRTIMING3 = crate::Reg<addrtiming3::ADDRTIMING3_SPEC>;
151#[doc = "Address Timing Register 3"]
152pub mod addrtiming3;
153#[doc = "RDTIMING3 register accessor: an alias for `Reg<RDTIMING3_SPEC>`"]
154pub type RDTIMING3 = crate::Reg<rdtiming3::RDTIMING3_SPEC>;
155#[doc = "Read Timing Register 3"]
156pub mod rdtiming3;
157#[doc = "WRTIMING3 register accessor: an alias for `Reg<WRTIMING3_SPEC>`"]
158pub type WRTIMING3 = crate::Reg<wrtiming3::WRTIMING3_SPEC>;
159#[doc = "Write Timing Register 3"]
160pub mod wrtiming3;
161#[doc = "POLARITY3 register accessor: an alias for `Reg<POLARITY3_SPEC>`"]
162pub type POLARITY3 = crate::Reg<polarity3::POLARITY3_SPEC>;
163#[doc = "Polarity Register 3"]
164pub mod polarity3;
165#[doc = "PAGECTRL register accessor: an alias for `Reg<PAGECTRL_SPEC>`"]
166pub type PAGECTRL = crate::Reg<pagectrl::PAGECTRL_SPEC>;
167#[doc = "Page Control Register"]
168pub mod pagectrl;
169#[doc = "NANDCTRL register accessor: an alias for `Reg<NANDCTRL_SPEC>`"]
170pub type NANDCTRL = crate::Reg<nandctrl::NANDCTRL_SPEC>;
171#[doc = "NAND Control Register"]
172pub mod nandctrl;
173#[doc = "CMD register accessor: an alias for `Reg<CMD_SPEC>`"]
174pub type CMD = crate::Reg<cmd::CMD_SPEC>;
175#[doc = "Command Register"]
176pub mod cmd;
177#[doc = "STATUS register accessor: an alias for `Reg<STATUS_SPEC>`"]
178pub type STATUS = crate::Reg<status::STATUS_SPEC>;
179#[doc = "Status Register"]
180pub mod status;
181#[doc = "ECCPARITY register accessor: an alias for `Reg<ECCPARITY_SPEC>`"]
182pub type ECCPARITY = crate::Reg<eccparity::ECCPARITY_SPEC>;
183#[doc = "ECC Parity Register"]
184pub mod eccparity;
185#[doc = "TFTCTRL register accessor: an alias for `Reg<TFTCTRL_SPEC>`"]
186pub type TFTCTRL = crate::Reg<tftctrl::TFTCTRL_SPEC>;
187#[doc = "TFT Control Register"]
188pub mod tftctrl;
189#[doc = "TFTSTATUS register accessor: an alias for `Reg<TFTSTATUS_SPEC>`"]
190pub type TFTSTATUS = crate::Reg<tftstatus::TFTSTATUS_SPEC>;
191#[doc = "TFT Status Register"]
192pub mod tftstatus;
193#[doc = "TFTCOLORFORMAT register accessor: an alias for `Reg<TFTCOLORFORMAT_SPEC>`"]
194pub type TFTCOLORFORMAT = crate::Reg<tftcolorformat::TFTCOLORFORMAT_SPEC>;
195#[doc = "Color Format Register"]
196pub mod tftcolorformat;
197#[doc = "TFTFRAMEBASE register accessor: an alias for `Reg<TFTFRAMEBASE_SPEC>`"]
198pub type TFTFRAMEBASE = crate::Reg<tftframebase::TFTFRAMEBASE_SPEC>;
199#[doc = "TFT Frame Base Register"]
200pub mod tftframebase;
201#[doc = "TFTSTRIDE register accessor: an alias for `Reg<TFTSTRIDE_SPEC>`"]
202pub type TFTSTRIDE = crate::Reg<tftstride::TFTSTRIDE_SPEC>;
203#[doc = "TFT Stride Register"]
204pub mod tftstride;
205#[doc = "TFTSIZE register accessor: an alias for `Reg<TFTSIZE_SPEC>`"]
206pub type TFTSIZE = crate::Reg<tftsize::TFTSIZE_SPEC>;
207#[doc = "TFT Size Register"]
208pub mod tftsize;
209#[doc = "TFTHPORCH register accessor: an alias for `Reg<TFTHPORCH_SPEC>`"]
210pub type TFTHPORCH = crate::Reg<tfthporch::TFTHPORCH_SPEC>;
211#[doc = "TFT Horizontal Porch Register"]
212pub mod tfthporch;
213#[doc = "TFTVPORCH register accessor: an alias for `Reg<TFTVPORCH_SPEC>`"]
214pub type TFTVPORCH = crate::Reg<tftvporch::TFTVPORCH_SPEC>;
215#[doc = "TFT Vertical Porch Register"]
216pub mod tftvporch;
217#[doc = "TFTTIMING register accessor: an alias for `Reg<TFTTIMING_SPEC>`"]
218pub type TFTTIMING = crate::Reg<tfttiming::TFTTIMING_SPEC>;
219#[doc = "TFT Timing Register"]
220pub mod tfttiming;
221#[doc = "TFTPOLARITY register accessor: an alias for `Reg<TFTPOLARITY_SPEC>`"]
222pub type TFTPOLARITY = crate::Reg<tftpolarity::TFTPOLARITY_SPEC>;
223#[doc = "TFT Polarity Register"]
224pub mod tftpolarity;
225#[doc = "TFTDD register accessor: an alias for `Reg<TFTDD_SPEC>`"]
226pub type TFTDD = crate::Reg<tftdd::TFTDD_SPEC>;
227#[doc = "TFT Direct Drive Data Register"]
228pub mod tftdd;
229#[doc = "TFTALPHA register accessor: an alias for `Reg<TFTALPHA_SPEC>`"]
230pub type TFTALPHA = crate::Reg<tftalpha::TFTALPHA_SPEC>;
231#[doc = "TFT Alpha Blending Register"]
232pub mod tftalpha;
233#[doc = "TFTPIXEL0 register accessor: an alias for `Reg<TFTPIXEL0_SPEC>`"]
234pub type TFTPIXEL0 = crate::Reg<tftpixel0::TFTPIXEL0_SPEC>;
235#[doc = "TFT Pixel 0 Register"]
236pub mod tftpixel0;
237#[doc = "TFTPIXEL1 register accessor: an alias for `Reg<TFTPIXEL1_SPEC>`"]
238pub type TFTPIXEL1 = crate::Reg<tftpixel1::TFTPIXEL1_SPEC>;
239#[doc = "TFT Pixel 1 Register"]
240pub mod tftpixel1;
241#[doc = "TFTPIXEL register accessor: an alias for `Reg<TFTPIXEL_SPEC>`"]
242pub type TFTPIXEL = crate::Reg<tftpixel::TFTPIXEL_SPEC>;
243#[doc = "TFT Alpha Blending Result Pixel Register"]
244pub mod tftpixel;
245#[doc = "TFTMASK register accessor: an alias for `Reg<TFTMASK_SPEC>`"]
246pub type TFTMASK = crate::Reg<tftmask::TFTMASK_SPEC>;
247#[doc = "TFT Masking Register"]
248pub mod tftmask;
249#[doc = "IF register accessor: an alias for `Reg<IF_SPEC>`"]
250pub type IF = crate::Reg<if_::IF_SPEC>;
251#[doc = "Interrupt Flag Register"]
252pub mod if_;
253#[doc = "IFS register accessor: an alias for `Reg<IFS_SPEC>`"]
254pub type IFS = crate::Reg<ifs::IFS_SPEC>;
255#[doc = "Interrupt Flag Set Register"]
256pub mod ifs;
257#[doc = "IFC register accessor: an alias for `Reg<IFC_SPEC>`"]
258pub type IFC = crate::Reg<ifc::IFC_SPEC>;
259#[doc = "Interrupt Flag Clear Register"]
260pub mod ifc;
261#[doc = "IEN register accessor: an alias for `Reg<IEN_SPEC>`"]
262pub type IEN = crate::Reg<ien::IEN_SPEC>;
263#[doc = "Interrupt Enable Register"]
264pub mod ien;
265#[doc = "ROUTEPEN register accessor: an alias for `Reg<ROUTEPEN_SPEC>`"]
266pub type ROUTEPEN = crate::Reg<routepen::ROUTEPEN_SPEC>;
267#[doc = "I/O Routing Register"]
268pub mod routepen;
269#[doc = "ROUTELOC0 register accessor: an alias for `Reg<ROUTELOC0_SPEC>`"]
270pub type ROUTELOC0 = crate::Reg<routeloc0::ROUTELOC0_SPEC>;
271#[doc = "I/O Routing Location Register"]
272pub mod routeloc0;
273#[doc = "ROUTELOC1 register accessor: an alias for `Reg<ROUTELOC1_SPEC>`"]
274pub type ROUTELOC1 = crate::Reg<routeloc1::ROUTELOC1_SPEC>;
275#[doc = "I/O Routing Location Register"]
276pub mod routeloc1;