summaryrefslogtreecommitdiff
path: root/arch/mips/include/asm/netlogic/xlp-hal/pcibus.h
diff options
context:
space:
mode:
authorJayachandran C <jchandra@broadcom.com>2013-12-21 15:22:27 +0400
committerRalf Baechle <ralf@linux-mips.org>2014-01-25 01:39:49 +0400
commitb6ba1c5294c3f51fd4cf8b0d60de4ba82ef2a1c9 (patch)
treef7d2f610de3852e8ded2d485c24bb52327039dea /arch/mips/include/asm/netlogic/xlp-hal/pcibus.h
parent98d4884ca55883e8b16180bd969a8bccaa885c80 (diff)
downloadlinux-b6ba1c5294c3f51fd4cf8b0d60de4ba82ef2a1c9.tar.xz
MIPS: PCI: Netlogic XLP9XX support
Add PCI support for Netlogic XLP9XX. The PCI registers and SoC bus numbers have changed in XLP9XX. Also skip a few (bus,dev,fn) combinations which have issues when read. Signed-off-by: Jayachandran C <jchandra@broadcom.com> Signed-off-by: John Crispin <blogic@openwrt.org> Patchwork: http://patchwork.linux-mips.org/patch/6284/
Diffstat (limited to 'arch/mips/include/asm/netlogic/xlp-hal/pcibus.h')
-rw-r--r--arch/mips/include/asm/netlogic/xlp-hal/pcibus.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/mips/include/asm/netlogic/xlp-hal/pcibus.h b/arch/mips/include/asm/netlogic/xlp-hal/pcibus.h
index 0fac32b1d8ba..d4deb87ad069 100644
--- a/arch/mips/include/asm/netlogic/xlp-hal/pcibus.h
+++ b/arch/mips/include/asm/netlogic/xlp-hal/pcibus.h
@@ -63,6 +63,12 @@
#define PCIE_INT_EN0 0x261
#define PCIE_INT_EN1 0x262
+/* XLP9XX has basic changes */
+#define PCIE_9XX_BYTE_SWAP_MEM_BASE 0x25c
+#define PCIE_9XX_BYTE_SWAP_MEM_LIM 0x25d
+#define PCIE_9XX_BYTE_SWAP_IO_BASE 0x25e
+#define PCIE_9XX_BYTE_SWAP_IO_LIM 0x25f
+
/* other */
#define PCIE_NLINKS 4
@@ -78,8 +84,8 @@
#define nlm_read_pcie_reg(b, r) nlm_read_reg(b, r)
#define nlm_write_pcie_reg(b, r, v) nlm_write_reg(b, r, v)
-#define nlm_get_pcie_base(node, inst) \
- nlm_pcicfg_base(XLP_IO_PCIE_OFFSET(node, inst))
+#define nlm_get_pcie_base(node, inst) nlm_pcicfg_base(cpu_is_xlp9xx() ? \
+ XLP9XX_IO_PCIE_OFFSET(node, inst) : XLP_IO_PCIE_OFFSET(node, inst))
#ifdef CONFIG_PCI_MSI
void xlp_init_node_msi_irqs(int node, int link);