ar71xx: add initial support for the TL-WR741ND v4 board
[openwrt/openwrt.git] / target / linux / ar71xx / files / arch / mips / ar71xx / dev-ap94-pci.c
index 1fd40bb62803a828b4ac25d09529a3c676cd402c..05b5be4491b0d3793b4c904fb90829f0ceef1eec 100644 (file)
@@ -28,20 +28,20 @@ static char ap94_wmac0_mac[6];
 static char ap94_wmac1_mac[6];
 
 static struct ar71xx_pci_irq ap94_pci_irqs[] __initdata = {
-        {
-                .slot   = 0,
-                .pin    = 1,
-                .irq    = AR71XX_PCI_IRQ_DEV0,
-        }, {
-                .slot   = 1,
-                .pin    = 1,
-                .irq    = AR71XX_PCI_IRQ_DEV1,
-        }
+       {
+               .slot   = 0,
+               .pin    = 1,
+               .irq    = AR71XX_PCI_IRQ_DEV0,
+       }, {
+               .slot   = 1,
+               .pin    = 1,
+               .irq    = AR71XX_PCI_IRQ_DEV1,
+       }
 };
 
 static int ap94_pci_plat_dev_init(struct pci_dev *dev)
 {
-       switch(PCI_SLOT(dev->devfn)) {
+       switch (PCI_SLOT(dev->devfn)) {
        case 17:
                dev->dev.platform_data = &ap94_wmac0_data;
                break;
@@ -54,19 +54,30 @@ static int ap94_pci_plat_dev_init(struct pci_dev *dev)
        return 0;
 }
 
-void __init ap94_pci_enable_quirk_wndr3700(void)
+__init void ap94_pci_setup_wmac_led_pin(unsigned wmac, int pin)
 {
-       /* WNDR3700 uses GPIO 6-9 for antenna configuration */
-
-       ap94_wmac0_data.led_pin = 5;
-       ap94_wmac0_data.gpio_mask = (0xf << 6);
-       /* 2.4 GHz uses the first fixed antenna group (0, 1, 0, 1) */
-       ap94_wmac0_data.gpio_val = (5 << 6);
+       switch (wmac) {
+       case 0:
+               ap94_wmac0_data.led_pin = pin;
+               break;
+       case 1:
+               ap94_wmac1_data.led_pin = pin;
+               break;
+       }
+}
 
-       ap94_wmac1_data.led_pin = 5;
-       ap94_wmac1_data.gpio_mask = (0xf << 6);
-       /* 5 GHz uses the second fixed antenna group (0, 1, 1, 0) */
-       ap94_wmac1_data.gpio_val = (6 << 6);
+__init void ap94_pci_setup_wmac_gpio(unsigned wmac, u32 mask, u32 val)
+{
+       switch (wmac) {
+       case 0:
+               ap94_wmac0_data.gpio_mask = mask;
+               ap94_wmac0_data.gpio_val = val;
+               break;
+       case 1:
+               ap94_wmac1_data.gpio_mask = mask;
+               ap94_wmac1_data.gpio_val = val;
+               break;
+       }
 }
 
 void __init ap94_pci_init(u8 *cal_data0, u8 *mac_addr0,