diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2011-12-05 18:21:15 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2011-12-05 18:21:15 +0000 |
commit | 8caa31435f5e82d9dd6ca62e995c782eb3e00c26 (patch) | |
tree | adcf231709998a6136bf2b28795e181af249182c /target | |
parent | e8c0dabf9a8d1068e82f62bdc32d5bdc6b6a2d7a (diff) | |
download | upstream-8caa31435f5e82d9dd6ca62e995c782eb3e00c26.tar.gz upstream-8caa31435f5e82d9dd6ca62e995c782eb3e00c26.tar.bz2 upstream-8caa31435f5e82d9dd6ca62e995c782eb3e00c26.zip |
ar71xx: don't register PCI controller on AR934x if PCIE_RC bit is not set
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29456 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/ar71xx/files/arch/mips/ar71xx/pci.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/pci.c b/target/linux/ar71xx/files/arch/mips/ar71xx/pci.c index 8850c0b6b0..f3c6452418 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/pci.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/pci.c @@ -68,6 +68,7 @@ int __init pcibios_map_irq(const struct pci_dev *dev, uint8_t slot, uint8_t pin) int __init ar71xx_pci_init(unsigned nr_irqs, struct ar71xx_pci_irq *map) { + u32 t; int ret = 0; switch (ar71xx_soc) { @@ -86,9 +87,13 @@ int __init ar71xx_pci_init(unsigned nr_irqs, struct ar71xx_pci_irq *map) case AR71XX_SOC_AR9342: case AR71XX_SOC_AR9344: - ret = ar724x_pcibios_init(AR934X_IP2_IRQ_PCIE); - break; + t = ar71xx_reset_rr(AR934X_RESET_REG_BOOTSTRAP); + if (t & AR934X_BOOTSTRAP_PCIE_RC) { + ret = ar724x_pcibios_init(AR934X_IP2_IRQ_PCIE); + break; + } + /* fall through */ default: return 0; } |