/*
 * (C) Copyright 2010 Samsung Electronics
 * Minkyu Kang <mk7.kang@samsung.com>
 *
 * SPDX-License-Identifier:	GPL-2.0+
 */

#ifndef __ASM_ARCH_GPIO_H
#define __ASM_ARCH_GPIO_H

#ifndef __ASSEMBLY__
struct s5p_gpio_bank {
	unsigned int	con;
	unsigned int	dat;
	unsigned int	pull;
	unsigned int	drv;
	unsigned int	pdn_con;
	unsigned int	pdn_pull;
	unsigned char	res1[8];
};

/* GPIO pins per bank  */
#define GPIO_PER_BANK 8

/* A list of valid GPIO numbers for the asm-generic/gpio.h interface */
enum exynos4_gpio_pin {
	/* GPIO_PART1_STARTS */
	EXYNOS4_GPIO_A00,		/* 0 */
	EXYNOS4_GPIO_A01,
	EXYNOS4_GPIO_A02,
	EXYNOS4_GPIO_A03,
	EXYNOS4_GPIO_A04,
	EXYNOS4_GPIO_A05,
	EXYNOS4_GPIO_A06,
	EXYNOS4_GPIO_A07,
	EXYNOS4_GPIO_A10,		/* 8 */
	EXYNOS4_GPIO_A11,
	EXYNOS4_GPIO_A12,
	EXYNOS4_GPIO_A13,
	EXYNOS4_GPIO_A14,
	EXYNOS4_GPIO_A15,
	EXYNOS4_GPIO_A16,
	EXYNOS4_GPIO_A17,
	EXYNOS4_GPIO_B0,		/* 16 0x10 */
	EXYNOS4_GPIO_B1,
	EXYNOS4_GPIO_B2,
	EXYNOS4_GPIO_B3,
	EXYNOS4_GPIO_B4,
	EXYNOS4_GPIO_B5,
	EXYNOS4_GPIO_B6,
	EXYNOS4_GPIO_B7,
	EXYNOS4_GPIO_C00,		/* 24 0x18 */
	EXYNOS4_GPIO_C01,
	EXYNOS4_GPIO_C02,
	EXYNOS4_GPIO_C03,
	EXYNOS4_GPIO_C04,
	EXYNOS4_GPIO_C05,
	EXYNOS4_GPIO_C06,
	EXYNOS4_GPIO_C07,
	EXYNOS4_GPIO_C10,		/* 32 0x20*/
	EXYNOS4_GPIO_C11,
	EXYNOS4_GPIO_C12,
	EXYNOS4_GPIO_C13,
	EXYNOS4_GPIO_C14,
	EXYNOS4_GPIO_C15,
	EXYNOS4_GPIO_C16,
	EXYNOS4_GPIO_C17,
	EXYNOS4_GPIO_D00,		/* 40 0x28 */
	EXYNOS4_GPIO_D01,
	EXYNOS4_GPIO_D02,
	EXYNOS4_GPIO_D03,
	EXYNOS4_GPIO_D04,
	EXYNOS4_GPIO_D05,
	EXYNOS4_GPIO_D06,
	EXYNOS4_GPIO_D07,
	EXYNOS4_GPIO_D10,		/* 48 0x30 */
	EXYNOS4_GPIO_D11,
	EXYNOS4_GPIO_D12,
	EXYNOS4_GPIO_D13,
	EXYNOS4_GPIO_D14,
	EXYNOS4_GPIO_D15,
	EXYNOS4_GPIO_D16,
	EXYNOS4_GPIO_D17,
	EXYNOS4_GPIO_E00,		/* 56 0x38 */
	EXYNOS4_GPIO_E01,
	EXYNOS4_GPIO_E02,
	EXYNOS4_GPIO_E03,
	EXYNOS4_GPIO_E04,
	EXYNOS4_GPIO_E05,
	EXYNOS4_GPIO_E06,
	EXYNOS4_GPIO_E07,
	EXYNOS4_GPIO_E10,		/* 64 0x40 */
	EXYNOS4_GPIO_E11,
	EXYNOS4_GPIO_E12,
	EXYNOS4_GPIO_E13,
	EXYNOS4_GPIO_E14,
	EXYNOS4_GPIO_E15,
	EXYNOS4_GPIO_E16,
	EXYNOS4_GPIO_E17,
	EXYNOS4_GPIO_E20,		/* 72 0x48 */
	EXYNOS4_GPIO_E21,
	EXYNOS4_GPIO_E22,
	EXYNOS4_GPIO_E23,
	EXYNOS4_GPIO_E24,
	EXYNOS4_GPIO_E25,
	EXYNOS4_GPIO_E26,
	EXYNOS4_GPIO_E27,
	EXYNOS4_GPIO_E30,		/* 80 0x50 */
	EXYNOS4_GPIO_E31,
	EXYNOS4_GPIO_E32,
	EXYNOS4_GPIO_E33,
	EXYNOS4_GPIO_E34,
	EXYNOS4_GPIO_E35,
	EXYNOS4_GPIO_E36,
	EXYNOS4_GPIO_E37,
	EXYNOS4_GPIO_E40,		/* 88 0x58 */
	EXYNOS4_GPIO_E41,
	EXYNOS4_GPIO_E42,
	EXYNOS4_GPIO_E43,
	EXYNOS4_GPIO_E44,
	EXYNOS4_GPIO_E45,
	EXYNOS4_GPIO_E46,
	EXYNOS4_GPIO_E47,
	EXYNOS4_GPIO_F00,		/* 96 0x60 */
	EXYNOS4_GPIO_F01,
	EXYNOS4_GPIO_F02,
	EXYNOS4_GPIO_F03,
	EXYNOS4_GPIO_F04,
	EXYNOS4_GPIO_F05,
	EXYNOS4_GPIO_F06,
	EXYNOS4_GPIO_F07,
	EXYNOS4_GPIO_F10,		/* 104 0x68 */
	EXYNOS4_GPIO_F11,
	EXYNOS4_GPIO_F12,
	EXYNOS4_GPIO_F13,
	EXYNOS4_GPIO_F14,
	EXYNOS4_GPIO_F15,
	EXYNOS4_GPIO_F16,
	EXYNOS4_GPIO_F17,
	EXYNOS4_GPIO_F20,		/* 112 0x70 */
	EXYNOS4_GPIO_F21,
	EXYNOS4_GPIO_F22,
	EXYNOS4_GPIO_F23,
	EXYNOS4_GPIO_F24,
	EXYNOS4_GPIO_F25,
	EXYNOS4_GPIO_F26,
	EXYNOS4_GPIO_F27,
	EXYNOS4_GPIO_F30,		/* 120 0x78 */
	EXYNOS4_GPIO_F31,
	EXYNOS4_GPIO_F32,
	EXYNOS4_GPIO_F33,
	EXYNOS4_GPIO_F34,
	EXYNOS4_GPIO_F35,
	EXYNOS4_GPIO_F36,
	EXYNOS4_GPIO_F37,

	/* GPIO_PART2_STARTS */
	EXYNOS4_GPIO_MAX_PORT_PART_1,	/* 128 0x80 */
	EXYNOS4_GPIO_J00 = EXYNOS4_GPIO_MAX_PORT_PART_1,
	EXYNOS4_GPIO_J01,
	EXYNOS4_GPIO_J02,
	EXYNOS4_GPIO_J03,
	EXYNOS4_GPIO_J04,
	EXYNOS4_GPIO_J05,
	EXYNOS4_GPIO_J06,
	EXYNOS4_GPIO_J07,
	EXYNOS4_GPIO_J10,		/* 136 0x88 */
	EXYNOS4_GPIO_J11,
	EXYNOS4_GPIO_J12,
	EXYNOS4_GPIO_J13,
	EXYNOS4_GPIO_J14,
	EXYNOS4_GPIO_J15,
	EXYNOS4_GPIO_J16,
	EXYNOS4_GPIO_J17,
	EXYNOS4_GPIO_K00,		/* 144 0x90 */
	EXYNOS4_GPIO_K01,
	EXYNOS4_GPIO_K02,
	EXYNOS4_GPIO_K03,
	EXYNOS4_GPIO_K04,
	EXYNOS4_GPIO_K05,
	EXYNOS4_GPIO_K06,
	EXYNOS4_GPIO_K07,
	EXYNOS4_GPIO_K10,		/* 152 0x98 */
	EXYNOS4_GPIO_K11,
	EXYNOS4_GPIO_K12,
	EXYNOS4_GPIO_K13,
	EXYNOS4_GPIO_K14,
	EXYNOS4_GPIO_K15,
	EXYNOS4_GPIO_K16,
	EXYNOS4_GPIO_K17,
	EXYNOS4_GPIO_K20,		/* 160 0xA0 */
	EXYNOS4_GPIO_K21,
	EXYNOS4_GPIO_K22,
	EXYNOS4_GPIO_K23,
	EXYNOS4_GPIO_K24,
	EXYNOS4_GPIO_K25,
	EXYNOS4_GPIO_K26,
	EXYNOS4_GPIO_K27,
	EXYNOS4_GPIO_K30,		/* 168 0xA8 */
	EXYNOS4_GPIO_K31,
	EXYNOS4_GPIO_K32,
	EXYNOS4_GPIO_K33,
	EXYNOS4_GPIO_K34,
	EXYNOS4_GPIO_K35,
	EXYNOS4_GPIO_K36,
	EXYNOS4_GPIO_K37,
	EXYNOS4_GPIO_L00,		/* 176 0xB0 */
	EXYNOS4_GPIO_L01,
	EXYNOS4_GPIO_L02,
	EXYNOS4_GPIO_L03,
	EXYNOS4_GPIO_L04,
	EXYNOS4_GPIO_L05,
	EXYNOS4_GPIO_L06,
	EXYNOS4_GPIO_L07,
	EXYNOS4_GPIO_L10,		/* 184 0xB8 */
	EXYNOS4_GPIO_L11,
	EXYNOS4_GPIO_L12,
	EXYNOS4_GPIO_L13,
	EXYNOS4_GPIO_L14,
	EXYNOS4_GPIO_L15,
	EXYNOS4_GPIO_L16,
	EXYNOS4_GPIO_L17,
	EXYNOS4_GPIO_L20,		/* 192 0xC0 */
	EXYNOS4_GPIO_L21,
	EXYNOS4_GPIO_L22,
	EXYNOS4_GPIO_L23,
	EXYNOS4_GPIO_L24,
	EXYNOS4_GPIO_L25,
	EXYNOS4_GPIO_L26,
	EXYNOS4_GPIO_L27,
	EXYNOS4_GPIO_Y00,		/* 200 0xC8 */
	EXYNOS4_GPIO_Y01,
	EXYNOS4_GPIO_Y02,
	EXYNOS4_GPIO_Y03,
	EXYNOS4_GPIO_Y04,
	EXYNOS4_GPIO_Y05,
	EXYNOS4_GPIO_Y06,
	EXYNOS4_GPIO_Y07,
	EXYNOS4_GPIO_Y10,		/* 208 0xD0 */
	EXYNOS4_GPIO_Y11,
	EXYNOS4_GPIO_Y12,
	EXYNOS4_GPIO_Y13,
	EXYNOS4_GPIO_Y14,
	EXYNOS4_GPIO_Y15,
	EXYNOS4_GPIO_Y16,
	EXYNOS4_GPIO_Y17,
	EXYNOS4_GPIO_Y20,		/* 216 0xD8 */
	EXYNOS4_GPIO_Y21,
	EXYNOS4_GPIO_Y22,
	EXYNOS4_GPIO_Y23,
	EXYNOS4_GPIO_Y24,
	EXYNOS4_GPIO_Y25,
	EXYNOS4_GPIO_Y26,
	EXYNOS4_GPIO_Y27,
	EXYNOS4_GPIO_Y30,		/* 224 0xE0 */
	EXYNOS4_GPIO_Y31,
	EXYNOS4_GPIO_Y32,
	EXYNOS4_GPIO_Y33,
	EXYNOS4_GPIO_Y34,
	EXYNOS4_GPIO_Y35,
	EXYNOS4_GPIO_Y36,
	EXYNOS4_GPIO_Y37,
	EXYNOS4_GPIO_Y40,		/* 232 0xE8 */
	EXYNOS4_GPIO_Y41,
	EXYNOS4_GPIO_Y42,
	EXYNOS4_GPIO_Y43,
	EXYNOS4_GPIO_Y44,
	EXYNOS4_GPIO_Y45,
	EXYNOS4_GPIO_Y46,
	EXYNOS4_GPIO_Y47,
	EXYNOS4_GPIO_Y50,		/* 240 0xF0 */
	EXYNOS4_GPIO_Y51,
	EXYNOS4_GPIO_Y52,
	EXYNOS4_GPIO_Y53,
	EXYNOS4_GPIO_Y54,
	EXYNOS4_GPIO_Y55,
	EXYNOS4_GPIO_Y56,
	EXYNOS4_GPIO_Y57,
	EXYNOS4_GPIO_Y60,		/* 248 0xF8 */
	EXYNOS4_GPIO_Y61,
	EXYNOS4_GPIO_Y62,
	EXYNOS4_GPIO_Y63,
	EXYNOS4_GPIO_Y64,
	EXYNOS4_GPIO_Y65,
	EXYNOS4_GPIO_Y66,
	EXYNOS4_GPIO_Y67,

