3 #ifndef _PCI_MMIO_CFG_H
4 #define _PCI_MMIO_CFG_H
28 #if CONFIG(ECAM_MMCONF_SUPPORT)
30 #if CONFIG_ECAM_MMCONF_BASE_ADDRESS == 0
31 #error "CONFIG_ECAM_MMCONF_BASE_ADDRESS undefined!"
34 #if CONFIG_ECAM_MMCONF_BUS_NUMBER * MiB != CONFIG_ECAM_MMCONF_LENGTH
35 #error "CONFIG_ECAM_MMCONF_LENGTH does not correspond with CONFIG_ECAM_MMCONF_BUS_NUMBER!"
static __always_inline uint32_t pci_s_read_config32(pci_devfn_t dev, uint16_t reg)
volatile union pci_bank * pci_map_bus(pci_devfn_t dev)
static __always_inline uint16_t pci_s_read_config16(pci_devfn_t dev, uint16_t reg)
static __always_inline uint8_t pci_s_read_config8(pci_devfn_t dev, uint16_t reg)
static __always_inline void pci_s_write_config8(pci_devfn_t dev, uint16_t reg, uint8_t value)
static __always_inline uint8_t * pci_mmio_config8_addr(pci_devfn_t dev, uint16_t reg)
static __always_inline void pci_s_write_config16(pci_devfn_t dev, uint16_t reg, uint16_t value)
static __always_inline uint32_t * pci_mmio_config32_addr(pci_devfn_t dev, uint16_t reg)
static __always_inline uint16_t * pci_mmio_config16_addr(pci_devfn_t dev, uint16_t reg)
static __always_inline void pci_s_write_config32(pci_devfn_t dev, uint16_t reg, uint32_t value)
#define PCI_DEVFN_OFFSET(x)
uint16_t reg16[4096/sizeof(uint16_t)]
uint32_t reg32[4096/sizeof(uint32_t)]