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 fb844b7bbd..fa82b93a11 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 bbc5106e20..7a48cb04c5 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 30501d95b1..ca377d1af4 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 8b57876607..f6cdc8af4a 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;