	/* GPIO_PART2_1 STARTS */
	EXYNOS4_GPIO_MAX_PORT_PART_2_0, /* 256 0x100 */
	EXYNOS4_GPIO_X00 = EXYNOS4_GPIO_MAX_PORT_PART_2_0,
	EXYNOS4_GPIO_X01,
	EXYNOS4_GPIO_X02,
	EXYNOS4_GPIO_X03,
	EXYNOS4_GPIO_X04,
	EXYNOS4_GPIO_X05,
	EXYNOS4_GPIO_X06,
	EXYNOS4_GPIO_X07,
	EXYNOS4_GPIO_X10,		/* 264 0x108 */
	EXYNOS4_GPIO_X11,
	EXYNOS4_GPIO_X12,
	EXYNOS4_GPIO_X13,
	EXYNOS4_GPIO_X14,
	EXYNOS4_GPIO_X15,
	EXYNOS4_GPIO_X16,
	EXYNOS4_GPIO_X17,
	EXYNOS4_GPIO_X20,		/* 272 0x110 */
	EXYNOS4_GPIO_X21,
	EXYNOS4_GPIO_X22,
	EXYNOS4_GPIO_X23,
	EXYNOS4_GPIO_X24,
	EXYNOS4_GPIO_X25,
	EXYNOS4_GPIO_X26,
	EXYNOS4_GPIO_X27,
	EXYNOS4_GPIO_X30,		/* 280 0x118 */
	EXYNOS4_GPIO_X31,
	EXYNOS4_GPIO_X32,
	EXYNOS4_GPIO_X33,
	EXYNOS4_GPIO_X34,
	EXYNOS4_GPIO_X35,
	EXYNOS4_GPIO_X36,
	EXYNOS4_GPIO_X37,

	/* GPIO_PART3_STARTS */
	EXYNOS4_GPIO_MAX_PORT_PART_2_1,	/* 288 0x120 */
	EXYNOS4_GPIO_Z0 = EXYNOS4_GPIO_MAX_PORT_PART_2_1,
	EXYNOS4_GPIO_Z1,
	EXYNOS4_GPIO_Z2,
	EXYNOS4_GPIO_Z3,
	EXYNOS4_GPIO_Z4,
	EXYNOS4_GPIO_Z5,
	EXYNOS4_GPIO_Z6,
	EXYNOS4_GPIO_Z7,

	EXYNOS4_GPIO_MAX_PORT
};

enum exynos4X12_gpio_pin {
	/* EXYNOS4X12_GPIO_PART1_0 starts here */
	EXYNOS4X12_GPIO_A00,		/* 0 */
	EXYNOS4X12_GPIO_A01,
	EXYNOS4X12_GPIO_A02,
	EXYNOS4X12_GPIO_A03,
	EXYNOS4X12_GPIO_A04,
	EXYNOS4X12_GPIO_A05,
	EXYNOS4X12_GPIO_A06,
	EXYNOS4X12_GPIO_A07,
	EXYNOS4X12_GPIO_A10,		/* 8 */
	EXYNOS4X12_GPIO_A11,
	EXYNOS4X12_GPIO_A12,
	EXYNOS4X12_GPIO_A13,
	EXYNOS4X12_GPIO_A14,
	EXYNOS4X12_GPIO_A15,
	EXYNOS4X12_GPIO_A16,
	EXYNOS4X12_GPIO_A17,
	EXYNOS4X12_GPIO_B0,		/* 16 0x10 */
	EXYNOS4X12_GPIO_B1,
	EXYNOS4X12_GPIO_B2,
	EXYNOS4X12_GPIO_B3,
	EXYNOS4X12_GPIO_B4,
	EXYNOS4X12_GPIO_B5,
	EXYNOS4X12_GPIO_B6,
	EXYNOS4X12_GPIO_B7,
	EXYNOS4X12_GPIO_C00,		/* 24 0x18 */
	EXYNOS4X12_GPIO_C01,
	EXYNOS4X12_GPIO_C02,
	EXYNOS4X12_GPIO_C03,
	EXYNOS4X12_GPIO_C04,
	EXYNOS4X12_GPIO_C05,
	EXYNOS4X12_GPIO_C06,
	EXYNOS4X12_GPIO_C07,
	EXYNOS4X12_GPIO_C10,		/* 32 0x20 */
	EXYNOS4X12_GPIO_C11,
	EXYNOS4X12_GPIO_C12,
	EXYNOS4X12_GPIO_C13,
	EXYNOS4X12_GPIO_C14,
	EXYNOS4X12_GPIO_C15,
	EXYNOS4X12_GPIO_C16,
	EXYNOS4X12_GPIO_C17,
	EXYNOS4X12_GPIO_D00,		/* 40 0x28 */
	EXYNOS4X12_GPIO_D01,
	EXYNOS4X12_GPIO_D02,
	EXYNOS4X12_GPIO_D03,
	EXYNOS4X12_GPIO_D04,
	EXYNOS4X12_GPIO_D05,
	EXYNOS4X12_GPIO_D06,
	EXYNOS4X12_GPIO_D07,
	EXYNOS4X12_GPIO_D10,		/* 48 0x30 */
	EXYNOS4X12_GPIO_D11,
	EXYNOS4X12_GPIO_D12,
	EXYNOS4X12_GPIO_D13,
	EXYNOS4X12_GPIO_D14,
	EXYNOS4X12_GPIO_D15,
	EXYNOS4X12_GPIO_D16,
	EXYNOS4X12_GPIO_D17,
	EXYNOS4X12_GPIO_MAX_PORT_PART_1_0, /* 56 0x38 */
	/* EXYNOS4X12_GPIO_PART1_1 starts here */
	EXYNOS4X12_GPIO_F00 = EXYNOS4X12_GPIO_MAX_PORT_PART_1_0,
	EXYNOS4X12_GPIO_F01,
	EXYNOS4X12_GPIO_F02,
	EXYNOS4X12_GPIO_F03,
	EXYNOS4X12_GPIO_F04,
	EXYNOS4X12_GPIO_F05,
	EXYNOS4X12_GPIO_F06,
	EXYNOS4X12_GPIO_F07,
	EXYNOS4X12_GPIO_F10,		/* 64 0x40 */
	EXYNOS4X12_GPIO_F11,
	EXYNOS4X12_GPIO_F12,
	EXYNOS4X12_GPIO_F13,
	EXYNOS4X12_GPIO_F14,
	EXYNOS4X12_GPIO_F15,
	EXYNOS4X12_GPIO_F16,
	EXYNOS4X12_GPIO_F17,
	EXYNOS4X12_GPIO_F20,		/* 72 0x48 */
	EXYNOS4X12_GPIO_F21,
	EXYNOS4X12_GPIO_F22,
	EXYNOS4X12_GPIO_F23,
	EXYNOS4X12_GPIO_F24,
	EXYNOS4X12_GPIO_F25,
	EXYNOS4X12_GPIO_F26,
	EXYNOS4X12_GPIO_F27,
	EXYNOS4X12_GPIO_F30,		/* 80 0x50 */
	EXYNOS4X12_GPIO_F31,
	EXYNOS4X12_GPIO_F32,
	EXYNOS4X12_GPIO_F33,
	EXYNOS4X12_GPIO_F34,
	EXYNOS4X12_GPIO_F35,
	EXYNOS4X12_GPIO_F36,
	EXYNOS4X12_GPIO_F37,
	EXYNOS4X12_GPIO_MAX_PORT_PART_1_1, /* 88 0x58 */
	/* EXYNOS4X12_GPIO_PART1_2 starts here */
	EXYNOS4X12_GPIO_J00 = EXYNOS4X12_GPIO_MAX_PORT_PART_1_1,
	EXYNOS4X12_GPIO_J01,
	EXYNOS4X12_GPIO_J02,
	EXYNOS4X12_GPIO_J03,
	EXYNOS4X12_GPIO_J04,
	EXYNOS4X12_GPIO_J05,
	EXYNOS4X12_GPIO_J06,
	EXYNOS4X12_GPIO_J07,
	EXYNOS4X12_GPIO_J10,		/* 96 0x60 */
	EXYNOS4X12_GPIO_J11,
	EXYNOS4X12_GPIO_J12,
	EXYNOS4X12_GPIO_J13,
	EXYNOS4X12_GPIO_J14,
	EXYNOS4X12_GPIO_J15,
	EXYNOS4X12_GPIO_J16,
	EXYNOS4X12_GPIO_J17,

