rockchip: clk: add px30 clock driver
[oweals/u-boot.git] / arch / arm / include / asm / arch-rockchip / grf_rk3288.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * (C) Copyright 2015 Google, Inc
4  * Copyright 2014 Rockchip Inc.
5  */
6
7 #ifndef _ASM_ARCH_GRF_RK3288_H
8 #define _ASM_ARCH_GRF_RK3288_H
9
10 struct rk3288_grf_gpio_lh {
11         u32 l;
12         u32 h;
13 };
14
15 struct rk3288_grf {
16         u32 reserved[3];
17         u32 gpio1d_iomux;
18         u32 gpio2a_iomux;
19         u32 gpio2b_iomux;
20
21         u32 gpio2c_iomux;
22         u32 reserved2;
23         u32 gpio3a_iomux;
24         u32 gpio3b_iomux;
25
26         u32 gpio3c_iomux;
27         u32 gpio3dl_iomux;
28         u32 gpio3dh_iomux;
29         u32 gpio4al_iomux;
30
31         u32 gpio4ah_iomux;
32         u32 gpio4bl_iomux;
33         u32 reserved3;
34         u32 gpio4c_iomux;
35
36         u32 gpio4d_iomux;
37         u32 reserved4;
38         u32 gpio5b_iomux;
39         u32 gpio5c_iomux;
40
41         u32 reserved5;
42         u32 gpio6a_iomux;
43         u32 gpio6b_iomux;
44         u32 gpio6c_iomux;
45         u32 reserved6;
46         u32 gpio7a_iomux;
47         u32 gpio7b_iomux;
48         u32 gpio7cl_iomux;
49         u32 gpio7ch_iomux;
50         u32 reserved7;
51         u32 gpio8a_iomux;
52         u32 gpio8b_iomux;
53         u32 reserved8[30];
54         struct rk3288_grf_gpio_lh gpio_sr[8];
55         u32 gpio1_p[8][4];
56         u32 gpio1_e[8][4];
57         u32 gpio_smt;
58         u32 soc_con0;
59         u32 soc_con1;
60         u32 soc_con2;
61         u32 soc_con3;
62         u32 soc_con4;
63         u32 soc_con5;
64         u32 soc_con6;
65         u32 soc_con7;
66         u32 soc_con8;
67         u32 soc_con9;
68         u32 soc_con10;
69         u32 soc_con11;
70         u32 soc_con12;
71         u32 soc_con13;
72         u32 soc_con14;
73         u32 soc_status[22];
74         u32 reserved9[2];
75         u32 peridmac_con[4];
76         u32 ddrc0_con0;
77         u32 ddrc1_con0;
78         u32 cpu_con[5];
79         u32 reserved10[3];
80         u32 cpu_status0;
81         u32 reserved11;
82         u32 uoc0_con[5];
83         u32 uoc1_con[5];
84         u32 uoc2_con[4];
85         u32 uoc3_con[2];
86         u32 uoc4_con[2];
87         u32 pvtm_con[3];
88         u32 pvtm_status[3];
89         u32 io_vsel;
90         u32 saradc_testbit;
91         u32 tsadc_testbit_l;
92         u32 tsadc_testbit_h;
93         u32 os_reg[4];
94         u32 reserved12;
95         u32 soc_con15;
96         u32 soc_con16;
97 };
98
99 struct rk3288_sgrf {
100         u32 soc_con0;
101         u32 soc_con1;
102         u32 soc_con2;
103         u32 soc_con3;
104         u32 soc_con4;
105         u32 soc_con5;
106         u32 reserved1[(0x20-0x18)/4];
107         u32 busdmac_con[2];
108         u32 reserved2[(0x40-0x28)/4];
109         u32 cpu_con[3];
110         u32 reserved3[(0x50-0x4c)/4];
111         u32 soc_con6;
112         u32 soc_con7;
113         u32 soc_con8;
114         u32 soc_con9;
115         u32 soc_con10;
116         u32 soc_con11;
117         u32 soc_con12;
118         u32 soc_con13;
119         u32 soc_con14;
120         u32 soc_con15;
121         u32 soc_con16;
122         u32 soc_con17;
123         u32 soc_con18;
124         u32 soc_con19;
125         u32 soc_con20;
126         u32 soc_con21;
127         u32 reserved4[(0x100-0x90)/4];
128         u32 soc_status[2];
129         u32 reserved5[(0x120-0x108)/4];
130         u32 fast_boot_addr;
131 };
132
133 /* GRF_GPIO1D_IOMUX */
134 enum {
135         GPIO1D3_SHIFT           = 6,
136         GPIO1D3_MASK            = 1,
137         GPIO1D3_GPIO            = 0,
138         GPIO1D3_LCDC0_DCLK,
139
140         GPIO1D2_SHIFT           = 4,
141         GPIO1D2_MASK            = 1,
142         GPIO1D2_GPIO            = 0,
143         GPIO1D2_LCDC0_DEN,
144
145         GPIO1D1_SHIFT           = 2,
146         GPIO1D1_MASK            = 1,
147         GPIO1D1_GPIO            = 0,
148         GPIO1D1_LCDC0_VSYNC,
149
150         GPIO1D0_SHIFT           = 0,
151         GPIO1D0_MASK            = 1,
152         GPIO1D0_GPIO            = 0,
153         GPIO1D0_LCDC0_HSYNC,
154 };
155
156 /* GRF_GPIO2C_IOMUX */
157 enum {
158         GPIO2C1_SHIFT           = 2,
159         GPIO2C1_MASK            = 1,
160         GPIO2C1_GPIO            = 0,
161         GPIO2C1_I2C3CAM_SDA,
162
163         GPIO2C0_SHIFT           = 0,
164         GPIO2C0_MASK            = 1,
165         GPIO2C0_GPIO            = 0,
166         GPIO2C0_I2C3CAM_SCL,
167 };
168
169 /* GRF_GPIO3A_IOMUX */
170 enum {
171         GPIO3A7_SHIFT           = 14,
172         GPIO3A7_MASK            = 3,
173         GPIO3A7_GPIO            = 0,
174         GPIO3A7_FLASH0_DATA7,
175         GPIO3A7_EMMC_DATA7,
176
177         GPIO3A6_SHIFT           = 12,
178         GPIO3A6_MASK            = 3,
179         GPIO3A6_GPIO            = 0,
180         GPIO3A6_FLASH0_DATA6,
181         GPIO3A6_EMMC_DATA6,
182
183         GPIO3A5_SHIFT           = 10,
184         GPIO3A5_MASK            = 3,
185         GPIO3A5_GPIO            = 0,
186         GPIO3A5_FLASH0_DATA5,
187         GPIO3A5_EMMC_DATA5,
188
189         GPIO3A4_SHIFT           = 8,
190         GPIO3A4_MASK            = 3,
191         GPIO3A4_GPIO            = 0,
192         GPIO3A4_FLASH0_DATA4,
193         GPIO3A4_EMMC_DATA4,
194
195         GPIO3A3_SHIFT           = 6,
196         GPIO3A3_MASK            = 3,
197         GPIO3A3_GPIO            = 0,
198         GPIO3A3_FLASH0_DATA3,
199         GPIO3A3_EMMC_DATA3,
200
201         GPIO3A2_SHIFT           = 4,
202         GPIO3A2_MASK            = 3,
203         GPIO3A2_GPIO            = 0,
204         GPIO3A2_FLASH0_DATA2,
205         GPIO3A2_EMMC_DATA2,
206
207         GPIO3A1_SHIFT           = 2,
208         GPIO3A1_MASK            = 3,
209         GPIO3A1_GPIO            = 0,
210         GPIO3A1_FLASH0_DATA1,
211         GPIO3A1_EMMC_DATA1,
212
213         GPIO3A0_SHIFT           = 0,
214         GPIO3A0_MASK            = 3,
215         GPIO3A0_GPIO            = 0,
216         GPIO3A0_FLASH0_DATA0,
217         GPIO3A0_EMMC_DATA0,
218 };
219
220 /* GRF_GPIO3B_IOMUX */
221 enum {
222         GPIO3B7_SHIFT           = 14,
223         GPIO3B7_MASK            = 1,
224         GPIO3B7_GPIO            = 0,
225         GPIO3B7_FLASH0_CSN1,
226
227         GPIO3B6_SHIFT           = 12,
228         GPIO3B6_MASK            = 1,
229         GPIO3B6_GPIO            = 0,
230         GPIO3B6_FLASH0_CSN0,
231
232         GPIO3B5_SHIFT           = 10,
233         GPIO3B5_MASK            = 1,
234         GPIO3B5_GPIO            = 0,
235         GPIO3B5_FLASH0_WRN,
236
237         GPIO3B4_SHIFT           = 8,
238         GPIO3B4_MASK            = 1,
239         GPIO3B4_GPIO            = 0,
240         GPIO3B4_FLASH0_CLE,
241
242         GPIO3B3_SHIFT           = 6,
243         GPIO3B3_MASK            = 1,
244         GPIO3B3_GPIO            = 0,
245         GPIO3B3_FLASH0_ALE,
246
247         GPIO3B2_SHIFT           = 4,
248         GPIO3B2_MASK            = 1,
249         GPIO3B2_GPIO            = 0,
250         GPIO3B2_FLASH0_RDN,
251
252         GPIO3B1_SHIFT           = 2,
253         GPIO3B1_MASK            = 3,
254         GPIO3B1_GPIO            = 0,
255         GPIO3B1_FLASH0_WP,
256         GPIO3B1_EMMC_PWREN,
257
258         GPIO3B0_SHIFT           = 0,
259         GPIO3B0_MASK            = 1,
260         GPIO3B0_GPIO            = 0,
261         GPIO3B0_FLASH0_RDY,
262 };
263
264 /* GRF_GPIO3C_IOMUX */
265 enum {
266         GPIO3C2_SHIFT           = 4,
267         GPIO3C2_MASK            = 3,
268         GPIO3C2_GPIO            = 0,
269         GPIO3C2_FLASH0_DQS,
270         GPIO3C2_EMMC_CLKOUT,
271
272         GPIO3C1_SHIFT           = 2,
273         GPIO3C1_MASK            = 3,
274         GPIO3C1_GPIO            = 0,
275         GPIO3C1_FLASH0_CSN3,
276         GPIO3C1_EMMC_RSTNOUT,
277
278         GPIO3C0_SHIFT           = 0,
279         GPIO3C0_MASK            = 3,
280         GPIO3C0_GPIO            = 0,
281         GPIO3C0_FLASH0_CSN2,
282         GPIO3C0_EMMC_CMD,
283 };
284
285 /* GRF_GPIO3DL_IOMUX */
286 enum {
287         GPIO3D3_SHIFT           = 12,
288         GPIO3D3_MASK            = 7,
289         GPIO3D3_GPIO            = 0,
290         GPIO3D3_FLASH1_DATA3,
291         GPIO3D3_HOST_DOUT3,
292         GPIO3D3_MAC_RXD3,
293         GPIO3D3_SDIO1_DATA3,
294
295         GPIO3D2_SHIFT           = 8,
296         GPIO3D2_MASK            = 7,
297         GPIO3D2_GPIO            = 0,
298         GPIO3D2_FLASH1_DATA2,
299         GPIO3D2_HOST_DOUT2,
300         GPIO3D2_MAC_RXD2,
301         GPIO3D2_SDIO1_DATA2,
302
303         GPIO3D1_SHIFT           = 4,
304         GPIO3D1_MASK            = 7,
305         GPIO3D1_GPIO            = 0,
306         GPIO3DL1_FLASH1_DATA1,
307         GPIO3D1_HOST_DOUT1,
308         GPIO3D1_MAC_TXD3,
309         GPIO3D1_SDIO1_DATA1,
310
311         GPIO3D0_SHIFT           = 0,
312         GPIO3D0_MASK            = 7,
313         GPIO3D0_GPIO            = 0,
314         GPIO3D0_FLASH1_DATA0,
315         GPIO3D0_HOST_DOUT0,
316         GPIO3D0_MAC_TXD2,
317         GPIO3D0_SDIO1_DATA0,
318 };
319
320 /* GRF_GPIO3HL_IOMUX */
321 enum {
322         GPIO3D7_SHIFT           = 12,
323         GPIO3D7_MASK            = 7,
324         GPIO3D7_GPIO            = 0,
325         GPIO3D7_FLASH1_DATA7,
326         GPIO3D7_HOST_DOUT7,
327         GPIO3D7_MAC_RXD1,
328         GPIO3D7_SDIO1_INTN,
329
330         GPIO3D6_SHIFT           = 8,
331         GPIO3D6_MASK            = 7,
332         GPIO3D6_GPIO            = 0,
333         GPIO3D6_FLASH1_DATA6,
334         GPIO3D6_HOST_DOUT6,
335         GPIO3D6_MAC_RXD0,
336         GPIO3D6_SDIO1_BKPWR,
337
338         GPIO3D5_SHIFT           = 4,
339         GPIO3D5_MASK            = 7,
340         GPIO3D5_GPIO            = 0,
341         GPIO3D5_FLASH1_DATA5,
342         GPIO3D5_HOST_DOUT5,
343         GPIO3D5_MAC_TXD1,
344         GPIO3D5_SDIO1_WRPRT,
345
346         GPIO3D4_SHIFT           = 0,
347         GPIO3D4_MASK            = 7,
348         GPIO3D4_GPIO            = 0,
349         GPIO3D4_FLASH1_DATA4,
350         GPIO3D4_HOST_DOUT4,
351         GPIO3D4_MAC_TXD0,
352         GPIO3D4_SDIO1_DETECTN,
353 };
354
355 /* GRF_GPIO4AL_IOMUX */
356 enum {
357         GPIO4A3_SHIFT           = 12,
358         GPIO4A3_MASK            = 7,
359         GPIO4A3_GPIO            = 0,
360         GPIO4A3_FLASH1_ALE,
361         GPIO4A3_HOST_DOUT9,
362         GPIO4A3_MAC_CLK,
363         GPIO4A3_FLASH0_CSN6,
364
365         GPIO4A2_SHIFT           = 8,
366         GPIO4A2_MASK            = 7,
367         GPIO4A2_GPIO            = 0,
368         GPIO4A2_FLASH1_RDN,
369         GPIO4A2_HOST_DOUT8,
370         GPIO4A2_MAC_RXER,
371         GPIO4A2_FLASH0_CSN5,
372
373         GPIO4A1_SHIFT           = 4,
374         GPIO4A1_MASK            = 7,
375         GPIO4A1_GPIO            = 0,
376         GPIO4A1_FLASH1_WP,
377         GPIO4A1_HOST_CKOUTN,
378         GPIO4A1_MAC_TXDV,
379         GPIO4A1_FLASH0_CSN4,
380
381         GPIO4A0_SHIFT           = 0,
382         GPIO4A0_MASK            = 3,
383         GPIO4A0_GPIO            = 0,
384         GPIO4A0_FLASH1_RDY,
385         GPIO4A0_HOST_CKOUTP,
386         GPIO4A0_MAC_MDC,
387 };
388
389 /* GRF_GPIO4AH_IOMUX */
390 enum {
391         GPIO4A7_SHIFT           = 12,
392         GPIO4A7_MASK            = 7,
393         GPIO4A7_GPIO            = 0,
394         GPIO4A7_FLASH1_CSN1,
395         GPIO4A7_HOST_DOUT13,
396         GPIO4A7_MAC_CSR,
397         GPIO4A7_SDIO1_CLKOUT,
398
399         GPIO4A6_SHIFT           = 8,
400         GPIO4A6_MASK            = 7,
401         GPIO4A6_GPIO            = 0,
402         GPIO4A6_FLASH1_CSN0,
403         GPIO4A6_HOST_DOUT12,
404         GPIO4A6_MAC_RXCLK,
405         GPIO4A6_SDIO1_CMD,
406
407         GPIO4A5_SHIFT           = 4,
408         GPIO4A5_MASK            = 3,
409         GPIO4A5_GPIO            = 0,
410         GPIO4A5_FLASH1_WRN,
411         GPIO4A5_HOST_DOUT11,
412         GPIO4A5_MAC_MDIO,
413
414         GPIO4A4_SHIFT           = 0,
415         GPIO4A4_MASK            = 7,
416         GPIO4A4_GPIO            = 0,
417         GPIO4A4_FLASH1_CLE,
418         GPIO4A4_HOST_DOUT10,
419         GPIO4A4_MAC_TXEN,
420         GPIO4A4_FLASH0_CSN7,
421 };
422
423 /* GRF_GPIO4BL_IOMUX */
424 enum {
425         GPIO4B1_SHIFT           = 4,
426         GPIO4B1_MASK            = 7,
427         GPIO4B1_GPIO            = 0,
428         GPIO4B1_FLASH1_CSN2,
429         GPIO4B1_HOST_DOUT15,
430         GPIO4B1_MAC_TXCLK,
431         GPIO4B1_SDIO1_PWREN,
432
433         GPIO4B0_SHIFT           = 0,
434         GPIO4B0_MASK            = 7,
435         GPIO4B0_GPIO            = 0,
436         GPIO4B0_FLASH1_DQS,
437         GPIO4B0_HOST_DOUT14,
438         GPIO4B0_MAC_COL,
439         GPIO4B0_FLASH1_CSN3,
440 };
441
442 /* GRF_GPIO4C_IOMUX */
443 enum {
444         GPIO4C7_SHIFT           = 14,
445         GPIO4C7_MASK            = 1,
446         GPIO4C7_GPIO            = 0,
447         GPIO4C7_SDIO0_DATA3,
448
449         GPIO4C6_SHIFT           = 12,
450         GPIO4C6_MASK            = 1,
451         GPIO4C6_GPIO            = 0,
452         GPIO4C6_SDIO0_DATA2,
453
454         GPIO4C5_SHIFT           = 10,
455         GPIO4C5_MASK            = 1,
456         GPIO4C5_GPIO            = 0,
457         GPIO4C5_SDIO0_DATA1,
458
459         GPIO4C4_SHIFT           = 8,
460         GPIO4C4_MASK            = 1,
461         GPIO4C4_GPIO            = 0,
462         GPIO4C4_SDIO0_DATA0,
463
464         GPIO4C3_SHIFT           = 6,
465         GPIO4C3_MASK            = 1,
466         GPIO4C3_GPIO            = 0,
467         GPIO4C3_UART0BT_RTSN,
468
469         GPIO4C2_SHIFT           = 4,
470         GPIO4C2_MASK            = 1,
471         GPIO4C2_GPIO            = 0,
472         GPIO4C2_UART0BT_CTSN,
473
474         GPIO4C1_SHIFT           = 2,
475         GPIO4C1_MASK            = 1,
476         GPIO4C1_GPIO            = 0,
477         GPIO4C1_UART0BT_SOUT,
478
479         GPIO4C0_SHIFT           = 0,
480         GPIO4C0_MASK            = 1,
481         GPIO4C0_GPIO            = 0,
482         GPIO4C0_UART0BT_SIN,
483 };
484
485 /* GRF_GPIO5B_IOMUX */
486 enum {
487         GPIO5B7_SHIFT           = 14,
488         GPIO5B7_MASK            = 3,
489         GPIO5B7_GPIO            = 0,
490         GPIO5B7_SPI0_RXD,
491         GPIO5B7_TS0_DATA7,
492         GPIO5B7_UART4EXP_SIN,
493
494         GPIO5B6_SHIFT           = 12,
495         GPIO5B6_MASK            = 3,
496         GPIO5B6_GPIO            = 0,
497         GPIO5B6_SPI0_TXD,
498         GPIO5B6_TS0_DATA6,
499         GPIO5B6_UART4EXP_SOUT,
500
501         GPIO5B5_SHIFT           = 10,
502         GPIO5B5_MASK            = 3,
503         GPIO5B5_GPIO            = 0,
504         GPIO5B5_SPI0_CSN0,
505         GPIO5B5_TS0_DATA5,
506         GPIO5B5_UART4EXP_RTSN,
507
508         GPIO5B4_SHIFT           = 8,
509         GPIO5B4_MASK            = 3,
510         GPIO5B4_GPIO            = 0,
511         GPIO5B4_SPI0_CLK,
512         GPIO5B4_TS0_DATA4,
513         GPIO5B4_UART4EXP_CTSN,
514
515         GPIO5B3_SHIFT           = 6,
516         GPIO5B3_MASK            = 3,
517         GPIO5B3_GPIO            = 0,
518         GPIO5B3_UART1BB_RTSN,
519         GPIO5B3_TS0_DATA3,
520
521         GPIO5B2_SHIFT           = 4,
522         GPIO5B2_MASK            = 3,
523         GPIO5B2_GPIO            = 0,
524         GPIO5B2_UART1BB_CTSN,
525         GPIO5B2_TS0_DATA2,
526
527         GPIO5B1_SHIFT           = 2,
528         GPIO5B1_MASK            = 3,
529         GPIO5B1_GPIO            = 0,
530         GPIO5B1_UART1BB_SOUT,
531         GPIO5B1_TS0_DATA1,
532
533         GPIO5B0_SHIFT           = 0,
534         GPIO5B0_MASK            = 3,
535         GPIO5B0_GPIO            = 0,
536         GPIO5B0_UART1BB_SIN,
537         GPIO5B0_TS0_DATA0,
538 };
539
540 /* GRF_GPIO5C_IOMUX */
541 enum {
542         GPIO5C3_SHIFT           = 6,
543         GPIO5C3_MASK            = 1,
544         GPIO5C3_GPIO            = 0,
545         GPIO5C3_TS0_ERR,
546
547         GPIO5C2_SHIFT           = 4,
548         GPIO5C2_MASK            = 1,
549         GPIO5C2_GPIO            = 0,
550         GPIO5C2_TS0_CLK,
551
552         GPIO5C1_SHIFT           = 2,
553         GPIO5C1_MASK            = 1,
554         GPIO5C1_GPIO            = 0,
555         GPIO5C1_TS0_VALID,
556
557         GPIO5C0_SHIFT           = 0,
558         GPIO5C0_MASK            = 3,
559         GPIO5C0_GPIO            = 0,
560         GPIO5C0_SPI0_CSN1,
561         GPIO5C0_TS0_SYNC,
562 };
563
564 /* GRF_GPIO6A_IOMUX */
565 enum {
566         GPIO6A7_SHIFT           = 0xe,
567         GPIO6A7_MASK            = 1,
568         GPIO6A7_GPIO            = 0,
569         GPIO6A7_I2S_SDO3,
570
571         GPIO6A6_SHIFT           = 0xc,
572         GPIO6A6_MASK            = 1,
573         GPIO6A6_GPIO            = 0,
574         GPIO6A6_I2S_SDO2,
575
576         GPIO6A5_SHIFT           = 0xa,
577         GPIO6A5_MASK            = 1,
578         GPIO6A5_GPIO            = 0,
579         GPIO6A5_I2S_SDO1,
580
581         GPIO6A4_SHIFT           = 8,
582         GPIO6A4_MASK            = 1,
583         GPIO6A4_GPIO            = 0,
584         GPIO6A4_I2S_SDO0,
585
586         GPIO6A3_SHIFT           = 6,
587         GPIO6A3_MASK            = 1,
588         GPIO6A3_GPIO            = 0,
589         GPIO6A3_I2S_SDI,
590
591         GPIO6A2_SHIFT           = 4,
592         GPIO6A2_MASK            = 1,
593         GPIO6A2_GPIO            = 0,
594         GPIO6A2_I2S_LRCKTX,
595
596         GPIO6A1_SHIFT           = 2,
597         GPIO6A1_MASK            = 1,
598         GPIO6A1_GPIO            = 0,
599         GPIO6A1_I2S_LRCKRX,
600
601         GPIO6A0_SHIFT           = 0,
602         GPIO6A0_MASK            = 1,
603         GPIO6A0_GPIO            = 0,
604         GPIO6A0_I2S_SCLK,
605 };
606
607 /* GRF_GPIO6B_IOMUX */
608 enum {
609         GPIO6B3_SHIFT           = 6,
610         GPIO6B3_MASK            = 1,
611         GPIO6B3_GPIO            = 0,
612         GPIO6B3_SPDIF_TX,
613
614         GPIO6B2_SHIFT           = 4,
615         GPIO6B2_MASK            = 1,
616         GPIO6B2_GPIO            = 0,
617         GPIO6B2_I2C1AUDIO_SCL,
618
619         GPIO6B1_SHIFT           = 2,
620         GPIO6B1_MASK            = 1,
621         GPIO6B1_GPIO            = 0,
622         GPIO6B1_I2C1AUDIO_SDA,
623
624         GPIO6B0_SHIFT           = 0,
625         GPIO6B0_MASK            = 1,
626         GPIO6B0_GPIO            = 0,
627         GPIO6B0_I2S_CLK,
628 };
629
630 /* GRF_GPIO6C_IOMUX */
631 enum {
632         GPIO6C6_SHIFT           = 12,
633         GPIO6C6_MASK            = 1,
634         GPIO6C6_GPIO            = 0,
635         GPIO6C6_SDMMC0_DECTN,
636
637         GPIO6C5_SHIFT           = 10,
638         GPIO6C5_MASK            = 1,
639         GPIO6C5_GPIO            = 0,
640         GPIO6C5_SDMMC0_CMD,
641
642         GPIO6C4_SHIFT           = 8,
643         GPIO6C4_MASK            = 3,
644         GPIO6C4_GPIO            = 0,
645         GPIO6C4_SDMMC0_CLKOUT,
646         GPIO6C4_JTAG_TDO,
647
648         GPIO6C3_SHIFT           = 6,
649         GPIO6C3_MASK            = 3,
650         GPIO6C3_GPIO            = 0,
651         GPIO6C3_SDMMC0_DATA3,
652         GPIO6C3_JTAG_TCK,
653
654         GPIO6C2_SHIFT           = 4,
655         GPIO6C2_MASK            = 3,
656         GPIO6C2_GPIO            = 0,
657         GPIO6C2_SDMMC0_DATA2,
658         GPIO6C2_JTAG_TDI,
659
660         GPIO6C1_SHIFT           = 2,
661         GPIO6C1_MASK            = 3,
662         GPIO6C1_GPIO            = 0,
663         GPIO6C1_SDMMC0_DATA1,
664         GPIO6C1_JTAG_TRSTN,
665
666         GPIO6C0_SHIFT           = 0,
667         GPIO6C0_MASK            = 3,
668         GPIO6C0_GPIO            = 0,
669         GPIO6C0_SDMMC0_DATA0,
670         GPIO6C0_JTAG_TMS,
671 };
672
673 /* GRF_GPIO7A_IOMUX */
674 enum {
675         GPIO7A7_SHIFT           = 14,
676         GPIO7A7_MASK            = 3,
677         GPIO7A7_GPIO            = 0,
678         GPIO7A7_UART3GPS_SIN,
679         GPIO7A7_GPS_MAG,
680         GPIO7A7_HSADCT1_DATA0,
681
682         GPIO7A1_SHIFT           = 2,
683         GPIO7A1_MASK            = 1,
684         GPIO7A1_GPIO            = 0,
685         GPIO7A1_PWM_1,
686
687         GPIO7A0_SHIFT           = 0,
688         GPIO7A0_MASK            = 3,
689         GPIO7A0_GPIO            = 0,
690         GPIO7A0_PWM_0,
691         GPIO7A0_VOP0_PWM,
692         GPIO7A0_VOP1_PWM,
693 };
694
695 /* GRF_GPIO7B_IOMUX */
696 enum {
697         GPIO7B7_SHIFT           = 14,
698         GPIO7B7_MASK            = 3,
699         GPIO7B7_GPIO            = 0,
700         GPIO7B7_ISP_SHUTTERTRIG,
701         GPIO7B7_SPI1_TXD,
702
703         GPIO7B6_SHIFT           = 12,
704         GPIO7B6_MASK            = 3,
705         GPIO7B6_GPIO            = 0,
706         GPIO7B6_ISP_PRELIGHTTRIG,
707         GPIO7B6_SPI1_RXD,
708
709         GPIO7B5_SHIFT           = 10,
710         GPIO7B5_MASK            = 3,
711         GPIO7B5_GPIO            = 0,
712         GPIO7B5_ISP_FLASHTRIGOUT,
713         GPIO7B5_SPI1_CSN0,
714
715         GPIO7B4_SHIFT           = 8,
716         GPIO7B4_MASK            = 3,
717         GPIO7B4_GPIO            = 0,
718         GPIO7B4_ISP_SHUTTEREN,
719         GPIO7B4_SPI1_CLK,
720
721         GPIO7B3_SHIFT           = 6,
722         GPIO7B3_MASK            = 3,
723         GPIO7B3_GPIO            = 0,
724         GPIO7B3_USB_DRVVBUS1,
725         GPIO7B3_EDP_HOTPLUG,
726
727         GPIO7B2_SHIFT           = 4,
728         GPIO7B2_MASK            = 3,
729         GPIO7B2_GPIO            = 0,
730         GPIO7B2_UART3GPS_RTSN,
731         GPIO7B2_USB_DRVVBUS0,
732
733         GPIO7B1_SHIFT           = 2,
734         GPIO7B1_MASK            = 3,
735         GPIO7B1_GPIO            = 0,
736         GPIO7B1_UART3GPS_CTSN,
737         GPIO7B1_GPS_RFCLK,
738         GPIO7B1_GPST1_CLK,
739
740         GPIO7B0_SHIFT           = 0,
741         GPIO7B0_MASK            = 3,
742         GPIO7B0_GPIO            = 0,
743         GPIO7B0_UART3GPS_SOUT,
744         GPIO7B0_GPS_SIG,
745         GPIO7B0_HSADCT1_DATA1,
746 };
747
748 /* GRF_GPIO7CL_IOMUX */
749 enum {
750         GPIO7C3_SHIFT           = 12,
751         GPIO7C3_MASK            = 3,
752         GPIO7C3_GPIO            = 0,
753         GPIO7C3_I2C5HDMI_SDA,
754         GPIO7C3_EDPHDMII2C_SDA,
755
756         GPIO7C2_SHIFT           = 8,
757         GPIO7C2_MASK            = 1,
758         GPIO7C2_GPIO            = 0,
759         GPIO7C2_I2C4TP_SCL,
760
761         GPIO7C1_SHIFT           = 4,
762         GPIO7C1_MASK            = 1,
763         GPIO7C1_GPIO            = 0,
764         GPIO7C1_I2C4TP_SDA,
765
766         GPIO7C0_SHIFT           = 0,
767         GPIO7C0_MASK            = 3,
768         GPIO7C0_GPIO            = 0,
769         GPIO7C0_ISP_FLASHTRIGIN,
770         GPIO7C0_EDPHDMI_CECINOUTT1,
771 };
772
773 /* GRF_GPIO7CH_IOMUX */
774 enum {
775         GPIO7C7_SHIFT           = 12,
776         GPIO7C7_MASK            = 7,
777         GPIO7C7_GPIO            = 0,
778         GPIO7C7_UART2DBG_SOUT,
779         GPIO7C7_UART2DBG_SIROUT,
780         GPIO7C7_PWM_3,
781         GPIO7C7_EDPHDMI_CECINOUT,
782
783         GPIO7C6_SHIFT           = 8,
784         GPIO7C6_MASK            = 3,
785         GPIO7C6_GPIO            = 0,
786         GPIO7C6_UART2DBG_SIN,
787         GPIO7C6_UART2DBG_SIRIN,
788         GPIO7C6_PWM_2,
789
790         GPIO7C4_SHIFT           = 0,
791         GPIO7C4_MASK            = 3,
792         GPIO7C4_GPIO            = 0,
793         GPIO7C4_I2C5HDMI_SCL,
794         GPIO7C4_EDPHDMII2C_SCL,
795 };
796
797 /* GRF_GPIO8A_IOMUX */
798 enum {
799         GPIO8A7_SHIFT           = 14,
800         GPIO8A7_MASK            = 3,
801         GPIO8A7_GPIO            = 0,
802         GPIO8A7_SPI2_CSN0,
803         GPIO8A7_SC_DETECT,
804         GPIO8A7_RESERVE,
805
806         GPIO8A6_SHIFT           = 12,
807         GPIO8A6_MASK            = 3,
808         GPIO8A6_GPIO            = 0,
809         GPIO8A6_SPI2_CLK,
810         GPIO8A6_SC_IO,
811         GPIO8A6_RESERVE,
812
813         GPIO8A5_SHIFT           = 10,
814         GPIO8A5_MASK            = 3,
815         GPIO8A5_GPIO            = 0,
816         GPIO8A5_I2C2SENSOR_SCL,
817         GPIO8A5_SC_CLK,
818
819         GPIO8A4_SHIFT           = 8,
820         GPIO8A4_MASK            = 3,
821         GPIO8A4_GPIO            = 0,
822         GPIO8A4_I2C2SENSOR_SDA,
823         GPIO8A4_SC_RST,
824
825         GPIO8A3_SHIFT           = 6,
826         GPIO8A3_MASK            = 3,
827         GPIO8A3_GPIO            = 0,
828         GPIO8A3_SPI2_CSN1,
829         GPIO8A3_SC_IOT1,
830
831         GPIO8A2_SHIFT           = 4,
832         GPIO8A2_MASK            = 1,
833         GPIO8A2_GPIO            = 0,
834         GPIO8A2_SC_DETECTT1,
835
836         GPIO8A1_SHIFT           = 2,
837         GPIO8A1_MASK            = 3,
838         GPIO8A1_GPIO            = 0,
839         GPIO8A1_PS2_DATA,
840         GPIO8A1_SC_VCC33V,
841
842         GPIO8A0_SHIFT           = 0,
843         GPIO8A0_MASK            = 3,
844         GPIO8A0_GPIO            = 0,
845         GPIO8A0_PS2_CLK,
846         GPIO8A0_SC_VCC18V,
847 };
848
849 /* GRF_GPIO8B_IOMUX */
850 enum {
851         GPIO8B1_SHIFT           = 2,
852         GPIO8B1_MASK            = 3,
853         GPIO8B1_GPIO            = 0,
854         GPIO8B1_SPI2_TXD,
855         GPIO8B1_SC_CLK,
856
857         GPIO8B0_SHIFT           = 0,
858         GPIO8B0_MASK            = 3,
859         GPIO8B0_GPIO            = 0,
860         GPIO8B0_SPI2_RXD,
861         GPIO8B0_SC_RST,
862 };
863
864 /* GRF_SOC_CON0 */
865 enum {
866         PAUSE_MMC_PERI_SHIFT    = 0xf,
867         PAUSE_MMC_PERI_MASK     = 1,
868
869         PAUSE_EMEM_PERI_SHIFT   = 0xe,
870         PAUSE_EMEM_PERI_MASK    = 1,
871
872         PAUSE_USB_PERI_SHIFT    = 0xd,
873         PAUSE_USB_PERI_MASK     = 1,
874
875         GRF_FORCE_JTAG_SHIFT    = 0xc,
876         GRF_FORCE_JTAG_MASK     = 1,
877
878         GRF_CORE_IDLE_REQ_MODE_SEL1_SHIFT = 0xb,
879         GRF_CORE_IDLE_REQ_MODE_SEL1_MASK = 1,
880
881         GRF_CORE_IDLE_REQ_MODE_SEL0_SHIFT = 0xa,
882         GRF_CORE_IDLE_REQ_MODE_SEL0_MASK = 1,
883
884         DDR1_16BIT_EN_SHIFT     = 9,
885         DDR1_16BIT_EN_MASK      = 1,
886
887         DDR0_16BIT_EN_SHIFT     = 8,
888         DDR0_16BIT_EN_MASK      = 1,
889
890         VCODEC_SHIFT            = 7,
891         VCODEC_MASK             = 1,
892         VCODEC_SELECT_VEPU_ACLK = 0,
893         VCODEC_SELECT_VDPU_ACLK,
894
895         UPCTL1_C_ACTIVE_IN_SHIFT = 6,
896         UPCTL1_C_ACTIVE_IN_MASK = 1,
897         UPCTL1_C_ACTIVE_IN_MAY  = 0,
898         UPCTL1_C_ACTIVE_IN_WILL,
899
900         UPCTL0_C_ACTIVE_IN_SHIFT = 5,
901         UPCTL0_C_ACTIVE_IN_MASK = 1,
902         UPCTL0_C_ACTIVE_IN_MAY  = 0,
903         UPCTL0_C_ACTIVE_IN_WILL,
904
905         MSCH1_MAINDDR3_SHIFT    = 4,
906         MSCH1_MAINDDR3_MASK     = 1,
907         MSCH1_MAINDDR3_DDR3     = 1,
908
909         MSCH0_MAINDDR3_SHIFT    = 3,
910         MSCH0_MAINDDR3_MASK     = 1,
911         MSCH0_MAINDDR3_DDR3     = 1,
912
913         MSCH1_MAINPARTIALPOP_SHIFT = 2,
914         MSCH1_MAINPARTIALPOP_MASK = 1,
915
916         MSCH0_MAINPARTIALPOP_SHIFT = 1,
917         MSCH0_MAINPARTIALPOP_MASK = 1,
918 };
919
920 /* GRF_SOC_CON1 */
921 enum {
922         RK3288_RMII_MODE_SHIFT = 14,
923         RK3288_RMII_MODE_MASK  = (1 << RK3288_RMII_MODE_SHIFT),
924         RK3288_RMII_MODE       = (1 << RK3288_RMII_MODE_SHIFT),
925
926         RK3288_GMAC_CLK_SEL_SHIFT = 12,
927         RK3288_GMAC_CLK_SEL_MASK  = (3 << RK3288_GMAC_CLK_SEL_SHIFT),
928         RK3288_GMAC_CLK_SEL_125M  = (0 << RK3288_GMAC_CLK_SEL_SHIFT),
929         RK3288_GMAC_CLK_SEL_25M   = (3 << RK3288_GMAC_CLK_SEL_SHIFT),
930         RK3288_GMAC_CLK_SEL_2_5M  = (2 << RK3288_GMAC_CLK_SEL_SHIFT),
931
932         RK3288_RMII_CLK_SEL_SHIFT = 11,
933         RK3288_RMII_CLK_SEL_MASK  = (1 << RK3288_RMII_CLK_SEL_SHIFT),
934         RK3288_RMII_CLK_SEL_2_5M  = (0 << RK3288_RMII_CLK_SEL_SHIFT),
935         RK3288_RMII_CLK_SEL_25M   = (1 << RK3288_RMII_CLK_SEL_SHIFT),
936
937         GMAC_SPEED_SHIFT        = 0xa,
938         GMAC_SPEED_MASK         = 1,
939         GMAC_SPEED_10M          = 0,
940         GMAC_SPEED_100M,
941
942         GMAC_FLOWCTRL_SHIFT     = 0x9,
943         GMAC_FLOWCTRL_MASK      = 1,
944
945         RK3288_GMAC_PHY_INTF_SEL_SHIFT = 6,
946         RK3288_GMAC_PHY_INTF_SEL_MASK  = (7 << RK3288_GMAC_PHY_INTF_SEL_SHIFT),
947         RK3288_GMAC_PHY_INTF_SEL_RGMII = (1 << RK3288_GMAC_PHY_INTF_SEL_SHIFT),
948         RK3288_GMAC_PHY_INTF_SEL_RMII  = (4 << RK3288_GMAC_PHY_INTF_SEL_SHIFT),
949
950         HOST_REMAP_SHIFT        = 0x5,
951         HOST_REMAP_MASK         = 1
952 };
953
954 /* GRF_SOC_CON2 */
955 enum {
956         UPCTL1_LPDDR3_ODT_EN_SHIFT = 0xd,
957         UPCTL1_LPDDR3_ODT_EN_MASK = 1,
958         UPCTL1_LPDDR3_ODT_EN_ODT = 1,
959
960         UPCTL1_BST_DIABLE_SHIFT = 0xc,
961         UPCTL1_BST_DIABLE_MASK  = 1,
962         UPCTL1_BST_DIABLE_DISABLE = 1,
963
964         LPDDR3_EN1_SHIFT        = 0xb,
965         LPDDR3_EN1_MASK         = 1,
966         LPDDR3_EN1_LPDDR3       = 1,
967
968         UPCTL0_LPDDR3_ODT_EN_SHIFT = 0xa,
969         UPCTL0_LPDDR3_ODT_EN_MASK = 1,
970         UPCTL0_LPDDR3_ODT_EN_ODT_ENABLE = 1,
971
972         UPCTL0_BST_DIABLE_SHIFT = 9,
973         UPCTL0_BST_DIABLE_MASK  = 1,
974         UPCTL0_BST_DIABLE_DISABLE = 1,
975
976         LPDDR3_EN0_SHIFT        = 8,
977         LPDDR3_EN0_MASK         = 1,
978         LPDDR3_EN0_LPDDR3       = 1,
979
980         GRF_POC_FLASH0_CTRL_SHIFT = 7,
981         GRF_POC_FLASH0_CTRL_MASK = 1,
982         GRF_POC_FLASH0_CTRL_GPIO3C_3 = 0,
983         GRF_POC_FLASH0_CTRL_GRF_IO_VSEL,
984
985         SIMCARD_MUX_SHIFT       = 6,
986         SIMCARD_MUX_MASK        = 1,
987         SIMCARD_MUX_USE_A       = 1,
988         SIMCARD_MUX_USE_B       = 0,
989
990         GRF_SPDIF_2CH_EN_SHIFT  = 1,
991         GRF_SPDIF_2CH_EN_MASK   = 1,
992         GRF_SPDIF_2CH_EN_8CH    = 0,
993         GRF_SPDIF_2CH_EN_2CH,
994
995         PWM_SHIFT               = 0,
996         PWM_MASK                = 1,
997         PWM_RK                  = 1,
998         PWM_PWM                 = 0,
999 };
1000
1001 /* GRF_SOC_CON3 */
1002 enum {
1003         RK3288_RXCLK_DLY_ENA_GMAC_SHIFT = 0xf,
1004         RK3288_RXCLK_DLY_ENA_GMAC_MASK =
1005                 (1 << RK3288_RXCLK_DLY_ENA_GMAC_SHIFT),
1006         RK3288_RXCLK_DLY_ENA_GMAC_DISABLE = 0,
1007         RK3288_RXCLK_DLY_ENA_GMAC_ENABLE =
1008                 (1 << RK3288_RXCLK_DLY_ENA_GMAC_SHIFT),
1009
1010         RK3288_TXCLK_DLY_ENA_GMAC_SHIFT = 0xe,
1011         RK3288_TXCLK_DLY_ENA_GMAC_MASK =
1012                 (1 << RK3288_TXCLK_DLY_ENA_GMAC_SHIFT),
1013         RK3288_TXCLK_DLY_ENA_GMAC_DISABLE = 0,
1014         RK3288_TXCLK_DLY_ENA_GMAC_ENABLE =
1015                 (1 << RK3288_TXCLK_DLY_ENA_GMAC_SHIFT),
1016
1017         RK3288_CLK_RX_DL_CFG_GMAC_SHIFT = 0x7,
1018         RK3288_CLK_RX_DL_CFG_GMAC_MASK =
1019                 (0x7f << RK3288_CLK_RX_DL_CFG_GMAC_SHIFT),
1020
1021         RK3288_CLK_TX_DL_CFG_GMAC_SHIFT = 0x0,
1022         RK3288_CLK_TX_DL_CFG_GMAC_MASK =
1023                 (0x7f << RK3288_CLK_TX_DL_CFG_GMAC_SHIFT),
1024 };
1025
1026 /* GRF_SOC_CON6 */
1027 enum GRF_SOC_CON6 {
1028         RK3288_HDMI_EDP_SEL_SHIFT = 0xf,
1029         RK3288_HDMI_EDP_SEL_MASK =
1030                 1 << RK3288_HDMI_EDP_SEL_SHIFT,
1031         RK3288_HDMI_EDP_SEL_EDP = 0,
1032         RK3288_HDMI_EDP_SEL_HDMI,
1033
1034         RK3288_DSI0_DPICOLORM_SHIFT = 0x8,
1035         RK3288_DSI0_DPICOLORM_MASK =
1036                 1 << RK3288_DSI0_DPICOLORM_SHIFT,
1037
1038         RK3288_DSI0_DPISHUTDN_SHIFT = 0x7,
1039         RK3288_DSI0_DPISHUTDN_MASK =
1040                 1 << RK3288_DSI0_DPISHUTDN_SHIFT,
1041
1042         RK3288_DSI0_LCDC_SEL_SHIFT = 0x6,
1043         RK3288_DSI0_LCDC_SEL_MASK =
1044                 1 << RK3288_DSI0_LCDC_SEL_SHIFT,
1045         RK3288_DSI0_LCDC_SEL_BIG = 0,
1046         RK3288_DSI0_LCDC_SEL_LIT = 1,
1047
1048         RK3288_EDP_LCDC_SEL_SHIFT = 0x5,
1049         RK3288_EDP_LCDC_SEL_MASK =
1050                 1 << RK3288_EDP_LCDC_SEL_SHIFT,
1051         RK3288_EDP_LCDC_SEL_BIG = 0,
1052         RK3288_EDP_LCDC_SEL_LIT = 1,
1053
1054         RK3288_HDMI_LCDC_SEL_SHIFT = 0x4,
1055         RK3288_HDMI_LCDC_SEL_MASK =
1056                 1 << RK3288_HDMI_LCDC_SEL_SHIFT,
1057         RK3288_HDMI_LCDC_SEL_BIG = 0,
1058         RK3288_HDMI_LCDC_SEL_LIT = 1,
1059
1060         RK3288_LVDS_LCDC_SEL_SHIFT = 0x3,
1061         RK3288_LVDS_LCDC_SEL_MASK =
1062                 1 << RK3288_LVDS_LCDC_SEL_SHIFT,
1063         RK3288_LVDS_LCDC_SEL_BIG = 0,
1064         RK3288_LVDS_LCDC_SEL_LIT = 1,
1065 };
1066
1067 /* RK3288_SOC_CON8 */
1068 enum GRF_SOC_CON8 {
1069         RK3288_DPHY_TX0_RXMODE_SHIFT = 4,
1070         RK3288_DPHY_TX0_RXMODE_MASK =
1071            0xf << RK3288_DPHY_TX0_RXMODE_SHIFT,
1072         RK3288_DPHY_TX0_RXMODE_EN = 0xf,
1073         RK3288_DPHY_TX0_RXMODE_DIS = 0,
1074
1075         RK3288_DPHY_TX0_TXSTOPMODE_SHIFT = 0x8,
1076         RK3288_DPHY_TX0_TXSTOPMODE_MASK =
1077            0xf << RK3288_DPHY_TX0_TXSTOPMODE_SHIFT,
1078         RK3288_DPHY_TX0_TXSTOPMODE_EN = 0xf,
1079         RK3288_DPHY_TX0_TXSTOPMODE_DIS = 0,
1080
1081         RK3288_DPHY_TX0_TURNREQUEST_SHIFT = 0,
1082         RK3288_DPHY_TX0_TURNREQUEST_MASK =
1083            0xf << RK3288_DPHY_TX0_TURNREQUEST_SHIFT,
1084         RK3288_DPHY_TX0_TURNREQUEST_EN = 0xf,
1085         RK3288_DPHY_TX0_TURNREQUEST_DIS = 0,
1086 };
1087
1088 /* GRF_IO_VSEL */
1089 enum {
1090         GPIO1830_V18SEL_SHIFT           = 9,
1091         GPIO1830_V18SEL_MASK            = 1,
1092         GPIO1830_V18SEL_3_3V            = 0,
1093         GPIO1830_V18SEL_1_8V,
1094
1095         GPIO30_V18SEL_SHIFT     = 8,
1096         GPIO30_V18SEL_MASK      = 1,
1097         GPIO30_V18SEL_3_3V      = 0,
1098         GPIO30_V18SEL_1_8V,
1099
1100         SDCARD_V18SEL_SHIFT     = 7,
1101         SDCARD_V18SEL_MASK      = 1,
1102         SDCARD_V18SEL_3_3V      = 0,
1103         SDCARD_V18SEL_1_8V,
1104
1105         AUDIO_V18SEL_SHIFT      = 6,
1106         AUDIO_V18SEL_MASK       = 1,
1107         AUDIO_V18SEL_3_3V       = 0,
1108         AUDIO_V18SEL_1_8V,
1109
1110         BB_V18SEL_SHIFT         = 5,
1111         BB_V18SEL_MASK          = 1,
1112         BB_V18SEL_3_3V          = 0,
1113         BB_V18SEL_1_8V,
1114
1115         WIFI_V18SEL_SHIFT       = 4,
1116         WIFI_V18SEL_MASK        = 1,
1117         WIFI_V18SEL_3_3V        = 0,
1118         WIFI_V18SEL_1_8V,
1119
1120         FLASH1_V18SEL_SHIFT     = 3,
1121         FLASH1_V18SEL_MASK      = 1,
1122         FLASH1_V18SEL_3_3V      = 0,
1123         FLASH1_V18SEL_1_8V,
1124
1125         FLASH0_V18SEL_SHIFT     = 2,
1126         FLASH0_V18SEL_MASK      = 1,
1127         FLASH0_V18SEL_3_3V      = 0,
1128         FLASH0_V18SEL_1_8V,
1129
1130         DVP_V18SEL_SHIFT        = 1,
1131         DVP_V18SEL_MASK         = 1,
1132         DVP_V18SEL_3_3V         = 0,
1133         DVP_V18SEL_1_8V,
1134
1135         LCDC_V18SEL_SHIFT       = 0,
1136         LCDC_V18SEL_MASK        = 1,
1137         LCDC_V18SEL_3_3V        = 0,
1138         LCDC_V18SEL_1_8V,
1139 };
1140
1141 /* GPIO Bias settings */
1142 enum GPIO_BIAS {
1143         GPIO_BIAS_2MA = 0,
1144         GPIO_BIAS_4MA,
1145         GPIO_BIAS_8MA,
1146         GPIO_BIAS_12MA,
1147 };
1148
1149 #define GPIO_BIAS_MASK  0x3
1150 #define GPIO_BIAS_SHIFT(x)  ((x) * 2)
1151
1152 #define GPIO_PULL_MASK  0x3
1153 #define GPIO_PULL_SHIFT(x)  ((x) * 2)
1154
1155 #endif