zephyr/include/drivers/pcie
Neil Armstrong f8f2936dba pcie: add initial controller support
This adds :
- Generic PCIe Controller layer implementing the current PCIe API
- Generic PCIe Controller in ECAM mode driver

The Generic PCIe Controller layer provides:
- Configuration space read/write
- single bus endpoint enumerations
- Endpoint I/O, MEM & MEM64 BARs allocation
- Endpoint I/O, MEM & MEM64 BARs get & translation for drivers

The Generic PCIe Controller in ECAM mode driver provides:
- Raw DT RANGES properties into usable PCIe regions
- Configuration space read/write into ECAM config space
- PCIe regions allocation & translation

The limitations are:
- No support for PCIe prefetchable regions
- No support for PCIe bus configuration (only bus0 is supported)
- No support for multiple controllers (no domain-id in BDF)

Support has been designed to initially support Root Complexes with
Root Complex Integrated Endpoint, which was designed for Embedded
Systems with internal-only PCIe Endpoints on bus 0.

Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
2021-11-25 18:37:15 +01:00
..
endpoint drivers: pcie_ep: Add API to achieve data transfer with system DMA 2020-12-01 14:56:59 -05:00
cap.h include/pcie: Rename capability prefix 2021-11-04 11:06:02 -04:00
controller.h pcie: add PCIe Controller API 2021-11-25 18:37:15 +01:00
msi.h pcie: shell: Print more MSI-X information 2021-09-03 10:09:05 -04:00
pcie.h pcie: add initial controller support 2021-11-25 18:37:15 +01:00
ptm.h include/pcie: Add PTM API 2021-11-04 11:06:02 -04:00