	/**
	 * EXYNOS4X12_GPIO_PART2_0 is not used
	 * EXYNOS4X12_GPIO_PART2_1 starts here
	 */
	EXYNOS4X12_GPIO_MAX_PORT_PART_1_2, /* 104 0x66 */
	EXYNOS4X12_GPIO_K00 = EXYNOS4X12_GPIO_MAX_PORT_PART_1_2,
	EXYNOS4X12_GPIO_K01,
	EXYNOS4X12_GPIO_K02,
	EXYNOS4X12_GPIO_K03,
	EXYNOS4X12_GPIO_K04,
	EXYNOS4X12_GPIO_K05,
	EXYNOS4X12_GPIO_K06,
	EXYNOS4X12_GPIO_K07,
	EXYNOS4X12_GPIO_K10,		/* 112 0x70 */
	EXYNOS4X12_GPIO_K11,
	EXYNOS4X12_GPIO_K12,
	EXYNOS4X12_GPIO_K13,
	EXYNOS4X12_GPIO_K14,
	EXYNOS4X12_GPIO_K15,
	EXYNOS4X12_GPIO_K16,
	EXYNOS4X12_GPIO_K17,
	EXYNOS4X12_GPIO_K20,		/* 120 0x78 */
	EXYNOS4X12_GPIO_K21,
	EXYNOS4X12_GPIO_K22,
	EXYNOS4X12_GPIO_K23,
	EXYNOS4X12_GPIO_K24,
	EXYNOS4X12_GPIO_K25,
	EXYNOS4X12_GPIO_K26,
	EXYNOS4X12_GPIO_K27,
	EXYNOS4X12_GPIO_K30,		/* 128 0x80 */
	EXYNOS4X12_GPIO_K31,
	EXYNOS4X12_GPIO_K32,
	EXYNOS4X12_GPIO_K33,
	EXYNOS4X12_GPIO_K34,
	EXYNOS4X12_GPIO_K35,
	EXYNOS4X12_GPIO_K36,
	EXYNOS4X12_GPIO_K37,
	EXYNOS4X12_GPIO_L00,		/* 136 0x88 */
	EXYNOS4X12_GPIO_L01,
	EXYNOS4X12_GPIO_L02,
	EXYNOS4X12_GPIO_L03,
	EXYNOS4X12_GPIO_L04,
	EXYNOS4X12_GPIO_L05,
	EXYNOS4X12_GPIO_L06,
	EXYNOS4X12_GPIO_L07,
	EXYNOS4X12_GPIO_L10,		/* 144 0x90 */
	EXYNOS4X12_GPIO_L11,
	EXYNOS4X12_GPIO_L12,
	EXYNOS4X12_GPIO_L13,
	EXYNOS4X12_GPIO_L14,
	EXYNOS4X12_GPIO_L15,
	EXYNOS4X12_GPIO_L16,
	EXYNOS4X12_GPIO_L17,
	EXYNOS4X12_GPIO_L20,		/* 152 0x98 */
	EXYNOS4X12_GPIO_L21,
	EXYNOS4X12_GPIO_L22,
	EXYNOS4X12_GPIO_L23,
	EXYNOS4X12_GPIO_L24,
	EXYNOS4X12_GPIO_L25,
	EXYNOS4X12_GPIO_L26,
	EXYNOS4X12_GPIO_L27,
	EXYNOS4X12_GPIO_Y00,		/* 160 0xa0 */
	EXYNOS4X12_GPIO_Y01,
	EXYNOS4X12_GPIO_Y02,
	EXYNOS4X12_GPIO_Y03,
	EXYNOS4X12_GPIO_Y04,
	EXYNOS4X12_GPIO_Y05,
	EXYNOS4X12_GPIO_Y06,
	EXYNOS4X12_GPIO_Y07,
	EXYNOS4X12_GPIO_Y10,		/* 168 0xa8 */
	EXYNOS4X12_GPIO_Y11,
	EXYNOS4X12_GPIO_Y12,
	EXYNOS4X12_GPIO_Y13,
	EXYNOS4X12_GPIO_Y14,
	EXYNOS4X12_GPIO_Y15,
	EXYNOS4X12_GPIO_Y16,
	EXYNOS4X12_GPIO_Y17,
	EXYNOS4X12_GPIO_Y20,		/* 176 0xb0 */
	EXYNOS4X12_GPIO_Y21,
	EXYNOS4X12_GPIO_Y22,
	EXYNOS4X12_GPIO_Y23,
	EXYNOS4X12_GPIO_Y24,
	EXYNOS4X12_GPIO_Y25,
	EXYNOS4X12_GPIO_Y26,
	EXYNOS4X12_GPIO_Y27,
	EXYNOS4X12_GPIO_Y30,		/* 184 0xb8 */
	EXYNOS4X12_GPIO_Y31,
	EXYNOS4X12_GPIO_Y32,
	EXYNOS4X12_GPIO_Y33,
	EXYNOS4X12_GPIO_Y34,
	EXYNOS4X12_GPIO_Y35,
	EXYNOS4X12_GPIO_Y36,
	EXYNOS4X12_GPIO_Y37,
	EXYNOS4X12_GPIO_Y40,		/* 192 0xc0 */
	EXYNOS4X12_GPIO_Y41,
	EXYNOS4X12_GPIO_Y42,
	EXYNOS4X12_GPIO_Y43,
	EXYNOS4X12_GPIO_Y44,
	EXYNOS4X12_GPIO_Y45,
	EXYNOS4X12_GPIO_Y46,
	EXYNOS4X12_GPIO_Y47,
	EXYNOS4X12_GPIO_Y50,		/* 200 0xc8 */
	EXYNOS4X12_GPIO_Y51,
	EXYNOS4X12_GPIO_Y52,
	EXYNOS4X12_GPIO_Y53,
	EXYNOS4X12_GPIO_Y54,
	EXYNOS4X12_GPIO_Y55,
	EXYNOS4X12_GPIO_Y56,
	EXYNOS4X12_GPIO_Y57,
	EXYNOS4X12_GPIO_Y60,		/* 208 0xd0 */
	EXYNOS4X12_GPIO_Y61,
	EXYNOS4X12_GPIO_Y62,
	EXYNOS4X12_GPIO_Y63,
	EXYNOS4X12_GPIO_Y64,
	EXYNOS4X12_GPIO_Y65,
	EXYNOS4X12_GPIO_Y66,
	EXYNOS4X12_GPIO_Y67,
	EXYNOS4X12_GPIO_MAX_PORT_PART_2_1, /* 216 0xd8 */
	/* EXYNOS4X12_GPIO_PART2_2 starts here */
	EXYNOS4X12_GPIO_M00 = EXYNOS4X12_GPIO_MAX_PORT_PART_2_1,
	EXYNOS4X12_GPIO_M01,
	EXYNOS4X12_GPIO_M02,
	EXYNOS4X12_GPIO_M03,
	EXYNOS4X12_GPIO_M04,
	EXYNOS4X12_GPIO_M05,
	EXYNOS4X12_GPIO_M06,
	EXYNOS4X12_GPIO_M07,
	EXYNOS4X12_GPIO_M10,		/* 224 0xe0 */
	EXYNOS4X12_GPIO_M11,
	EXYNOS4X12_GPIO_M12,
	EXYNOS4X12_GPIO_M13,
	EXYNOS4X12_GPIO_M14,
	EXYNOS4X12_GPIO_M15,
	EXYNOS4X12_GPIO_M16,
	EXYNOS4X12_GPIO_M17,
	EXYNOS4X12_GPIO_M20,		/* 232 0xe8 */
	EXYNOS4X12_GPIO_M21,
	EXYNOS4X12_GPIO_M22,
	EXYNOS4X12_GPIO_M23,
	EXYNOS4X12_GPIO_M24,
	EXYNOS4X12_GPIO_M25,
	EXYNOS4X12_GPIO_M26,
	EXYNOS4X12_GPIO_M27,
	EXYNOS4X12_GPIO_M30,		/* 240 0xf0 */
	EXYNOS4X12_GPIO_M31,
	EXYNOS4X12_GPIO_M32,
	EXYNOS4X12_GPIO_M33,
	EXYNOS4X12_GPIO_M34,
	EXYNOS4X12_GPIO_M35,
	EXYNOS4X12_GPIO_M36,
	EXYNOS4X12_GPIO_M37,
	EXYNOS4X12_GPIO_M40,		/* 248 0xf8 */
	EXYNOS4X12_GPIO_M41,
	EXYNOS4X12_GPIO_M42,
	EXYNOS4X12_GPIO_M43,
	EXYNOS4X12_GPIO_M44,
	EXYNOS4X12_GPIO_M45,
	EXYNOS4X12_GPIO_M46,
	EXYNOS4X12_GPIO_M47,
	EXYNOS4X12_GPIO_MAX_PORT_PART_2_2, /* 256 0x100 */
	/* EXYNOS4X12_GPIO_PART2_3 starts here */
	EXYNOS4X12_GPIO_X00 = EXYNOS4X12_GPIO_MAX_PORT_PART_2_2,
	EXYNOS4X12_GPIO_X01,
	EXYNOS4X12_GPIO_X02,
	EXYNOS4X12_GPIO_X03,
	EXYNOS4X12_GPIO_X04,
	EXYNOS4X12_GPIO_X05,
	EXYNOS4X12_GPIO_X06,
	EXYNOS4X12_GPIO_X07,
	EXYNOS4X12_GPIO_X10,		/* 264 0x108 */
	EXYNOS4X12_GPIO_X11,
	EXYNOS4X12_GPIO_X12,
	EXYNOS4X12_GPIO_X13,
	EXYNOS4X12_GPIO_X14,
	EXYNOS4X12_GPIO_X15,
	EXYNOS4X12_GPIO_X16,
	EXYNOS4X12_GPIO_X17,
	EXYNOS4X12_GPIO_X20,		/* 272 0x110 */
	EXYNOS4X12_GPIO_X21,
	EXYNOS4X12_GPIO_X22,
	EXYNOS4X12_GPIO_X23,
	EXYNOS4X12_GPIO_X24,
	EXYNOS4X12_GPIO_X25,
	EXYNOS4X12_GPIO_X26,
	EXYNOS4X12_GPIO_X27,
	EXYNOS4X12_GPIO_X30,		/* 280 0x118 */
	EXYNOS4X12_GPIO_X31,
	EXYNOS4X12_GPIO_X32,
	EXYNOS4X12_GPIO_X33,
	EXYNOS4X12_GPIO_X34,
	EXYNOS4X12_GPIO_X35,
	EXYNOS4X12_GPIO_X36,
	EXYNOS4X12_GPIO_X37,

