Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
pcie_ctrl_driver_api Struct Reference

Driver Operations PCIe Controller driver operations More...

#include <zephyr/drivers/pcie/controller.h>

Data Fields

pcie_ctrl_conf_read_t conf_read
  REQ Read a 32-bit word from an endpoint's configuration space.
pcie_ctrl_conf_write_t conf_write
  REQ Write a 32-bit word to an endpoint's configuration space.
pcie_ctrl_region_allocate_t region_allocate
  REQ Allocate a memory region subset for an endpoint Base Address Register.
pcie_ctrl_region_get_allocate_base_t region_get_allocate_base
  REQ Function called to get the current allocation base of a memory region subset for an endpoint Base Address Register.
pcie_ctrl_region_translate_t region_translate
  OPT Translate an endpoint Base Address Register bus-centric address into Physical address.
pcie_ctrl_msi_device_setup_t msi_device_setup
  REQ Configure the given PCI endpoint to generate MSIs.

Detailed Description

Driver Operations PCIe Controller driver operations

This is the driver API structure any PCIe Controller driver needs to define. It contains function pointers to the operations the driver implements, as well as any other driver-specific constant data.

Members marked with REQ MUST be set by the driver, whereas those marked with OPT are optional.

See also
DEVICE_DT_INST_DEFINE()
DEVICE_DT_DEFINE()
DEVICE_API()

Field Documentation

◆ conf_read

pcie_ctrl_conf_read_t pcie_ctrl_driver_api::conf_read

REQ Read a 32-bit word from an endpoint's configuration space.

◆ conf_write

pcie_ctrl_conf_write_t pcie_ctrl_driver_api::conf_write

REQ Write a 32-bit word to an endpoint's configuration space.

◆ msi_device_setup

pcie_ctrl_msi_device_setup_t pcie_ctrl_driver_api::msi_device_setup

REQ Configure the given PCI endpoint to generate MSIs.

Attention
Available only when the following Kconfig option is enabled: CONFIG_PCIE_MSI.

◆ region_allocate

pcie_ctrl_region_allocate_t pcie_ctrl_driver_api::region_allocate

REQ Allocate a memory region subset for an endpoint Base Address Register.

◆ region_get_allocate_base

pcie_ctrl_region_get_allocate_base_t pcie_ctrl_driver_api::region_get_allocate_base

REQ Function called to get the current allocation base of a memory region subset for an endpoint Base Address Register.

◆ region_translate

pcie_ctrl_region_translate_t pcie_ctrl_driver_api::region_translate

OPT Translate an endpoint Base Address Register bus-centric address into Physical address.


The documentation for this struct was generated from the following file: