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