From dcd9e5ec4d406ffa11da844bf28d64268448919e Mon Sep 17 00:00:00 2001
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sun, 15 Jul 2007 19:01:19 +0000
Subject: [adm5120] fix of the board specific initialization of the GPIO pins

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7979 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 .../adm5120-2.6/files/arch/mips/adm5120/boards/cellvision.c    |  2 ++
 .../linux/adm5120-2.6/files/arch/mips/adm5120/boards/compex.c  | 10 +++++++++-
 .../adm5120-2.6/files/arch/mips/adm5120/boards/infineon.c      |  1 +
 .../linux/adm5120-2.6/files/arch/mips/adm5120/boards/zyxel.c   |  1 +
 4 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/cellvision.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/cellvision.c
index fb844b7bb..fa82b93a1 100644
--- a/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/cellvision.c
+++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/cellvision.c
@@ -101,6 +101,7 @@ static struct platform_device *cas7xx_devices[] __initdata = {
 static void __init cas6xx_setup(void)
 {
 	gpio_request(ADM5120_GPIO_PIN5, NULL);	/* for flash A20 line */
+	gpio_direction_output(ADM5120_GPIO_PIN5, 0);
 
 	/* setup data for flash0 device */
 	adm5120_flash0_data.switch_bank = switch_bank_gpio5;
@@ -113,6 +114,7 @@ static void __init cas6xx_setup(void)
 static void __init cas7xx_setup(void)
 {
 	gpio_request(ADM5120_GPIO_PIN5, NULL);	/* for flash A20 line */
+	gpio_direction_output(ADM5120_GPIO_PIN5, 0);
 
 	/* setup data for flash0 device */
 	adm5120_flash0_data.switch_bank = switch_bank_gpio5;
diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/compex.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/compex.c
index bbc5106e2..7a48cb04c 100644
--- a/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/compex.c
+++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/compex.c
@@ -46,7 +46,7 @@ static void switch_bank_gpio5(unsigned bank)
 
 static void wp54_reset(void)
 {
-	gpio_direction_output(ADM5120_GPIO_PIN3, 0);
+	gpio_set_value(ADM5120_GPIO_PIN3, 0);
 }
 
 static struct mtd_partition wp54g_wrt_partitions[] = {
@@ -78,6 +78,7 @@ static struct platform_device *wp54_devices[] __initdata = {
 static void __init np2xg_setup(void)
 {
 	gpio_request(ADM5120_GPIO_PIN5, NULL); /* for flash A20 line */
+	gpio_direction_output(ADM5120_GPIO_PIN5, 0);
 
 	/* setup data for flash0 device */
 	adm5120_flash0_data.switch_bank = switch_bank_gpio5;
@@ -88,7 +89,11 @@ static void __init np2xg_setup(void)
 static void __init wp54_setup(void)
 {
 	gpio_request(ADM5120_GPIO_PIN5, NULL); /* for flash A20 line */
+	gpio_direction_output(ADM5120_GPIO_PIN5, 0);
+
 	gpio_request(ADM5120_GPIO_PIN3, NULL); /* for system reset */
+	gpio_direction_output(ADM5120_GPIO_PIN3, 1);
+
 
 	/* setup data for flash0 device */
 	adm5120_flash0_data.switch_bank = switch_bank_gpio5;
@@ -99,7 +104,10 @@ static void __init wp54_setup(void)
 static void __init wp54_wrt_setup(void)
 {
 	gpio_request(ADM5120_GPIO_PIN5, NULL); /* for flash A20 line */
+	gpio_direction_output(ADM5120_GPIO_PIN5, 0);
+
 	gpio_request(ADM5120_GPIO_PIN3, NULL); /* for system reset */
+	gpio_direction_output(ADM5120_GPIO_PIN3, 1);
 
 	/* setup data for flash0 device */
 	adm5120_flash0_data.switch_bank = switch_bank_gpio5;
diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/infineon.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/infineon.c
index 30501d95b..ca377d1af 100644
--- a/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/infineon.c
+++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/infineon.c
@@ -68,6 +68,7 @@ static struct platform_device *easy83000_devices[] __initdata = {
 static void __init easy83000_setup(void)
 {
 	gpio_request(ADM5120_GPIO_PIN3, NULL); /* for flash A20 line */
+	gpio_direction_output(ADM5120_GPIO_PIN3, 0);
 
 	/* setup data for flash0 device */
 	adm5120_flash0_data.switch_bank = switch_bank_gpio3;
diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/zyxel.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/zyxel.c
index 8b5787660..f6cdc8af4 100644
--- a/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/zyxel.c
+++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/boards/zyxel.c
@@ -73,6 +73,7 @@ static struct platform_device *p335_devices[] __initdata = {
 static void __init p33x_setup(void)
 {
 	gpio_request(ADM5120_GPIO_PIN5, NULL); /* for flash A20 line */
+	gpio_direction_output(ADM5120_GPIO_PIN5, 0);
 
 	/* setup data for flash0 device */
 	adm5120_flash0_data.switch_bank = switch_bank_gpio5;
-- 
cgit v1.2.3