	/* EXYNOS4X12_GPIO_PART3 starts here */
	EXYNOS4X12_GPIO_MAX_PORT_PART_2_3, /* 288 0x120 */
	EXYNOS4X12_GPIO_Z0 = EXYNOS4X12_GPIO_MAX_PORT_PART_2_3,
	EXYNOS4X12_GPIO_Z1,
	EXYNOS4X12_GPIO_Z2,
	EXYNOS4X12_GPIO_Z3,
	EXYNOS4X12_GPIO_Z4,
	EXYNOS4X12_GPIO_Z5,
	EXYNOS4X12_GPIO_Z6,
	EXYNOS4X12_GPIO_Z7,

	/* EXYNOS4X12_GPIO_PART4 starts here */
	EXYNOS4X12_GPIO_MAX_PORT_PART_3,/* 296 0x128 */
	EXYNOS4X12_GPIO_V00 = EXYNOS4X12_GPIO_MAX_PORT_PART_3,
	EXYNOS4X12_GPIO_V01,
	EXYNOS4X12_GPIO_V02,
	EXYNOS4X12_GPIO_V03,
	EXYNOS4X12_GPIO_V04,
	EXYNOS4X12_GPIO_V05,
	EXYNOS4X12_GPIO_V06,
	EXYNOS4X12_GPIO_V07,
	EXYNOS4X12_GPIO_V10,		/* 304 0x130 */
	EXYNOS4X12_GPIO_V11,
	EXYNOS4X12_GPIO_V12,
	EXYNOS4X12_GPIO_V13,
	EXYNOS4X12_GPIO_V14,
	EXYNOS4X12_GPIO_V15,
	EXYNOS4X12_GPIO_V16,
	EXYNOS4X12_GPIO_V17,
	EXYNOS4X12_GPIO_V20,		/* 312 0x138 */
	EXYNOS4X12_GPIO_V21,
	EXYNOS4X12_GPIO_V22,
	EXYNOS4X12_GPIO_V23,
	EXYNOS4X12_GPIO_V24,
	EXYNOS4X12_GPIO_V25,
	EXYNOS4X12_GPIO_V26,
	EXYNOS4X12_GPIO_V27,
	EXYNOS4X12_GPIO_V30,		/* 320 0x140 */
	EXYNOS4X12_GPIO_V31,
	EXYNOS4X12_GPIO_V32,
	EXYNOS4X12_GPIO_V33,
	EXYNOS4X12_GPIO_V34,
	EXYNOS4X12_GPIO_V35,
	EXYNOS4X12_GPIO_V36,
	EXYNOS4X12_GPIO_V37,
	EXYNOS4X12_GPIO_V40,		/* 328 0x148 */
	EXYNOS4X12_GPIO_V41,
	EXYNOS4X12_GPIO_V42,
	EXYNOS4X12_GPIO_V43,
	EXYNOS4X12_GPIO_V44,
	EXYNOS4X12_GPIO_V45,
	EXYNOS4X12_GPIO_V46,
	EXYNOS4X12_GPIO_V47,

	EXYNOS4X12_GPIO_MAX_PORT
};

enum exynos5_gpio_pin {
	/* GPIO_PART1_STARTS */
	EXYNOS5_GPIO_A00,		/* 0 */
	EXYNOS5_GPIO_A01,
	EXYNOS5_GPIO_A02,
	EXYNOS5_GPIO_A03,
	EXYNOS5_GPIO_A04,
	EXYNOS5_GPIO_A05,
	EXYNOS5_GPIO_A06,
	EXYNOS5_GPIO_A07,
	EXYNOS5_GPIO_A10,		/* 8 */
	EXYNOS5_GPIO_A11,
	EXYNOS5_GPIO_A12,
	EXYNOS5_GPIO_A13,
	EXYNOS5_GPIO_A14,
	EXYNOS5_GPIO_A15,
	EXYNOS5_GPIO_A16,
	EXYNOS5_GPIO_A17,
	EXYNOS5_GPIO_A20,		/* 16 0x10 */
	EXYNOS5_GPIO_A21,
	EXYNOS5_GPIO_A22,
	EXYNOS5_GPIO_A23,
	EXYNOS5_GPIO_A24,
	EXYNOS5_GPIO_A25,
	EXYNOS5_GPIO_A26,
	EXYNOS5_GPIO_A27,
	EXYNOS5_GPIO_B00,		/* 24 0x18 */
	EXYNOS5_GPIO_B01,
	EXYNOS5_GPIO_B02,
	EXYNOS5_GPIO_B03,
	EXYNOS5_GPIO_B04,
	EXYNOS5_GPIO_B05,
	EXYNOS5_GPIO_B06,
	EXYNOS5_GPIO_B07,
	EXYNOS5_GPIO_B10,		/* 32 0x20 */
	EXYNOS5_GPIO_B11,
	EXYNOS5_GPIO_B12,
	EXYNOS5_GPIO_B13,
	EXYNOS5_GPIO_B14,
	EXYNOS5_GPIO_B15,
	EXYNOS5_GPIO_B16,
	EXYNOS5_GPIO_B17,
	EXYNOS5_GPIO_B20,		/* 40 0x28 */
	EXYNOS5_GPIO_B21,
	EXYNOS5_GPIO_B22,
	EXYNOS5_GPIO_B23,
	EXYNOS5_GPIO_B24,
	EXYNOS5_GPIO_B25,
	EXYNOS5_GPIO_B26,
	EXYNOS5_GPIO_B27,
	EXYNOS5_GPIO_B30,		/* 48 0x39 */
	EXYNOS5_GPIO_B31,
	EXYNOS5_GPIO_B32,
	EXYNOS5_GPIO_B33,
	EXYNOS5_GPIO_B34,
	EXYNOS5_GPIO_B35,
	EXYNOS5_GPIO_B36,
	EXYNOS5_GPIO_B37,
	EXYNOS5_GPIO_C00,		/* 56 0x38 */
	EXYNOS5_GPIO_C01,
	EXYNOS5_GPIO_C02,
	EXYNOS5_GPIO_C03,
	EXYNOS5_GPIO_C04,
	EXYNOS5_GPIO_C05,
	EXYNOS5_GPIO_C06,
	EXYNOS5_GPIO_C07,
	EXYNOS5_GPIO_C10,		/* 64 0x40 */
	EXYNOS5_GPIO_C11,
	EXYNOS5_GPIO_C12,
	EXYNOS5_GPIO_C13,
	EXYNOS5_GPIO_C14,
	EXYNOS5_GPIO_C15,
	EXYNOS5_GPIO_C16,
	EXYNOS5_GPIO_C17,
	EXYNOS5_GPIO_C20,		/* 72 0x48 */
	EXYNOS5_GPIO_C21,
	EXYNOS5_GPIO_C22,
	EXYNOS5_GPIO_C23,
	EXYNOS5_GPIO_C24,
	EXYNOS5_GPIO_C25,
	EXYNOS5_GPIO_C26,
	EXYNOS5_GPIO_C27,
	EXYNOS5_GPIO_C30,		/* 80 0x50 */
	EXYNOS5_GPIO_C31,
	EXYNOS5_GPIO_C32,
	EXYNOS5_GPIO_C33,
	EXYNOS5_GPIO_C34,
	EXYNOS5_GPIO_C35,
	EXYNOS5_GPIO_C36,
	EXYNOS5_GPIO_C37,
	EXYNOS5_GPIO_D00,		/* 88 0x58 */
	EXYNOS5_GPIO_D01,
	EXYNOS5_GPIO_D02,
	EXYNOS5_GPIO_D03,
	EXYNOS5_GPIO_D04,
	EXYNOS5_GPIO_D05,
	EXYNOS5_GPIO_D06,
	EXYNOS5_GPIO_D07,
	EXYNOS5_GPIO_D10,		/* 96 0x60 */
	EXYNOS5_GPIO_D11,
	EXYNOS5_GPIO_D12,
	EXYNOS5_GPIO_D13,
	EXYNOS5_GPIO_D14,
	EXYNOS5_GPIO_D15,
	EXYNOS5_GPIO_D16,
	EXYNOS5_GPIO_D17,
	EXYNOS5_GPIO_Y00,		/* 104 0x68 */
	EXYNOS5_GPIO_Y01,
	EXYNOS5_GPIO_Y02,
	EXYNOS5_GPIO_Y03,
	EXYNOS5_GPIO_Y04,
	EXYNOS5_GPIO_Y05,
	EXYNOS5_GPIO_Y06,
	EXYNOS5_GPIO_Y07,
	EXYNOS5_GPIO_Y10,		/* 112 0x70 */
	EXYNOS5_GPIO_Y11,
	EXYNOS5_GPIO_Y12,
	EXYNOS5_GPIO_Y13,
	EXYNOS5_GPIO_Y14,
	EXYNOS5_GPIO_Y15,
	EXYNOS5_GPIO_Y16,
	EXYNOS5_GPIO_Y17,
	EXYNOS5_GPIO_Y20,		/* 120 0x78 */
	EXYNOS5_GPIO_Y21,
	EXYNOS5_GPIO_Y22,
	EXYNOS5_GPIO_Y23,
	EXYNOS5_GPIO_Y24,
	EXYNOS5_GPIO_Y25,
	EXYNOS5_GPIO_Y26,
	EXYNOS5_GPIO_Y27,
	EXYNOS5_GPIO_Y30,		/* 128 0x80 */
	EXYNOS5_GPIO_Y31,
	EXYNOS5_GPIO_Y32,
	EXYNOS5_GPIO_Y33,
	EXYNOS5_GPIO_Y34,
	EXYNOS5_GPIO_Y35,
	EXYNOS5_GPIO_Y36,
	EXYNOS5_GPIO_Y37,
	EXYNOS5_GPIO_Y40,		/* 136 0x88 */
	EXYNOS5_GPIO_Y41,
	EXYNOS5_GPIO_Y42,
	EXYNOS5_GPIO_Y43,
	EXYNOS5_GPIO_Y44,
	EXYNOS5_GPIO_Y45,
	EXYNOS5_GPIO_Y46,
	EXYNOS5_GPIO_Y47,
	EXYNOS5_GPIO_Y50,		/* 144 0x90 */
	EXYNOS5_GPIO_Y51,
	EXYNOS5_GPIO_Y52,
	EXYNOS5_GPIO_Y53,
	EXYNOS5_GPIO_Y54,
	EXYNOS5_GPIO_Y55,
	EXYNOS5_GPIO_Y56,
	EXYNOS5_GPIO_Y57,
	EXYNOS5_GPIO_Y60,		/* 152 0x98 */
	EXYNOS5_GPIO_Y61,
	EXYNOS5_GPIO_Y62,
	EXYNOS5_GPIO_Y63,
	EXYNOS5_GPIO_Y64,
	EXYNOS5_GPIO_Y65,
	EXYNOS5_GPIO_Y66,
	EXYNOS5_GPIO_Y67,

