summaryrefslogtreecommitdiff
path: root/cleopatre/linux-2.6.25.10-spc300
diff options
context:
space:
mode:
authorJean-Philippe SAVE2012-08-24 16:33:41 +0200
committerCyril Jourdan2012-09-20 16:56:20 +0200
commit1e44281b0fc5cefb03ca23c9179e4a0258d96bf4 (patch)
tree4d0b354933f74500de713df136f38f180cf98560 /cleopatre/linux-2.6.25.10-spc300
parent8ee108bc6d5016718ba1fac4287c6e0cbea29a51 (diff)
cleo/linux: add IOMUX management for MSE500, refs #3318
Diffstat (limited to 'cleopatre/linux-2.6.25.10-spc300')
-rw-r--r--cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/Kconfig7
-rw-r--r--cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/spc300-device-gpio.c4
2 files changed, 11 insertions, 0 deletions
diff --git a/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/Kconfig b/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/Kconfig
index f6bc3fb574..bcb68f879d 100644
--- a/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/Kconfig
+++ b/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/Kconfig
@@ -101,6 +101,7 @@ config CHIP_SPC300
select CHIP_FEATURE_PCM
select CHIP_FEATURE_SPCPLL
select CHIP_FEATURE_SPCETH
+ select CHIP_FEATURE_SPCPIO
config CHIP_SPC300ARIZONA
def_bool n
@@ -113,6 +114,7 @@ config CHIP_SPC300ARIZONA
select CHIP_FEATURE_PCM
select CHIP_FEATURE_SPCPLL
select CHIP_FEATURE_SPCETH
+ select CHIP_FEATURE_SPCPIO
config CHIP_MSE500DINI_300
def_bool n
@@ -133,6 +135,7 @@ config CHIP_MSE500
select CHIP_FEATURE_EXTRA_NVRAM_FIELDS
select CHIP_FEATURE_MSEPLL
select CHIP_FEATURE_MSEETH
+ select CHIP_FEATURE_IOMUX
# Chip features (CHIP_FEATURE_*)
# ==============================
@@ -178,6 +181,10 @@ config CHIP_FEATURE_SPCETH
def_bool n
config CHIP_FEATURE_MSEETH
def_bool n
+config CHIP_FEATURE_SPCPIO
+ def_bool n
+config CHIP_FEATURE_IOMUX
+ def_bool n
source "arch/arm/mach-spc300/Kconfig.flash"
diff --git a/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/spc300-device-gpio.c b/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/spc300-device-gpio.c
index eb078856b6..0fa24e28d3 100644
--- a/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/spc300-device-gpio.c
+++ b/cleopatre/linux-2.6.25.10-spc300/arch/arm/mach-spc300/spc300-device-gpio.c
@@ -268,6 +268,7 @@ spc300_gpio_one_setup (int num)
chip->direction_input = NULL;
chip->direction_output = NULL;
+#ifdef CONFIG_CHIP_FEATURE_SPCPIO
if (num < MIN_INTERNAL_GPIOS)
gpio_config = spc300_gpio_cfg(spidcom_nvram.io.spcpio.gpio_0_7_cfg, num);
else
@@ -275,7 +276,9 @@ spc300_gpio_one_setup (int num)
/* Check if gpio_config is ARM gpios */
if (gpio_config == 0)
+#endif /* CONFIG_CHIP_FEATURE_SPCPIO */
{
+#if defined(CONFIG_CHIP_FEATURE_SPCPIO) || defined(CONFIG_CHIP_FEATURE_IOMUX)
/* check allowed direction */
switch (spc300_gpio_direction (spidcom_nvram.gpio_allow_dir, num))
{
@@ -295,6 +298,7 @@ spc300_gpio_one_setup (int num)
chip->direction_input = &spc300_gpio_direction_input;
break;
}
+#endif /* CONFIG_CHIP_FEATURE_SPCPIO || CONFIG_CHIP_FEATURE_IOMUX */
/* Setup GPIO number */
gpiochip_add(chip);
}