/* * Copyright (C) 2014, Bin Meng * * SPDX-License-Identifier: GPL-2.0+ */ #include #include #include #include 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) { u32 status; /* call into FspNotify */ debug("Calling into FSP (notify phase INIT_PHASE_PCI): "); status = fsp_notify(NULL, INIT_PHASE_PCI); if (status != FSP_SUCCESS) debug("fail, error code %x\n", status); else debug("OK\n"); return 0; }