	/* GPIO_PART2_STARTS */
	EXYNOS5_GPIO_MAX_PORT_PART_1,	/* 160 0xa0 */
	EXYNOS5_GPIO_C40 = EXYNOS5_GPIO_MAX_PORT_PART_1,
	EXYNOS5_GPIO_C41,
	EXYNOS5_GPIO_C42,
	EXYNOS5_GPIO_C43,
	EXYNOS5_GPIO_C44,
	EXYNOS5_GPIO_C45,
	EXYNOS5_GPIO_C46,
	EXYNOS5_GPIO_C47,

	/* GPIO_PART3_STARTS */
	EXYNOS5_GPIO_MAX_PORT_PART_2,	/* 168 0xa8 */
	EXYNOS5_GPIO_X00 = EXYNOS5_GPIO_MAX_PORT_PART_2,
	EXYNOS5_GPIO_X01,
	EXYNOS5_GPIO_X02,
	EXYNOS5_GPIO_X03,
	EXYNOS5_GPIO_X04,
	EXYNOS5_GPIO_X05,
	EXYNOS5_GPIO_X06,
	EXYNOS5_GPIO_X07,
	EXYNOS5_GPIO_X10,		/* 176 0xb0 */
	EXYNOS5_GPIO_X11,
	EXYNOS5_GPIO_X12,
	EXYNOS5_GPIO_X13,
	EXYNOS5_GPIO_X14,
	EXYNOS5_GPIO_X15,
	EXYNOS5_GPIO_X16,
	EXYNOS5_GPIO_X17,
	EXYNOS5_GPIO_X20,		/* 184 0xb8 */
	EXYNOS5_GPIO_X21,
	EXYNOS5_GPIO_X22,
	EXYNOS5_GPIO_X23,
	EXYNOS5_GPIO_X24,
	EXYNOS5_GPIO_X25,
	EXYNOS5_GPIO_X26,
	EXYNOS5_GPIO_X27,
	EXYNOS5_GPIO_X30,		/* 192 0xc0 */
	EXYNOS5_GPIO_X31,
	EXYNOS5_GPIO_X32,
	EXYNOS5_GPIO_X33,
	EXYNOS5_GPIO_X34,
	EXYNOS5_GPIO_X35,
	EXYNOS5_GPIO_X36,
	EXYNOS5_GPIO_X37,

	/* GPIO_PART4_STARTS */
	EXYNOS5_GPIO_MAX_PORT_PART_3,	/* 200 0xc8 */
	EXYNOS5_GPIO_E00 = EXYNOS5_GPIO_MAX_PORT_PART_3,
	EXYNOS5_GPIO_E01,
	EXYNOS5_GPIO_E02,
	EXYNOS5_GPIO_E03,
	EXYNOS5_GPIO_E04,
	EXYNOS5_GPIO_E05,
	EXYNOS5_GPIO_E06,
	EXYNOS5_GPIO_E07,
	EXYNOS5_GPIO_E10,		/* 208 0xd0 */
	EXYNOS5_GPIO_E11,
	EXYNOS5_GPIO_E12,
	EXYNOS5_GPIO_E13,
	EXYNOS5_GPIO_E14,
	EXYNOS5_GPIO_E15,
	EXYNOS5_GPIO_E16,
	EXYNOS5_GPIO_E17,
	EXYNOS5_GPIO_F00,		/* 216 0xd8 */
	EXYNOS5_GPIO_F01,
	EXYNOS5_GPIO_F02,
	EXYNOS5_GPIO_F03,
	EXYNOS5_GPIO_F04,
	EXYNOS5_GPIO_F05,
	EXYNOS5_GPIO_F06,
	EXYNOS5_GPIO_F07,
	EXYNOS5_GPIO_F10,		/* 224 0xe0 */
	EXYNOS5_GPIO_F11,
	EXYNOS5_GPIO_F12,
	EXYNOS5_GPIO_F13,
	EXYNOS5_GPIO_F14,
	EXYNOS5_GPIO_F15,
	EXYNOS5_GPIO_F16,
	EXYNOS5_GPIO_F17,
	EXYNOS5_GPIO_G00,		/* 232 0xe8 */
	EXYNOS5_GPIO_G01,
	EXYNOS5_GPIO_G02,
	EXYNOS5_GPIO_G03,
	EXYNOS5_GPIO_G04,
	EXYNOS5_GPIO_G05,
	EXYNOS5_GPIO_G06,
	EXYNOS5_GPIO_G07,
	EXYNOS5_GPIO_G10,		/* 240 0xf0 */
	EXYNOS5_GPIO_G11,
	EXYNOS5_GPIO_G12,
	EXYNOS5_GPIO_G13,
	EXYNOS5_GPIO_G14,
	EXYNOS5_GPIO_G15,
	EXYNOS5_GPIO_G16,
	EXYNOS5_GPIO_G17,
	EXYNOS5_GPIO_G20,		/* 248 0xf8 */
	EXYNOS5_GPIO_G21,
	EXYNOS5_GPIO_G22,
	EXYNOS5_GPIO_G23,
	EXYNOS5_GPIO_G24,
	EXYNOS5_GPIO_G25,
	EXYNOS5_GPIO_G26,
	EXYNOS5_GPIO_G27,
	EXYNOS5_GPIO_H00,		/* 256 0x100 */
	EXYNOS5_GPIO_H01,
	EXYNOS5_GPIO_H02,
	EXYNOS5_GPIO_H03,
	EXYNOS5_GPIO_H04,
	EXYNOS5_GPIO_H05,
	EXYNOS5_GPIO_H06,
	EXYNOS5_GPIO_H07,
	EXYNOS5_GPIO_H10,		/* 264 0x108 */
	EXYNOS5_GPIO_H11,
	EXYNOS5_GPIO_H12,
	EXYNOS5_GPIO_H13,
	EXYNOS5_GPIO_H14,
	EXYNOS5_GPIO_H15,
	EXYNOS5_GPIO_H16,
	EXYNOS5_GPIO_H17,

	/* GPIO_PART4_STARTS */
	EXYNOS5_GPIO_MAX_PORT_PART_4,	/* 272 0x110 */
	EXYNOS5_GPIO_V00 = EXYNOS5_GPIO_MAX_PORT_PART_4,
	EXYNOS5_GPIO_V01,
	EXYNOS5_GPIO_V02,
	EXYNOS5_GPIO_V03,
	EXYNOS5_GPIO_V04,
	EXYNOS5_GPIO_V05,
	EXYNOS5_GPIO_V06,
	EXYNOS5_GPIO_V07,
	EXYNOS5_GPIO_V10,		/* 280 0x118 */
	EXYNOS5_GPIO_V11,
	EXYNOS5_GPIO_V12,
	EXYNOS5_GPIO_V13,
	EXYNOS5_GPIO_V14,
	EXYNOS5_GPIO_V15,
	EXYNOS5_GPIO_V16,
	EXYNOS5_GPIO_V17,

	/* GPIO_PART5_STARTS */
	EXYNOS5_GPIO_MAX_PORT_PART_5,	/* 288 0x120 */
	EXYNOS5_GPIO_V20 = EXYNOS5_GPIO_MAX_PORT_PART_5,
	EXYNOS5_GPIO_V21,
	EXYNOS5_GPIO_V22,
	EXYNOS5_GPIO_V23,
	EXYNOS5_GPIO_V24,
	EXYNOS5_GPIO_V25,
	EXYNOS5_GPIO_V26,
	EXYNOS5_GPIO_V27,
	EXYNOS5_GPIO_V30,		/* 296 0x128 */
	EXYNOS5_GPIO_V31,
	EXYNOS5_GPIO_V32,
	EXYNOS5_GPIO_V33,
	EXYNOS5_GPIO_V34,
	EXYNOS5_GPIO_V35,
	EXYNOS5_GPIO_V36,
	EXYNOS5_GPIO_V37,

