Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
|
Public APIs for the PCIe Controllers drivers. More...
Go to the source code of this file.
Data Structures | |
struct | pcie_ctrl_driver_api |
Structure providing callbacks to be implemented for devices that supports the PCI Express Controller API. More... | |
struct | pcie_ctrl_config |
Structure describing a device that supports the PCI Express Controller API. More... | |
Macros | |
#define | PCIE_RANGE_FORMAT(node_id, idx) |
Typedefs | |
typedef uint32_t(* | pcie_ctrl_conf_read_t) (const struct device *dev, pcie_bdf_t bdf, unsigned int reg) |
Function called to read a 32-bit word from an endpoint's configuration space. | |
typedef void(* | pcie_ctrl_conf_write_t) (const struct device *dev, pcie_bdf_t bdf, unsigned int reg, uint32_t data) |
Function called to write a 32-bit word to an endpoint's configuration space. | |
typedef bool(* | pcie_ctrl_region_allocate_t) (const struct device *dev, pcie_bdf_t bdf, bool mem, bool mem64, size_t bar_size, uintptr_t *bar_bus_addr) |
Function called to allocate a memory region subset for an endpoint Base Address Register. | |
typedef bool(* | pcie_ctrl_region_get_allocate_base_t) (const struct device *dev, pcie_bdf_t bdf, bool mem, bool mem64, size_t align, uintptr_t *bar_base_addr) |
Function called to get the current allocation base of a memory region subset for an endpoint Base Address Register. | |
typedef bool(* | pcie_ctrl_region_translate_t) (const struct device *dev, pcie_bdf_t bdf, bool mem, bool mem64, uintptr_t bar_bus_addr, uintptr_t *bar_addr) |
Function called to translate an endpoint Base Address Register bus-centric address into Physical address. | |
Functions | |
uint32_t | pcie_generic_ctrl_conf_read (mm_reg_t cfg_addr, pcie_bdf_t bdf, unsigned int reg) |
Read a 32-bit word from a Memory-Mapped endpoint's configuration space. | |
void | pcie_generic_ctrl_conf_write (mm_reg_t cfg_addr, pcie_bdf_t bdf, unsigned int reg, uint32_t data) |
Write a 32-bit word to a Memory-Mapped endpoint's configuration space. | |
void | pcie_generic_ctrl_enumerate (const struct device *dev, pcie_bdf_t bdf_start) |
Start PCIe Endpoints enumeration. | |
static uint32_t | pcie_ctrl_conf_read (const struct device *dev, pcie_bdf_t bdf, unsigned int reg) |
Read a 32-bit word from an endpoint's configuration space. | |
static void | pcie_ctrl_conf_write (const struct device *dev, pcie_bdf_t bdf, unsigned int reg, uint32_t data) |
Write a 32-bit word to an endpoint's configuration space. | |
static bool | pcie_ctrl_region_allocate (const struct device *dev, pcie_bdf_t bdf, bool mem, bool mem64, size_t bar_size, uintptr_t *bar_bus_addr) |
Allocate a memory region subset for an endpoint Base Address Register. | |
static bool | pcie_ctrl_region_get_allocate_base (const struct device *dev, pcie_bdf_t bdf, bool mem, bool mem64, size_t align, uintptr_t *bar_base_addr) |
Function called to get the current allocation base of a memory region subset for an endpoint Base Address Register. | |
static bool | pcie_ctrl_region_translate (const struct device *dev, pcie_bdf_t bdf, bool mem, bool mem64, uintptr_t bar_bus_addr, uintptr_t *bar_addr) |
Translate an endpoint Base Address Register bus-centric address into Physical address. | |
Public APIs for the PCIe Controllers drivers.