aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-exynos/u1-gpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-exynos/u1-gpio.c')
-rw-r--r--arch/arm/mach-exynos/u1-gpio.c42
1 files changed, 40 insertions, 2 deletions
diff --git a/arch/arm/mach-exynos/u1-gpio.c b/arch/arm/mach-exynos/u1-gpio.c
index dd1385d..77bb925 100644
--- a/arch/arm/mach-exynos/u1-gpio.c
+++ b/arch/arm/mach-exynos/u1-gpio.c
@@ -211,7 +211,7 @@ static struct gpio_init_data u1_init_gpios[] = {
S3C_GPIO_PULL_NONE, S5P_GPIO_DRVSTR_LV1},
#endif /*CONFIG_TARGET_LOCALE_NA*/
-#if defined(CONFIG_TARGET_LOCALE_NA)
+#if defined(CONFIG_TARGET_LOCALE_NA) || defined(CONFIG_TARGET_LOCALE_NAATT_TEMP)
/* NC*/
{EXYNOS4_GPX3(5), S3C_GPIO_INPUT, S3C_GPIO_SETPIN_ZERO,
S3C_GPIO_PULL_DOWN, S5P_GPIO_DRVSTR_LV1},
@@ -476,7 +476,12 @@ static unsigned int u1_sleep_gpio_table[][3] = {
{EXYNOS4_GPB(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
{EXYNOS4_GPB(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
#else
+#if defined(CONFIG_TARGET_LOCALE_NAATT_TEMP)
+ {EXYNOS4_GPB(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE},
+#else
{EXYNOS4_GPB(0), S3C_GPIO_SLP_PREV, S3C_GPIO_PULL_NONE},
+#endif
+
#if defined(CONFIG_LEDS_GPIO)
{EXYNOS4_GPB(1), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE},
#else /*CONFIG_LEDS_GPIO*/
@@ -490,7 +495,9 @@ static unsigned int u1_sleep_gpio_table[][3] = {
{EXYNOS4_GPB(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE},
{EXYNOS4_GPB(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE},
#endif/*CONFIG_MACH_U1_NA_USCC*/
+#if !defined(CONFIG_TARGET_LOCAL_NA)
{EXYNOS4_GPB(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
+#endif
{EXYNOS4_GPB(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
#endif
{EXYNOS4_GPB(6), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE},
@@ -564,8 +571,10 @@ static unsigned int u1_sleep_gpio_table[][3] = {
{EXYNOS4210_GPE0(4), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE},
#else
{EXYNOS4210_GPE0(3), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE},
+#if !defined(CONFIG_TARGET_LOCAL_NA)
{EXYNOS4210_GPE0(4), S3C_GPIO_SLP_OUT1, S3C_GPIO_PULL_NONE},
#endif
+#endif
#endif /*end CONFIG_VIDEO_TSI*/
{EXYNOS4210_GPE1(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE},
{EXYNOS4210_GPE1(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE},
@@ -910,7 +919,7 @@ static unsigned int u1_sleep_gpio_table[][3] = {
#endif /*CONFIG_TARGET_LOCALE_NA*/
#if defined(CONFIG_MACH_U1_KOR_LGT)
{EXYNOS4_GPY2(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_NONE},
-#else
+#elif !defined(CONFIG_MACH_U1_NA_SPR)
{EXYNOS4_GPY2(2), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
#endif
{EXYNOS4_GPY2(3), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN}, /* NC */
@@ -1045,6 +1054,9 @@ static unsigned int u1_sleep_gpio_table[][3] = {
#endif /* CONFIG_TARGET_LOCALE_NA */
#if defined(CONFIG_MACH_U1_NA_SPR) || defined(CONFIG_MACH_U1_NA_USCC)
+ { EXYNOS4_GPY0(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
+ { EXYNOS4_GPY0(1), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
+
/* SIDE_CLK_EN */
{ EXYNOS4_GPY2(5), S3C_GPIO_SLP_OUT0, S3C_GPIO_PULL_NONE},
/* SIDE_INT */
@@ -1081,6 +1093,14 @@ static unsigned int u1_sleep_gpio_table[][3] = {
#endif
};
+#if defined(CONFIG_TARGET_LOCALE_NAATT_TEMP)
+static unsigned int u1_exint_sleep_gpio_table[][3] = {
+ { EXYNOS4_GPX2(4), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
+ { EXYNOS4_GPX3(0), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
+ { EXYNOS4_GPX3(5), S3C_GPIO_SLP_INPUT, S3C_GPIO_PULL_DOWN},
+};
+#endif
+
void u1_config_gpio_table(void)
{
u32 i, gpio;
@@ -1109,8 +1129,26 @@ static void config_sleep_gpio_table(int array_size,
}
}
+#if defined(CONFIG_TARGET_LOCALE_NAATT_TEMP)
+static void config_exint_sleep_gpio_table(int array_size,
+ unsigned int (*gpio_table)[3])
+{
+ u32 i, gpio;
+
+ for (i = 0; i < ARRAY_SIZE(u1_exint_sleep_gpio_table); i++) {
+ gpio = u1_exint_sleep_gpio_table[i][0];
+ s3c_gpio_cfgpin(gpio, u1_exint_sleep_gpio_table[i][1]);
+ s3c_gpio_setpull(gpio, u1_exint_sleep_gpio_table[i][2]);
+ }
+}
+#endif
+
void u1_config_sleep_gpio_table(void)
{
config_sleep_gpio_table(ARRAY_SIZE(u1_sleep_gpio_table),
u1_sleep_gpio_table);
+#if defined(CONFIG_TARGET_LOCALE_NAATT_TEMP)
+ config_exint_sleep_gpio_table(ARRAY_SIZE(u1_exint_sleep_gpio_table),
+ u1_exint_sleep_gpio_table);
+#endif
}