	/* GPIO_PART6_STARTS */
	EXYNOS5_GPIO_MAX_PORT_PART_6,	/* 304 0x130 */
	EXYNOS5_GPIO_V40 = EXYNOS5_GPIO_MAX_PORT_PART_6,
	EXYNOS5_GPIO_V41,
	EXYNOS5_GPIO_V42,
	EXYNOS5_GPIO_V43,
	EXYNOS5_GPIO_V44,
	EXYNOS5_GPIO_V45,
	EXYNOS5_GPIO_V46,
	EXYNOS5_GPIO_V47,

	/* GPIO_PART7_STARTS */		/* 312 0x138 */
	EXYNOS5_GPIO_MAX_PORT_PART_7,
	EXYNOS5_GPIO_Z0 = EXYNOS5_GPIO_MAX_PORT_PART_7,
	EXYNOS5_GPIO_Z1,
	EXYNOS5_GPIO_Z2,
	EXYNOS5_GPIO_Z3,
	EXYNOS5_GPIO_Z4,
	EXYNOS5_GPIO_Z5,
	EXYNOS5_GPIO_Z6,
	EXYNOS5_GPIO_MAX_PORT
};

enum exynos5420_gpio_pin {
	/* GPIO_PART1_STARTS */
	EXYNOS5420_GPIO_A00,		/* 0 */
	EXYNOS5420_GPIO_A01,
	EXYNOS5420_GPIO_A02,
	EXYNOS5420_GPIO_A03,
	EXYNOS5420_GPIO_A04,
	EXYNOS5420_GPIO_A05,
	EXYNOS5420_GPIO_A06,
	EXYNOS5420_GPIO_A07,
	EXYNOS5420_GPIO_A10,		/* 8 */
	EXYNOS5420_GPIO_A11,
	EXYNOS5420_GPIO_A12,
	EXYNOS5420_GPIO_A13,
	EXYNOS5420_GPIO_A14,
	EXYNOS5420_GPIO_A15,
	EXYNOS5420_GPIO_A16,
	EXYNOS5420_GPIO_A17,
	EXYNOS5420_GPIO_A20,		/* 16 0x10 */
	EXYNOS5420_GPIO_A21,
	EXYNOS5420_GPIO_A22,
	EXYNOS5420_GPIO_A23,
	EXYNOS5420_GPIO_A24,
	EXYNOS5420_GPIO_A25,
	EXYNOS5420_GPIO_A26,
	EXYNOS5420_GPIO_A27,
	EXYNOS5420_GPIO_B00,		/* 24 0x18 */
	EXYNOS5420_GPIO_B01,
	EXYNOS5420_GPIO_B02,
	EXYNOS5420_GPIO_B03,
	EXYNOS5420_GPIO_B04,
	EXYNOS5420_GPIO_B05,
	EXYNOS5420_GPIO_B06,
	EXYNOS5420_GPIO_B07,
	EXYNOS5420_GPIO_B10,		/* 32 0x20 */
	EXYNOS5420_GPIO_B11,
	EXYNOS5420_GPIO_B12,
	EXYNOS5420_GPIO_B13,
	EXYNOS5420_GPIO_B14,
	EXYNOS5420_GPIO_B15,
	EXYNOS5420_GPIO_B16,
	EXYNOS5420_GPIO_B17,
	EXYNOS5420_GPIO_B20,		/* 40 0x28 */
	EXYNOS5420_GPIO_B21,
	EXYNOS5420_GPIO_B22,
	EXYNOS5420_GPIO_B23,
	EXYNOS5420_GPIO_B24,
	EXYNOS5420_GPIO_B25,
	EXYNOS5420_GPIO_B26,
	EXYNOS5420_GPIO_B27,
	EXYNOS5420_GPIO_B30,		/* 48 0x30 */
	EXYNOS5420_GPIO_B31,
	EXYNOS5420_GPIO_B32,
	EXYNOS5420_GPIO_B33,
	EXYNOS5420_GPIO_B34,
	EXYNOS5420_GPIO_B35,
	EXYNOS5420_GPIO_B36,
	EXYNOS5420_GPIO_B37,
	EXYNOS5420_GPIO_B40,		/* 56 0x38 */
	EXYNOS5420_GPIO_B41,
	EXYNOS5420_GPIO_B42,
	EXYNOS5420_GPIO_B43,
	EXYNOS5420_GPIO_B44,
	EXYNOS5420_GPIO_B45,
	EXYNOS5420_GPIO_B46,
	EXYNOS5420_GPIO_B47,
	EXYNOS5420_GPIO_H00,		/* 64 0x40 */
	EXYNOS5420_GPIO_H01,
	EXYNOS5420_GPIO_H02,
	EXYNOS5420_GPIO_H03,
	EXYNOS5420_GPIO_H04,
	EXYNOS5420_GPIO_H05,
	EXYNOS5420_GPIO_H06,
	EXYNOS5420_GPIO_H07,

	/* GPIO PART 2 STARTS*/
	EXYNOS5420_GPIO_MAX_PORT_PART_1,/* 72 0x48 */
	EXYNOS5420_GPIO_Y70 = EXYNOS5420_GPIO_MAX_PORT_PART_1,
	EXYNOS5420_GPIO_Y71,
	EXYNOS5420_GPIO_Y72,
	EXYNOS5420_GPIO_Y73,
	EXYNOS5420_GPIO_Y74,
	EXYNOS5420_GPIO_Y75,
	EXYNOS5420_GPIO_Y76,
	EXYNOS5420_GPIO_Y77,

	/* GPIO PART 3 STARTS*/
	EXYNOS5420_GPIO_MAX_PORT_PART_2,/* 80 0x50 */
	EXYNOS5420_GPIO_X00 = EXYNOS5420_GPIO_MAX_PORT_PART_2,
	EXYNOS5420_GPIO_X01,
	EXYNOS5420_GPIO_X02,
	EXYNOS5420_GPIO_X03,
	EXYNOS5420_GPIO_X04,
	EXYNOS5420_GPIO_X05,
	EXYNOS5420_GPIO_X06,
	EXYNOS5420_GPIO_X07,
	EXYNOS5420_GPIO_X10,		/* 88 0x58 */
	EXYNOS5420_GPIO_X11,
	EXYNOS5420_GPIO_X12,
	EXYNOS5420_GPIO_X13,
	EXYNOS5420_GPIO_X14,
	EXYNOS5420_GPIO_X15,
	EXYNOS5420_GPIO_X16,
	EXYNOS5420_GPIO_X17,
	EXYNOS5420_GPIO_X20,		/* 96 0x60 */
	EXYNOS5420_GPIO_X21,
	EXYNOS5420_GPIO_X22,
	EXYNOS5420_GPIO_X23,
	EXYNOS5420_GPIO_X24,
	EXYNOS5420_GPIO_X25,
	EXYNOS5420_GPIO_X26,
	EXYNOS5420_GPIO_X27,
	EXYNOS5420_GPIO_X30,		/* 104 0x68 */
	EXYNOS5420_GPIO_X31,
	EXYNOS5420_GPIO_X32,
	EXYNOS5420_GPIO_X33,
	EXYNOS5420_GPIO_X34,
	EXYNOS5420_GPIO_X35,
	EXYNOS5420_GPIO_X36,
	EXYNOS5420_GPIO_X37,

	/* GPIO PART 4 STARTS*/
	EXYNOS5420_GPIO_MAX_PORT_PART_3,/* 112 0x70 */
	EXYNOS5420_GPIO_C00 = EXYNOS5420_GPIO_MAX_PORT_PART_3,
	EXYNOS5420_GPIO_C01,
	EXYNOS5420_GPIO_C02,
	EXYNOS5420_GPIO_C03,
	EXYNOS5420_GPIO_C04,
	EXYNOS5420_GPIO_C05,
	EXYNOS5420_GPIO_C06,
	EXYNOS5420_GPIO_C07,
	EXYNOS5420_GPIO_C10,		/* 120 0x78 */
	EXYNOS5420_GPIO_C11,
	EXYNOS5420_GPIO_C12,
	EXYNOS5420_GPIO_C13,
	EXYNOS5420_GPIO_C14,
	EXYNOS5420_GPIO_C15,
	EXYNOS5420_GPIO_C16,
	EXYNOS5420_GPIO_C17,
	EXYNOS5420_GPIO_C20,		/* 128 0x80 */
	EXYNOS5420_GPIO_C21,
	EXYNOS5420_GPIO_C22,
	EXYNOS5420_GPIO_C23,
	EXYNOS5420_GPIO_C24,
	EXYNOS5420_GPIO_C25,
	EXYNOS5420_GPIO_C26,
	EXYNOS5420_GPIO_C27,
	EXYNOS5420_GPIO_C30,		/* 136 0x88 */
	EXYNOS5420_GPIO_C31,
	EXYNOS5420_GPIO_C32,
	EXYNOS5420_GPIO_C33,
	EXYNOS5420_GPIO_C34,
	EXYNOS5420_GPIO_C35,
	EXYNOS5420_GPIO_C36,
	EXYNOS5420_GPIO_C37,
	EXYNOS5420_GPIO_C40,		/* 144 0x90 */
	EXYNOS5420_GPIO_C41,
	EXYNOS5420_GPIO_C42,
	EXYNOS5420_GPIO_C43,
	EXYNOS5420_GPIO_C44,
	EXYNOS5420_GPIO_C45,
	EXYNOS5420_GPIO_C46,
	EXYNOS5420_GPIO_C47,
	EXYNOS5420_GPIO_D10,		/* 152 0x98 */
	EXYNOS5420_GPIO_D11,
	EXYNOS5420_GPIO_D12,
	EXYNOS5420_GPIO_D13,
	EXYNOS5420_GPIO_D14,
	EXYNOS5420_GPIO_D15,
	EXYNOS5420_GPIO_D16,
	EXYNOS5420_GPIO_D17,
	EXYNOS5420_GPIO_Y00,		/* 160 0xa0 */
	EXYNOS5420_GPIO_Y01,
	EXYNOS5420_GPIO_Y02,
	EXYNOS5420_GPIO_Y03,
	EXYNOS5420_GPIO_Y04,
	EXYNOS5420_GPIO_Y05,
	EXYNOS5420_GPIO_Y06,
	EXYNOS5420_GPIO_Y07,
	EXYNOS5420_GPIO_Y10,		/* 168 0xa8 */
	EXYNOS5420_GPIO_Y11,
	EXYNOS5420_GPIO_Y12,
	EXYNOS5420_GPIO_Y13,
	EXYNOS5420_GPIO_Y14,
	EXYNOS5420_GPIO_Y15,
	EXYNOS5420_GPIO_Y16,
	EXYNOS5420_GPIO_Y17,
	EXYNOS5420_GPIO_Y20,		/* 176 0xb0 */
	EXYNOS5420_GPIO_Y21,
	EXYNOS5420_GPIO_Y22,
	EXYNOS5420_GPIO_Y23,
	EXYNOS5420_GPIO_Y24,
	EXYNOS5420_GPIO_Y25,
	EXYNOS5420_GPIO_Y26,
	EXYNOS5420_GPIO_Y27,
	EXYNOS5420_GPIO_Y30,		/* 184 0xb8 */
	EXYNOS5420_GPIO_Y31,
	EXYNOS5420_GPIO_Y32,
	EXYNOS5420_GPIO_Y33,
	EXYNOS5420_GPIO_Y34,
	EXYNOS5420_GPIO_Y35,
	EXYNOS5420_GPIO_Y36,
	EXYNOS5420_GPIO_Y37,
	EXYNOS5420_GPIO_Y40,		/* 192 0xc0 */
	EXYNOS5420_GPIO_Y41,
	EXYNOS5420_GPIO_Y42,
	EXYNOS5420_GPIO_Y43,
	EXYNOS5420_GPIO_Y44,
	EXYNOS5420_GPIO_Y45,
	EXYNOS5420_GPIO_Y46,
	EXYNOS5420_GPIO_Y47,
	EXYNOS5420_GPIO_Y50,		/* 200 0xc8 */
	EXYNOS5420_GPIO_Y51,
	EXYNOS5420_GPIO_Y52,
	EXYNOS5420_GPIO_Y53,
	EXYNOS5420_GPIO_Y54,
	EXYNOS5420_GPIO_Y55,
	EXYNOS5420_GPIO_Y56,
	EXYNOS5420_GPIO_Y57,
	EXYNOS5420_GPIO_Y60,		/* 208 0xd0 */
	EXYNOS5420_GPIO_Y61,
	EXYNOS5420_GPIO_Y62,
	EXYNOS5420_GPIO_Y63,
	EXYNOS5420_GPIO_Y64,
	EXYNOS5420_GPIO_Y65,
	EXYNOS5420_GPIO_Y66,
	EXYNOS5420_GPIO_Y67,

