4 * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
6 * SPDX-License-Identifier: GPL-2.0+
12 #define DEFINE_PCI_DEVICE_TABLE(_table) \
13 const struct pci_device_id _table[]
15 struct pci_controller;
17 void pci_setup_type1(struct pci_controller *hose);
20 * board_pci_setup_hose() - Set up the PCI hose
22 * This is called by the common x86 PCI code to set up the PCI controller
23 * hose. It may be called when no memory/BSS is available so should just
24 * store things in 'hose' and not in BSS variables.
26 void board_pci_setup_hose(struct pci_controller *hose);
29 * pci_early_init_hose() - Set up PCI host before relocation
31 * This allocates memory for, sets up and returns the PCI hose. It can be
32 * called before relocation. The hose will be stored in gd->arch.hose for
33 * later use, but will become invalid one DRAM is available.
35 int pci_early_init_hose(struct pci_controller **hosep);
38 * Simple PCI access routines - these work from either the early PCI hose
39 * or the 'real' one, created after U-Boot has memory available
41 unsigned int pci_read_config8(pci_dev_t dev, unsigned where);
42 unsigned int pci_read_config16(pci_dev_t dev, unsigned where);
43 unsigned int pci_read_config32(pci_dev_t dev, unsigned where);
45 void pci_write_config8(pci_dev_t dev, unsigned where, unsigned value);
46 void pci_write_config16(pci_dev_t dev, unsigned where, unsigned value);
47 void pci_write_config32(pci_dev_t dev, unsigned where, unsigned value);