diff options
Diffstat (limited to 'drivers/bcma/driver_pci_host.c')
-rw-r--r-- | drivers/bcma/driver_pci_host.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/bcma/driver_pci_host.c b/drivers/bcma/driver_pci_host.c index 9baf886e82df..e56449506695 100644 --- a/drivers/bcma/driver_pci_host.c +++ b/drivers/bcma/driver_pci_host.c | |||
@@ -35,11 +35,6 @@ bool __devinit bcma_core_pci_is_in_hostmode(struct bcma_drv_pci *pc) | |||
35 | chipid_top != 0x5300) | 35 | chipid_top != 0x5300) |
36 | return false; | 36 | return false; |
37 | 37 | ||
38 | if (bus->sprom.boardflags_lo & BCMA_CORE_PCI_BFL_NOPCI) { | ||
39 | bcma_info(bus, "This PCI core is disabled and not working\n"); | ||
40 | return false; | ||
41 | } | ||
42 | |||
43 | bcma_core_enable(pc->core, 0); | 38 | bcma_core_enable(pc->core, 0); |
44 | 39 | ||
45 | return !mips_busprobe32(tmp, pc->core->io_addr); | 40 | return !mips_busprobe32(tmp, pc->core->io_addr); |
@@ -396,6 +391,11 @@ void __devinit bcma_core_pci_hostmode_init(struct bcma_drv_pci *pc) | |||
396 | 391 | ||
397 | bcma_info(bus, "PCIEcore in host mode found\n"); | 392 | bcma_info(bus, "PCIEcore in host mode found\n"); |
398 | 393 | ||
394 | if (bus->sprom.boardflags_lo & BCMA_CORE_PCI_BFL_NOPCI) { | ||
395 | bcma_info(bus, "This PCIE core is disabled and not working\n"); | ||
396 | return; | ||
397 | } | ||
398 | |||
399 | pc_host = kzalloc(sizeof(*pc_host), GFP_KERNEL); | 399 | pc_host = kzalloc(sizeof(*pc_host), GFP_KERNEL); |
400 | if (!pc_host) { | 400 | if (!pc_host) { |
401 | bcma_err(bus, "can not allocate memory"); | 401 | bcma_err(bus, "can not allocate memory"); |
@@ -452,6 +452,8 @@ void __devinit bcma_core_pci_hostmode_init(struct bcma_drv_pci *pc) | |||
452 | pc_host->mem_resource.start = BCMA_SOC_PCI_MEM; | 452 | pc_host->mem_resource.start = BCMA_SOC_PCI_MEM; |
453 | pc_host->mem_resource.end = BCMA_SOC_PCI_MEM + | 453 | pc_host->mem_resource.end = BCMA_SOC_PCI_MEM + |
454 | BCMA_SOC_PCI_MEM_SZ - 1; | 454 | BCMA_SOC_PCI_MEM_SZ - 1; |
455 | pc_host->io_resource.start = 0x100; | ||
456 | pc_host->io_resource.end = 0x47F; | ||
455 | pci_membase_1G = BCMA_SOC_PCIE_DMA_H32; | 457 | pci_membase_1G = BCMA_SOC_PCIE_DMA_H32; |
456 | pcicore_write32(pc, BCMA_CORE_PCI_SBTOPCI0, | 458 | pcicore_write32(pc, BCMA_CORE_PCI_SBTOPCI0, |
457 | tmp | BCMA_SOC_PCI_MEM); | 459 | tmp | BCMA_SOC_PCI_MEM); |
@@ -459,6 +461,8 @@ void __devinit bcma_core_pci_hostmode_init(struct bcma_drv_pci *pc) | |||
459 | pc_host->mem_resource.start = BCMA_SOC_PCI1_MEM; | 461 | pc_host->mem_resource.start = BCMA_SOC_PCI1_MEM; |
460 | pc_host->mem_resource.end = BCMA_SOC_PCI1_MEM + | 462 | pc_host->mem_resource.end = BCMA_SOC_PCI1_MEM + |
461 | BCMA_SOC_PCI_MEM_SZ - 1; | 463 | BCMA_SOC_PCI_MEM_SZ - 1; |
464 | pc_host->io_resource.start = 0x480; | ||
465 | pc_host->io_resource.end = 0x7FF; | ||
462 | pci_membase_1G = BCMA_SOC_PCIE1_DMA_H32; | 466 | pci_membase_1G = BCMA_SOC_PCIE1_DMA_H32; |
463 | pc_host->host_cfg_addr = BCMA_SOC_PCI1_CFG; | 467 | pc_host->host_cfg_addr = BCMA_SOC_PCI1_CFG; |
464 | pcicore_write32(pc, BCMA_CORE_PCI_SBTOPCI0, | 468 | pcicore_write32(pc, BCMA_CORE_PCI_SBTOPCI0, |