Move to driver model pci for Intel quark/galileo. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Simon Glass <sjg@chromium.org>master
parent
316fd3920f
commit
31b5aebd5e
@ -1,70 +0,0 @@ |
||||
/*
|
||||
* Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com> |
||||
* |
||||
* SPDX-License-Identifier: GPL-2.0+ |
||||
*/ |
||||
|
||||
#include <common.h> |
||||
#include <pci.h> |
||||
#include <asm/pci.h> |
||||
#include <asm/arch/device.h> |
||||
|
||||
DECLARE_GLOBAL_DATA_PTR; |
||||
|
||||
void board_pci_setup_hose(struct pci_controller *hose) |
||||
{ |
||||
hose->first_busno = 0; |
||||
hose->last_busno = 0; |
||||
|
||||
/* PCI memory space */ |
||||
pci_set_region(hose->regions + 0, |
||||
CONFIG_PCI_MEM_BUS, |
||||
CONFIG_PCI_MEM_PHYS, |
||||
CONFIG_PCI_MEM_SIZE, |
||||
PCI_REGION_MEM); |
||||
|
||||
/* PCI IO space */ |
||||
pci_set_region(hose->regions + 1, |
||||
CONFIG_PCI_IO_BUS, |
||||
CONFIG_PCI_IO_PHYS, |
||||
CONFIG_PCI_IO_SIZE, |
||||
PCI_REGION_IO); |
||||
|
||||
pci_set_region(hose->regions + 2, |
||||
CONFIG_PCI_PREF_BUS, |
||||
CONFIG_PCI_PREF_PHYS, |
||||
CONFIG_PCI_PREF_SIZE, |
||||
PCI_REGION_PREFETCH); |
||||
|
||||
pci_set_region(hose->regions + 3, |
||||
0, |
||||
0, |
||||
gd->ram_size, |
||||
PCI_REGION_MEM | PCI_REGION_SYS_MEMORY); |
||||
|
||||
hose->region_count = 4; |
||||
} |
||||
|
||||
int board_pci_post_scan(struct pci_controller *hose) |
||||
{ |
||||
return 0; |
||||
} |
||||
|
||||
int pci_skip_dev(struct pci_controller *hose, pci_dev_t dev) |
||||
{ |
||||
/*
|
||||
* TODO: |
||||
* |
||||
* For some unknown reason, the PCI enumeration process hangs |
||||
* when it scans to the PCIe root port 0 (D23:F0) & 1 (D23:F1). |
||||
* |
||||
* For now we just skip these two devices, and this needs to |
||||
* be revisited later. |
||||
*/ |
||||
if (dev == QUARK_HOST_BRIDGE || |
||||
dev == QUARK_PCIE0 || dev == QUARK_PCIE1) { |
||||
return 1; |
||||
} |
||||
|
||||
return 0; |
||||
} |
Loading…
Reference in new issue