xref: /rk3399_ARM-atf/plat/mediatek/mt8192/drivers/gpio/mtgpio.h (revision 054af8f233d94670dca1a27992296a5afc6b1f73)
1*054af8f2SPo Xu /*
2*054af8f2SPo Xu  * Copyright (c) 2020, MediaTek Inc. All rights reserved.
3*054af8f2SPo Xu  *
4*054af8f2SPo Xu  * SPDX-License-Identifier: BSD-3-Clause
5*054af8f2SPo Xu  */
6*054af8f2SPo Xu 
7*054af8f2SPo Xu #ifndef MT_GPIO_H
8*054af8f2SPo Xu #define MT_GPIO_H
9*054af8f2SPo Xu 
10*054af8f2SPo Xu #include <stdbool.h>
11*054af8f2SPo Xu #include <stdint.h>
12*054af8f2SPo Xu 
13*054af8f2SPo Xu #include <plat/common/common_def.h>
14*054af8f2SPo Xu 
15*054af8f2SPo Xu /*  Error Code No. */
16*054af8f2SPo Xu #define RSUCCESS        0
17*054af8f2SPo Xu #define ERACCESS        1
18*054af8f2SPo Xu #define ERINVAL         2
19*054af8f2SPo Xu #define ERWRAPPER       3
20*054af8f2SPo Xu #define MAX_GPIO_PIN    MT_GPIO_BASE_MAX
21*054af8f2SPo Xu 
22*054af8f2SPo Xu /* Enumeration for GPIO pin */
23*054af8f2SPo Xu typedef enum GPIO_PIN {
24*054af8f2SPo Xu 	GPIO_UNSUPPORTED = -1,
25*054af8f2SPo Xu 
26*054af8f2SPo Xu 	GPIO0, GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, GPIO6, GPIO7,
27*054af8f2SPo Xu 	GPIO8, GPIO9, GPIO10, GPIO11, GPIO12, GPIO13, GPIO14, GPIO15,
28*054af8f2SPo Xu 	GPIO16, GPIO17, GPIO18, GPIO19, GPIO20, GPIO21, GPIO22, GPIO23,
29*054af8f2SPo Xu 	GPIO24, GPIO25, GPIO26, GPIO27, GPIO28, GPIO29, GPIO30, GPIO31,
30*054af8f2SPo Xu 	GPIO32, GPIO33, GPIO34, GPIO35, GPIO36, GPIO37, GPIO38, GPIO39,
31*054af8f2SPo Xu 	GPIO40, GPIO41, GPIO42, GPIO43, GPIO44, GPIO45, GPIO46, GPIO47,
32*054af8f2SPo Xu 	GPIO48, GPIO49, GPIO50, GPIO51, GPIO52, GPIO53, GPIO54, GPIO55,
33*054af8f2SPo Xu 	GPIO56, GPIO57, GPIO58, GPIO59, GPIO60, GPIO61, GPIO62, GPIO63,
34*054af8f2SPo Xu 	GPIO64, GPIO65, GPIO66, GPIO67, GPIO68, GPIO69, GPIO70, GPIO71,
35*054af8f2SPo Xu 	GPIO72, GPIO73, GPIO74, GPIO75, GPIO76, GPIO77, GPIO78, GPIO79,
36*054af8f2SPo Xu 	GPIO80, GPIO81, GPIO82, GPIO83, GPIO84, GPIO85, GPIO86, GPIO87,
37*054af8f2SPo Xu 	GPIO88, GPIO89, GPIO90, GPIO91, GPIO92, GPIO93, GPIO94, GPIO95,
38*054af8f2SPo Xu 	GPIO96, GPIO97, GPIO98, GPIO99, GPIO100, GPIO101, GPIO102, GPIO103,
39*054af8f2SPo Xu 	GPIO104, GPIO105, GPIO106, GPIO107, GPIO108, GPIO109, GPIO110, GPIO111,
40*054af8f2SPo Xu 	GPIO112, GPIO113, GPIO114, GPIO115, GPIO116, GPIO117, GPIO118, GPIO119,
41*054af8f2SPo Xu 	GPIO120, GPIO121, GPIO122, GPIO123, GPIO124, GPIO125, GPIO126, GPIO127,
42*054af8f2SPo Xu 	GPIO128, GPIO129, GPIO130, GPIO131, GPIO132, GPIO133, GPIO134, GPIO135,
43*054af8f2SPo Xu 	GPIO136, GPIO137, GPIO138, GPIO139, GPIO140, GPIO141, GPIO142, GPIO143,
44*054af8f2SPo Xu 	GPIO144, GPIO145, GPIO146, GPIO147, GPIO148, GPIO149, GPIO150, GPIO151,
45*054af8f2SPo Xu 	GPIO152, GPIO153, GPIO154, GPIO155, GPIO156, GPIO157, GPIO158, GPIO159,
46*054af8f2SPo Xu 	GPIO160, GPIO161, GPIO162, GPIO163, GPIO164, GPIO165, GPIO166, GPIO167,
47*054af8f2SPo Xu 	GPIO168, GPIO169, GPIO170, GPIO171, GPIO172, GPIO173, GPIO174, GPIO175,
48*054af8f2SPo Xu 	GPIO176, GPIO177, GPIO178, GPIO179, GPIO180, GPIO181, GPIO182, GPIO183,
49*054af8f2SPo Xu 	GPIO184, GPIO185, GPIO186, GPIO187, GPIO188, GPIO189, GPIO190, GPIO191,
50*054af8f2SPo Xu 	GPIO192, GPIO193, GPIO194, GPIO195, GPIO196, GPIO197, GPIO198, GPIO199,
51*054af8f2SPo Xu 	GPIO200, GPIO201, GPIO202, GPIO203, GPIO204, GPIO205, GPIO206, GPIO207,
52*054af8f2SPo Xu 	GPIO208, GPIO209, GPIO210, GPIO211, GPIO212, GPIO213, GPIO214, GPIO215,
53*054af8f2SPo Xu 	GPIO216, GPIO217, GPIO218, GPIO219,
54*054af8f2SPo Xu 	MT_GPIO_BASE_MAX
55*054af8f2SPo Xu } GPIO_PIN;
56*054af8f2SPo Xu 
57*054af8f2SPo Xu /* GPIO MODE CONTROL VALUE*/
58*054af8f2SPo Xu typedef enum {
59*054af8f2SPo Xu 	GPIO_MODE_UNSUPPORTED = -1,
60*054af8f2SPo Xu 	GPIO_MODE_GPIO  = 0,
61*054af8f2SPo Xu 	GPIO_MODE_00    = 0,
62*054af8f2SPo Xu 	GPIO_MODE_01,
63*054af8f2SPo Xu 	GPIO_MODE_02,
64*054af8f2SPo Xu 	GPIO_MODE_03,
65*054af8f2SPo Xu 	GPIO_MODE_04,
66*054af8f2SPo Xu 	GPIO_MODE_05,
67*054af8f2SPo Xu 	GPIO_MODE_06,
68*054af8f2SPo Xu 	GPIO_MODE_07,
69*054af8f2SPo Xu 
70*054af8f2SPo Xu 	GPIO_MODE_MAX,
71*054af8f2SPo Xu 	GPIO_MODE_DEFAULT = GPIO_MODE_00,
72*054af8f2SPo Xu } GPIO_MODE;
73*054af8f2SPo Xu 
74*054af8f2SPo Xu /* GPIO DIRECTION */
75*054af8f2SPo Xu typedef enum {
76*054af8f2SPo Xu 	MT_GPIO_DIR_UNSUPPORTED = -1,
77*054af8f2SPo Xu 	MT_GPIO_DIR_OUT    = 0,
78*054af8f2SPo Xu 	MT_GPIO_DIR_IN     = 1,
79*054af8f2SPo Xu 	MT_GPIO_DIR_MAX,
80*054af8f2SPo Xu 	MT_GPIO_DIR_DEFAULT = MT_GPIO_DIR_IN,
81*054af8f2SPo Xu } GPIO_DIR;
82*054af8f2SPo Xu 
83*054af8f2SPo Xu /* GPIO PULL ENABLE*/
84*054af8f2SPo Xu typedef enum {
85*054af8f2SPo Xu 	MT_GPIO_PULL_EN_UNSUPPORTED = -1,
86*054af8f2SPo Xu 	MT_GPIO_PULL_DISABLE   = 0,
87*054af8f2SPo Xu 	MT_GPIO_PULL_ENABLE    = 1,
88*054af8f2SPo Xu 	MT_GPIO_PULL_ENABLE_R0 = 2,
89*054af8f2SPo Xu 	MT_GPIO_PULL_ENABLE_R1 = 3,
90*054af8f2SPo Xu 	MT_GPIO_PULL_ENABLE_R0R1 = 4,
91*054af8f2SPo Xu 
92*054af8f2SPo Xu 	MT_GPIO_PULL_EN_MAX,
93*054af8f2SPo Xu 	MT_GPIO_PULL_EN_DEFAULT = MT_GPIO_PULL_ENABLE,
94*054af8f2SPo Xu } GPIO_PULL_EN;
95*054af8f2SPo Xu 
96*054af8f2SPo Xu /* GPIO PULL-UP/PULL-DOWN*/
97*054af8f2SPo Xu typedef enum {
98*054af8f2SPo Xu 	MT_GPIO_PULL_UNSUPPORTED = -1,
99*054af8f2SPo Xu 	MT_GPIO_PULL_NONE        = 0,
100*054af8f2SPo Xu 	MT_GPIO_PULL_UP          = 1,
101*054af8f2SPo Xu 	MT_GPIO_PULL_DOWN        = 2,
102*054af8f2SPo Xu 	MT_GPIO_PULL_MAX,
103*054af8f2SPo Xu 	MT_GPIO_PULL_DEFAULT = MT_GPIO_PULL_DOWN
104*054af8f2SPo Xu } GPIO_PULL;
105*054af8f2SPo Xu 
106*054af8f2SPo Xu /* GPIO OUTPUT */
107*054af8f2SPo Xu typedef enum {
108*054af8f2SPo Xu 	MT_GPIO_OUT_UNSUPPORTED = -1,
109*054af8f2SPo Xu 	MT_GPIO_OUT_ZERO = 0,
110*054af8f2SPo Xu 	MT_GPIO_OUT_ONE  = 1,
111*054af8f2SPo Xu 
112*054af8f2SPo Xu 	MT_GPIO_OUT_MAX,
113*054af8f2SPo Xu 	MT_GPIO_OUT_DEFAULT = MT_GPIO_OUT_ZERO,
114*054af8f2SPo Xu 	MT_GPIO_DATA_OUT_DEFAULT = MT_GPIO_OUT_ZERO,  /*compatible with DCT*/
115*054af8f2SPo Xu } GPIO_OUT;
116*054af8f2SPo Xu 
117*054af8f2SPo Xu /* GPIO INPUT */
118*054af8f2SPo Xu typedef enum {
119*054af8f2SPo Xu 	MT_GPIO_IN_UNSUPPORTED = -1,
120*054af8f2SPo Xu 	MT_GPIO_IN_ZERO = 0,
121*054af8f2SPo Xu 	MT_GPIO_IN_ONE  = 1,
122*054af8f2SPo Xu 
123*054af8f2SPo Xu 	MT_GPIO_IN_MAX,
124*054af8f2SPo Xu } GPIO_IN;
125*054af8f2SPo Xu 
126*054af8f2SPo Xu typedef struct {
127*054af8f2SPo Xu 	uint32_t val;
128*054af8f2SPo Xu 	uint32_t set;
129*054af8f2SPo Xu 	uint32_t rst;
130*054af8f2SPo Xu 	uint32_t _align1;
131*054af8f2SPo Xu } VAL_REGS;
132*054af8f2SPo Xu 
133*054af8f2SPo Xu typedef struct {
134*054af8f2SPo Xu 	VAL_REGS dir[7];
135*054af8f2SPo Xu 	uint8_t rsv00[144];
136*054af8f2SPo Xu 	VAL_REGS dout[7];
137*054af8f2SPo Xu 	uint8_t rsv01[144];
138*054af8f2SPo Xu 	VAL_REGS din[7];
139*054af8f2SPo Xu 	uint8_t rsv02[144];
140*054af8f2SPo Xu 	VAL_REGS mode[28];
141*054af8f2SPo Xu } GPIO_REGS;
142*054af8f2SPo Xu 
143*054af8f2SPo Xu 
144*054af8f2SPo Xu #define PIN(_id, _flag, _bit, _base, _offset) {		\
145*054af8f2SPo Xu 		.id = _id,				\
146*054af8f2SPo Xu 		.flag = _flag,				\
147*054af8f2SPo Xu 		.bit = _bit,				\
148*054af8f2SPo Xu 		.base = _base,				\
149*054af8f2SPo Xu 		.offset = _offset,			\
150*054af8f2SPo Xu 	}
151*054af8f2SPo Xu 
152*054af8f2SPo Xu struct mt_pin_info {
153*054af8f2SPo Xu 	uint8_t id;
154*054af8f2SPo Xu 	uint8_t flag;
155*054af8f2SPo Xu 	uint8_t bit;
156*054af8f2SPo Xu 	uint16_t base;
157*054af8f2SPo Xu 	uint16_t offset;
158*054af8f2SPo Xu };
159*054af8f2SPo Xu 
160*054af8f2SPo Xu static const struct mt_pin_info mt8192_pin_infos[] = {
161*054af8f2SPo Xu 	PIN(0, 0, 9, 0x23, 0xb0),
162*054af8f2SPo Xu 	PIN(1, 0, 10, 0x23, 0xb0),
163*054af8f2SPo Xu 	PIN(2, 0, 11, 0x23, 0xb0),
164*054af8f2SPo Xu 	PIN(3, 0, 12, 0x23, 0xb0),
165*054af8f2SPo Xu 	PIN(4, 0, 13, 0x23, 0xb0),
166*054af8f2SPo Xu 	PIN(5, 0, 14, 0x23, 0xb0),
167*054af8f2SPo Xu 	PIN(6, 0, 15, 0x23, 0xb0),
168*054af8f2SPo Xu 	PIN(7, 0, 16, 0x23, 0xb0),
169*054af8f2SPo Xu 	PIN(8, 0, 17, 0x23, 0xb0),
170*054af8f2SPo Xu 	PIN(9, 0, 18, 0x23, 0xb0),
171*054af8f2SPo Xu 	PIN(10, 1, 0, 0x15, 0x20),
172*054af8f2SPo Xu 	PIN(11, 1, 1, 0x15, 0x20),
173*054af8f2SPo Xu 	PIN(12, 1, 2, 0x15, 0x20),
174*054af8f2SPo Xu 	PIN(13, 1, 3, 0x15, 0x20),
175*054af8f2SPo Xu 	PIN(14, 1, 4, 0x15, 0x20),
176*054af8f2SPo Xu 	PIN(15, 1, 5, 0x15, 0x20),
177*054af8f2SPo Xu 	PIN(16, 0, 2, 0x17, 0x50),
178*054af8f2SPo Xu 	PIN(17, 0, 3, 0x17, 0x50),
179*054af8f2SPo Xu 	PIN(18, 0, 21, 0x36, 0xa0),
180*054af8f2SPo Xu 	PIN(19, 0, 22, 0x36, 0xa0),
181*054af8f2SPo Xu 	PIN(20, 0, 23, 0x36, 0xa0),
182*054af8f2SPo Xu 	PIN(21, 0, 24, 0x36, 0xa0),
183*054af8f2SPo Xu 	PIN(22, 0, 3, 0x21, 0x90),
184*054af8f2SPo Xu 	PIN(23, 0, 4, 0x21, 0x90),
185*054af8f2SPo Xu 	PIN(24, 0, 5, 0x21, 0x90),
186*054af8f2SPo Xu 	PIN(25, 0, 6, 0x21, 0x90),
187*054af8f2SPo Xu 	PIN(26, 0, 5, 0x22, 0x80),
188*054af8f2SPo Xu 	PIN(27, 0, 6, 0x22, 0x80),
189*054af8f2SPo Xu 	PIN(28, 0, 7, 0x22, 0x80),
190*054af8f2SPo Xu 	PIN(29, 0, 8, 0x22, 0x80),
191*054af8f2SPo Xu 	PIN(30, 0, 9, 0x22, 0x80),
192*054af8f2SPo Xu 	PIN(31, 0, 27, 0x22, 0x70),
193*054af8f2SPo Xu 	PIN(32, 0, 24, 0x22, 0x70),
194*054af8f2SPo Xu 	PIN(33, 0, 26, 0x22, 0x70),
195*054af8f2SPo Xu 	PIN(34, 0, 23, 0x22, 0x70),
196*054af8f2SPo Xu 	PIN(35, 0, 25, 0x22, 0x70),
197*054af8f2SPo Xu 	PIN(36, 0, 20, 0x21, 0x90),
198*054af8f2SPo Xu 	PIN(37, 0, 21, 0x21, 0x90),
199*054af8f2SPo Xu 	PIN(38, 0, 22, 0x21, 0x90),
200*054af8f2SPo Xu 	PIN(39, 0, 23, 0x21, 0x90),
201*054af8f2SPo Xu 	PIN(40, 0, 0, 0x17, 0x50),
202*054af8f2SPo Xu 	PIN(41, 0, 1, 0x17, 0x50),
203*054af8f2SPo Xu 	PIN(42, 0, 4, 0x17, 0x50),
204*054af8f2SPo Xu 	PIN(43, 0, 25, 0x36, 0xa0),
205*054af8f2SPo Xu 	PIN(44, 0, 26, 0x36, 0xa0),
206*054af8f2SPo Xu 	PIN(45, 1, 9, 0x20, 0x60),
207*054af8f2SPo Xu 	PIN(46, 1, 11, 0x20, 0x60),
208*054af8f2SPo Xu 	PIN(47, 1, 10, 0x20, 0x60),
209*054af8f2SPo Xu 	PIN(48, 1, 7, 0x20, 0x60),
210*054af8f2SPo Xu 	PIN(49, 1, 8, 0x20, 0x60),
211*054af8f2SPo Xu 	PIN(50, 1, 6, 0x20, 0x60),
212*054af8f2SPo Xu 	PIN(51, 1, 0, 0x20, 0x60),
213*054af8f2SPo Xu 	PIN(52, 1, 1, 0x20, 0x60),
214*054af8f2SPo Xu 	PIN(53, 1, 5, 0x20, 0x60),
215*054af8f2SPo Xu 	PIN(54, 1, 2, 0x20, 0x60),
216*054af8f2SPo Xu 	PIN(55, 1, 4, 0x20, 0x60),
217*054af8f2SPo Xu 	PIN(56, 1, 3, 0x20, 0x60),
218*054af8f2SPo Xu 	PIN(57, 0, 1, 0x22, 0x80),
219*054af8f2SPo Xu 	PIN(58, 0, 2, 0x22, 0x80),
220*054af8f2SPo Xu 	PIN(59, 0, 3, 0x22, 0x80),
221*054af8f2SPo Xu 	PIN(60, 0, 4, 0x22, 0x80),
222*054af8f2SPo Xu 	PIN(61, 0, 28, 0x22, 0x70),
223*054af8f2SPo Xu 	PIN(62, 0, 22, 0x22, 0x70),
224*054af8f2SPo Xu 	PIN(63, 0, 0, 0x22, 0x70),
225*054af8f2SPo Xu 	PIN(64, 0, 1, 0x22, 0x70),
226*054af8f2SPo Xu 	PIN(65, 0, 12, 0x22, 0x70),
227*054af8f2SPo Xu 	PIN(66, 0, 15, 0x22, 0x70),
228*054af8f2SPo Xu 	PIN(67, 0, 16, 0x22, 0x70),
229*054af8f2SPo Xu 	PIN(68, 0, 17, 0x22, 0x70),
230*054af8f2SPo Xu 	PIN(69, 0, 18, 0x22, 0x70),
231*054af8f2SPo Xu 	PIN(70, 0, 19, 0x22, 0x70),
232*054af8f2SPo Xu 	PIN(71, 0, 20, 0x22, 0x70),
233*054af8f2SPo Xu 	PIN(72, 0, 21, 0x22, 0x70),
234*054af8f2SPo Xu 	PIN(73, 0, 2, 0x22, 0x70),
235*054af8f2SPo Xu 	PIN(74, 0, 3, 0x22, 0x70),
236*054af8f2SPo Xu 	PIN(75, 0, 4, 0x22, 0x70),
237*054af8f2SPo Xu 	PIN(76, 0, 5, 0x22, 0x70),
238*054af8f2SPo Xu 	PIN(77, 0, 6, 0x22, 0x70),
239*054af8f2SPo Xu 	PIN(78, 0, 7, 0x22, 0x70),
240*054af8f2SPo Xu 	PIN(79, 0, 8, 0x22, 0x70),
241*054af8f2SPo Xu 	PIN(80, 0, 9, 0x22, 0x70),
242*054af8f2SPo Xu 	PIN(81, 0, 10, 0x22, 0x70),
243*054af8f2SPo Xu 	PIN(82, 0, 11, 0x22, 0x70),
244*054af8f2SPo Xu 	PIN(83, 0, 13, 0x22, 0x70),
245*054af8f2SPo Xu 	PIN(84, 0, 14, 0x22, 0x70),
246*054af8f2SPo Xu 	PIN(85, 0, 31, 0x22, 0x70),
247*054af8f2SPo Xu 	PIN(86, 0, 0, 0x22, 0x80),
248*054af8f2SPo Xu 	PIN(87, 0, 29, 0x22, 0x70),
249*054af8f2SPo Xu 	PIN(88, 0, 30, 0x22, 0x70),
250*054af8f2SPo Xu 	PIN(89, 0, 24, 0x21, 0x90),
251*054af8f2SPo Xu 	PIN(90, 0, 25, 0x21, 0x90),
252*054af8f2SPo Xu 	PIN(91, 0, 0, 0x21, 0x90),
253*054af8f2SPo Xu 	PIN(92, 0, 2, 0x21, 0xa0),
254*054af8f2SPo Xu 	PIN(93, 0, 4, 0x21, 0xa0),
255*054af8f2SPo Xu 	PIN(94, 0, 3, 0x21, 0xa0),
256*054af8f2SPo Xu 	PIN(95, 0, 5, 0x21, 0xa0),
257*054af8f2SPo Xu 	PIN(96, 0, 31, 0x21, 0x90),
258*054af8f2SPo Xu 	PIN(97, 0, 26, 0x21, 0x90),
259*054af8f2SPo Xu 	PIN(98, 0, 0, 0x21, 0xa0),
260*054af8f2SPo Xu 	PIN(99, 0, 27, 0x21, 0x90),
261*054af8f2SPo Xu 	PIN(100, 0, 28, 0x21, 0x90),
262*054af8f2SPo Xu 	PIN(101, 0, 29, 0x21, 0x90),
263*054af8f2SPo Xu 	PIN(102, 0, 30, 0x21, 0x90),
264*054af8f2SPo Xu 	PIN(103, 0, 18, 0x21, 0x90),
265*054af8f2SPo Xu 	PIN(104, 0, 17, 0x21, 0x90),
266*054af8f2SPo Xu 	PIN(105, 0, 19, 0x21, 0x90),
267*054af8f2SPo Xu 	PIN(106, 0, 16, 0x21, 0x90),
268*054af8f2SPo Xu 	PIN(107, 0, 1, 0x21, 0x90),
269*054af8f2SPo Xu 	PIN(108, 0, 2, 0x21, 0x90),
270*054af8f2SPo Xu 	PIN(109, 0, 10, 0x21, 0x90),
271*054af8f2SPo Xu 	PIN(110, 0, 7, 0x21, 0x90),
272*054af8f2SPo Xu 	PIN(111, 0, 9, 0x21, 0x90),
273*054af8f2SPo Xu 	PIN(112, 0, 11, 0x21, 0x90),
274*054af8f2SPo Xu 	PIN(113, 0, 8, 0x21, 0x90),
275*054af8f2SPo Xu 	PIN(114, 0, 14, 0x21, 0x90),
276*054af8f2SPo Xu 	PIN(115, 0, 13, 0x21, 0x90),
277*054af8f2SPo Xu 	PIN(116, 0, 15, 0x21, 0x90),
278*054af8f2SPo Xu 	PIN(117, 0, 12, 0x21, 0x90),
279*054af8f2SPo Xu 	PIN(118, 0, 23, 0x23, 0xb0),
280*054af8f2SPo Xu 	PIN(119, 0, 29, 0x23, 0xb0),
281*054af8f2SPo Xu 	PIN(120, 0, 28, 0x23, 0xb0),
282*054af8f2SPo Xu 	PIN(121, 0, 2, 0x23, 0xc0),
283*054af8f2SPo Xu 	PIN(122, 0, 27, 0x23, 0xb0),
284*054af8f2SPo Xu 	PIN(123, 0, 1, 0x23, 0xc0),
285*054af8f2SPo Xu 	PIN(124, 0, 26, 0x23, 0xb0),
286*054af8f2SPo Xu 	PIN(125, 0, 0, 0x23, 0xc0),
287*054af8f2SPo Xu 	PIN(126, 0, 19, 0x23, 0xb0),
288*054af8f2SPo Xu 	PIN(127, 0, 20, 0x23, 0xb0),
289*054af8f2SPo Xu 	PIN(128, 0, 21, 0x23, 0xb0),
290*054af8f2SPo Xu 	PIN(129, 0, 22, 0x23, 0xb0),
291*054af8f2SPo Xu 	PIN(130, 0, 6, 0x23, 0xb0),
292*054af8f2SPo Xu 	PIN(131, 0, 7, 0x23, 0xb0),
293*054af8f2SPo Xu 	PIN(132, 0, 8, 0x23, 0xb0),
294*054af8f2SPo Xu 	PIN(133, 0, 3, 0x23, 0xb0),
295*054af8f2SPo Xu 	PIN(134, 0, 4, 0x23, 0xb0),
296*054af8f2SPo Xu 	PIN(135, 0, 5, 0x23, 0xb0),
297*054af8f2SPo Xu 	PIN(136, 0, 0, 0x23, 0xb0),
298*054af8f2SPo Xu 	PIN(137, 0, 1, 0x23, 0xb0),
299*054af8f2SPo Xu 	PIN(138, 0, 2, 0x23, 0xb0),
300*054af8f2SPo Xu 	PIN(139, 0, 25, 0x23, 0xb0),
301*054af8f2SPo Xu 	PIN(140, 0, 31, 0x23, 0xb0),
302*054af8f2SPo Xu 	PIN(141, 0, 24, 0x23, 0xb0),
303*054af8f2SPo Xu 	PIN(142, 0, 30, 0x23, 0xb0),
304*054af8f2SPo Xu 	PIN(143, 0, 6, 0x20, 0x70),
305*054af8f2SPo Xu 	PIN(144, 0, 7, 0x20, 0x70),
306*054af8f2SPo Xu 	PIN(145, 0, 8, 0x20, 0x70),
307*054af8f2SPo Xu 	PIN(146, 0, 3, 0x20, 0x70),
308*054af8f2SPo Xu 	PIN(147, 0, 4, 0x20, 0x70),
309*054af8f2SPo Xu 	PIN(148, 0, 5, 0x20, 0x70),
310*054af8f2SPo Xu 	PIN(149, 0, 0, 0x20, 0x70),
311*054af8f2SPo Xu 	PIN(150, 0, 1, 0x20, 0x70),
312*054af8f2SPo Xu 	PIN(151, 0, 2, 0x20, 0x70),
313*054af8f2SPo Xu 	PIN(152, 1, 3, 0x36, 0x90),
314*054af8f2SPo Xu 	PIN(153, 1, 2, 0x36, 0x90),
315*054af8f2SPo Xu 	PIN(154, 1, 0, 0x36, 0x906),
316*054af8f2SPo Xu 	PIN(155, 1, 1, 0x36, 0x90),
317*054af8f2SPo Xu 	PIN(156, 0, 29, 0x36, 0xa0),
318*054af8f2SPo Xu 	PIN(157, 0, 30, 0x36, 0xa0),
319*054af8f2SPo Xu 	PIN(158, 0, 31, 0x36, 0xa0),
320*054af8f2SPo Xu 	PIN(159, 0, 0, 0x36, 0xb0),
321*054af8f2SPo Xu 	PIN(160, 0, 27, 0x36, 0xa04),
322*054af8f2SPo Xu 	PIN(161, 0, 28, 0x36, 0xa0),
323*054af8f2SPo Xu 	PIN(162, 0, 0, 0x36, 0xa0),
324*054af8f2SPo Xu 	PIN(163, 0, 1, 0x36, 0xa0),
325*054af8f2SPo Xu 	PIN(164, 0, 2, 0x36, 0xa0),
326*054af8f2SPo Xu 	PIN(165, 0, 3, 0x36, 0xa0),
327*054af8f2SPo Xu 	PIN(166, 0, 4, 0x36, 0xa0),
328*054af8f2SPo Xu 	PIN(167, 0, 5, 0x36, 0xa0),
329*054af8f2SPo Xu 	PIN(168, 0, 6, 0x36, 0xa0),
330*054af8f2SPo Xu 	PIN(169, 0, 7, 0x36, 0xa0),
331*054af8f2SPo Xu 	PIN(170, 0, 8, 0x36, 0xa0),
332*054af8f2SPo Xu 	PIN(171, 0, 9, 0x36, 0xa0),
333*054af8f2SPo Xu 	PIN(172, 0, 13, 0x36, 0xa0),
334*054af8f2SPo Xu 	PIN(173, 0, 14, 0x36, 0xa0),
335*054af8f2SPo Xu 	PIN(174, 0, 12, 0x36, 0xa0),
336*054af8f2SPo Xu 	PIN(175, 0, 15, 0x36, 0xa0),
337*054af8f2SPo Xu 	PIN(176, 0, 10, 0x36, 0xa0),
338*054af8f2SPo Xu 	PIN(177, 0, 11, 0x36, 0xa0),
339*054af8f2SPo Xu 	PIN(178, 0, 16, 0x36, 0xa0),
340*054af8f2SPo Xu 	PIN(179, 0, 17, 0x36, 0xa0),
341*054af8f2SPo Xu 	PIN(180, 0, 18, 0x36, 0xa0),
342*054af8f2SPo Xu 	PIN(181, 0, 19, 0x36, 0xa0),
343*054af8f2SPo Xu 	PIN(182, 0, 20, 0x36, 0xa0),
344*054af8f2SPo Xu 	PIN(183, 1, 1, 0x18, 0x30),
345*054af8f2SPo Xu 	PIN(184, 1, 2, 0x18, 0x30),
346*054af8f2SPo Xu 	PIN(185, 1, 4, 0x18, 0x30),
347*054af8f2SPo Xu 	PIN(186, 1, 6, 0x18, 0x30),
348*054af8f2SPo Xu 	PIN(187, 1, 8, 0x18, 0x30),
349*054af8f2SPo Xu 	PIN(188, 1, 3, 0x18, 0x30),
350*054af8f2SPo Xu 	PIN(189, 1, 7, 0x18, 0x30),
351*054af8f2SPo Xu 	PIN(190, 1, 9, 0x18, 0x30),
352*054af8f2SPo Xu 	PIN(191, 1, 10, 0x18, 0x30),
353*054af8f2SPo Xu 	PIN(192, 1, 0, 0x18, 0x30),
354*054af8f2SPo Xu 	PIN(193, 1, 5, 0x18, 0x30),
355*054af8f2SPo Xu 	PIN(194, 1, 11, 0x18, 0x30),
356*054af8f2SPo Xu 	PIN(195, 0, 16, 0x14, 0x50),
357*054af8f2SPo Xu 	PIN(196, 0, 6, 0x14, 0x50),
358*054af8f2SPo Xu 	PIN(197, 0, 8, 0x14, 0x50),
359*054af8f2SPo Xu 	PIN(198, 0, 7, 0x14, 0x50),
360*054af8f2SPo Xu 	PIN(199, 0, 3, 0x14, 0x50),
361*054af8f2SPo Xu 	PIN(200, 0, 6, 0x17, 0x50),
362*054af8f2SPo Xu 	PIN(201, 0, 8, 0x17, 0x50),
363*054af8f2SPo Xu 	PIN(202, 0, 15, 0x14, 0x50),
364*054af8f2SPo Xu 	PIN(203, 0, 17, 0x14, 0x50),
365*054af8f2SPo Xu 	PIN(204, 0, 5, 0x17, 0x50),
366*054af8f2SPo Xu 	PIN(205, 0, 7, 0x17, 0x50),
367*054af8f2SPo Xu 	PIN(206, 0, 18, 0x14, 0x50),
368*054af8f2SPo Xu 	PIN(207, 0, 19, 0x14, 0x50),
369*054af8f2SPo Xu 	PIN(208, 0, 20, 0x14, 0x50),
370*054af8f2SPo Xu 	PIN(209, 0, 12, 0x14, 0x50),
371*054af8f2SPo Xu 	PIN(210, 0, 11, 0x14, 0x50),
372*054af8f2SPo Xu 	PIN(211, 0, 13, 0x14, 0x50),
373*054af8f2SPo Xu 	PIN(212, 0, 10, 0x14, 0x50),
374*054af8f2SPo Xu 	PIN(213, 0, 14, 0x14, 0x50),
375*054af8f2SPo Xu 	PIN(214, 0, 0, 0x14, 0x50),
376*054af8f2SPo Xu 	PIN(215, 0, 9, 0x14, 0x50),
377*054af8f2SPo Xu 	PIN(216, 0, 4, 0x14, 0x50),
378*054af8f2SPo Xu 	PIN(217, 0, 5, 0x14, 0x50),
379*054af8f2SPo Xu 	PIN(218, 0, 1, 0x14, 0x50),
380*054af8f2SPo Xu 	PIN(219, 0, 2, 0x14, 0x50),
381*054af8f2SPo Xu };
382*054af8f2SPo Xu 
383*054af8f2SPo Xu void plat_mt8192_gpio_init(void);
384*054af8f2SPo Xu #endif /* MT_GPIO_H */
385