xref: /OK3568_Linux_fs/kernel/drivers/misc/rk628/rk628_gpio.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Copyright (c) 2020 Rockchip Electronics Co. Ltd.
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Author: Wyon Bi <bivvy.bi@rock-chips.com>
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #ifndef RK628_GPIO_H
9*4882a593Smuzhiyun #define RK628_GPIO_H
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun #define RK628_GPIO0_BASE      0x000D0000
12*4882a593Smuzhiyun #define RK628_GPIO1_BASE      0x000E0000
13*4882a593Smuzhiyun #define RK628_GPIO2_BASE      0x000F0000
14*4882a593Smuzhiyun #define RK628_GPIO3_BASE      0x00100000
15*4882a593Smuzhiyun #define RK628_GPIO_MAX_REGISTER       (RK628_GPIO3_BASE + GPIO_VER_ID)
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun /* GPIO control registers */
18*4882a593Smuzhiyun #define GPIO_SWPORT_DR_L        0x00
19*4882a593Smuzhiyun #define GPIO_SWPORT_DR_H        0x04
20*4882a593Smuzhiyun #define GPIO_SWPORT_DDR_L       0x08
21*4882a593Smuzhiyun #define GPIO_SWPORT_DDR_H       0x0c
22*4882a593Smuzhiyun #define GPIO_INTEN_L            0x10
23*4882a593Smuzhiyun #define GPIO_INTEN_H            0x14
24*4882a593Smuzhiyun #define GPIO_INTMASK_L          0x18
25*4882a593Smuzhiyun #define GPIO_INTMASK_H          0x1c
26*4882a593Smuzhiyun #define GPIO_INTTYPE_L          0x20
27*4882a593Smuzhiyun #define GPIO_INTTYPE_H          0x24
28*4882a593Smuzhiyun #define GPIO_INT_POLARITY_L     0x28
29*4882a593Smuzhiyun #define GPIO_INT_POLARITY_H     0x2c
30*4882a593Smuzhiyun #define GPIO_INT_BOTHEDGE_L     0x30
31*4882a593Smuzhiyun #define GPIO_INT_BOTHEDGE_H     0x34
32*4882a593Smuzhiyun #define GPIO_DEBOUNCE_L         0x38
33*4882a593Smuzhiyun #define GPIO_DEBOUNCE_H         0x3c
34*4882a593Smuzhiyun #define GPIO_DBCLK_DIV_EN_L     0x40
35*4882a593Smuzhiyun #define GPIO_DBCLK_DIV_EN_H     0x44
36*4882a593Smuzhiyun #define GPIO_INT_STATUS         0x50
37*4882a593Smuzhiyun #define GPIO_INT_RAWSTATUS      0x58
38*4882a593Smuzhiyun #define GPIO_PORTS_EOI_L        0x60
39*4882a593Smuzhiyun #define GPIO_PORTS_EOI_H        0x64
40*4882a593Smuzhiyun #define GPIO_EXT_PORT           0x70
41*4882a593Smuzhiyun #define GPIO_VER_ID             0x78
42*4882a593Smuzhiyun 
43*4882a593Smuzhiyun #define GPIO_REG_LOW            0x0
44*4882a593Smuzhiyun #define GPIO_REG_HIGH           0x1
45*4882a593Smuzhiyun 
46*4882a593Smuzhiyun /* GPIO control registers */
47*4882a593Smuzhiyun #define GPIO_INTMASK            0x34
48*4882a593Smuzhiyun #define GPIO_PORTS_EOI          0x4c
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun #define BANK_OFFSET 32
51*4882a593Smuzhiyun 
52*4882a593Smuzhiyun #define GPIO_DIRECTION_OUT 1
53*4882a593Smuzhiyun #define GPIO_DIRECTION_IN 0
54*4882a593Smuzhiyun 
55*4882a593Smuzhiyun enum {
56*4882a593Smuzhiyun 	GPIO_HIGH_Z,
57*4882a593Smuzhiyun 	GPIO_PULL_UP,
58*4882a593Smuzhiyun 	GPIO_PULL_DOWN,
59*4882a593Smuzhiyun };
60*4882a593Smuzhiyun 
61*4882a593Smuzhiyun enum {
62*4882a593Smuzhiyun 	GPIO_BANK0 = 0,
63*4882a593Smuzhiyun 	GPIO_BANK1,
64*4882a593Smuzhiyun 	GPIO_BANK2,
65*4882a593Smuzhiyun 	GPIO_BANK3,
66*4882a593Smuzhiyun 	GPIO_BANKX = 9,
67*4882a593Smuzhiyun };
68*4882a593Smuzhiyun 
69*4882a593Smuzhiyun 
70*4882a593Smuzhiyun enum {
71*4882a593Smuzhiyun 	GPIO0_A0 = BANK_OFFSET * 0,
72*4882a593Smuzhiyun 	GPIO0_A1,
73*4882a593Smuzhiyun 	GPIO0_A2,
74*4882a593Smuzhiyun 	GPIO0_A3,
75*4882a593Smuzhiyun 	GPIO0_A4,
76*4882a593Smuzhiyun 	GPIO0_A5,
77*4882a593Smuzhiyun 	GPIO0_A6,
78*4882a593Smuzhiyun 	GPIO0_A7,
79*4882a593Smuzhiyun 	GPIO0_B0,
80*4882a593Smuzhiyun 	GPIO0_B1,
81*4882a593Smuzhiyun 	GPIO0_B2,
82*4882a593Smuzhiyun 	GPIO0_B3,
83*4882a593Smuzhiyun 	GPIO1_A0 = BANK_OFFSET * 1,
84*4882a593Smuzhiyun 	GPIO1_A1,
85*4882a593Smuzhiyun 	GPIO1_A2,
86*4882a593Smuzhiyun 	GPIO1_A3,
87*4882a593Smuzhiyun 	GPIO1_A4,
88*4882a593Smuzhiyun 	GPIO1_A5,
89*4882a593Smuzhiyun 	GPIO1_A6,
90*4882a593Smuzhiyun 	GPIO1_A7,
91*4882a593Smuzhiyun 	GPIO1_B0,
92*4882a593Smuzhiyun 	GPIO1_B1,
93*4882a593Smuzhiyun 	GPIO1_B2,
94*4882a593Smuzhiyun 	GPIO1_B3,
95*4882a593Smuzhiyun 	GPIO1_B4,
96*4882a593Smuzhiyun 	GPIO1_B5,
97*4882a593Smuzhiyun 	GPIO2_A0 = BANK_OFFSET * 2,
98*4882a593Smuzhiyun 	GPIO2_A1,
99*4882a593Smuzhiyun 	GPIO2_A2,
100*4882a593Smuzhiyun 	GPIO2_A3,
101*4882a593Smuzhiyun 	GPIO2_A4,
102*4882a593Smuzhiyun 	GPIO2_A5,
103*4882a593Smuzhiyun 	GPIO2_A6,
104*4882a593Smuzhiyun 	GPIO2_A7,
105*4882a593Smuzhiyun 	GPIO2_B0,
106*4882a593Smuzhiyun 	GPIO2_B1,
107*4882a593Smuzhiyun 	GPIO2_B2,
108*4882a593Smuzhiyun 	GPIO2_B3,
109*4882a593Smuzhiyun 	GPIO2_B4,
110*4882a593Smuzhiyun 	GPIO2_B5,
111*4882a593Smuzhiyun 	GPIO2_B6,
112*4882a593Smuzhiyun 	GPIO2_B7,
113*4882a593Smuzhiyun 	GPIO2_C0,
114*4882a593Smuzhiyun 	GPIO2_C1,
115*4882a593Smuzhiyun 	GPIO2_C2,
116*4882a593Smuzhiyun 	GPIO2_C3,
117*4882a593Smuzhiyun 	GPIO2_C4,
118*4882a593Smuzhiyun 	GPIO2_C5,
119*4882a593Smuzhiyun 	GPIO2_C6,
120*4882a593Smuzhiyun 	GPIO2_C7,
121*4882a593Smuzhiyun 	GPIO3_A0 = BANK_OFFSET * 3,
122*4882a593Smuzhiyun 	GPIO3_A1,
123*4882a593Smuzhiyun 	GPIO3_A2,
124*4882a593Smuzhiyun 	GPIO3_A3,
125*4882a593Smuzhiyun 	GPIO3_A4,
126*4882a593Smuzhiyun 	GPIO3_A5,
127*4882a593Smuzhiyun 	GPIO3_A6,
128*4882a593Smuzhiyun 	GPIO3_A7,
129*4882a593Smuzhiyun 	GPIO3_B0,
130*4882a593Smuzhiyun 	GPIO3_B1,
131*4882a593Smuzhiyun 	GPIO3_B2,
132*4882a593Smuzhiyun 	GPIO3_B3,
133*4882a593Smuzhiyun 	GPIO3_B4,
134*4882a593Smuzhiyun 	PIN_I2SM_SCK = BANK_OFFSET * 4 + 2,
135*4882a593Smuzhiyun 	PIN_I2SM_D,
136*4882a593Smuzhiyun 	PIN_I2SM_LR,
137*4882a593Smuzhiyun 	PIN_RXDDC_SCL,
138*4882a593Smuzhiyun 	PIN_RXDDC_SDA,
139*4882a593Smuzhiyun 	PIN_HDMIRX_CE,
140*4882a593Smuzhiyun 	PIN_JTAG_EN,
141*4882a593Smuzhiyun 	PIN_UART_SEL,
142*4882a593Smuzhiyun 	PIN_UART_RTS_EN,
143*4882a593Smuzhiyun 	PIN_UART_CTS_EN,
144*4882a593Smuzhiyun 	PIN_MUX,
145*4882a593Smuzhiyun };
146*4882a593Smuzhiyun 
147*4882a593Smuzhiyun struct rk628_pin_iomux_group {
148*4882a593Smuzhiyun 	unsigned int pins;
149*4882a593Smuzhiyun 	int bank;
150*4882a593Smuzhiyun 	int mux;
151*4882a593Smuzhiyun 	int iomux_base;
152*4882a593Smuzhiyun 	int gpio_base;
153*4882a593Smuzhiyun 	int pull_reg;
154*4882a593Smuzhiyun };
155*4882a593Smuzhiyun 
156*4882a593Smuzhiyun 
157*4882a593Smuzhiyun #define PINCTRL_GROUP(a, b, c, d, e, f) \
158*4882a593Smuzhiyun 	{.pins = a, .bank = b, .mux = c, .iomux_base = d, .gpio_base = e, .pull_reg = f}
159*4882a593Smuzhiyun 
160*4882a593Smuzhiyun 
161*4882a593Smuzhiyun static const struct rk628_pin_iomux_group rk628_pin_iomux_groups[] = {
162*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO0_A0, GPIO_BANK0, 1, GRF_GPIO0AB_SEL_CON,
163*4882a593Smuzhiyun 		      RK628_GPIO0_BASE, GRF_GPIO0A_P_CON),
164*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO0_A1, GPIO_BANK0, 1, GRF_GPIO0AB_SEL_CON,
165*4882a593Smuzhiyun 		      RK628_GPIO0_BASE, GRF_GPIO0A_P_CON),
166*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO0_A2, GPIO_BANK0, 1, GRF_GPIO0AB_SEL_CON, RK628_GPIO0_BASE, 0),
167*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO0_A3, GPIO_BANK0, 1, GRF_GPIO0AB_SEL_CON,
168*4882a593Smuzhiyun 		      RK628_GPIO0_BASE, GRF_GPIO0A_P_CON),
169*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO0_A4, GPIO_BANK0, 1, GRF_GPIO0AB_SEL_CON,
170*4882a593Smuzhiyun 		      RK628_GPIO0_BASE, GRF_GPIO0A_P_CON),
171*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO0_A5, GPIO_BANK0, 1, GRF_GPIO0AB_SEL_CON,
172*4882a593Smuzhiyun 		      RK628_GPIO0_BASE, GRF_GPIO0A_P_CON),
173*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO0_A6, GPIO_BANK0, 1, GRF_GPIO0AB_SEL_CON,
174*4882a593Smuzhiyun 		      RK628_GPIO0_BASE, GRF_GPIO0A_P_CON),
175*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO0_A7, GPIO_BANK0, 1, GRF_GPIO0AB_SEL_CON,
176*4882a593Smuzhiyun 		      RK628_GPIO0_BASE, GRF_GPIO0A_P_CON),
177*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO0_B0, GPIO_BANK0, 1, GRF_GPIO0AB_SEL_CON, RK628_GPIO0_BASE, 0),
178*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO0_B1, GPIO_BANK0, 1, GRF_GPIO0AB_SEL_CON, RK628_GPIO0_BASE, 0),
179*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO0_B2, GPIO_BANK0, 1, GRF_GPIO0AB_SEL_CON, RK628_GPIO0_BASE, 0),
180*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO0_B3, GPIO_BANK0, 1, GRF_GPIO0AB_SEL_CON, RK628_GPIO0_BASE, 0),
181*4882a593Smuzhiyun 
182*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO1_A0, GPIO_BANK1, 1, GRF_GPIO1AB_SEL_CON,
183*4882a593Smuzhiyun 		      RK628_GPIO1_BASE, GRF_GPIO1A_P_CON),
184*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO1_A1, GPIO_BANK1, 1, GRF_GPIO1AB_SEL_CON,
185*4882a593Smuzhiyun 		      RK628_GPIO1_BASE, GRF_GPIO1A_P_CON),
186*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO1_A2, GPIO_BANK1, 1, GRF_GPIO1AB_SEL_CON,
187*4882a593Smuzhiyun 		      RK628_GPIO1_BASE, GRF_GPIO1A_P_CON),
188*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO1_A3, GPIO_BANK1, 1, GRF_GPIO1AB_SEL_CON,
189*4882a593Smuzhiyun 		      RK628_GPIO1_BASE, GRF_GPIO1A_P_CON),
190*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO1_A4, GPIO_BANK1, 1, GRF_GPIO1AB_SEL_CON,
191*4882a593Smuzhiyun 		      RK628_GPIO1_BASE, GRF_GPIO1A_P_CON),
192*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO1_A5, GPIO_BANK1, 1, GRF_GPIO1AB_SEL_CON,
193*4882a593Smuzhiyun 		      RK628_GPIO1_BASE, GRF_GPIO1A_P_CON),
194*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO1_A6, GPIO_BANK1, 1, GRF_GPIO1AB_SEL_CON,
195*4882a593Smuzhiyun 		      RK628_GPIO1_BASE, GRF_GPIO1A_P_CON),
196*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO1_A7, GPIO_BANK1, 1, GRF_GPIO1AB_SEL_CON,
197*4882a593Smuzhiyun 		      RK628_GPIO1_BASE, GRF_GPIO1A_P_CON),
198*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO1_B0, GPIO_BANK1, 1, GRF_GPIO1AB_SEL_CON, RK628_GPIO1_BASE, 0),
199*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO1_B1, GPIO_BANK1, 1, GRF_GPIO1AB_SEL_CON, RK628_GPIO1_BASE, 0),
200*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO1_B2, GPIO_BANK1, 1, GRF_GPIO1AB_SEL_CON, RK628_GPIO1_BASE, 0),
201*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO1_B3, GPIO_BANK1, 1, GRF_GPIO1AB_SEL_CON, RK628_GPIO1_BASE, 0),
202*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO1_B4, GPIO_BANK1, 1, GRF_GPIO1AB_SEL_CON, RK628_GPIO1_BASE, 0),
203*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO1_B5, GPIO_BANK1, 1, GRF_GPIO1AB_SEL_CON, RK628_GPIO1_BASE, 0),
204*4882a593Smuzhiyun 
205*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_A0, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
206*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2A_P_CON),
207*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_A1, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
208*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2A_P_CON),
209*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_A2, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
210*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2A_P_CON),
211*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_A3, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
212*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2A_P_CON),
213*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_A4, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
214*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2A_P_CON),
215*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_A5, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
216*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2A_P_CON),
217*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_A6, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
218*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2A_P_CON),
219*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_A7, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
220*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2A_P_CON),
221*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_B0, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
222*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2B_P_CON),
223*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_B1, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
224*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2B_P_CON),
225*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_B2, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
226*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2B_P_CON),
227*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_B3, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
228*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2B_P_CON),
229*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_B4, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
230*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2B_P_CON),
231*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_B5, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
232*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2B_P_CON),
233*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_B6, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
234*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2B_P_CON),
235*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_B7, GPIO_BANK2, 1, GRF_GPIO2AB_SEL_CON,
236*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2B_P_CON),
237*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_C0, GPIO_BANK2, 1, GRF_GPIO2C_SEL_CON,
238*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2C_P_CON),
239*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_C1, GPIO_BANK2, 1, GRF_GPIO2C_SEL_CON,
240*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2C_P_CON),
241*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_C2, GPIO_BANK2, 1, GRF_GPIO2C_SEL_CON,
242*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2C_P_CON),
243*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_C3, GPIO_BANK2, 1, GRF_GPIO2C_SEL_CON,
244*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2C_P_CON),
245*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_C4, GPIO_BANK2, 1, GRF_GPIO2C_SEL_CON,
246*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2C_P_CON),
247*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_C5, GPIO_BANK2, 1, GRF_GPIO2C_SEL_CON,
248*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2C_P_CON),
249*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_C6, GPIO_BANK2, 1, GRF_GPIO2C_SEL_CON,
250*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2C_P_CON),
251*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO2_C7, GPIO_BANK2, 1, GRF_GPIO2C_SEL_CON,
252*4882a593Smuzhiyun 		      RK628_GPIO2_BASE, GRF_GPIO2C_P_CON),
253*4882a593Smuzhiyun 
254*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO3_A0, GPIO_BANK3, 1, GRF_GPIO3AB_SEL_CON,
255*4882a593Smuzhiyun 		      RK628_GPIO3_BASE, GRF_GPIO3A_P_CON),
256*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO3_A1, GPIO_BANK3, 1, GRF_GPIO3AB_SEL_CON,
257*4882a593Smuzhiyun 		      RK628_GPIO3_BASE, GRF_GPIO3A_P_CON),
258*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO3_A2, GPIO_BANK3, 1, GRF_GPIO3AB_SEL_CON,
259*4882a593Smuzhiyun 		      RK628_GPIO3_BASE, GRF_GPIO3A_P_CON),
260*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO3_A3, GPIO_BANK3, 1, GRF_GPIO3AB_SEL_CON,
261*4882a593Smuzhiyun 		      RK628_GPIO3_BASE, GRF_GPIO3A_P_CON),
262*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO3_A4, GPIO_BANK3, 1, GRF_GPIO3AB_SEL_CON,
263*4882a593Smuzhiyun 		      RK628_GPIO3_BASE, 0),
264*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO3_A5, GPIO_BANK3, 1, GRF_GPIO3AB_SEL_CON,
265*4882a593Smuzhiyun 		      RK628_GPIO3_BASE, 0),
266*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO3_A6, GPIO_BANK3, 1, GRF_GPIO3AB_SEL_CON,
267*4882a593Smuzhiyun 		      RK628_GPIO3_BASE, 0),
268*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO3_A7, GPIO_BANK3, 1, GRF_GPIO3AB_SEL_CON,
269*4882a593Smuzhiyun 		      RK628_GPIO3_BASE, 0),
270*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO3_B0, GPIO_BANK3, 1, GRF_GPIO3AB_SEL_CON,
271*4882a593Smuzhiyun 		      RK628_GPIO3_BASE, GRF_GPIO3B_P_CON),
272*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO3_B1, GPIO_BANK3, 1, GRF_GPIO3AB_SEL_CON,
273*4882a593Smuzhiyun 		      RK628_GPIO3_BASE, GRF_GPIO3B_P_CON),
274*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO3_B2, GPIO_BANK3, 1, GRF_GPIO3AB_SEL_CON,
275*4882a593Smuzhiyun 		      RK628_GPIO3_BASE, GRF_GPIO3B_P_CON),
276*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO3_B3, GPIO_BANK3, 1, GRF_GPIO3AB_SEL_CON,
277*4882a593Smuzhiyun 		      RK628_GPIO3_BASE, GRF_GPIO3B_P_CON),
278*4882a593Smuzhiyun 	PINCTRL_GROUP(GPIO3_B4, GPIO_BANK3, 1, GRF_GPIO3AB_SEL_CON,
279*4882a593Smuzhiyun 		      RK628_GPIO3_BASE, GRF_GPIO3B_P_CON),
280*4882a593Smuzhiyun 
281*4882a593Smuzhiyun 	PINCTRL_GROUP(PIN_I2SM_SCK, GPIO_BANKX, 1, GRF_SYSTEM_CON3, 0, 0),
282*4882a593Smuzhiyun 	PINCTRL_GROUP(PIN_I2SM_D, GPIO_BANKX, 1, GRF_SYSTEM_CON3, 0, 0),
283*4882a593Smuzhiyun 	PINCTRL_GROUP(PIN_I2SM_LR, GPIO_BANKX, 1, GRF_SYSTEM_CON3, 0, 0),
284*4882a593Smuzhiyun 	PINCTRL_GROUP(PIN_RXDDC_SCL, GPIO_BANKX, 1, GRF_SYSTEM_CON3, 0, 0),
285*4882a593Smuzhiyun 	PINCTRL_GROUP(PIN_RXDDC_SDA, GPIO_BANKX, 1, GRF_SYSTEM_CON3, 0, 0),
286*4882a593Smuzhiyun 	PINCTRL_GROUP(PIN_HDMIRX_CE, GPIO_BANKX, 1, GRF_SYSTEM_CON3, 0, 0),
287*4882a593Smuzhiyun 	PINCTRL_GROUP(PIN_JTAG_EN, GPIO_BANKX, 1, GRF_SYSTEM_CON3, 0, 0),
288*4882a593Smuzhiyun 	PINCTRL_GROUP(PIN_UART_SEL, GPIO_BANKX, 1, GRF_SYSTEM_CON3, 0, 0),
289*4882a593Smuzhiyun 	PINCTRL_GROUP(PIN_UART_RTS_EN, GPIO_BANKX, 1, GRF_SYSTEM_CON3, 0, 0),
290*4882a593Smuzhiyun 	PINCTRL_GROUP(PIN_UART_CTS_EN, GPIO_BANKX, 1, GRF_SYSTEM_CON3, 0, 0),
291*4882a593Smuzhiyun 
292*4882a593Smuzhiyun };
293*4882a593Smuzhiyun 
294*4882a593Smuzhiyun #endif // RK628_GPIO_H
295*4882a593Smuzhiyun 
296*4882a593Smuzhiyun 
297