summaryrefslogtreecommitdiffstats
path: root/target/linux/ifxmips/files/arch/mips/pci
diff options
context:
space:
mode:
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-03-18 10:56:00 +0000
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-03-18 10:56:00 +0000
commit044148567bf569ece113605dabad577a32f70914 (patch)
treeb044cc308fb47bec9aae6276c10ffa97c3213227 /target/linux/ifxmips/files/arch/mips/pci
parent49c88191580513a8ae0e3c7e0ddcbc877ccd78c6 (diff)
[ifxmips] Make it possible for boards to disable PCI REQ signals in the PCI controller, signed off by Ithamar R. Adema
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20264 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ifxmips/files/arch/mips/pci')
-rw-r--r--target/linux/ifxmips/files/arch/mips/pci/pci-ifxmips.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/target/linux/ifxmips/files/arch/mips/pci/pci-ifxmips.c b/target/linux/ifxmips/files/arch/mips/pci/pci-ifxmips.c
index 64f37d556..6ff765e85 100644
--- a/target/linux/ifxmips/files/arch/mips/pci/pci-ifxmips.c
+++ b/target/linux/ifxmips/files/arch/mips/pci/pci-ifxmips.c
@@ -54,6 +54,10 @@ static struct pci_controller ifxmips_pci_controller =
u32 ifxmips_pci_mapped_cfg;
int ifxmips_pci_external_clock = 0;
+/* Since the PCI REQ pins can be reused for other functionality, make it possible
+ to exclude those from interpretation by the PCI controller */
+int ifxmips_pci_req_mask = 0xf;
+
static int __init
ifxmips_pci_set_external_clk(char *str)
{
@@ -126,7 +130,7 @@ ifxmips_pci_startup(void)
/* enable external 2 PCI masters */
temp_buffer = ifxmips_r32(PCI_CR_PC_ARB);
- temp_buffer &= (~(0xf << 16));
+ temp_buffer &= (~(ifxmips_pci_req_mask << 16));
/* enable internal arbiter */
temp_buffer |= (1 << INTERNAL_ARB_ENABLE_BIT);
/* enable internal PCI master reqest */