Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
PCIe Endpoint Driver Backend API

Data Structures

struct  pcie_ep_driver_api
  Driver Operations PCIe Endpoint driver operations More...

Typedefs

typedef int(* pcie_ep_api_conf_read) (const struct device *dev, uint32_t offset, uint32_t *data)
 Type definition of PCIe EP API function for reading the configuration space.
typedef void(* pcie_ep_api_conf_write) (const struct device *dev, uint32_t offset, uint32_t data)
 Type definition of PCIe EP API function for writing the configuration space.
typedef int(* pcie_ep_api_map_addr) (const struct device *dev, uint64_t pcie_addr, uint64_t *mapped_addr, uint32_t size, enum pcie_ob_mem_type ob_mem_type)
 Type definition of PCIe EP API function for mapping a Host address.
typedef void(* pcie_ep_api_unmap_addr) (const struct device *dev, uint64_t mapped_addr)
 Type definition of PCIe EP API function for unmapping a Host address.
typedef int(* pcie_ep_api_raise_irq) (const struct device *dev, enum pci_ep_irq_type irq_type, uint32_t irq_num)
 Type definition of PCIe EP API function for raising an interrupt to the Host.
typedef int(* pcie_ep_api_register_reset_cb) (const struct device *dev, enum pcie_reset reset, pcie_ep_reset_callback_t cb, void *arg)
 Type definition of PCIe EP API function for registering a reset callback.
typedef int(* pcie_ep_api_dma_xfer) (const struct device *dev, uint64_t mapped_addr, uintptr_t local_addr, uint32_t size, enum xfer_direction dir)
 Type definition of PCIe EP API function for data transfer using the system DMA.

Detailed Description

This group contains the API type definitions, callback signatures, and other helpers required to implement a PCIe Endpoint driver.

Typedef Documentation

◆ pcie_ep_api_conf_read

typedef int(* pcie_ep_api_conf_read) (const struct device *dev, uint32_t offset, uint32_t *data)

#include <zephyr/drivers/pcie/endpoint/pcie_ep.h>

Type definition of PCIe EP API function for reading the configuration space.

See pcie_ep_conf_read() for argument descriptions.

◆ pcie_ep_api_conf_write

typedef void(* pcie_ep_api_conf_write) (const struct device *dev, uint32_t offset, uint32_t data)

#include <zephyr/drivers/pcie/endpoint/pcie_ep.h>

Type definition of PCIe EP API function for writing the configuration space.

See pcie_ep_conf_write() for argument descriptions.

◆ pcie_ep_api_dma_xfer

typedef int(* pcie_ep_api_dma_xfer) (const struct device *dev, uint64_t mapped_addr, uintptr_t local_addr, uint32_t size, enum xfer_direction dir)

#include <zephyr/drivers/pcie/endpoint/pcie_ep.h>

Type definition of PCIe EP API function for data transfer using the system DMA.

See pcie_ep_dma_xfer() for argument descriptions.

◆ pcie_ep_api_map_addr

typedef int(* pcie_ep_api_map_addr) (const struct device *dev, uint64_t pcie_addr, uint64_t *mapped_addr, uint32_t size, enum pcie_ob_mem_type ob_mem_type)

#include <zephyr/drivers/pcie/endpoint/pcie_ep.h>

Type definition of PCIe EP API function for mapping a Host address.

See pcie_ep_map_addr() for argument descriptions.

◆ pcie_ep_api_raise_irq

typedef int(* pcie_ep_api_raise_irq) (const struct device *dev, enum pci_ep_irq_type irq_type, uint32_t irq_num)

#include <zephyr/drivers/pcie/endpoint/pcie_ep.h>

Type definition of PCIe EP API function for raising an interrupt to the Host.

See pcie_ep_raise_irq() for argument descriptions.

◆ pcie_ep_api_register_reset_cb

typedef int(* pcie_ep_api_register_reset_cb) (const struct device *dev, enum pcie_reset reset, pcie_ep_reset_callback_t cb, void *arg)

#include <zephyr/drivers/pcie/endpoint/pcie_ep.h>

Type definition of PCIe EP API function for registering a reset callback.

See pcie_ep_register_reset_cb() for argument descriptions.

◆ pcie_ep_api_unmap_addr

typedef void(* pcie_ep_api_unmap_addr) (const struct device *dev, uint64_t mapped_addr)

#include <zephyr/drivers/pcie/endpoint/pcie_ep.h>

Type definition of PCIe EP API function for unmapping a Host address.

See pcie_ep_unmap_addr() for argument descriptions.