mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-10-11 00:31:45 +00:00
62 lines
1.3 KiB
C
62 lines
1.3 KiB
C
|
/*
|
||
|
* Copyright (C) 2014, 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/fsp/fsp_support.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)
|
||
|
{
|
||
|
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;
|
||
|
}
|