qemu-cr16/hw/pci-host/Kconfig
Jamin Lin 303e8dc29f hw/pci-host/aspeed: Add AST2600 PCIe PHY model
This patch introduces an initial ASPEED PCIe PHY/host controller model to
support the AST2600 SoC. It provides a simple register block with MMIO
read/write callbacks, integration into the build system, and trace events
for debugging.

Key changes:

1. PCIe PHY MMIO read/write callbacks
   Implemented aspeed_pcie_phy_read() and aspeed_pcie_phy_write() to
   handle 32-bit register accesses.

2. Build system and Kconfig integration
   Added CONFIG_PCI_EXPRESS_ASPEED in hw/pci-host/Kconfig and meson
   rules.
   Updated ASPEED_SOC in hw/arm/Kconfig to imply PCI_DEVICES and select
   PCI_EXPRESS_ASPEED.

3. Trace events for debug
   New tracepoints aspeed_pcie_phy_read and aspeed_pcie_phy_write allow
   monitoring MMIO accesses.

4. Register space and defaults (AST2600 reference)
   Expose a 0x100 register space, as documented in the AST2600 datasheet.
   On reset, set default values:
   PEHR_ID: Vendor ID = ASPEED, Device ID = 0x1150
   PEHR_CLASS_CODE = 0x06040006
   PEHR_DATALINK = 0xD7040022
   PEHR_LINK: bit[5] set to 1 to indicate link up.

This provides a skeleton device for the AST2600 platform. It enables
firmware to detect the PCIe link as up by default and allows future
extension.

This commit is the starting point of the series to introduce ASPEED PCIe
Root Complex (RC) support. Based on previous work from Cédric Le Goater,
the following commits in this series extend and refine the implementation:

- Add a PCIe Root Port so that devices can be attached without requiring an
extra bridge.
- Restrict the Root Port device instantiation to the AST2600 platform.
- Integrate aspeed_cfg_translate_write() to support both AST2600 and AST2700.
- Add MSI support and a preliminary RC IOMMU address space.
- Fix issues with MSI interrupt clearing.
- Extend support to the AST2700 SoC.
- Drop the AST2600 RC_L support.
- Introduce PCIe RC functional tests covering both AST2600 and AST2700.

Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Link: https://lore.kernel.org/qemu-devel/20250919093017.338309-3-jamin_lin@aspeedtech.com
Signed-off-by: Cédric Le Goater <clg@redhat.com>
2025-09-29 18:00:20 +02:00

114 lines
1.4 KiB
Text

config PAM
bool
config XEN_IGD_PASSTHROUGH
bool
default y
depends on XEN && PCI_I440FX
config PPC4XX_PCI
bool
select PCI
config PPC440_PCIX
bool
select PCI
config RAVEN_PCI
bool
select PCI
select OR_IRQ
config GRACKLE_PCI
select PCI
bool
config UNIN_PCI
bool
select PCI
select DEC_PCI
select OPENPIC
config PPCE500_PCI
select PCI
bool
config VERSATILE_PCI
select PCI
bool
config PCI_SABRE
select PCI
bool
config PCI_I440FX
bool
select PCI
select PAM
config PCI_EXPRESS_ASPEED
bool
select PCI_EXPRESS
config PCI_EXPRESS_Q35
bool
select PCI_EXPRESS
select PAM
config PCI_EXPRESS_GENERIC_BRIDGE
bool
select PCI_EXPRESS
imply ACPI_PCI
config PCI_EXPRESS_XILINX
bool
select PCI_EXPRESS
config PCI_EXPRESS_DESIGNWARE
bool
select PCI_EXPRESS
select MSI_NONBROKEN
config PCI_BONITO
select PCI
select UNIMP
bool
config PCI_POWERNV
select PCI_EXPRESS
select MSI_NONBROKEN
select PCIE_PORT
config REMOTE_PCIHOST
bool
config SH_PCI
bool
select PCI
config ARTICIA
bool
select PCI
select I8259
config MV64361
bool
select PCI
select I8259
config DINO
bool
select PCI
config ASTRO
bool
select PCI
config PCI_EXPRESS_FSL_IMX8M_PHY
bool
config GT64120
bool
select PCI
select EMPTY_SLOT
select I8259