diff --git a/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c b/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c index 102fa5615..3d2facfd1 100644 --- a/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c +++ b/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c @@ -242,8 +242,10 @@ static void __init rb1xx_flash_setup(void) static void __init rb153_cf_setup(void) { - /* enable CSX1:INTX1 on GPIO 3:4 for the CF slot */ + /* enable CSX1:INTX1 on GPIO[3:4] for the CF slot */ adm5120_gpio_csx1_enable(); + /* enable the wait state pin GPIO[0] for external I/O control */ + adm5120_gpio_ew_enable(); gpio_request(RB153_GPIO_CF_RDY, "cf-ready"); gpio_direction_input(RB153_GPIO_CF_RDY); diff --git a/target/linux/adm5120/files/arch/mips/adm5120/gpio.c b/target/linux/adm5120/files/arch/mips/adm5120/gpio.c index a6cfdcbe0..a9e6e6bdf 100644 --- a/target/linux/adm5120/files/arch/mips/adm5120/gpio.c +++ b/target/linux/adm5120/files/arch/mips/adm5120/gpio.c @@ -370,6 +370,8 @@ void __init adm5120_gpio_ew_enable(void) t = SW_READ_REG(GPIO_CONF2); t |= GPIO_CONF2_EW; SW_WRITE_REG(GPIO_CONF2, t); + + adm5120_gpio_map[ADM5120_GPIO_PIN0].flags &= ~GPIO_FLAG_VALID; } void __init adm5120_gpio_init(void)