	/* GPIO_PART5_STARTS */
	EXYNOS5420_GPIO_MAX_PORT_PART_4,/* 216 0xd8 */
	EXYNOS5420_GPIO_E00 = EXYNOS5420_GPIO_MAX_PORT_PART_4,
	EXYNOS5420_GPIO_E01,
	EXYNOS5420_GPIO_E02,
	EXYNOS5420_GPIO_E03,
	EXYNOS5420_GPIO_E04,
	EXYNOS5420_GPIO_E05,
	EXYNOS5420_GPIO_E06,
	EXYNOS5420_GPIO_E07,
	EXYNOS5420_GPIO_E10,		/* 224 0xe0 */
	EXYNOS5420_GPIO_E11,
	EXYNOS5420_GPIO_E12,
	EXYNOS5420_GPIO_E13,
	EXYNOS5420_GPIO_E14,
	EXYNOS5420_GPIO_E15,
	EXYNOS5420_GPIO_E16,
	EXYNOS5420_GPIO_E17,
	EXYNOS5420_GPIO_F00,		/* 232 0xe8 */
	EXYNOS5420_GPIO_F01,
	EXYNOS5420_GPIO_F02,
	EXYNOS5420_GPIO_F03,
	EXYNOS5420_GPIO_F04,
	EXYNOS5420_GPIO_F05,
	EXYNOS5420_GPIO_F06,
	EXYNOS5420_GPIO_F07,
	EXYNOS5420_GPIO_F10,		/* 240 0xf0 */
	EXYNOS5420_GPIO_F11,
	EXYNOS5420_GPIO_F12,
	EXYNOS5420_GPIO_F13,
	EXYNOS5420_GPIO_F14,
	EXYNOS5420_GPIO_F15,
	EXYNOS5420_GPIO_F16,
	EXYNOS5420_GPIO_F17,
	EXYNOS5420_GPIO_G00,		/* 248 0xf8 */
	EXYNOS5420_GPIO_G01,
	EXYNOS5420_GPIO_G02,
	EXYNOS5420_GPIO_G03,
	EXYNOS5420_GPIO_G04,
	EXYNOS5420_GPIO_G05,
	EXYNOS5420_GPIO_G06,
	EXYNOS5420_GPIO_G07,
	EXYNOS5420_GPIO_G10,		/* 256 0x100 */
	EXYNOS5420_GPIO_G11,
	EXYNOS5420_GPIO_G12,
	EXYNOS5420_GPIO_G13,
	EXYNOS5420_GPIO_G14,
	EXYNOS5420_GPIO_G15,
	EXYNOS5420_GPIO_G16,
	EXYNOS5420_GPIO_G17,
	EXYNOS5420_GPIO_G20,		/* 264 0x108 */
	EXYNOS5420_GPIO_G21,
	EXYNOS5420_GPIO_G22,
	EXYNOS5420_GPIO_G23,
	EXYNOS5420_GPIO_G24,
	EXYNOS5420_GPIO_G25,
	EXYNOS5420_GPIO_G26,
	EXYNOS5420_GPIO_G27,
	EXYNOS5420_GPIO_J40,		/* 272 0x110 */
	EXYNOS5420_GPIO_J41,
	EXYNOS5420_GPIO_J42,
	EXYNOS5420_GPIO_J43,
	EXYNOS5420_GPIO_J44,
	EXYNOS5420_GPIO_J45,
	EXYNOS5420_GPIO_J46,
	EXYNOS5420_GPIO_J47,

	/* GPIO_PART6_STARTS */
	EXYNOS5420_GPIO_MAX_PORT_PART_5,/* 280 0x118 */
	EXYNOS5420_GPIO_Z0 = EXYNOS5420_GPIO_MAX_PORT_PART_5,
	EXYNOS5420_GPIO_Z1,
	EXYNOS5420_GPIO_Z2,
	EXYNOS5420_GPIO_Z3,
	EXYNOS5420_GPIO_Z4,
	EXYNOS5420_GPIO_Z5,
	EXYNOS5420_GPIO_Z6,
	EXYNOS5420_GPIO_MAX_PORT
};

struct gpio_info {
	unsigned int reg_addr;	/* Address of register for this part */
	unsigned int max_gpio;	/* Maximum GPIO in this part */
};

#define EXYNOS4_GPIO_NUM_PARTS	4
static struct gpio_info exynos4_gpio_data[EXYNOS4_GPIO_NUM_PARTS] = {
	{ EXYNOS4_GPIO_PART1_BASE, EXYNOS4_GPIO_MAX_PORT_PART_1 },
	{ EXYNOS4_GPIO_PART2_0, EXYNOS4_GPIO_MAX_PORT_PART_2_0 },
	{ EXYNOS4_GPIO_PART2_1, EXYNOS4_GPIO_MAX_PORT_PART_2_1 },
	{ EXYNOS4_GPIO_PART3_BASE, EXYNOS4_GPIO_MAX_PORT },
};

#define EXYNOS4X12_GPIO_NUM_PARTS	8
static struct gpio_info exynos4x12_gpio_data[EXYNOS4X12_GPIO_NUM_PARTS] = {
	{ EXYNOS4X12_GPIO_PART1_0, EXYNOS4X12_GPIO_MAX_PORT_PART_1_0 },
	{ EXYNOS4X12_GPIO_PART1_1, EXYNOS4X12_GPIO_MAX_PORT_PART_1_1 },
	{ EXYNOS4X12_GPIO_PART1_2, EXYNOS4X12_GPIO_MAX_PORT_PART_1_2 },
	{ EXYNOS4X12_GPIO_PART2_1, EXYNOS4X12_GPIO_MAX_PORT_PART_2_1 },
	{ EXYNOS4X12_GPIO_PART2_2, EXYNOS4X12_GPIO_MAX_PORT_PART_2_2 },
	{ EXYNOS4X12_GPIO_PART2_3, EXYNOS4X12_GPIO_MAX_PORT_PART_2_3 },
	{ EXYNOS4X12_GPIO_PART3_BASE, EXYNOS4X12_GPIO_MAX_PORT_PART_3 },
	{ EXYNOS4X12_GPIO_PART4_BASE, EXYNOS4X12_GPIO_MAX_PORT },
};

#define EXYNOS5_GPIO_NUM_PARTS	8
static struct gpio_info exynos5_gpio_data[EXYNOS5_GPIO_NUM_PARTS] = {
	{ EXYNOS5_GPIO_PART1_BASE, EXYNOS5_GPIO_MAX_PORT_PART_1 },
	{ EXYNOS5_GPIO_PART2_BASE, EXYNOS5_GPIO_MAX_PORT_PART_2 },
	{ EXYNOS5_GPIO_PART3_BASE, EXYNOS5_GPIO_MAX_PORT_PART_3 },
	{ EXYNOS5_GPIO_PART4_BASE, EXYNOS5_GPIO_MAX_PORT_PART_4 },
	{ EXYNOS5_GPIO_PART5_BASE, EXYNOS5_GPIO_MAX_PORT_PART_5 },
	{ EXYNOS5_GPIO_PART6_BASE, EXYNOS5_GPIO_MAX_PORT_PART_6 },
	{ EXYNOS5_GPIO_PART7_BASE, EXYNOS5_GPIO_MAX_PORT_PART_7 },
	{ EXYNOS5_GPIO_PART8_BASE, EXYNOS5_GPIO_MAX_PORT },
};

#define EXYNOS5420_GPIO_NUM_PARTS	6
static struct gpio_info exynos5420_gpio_data[EXYNOS5420_GPIO_NUM_PARTS] = {
	{ EXYNOS5420_GPIO_PART1_BASE, EXYNOS5420_GPIO_MAX_PORT_PART_1 },
	{ EXYNOS5420_GPIO_PART2_BASE, EXYNOS5420_GPIO_MAX_PORT_PART_2 },
	{ EXYNOS5420_GPIO_PART3_BASE, EXYNOS5420_GPIO_MAX_PORT_PART_3 },
	{ EXYNOS5420_GPIO_PART4_BASE, EXYNOS5420_GPIO_MAX_PORT_PART_4 },
	{ EXYNOS5420_GPIO_PART5_BASE, EXYNOS5420_GPIO_MAX_PORT_PART_5 },
	{ EXYNOS5420_GPIO_PART6_BASE, EXYNOS5420_GPIO_MAX_PORT },
};

