diff options
author | Sachin Kamat <sachin.kamat@linaro.org> | 2012-04-25 11:31:37 +0530 |
---|---|---|
committer | Tushar Behera <tushar.behera@linaro.org> | 2013-03-14 10:46:02 +0530 |
commit | 04433ba9ec45ba83333b8956276988664a741196 (patch) | |
tree | 0d2c3aa6e05d1fb840b926f86ea56ceac4e6adc1 /arch | |
parent | 37419ff89ed9cf6639419aded4b3d840319d48e0 (diff) |
ARM: EXYNOS: GPIO: Add GPIO support for EXYNOS4412
Add GPIO support for EXYNOS4210.
1. Increased the length for gpio part 3 to accomodate all
the SFRs of EXYNOS4412 gpio part 3.
2. Added additional part4 for GPVs.
3. Added new GPMs
4. Updated S3C_GPIO_END as with the inclusion of new gpios, EXYNOS4
has more gpios than exynos5.
Signed-off-by: Inderpal Singh <inderpal.singh@linaro.org>
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-exynos/include/mach/gpio.h | 36 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/map.h | 2 |
2 files changed, 35 insertions, 3 deletions
diff --git a/arch/arm/mach-exynos/include/mach/gpio.h b/arch/arm/mach-exynos/include/mach/gpio.h index eb24f1eb8e3b..be227588cd8c 100644 --- a/arch/arm/mach-exynos/include/mach/gpio.h +++ b/arch/arm/mach-exynos/include/mach/gpio.h @@ -44,6 +44,16 @@ #define EXYNOS4_GPIO_L0_NR (8) #define EXYNOS4_GPIO_L1_NR (3) #define EXYNOS4_GPIO_L2_NR (8) +#define EXYNOS4_GPIO_M0_NR (8) +#define EXYNOS4_GPIO_M1_NR (7) +#define EXYNOS4_GPIO_M2_NR (5) +#define EXYNOS4_GPIO_M3_NR (8) +#define EXYNOS4_GPIO_M4_NR (8) +#define EXYNOS4_GPIO_V0_NR (8) +#define EXYNOS4_GPIO_V1_NR (8) +#define EXYNOS4_GPIO_V2_NR (8) +#define EXYNOS4_GPIO_V3_NR (8) +#define EXYNOS4_GPIO_V4_NR (2) #define EXYNOS4_GPIO_X0_NR (8) #define EXYNOS4_GPIO_X1_NR (8) #define EXYNOS4_GPIO_X2_NR (8) @@ -85,7 +95,17 @@ enum exynos4_gpio_number { EXYNOS4_GPIO_L0_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_K3), EXYNOS4_GPIO_L1_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_L0), EXYNOS4_GPIO_L2_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_L1), - EXYNOS4_GPIO_X0_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_L2), + EXYNOS4_GPIO_M0_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_L2), + EXYNOS4_GPIO_M1_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_M0), + EXYNOS4_GPIO_M2_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_M1), + EXYNOS4_GPIO_M3_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_M2), + EXYNOS4_GPIO_M4_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_M3), + EXYNOS4_GPIO_V0_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_M4), + EXYNOS4_GPIO_V1_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_V0), + EXYNOS4_GPIO_V2_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_V1), + EXYNOS4_GPIO_V3_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_V2), + EXYNOS4_GPIO_V4_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_V3), + EXYNOS4_GPIO_X0_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_V4), EXYNOS4_GPIO_X1_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_X0), EXYNOS4_GPIO_X2_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_X1), EXYNOS4_GPIO_X3_START = EXYNOS_GPIO_NEXT(EXYNOS4_GPIO_X2), @@ -126,6 +146,16 @@ enum exynos4_gpio_number { #define EXYNOS4_GPL0(_nr) (EXYNOS4_GPIO_L0_START + (_nr)) #define EXYNOS4_GPL1(_nr) (EXYNOS4_GPIO_L1_START + (_nr)) #define EXYNOS4_GPL2(_nr) (EXYNOS4_GPIO_L2_START + (_nr)) +#define EXYNOS4_GPM0(_nr) (EXYNOS4_GPIO_M0_START + (_nr)) +#define EXYNOS4_GPM1(_nr) (EXYNOS4_GPIO_M1_START + (_nr)) +#define EXYNOS4_GPM2(_nr) (EXYNOS4_GPIO_M2_START + (_nr)) +#define EXYNOS4_GPM3(_nr) (EXYNOS4_GPIO_M3_START + (_nr)) +#define EXYNOS4_GPM4(_nr) (EXYNOS4_GPIO_M4_START + (_nr)) +#define EXYNOS4_GPV0(_nr) (EXYNOS4_GPIO_V0_START + (_nr)) +#define EXYNOS4_GPV1(_nr) (EXYNOS4_GPIO_V1_START + (_nr)) +#define EXYNOS4_GPV2(_nr) (EXYNOS4_GPIO_V2_START + (_nr)) +#define EXYNOS4_GPV3(_nr) (EXYNOS4_GPIO_V3_START + (_nr)) +#define EXYNOS4_GPV4(_nr) (EXYNOS4_GPIO_V4_START + (_nr)) #define EXYNOS4_GPX0(_nr) (EXYNOS4_GPIO_X0_START + (_nr)) #define EXYNOS4_GPX1(_nr) (EXYNOS4_GPIO_X1_START + (_nr)) #define EXYNOS4_GPX2(_nr) (EXYNOS4_GPIO_X2_START + (_nr)) @@ -278,9 +308,9 @@ enum exynos5_gpio_number { #define EXYNOS5_GPIO_END (EXYNOS5_GPZ(EXYNOS5_GPIO_Z_NR) + 1) -/* actually, EXYNOS5_GPIO_END is bigger than EXYNOS4 */ +/* EXYNOS4_GPIO_END is bigger than EXYNOS5 */ -#define S3C_GPIO_END (EXYNOS5_GPIO_END) +#define S3C_GPIO_END (EXYNOS4_GPIO_END) /* define the number of gpios */ diff --git a/arch/arm/mach-exynos/include/mach/map.h b/arch/arm/mach-exynos/include/mach/map.h index b8ea67e55fbe..e474a1ce0d9b 100644 --- a/arch/arm/mach-exynos/include/mach/map.h +++ b/arch/arm/mach-exynos/include/mach/map.h @@ -172,6 +172,8 @@ #define EXYNOS4_PA_GPIO1 0x11400000 #define EXYNOS4_PA_GPIO2 0x11000000 #define EXYNOS4_PA_GPIO3 0x03860000 +#define EXYNOS4_PA_GPIO4 0x106E0000 + #define EXYNOS5_PA_GPIO1 0x11400000 #define EXYNOS5_PA_GPIO2 0x13400000 #define EXYNOS5_PA_GPIO3 0x10D10000 |