CF driver cleanup
[librecmc/librecmc.git] / target / linux / adm5120 / files / arch / mips / adm5120 / boards / mikrotik.c
index 41004964bd26a2cd1392f20827b8228bb295424e..1af14ab9081eb97d142c65406a97d80bdbd869c1 100644 (file)
@@ -59,6 +59,9 @@
 #define RB150_NAND_WRITE(v) \
        writeb((v), (void __iomem *)KSEG1ADDR(RB150_NAND_BASE))
 
+#define RB153_GPIO_CF_RDY      ADM5120_GPIO_P1L1
+#define RB153_GPIO_CF_WT       ADM5120_GPIO_P0L0
+
 /*--------------------------------------------------------------------------*/
 
 static struct adm5120_pci_irq rb1xx_pci_irqs[] __initdata = {
@@ -233,6 +236,15 @@ static void __init rb1xx_flash_setup(void)
        adm5120_nand_data.chip.options = NAND_NO_AUTOINCR;
 }
 
+static void __init rb153_cf_setup(void)
+{
+       gpio_request(RB153_GPIO_CF_RDY, "cf-ready");
+       gpio_direction_input(RB153_GPIO_CF_RDY);
+       gpio_request(RB153_GPIO_CF_WT, "cf-wait");
+       gpio_direction_output(RB153_GPIO_CF_WT, 1);
+       gpio_direction_input(RB153_GPIO_CF_WT);
+}
+
 static void __init rb1xx_setup(void)
 {
        /* enable NAND flash interface */
@@ -269,6 +281,12 @@ static void __init rb150_setup(void)
        rb1xx_mac_setup();
 }
 
+static void __init rb153_setup(void)
+{
+       rb150_setup();
+       rb153_cf_setup();
+}
+
 /*--------------------------------------------------------------------------*/
 
 ADM5120_BOARD_START(RB_111, "Mikrotik RouterBOARD 111")
@@ -320,7 +338,7 @@ ADM5120_BOARD_START(RB_150, "Mikrotik RouterBOARD 150")
 ADM5120_BOARD_END
 
 ADM5120_BOARD_START(RB_153, "Mikrotik RouterBOARD 153")
-       .board_setup    = rb1xx_setup,
+       .board_setup    = rb153_setup,
        .eth_num_ports  = 5,
        .eth_vlans      = rb15x_vlans,
        .num_devices    = ARRAY_SIZE(rb153_devices),