summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/arizona/linux26.config2
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/mse500/linux26.config2
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/mse500dini_300/linux26.config2
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/scr310/linux26.config2
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/spk300/linux26.config2
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/spk300g/linux26.config2
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/spk310/linux26.config2
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/spr300/linux26.config2
-rw-r--r--cleopatre/buildroot/target/device/Spidcom/spr310/linux26.config2
-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
-rw-r--r--common/include/asm/arch/nvram.h4
-rw-r--r--common/tools/genNVRAM/nvram_mse500_bringup.conf2
-rw-r--r--common/tools/genNVRAM/nvram_mse500_simu.conf2
14 files changed, 35 insertions, 2 deletions
diff --git a/cleopatre/buildroot/target/device/Spidcom/arizona/linux26.config b/cleopatre/buildroot/target/device/Spidcom/arizona/linux26.config
index 0bd9aac92e..069426e744 100644
--- a/cleopatre/buildroot/target/device/Spidcom/arizona/linux26.config
+++ b/cleopatre/buildroot/target/device/Spidcom/arizona/linux26.config
@@ -203,6 +203,8 @@ CONFIG_CHIP_FEATURE_SPCPLL=y
# CONFIG_CHIP_FEATURE_MSEPLL is not set
CONFIG_CHIP_FEATURE_SPCETH=y
# CONFIG_CHIP_FEATURE_MSEETH is not set
+CONFIG_CHIP_FEATURE_SPCPIO=y
+# CONFIG_CHIP_FEATURE_IOMUX is not set
CONFIG_HAVE_MTD_SPC300_LARGE=y
# CONFIG_HAVE_MTD_SPC300_MEDIUM is not set
# CONFIG_HAVE_MTD_SPC300_SMALL is not set
diff --git a/cleopatre/buildroot/target/device/Spidcom/mse500/linux26.config b/cleopatre/buildroot/target/device/Spidcom/mse500/linux26.config
index 5435f593a9..68ca3a3a1f 100644
--- a/cleopatre/buildroot/target/device/Spidcom/mse500/linux26.config
+++ b/cleopatre/buildroot/target/device/Spidcom/mse500/linux26.config
@@ -203,6 +203,8 @@ CONFIG_CHIP_FEATURE_EXTRA_NVRAM_FIELDS=y
CONFIG_CHIP_FEATURE_MSEPLL=y
# CONFIG_CHIP_FEATURE_SPCETH is not set
CONFIG_CHIP_FEATURE_MSEETH=y
+# CONFIG_CHIP_FEATURE_SPCPIO is not set
+CONFIG_CHIP_FEATURE_IOMUX=y
CONFIG_HAVE_MTD_SPC300_LARGE=y
# CONFIG_HAVE_MTD_SPC300_MEDIUM is not set
# CONFIG_HAVE_MTD_SPC300_SMALL is not set
diff --git a/cleopatre/buildroot/target/device/Spidcom/mse500dini_300/linux26.config b/cleopatre/buildroot/target/device/Spidcom/mse500dini_300/linux26.config
index 1eab86ceff..18739a82e7 100644
--- a/cleopatre/buildroot/target/device/Spidcom/mse500dini_300/linux26.config
+++ b/cleopatre/buildroot/target/device/Spidcom/mse500dini_300/linux26.config
@@ -203,6 +203,8 @@ CONFIG_CHIP_FEATURE_EXTRA_NVRAM_FIELDS=y
# CONFIG_CHIP_FEATURE_MSEPLL is not set
# CONFIG_CHIP_FEATURE_SPCETH is not set
# CONFIG_CHIP_FEATURE_MSEETH is not set
+# CONFIG_CHIP_FEATURE_SPCPIO is not set
+# CONFIG_CHIP_FEATURE_IOMUX is not set
# CONFIG_HAVE_MTD_SPC300_LARGE is not set
CONFIG_HAVE_MTD_SPC300_MEDIUM=y
# CONFIG_HAVE_MTD_SPC300_SMALL is not set
diff --git a/cleopatre/buildroot/target/device/Spidcom/scr310/linux26.config b/cleopatre/buildroot/target/device/Spidcom/scr310/linux26.config
index 7142b8d835..7d29b6a7e2 100644
--- a/cleopatre/buildroot/target/device/Spidcom/scr310/linux26.config
+++ b/cleopatre/buildroot/target/device/Spidcom/scr310/linux26.config
@@ -203,6 +203,8 @@ CONFIG_CHIP_FEATURE_SPCPLL=y
# CONFIG_CHIP_FEATURE_MSEPLL is not set
CONFIG_CHIP_FEATURE_SPCETH=y
# CONFIG_CHIP_FEATURE_MSEETH is not set
+CONFIG_CHIP_FEATURE_SPCPIO=y
+# CONFIG_CHIP_FEATURE_IOMUX is not set
# CONFIG_HAVE_MTD_SPC300_LARGE is not set
CONFIG_HAVE_MTD_SPC300_MEDIUM=y
# CONFIG_HAVE_MTD_SPC300_SMALL is not set
diff --git a/cleopatre/buildroot/target/device/Spidcom/spk300/linux26.config b/cleopatre/buildroot/target/device/Spidcom/spk300/linux26.config
index c55d0fb339..3baf536ba6 100644
--- a/cleopatre/buildroot/target/device/Spidcom/spk300/linux26.config
+++ b/cleopatre/buildroot/target/device/Spidcom/spk300/linux26.config
@@ -203,6 +203,8 @@ CONFIG_CHIP_FEATURE_SPCPLL=y
# CONFIG_CHIP_FEATURE_MSEPLL is not set
CONFIG_CHIP_FEATURE_SPCETH=y
# CONFIG_CHIP_FEATURE_MSEETH is not set
+CONFIG_CHIP_FEATURE_SPCPIO=y
+# CONFIG_CHIP_FEATURE_IOMUX is not set
CONFIG_HAVE_MTD_SPC300_LARGE=y
# CONFIG_HAVE_MTD_SPC300_MEDIUM is not set
# CONFIG_HAVE_MTD_SPC300_SMALL is not set
diff --git a/cleopatre/buildroot/target/device/Spidcom/spk300g/linux26.config b/cleopatre/buildroot/target/device/Spidcom/spk300g/linux26.config
index 13b5b7d8cc..316ea35a8e 100644
--- a/cleopatre/buildroot/target/device/Spidcom/spk300g/linux26.config
+++ b/cleopatre/buildroot/target/device/Spidcom/spk300g/linux26.config
@@ -203,6 +203,8 @@ CONFIG_CHIP_FEATURE_SPCPLL=y
# CONFIG_CHIP_FEATURE_MSEPLL is not set
CONFIG_CHIP_FEATURE_SPCETH=y
# CONFIG_CHIP_FEATURE_MSEETH is not set
+CONFIG_CHIP_FEATURE_SPCPIO=y
+# CONFIG_CHIP_FEATURE_IOMUX is not set
CONFIG_HAVE_MTD_SPC300_LARGE=y
# CONFIG_HAVE_MTD_SPC300_MEDIUM is not set
# CONFIG_HAVE_MTD_SPC300_SMALL is not set
diff --git a/cleopatre/buildroot/target/device/Spidcom/spk310/linux26.config b/cleopatre/buildroot/target/device/Spidcom/spk310/linux26.config
index 093c8d682d..b8830ea730 100644
--- a/cleopatre/buildroot/target/device/Spidcom/spk310/linux26.config
+++ b/cleopatre/buildroot/target/device/Spidcom/spk310/linux26.config
@@ -203,6 +203,8 @@ CONFIG_CHIP_FEATURE_SPCPLL=y
# CONFIG_CHIP_FEATURE_MSEPLL is not set
CONFIG_CHIP_FEATURE_SPCETH=y
# CONFIG_CHIP_FEATURE_MSEETH is not set
+CONFIG_CHIP_FEATURE_SPCPIO=y
+# CONFIG_CHIP_FEATURE_IOMUX is not set
CONFIG_HAVE_MTD_SPC300_LARGE=y
# CONFIG_HAVE_MTD_SPC300_MEDIUM is not set
# CONFIG_HAVE_MTD_SPC300_SMALL is not set
diff --git a/cleopatre/buildroot/target/device/Spidcom/spr300/linux26.config b/cleopatre/buildroot/target/device/Spidcom/spr300/linux26.config
index 04cd6f7b0d..ce575f6011 100644
--- a/cleopatre/buildroot/target/device/Spidcom/spr300/linux26.config
+++ b/cleopatre/buildroot/target/device/Spidcom/spr300/linux26.config
@@ -203,6 +203,8 @@ CONFIG_CHIP_FEATURE_SPCPLL=y
# CONFIG_CHIP_FEATURE_MSEPLL is not set
CONFIG_CHIP_FEATURE_SPCETH=y
# CONFIG_CHIP_FEATURE_MSEETH is not set
+CONFIG_CHIP_FEATURE_SPCPIO=y
+# CONFIG_CHIP_FEATURE_IOMUX is not set
# CONFIG_HAVE_MTD_SPC300_LARGE is not set
CONFIG_HAVE_MTD_SPC300_MEDIUM=y
# CONFIG_HAVE_MTD_SPC300_SMALL is not set
diff --git a/cleopatre/buildroot/target/device/Spidcom/spr310/linux26.config b/cleopatre/buildroot/target/device/Spidcom/spr310/linux26.config
index 4288a00f44..e4f13afb95 100644
--- a/cleopatre/buildroot/target/device/Spidcom/spr310/linux26.config
+++ b/cleopatre/buildroot/target/device/Spidcom/spr310/linux26.config
@@ -203,6 +203,8 @@ CONFIG_CHIP_FEATURE_SPCPLL=y
# CONFIG_CHIP_FEATURE_MSEPLL is not set
CONFIG_CHIP_FEATURE_SPCETH=y
# CONFIG_CHIP_FEATURE_MSEETH is not set
+CONFIG_CHIP_FEATURE_SPCPIO=y
+# CONFIG_CHIP_FEATURE_IOMUX is not set
CONFIG_HAVE_MTD_SPC300_LARGE=y
# CONFIG_HAVE_MTD_SPC300_MEDIUM is not set
# CONFIG_HAVE_MTD_SPC300_SMALL is not set
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);
}
diff --git a/common/include/asm/arch/nvram.h b/common/include/asm/arch/nvram.h
index 4a3291c2ad..02ff42108d 100644
--- a/common/include/asm/arch/nvram.h
+++ b/common/include/asm/arch/nvram.h
@@ -359,8 +359,12 @@ static inline void spidcom_nvram_copy(void* dst, void* src, unsigned int length)
#define MAX_INTERNAL_GPIOS 16
#define MIN_INTERNAL_GPIOS 8
+#ifdef CONFIG_CHIP_FEATURE_SPCPIO
#define spc300_gpio_max_nb(pkg_cfg) ((NVRAM_BFEXT(PIO, pkg_cfg) < 5) ? \
MAX_INTERNAL_GPIOS : MIN_INTERNAL_GPIOS)
+#else
+#define spc300_gpio_max_nb(pkg_cfg) MAX_INTERNAL_GPIOS
+#endif
#define spc300_gpio_direction(gpio_allow_dir,num) \
((gpio_allow_dir >> (num * NVRAM_GPIO_DIR_NB_BITS)) \
diff --git a/common/tools/genNVRAM/nvram_mse500_bringup.conf b/common/tools/genNVRAM/nvram_mse500_bringup.conf
index 04662858eb..f5c150569c 100644
--- a/common/tools/genNVRAM/nvram_mse500_bringup.conf
+++ b/common/tools/genNVRAM/nvram_mse500_bringup.conf
@@ -1,6 +1,6 @@
pkgcfg=0x0000370f
iomux_config = bringup
-gpiodir=0xffffffff
+gpiodir=0x00000084
miu_config = h5ps1g63jfr-s6c
forg=0x00000008
img0off=0x00140000
diff --git a/common/tools/genNVRAM/nvram_mse500_simu.conf b/common/tools/genNVRAM/nvram_mse500_simu.conf
index 58ee6b0776..b012f00c91 100644
--- a/common/tools/genNVRAM/nvram_mse500_simu.conf
+++ b/common/tools/genNVRAM/nvram_mse500_simu.conf
@@ -1,6 +1,6 @@
pkgcfg=0x0000370f
iomux_config = bringup
-gpiodir=0xffffffff
+gpiodir=0x00000000
miu_config = mt47h32m16
forg=0x00000006
img0off=0x000b0000