zephyr/drivers/pcie/host
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
..
CMakeLists.txt pcie: add initial controller support 2021-11-25 18:37:15 +01:00
controller.c pcie: add initial controller support 2021-11-25 18:37:15 +01:00
Kconfig pcie: add initial controller support 2021-11-25 18:37:15 +01:00
msi.c pcie: use newly introduced IDs define for MSI/MSI-X 2021-09-02 19:37:56 -04:00
pcie_ecam.c pcie: add initial controller support 2021-11-25 18:37:15 +01:00
pcie.c pcie: add initial controller support 2021-11-25 18:37:15 +01:00
ptm.c drivers/pcie: Add PTM root device driver as well as implement PTM API 2021-11-04 11:06:02 -04:00
ptm.h drivers/pcie: Add PTM root device driver as well as implement PTM API 2021-11-04 11:06:02 -04:00
shell.c shell: Add __printf_like to shell_fprintf 2021-10-14 16:32:19 -04:00