ar71xx: use different address in ap91_pci_fixup for the AR724[012] SoCs
authorGabor Juhos <juhosg@openwrt.org>
Mon, 27 Sep 2010 14:53:43 +0000 (14:53 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Mon, 27 Sep 2010 14:53:43 +0000 (14:53 +0000)
With this change ath9k can handle the wireless chip on the TL-WR841N v7
board which is based on the AR7241 SoC.

SVN-Revision: 23130

target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-pci.c

index e81a01aba764ce65c0b7f26483379e581230c1f6..f24d4697c16c75b51be9e63c1e9f39ca6f02b1ec 100644 (file)
@@ -67,7 +67,20 @@ static void ap91_pci_fixup(struct pci_dev *dev)
        }
 
        /* Setup the PCI device to allow access to the internal registers */
-       pci_write_config_dword(dev, PCI_BASE_ADDRESS_0, 0xffff);
+       switch (ar71xx_soc) {
+       case AR71XX_SOC_AR7240:
+               pci_write_config_dword(dev, PCI_BASE_ADDRESS_0, 0xffff);
+               break;
+
+       case AR71XX_SOC_AR7241:
+       case AR71XX_SOC_AR7242:
+               pci_write_config_dword(dev, PCI_BASE_ADDRESS_0, 0x1000ffff);
+               break;
+
+       default:
+               BUG();
+       }
+
        pci_read_config_word(dev, PCI_COMMAND, &cmd);
        cmd |= PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY;
        pci_write_config_word(dev, PCI_COMMAND, cmd);