3 #ifndef AMD_BLOCK_DATA_FABRIC_H
4 #define AMD_BLOCK_DATA_FABRIC_H
8 #include <soc/pci_devs.h>
11 #define BROADCAST_FABRIC_ID 0xff
14 #define D18F0_MMIO_BASE0 0x200
15 #define D18F0_MMIO_LIMIT0 0x204
16 #define D18F0_MMIO_SHIFT 16
17 #define D18F0_MMIO_CTRL0 0x208
19 #define DF_MMIO_DST_FABRIC_ID_SHIFT 4
20 #define DF_MMIO_WE BIT(1)
21 #define DF_MMIO_RE BIT(0)
24 #define NB_MMIO_BASE(reg) ((reg) * 4 * sizeof(uint32_t) + D18F0_MMIO_BASE0)
25 #define NB_MMIO_LIMIT(reg) ((reg) * 4 * sizeof(uint32_t) + D18F0_MMIO_LIMIT0)
26 #define NB_MMIO_CONTROL(reg) ((reg) * 4 * sizeof(uint32_t) + D18F0_MMIO_CTRL0)
static __always_inline uint32_t data_fabric_broadcast_read32(uint8_t function, uint16_t reg)
void data_fabric_print_mmio_conf(void)
static __always_inline void data_fabric_broadcast_write32(uint8_t function, uint16_t reg, uint32_t data)
void data_fabric_disable_mmio_reg(unsigned int reg)
int data_fabric_find_unused_mmio_reg(void)
void data_fabric_write32(uint8_t function, uint16_t reg, uint8_t instance_id, uint32_t data)
uint32_t data_fabric_read32(uint8_t function, uint16_t reg, uint8_t instance_id)
static __always_inline void pci_write_config32(const struct device *dev, u16 reg, u32 val)
static __always_inline u32 pci_read_config32(const struct device *dev, u16 reg)
#define _SOC_DEV(slot, func)