static inline struct gpio_info *get_gpio_data(void)
{
	if (cpu_is_exynos5()) {
		if (proid_is_exynos5420() || proid_is_exynos5800())
			return exynos5420_gpio_data;
		else
			return exynos5_gpio_data;
	} else if (cpu_is_exynos4()) {
		if (proid_is_exynos4412())
			return exynos4x12_gpio_data;
		else
			return exynos4_gpio_data;
	}

	return NULL;
}

static inline unsigned int get_bank_num(void)
{
	if (cpu_is_exynos5()) {
		if (proid_is_exynos5420() || proid_is_exynos5800())
			return EXYNOS5420_GPIO_NUM_PARTS;
		else
			return EXYNOS5_GPIO_NUM_PARTS;
	} else if (cpu_is_exynos4()) {
		if (proid_is_exynos4412())
			return EXYNOS4X12_GPIO_NUM_PARTS;
		else
			return EXYNOS4_GPIO_NUM_PARTS;
	}

	return 0;
}

/*
 * This structure helps mapping symbolic GPIO names into indices from
 * exynos5_gpio_pin/exynos5420_gpio_pin enums.
 *
 * By convention, symbolic GPIO name is defined as follows:
 *
 * g[p]<bank><set><bit>, where
 *   p is optional
 *   <bank> - a single character bank name, as defined by the SOC
 *   <set> - a single digit set number
 *   <bit> - bit number within the set (in 0..7 range).
 *
 * <set><bit> essentially form an octal number of the GPIO pin within the bank
 * space. On the 5420 architecture some banks' sets do not start not from zero
 * ('d' starts from 1 and 'j' starts from 4). To compensate for that and
 * maintain flat number space withoout holes, those banks use offsets to be
 * deducted from the pin number.
 */
struct gpio_name_num_table {
	char bank;		/* bank name symbol */
	unsigned int bank_size;		/* total number of pins in the bank */
	char bank_offset;	/* offset of the first bank's pin */
	unsigned int base;	/* index of the first bank's pin in the enum */
};

#define GPIO_ENTRY(name, base, top, offset) { name, top - base, offset, base }
static const struct gpio_name_num_table exynos4_gpio_table[] = {
	GPIO_ENTRY('a', EXYNOS4_GPIO_A00, EXYNOS4_GPIO_B0, 0),
	GPIO_ENTRY('b', EXYNOS4_GPIO_B0, EXYNOS4_GPIO_C00, 0),
	GPIO_ENTRY('c', EXYNOS4_GPIO_C00, EXYNOS4_GPIO_D00, 0),
	GPIO_ENTRY('d', EXYNOS4_GPIO_D00, EXYNOS4_GPIO_E00, 0),
	GPIO_ENTRY('e', EXYNOS4_GPIO_E00, EXYNOS4_GPIO_F00, 0),
	GPIO_ENTRY('f', EXYNOS4_GPIO_F00, EXYNOS4_GPIO_J00, 0),
	GPIO_ENTRY('j', EXYNOS4_GPIO_J00, EXYNOS4_GPIO_K00, 0),
	GPIO_ENTRY('k', EXYNOS4_GPIO_K00, EXYNOS4_GPIO_L00, 0),
	GPIO_ENTRY('l', EXYNOS4_GPIO_L00, EXYNOS4_GPIO_Y00, 0),
	GPIO_ENTRY('y', EXYNOS4_GPIO_Y00, EXYNOS4_GPIO_X00, 0),
	GPIO_ENTRY('x', EXYNOS4_GPIO_X00, EXYNOS4_GPIO_Z0, 0),
	GPIO_ENTRY('z', EXYNOS4_GPIO_Z0, EXYNOS4_GPIO_MAX_PORT, 0),
	{ 0 }
};

static const struct gpio_name_num_table exynos4x12_gpio_table[] = {
	GPIO_ENTRY('a', EXYNOS4X12_GPIO_A00, EXYNOS4X12_GPIO_B0, 0),
	GPIO_ENTRY('b', EXYNOS4X12_GPIO_B0, EXYNOS4X12_GPIO_C00, 0),
	GPIO_ENTRY('c', EXYNOS4X12_GPIO_C00, EXYNOS4X12_GPIO_D00, 0),
	GPIO_ENTRY('d', EXYNOS4X12_GPIO_D00, EXYNOS4X12_GPIO_F00, 0),
	GPIO_ENTRY('f', EXYNOS4X12_GPIO_F00, EXYNOS4X12_GPIO_J00, 0),
	GPIO_ENTRY('j', EXYNOS4X12_GPIO_J00, EXYNOS4X12_GPIO_K00, 0),
	GPIO_ENTRY('k', EXYNOS4X12_GPIO_K00, EXYNOS4X12_GPIO_L00, 0),
	GPIO_ENTRY('l', EXYNOS4X12_GPIO_L00, EXYNOS4X12_GPIO_Y00, 0),
	GPIO_ENTRY('y', EXYNOS4X12_GPIO_Y00, EXYNOS4X12_GPIO_M00, 0),
	GPIO_ENTRY('m', EXYNOS4X12_GPIO_M00, EXYNOS4X12_GPIO_X00, 0),
	GPIO_ENTRY('x', EXYNOS4X12_GPIO_X00, EXYNOS4X12_GPIO_Z0, 0),
	GPIO_ENTRY('z', EXYNOS4X12_GPIO_Z0, EXYNOS4X12_GPIO_V00, 0),
	GPIO_ENTRY('v', EXYNOS4X12_GPIO_V00, EXYNOS4X12_GPIO_MAX_PORT, 0),
	{ 0 }
};

static const struct gpio_name_num_table exynos5_gpio_table[] = {
	GPIO_ENTRY('a', EXYNOS5_GPIO_A00, EXYNOS5_GPIO_B00, 0),
	GPIO_ENTRY('b', EXYNOS5_GPIO_B00, EXYNOS5_GPIO_C00, 0),
	GPIO_ENTRY('c', EXYNOS5_GPIO_C00, EXYNOS5_GPIO_D00, 0),
	GPIO_ENTRY('d', EXYNOS5_GPIO_D00, EXYNOS5_GPIO_Y00, 0),
	GPIO_ENTRY('y', EXYNOS5_GPIO_Y00, EXYNOS5_GPIO_C40, 0),
	GPIO_ENTRY('x', EXYNOS5_GPIO_X00, EXYNOS5_GPIO_E00, 0),
	GPIO_ENTRY('e', EXYNOS5_GPIO_E00, EXYNOS5_GPIO_F00, 0),
	GPIO_ENTRY('f', EXYNOS5_GPIO_F00, EXYNOS5_GPIO_G00, 0),
	GPIO_ENTRY('g', EXYNOS5_GPIO_G00, EXYNOS5_GPIO_H00, 0),
	GPIO_ENTRY('h', EXYNOS5_GPIO_H00, EXYNOS5_GPIO_V00, 0),
	GPIO_ENTRY('v', EXYNOS5_GPIO_V00, EXYNOS5_GPIO_Z0, 0),
	GPIO_ENTRY('z', EXYNOS5_GPIO_Z0, EXYNOS5_GPIO_MAX_PORT, 0),
	{ 0 }
};

static const struct gpio_name_num_table exynos5420_gpio_table[] = {
	GPIO_ENTRY('a', EXYNOS5420_GPIO_A00, EXYNOS5420_GPIO_B00, 0),
	GPIO_ENTRY('b', EXYNOS5420_GPIO_B00, EXYNOS5420_GPIO_H00, 0),
	GPIO_ENTRY('h', EXYNOS5420_GPIO_H00, EXYNOS5420_GPIO_Y70, 0),
	GPIO_ENTRY('x', EXYNOS5420_GPIO_X00, EXYNOS5420_GPIO_C00, 0),
	GPIO_ENTRY('c', EXYNOS5420_GPIO_C00, EXYNOS5420_GPIO_D10, 0),
	GPIO_ENTRY('d', EXYNOS5420_GPIO_D10, EXYNOS5420_GPIO_Y00, 010),
	GPIO_ENTRY('y', EXYNOS5420_GPIO_Y00, EXYNOS5420_GPIO_E00, 0),
	GPIO_ENTRY('e', EXYNOS5420_GPIO_E00, EXYNOS5420_GPIO_F00, 0),
	GPIO_ENTRY('f', EXYNOS5420_GPIO_F00, EXYNOS5420_GPIO_G00, 0),
	GPIO_ENTRY('g', EXYNOS5420_GPIO_G00, EXYNOS5420_GPIO_J40, 0),
	GPIO_ENTRY('j', EXYNOS5420_GPIO_J40, EXYNOS5420_GPIO_Z0, 040),
	GPIO_ENTRY('z', EXYNOS5420_GPIO_Z0, EXYNOS5420_GPIO_MAX_PORT, 0),
	{ 0 }
};

void gpio_cfg_pin(int gpio, int cfg);
void gpio_set_pull(int gpio, int mode);
void gpio_set_drv(int gpio, int mode);
void gpio_set_rate(int gpio, int mode);
int s5p_gpio_get_pin(unsigned gpio);
#endif

/* Pin configurations */
#define S5P_GPIO_INPUT	0x0
#define S5P_GPIO_OUTPUT	0x1
#define S5P_GPIO_IRQ	0xf
#define S5P_GPIO_FUNC(x)	(x)

/* Pull mode */
#define S5P_GPIO_PULL_NONE	0x0
#define S5P_GPIO_PULL_DOWN	0x1
#define S5P_GPIO_PULL_UP	0x3

/* Drive Strength level */
#define S5P_GPIO_DRV_1X	0x0
#define S5P_GPIO_DRV_3X	0x1
#define S5P_GPIO_DRV_2X	0x2
#define S5P_GPIO_DRV_4X	0x3
#define S5P_GPIO_DRV_FAST	0x0
#define S5P_GPIO_DRV_SLOW	0x1
#endif
