Home | History | Annotate | Download | only in mach
      1 /* SPDX-License-Identifier: GPL-2.0+ */
      2 /*
      3  * (C) Copyright 2010 Samsung Electronics
      4  * Minkyu Kang <mk7.kang (at) samsung.com>
      5  */
      6 
      7 #ifndef __ASM_ARCH_GPIO_H
      8 #define __ASM_ARCH_GPIO_H
      9 
     10 #ifndef __ASSEMBLY__
     11 struct s5p_gpio_bank {
     12 	unsigned int	con;
     13 	unsigned int	dat;
     14 	unsigned int	pull;
     15 	unsigned int	drv;
     16 	unsigned int	pdn_con;
     17 	unsigned int	pdn_pull;
     18 	unsigned char	res1[8];
     19 };
     20 
     21 /* GPIO pins per bank  */
     22 #define GPIO_PER_BANK 8
     23 
     24 /* A list of valid GPIO numbers for the asm-generic/gpio.h interface */
     25 enum exynos4_gpio_pin {
     26 	/* GPIO_PART1_STARTS */
     27 	EXYNOS4_GPIO_A00,		/* 0 */
     28 	EXYNOS4_GPIO_A01,
     29 	EXYNOS4_GPIO_A02,
     30 	EXYNOS4_GPIO_A03,
     31 	EXYNOS4_GPIO_A04,
     32 	EXYNOS4_GPIO_A05,
     33 	EXYNOS4_GPIO_A06,
     34 	EXYNOS4_GPIO_A07,
     35 	EXYNOS4_GPIO_A10,		/* 8 */
     36 	EXYNOS4_GPIO_A11,
     37 	EXYNOS4_GPIO_A12,
     38 	EXYNOS4_GPIO_A13,
     39 	EXYNOS4_GPIO_A14,
     40 	EXYNOS4_GPIO_A15,
     41 	EXYNOS4_GPIO_A16,
     42 	EXYNOS4_GPIO_A17,
     43 	EXYNOS4_GPIO_B0,		/* 16 0x10 */
     44 	EXYNOS4_GPIO_B1,
     45 	EXYNOS4_GPIO_B2,
     46 	EXYNOS4_GPIO_B3,
     47 	EXYNOS4_GPIO_B4,
     48 	EXYNOS4_GPIO_B5,
     49 	EXYNOS4_GPIO_B6,
     50 	EXYNOS4_GPIO_B7,
     51 	EXYNOS4_GPIO_C00,		/* 24 0x18 */
     52 	EXYNOS4_GPIO_C01,
     53 	EXYNOS4_GPIO_C02,
     54 	EXYNOS4_GPIO_C03,
     55 	EXYNOS4_GPIO_C04,
     56 	EXYNOS4_GPIO_C05,
     57 	EXYNOS4_GPIO_C06,
     58 	EXYNOS4_GPIO_C07,
     59 	EXYNOS4_GPIO_C10,		/* 32 0x20*/
     60 	EXYNOS4_GPIO_C11,
     61 	EXYNOS4_GPIO_C12,
     62 	EXYNOS4_GPIO_C13,
     63 	EXYNOS4_GPIO_C14,
     64 	EXYNOS4_GPIO_C15,
     65 	EXYNOS4_GPIO_C16,
     66 	EXYNOS4_GPIO_C17,
     67 	EXYNOS4_GPIO_D00,		/* 40 0x28 */
     68 	EXYNOS4_GPIO_D01,
     69 	EXYNOS4_GPIO_D02,
     70 	EXYNOS4_GPIO_D03,
     71 	EXYNOS4_GPIO_D04,
     72 	EXYNOS4_GPIO_D05,
     73 	EXYNOS4_GPIO_D06,
     74 	EXYNOS4_GPIO_D07,
     75 	EXYNOS4_GPIO_D10,		/* 48 0x30 */
     76 	EXYNOS4_GPIO_D11,
     77 	EXYNOS4_GPIO_D12,
     78 	EXYNOS4_GPIO_D13,
     79 	EXYNOS4_GPIO_D14,
     80 	EXYNOS4_GPIO_D15,
     81 	EXYNOS4_GPIO_D16,
     82 	EXYNOS4_GPIO_D17,
     83 	EXYNOS4_GPIO_E00,		/* 56 0x38 */
     84 	EXYNOS4_GPIO_E01,
     85 	EXYNOS4_GPIO_E02,
     86 	EXYNOS4_GPIO_E03,
     87 	EXYNOS4_GPIO_E04,
     88 	EXYNOS4_GPIO_E05,
     89 	EXYNOS4_GPIO_E06,
     90 	EXYNOS4_GPIO_E07,
     91 	EXYNOS4_GPIO_E10,		/* 64 0x40 */
     92 	EXYNOS4_GPIO_E11,
     93 	EXYNOS4_GPIO_E12,
     94 	EXYNOS4_GPIO_E13,
     95 	EXYNOS4_GPIO_E14,
     96 	EXYNOS4_GPIO_E15,
     97 	EXYNOS4_GPIO_E16,
     98 	EXYNOS4_GPIO_E17,
     99 	EXYNOS4_GPIO_E20,		/* 72 0x48 */
    100 	EXYNOS4_GPIO_E21,
    101 	EXYNOS4_GPIO_E22,
    102 	EXYNOS4_GPIO_E23,
    103 	EXYNOS4_GPIO_E24,
    104 	EXYNOS4_GPIO_E25,
    105 	EXYNOS4_GPIO_E26,
    106 	EXYNOS4_GPIO_E27,
    107 	EXYNOS4_GPIO_E30,		/* 80 0x50 */
    108 	EXYNOS4_GPIO_E31,
    109 	EXYNOS4_GPIO_E32,
    110 	EXYNOS4_GPIO_E33,
    111 	EXYNOS4_GPIO_E34,
    112 	EXYNOS4_GPIO_E35,
    113 	EXYNOS4_GPIO_E36,
    114 	EXYNOS4_GPIO_E37,
    115 	EXYNOS4_GPIO_E40,		/* 88 0x58 */
    116 	EXYNOS4_GPIO_E41,
    117 	EXYNOS4_GPIO_E42,
    118 	EXYNOS4_GPIO_E43,
    119 	EXYNOS4_GPIO_E44,
    120 	EXYNOS4_GPIO_E45,
    121 	EXYNOS4_GPIO_E46,
    122 	EXYNOS4_GPIO_E47,
    123 	EXYNOS4_GPIO_F00,		/* 96 0x60 */
    124 	EXYNOS4_GPIO_F01,
    125 	EXYNOS4_GPIO_F02,
    126 	EXYNOS4_GPIO_F03,
    127 	EXYNOS4_GPIO_F04,
    128 	EXYNOS4_GPIO_F05,
    129 	EXYNOS4_GPIO_F06,
    130 	EXYNOS4_GPIO_F07,
    131 	EXYNOS4_GPIO_F10,		/* 104 0x68 */
    132 	EXYNOS4_GPIO_F11,
    133 	EXYNOS4_GPIO_F12,
    134 	EXYNOS4_GPIO_F13,
    135 	EXYNOS4_GPIO_F14,
    136 	EXYNOS4_GPIO_F15,
    137 	EXYNOS4_GPIO_F16,
    138 	EXYNOS4_GPIO_F17,
    139 	EXYNOS4_GPIO_F20,		/* 112 0x70 */
    140 	EXYNOS4_GPIO_F21,
    141 	EXYNOS4_GPIO_F22,
    142 	EXYNOS4_GPIO_F23,
    143 	EXYNOS4_GPIO_F24,
    144 	EXYNOS4_GPIO_F25,
    145 	EXYNOS4_GPIO_F26,
    146 	EXYNOS4_GPIO_F27,
    147 	EXYNOS4_GPIO_F30,		/* 120 0x78 */
    148 	EXYNOS4_GPIO_F31,
    149 	EXYNOS4_GPIO_F32,
    150 	EXYNOS4_GPIO_F33,
    151 	EXYNOS4_GPIO_F34,
    152 	EXYNOS4_GPIO_F35,
    153 	EXYNOS4_GPIO_F36,
    154 	EXYNOS4_GPIO_F37,
    155 
    156 	/* GPIO_PART2_STARTS */
    157 	EXYNOS4_GPIO_MAX_PORT_PART_1,	/* 128 0x80 */
    158 	EXYNOS4_GPIO_J00 = EXYNOS4_GPIO_MAX_PORT_PART_1,
    159 	EXYNOS4_GPIO_J01,
    160 	EXYNOS4_GPIO_J02,
    161 	EXYNOS4_GPIO_J03,
    162 	EXYNOS4_GPIO_J04,
    163 	EXYNOS4_GPIO_J05,
    164 	EXYNOS4_GPIO_J06,
    165 	EXYNOS4_GPIO_J07,
    166 	EXYNOS4_GPIO_J10,		/* 136 0x88 */
    167 	EXYNOS4_GPIO_J11,
    168 	EXYNOS4_GPIO_J12,
    169 	EXYNOS4_GPIO_J13,
    170 	EXYNOS4_GPIO_J14,
    171 	EXYNOS4_GPIO_J15,
    172 	EXYNOS4_GPIO_J16,
    173 	EXYNOS4_GPIO_J17,
    174 	EXYNOS4_GPIO_K00,		/* 144 0x90 */
    175 	EXYNOS4_GPIO_K01,
    176 	EXYNOS4_GPIO_K02,
    177 	EXYNOS4_GPIO_K03,
    178 	EXYNOS4_GPIO_K04,
    179 	EXYNOS4_GPIO_K05,
    180 	EXYNOS4_GPIO_K06,
    181 	EXYNOS4_GPIO_K07,
    182 	EXYNOS4_GPIO_K10,		/* 152 0x98 */
    183 	EXYNOS4_GPIO_K11,
    184 	EXYNOS4_GPIO_K12,
    185 	EXYNOS4_GPIO_K13,
    186 	EXYNOS4_GPIO_K14,
    187 	EXYNOS4_GPIO_K15,
    188 	EXYNOS4_GPIO_K16,
    189 	EXYNOS4_GPIO_K17,
    190 	EXYNOS4_GPIO_K20,		/* 160 0xA0 */
    191 	EXYNOS4_GPIO_K21,
    192 	EXYNOS4_GPIO_K22,
    193 	EXYNOS4_GPIO_K23,
    194 	EXYNOS4_GPIO_K24,
    195 	EXYNOS4_GPIO_K25,
    196 	EXYNOS4_GPIO_K26,
    197 	EXYNOS4_GPIO_K27,
    198 	EXYNOS4_GPIO_K30,		/* 168 0xA8 */
    199 	EXYNOS4_GPIO_K31,
    200 	EXYNOS4_GPIO_K32,
    201 	EXYNOS4_GPIO_K33,
    202 	EXYNOS4_GPIO_K34,
    203 	EXYNOS4_GPIO_K35,
    204 	EXYNOS4_GPIO_K36,
    205 	EXYNOS4_GPIO_K37,
    206 	EXYNOS4_GPIO_L00,		/* 176 0xB0 */
    207 	EXYNOS4_GPIO_L01,
    208 	EXYNOS4_GPIO_L02,
    209 	EXYNOS4_GPIO_L03,
    210 	EXYNOS4_GPIO_L04,
    211 	EXYNOS4_GPIO_L05,
    212 	EXYNOS4_GPIO_L06,
    213 	EXYNOS4_GPIO_L07,
    214 	EXYNOS4_GPIO_L10,		/* 184 0xB8 */
    215 	EXYNOS4_GPIO_L11,
    216 	EXYNOS4_GPIO_L12,
    217 	EXYNOS4_GPIO_L13,
    218 	EXYNOS4_GPIO_L14,
    219 	EXYNOS4_GPIO_L15,
    220 	EXYNOS4_GPIO_L16,
    221 	EXYNOS4_GPIO_L17,
    222 	EXYNOS4_GPIO_L20,		/* 192 0xC0 */
    223 	EXYNOS4_GPIO_L21,
    224 	EXYNOS4_GPIO_L22,
    225 	EXYNOS4_GPIO_L23,
    226 	EXYNOS4_GPIO_L24,
    227 	EXYNOS4_GPIO_L25,
    228 	EXYNOS4_GPIO_L26,
    229 	EXYNOS4_GPIO_L27,
    230 	EXYNOS4_GPIO_Y00,		/* 200 0xC8 */
    231 	EXYNOS4_GPIO_Y01,
    232 	EXYNOS4_GPIO_Y02,
    233 	EXYNOS4_GPIO_Y03,
    234 	EXYNOS4_GPIO_Y04,
    235 	EXYNOS4_GPIO_Y05,
    236 	EXYNOS4_GPIO_Y06,
    237 	EXYNOS4_GPIO_Y07,
    238 	EXYNOS4_GPIO_Y10,		/* 208 0xD0 */
    239 	EXYNOS4_GPIO_Y11,
    240 	EXYNOS4_GPIO_Y12,
    241 	EXYNOS4_GPIO_Y13,
    242 	EXYNOS4_GPIO_Y14,
    243 	EXYNOS4_GPIO_Y15,
    244 	EXYNOS4_GPIO_Y16,
    245 	EXYNOS4_GPIO_Y17,
    246 	EXYNOS4_GPIO_Y20,		/* 216 0xD8 */
    247 	EXYNOS4_GPIO_Y21,
    248 	EXYNOS4_GPIO_Y22,
    249 	EXYNOS4_GPIO_Y23,
    250 	EXYNOS4_GPIO_Y24,
    251 	EXYNOS4_GPIO_Y25,
    252 	EXYNOS4_GPIO_Y26,
    253 	EXYNOS4_GPIO_Y27,
    254 	EXYNOS4_GPIO_Y30,		/* 224 0xE0 */
    255 	EXYNOS4_GPIO_Y31,
    256 	EXYNOS4_GPIO_Y32,
    257 	EXYNOS4_GPIO_Y33,
    258 	EXYNOS4_GPIO_Y34,
    259 	EXYNOS4_GPIO_Y35,
    260 	EXYNOS4_GPIO_Y36,
    261 	EXYNOS4_GPIO_Y37,
    262 	EXYNOS4_GPIO_Y40,		/* 232 0xE8 */
    263 	EXYNOS4_GPIO_Y41,
    264 	EXYNOS4_GPIO_Y42,
    265 	EXYNOS4_GPIO_Y43,
    266 	EXYNOS4_GPIO_Y44,
    267 	EXYNOS4_GPIO_Y45,
    268 	EXYNOS4_GPIO_Y46,
    269 	EXYNOS4_GPIO_Y47,
    270 	EXYNOS4_GPIO_Y50,		/* 240 0xF0 */
    271 	EXYNOS4_GPIO_Y51,
    272 	EXYNOS4_GPIO_Y52,
    273 	EXYNOS4_GPIO_Y53,
    274 	EXYNOS4_GPIO_Y54,
    275 	EXYNOS4_GPIO_Y55,
    276 	EXYNOS4_GPIO_Y56,
    277 	EXYNOS4_GPIO_Y57,
    278 	EXYNOS4_GPIO_Y60,		/* 248 0xF8 */
    279 	EXYNOS4_GPIO_Y61,
    280 	EXYNOS4_GPIO_Y62,
    281 	EXYNOS4_GPIO_Y63,
    282 	EXYNOS4_GPIO_Y64,
    283 	EXYNOS4_GPIO_Y65,
    284 	EXYNOS4_GPIO_Y66,
    285 	EXYNOS4_GPIO_Y67,
    286 
    287 	/* GPIO_PART2_1 STARTS */
    288 	EXYNOS4_GPIO_MAX_PORT_PART_2_0, /* 256 0x100 */
    289 	EXYNOS4_GPIO_X00 = EXYNOS4_GPIO_MAX_PORT_PART_2_0,
    290 	EXYNOS4_GPIO_X01,
    291 	EXYNOS4_GPIO_X02,
    292 	EXYNOS4_GPIO_X03,
    293 	EXYNOS4_GPIO_X04,
    294 	EXYNOS4_GPIO_X05,
    295 	EXYNOS4_GPIO_X06,
    296 	EXYNOS4_GPIO_X07,
    297 	EXYNOS4_GPIO_X10,		/* 264 0x108 */
    298 	EXYNOS4_GPIO_X11,
    299 	EXYNOS4_GPIO_X12,
    300 	EXYNOS4_GPIO_X13,
    301 	EXYNOS4_GPIO_X14,
    302 	EXYNOS4_GPIO_X15,
    303 	EXYNOS4_GPIO_X16,
    304 	EXYNOS4_GPIO_X17,
    305 	EXYNOS4_GPIO_X20,		/* 272 0x110 */
    306 	EXYNOS4_GPIO_X21,
    307 	EXYNOS4_GPIO_X22,
    308 	EXYNOS4_GPIO_X23,
    309 	EXYNOS4_GPIO_X24,
    310 	EXYNOS4_GPIO_X25,
    311 	EXYNOS4_GPIO_X26,
    312 	EXYNOS4_GPIO_X27,
    313 	EXYNOS4_GPIO_X30,		/* 280 0x118 */
    314 	EXYNOS4_GPIO_X31,
    315 	EXYNOS4_GPIO_X32,
    316 	EXYNOS4_GPIO_X33,
    317 	EXYNOS4_GPIO_X34,
    318 	EXYNOS4_GPIO_X35,
    319 	EXYNOS4_GPIO_X36,
    320 	EXYNOS4_GPIO_X37,
    321 
    322 	/* GPIO_PART3_STARTS */
    323 	EXYNOS4_GPIO_MAX_PORT_PART_2_1,	/* 288 0x120 */
    324 	EXYNOS4_GPIO_Z0 = EXYNOS4_GPIO_MAX_PORT_PART_2_1,
    325 	EXYNOS4_GPIO_Z1,
    326 	EXYNOS4_GPIO_Z2,
    327 	EXYNOS4_GPIO_Z3,
    328 	EXYNOS4_GPIO_Z4,
    329 	EXYNOS4_GPIO_Z5,
    330 	EXYNOS4_GPIO_Z6,
    331 	EXYNOS4_GPIO_Z7,
    332 
    333 	EXYNOS4_GPIO_MAX_PORT
    334 };
    335 
    336 enum exynos4X12_gpio_pin {
    337 	/* EXYNOS4X12_GPIO_PART1_0 starts here */
    338 	EXYNOS4X12_GPIO_A00,		/* 0 */
    339 	EXYNOS4X12_GPIO_A01,
    340 	EXYNOS4X12_GPIO_A02,
    341 	EXYNOS4X12_GPIO_A03,
    342 	EXYNOS4X12_GPIO_A04,
    343 	EXYNOS4X12_GPIO_A05,
    344 	EXYNOS4X12_GPIO_A06,
    345 	EXYNOS4X12_GPIO_A07,
    346 	EXYNOS4X12_GPIO_A10,		/* 8 */
    347 	EXYNOS4X12_GPIO_A11,
    348 	EXYNOS4X12_GPIO_A12,
    349 	EXYNOS4X12_GPIO_A13,
    350 	EXYNOS4X12_GPIO_A14,
    351 	EXYNOS4X12_GPIO_A15,
    352 	EXYNOS4X12_GPIO_A16,
    353 	EXYNOS4X12_GPIO_A17,
    354 	EXYNOS4X12_GPIO_B0,		/* 16 0x10 */
    355 	EXYNOS4X12_GPIO_B1,
    356 	EXYNOS4X12_GPIO_B2,
    357 	EXYNOS4X12_GPIO_B3,
    358 	EXYNOS4X12_GPIO_B4,
    359 	EXYNOS4X12_GPIO_B5,
    360 	EXYNOS4X12_GPIO_B6,
    361 	EXYNOS4X12_GPIO_B7,
    362 	EXYNOS4X12_GPIO_C00,		/* 24 0x18 */
    363 	EXYNOS4X12_GPIO_C01,
    364 	EXYNOS4X12_GPIO_C02,
    365 	EXYNOS4X12_GPIO_C03,
    366 	EXYNOS4X12_GPIO_C04,
    367 	EXYNOS4X12_GPIO_C05,
    368 	EXYNOS4X12_GPIO_C06,
    369 	EXYNOS4X12_GPIO_C07,
    370 	EXYNOS4X12_GPIO_C10,		/* 32 0x20 */
    371 	EXYNOS4X12_GPIO_C11,
    372 	EXYNOS4X12_GPIO_C12,
    373 	EXYNOS4X12_GPIO_C13,
    374 	EXYNOS4X12_GPIO_C14,
    375 	EXYNOS4X12_GPIO_C15,
    376 	EXYNOS4X12_GPIO_C16,
    377 	EXYNOS4X12_GPIO_C17,
    378 	EXYNOS4X12_GPIO_D00,		/* 40 0x28 */
    379 	EXYNOS4X12_GPIO_D01,
    380 	EXYNOS4X12_GPIO_D02,
    381 	EXYNOS4X12_GPIO_D03,
    382 	EXYNOS4X12_GPIO_D04,
    383 	EXYNOS4X12_GPIO_D05,
    384 	EXYNOS4X12_GPIO_D06,
    385 	EXYNOS4X12_GPIO_D07,
    386 	EXYNOS4X12_GPIO_D10,		/* 48 0x30 */
    387 	EXYNOS4X12_GPIO_D11,
    388 	EXYNOS4X12_GPIO_D12,
    389 	EXYNOS4X12_GPIO_D13,
    390 	EXYNOS4X12_GPIO_D14,
    391 	EXYNOS4X12_GPIO_D15,
    392 	EXYNOS4X12_GPIO_D16,
    393 	EXYNOS4X12_GPIO_D17,
    394 	EXYNOS4X12_GPIO_MAX_PORT_PART_1_0, /* 56 0x38 */
    395 	/* EXYNOS4X12_GPIO_PART1_1 starts here */
    396 	EXYNOS4X12_GPIO_F00 = EXYNOS4X12_GPIO_MAX_PORT_PART_1_0,
    397 	EXYNOS4X12_GPIO_F01,
    398 	EXYNOS4X12_GPIO_F02,
    399 	EXYNOS4X12_GPIO_F03,
    400 	EXYNOS4X12_GPIO_F04,
    401 	EXYNOS4X12_GPIO_F05,
    402 	EXYNOS4X12_GPIO_F06,
    403 	EXYNOS4X12_GPIO_F07,
    404 	EXYNOS4X12_GPIO_F10,		/* 64 0x40 */
    405 	EXYNOS4X12_GPIO_F11,
    406 	EXYNOS4X12_GPIO_F12,
    407 	EXYNOS4X12_GPIO_F13,
    408 	EXYNOS4X12_GPIO_F14,
    409 	EXYNOS4X12_GPIO_F15,
    410 	EXYNOS4X12_GPIO_F16,
    411 	EXYNOS4X12_GPIO_F17,
    412 	EXYNOS4X12_GPIO_F20,		/* 72 0x48 */
    413 	EXYNOS4X12_GPIO_F21,
    414 	EXYNOS4X12_GPIO_F22,
    415 	EXYNOS4X12_GPIO_F23,
    416 	EXYNOS4X12_GPIO_F24,
    417 	EXYNOS4X12_GPIO_F25,
    418 	EXYNOS4X12_GPIO_F26,
    419 	EXYNOS4X12_GPIO_F27,
    420 	EXYNOS4X12_GPIO_F30,		/* 80 0x50 */
    421 	EXYNOS4X12_GPIO_F31,
    422 	EXYNOS4X12_GPIO_F32,
    423 	EXYNOS4X12_GPIO_F33,
    424 	EXYNOS4X12_GPIO_F34,
    425 	EXYNOS4X12_GPIO_F35,
    426 	EXYNOS4X12_GPIO_F36,
    427 	EXYNOS4X12_GPIO_F37,
    428 	EXYNOS4X12_GPIO_MAX_PORT_PART_1_1, /* 88 0x58 */
    429 	/* EXYNOS4X12_GPIO_PART1_2 starts here */
    430 	EXYNOS4X12_GPIO_J00 = EXYNOS4X12_GPIO_MAX_PORT_PART_1_1,
    431 	EXYNOS4X12_GPIO_J01,
    432 	EXYNOS4X12_GPIO_J02,
    433 	EXYNOS4X12_GPIO_J03,
    434 	EXYNOS4X12_GPIO_J04,
    435 	EXYNOS4X12_GPIO_J05,
    436 	EXYNOS4X12_GPIO_J06,
    437 	EXYNOS4X12_GPIO_J07,
    438 	EXYNOS4X12_GPIO_J10,		/* 96 0x60 */
    439 	EXYNOS4X12_GPIO_J11,
    440 	EXYNOS4X12_GPIO_J12,
    441 	EXYNOS4X12_GPIO_J13,
    442 	EXYNOS4X12_GPIO_J14,
    443 	EXYNOS4X12_GPIO_J15,
    444 	EXYNOS4X12_GPIO_J16,
    445 	EXYNOS4X12_GPIO_J17,
    446 
    447 	/**
    448 	 * EXYNOS4X12_GPIO_PART2_0 is not used
    449 	 * EXYNOS4X12_GPIO_PART2_1 starts here
    450 	 */
    451 	EXYNOS4X12_GPIO_MAX_PORT_PART_1_2, /* 104 0x66 */
    452 	EXYNOS4X12_GPIO_K00 = EXYNOS4X12_GPIO_MAX_PORT_PART_1_2,
    453 	EXYNOS4X12_GPIO_K01,
    454 	EXYNOS4X12_GPIO_K02,
    455 	EXYNOS4X12_GPIO_K03,
    456 	EXYNOS4X12_GPIO_K04,
    457 	EXYNOS4X12_GPIO_K05,
    458 	EXYNOS4X12_GPIO_K06,
    459 	EXYNOS4X12_GPIO_K07,
    460 	EXYNOS4X12_GPIO_K10,		/* 112 0x70 */
    461 	EXYNOS4X12_GPIO_K11,
    462 	EXYNOS4X12_GPIO_K12,
    463 	EXYNOS4X12_GPIO_K13,
    464 	EXYNOS4X12_GPIO_K14,
    465 	EXYNOS4X12_GPIO_K15,
    466 	EXYNOS4X12_GPIO_K16,
    467 	EXYNOS4X12_GPIO_K17,
    468 	EXYNOS4X12_GPIO_K20,		/* 120 0x78 */
    469 	EXYNOS4X12_GPIO_K21,
    470 	EXYNOS4X12_GPIO_K22,
    471 	EXYNOS4X12_GPIO_K23,
    472 	EXYNOS4X12_GPIO_K24,
    473 	EXYNOS4X12_GPIO_K25,
    474 	EXYNOS4X12_GPIO_K26,
    475 	EXYNOS4X12_GPIO_K27,
    476 	EXYNOS4X12_GPIO_K30,		/* 128 0x80 */
    477 	EXYNOS4X12_GPIO_K31,
    478 	EXYNOS4X12_GPIO_K32,
    479 	EXYNOS4X12_GPIO_K33,
    480 	EXYNOS4X12_GPIO_K34,
    481 	EXYNOS4X12_GPIO_K35,
    482 	EXYNOS4X12_GPIO_K36,
    483 	EXYNOS4X12_GPIO_K37,
    484 	EXYNOS4X12_GPIO_L00,		/* 136 0x88 */
    485 	EXYNOS4X12_GPIO_L01,
    486 	EXYNOS4X12_GPIO_L02,
    487 	EXYNOS4X12_GPIO_L03,
    488 	EXYNOS4X12_GPIO_L04,
    489 	EXYNOS4X12_GPIO_L05,
    490 	EXYNOS4X12_GPIO_L06,
    491 	EXYNOS4X12_GPIO_L07,
    492 	EXYNOS4X12_GPIO_L10,		/* 144 0x90 */
    493 	EXYNOS4X12_GPIO_L11,
    494 	EXYNOS4X12_GPIO_L12,
    495 	EXYNOS4X12_GPIO_L13,
    496 	EXYNOS4X12_GPIO_L14,
    497 	EXYNOS4X12_GPIO_L15,
    498 	EXYNOS4X12_GPIO_L16,
    499 	EXYNOS4X12_GPIO_L17,
    500 	EXYNOS4X12_GPIO_L20,		/* 152 0x98 */
    501 	EXYNOS4X12_GPIO_L21,
    502 	EXYNOS4X12_GPIO_L22,
    503 	EXYNOS4X12_GPIO_L23,
    504 	EXYNOS4X12_GPIO_L24,
    505 	EXYNOS4X12_GPIO_L25,
    506 	EXYNOS4X12_GPIO_L26,
    507 	EXYNOS4X12_GPIO_L27,
    508 	EXYNOS4X12_GPIO_Y00,		/* 160 0xa0 */
    509 	EXYNOS4X12_GPIO_Y01,
    510 	EXYNOS4X12_GPIO_Y02,
    511 	EXYNOS4X12_GPIO_Y03,
    512 	EXYNOS4X12_GPIO_Y04,
    513 	EXYNOS4X12_GPIO_Y05,
    514 	EXYNOS4X12_GPIO_Y06,
    515 	EXYNOS4X12_GPIO_Y07,
    516 	EXYNOS4X12_GPIO_Y10,		/* 168 0xa8 */
    517 	EXYNOS4X12_GPIO_Y11,
    518 	EXYNOS4X12_GPIO_Y12,
    519 	EXYNOS4X12_GPIO_Y13,
    520 	EXYNOS4X12_GPIO_Y14,
    521 	EXYNOS4X12_GPIO_Y15,
    522 	EXYNOS4X12_GPIO_Y16,
    523 	EXYNOS4X12_GPIO_Y17,
    524 	EXYNOS4X12_GPIO_Y20,		/* 176 0xb0 */
    525 	EXYNOS4X12_GPIO_Y21,
    526 	EXYNOS4X12_GPIO_Y22,
    527 	EXYNOS4X12_GPIO_Y23,
    528 	EXYNOS4X12_GPIO_Y24,
    529 	EXYNOS4X12_GPIO_Y25,
    530 	EXYNOS4X12_GPIO_Y26,
    531 	EXYNOS4X12_GPIO_Y27,
    532 	EXYNOS4X12_GPIO_Y30,		/* 184 0xb8 */
    533 	EXYNOS4X12_GPIO_Y31,
    534 	EXYNOS4X12_GPIO_Y32,
    535 	EXYNOS4X12_GPIO_Y33,
    536 	EXYNOS4X12_GPIO_Y34,
    537 	EXYNOS4X12_GPIO_Y35,
    538 	EXYNOS4X12_GPIO_Y36,
    539 	EXYNOS4X12_GPIO_Y37,
    540 	EXYNOS4X12_GPIO_Y40,		/* 192 0xc0 */
    541 	EXYNOS4X12_GPIO_Y41,
    542 	EXYNOS4X12_GPIO_Y42,
    543 	EXYNOS4X12_GPIO_Y43,
    544 	EXYNOS4X12_GPIO_Y44,
    545 	EXYNOS4X12_GPIO_Y45,
    546 	EXYNOS4X12_GPIO_Y46,
    547 	EXYNOS4X12_GPIO_Y47,
    548 	EXYNOS4X12_GPIO_Y50,		/* 200 0xc8 */
    549 	EXYNOS4X12_GPIO_Y51,
    550 	EXYNOS4X12_GPIO_Y52,
    551 	EXYNOS4X12_GPIO_Y53,
    552 	EXYNOS4X12_GPIO_Y54,
    553 	EXYNOS4X12_GPIO_Y55,
    554 	EXYNOS4X12_GPIO_Y56,
    555 	EXYNOS4X12_GPIO_Y57,
    556 	EXYNOS4X12_GPIO_Y60,		/* 208 0xd0 */
    557 	EXYNOS4X12_GPIO_Y61,
    558 	EXYNOS4X12_GPIO_Y62,
    559 	EXYNOS4X12_GPIO_Y63,
    560 	EXYNOS4X12_GPIO_Y64,
    561 	EXYNOS4X12_GPIO_Y65,
    562 	EXYNOS4X12_GPIO_Y66,
    563 	EXYNOS4X12_GPIO_Y67,
    564 	EXYNOS4X12_GPIO_MAX_PORT_PART_2_1, /* 216 0xd8 */
    565 	/* EXYNOS4X12_GPIO_PART2_2 starts here */
    566 	EXYNOS4X12_GPIO_M00 = EXYNOS4X12_GPIO_MAX_PORT_PART_2_1,
    567 	EXYNOS4X12_GPIO_M01,
    568 	EXYNOS4X12_GPIO_M02,
    569 	EXYNOS4X12_GPIO_M03,
    570 	EXYNOS4X12_GPIO_M04,
    571 	EXYNOS4X12_GPIO_M05,
    572 	EXYNOS4X12_GPIO_M06,
    573 	EXYNOS4X12_GPIO_M07,
    574 	EXYNOS4X12_GPIO_M10,		/* 224 0xe0 */
    575 	EXYNOS4X12_GPIO_M11,
    576 	EXYNOS4X12_GPIO_M12,
    577 	EXYNOS4X12_GPIO_M13,
    578 	EXYNOS4X12_GPIO_M14,
    579 	EXYNOS4X12_GPIO_M15,
    580 	EXYNOS4X12_GPIO_M16,
    581 	EXYNOS4X12_GPIO_M17,
    582 	EXYNOS4X12_GPIO_M20,		/* 232 0xe8 */
    583 	EXYNOS4X12_GPIO_M21,
    584 	EXYNOS4X12_GPIO_M22,
    585 	EXYNOS4X12_GPIO_M23,
    586 	EXYNOS4X12_GPIO_M24,
    587 	EXYNOS4X12_GPIO_M25,
    588 	EXYNOS4X12_GPIO_M26,
    589 	EXYNOS4X12_GPIO_M27,
    590 	EXYNOS4X12_GPIO_M30,		/* 240 0xf0 */
    591 	EXYNOS4X12_GPIO_M31,
    592 	EXYNOS4X12_GPIO_M32,
    593 	EXYNOS4X12_GPIO_M33,
    594 	EXYNOS4X12_GPIO_M34,
    595 	EXYNOS4X12_GPIO_M35,
    596 	EXYNOS4X12_GPIO_M36,
    597 	EXYNOS4X12_GPIO_M37,
    598 	EXYNOS4X12_GPIO_M40,		/* 248 0xf8 */
    599 	EXYNOS4X12_GPIO_M41,
    600 	EXYNOS4X12_GPIO_M42,
    601 	EXYNOS4X12_GPIO_M43,
    602 	EXYNOS4X12_GPIO_M44,
    603 	EXYNOS4X12_GPIO_M45,
    604 	EXYNOS4X12_GPIO_M46,
    605 	EXYNOS4X12_GPIO_M47,
    606 	EXYNOS4X12_GPIO_MAX_PORT_PART_2_2, /* 256 0x100 */
    607 	/* EXYNOS4X12_GPIO_PART2_3 starts here */
    608 	EXYNOS4X12_GPIO_X00 = EXYNOS4X12_GPIO_MAX_PORT_PART_2_2,
    609 	EXYNOS4X12_GPIO_X01,
    610 	EXYNOS4X12_GPIO_X02,
    611 	EXYNOS4X12_GPIO_X03,
    612 	EXYNOS4X12_GPIO_X04,
    613 	EXYNOS4X12_GPIO_X05,
    614 	EXYNOS4X12_GPIO_X06,
    615 	EXYNOS4X12_GPIO_X07,
    616 	EXYNOS4X12_GPIO_X10,		/* 264 0x108 */
    617 	EXYNOS4X12_GPIO_X11,
    618 	EXYNOS4X12_GPIO_X12,
    619 	EXYNOS4X12_GPIO_X13,
    620 	EXYNOS4X12_GPIO_X14,
    621 	EXYNOS4X12_GPIO_X15,
    622 	EXYNOS4X12_GPIO_X16,
    623 	EXYNOS4X12_GPIO_X17,
    624 	EXYNOS4X12_GPIO_X20,		/* 272 0x110 */
    625 	EXYNOS4X12_GPIO_X21,
    626 	EXYNOS4X12_GPIO_X22,
    627 	EXYNOS4X12_GPIO_X23,
    628 	EXYNOS4X12_GPIO_X24,
    629 	EXYNOS4X12_GPIO_X25,
    630 	EXYNOS4X12_GPIO_X26,
    631 	EXYNOS4X12_GPIO_X27,
    632 	EXYNOS4X12_GPIO_X30,		/* 280 0x118 */
    633 	EXYNOS4X12_GPIO_X31,
    634 	EXYNOS4X12_GPIO_X32,
    635 	EXYNOS4X12_GPIO_X33,
    636 	EXYNOS4X12_GPIO_X34,
    637 	EXYNOS4X12_GPIO_X35,
    638 	EXYNOS4X12_GPIO_X36,
    639 	EXYNOS4X12_GPIO_X37,
    640 
    641 	/* EXYNOS4X12_GPIO_PART3 starts here */
    642 	EXYNOS4X12_GPIO_MAX_PORT_PART_2_3, /* 288 0x120 */
    643 	EXYNOS4X12_GPIO_Z0 = EXYNOS4X12_GPIO_MAX_PORT_PART_2_3,
    644 	EXYNOS4X12_GPIO_Z1,
    645 	EXYNOS4X12_GPIO_Z2,
    646 	EXYNOS4X12_GPIO_Z3,
    647 	EXYNOS4X12_GPIO_Z4,
    648 	EXYNOS4X12_GPIO_Z5,
    649 	EXYNOS4X12_GPIO_Z6,
    650 	EXYNOS4X12_GPIO_Z7,
    651 
    652 	/* EXYNOS4X12_GPIO_PART4 starts here */
    653 	EXYNOS4X12_GPIO_MAX_PORT_PART_3,/* 296 0x128 */
    654 	EXYNOS4X12_GPIO_V00 = EXYNOS4X12_GPIO_MAX_PORT_PART_3,
    655 	EXYNOS4X12_GPIO_V01,
    656 	EXYNOS4X12_GPIO_V02,
    657 	EXYNOS4X12_GPIO_V03,
    658 	EXYNOS4X12_GPIO_V04,
    659 	EXYNOS4X12_GPIO_V05,
    660 	EXYNOS4X12_GPIO_V06,
    661 	EXYNOS4X12_GPIO_V07,
    662 	EXYNOS4X12_GPIO_V10,		/* 304 0x130 */
    663 	EXYNOS4X12_GPIO_V11,
    664 	EXYNOS4X12_GPIO_V12,
    665 	EXYNOS4X12_GPIO_V13,
    666 	EXYNOS4X12_GPIO_V14,
    667 	EXYNOS4X12_GPIO_V15,
    668 	EXYNOS4X12_GPIO_V16,
    669 	EXYNOS4X12_GPIO_V17,
    670 	EXYNOS4X12_GPIO_V20,		/* 312 0x138 */
    671 	EXYNOS4X12_GPIO_V21,
    672 	EXYNOS4X12_GPIO_V22,
    673 	EXYNOS4X12_GPIO_V23,
    674 	EXYNOS4X12_GPIO_V24,
    675 	EXYNOS4X12_GPIO_V25,
    676 	EXYNOS4X12_GPIO_V26,
    677 	EXYNOS4X12_GPIO_V27,
    678 	EXYNOS4X12_GPIO_V30,		/* 320 0x140 */
    679 	EXYNOS4X12_GPIO_V31,
    680 	EXYNOS4X12_GPIO_V32,
    681 	EXYNOS4X12_GPIO_V33,
    682 	EXYNOS4X12_GPIO_V34,
    683 	EXYNOS4X12_GPIO_V35,
    684 	EXYNOS4X12_GPIO_V36,
    685 	EXYNOS4X12_GPIO_V37,
    686 	EXYNOS4X12_GPIO_V40,		/* 328 0x148 */
    687 	EXYNOS4X12_GPIO_V41,
    688 	EXYNOS4X12_GPIO_V42,
    689 	EXYNOS4X12_GPIO_V43,
    690 	EXYNOS4X12_GPIO_V44,
    691 	EXYNOS4X12_GPIO_V45,
    692 	EXYNOS4X12_GPIO_V46,
    693 	EXYNOS4X12_GPIO_V47,
    694 
    695 	EXYNOS4X12_GPIO_MAX_PORT
    696 };
    697 
    698 enum exynos5_gpio_pin {
    699 	/* GPIO_PART1_STARTS */
    700 	EXYNOS5_GPIO_A00,		/* 0 */
    701 	EXYNOS5_GPIO_A01,
    702 	EXYNOS5_GPIO_A02,
    703 	EXYNOS5_GPIO_A03,
    704 	EXYNOS5_GPIO_A04,
    705 	EXYNOS5_GPIO_A05,
    706 	EXYNOS5_GPIO_A06,
    707 	EXYNOS5_GPIO_A07,
    708 	EXYNOS5_GPIO_A10,		/* 8 */
    709 	EXYNOS5_GPIO_A11,
    710 	EXYNOS5_GPIO_A12,
    711 	EXYNOS5_GPIO_A13,
    712 	EXYNOS5_GPIO_A14,
    713 	EXYNOS5_GPIO_A15,
    714 	EXYNOS5_GPIO_A16,
    715 	EXYNOS5_GPIO_A17,
    716 	EXYNOS5_GPIO_A20,		/* 16 0x10 */
    717 	EXYNOS5_GPIO_A21,
    718 	EXYNOS5_GPIO_A22,
    719 	EXYNOS5_GPIO_A23,
    720 	EXYNOS5_GPIO_A24,
    721 	EXYNOS5_GPIO_A25,
    722 	EXYNOS5_GPIO_A26,
    723 	EXYNOS5_GPIO_A27,
    724 	EXYNOS5_GPIO_B00,		/* 24 0x18 */
    725 	EXYNOS5_GPIO_B01,
    726 	EXYNOS5_GPIO_B02,
    727 	EXYNOS5_GPIO_B03,
    728 	EXYNOS5_GPIO_B04,
    729 	EXYNOS5_GPIO_B05,
    730 	EXYNOS5_GPIO_B06,
    731 	EXYNOS5_GPIO_B07,
    732 	EXYNOS5_GPIO_B10,		/* 32 0x20 */
    733 	EXYNOS5_GPIO_B11,
    734 	EXYNOS5_GPIO_B12,
    735 	EXYNOS5_GPIO_B13,
    736 	EXYNOS5_GPIO_B14,
    737 	EXYNOS5_GPIO_B15,
    738 	EXYNOS5_GPIO_B16,
    739 	EXYNOS5_GPIO_B17,
    740 	EXYNOS5_GPIO_B20,		/* 40 0x28 */
    741 	EXYNOS5_GPIO_B21,
    742 	EXYNOS5_GPIO_B22,
    743 	EXYNOS5_GPIO_B23,
    744 	EXYNOS5_GPIO_B24,
    745 	EXYNOS5_GPIO_B25,
    746 	EXYNOS5_GPIO_B26,
    747 	EXYNOS5_GPIO_B27,
    748 	EXYNOS5_GPIO_B30,		/* 48 0x39 */
    749 	EXYNOS5_GPIO_B31,
    750 	EXYNOS5_GPIO_B32,
    751 	EXYNOS5_GPIO_B33,
    752 	EXYNOS5_GPIO_B34,
    753 	EXYNOS5_GPIO_B35,
    754 	EXYNOS5_GPIO_B36,
    755 	EXYNOS5_GPIO_B37,
    756 	EXYNOS5_GPIO_C00,		/* 56 0x38 */
    757 	EXYNOS5_GPIO_C01,
    758 	EXYNOS5_GPIO_C02,
    759 	EXYNOS5_GPIO_C03,
    760 	EXYNOS5_GPIO_C04,
    761 	EXYNOS5_GPIO_C05,
    762 	EXYNOS5_GPIO_C06,
    763 	EXYNOS5_GPIO_C07,
    764 	EXYNOS5_GPIO_C10,		/* 64 0x40 */
    765 	EXYNOS5_GPIO_C11,
    766 	EXYNOS5_GPIO_C12,
    767 	EXYNOS5_GPIO_C13,
    768 	EXYNOS5_GPIO_C14,
    769 	EXYNOS5_GPIO_C15,
    770 	EXYNOS5_GPIO_C16,
    771 	EXYNOS5_GPIO_C17,
    772 	EXYNOS5_GPIO_C20,		/* 72 0x48 */
    773 	EXYNOS5_GPIO_C21,
    774 	EXYNOS5_GPIO_C22,
    775 	EXYNOS5_GPIO_C23,
    776 	EXYNOS5_GPIO_C24,
    777 	EXYNOS5_GPIO_C25,
    778 	EXYNOS5_GPIO_C26,
    779 	EXYNOS5_GPIO_C27,
    780 	EXYNOS5_GPIO_C30,		/* 80 0x50 */
    781 	EXYNOS5_GPIO_C31,
    782 	EXYNOS5_GPIO_C32,
    783 	EXYNOS5_GPIO_C33,
    784 	EXYNOS5_GPIO_C34,
    785 	EXYNOS5_GPIO_C35,
    786 	EXYNOS5_GPIO_C36,
    787 	EXYNOS5_GPIO_C37,
    788 	EXYNOS5_GPIO_D00,		/* 88 0x58 */
    789 	EXYNOS5_GPIO_D01,
    790 	EXYNOS5_GPIO_D02,
    791 	EXYNOS5_GPIO_D03,
    792 	EXYNOS5_GPIO_D04,
    793 	EXYNOS5_GPIO_D05,
    794 	EXYNOS5_GPIO_D06,
    795 	EXYNOS5_GPIO_D07,
    796 	EXYNOS5_GPIO_D10,		/* 96 0x60 */
    797 	EXYNOS5_GPIO_D11,
    798 	EXYNOS5_GPIO_D12,
    799 	EXYNOS5_GPIO_D13,
    800 	EXYNOS5_GPIO_D14,
    801 	EXYNOS5_GPIO_D15,
    802 	EXYNOS5_GPIO_D16,
    803 	EXYNOS5_GPIO_D17,
    804 	EXYNOS5_GPIO_Y00,		/* 104 0x68 */
    805 	EXYNOS5_GPIO_Y01,
    806 	EXYNOS5_GPIO_Y02,
    807 	EXYNOS5_GPIO_Y03,
    808 	EXYNOS5_GPIO_Y04,
    809 	EXYNOS5_GPIO_Y05,
    810 	EXYNOS5_GPIO_Y06,
    811 	EXYNOS5_GPIO_Y07,
    812 	EXYNOS5_GPIO_Y10,		/* 112 0x70 */
    813 	EXYNOS5_GPIO_Y11,
    814 	EXYNOS5_GPIO_Y12,
    815 	EXYNOS5_GPIO_Y13,
    816 	EXYNOS5_GPIO_Y14,
    817 	EXYNOS5_GPIO_Y15,
    818 	EXYNOS5_GPIO_Y16,
    819 	EXYNOS5_GPIO_Y17,
    820 	EXYNOS5_GPIO_Y20,		/* 120 0x78 */
    821 	EXYNOS5_GPIO_Y21,
    822 	EXYNOS5_GPIO_Y22,
    823 	EXYNOS5_GPIO_Y23,
    824 	EXYNOS5_GPIO_Y24,
    825 	EXYNOS5_GPIO_Y25,
    826 	EXYNOS5_GPIO_Y26,
    827 	EXYNOS5_GPIO_Y27,
    828 	EXYNOS5_GPIO_Y30,		/* 128 0x80 */
    829 	EXYNOS5_GPIO_Y31,
    830 	EXYNOS5_GPIO_Y32,
    831 	EXYNOS5_GPIO_Y33,
    832 	EXYNOS5_GPIO_Y34,
    833 	EXYNOS5_GPIO_Y35,
    834 	EXYNOS5_GPIO_Y36,
    835 	EXYNOS5_GPIO_Y37,
    836 	EXYNOS5_GPIO_Y40,		/* 136 0x88 */
    837 	EXYNOS5_GPIO_Y41,
    838 	EXYNOS5_GPIO_Y42,
    839 	EXYNOS5_GPIO_Y43,
    840 	EXYNOS5_GPIO_Y44,
    841 	EXYNOS5_GPIO_Y45,
    842 	EXYNOS5_GPIO_Y46,
    843 	EXYNOS5_GPIO_Y47,
    844 	EXYNOS5_GPIO_Y50,		/* 144 0x90 */
    845 	EXYNOS5_GPIO_Y51,
    846 	EXYNOS5_GPIO_Y52,
    847 	EXYNOS5_GPIO_Y53,
    848 	EXYNOS5_GPIO_Y54,
    849 	EXYNOS5_GPIO_Y55,
    850 	EXYNOS5_GPIO_Y56,
    851 	EXYNOS5_GPIO_Y57,
    852 	EXYNOS5_GPIO_Y60,		/* 152 0x98 */
    853 	EXYNOS5_GPIO_Y61,
    854 	EXYNOS5_GPIO_Y62,
    855 	EXYNOS5_GPIO_Y63,
    856 	EXYNOS5_GPIO_Y64,
    857 	EXYNOS5_GPIO_Y65,
    858 	EXYNOS5_GPIO_Y66,
    859 	EXYNOS5_GPIO_Y67,
    860 
    861 	/* GPIO_PART2_STARTS */
    862 	EXYNOS5_GPIO_MAX_PORT_PART_1,	/* 160 0xa0 */
    863 	EXYNOS5_GPIO_C40 = EXYNOS5_GPIO_MAX_PORT_PART_1,
    864 	EXYNOS5_GPIO_C41,
    865 	EXYNOS5_GPIO_C42,
    866 	EXYNOS5_GPIO_C43,
    867 	EXYNOS5_GPIO_C44,
    868 	EXYNOS5_GPIO_C45,
    869 	EXYNOS5_GPIO_C46,
    870 	EXYNOS5_GPIO_C47,
    871 
    872 	/* GPIO_PART3_STARTS */
    873 	EXYNOS5_GPIO_MAX_PORT_PART_2,	/* 168 0xa8 */
    874 	EXYNOS5_GPIO_X00 = EXYNOS5_GPIO_MAX_PORT_PART_2,
    875 	EXYNOS5_GPIO_X01,
    876 	EXYNOS5_GPIO_X02,
    877 	EXYNOS5_GPIO_X03,
    878 	EXYNOS5_GPIO_X04,
    879 	EXYNOS5_GPIO_X05,
    880 	EXYNOS5_GPIO_X06,
    881 	EXYNOS5_GPIO_X07,
    882 	EXYNOS5_GPIO_X10,		/* 176 0xb0 */
    883 	EXYNOS5_GPIO_X11,
    884 	EXYNOS5_GPIO_X12,
    885 	EXYNOS5_GPIO_X13,
    886 	EXYNOS5_GPIO_X14,
    887 	EXYNOS5_GPIO_X15,
    888 	EXYNOS5_GPIO_X16,
    889 	EXYNOS5_GPIO_X17,
    890 	EXYNOS5_GPIO_X20,		/* 184 0xb8 */
    891 	EXYNOS5_GPIO_X21,
    892 	EXYNOS5_GPIO_X22,
    893 	EXYNOS5_GPIO_X23,
    894 	EXYNOS5_GPIO_X24,
    895 	EXYNOS5_GPIO_X25,
    896 	EXYNOS5_GPIO_X26,
    897 	EXYNOS5_GPIO_X27,
    898 	EXYNOS5_GPIO_X30,		/* 192 0xc0 */
    899 	EXYNOS5_GPIO_X31,
    900 	EXYNOS5_GPIO_X32,
    901 	EXYNOS5_GPIO_X33,
    902 	EXYNOS5_GPIO_X34,
    903 	EXYNOS5_GPIO_X35,
    904 	EXYNOS5_GPIO_X36,
    905 	EXYNOS5_GPIO_X37,
    906 
    907 	/* GPIO_PART4_STARTS */
    908 	EXYNOS5_GPIO_MAX_PORT_PART_3,	/* 200 0xc8 */
    909 	EXYNOS5_GPIO_E00 = EXYNOS5_GPIO_MAX_PORT_PART_3,
    910 	EXYNOS5_GPIO_E01,
    911 	EXYNOS5_GPIO_E02,
    912 	EXYNOS5_GPIO_E03,
    913 	EXYNOS5_GPIO_E04,
    914 	EXYNOS5_GPIO_E05,
    915 	EXYNOS5_GPIO_E06,
    916 	EXYNOS5_GPIO_E07,
    917 	EXYNOS5_GPIO_E10,		/* 208 0xd0 */
    918 	EXYNOS5_GPIO_E11,
    919 	EXYNOS5_GPIO_E12,
    920 	EXYNOS5_GPIO_E13,
    921 	EXYNOS5_GPIO_E14,
    922 	EXYNOS5_GPIO_E15,
    923 	EXYNOS5_GPIO_E16,
    924 	EXYNOS5_GPIO_E17,
    925 	EXYNOS5_GPIO_F00,		/* 216 0xd8 */
    926 	EXYNOS5_GPIO_F01,
    927 	EXYNOS5_GPIO_F02,
    928 	EXYNOS5_GPIO_F03,
    929 	EXYNOS5_GPIO_F04,
    930 	EXYNOS5_GPIO_F05,
    931 	EXYNOS5_GPIO_F06,
    932 	EXYNOS5_GPIO_F07,
    933 	EXYNOS5_GPIO_F10,		/* 224 0xe0 */
    934 	EXYNOS5_GPIO_F11,
    935 	EXYNOS5_GPIO_F12,
    936 	EXYNOS5_GPIO_F13,
    937 	EXYNOS5_GPIO_F14,
    938 	EXYNOS5_GPIO_F15,
    939 	EXYNOS5_GPIO_F16,
    940 	EXYNOS5_GPIO_F17,
    941 	EXYNOS5_GPIO_G00,		/* 232 0xe8 */
    942 	EXYNOS5_GPIO_G01,
    943 	EXYNOS5_GPIO_G02,
    944 	EXYNOS5_GPIO_G03,
    945 	EXYNOS5_GPIO_G04,
    946 	EXYNOS5_GPIO_G05,
    947 	EXYNOS5_GPIO_G06,
    948 	EXYNOS5_GPIO_G07,
    949 	EXYNOS5_GPIO_G10,		/* 240 0xf0 */
    950 	EXYNOS5_GPIO_G11,
    951 	EXYNOS5_GPIO_G12,
    952 	EXYNOS5_GPIO_G13,
    953 	EXYNOS5_GPIO_G14,
    954 	EXYNOS5_GPIO_G15,
    955 	EXYNOS5_GPIO_G16,
    956 	EXYNOS5_GPIO_G17,
    957 	EXYNOS5_GPIO_G20,		/* 248 0xf8 */
    958 	EXYNOS5_GPIO_G21,
    959 	EXYNOS5_GPIO_G22,
    960 	EXYNOS5_GPIO_G23,
    961 	EXYNOS5_GPIO_G24,
    962 	EXYNOS5_GPIO_G25,
    963 	EXYNOS5_GPIO_G26,
    964 	EXYNOS5_GPIO_G27,
    965 	EXYNOS5_GPIO_H00,		/* 256 0x100 */
    966 	EXYNOS5_GPIO_H01,
    967 	EXYNOS5_GPIO_H02,
    968 	EXYNOS5_GPIO_H03,
    969 	EXYNOS5_GPIO_H04,
    970 	EXYNOS5_GPIO_H05,
    971 	EXYNOS5_GPIO_H06,
    972 	EXYNOS5_GPIO_H07,
    973 	EXYNOS5_GPIO_H10,		/* 264 0x108 */
    974 	EXYNOS5_GPIO_H11,
    975 	EXYNOS5_GPIO_H12,
    976 	EXYNOS5_GPIO_H13,
    977 	EXYNOS5_GPIO_H14,
    978 	EXYNOS5_GPIO_H15,
    979 	EXYNOS5_GPIO_H16,
    980 	EXYNOS5_GPIO_H17,
    981 
    982 	/* GPIO_PART4_STARTS */
    983 	EXYNOS5_GPIO_MAX_PORT_PART_4,	/* 272 0x110 */
    984 	EXYNOS5_GPIO_V00 = EXYNOS5_GPIO_MAX_PORT_PART_4,
    985 	EXYNOS5_GPIO_V01,
    986 	EXYNOS5_GPIO_V02,
    987 	EXYNOS5_GPIO_V03,
    988 	EXYNOS5_GPIO_V04,
    989 	EXYNOS5_GPIO_V05,
    990 	EXYNOS5_GPIO_V06,
    991 	EXYNOS5_GPIO_V07,
    992 	EXYNOS5_GPIO_V10,		/* 280 0x118 */
    993 	EXYNOS5_GPIO_V11,
    994 	EXYNOS5_GPIO_V12,
    995 	EXYNOS5_GPIO_V13,
    996 	EXYNOS5_GPIO_V14,
    997 	EXYNOS5_GPIO_V15,
    998 	EXYNOS5_GPIO_V16,
    999 	EXYNOS5_GPIO_V17,
   1000 
   1001 	/* GPIO_PART5_STARTS */
   1002 	EXYNOS5_GPIO_MAX_PORT_PART_5,	/* 288 0x120 */
   1003 	EXYNOS5_GPIO_V20 = EXYNOS5_GPIO_MAX_PORT_PART_5,
   1004 	EXYNOS5_GPIO_V21,
   1005 	EXYNOS5_GPIO_V22,
   1006 	EXYNOS5_GPIO_V23,
   1007 	EXYNOS5_GPIO_V24,
   1008 	EXYNOS5_GPIO_V25,
   1009 	EXYNOS5_GPIO_V26,
   1010 	EXYNOS5_GPIO_V27,
   1011 	EXYNOS5_GPIO_V30,		/* 296 0x128 */
   1012 	EXYNOS5_GPIO_V31,
   1013 	EXYNOS5_GPIO_V32,
   1014 	EXYNOS5_GPIO_V33,
   1015 	EXYNOS5_GPIO_V34,
   1016 	EXYNOS5_GPIO_V35,
   1017 	EXYNOS5_GPIO_V36,
   1018 	EXYNOS5_GPIO_V37,
   1019 
   1020 	/* GPIO_PART6_STARTS */
   1021 	EXYNOS5_GPIO_MAX_PORT_PART_6,	/* 304 0x130 */
   1022 	EXYNOS5_GPIO_V40 = EXYNOS5_GPIO_MAX_PORT_PART_6,
   1023 	EXYNOS5_GPIO_V41,
   1024 	EXYNOS5_GPIO_V42,
   1025 	EXYNOS5_GPIO_V43,
   1026 	EXYNOS5_GPIO_V44,
   1027 	EXYNOS5_GPIO_V45,
   1028 	EXYNOS5_GPIO_V46,
   1029 	EXYNOS5_GPIO_V47,
   1030 
   1031 	/* GPIO_PART7_STARTS */		/* 312 0x138 */
   1032 	EXYNOS5_GPIO_MAX_PORT_PART_7,
   1033 	EXYNOS5_GPIO_Z0 = EXYNOS5_GPIO_MAX_PORT_PART_7,
   1034 	EXYNOS5_GPIO_Z1,
   1035 	EXYNOS5_GPIO_Z2,
   1036 	EXYNOS5_GPIO_Z3,
   1037 	EXYNOS5_GPIO_Z4,
   1038 	EXYNOS5_GPIO_Z5,
   1039 	EXYNOS5_GPIO_Z6,
   1040 	EXYNOS5_GPIO_MAX_PORT
   1041 };
   1042 
   1043 enum exynos5420_gpio_pin {
   1044 	/* GPIO_PART1_STARTS */
   1045 	EXYNOS5420_GPIO_A00,		/* 0 */
   1046 	EXYNOS5420_GPIO_A01,
   1047 	EXYNOS5420_GPIO_A02,
   1048 	EXYNOS5420_GPIO_A03,
   1049 	EXYNOS5420_GPIO_A04,
   1050 	EXYNOS5420_GPIO_A05,
   1051 	EXYNOS5420_GPIO_A06,
   1052 	EXYNOS5420_GPIO_A07,
   1053 	EXYNOS5420_GPIO_A10,		/* 8 */
   1054 	EXYNOS5420_GPIO_A11,
   1055 	EXYNOS5420_GPIO_A12,
   1056 	EXYNOS5420_GPIO_A13,
   1057 	EXYNOS5420_GPIO_A14,
   1058 	EXYNOS5420_GPIO_A15,
   1059 	EXYNOS5420_GPIO_A16,
   1060 	EXYNOS5420_GPIO_A17,
   1061 	EXYNOS5420_GPIO_A20,		/* 16 0x10 */
   1062 	EXYNOS5420_GPIO_A21,
   1063 	EXYNOS5420_GPIO_A22,
   1064 	EXYNOS5420_GPIO_A23,
   1065 	EXYNOS5420_GPIO_A24,
   1066 	EXYNOS5420_GPIO_A25,
   1067 	EXYNOS5420_GPIO_A26,
   1068 	EXYNOS5420_GPIO_A27,
   1069 	EXYNOS5420_GPIO_B00,		/* 24 0x18 */
   1070 	EXYNOS5420_GPIO_B01,
   1071 	EXYNOS5420_GPIO_B02,
   1072 	EXYNOS5420_GPIO_B03,
   1073 	EXYNOS5420_GPIO_B04,
   1074 	EXYNOS5420_GPIO_B05,
   1075 	EXYNOS5420_GPIO_B06,
   1076 	EXYNOS5420_GPIO_B07,
   1077 	EXYNOS5420_GPIO_B10,		/* 32 0x20 */
   1078 	EXYNOS5420_GPIO_B11,
   1079 	EXYNOS5420_GPIO_B12,
   1080 	EXYNOS5420_GPIO_B13,
   1081 	EXYNOS5420_GPIO_B14,
   1082 	EXYNOS5420_GPIO_B15,
   1083 	EXYNOS5420_GPIO_B16,
   1084 	EXYNOS5420_GPIO_B17,
   1085 	EXYNOS5420_GPIO_B20,		/* 40 0x28 */
   1086 	EXYNOS5420_GPIO_B21,
   1087 	EXYNOS5420_GPIO_B22,
   1088 	EXYNOS5420_GPIO_B23,
   1089 	EXYNOS5420_GPIO_B24,
   1090 	EXYNOS5420_GPIO_B25,
   1091 	EXYNOS5420_GPIO_B26,
   1092 	EXYNOS5420_GPIO_B27,
   1093 	EXYNOS5420_GPIO_B30,		/* 48 0x30 */
   1094 	EXYNOS5420_GPIO_B31,
   1095 	EXYNOS5420_GPIO_B32,
   1096 	EXYNOS5420_GPIO_B33,
   1097 	EXYNOS5420_GPIO_B34,
   1098 	EXYNOS5420_GPIO_B35,
   1099 	EXYNOS5420_GPIO_B36,
   1100 	EXYNOS5420_GPIO_B37,
   1101 	EXYNOS5420_GPIO_B40,		/* 56 0x38 */
   1102 	EXYNOS5420_GPIO_B41,
   1103 	EXYNOS5420_GPIO_B42,
   1104 	EXYNOS5420_GPIO_B43,
   1105 	EXYNOS5420_GPIO_B44,
   1106 	EXYNOS5420_GPIO_B45,
   1107 	EXYNOS5420_GPIO_B46,
   1108 	EXYNOS5420_GPIO_B47,
   1109 	EXYNOS5420_GPIO_H00,		/* 64 0x40 */
   1110 	EXYNOS5420_GPIO_H01,
   1111 	EXYNOS5420_GPIO_H02,
   1112 	EXYNOS5420_GPIO_H03,
   1113 	EXYNOS5420_GPIO_H04,
   1114 	EXYNOS5420_GPIO_H05,
   1115 	EXYNOS5420_GPIO_H06,
   1116 	EXYNOS5420_GPIO_H07,
   1117 
   1118 	/* GPIO PART 2 STARTS*/
   1119 	EXYNOS5420_GPIO_MAX_PORT_PART_1,/* 72 0x48 */
   1120 	EXYNOS5420_GPIO_Y70 = EXYNOS5420_GPIO_MAX_PORT_PART_1,
   1121 	EXYNOS5420_GPIO_Y71,
   1122 	EXYNOS5420_GPIO_Y72,
   1123 	EXYNOS5420_GPIO_Y73,
   1124 	EXYNOS5420_GPIO_Y74,
   1125 	EXYNOS5420_GPIO_Y75,
   1126 	EXYNOS5420_GPIO_Y76,
   1127 	EXYNOS5420_GPIO_Y77,
   1128 
   1129 	/* GPIO PART 3 STARTS*/
   1130 	EXYNOS5420_GPIO_MAX_PORT_PART_2,/* 80 0x50 */
   1131 	EXYNOS5420_GPIO_X00 = EXYNOS5420_GPIO_MAX_PORT_PART_2,
   1132 	EXYNOS5420_GPIO_X01,
   1133 	EXYNOS5420_GPIO_X02,
   1134 	EXYNOS5420_GPIO_X03,
   1135 	EXYNOS5420_GPIO_X04,
   1136 	EXYNOS5420_GPIO_X05,
   1137 	EXYNOS5420_GPIO_X06,
   1138 	EXYNOS5420_GPIO_X07,
   1139 	EXYNOS5420_GPIO_X10,		/* 88 0x58 */
   1140 	EXYNOS5420_GPIO_X11,
   1141 	EXYNOS5420_GPIO_X12,
   1142 	EXYNOS5420_GPIO_X13,
   1143 	EXYNOS5420_GPIO_X14,
   1144 	EXYNOS5420_GPIO_X15,
   1145 	EXYNOS5420_GPIO_X16,
   1146 	EXYNOS5420_GPIO_X17,
   1147 	EXYNOS5420_GPIO_X20,		/* 96 0x60 */
   1148 	EXYNOS5420_GPIO_X21,
   1149 	EXYNOS5420_GPIO_X22,
   1150 	EXYNOS5420_GPIO_X23,
   1151 	EXYNOS5420_GPIO_X24,
   1152 	EXYNOS5420_GPIO_X25,
   1153 	EXYNOS5420_GPIO_X26,
   1154 	EXYNOS5420_GPIO_X27,
   1155 	EXYNOS5420_GPIO_X30,		/* 104 0x68 */
   1156 	EXYNOS5420_GPIO_X31,
   1157 	EXYNOS5420_GPIO_X32,
   1158 	EXYNOS5420_GPIO_X33,
   1159 	EXYNOS5420_GPIO_X34,
   1160 	EXYNOS5420_GPIO_X35,
   1161 	EXYNOS5420_GPIO_X36,
   1162 	EXYNOS5420_GPIO_X37,
   1163 
   1164 	/* GPIO PART 4 STARTS*/
   1165 	EXYNOS5420_GPIO_MAX_PORT_PART_3,/* 112 0x70 */
   1166 	EXYNOS5420_GPIO_C00 = EXYNOS5420_GPIO_MAX_PORT_PART_3,
   1167 	EXYNOS5420_GPIO_C01,
   1168 	EXYNOS5420_GPIO_C02,
   1169 	EXYNOS5420_GPIO_C03,
   1170 	EXYNOS5420_GPIO_C04,
   1171 	EXYNOS5420_GPIO_C05,
   1172 	EXYNOS5420_GPIO_C06,
   1173 	EXYNOS5420_GPIO_C07,
   1174 	EXYNOS5420_GPIO_C10,		/* 120 0x78 */
   1175 	EXYNOS5420_GPIO_C11,
   1176 	EXYNOS5420_GPIO_C12,
   1177 	EXYNOS5420_GPIO_C13,
   1178 	EXYNOS5420_GPIO_C14,
   1179 	EXYNOS5420_GPIO_C15,
   1180 	EXYNOS5420_GPIO_C16,
   1181 	EXYNOS5420_GPIO_C17,
   1182 	EXYNOS5420_GPIO_C20,		/* 128 0x80 */
   1183 	EXYNOS5420_GPIO_C21,
   1184 	EXYNOS5420_GPIO_C22,
   1185 	EXYNOS5420_GPIO_C23,
   1186 	EXYNOS5420_GPIO_C24,
   1187 	EXYNOS5420_GPIO_C25,
   1188 	EXYNOS5420_GPIO_C26,
   1189 	EXYNOS5420_GPIO_C27,
   1190 	EXYNOS5420_GPIO_C30,		/* 136 0x88 */
   1191 	EXYNOS5420_GPIO_C31,
   1192 	EXYNOS5420_GPIO_C32,
   1193 	EXYNOS5420_GPIO_C33,
   1194 	EXYNOS5420_GPIO_C34,
   1195 	EXYNOS5420_GPIO_C35,
   1196 	EXYNOS5420_GPIO_C36,
   1197 	EXYNOS5420_GPIO_C37,
   1198 	EXYNOS5420_GPIO_C40,		/* 144 0x90 */
   1199 	EXYNOS5420_GPIO_C41,
   1200 	EXYNOS5420_GPIO_C42,
   1201 	EXYNOS5420_GPIO_C43,
   1202 	EXYNOS5420_GPIO_C44,
   1203 	EXYNOS5420_GPIO_C45,
   1204 	EXYNOS5420_GPIO_C46,
   1205 	EXYNOS5420_GPIO_C47,
   1206 	EXYNOS5420_GPIO_D10,		/* 152 0x98 */
   1207 	EXYNOS5420_GPIO_D11,
   1208 	EXYNOS5420_GPIO_D12,
   1209 	EXYNOS5420_GPIO_D13,
   1210 	EXYNOS5420_GPIO_D14,
   1211 	EXYNOS5420_GPIO_D15,
   1212 	EXYNOS5420_GPIO_D16,
   1213 	EXYNOS5420_GPIO_D17,
   1214 	EXYNOS5420_GPIO_Y00,		/* 160 0xa0 */
   1215 	EXYNOS5420_GPIO_Y01,
   1216 	EXYNOS5420_GPIO_Y02,
   1217 	EXYNOS5420_GPIO_Y03,
   1218 	EXYNOS5420_GPIO_Y04,
   1219 	EXYNOS5420_GPIO_Y05,
   1220 	EXYNOS5420_GPIO_Y06,
   1221 	EXYNOS5420_GPIO_Y07,
   1222 	EXYNOS5420_GPIO_Y10,		/* 168 0xa8 */
   1223 	EXYNOS5420_GPIO_Y11,
   1224 	EXYNOS5420_GPIO_Y12,
   1225 	EXYNOS5420_GPIO_Y13,
   1226 	EXYNOS5420_GPIO_Y14,
   1227 	EXYNOS5420_GPIO_Y15,
   1228 	EXYNOS5420_GPIO_Y16,
   1229 	EXYNOS5420_GPIO_Y17,
   1230 	EXYNOS5420_GPIO_Y20,		/* 176 0xb0 */
   1231 	EXYNOS5420_GPIO_Y21,
   1232 	EXYNOS5420_GPIO_Y22,
   1233 	EXYNOS5420_GPIO_Y23,
   1234 	EXYNOS5420_GPIO_Y24,
   1235 	EXYNOS5420_GPIO_Y25,
   1236 	EXYNOS5420_GPIO_Y26,
   1237 	EXYNOS5420_GPIO_Y27,
   1238 	EXYNOS5420_GPIO_Y30,		/* 184 0xb8 */
   1239 	EXYNOS5420_GPIO_Y31,
   1240 	EXYNOS5420_GPIO_Y32,
   1241 	EXYNOS5420_GPIO_Y33,
   1242 	EXYNOS5420_GPIO_Y34,
   1243 	EXYNOS5420_GPIO_Y35,
   1244 	EXYNOS5420_GPIO_Y36,
   1245 	EXYNOS5420_GPIO_Y37,
   1246 	EXYNOS5420_GPIO_Y40,		/* 192 0xc0 */
   1247 	EXYNOS5420_GPIO_Y41,
   1248 	EXYNOS5420_GPIO_Y42,
   1249 	EXYNOS5420_GPIO_Y43,
   1250 	EXYNOS5420_GPIO_Y44,
   1251 	EXYNOS5420_GPIO_Y45,
   1252 	EXYNOS5420_GPIO_Y46,
   1253 	EXYNOS5420_GPIO_Y47,
   1254 	EXYNOS5420_GPIO_Y50,		/* 200 0xc8 */
   1255 	EXYNOS5420_GPIO_Y51,
   1256 	EXYNOS5420_GPIO_Y52,
   1257 	EXYNOS5420_GPIO_Y53,
   1258 	EXYNOS5420_GPIO_Y54,
   1259 	EXYNOS5420_GPIO_Y55,
   1260 	EXYNOS5420_GPIO_Y56,
   1261 	EXYNOS5420_GPIO_Y57,
   1262 	EXYNOS5420_GPIO_Y60,		/* 208 0xd0 */
   1263 	EXYNOS5420_GPIO_Y61,
   1264 	EXYNOS5420_GPIO_Y62,
   1265 	EXYNOS5420_GPIO_Y63,
   1266 	EXYNOS5420_GPIO_Y64,
   1267 	EXYNOS5420_GPIO_Y65,
   1268 	EXYNOS5420_GPIO_Y66,
   1269 	EXYNOS5420_GPIO_Y67,
   1270 
   1271 	/* GPIO_PART5_STARTS */
   1272 	EXYNOS5420_GPIO_MAX_PORT_PART_4,/* 216 0xd8 */
   1273 	EXYNOS5420_GPIO_E00 = EXYNOS5420_GPIO_MAX_PORT_PART_4,
   1274 	EXYNOS5420_GPIO_E01,
   1275 	EXYNOS5420_GPIO_E02,
   1276 	EXYNOS5420_GPIO_E03,
   1277 	EXYNOS5420_GPIO_E04,
   1278 	EXYNOS5420_GPIO_E05,
   1279 	EXYNOS5420_GPIO_E06,
   1280 	EXYNOS5420_GPIO_E07,
   1281 	EXYNOS5420_GPIO_E10,		/* 224 0xe0 */
   1282 	EXYNOS5420_GPIO_E11,
   1283 	EXYNOS5420_GPIO_E12,
   1284 	EXYNOS5420_GPIO_E13,
   1285 	EXYNOS5420_GPIO_E14,
   1286 	EXYNOS5420_GPIO_E15,
   1287 	EXYNOS5420_GPIO_E16,
   1288 	EXYNOS5420_GPIO_E17,
   1289 	EXYNOS5420_GPIO_F00,		/* 232 0xe8 */
   1290 	EXYNOS5420_GPIO_F01,
   1291 	EXYNOS5420_GPIO_F02,
   1292 	EXYNOS5420_GPIO_F03,
   1293 	EXYNOS5420_GPIO_F04,
   1294 	EXYNOS5420_GPIO_F05,
   1295 	EXYNOS5420_GPIO_F06,
   1296 	EXYNOS5420_GPIO_F07,
   1297 	EXYNOS5420_GPIO_F10,		/* 240 0xf0 */
   1298 	EXYNOS5420_GPIO_F11,
   1299 	EXYNOS5420_GPIO_F12,
   1300 	EXYNOS5420_GPIO_F13,
   1301 	EXYNOS5420_GPIO_F14,
   1302 	EXYNOS5420_GPIO_F15,
   1303 	EXYNOS5420_GPIO_F16,
   1304 	EXYNOS5420_GPIO_F17,
   1305 	EXYNOS5420_GPIO_G00,		/* 248 0xf8 */
   1306 	EXYNOS5420_GPIO_G01,
   1307 	EXYNOS5420_GPIO_G02,
   1308 	EXYNOS5420_GPIO_G03,
   1309 	EXYNOS5420_GPIO_G04,
   1310 	EXYNOS5420_GPIO_G05,
   1311 	EXYNOS5420_GPIO_G06,
   1312 	EXYNOS5420_GPIO_G07,
   1313 	EXYNOS5420_GPIO_G10,		/* 256 0x100 */
   1314 	EXYNOS5420_GPIO_G11,
   1315 	EXYNOS5420_GPIO_G12,
   1316 	EXYNOS5420_GPIO_G13,
   1317 	EXYNOS5420_GPIO_G14,
   1318 	EXYNOS5420_GPIO_G15,
   1319 	EXYNOS5420_GPIO_G16,
   1320 	EXYNOS5420_GPIO_G17,
   1321 	EXYNOS5420_GPIO_G20,		/* 264 0x108 */
   1322 	EXYNOS5420_GPIO_G21,
   1323 	EXYNOS5420_GPIO_G22,
   1324 	EXYNOS5420_GPIO_G23,
   1325 	EXYNOS5420_GPIO_G24,
   1326 	EXYNOS5420_GPIO_G25,
   1327 	EXYNOS5420_GPIO_G26,
   1328 	EXYNOS5420_GPIO_G27,
   1329 	EXYNOS5420_GPIO_J40,		/* 272 0x110 */
   1330 	EXYNOS5420_GPIO_J41,
   1331 	EXYNOS5420_GPIO_J42,
   1332 	EXYNOS5420_GPIO_J43,
   1333 	EXYNOS5420_GPIO_J44,
   1334 	EXYNOS5420_GPIO_J45,
   1335 	EXYNOS5420_GPIO_J46,
   1336 	EXYNOS5420_GPIO_J47,
   1337 
   1338 	/* GPIO_PART6_STARTS */
   1339 	EXYNOS5420_GPIO_MAX_PORT_PART_5,/* 280 0x118 */
   1340 	EXYNOS5420_GPIO_Z0 = EXYNOS5420_GPIO_MAX_PORT_PART_5,
   1341 	EXYNOS5420_GPIO_Z1,
   1342 	EXYNOS5420_GPIO_Z2,
   1343 	EXYNOS5420_GPIO_Z3,
   1344 	EXYNOS5420_GPIO_Z4,
   1345 	EXYNOS5420_GPIO_Z5,
   1346 	EXYNOS5420_GPIO_Z6,
   1347 	EXYNOS5420_GPIO_MAX_PORT
   1348 };
   1349 
   1350 struct gpio_info {
   1351 	unsigned long reg_addr;	/* Address of register for this part */
   1352 	unsigned int max_gpio;	/* Maximum GPIO in this part */
   1353 };
   1354 
   1355 #define EXYNOS4_GPIO_NUM_PARTS	4
   1356 static struct gpio_info exynos4_gpio_data[EXYNOS4_GPIO_NUM_PARTS] = {
   1357 	{ EXYNOS4_GPIO_PART1_BASE, EXYNOS4_GPIO_MAX_PORT_PART_1 },
   1358 	{ EXYNOS4_GPIO_PART2_0, EXYNOS4_GPIO_MAX_PORT_PART_2_0 },
   1359 	{ EXYNOS4_GPIO_PART2_1, EXYNOS4_GPIO_MAX_PORT_PART_2_1 },
   1360 	{ EXYNOS4_GPIO_PART3_BASE, EXYNOS4_GPIO_MAX_PORT },
   1361 };
   1362 
   1363 #define EXYNOS4X12_GPIO_NUM_PARTS	8
   1364 static struct gpio_info exynos4x12_gpio_data[EXYNOS4X12_GPIO_NUM_PARTS] = {
   1365 	{ EXYNOS4X12_GPIO_PART1_0, EXYNOS4X12_GPIO_MAX_PORT_PART_1_0 },
   1366 	{ EXYNOS4X12_GPIO_PART1_1, EXYNOS4X12_GPIO_MAX_PORT_PART_1_1 },
   1367 	{ EXYNOS4X12_GPIO_PART1_2, EXYNOS4X12_GPIO_MAX_PORT_PART_1_2 },
   1368 	{ EXYNOS4X12_GPIO_PART2_1, EXYNOS4X12_GPIO_MAX_PORT_PART_2_1 },
   1369 	{ EXYNOS4X12_GPIO_PART2_2, EXYNOS4X12_GPIO_MAX_PORT_PART_2_2 },
   1370 	{ EXYNOS4X12_GPIO_PART2_3, EXYNOS4X12_GPIO_MAX_PORT_PART_2_3 },
   1371 	{ EXYNOS4X12_GPIO_PART3_BASE, EXYNOS4X12_GPIO_MAX_PORT_PART_3 },
   1372 	{ EXYNOS4X12_GPIO_PART4_BASE, EXYNOS4X12_GPIO_MAX_PORT },
   1373 };
   1374 
   1375 #define EXYNOS5_GPIO_NUM_PARTS	8
   1376 static struct gpio_info exynos5_gpio_data[EXYNOS5_GPIO_NUM_PARTS] = {
   1377 	{ EXYNOS5_GPIO_PART1_BASE, EXYNOS5_GPIO_MAX_PORT_PART_1 },
   1378 	{ EXYNOS5_GPIO_PART2_BASE, EXYNOS5_GPIO_MAX_PORT_PART_2 },
   1379 	{ EXYNOS5_GPIO_PART3_BASE, EXYNOS5_GPIO_MAX_PORT_PART_3 },
   1380 	{ EXYNOS5_GPIO_PART4_BASE, EXYNOS5_GPIO_MAX_PORT_PART_4 },
   1381 	{ EXYNOS5_GPIO_PART5_BASE, EXYNOS5_GPIO_MAX_PORT_PART_5 },
   1382 	{ EXYNOS5_GPIO_PART6_BASE, EXYNOS5_GPIO_MAX_PORT_PART_6 },
   1383 	{ EXYNOS5_GPIO_PART7_BASE, EXYNOS5_GPIO_MAX_PORT_PART_7 },
   1384 	{ EXYNOS5_GPIO_PART8_BASE, EXYNOS5_GPIO_MAX_PORT },
   1385 };
   1386 
   1387 #define EXYNOS5420_GPIO_NUM_PARTS	6
   1388 static struct gpio_info exynos5420_gpio_data[EXYNOS5420_GPIO_NUM_PARTS] = {
   1389 	{ EXYNOS5420_GPIO_PART1_BASE, EXYNOS5420_GPIO_MAX_PORT_PART_1 },
   1390 	{ EXYNOS5420_GPIO_PART2_BASE, EXYNOS5420_GPIO_MAX_PORT_PART_2 },
   1391 	{ EXYNOS5420_GPIO_PART3_BASE, EXYNOS5420_GPIO_MAX_PORT_PART_3 },
   1392 	{ EXYNOS5420_GPIO_PART4_BASE, EXYNOS5420_GPIO_MAX_PORT_PART_4 },
   1393 	{ EXYNOS5420_GPIO_PART5_BASE, EXYNOS5420_GPIO_MAX_PORT_PART_5 },
   1394 	{ EXYNOS5420_GPIO_PART6_BASE, EXYNOS5420_GPIO_MAX_PORT },
   1395 };
   1396 
   1397 static inline struct gpio_info *get_gpio_data(void)
   1398 {
   1399 	if (cpu_is_exynos5()) {
   1400 		if (proid_is_exynos5420() || proid_is_exynos5422())
   1401 			return exynos5420_gpio_data;
   1402 		else
   1403 			return exynos5_gpio_data;
   1404 	} else if (cpu_is_exynos4()) {
   1405 		if (proid_is_exynos4412())
   1406 			return exynos4x12_gpio_data;
   1407 		else
   1408 			return exynos4_gpio_data;
   1409 	}
   1410 
   1411 	return NULL;
   1412 }
   1413 
   1414 static inline unsigned int get_bank_num(void)
   1415 {
   1416 	if (cpu_is_exynos5()) {
   1417 		if (proid_is_exynos5420() || proid_is_exynos5422())
   1418 			return EXYNOS5420_GPIO_NUM_PARTS;
   1419 		else
   1420 			return EXYNOS5_GPIO_NUM_PARTS;
   1421 	} else if (cpu_is_exynos4()) {
   1422 		if (proid_is_exynos4412())
   1423 			return EXYNOS4X12_GPIO_NUM_PARTS;
   1424 		else
   1425 			return EXYNOS4_GPIO_NUM_PARTS;
   1426 	}
   1427 
   1428 	return 0;
   1429 }
   1430 
   1431 /*
   1432  * This structure helps mapping symbolic GPIO names into indices from
   1433  * exynos5_gpio_pin/exynos5420_gpio_pin enums.
   1434  *
   1435  * By convention, symbolic GPIO name is defined as follows:
   1436  *
   1437  * g[p]<bank><set><bit>, where
   1438  *   p is optional
   1439  *   <bank> - a single character bank name, as defined by the SOC
   1440  *   <set> - a single digit set number
   1441  *   <bit> - bit number within the set (in 0..7 range).
   1442  *
   1443  * <set><bit> essentially form an octal number of the GPIO pin within the bank
   1444  * space. On the 5420 architecture some banks' sets do not start not from zero
   1445  * ('d' starts from 1 and 'j' starts from 4). To compensate for that and
   1446  * maintain flat number space withoout holes, those banks use offsets to be
   1447  * deducted from the pin number.
   1448  */
   1449 struct gpio_name_num_table {
   1450 	char bank;		/* bank name symbol */
   1451 	unsigned int bank_size;		/* total number of pins in the bank */
   1452 	char bank_offset;	/* offset of the first bank's pin */
   1453 	unsigned int base;	/* index of the first bank's pin in the enum */
   1454 };
   1455 
   1456 #define GPIO_ENTRY(name, base, top, offset) { name, top - base, offset, base }
   1457 static const struct gpio_name_num_table exynos4_gpio_table[] = {
   1458 	GPIO_ENTRY('a', EXYNOS4_GPIO_A00, EXYNOS4_GPIO_B0, 0),
   1459 	GPIO_ENTRY('b', EXYNOS4_GPIO_B0, EXYNOS4_GPIO_C00, 0),
   1460 	GPIO_ENTRY('c', EXYNOS4_GPIO_C00, EXYNOS4_GPIO_D00, 0),
   1461 	GPIO_ENTRY('d', EXYNOS4_GPIO_D00, EXYNOS4_GPIO_E00, 0),
   1462 	GPIO_ENTRY('e', EXYNOS4_GPIO_E00, EXYNOS4_GPIO_F00, 0),
   1463 	GPIO_ENTRY('f', EXYNOS4_GPIO_F00, EXYNOS4_GPIO_J00, 0),
   1464 	GPIO_ENTRY('j', EXYNOS4_GPIO_J00, EXYNOS4_GPIO_K00, 0),
   1465 	GPIO_ENTRY('k', EXYNOS4_GPIO_K00, EXYNOS4_GPIO_L00, 0),
   1466 	GPIO_ENTRY('l', EXYNOS4_GPIO_L00, EXYNOS4_GPIO_Y00, 0),
   1467 	GPIO_ENTRY('y', EXYNOS4_GPIO_Y00, EXYNOS4_GPIO_X00, 0),
   1468 	GPIO_ENTRY('x', EXYNOS4_GPIO_X00, EXYNOS4_GPIO_Z0, 0),
   1469 	GPIO_ENTRY('z', EXYNOS4_GPIO_Z0, EXYNOS4_GPIO_MAX_PORT, 0),
   1470 	{ 0 }
   1471 };
   1472 
   1473 static const struct gpio_name_num_table exynos4x12_gpio_table[] = {
   1474 	GPIO_ENTRY('a', EXYNOS4X12_GPIO_A00, EXYNOS4X12_GPIO_B0, 0),
   1475 	GPIO_ENTRY('b', EXYNOS4X12_GPIO_B0, EXYNOS4X12_GPIO_C00, 0),
   1476 	GPIO_ENTRY('c', EXYNOS4X12_GPIO_C00, EXYNOS4X12_GPIO_D00, 0),
   1477 	GPIO_ENTRY('d', EXYNOS4X12_GPIO_D00, EXYNOS4X12_GPIO_F00, 0),
   1478 	GPIO_ENTRY('f', EXYNOS4X12_GPIO_F00, EXYNOS4X12_GPIO_J00, 0),
   1479 	GPIO_ENTRY('j', EXYNOS4X12_GPIO_J00, EXYNOS4X12_GPIO_K00, 0),
   1480 	GPIO_ENTRY('k', EXYNOS4X12_GPIO_K00, EXYNOS4X12_GPIO_L00, 0),
   1481 	GPIO_ENTRY('l', EXYNOS4X12_GPIO_L00, EXYNOS4X12_GPIO_Y00, 0),
   1482 	GPIO_ENTRY('y', EXYNOS4X12_GPIO_Y00, EXYNOS4X12_GPIO_M00, 0),
   1483 	GPIO_ENTRY('m', EXYNOS4X12_GPIO_M00, EXYNOS4X12_GPIO_X00, 0),
   1484 	GPIO_ENTRY('x', EXYNOS4X12_GPIO_X00, EXYNOS4X12_GPIO_Z0, 0),
   1485 	GPIO_ENTRY('z', EXYNOS4X12_GPIO_Z0, EXYNOS4X12_GPIO_V00, 0),
   1486 	GPIO_ENTRY('v', EXYNOS4X12_GPIO_V00, EXYNOS4X12_GPIO_MAX_PORT, 0),
   1487 	{ 0 }
   1488 };
   1489 
   1490 static const struct gpio_name_num_table exynos5_gpio_table[] = {
   1491 	GPIO_ENTRY('a', EXYNOS5_GPIO_A00, EXYNOS5_GPIO_B00, 0),
   1492 	GPIO_ENTRY('b', EXYNOS5_GPIO_B00, EXYNOS5_GPIO_C00, 0),
   1493 	GPIO_ENTRY('c', EXYNOS5_GPIO_C00, EXYNOS5_GPIO_D00, 0),
   1494 	GPIO_ENTRY('d', EXYNOS5_GPIO_D00, EXYNOS5_GPIO_Y00, 0),
   1495 	GPIO_ENTRY('y', EXYNOS5_GPIO_Y00, EXYNOS5_GPIO_C40, 0),
   1496 	GPIO_ENTRY('x', EXYNOS5_GPIO_X00, EXYNOS5_GPIO_E00, 0),
   1497 	GPIO_ENTRY('e', EXYNOS5_GPIO_E00, EXYNOS5_GPIO_F00, 0),
   1498 	GPIO_ENTRY('f', EXYNOS5_GPIO_F00, EXYNOS5_GPIO_G00, 0),
   1499 	GPIO_ENTRY('g', EXYNOS5_GPIO_G00, EXYNOS5_GPIO_H00, 0),
   1500 	GPIO_ENTRY('h', EXYNOS5_GPIO_H00, EXYNOS5_GPIO_V00, 0),
   1501 	GPIO_ENTRY('v', EXYNOS5_GPIO_V00, EXYNOS5_GPIO_Z0, 0),
   1502 	GPIO_ENTRY('z', EXYNOS5_GPIO_Z0, EXYNOS5_GPIO_MAX_PORT, 0),
   1503 	{ 0 }
   1504 };
   1505 
   1506 static const struct gpio_name_num_table exynos5420_gpio_table[] = {
   1507 	GPIO_ENTRY('a', EXYNOS5420_GPIO_A00, EXYNOS5420_GPIO_B00, 0),
   1508 	GPIO_ENTRY('b', EXYNOS5420_GPIO_B00, EXYNOS5420_GPIO_H00, 0),
   1509 	GPIO_ENTRY('h', EXYNOS5420_GPIO_H00, EXYNOS5420_GPIO_Y70, 0),
   1510 	GPIO_ENTRY('x', EXYNOS5420_GPIO_X00, EXYNOS5420_GPIO_C00, 0),
   1511 	GPIO_ENTRY('c', EXYNOS5420_GPIO_C00, EXYNOS5420_GPIO_D10, 0),
   1512 	GPIO_ENTRY('d', EXYNOS5420_GPIO_D10, EXYNOS5420_GPIO_Y00, 010),
   1513 	GPIO_ENTRY('y', EXYNOS5420_GPIO_Y00, EXYNOS5420_GPIO_E00, 0),
   1514 	GPIO_ENTRY('e', EXYNOS5420_GPIO_E00, EXYNOS5420_GPIO_F00, 0),
   1515 	GPIO_ENTRY('f', EXYNOS5420_GPIO_F00, EXYNOS5420_GPIO_G00, 0),
   1516 	GPIO_ENTRY('g', EXYNOS5420_GPIO_G00, EXYNOS5420_GPIO_J40, 0),
   1517 	GPIO_ENTRY('j', EXYNOS5420_GPIO_J40, EXYNOS5420_GPIO_Z0, 040),
   1518 	GPIO_ENTRY('z', EXYNOS5420_GPIO_Z0, EXYNOS5420_GPIO_MAX_PORT, 0),
   1519 	{ 0 }
   1520 };
   1521 
   1522 void gpio_cfg_pin(int gpio, int cfg);
   1523 void gpio_set_pull(int gpio, int mode);
   1524 void gpio_set_drv(int gpio, int mode);
   1525 void gpio_set_rate(int gpio, int mode);
   1526 int s5p_gpio_get_pin(unsigned gpio);
   1527 #endif
   1528 
   1529 /* Pin configurations */
   1530 #define S5P_GPIO_INPUT	0x0
   1531 #define S5P_GPIO_OUTPUT	0x1
   1532 #define S5P_GPIO_IRQ	0xf
   1533 #define S5P_GPIO_FUNC(x)	(x)
   1534 
   1535 /* Pull mode */
   1536 #define S5P_GPIO_PULL_NONE	0x0
   1537 #define S5P_GPIO_PULL_DOWN	0x1
   1538 #define S5P_GPIO_PULL_UP	0x3
   1539 
   1540 /* Drive Strength level */
   1541 #define S5P_GPIO_DRV_1X	0x0
   1542 #define S5P_GPIO_DRV_3X	0x1
   1543 #define S5P_GPIO_DRV_2X	0x2
   1544 #define S5P_GPIO_DRV_4X	0x3
   1545 #define S5P_GPIO_DRV_FAST	0x0
   1546 #define S5P_GPIO_DRV_SLOW	0x1
   1547 #endif
   1548