]> git.sur5r.net Git - u-boot/blob - arch/arm/include/asm/arch-rockchip/grf_rv1108.h
rockchip: grf_rv1108.h: Fix the grf offsets
[u-boot] / arch / arm / include / asm / arch-rockchip / grf_rv1108.h
1 /*
2  * (C) Copyright 2016 Rockchip Electronics Co., Ltd
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6 #ifndef _ASM_ARCH_GRF_RV1108_H
7 #define _ASM_ARCH_GRF_RV1108_H
8
9 #include <common.h>
10
11 struct rv1108_grf {
12         u32 reserved[4];
13         u32 gpio1a_iomux;
14         u32 gpio1b_iomux;
15         u32 gpio1c_iomux;
16         u32 gpio1d_iomux;
17         u32 gpio2a_iomux;
18         u32 gpio2b_iomux;
19         u32 gpio2c_iomux;
20         u32 gpio2d_iomux;
21         u32 gpio3a_iomux;
22         u32 gpio3b_iomux;
23         u32 gpio3c_iomux;
24         u32 gpio3d_iomux;
25         u32 reserved1[52];
26         u32 gpio1a_pull;
27         u32 gpio1b_pull;
28         u32 gpio1c_pull;
29         u32 gpio1d_pull;
30         u32 gpio2a_pull;
31         u32 gpio2b_pull;
32         u32 gpio2c_pull;
33         u32 gpio2d_pull;
34         u32 gpio3a_pull;
35         u32 gpio3b_pull;
36         u32 gpio3c_pull;
37         u32 gpio3d_pull;
38         u32 reserved2[52];
39         u32 gpio1a_drv;
40         u32 gpio1b_drv;
41         u32 gpio1c_drv;
42         u32 gpio1d_drv;
43         u32 gpio2a_drv;
44         u32 gpio2b_drv;
45         u32 gpio2c_drv;
46         u32 gpio2d_drv;
47         u32 gpio3a_drv;
48         u32 gpio3b_drv;
49         u32 gpio3c_drv;
50         u32 gpio3d_drv;
51         u32 reserved3[50];
52         u32 gpio1l_sr;
53         u32 gpio1h_sr;
54         u32 gpio2l_sr;
55         u32 gpio2h_sr;
56         u32 gpio3l_sr;
57         u32 gpio3h_sr;
58         u32 reserved4[26];
59         u32 gpio1l_smt;
60         u32 gpio1h_smt;
61         u32 gpio2l_smt;
62         u32 gpio2h_smt;
63         u32 gpio3l_smt;
64         u32 gpio3h_smt;
65         u32 reserved5[24];
66         u32 soc_con0;
67         u32 soc_con1;
68         u32 soc_con2;
69         u32 soc_con3;
70         u32 soc_con4;
71         u32 soc_con5;
72         u32 soc_con6;
73         u32 soc_con7;
74         u32 soc_con8;
75         u32 soc_con9;
76         u32 soc_con10;
77         u32 soc_con11;
78         u32 reserved6[20];
79         u32 soc_status0;
80         u32 soc_status1;
81         u32 reserved7[30];
82         u32 cpu_con0;
83         u32 cpu_con1;
84         u32 reserved8[30];
85         u32 os_reg0;
86         u32 os_reg1;
87         u32 os_reg2;
88         u32 os_reg3;
89         u32 reserved9[29];
90         u32 ddr_status;
91         u32 reserved10[30];
92         u32 sig_det_con;
93         u32 reserved11[3];
94         u32 sig_det_status;
95         u32 reserved12[3];
96         u32 sig_det_clr;
97         u32 reserved13[23];
98         u32 host_con0;
99         u32 host_con1;
100         u32 reserved14[2];
101         u32 dma_con0;
102         u32 dma_con1;
103         u32 reserved15[59];
104         u32 uoc_status;
105         u32 reserved16[2];
106         u32 host_status;
107         u32 reserved17[59];
108         u32 gmac_con0;
109         u32 reserved18[191];
110         u32 chip_id;
111 };
112
113 check_member(rv1108_grf, chip_id, 0x0c00);
114
115 /* GRF_GPIO1B_IOMUX */
116 enum {
117         GPIO1B7_SHIFT           = 14,
118         GPIO1B7_MASK            = 3 << GPIO1B7_SHIFT,
119         GPIO1B7_GPIO            = 0,
120         GPIO1B7_LCDC_D12,
121         GPIO1B7_I2S_SDIO2_M0,
122         GPIO1B7_GMAC_RXDV,
123
124         GPIO1B6_SHIFT           = 12,
125         GPIO1B6_MASK            = 3 << GPIO1B6_SHIFT,
126         GPIO1B6_GPIO            = 0,
127         GPIO1B6_LCDC_D13,
128         GPIO1B6_I2S_LRCLKTX_M0,
129         GPIO1B6_GMAC_RXD1,
130
131         GPIO1B5_SHIFT           = 10,
132         GPIO1B5_MASK            = 3 << GPIO1B5_SHIFT,
133         GPIO1B5_GPIO            = 0,
134         GPIO1B5_LCDC_D14,
135         GPIO1B5_I2S_SDIO1_M0,
136         GPIO1B5_GMAC_RXD0,
137
138         GPIO1B4_SHIFT           = 8,
139         GPIO1B4_MASK            = 3 << GPIO1B4_SHIFT,
140         GPIO1B4_GPIO            = 0,
141         GPIO1B4_LCDC_D15,
142         GPIO1B4_I2S_MCLK_M0,
143         GPIO1B4_GMAC_TXEN,
144
145         GPIO1B3_SHIFT           = 6,
146         GPIO1B3_MASK            = 3 << GPIO1B3_SHIFT,
147         GPIO1B3_GPIO            = 0,
148         GPIO1B3_LCDC_D16,
149         GPIO1B3_I2S_SCLK_M0,
150         GPIO1B3_GMAC_TXD1,
151
152         GPIO1B2_SHIFT           = 4,
153         GPIO1B2_MASK            = 3 << GPIO1B2_SHIFT,
154         GPIO1B2_GPIO            = 0,
155         GPIO1B2_LCDC_D17,
156         GPIO1B2_I2S_SDIO_M0,
157         GPIO1B2_GMAC_TXD0,
158
159         GPIO1B1_SHIFT           = 2,
160         GPIO1B1_MASK            = 3 << GPIO1B1_SHIFT,
161         GPIO1B1_GPIO            = 0,
162         GPIO1B1_LCDC_D9,
163         GPIO1B1_PWM7,
164
165         GPIO1B0_SHIFT           = 0,
166         GPIO1B0_MASK            = 3,
167         GPIO1B0_GPIO            = 0,
168         GPIO1B0_LCDC_D8,
169         GPIO1B0_PWM6,
170 };
171
172 /* GRF_GPIO1C_IOMUX */
173 enum {
174         GPIO1C7_SHIFT           = 14,
175         GPIO1C7_MASK            = 3 << GPIO1C7_SHIFT,
176         GPIO1C7_GPIO            = 0,
177         GPIO1C7_CIF_D5,
178         GPIO1C7_I2S_SDIO2_M1,
179
180         GPIO1C6_SHIFT           = 12,
181         GPIO1C6_MASK            = 3 << GPIO1C6_SHIFT,
182         GPIO1C6_GPIO            = 0,
183         GPIO1C6_CIF_D4,
184         GPIO1C6_I2S_LRCLKTX_M1,
185
186         GPIO1C5_SHIFT           = 10,
187         GPIO1C5_MASK            = 3 << GPIO1C5_SHIFT,
188         GPIO1C5_GPIO            = 0,
189         GPIO1C5_LCDC_CLK,
190         GPIO1C5_GMAC_CLK,
191
192         GPIO1C4_SHIFT           = 8,
193         GPIO1C4_MASK            = 3 << GPIO1C4_SHIFT,
194         GPIO1C4_GPIO            = 0,
195         GPIO1C4_LCDC_HSYNC,
196         GPIO1C4_GMAC_MDC,
197
198         GPIO1C3_SHIFT           = 6,
199         GPIO1C3_MASK            = 3 << GPIO1C3_SHIFT,
200         GPIO1C3_GPIO            = 0,
201         GPIO1C3_LCDC_VSYNC,
202         GPIO1C3_GMAC_MDIO,
203
204         GPIO1C2_SHIFT           = 4,
205         GPIO1C2_MASK            = 3 << GPIO1C2_SHIFT,
206         GPIO1C2_GPIO            = 0,
207         GPIO1C2_LCDC_EN,
208         GPIO1C2_I2S_SDIO3_M0,
209         GPIO1C2_GMAC_RXER,
210
211         GPIO1C1_SHIFT           = 2,
212         GPIO1C1_MASK            = 3 << GPIO1C1_SHIFT,
213         GPIO1C1_GPIO            = 0,
214         GPIO1C1_LCDC_D10,
215         GPIO1C1_I2S_SDI_M0,
216         GPIO1C1_PWM4,
217
218         GPIO1C0_SHIFT           = 0,
219         GPIO1C0_MASK            = 3,
220         GPIO1C0_GPIO            = 0,
221         GPIO1C0_LCDC_D11,
222         GPIO1C0_I2S_LRCLKRX_M0,
223 };
224
225 /* GRF_GPIO1D_OIMUX */
226 enum {
227         GPIO1D7_SHIFT           = 14,
228         GPIO1D7_MASK            = 3 << GPIO1D7_SHIFT,
229         GPIO1D7_GPIO            = 0,
230         GPIO1D7_HDMI_CEC,
231         GPIO1D7_DSP_RTCK,
232
233         GPIO1D6_SHIFT           = 12,
234         GPIO1D6_MASK            = 1 << GPIO1D6_SHIFT,
235         GPIO1D6_GPIO            = 0,
236         GPIO1D6_HDMI_HPD_M0,
237
238         GPIO1D5_SHIFT           = 10,
239         GPIO1D5_MASK            = 3 << GPIO1D5_SHIFT,
240         GPIO1D5_GPIO            = 0,
241         GPIO1D5_UART2_RTSN,
242         GPIO1D5_HDMI_SDA_M0,
243
244         GPIO1D4_SHIFT           = 8,
245         GPIO1D4_MASK            = 3 << GPIO1D4_SHIFT,
246         GPIO1D4_GPIO            = 0,
247         GPIO1D4_UART2_CTSN,
248         GPIO1D4_HDMI_SCL_M0,
249
250         GPIO1D3_SHIFT           = 6,
251         GPIO1D3_MASK            = 3 << GPIO1D3_SHIFT,
252         GPIO1D3_GPIO            = 0,
253         GPIO1D3_UART0_SOUT,
254         GPIO1D3_SPI_TXD_M0,
255
256         GPIO1D2_SHIFT           = 4,
257         GPIO1D2_MASK            = 3 << GPIO1D2_SHIFT,
258         GPIO1D2_GPIO            = 0,
259         GPIO1D2_UART0_SIN,
260         GPIO1D2_SPI_RXD_M0,
261         GPIO1D2_DSP_TDI,
262
263         GPIO1D1_SHIFT           = 2,
264         GPIO1D1_MASK            = 3 << GPIO1D1_SHIFT,
265         GPIO1D1_GPIO            = 0,
266         GPIO1D1_UART0_RTSN,
267         GPIO1D1_SPI_CSN0_M0,
268         GPIO1D1_DSP_TMS,
269
270         GPIO1D0_SHIFT           = 0,
271         GPIO1D0_MASK            = 3,
272         GPIO1D0_GPIO            = 0,
273         GPIO1D0_UART0_CTSN,
274         GPIO1D0_SPI_CLK_M0,
275         GPIO1D0_DSP_TCK,
276 };
277
278 /* GRF_GPIO2A_IOMUX */
279 enum {
280         GPIO2A7_SHIFT           = 14,
281         GPIO2A7_MASK            = 3 << GPIO2A7_SHIFT,
282         GPIO2A7_GPIO            = 0,
283         GPIO2A7_FLASH_D7,
284         GPIO2A7_EMMC_D7,
285
286         GPIO2A6_SHIFT           = 12,
287         GPIO2A6_MASK            = 3 << GPIO2A6_SHIFT,
288         GPIO2A6_GPIO            = 0,
289         GPIO2A6_FLASH_D6,
290         GPIO2A6_EMMC_D6,
291
292         GPIO2A5_SHIFT           = 10,
293         GPIO2A5_MASK            = 3 << GPIO2A5_SHIFT,
294         GPIO2A5_GPIO            = 0,
295         GPIO2A5_FLASH_D5,
296         GPIO2A5_EMMC_D5,
297
298         GPIO2A4_SHIFT           = 8,
299         GPIO2A4_MASK            = 3 << GPIO2A4_SHIFT,
300         GPIO2A4_GPIO            = 0,
301         GPIO2A4_FLASH_D4,
302         GPIO2A4_EMMC_D4,
303
304         GPIO2A3_SHIFT           = 6,
305         GPIO2A3_MASK            = 3 << GPIO2A3_SHIFT,
306         GPIO2A3_GPIO            = 0,
307         GPIO2A3_FLASH_D3,
308         GPIO2A3_EMMC_D3,
309         GPIO2A3_SFC_HOLD_IO3,
310
311         GPIO2A2_SHIFT           = 4,
312         GPIO2A2_MASK            = 3 << GPIO2A2_SHIFT,
313         GPIO2A2_GPIO            = 0,
314         GPIO2A2_FLASH_D2,
315         GPIO2A2_EMMC_D2,
316         GPIO2A2_SFC_WP_IO2,
317
318         GPIO2A1_SHIFT           = 2,
319         GPIO2A1_MASK            = 3 << GPIO2A1_SHIFT,
320         GPIO2A1_GPIO            = 0,
321         GPIO2A1_FLASH_D1,
322         GPIO2A1_EMMC_D1,
323         GPIO2A1_SFC_SO_IO1,
324
325         GPIO2A0_SHIFT           = 0,
326         GPIO2A0_MASK            = 3 << GPIO2A0_SHIFT,
327         GPIO2A0_GPIO            = 0,
328         GPIO2A0_FLASH_D0,
329         GPIO2A0_EMMC_D0,
330         GPIO2A0_SFC_SI_IO0,
331 };
332
333 /* GRF_GPIO2D_IOMUX */
334 enum {
335         GPIO2B7_SHIFT           = 14,
336         GPIO2B7_MASK            = 3 << GPIO2B7_SHIFT,
337         GPIO2B7_GPIO            = 0,
338         GPIO2B7_FLASH_CS1,
339         GPIO2B7_SFC_CLK,
340
341         GPIO2B6_SHIFT           = 12,
342         GPIO2B6_MASK            = 1 << GPIO2B6_SHIFT,
343         GPIO2B6_GPIO            = 0,
344         GPIO2B6_EMMC_CLKO,
345
346         GPIO2B5_SHIFT           = 10,
347         GPIO2B5_MASK            = 1 << GPIO2B5_SHIFT,
348         GPIO2B5_GPIO            = 0,
349         GPIO2B5_FLASH_CS0,
350
351         GPIO2B4_SHIFT           = 8,
352         GPIO2B4_MASK            = 3 << GPIO2B4_SHIFT,
353         GPIO2B4_GPIO            = 0,
354         GPIO2B4_FLASH_RDY,
355         GPIO2B4_EMMC_CMD,
356         GPIO2B4_SFC_CSN0,
357
358         GPIO2B3_SHIFT           = 6,
359         GPIO2B3_MASK            = 1 << GPIO2B3_SHIFT,
360         GPIO2B3_GPIO            = 0,
361         GPIO2B3_FLASH_RDN,
362
363         GPIO2B2_SHIFT           = 4,
364         GPIO2B2_MASK            = 1 << GPIO2B2_SHIFT,
365         GPIO2B2_GPIO            = 0,
366         GPIO2B2_FLASH_WRN,
367
368         GPIO2B1_SHIFT           = 2,
369         GPIO2B1_MASK            = 1 << GPIO2B1_SHIFT,
370         GPIO2B1_GPIO            = 0,
371         GPIO2B1_FLASH_CLE,
372
373         GPIO2B0_SHIFT           = 0,
374         GPIO2B0_MASK            = 1 << GPIO2B0_SHIFT,
375         GPIO2B0_GPIO            = 0,
376         GPIO2B0_FLASH_ALE,
377 };
378
379 /* GRF_GPIO2D_IOMUX */
380 enum {
381         GPIO2D7_SHIFT           = 14,
382         GPIO2D7_MASK            = 1 << GPIO2D7_SHIFT,
383         GPIO2D7_GPIO            = 0,
384         GPIO2D7_SDIO_D0,
385
386         GPIO2D6_SHIFT           = 12,
387         GPIO2D6_MASK            = 1 << GPIO2D6_SHIFT,
388         GPIO2D6_GPIO            = 0,
389         GPIO2D6_SDIO_CMD,
390
391         GPIO2D5_SHIFT           = 10,
392         GPIO2D5_MASK            = 1 << GPIO2D5_SHIFT,
393         GPIO2D5_GPIO            = 0,
394         GPIO2D5_SDIO_CLKO,
395
396         GPIO2D4_SHIFT           = 8,
397         GPIO2D4_MASK            = 1 << GPIO2D4_SHIFT,
398         GPIO2D4_GPIO            = 0,
399         GPIO2D4_I2C1_SCL,
400
401         GPIO2D3_SHIFT           = 6,
402         GPIO2D3_MASK            = 1 << GPIO2D3_SHIFT,
403         GPIO2D3_GPIO            = 0,
404         GPIO2D3_I2C1_SDA,
405
406         GPIO2D2_SHIFT           = 4,
407         GPIO2D2_MASK            = 3 << GPIO2D2_SHIFT,
408         GPIO2D2_GPIO            = 0,
409         GPIO2D2_UART2_SOUT_M0,
410         GPIO2D2_JTAG_TCK,
411
412         GPIO2D1_SHIFT           = 2,
413         GPIO2D1_MASK            = 3 << GPIO2D1_SHIFT,
414         GPIO2D1_GPIO            = 0,
415         GPIO2D1_UART2_SIN_M0,
416         GPIO2D1_JTAG_TMS,
417         GPIO2D1_DSP_TMS,
418
419         GPIO2D0_SHIFT           = 0,
420         GPIO2D0_MASK            = 3,
421         GPIO2D0_GPIO            = 0,
422         GPIO2D0_UART0_CTSN,
423         GPIO2D0_SPI_CLK_M0,
424         GPIO2D0_DSP_TCK,
425 };
426
427 /* GRF_GPIO3A_IOMUX */
428 enum {
429         GPIO3A7_SHIFT           = 14,
430         GPIO3A7_MASK            = 1 << GPIO3A7_SHIFT,
431         GPIO3A7_GPIO            = 0,
432
433         GPIO3A6_SHIFT           = 12,
434         GPIO3A6_MASK            = 1 << GPIO3A6_SHIFT,
435         GPIO3A6_GPIO            = 0,
436         GPIO3A6_UART1_SOUT,
437
438         GPIO3A5_SHIFT           = 10,
439         GPIO3A5_MASK            = 1 << GPIO3A5_SHIFT,
440         GPIO3A5_GPIO            = 0,
441         GPIO3A5_UART1_SIN,
442
443         GPIO3A4_SHIFT           = 8,
444         GPIO3A4_MASK            = 1 << GPIO3A4_SHIFT,
445         GPIO3A4_GPIO            = 0,
446         GPIO3A4_UART1_CTSN,
447
448         GPIO3A3_SHIFT           = 6,
449         GPIO3A3_MASK            = 1 << GPIO3A3_SHIFT,
450         GPIO3A3_GPIO            = 0,
451         GPIO3A3_UART1_RTSN,
452
453         GPIO3A2_SHIFT           = 4,
454         GPIO3A2_MASK            = 1 << GPIO3A2_SHIFT,
455         GPIO3A2_GPIO            = 0,
456         GPIO3A2_SDIO_D3,
457
458         GPIO3A1_SHIFT           = 2,
459         GPIO3A1_MASK            = 1 << GPIO3A1_SHIFT,
460         GPIO3A1_GPIO            = 0,
461         GPIO3A1_SDIO_D2,
462
463         GPIO3A0_SHIFT           = 0,
464         GPIO3A0_MASK            = 1,
465         GPIO3A0_GPIO            = 0,
466         GPIO3A0_SDIO_D1,
467 };
468
469 /* GRF_GPIO3C_IOMUX */
470 enum {
471         GPIO3C7_SHIFT           = 14,
472         GPIO3C7_MASK            = 1 << GPIO3C7_SHIFT,
473         GPIO3C7_GPIO            = 0,
474         GPIO3C7_CIF_CLKI,
475
476         GPIO3C6_SHIFT           = 12,
477         GPIO3C6_MASK            = 1 << GPIO3C6_SHIFT,
478         GPIO3C6_GPIO            = 0,
479         GPIO3C6_CIF_VSYNC,
480
481         GPIO3C5_SHIFT           = 10,
482         GPIO3C5_MASK            = 1 << GPIO3C5_SHIFT,
483         GPIO3C5_GPIO            = 0,
484         GPIO3C5_SDMMC_CMD,
485
486         GPIO3C4_SHIFT           = 8,
487         GPIO3C4_MASK            = 1 << GPIO3C4_SHIFT,
488         GPIO3C4_GPIO            = 0,
489         GPIO3C4_SDMMC_CLKO,
490
491         GPIO3C3_SHIFT           = 6,
492         GPIO3C3_MASK            = 3 << GPIO3C3_SHIFT,
493         GPIO3C3_GPIO            = 0,
494         GPIO3C3_SDMMC_D0,
495         GPIO3C3_UART2_SOUT_M1,
496
497         GPIO3C2_SHIFT           = 4,
498         GPIO3C2_MASK            = 3 << GPIO3C2_SHIFT,
499         GPIO3C2_GPIO            = 0,
500         GPIO3C2_SDMMC_D1,
501         GPIO3C2_UART2_SIN_M1,
502
503         GPIOC1_SHIFT            = 2,
504         GPIOC1_MASK             = 1 << GPIOC1_SHIFT,
505         GPIOC1_GPIO             = 0,
506         GPIOC1_SDMMC_D2,
507
508         GPIOC0_SHIFT            = 0,
509         GPIOC0_MASK             = 1,
510         GPIO3C0_GPIO            = 0,
511         GPIO3C0_SDMMC_D3,
512 };
513 #endif