Now with tests! This took longer than I thought it would... Changes in v3: - Use a parallel structure for emulation - Add PCI bridge emulation - Add a test
Changes in v2: - Return early if there's no PERST GPIO - Only mdelay if we need to - Use CONFIG_IS_ENABLED to set .probe directly Sean Anderson (3): PCI: sandbox: Use a parallel structure for emulation PCI: sandbox: Add PCI bridge emulation PCI: Add power sequencing driver for PCI slots arch/sandbox/dts/sandbox.dtsi | 16 ++- arch/sandbox/dts/test.dts | 132 +++++++++++++---- arch/sandbox/include/asm/test.h | 1 + configs/sandbox64_defconfig | 2 + configs/sandbox_defconfig | 2 + doc/develop/driver-model/pci-info.rst | 59 ++------ drivers/misc/p2sb_emul.c | 7 +- drivers/misc/swap_case.c | 7 +- drivers/pci/Kconfig | 8 ++ drivers/pci/Makefile | 2 +- drivers/pci/pci-emul-uclass.c | 82 ++++++++--- drivers/pci/pci-uclass.c | 65 +++++++++ drivers/pci/pci_sandbox.c | 94 +++--------- drivers/pci/pci_sandbox_bridge.c | 192 +++++++++++++++++++++++++ include/pci.h | 5 +- test/dm/pci.c | 199 ++++++++++++++++++++++++++ 16 files changed, 694 insertions(+), 179 deletions(-) create mode 100644 drivers/pci/pci_sandbox_bridge.c -- 2.35.1.1320.gc452695387.dirty base-commit: 141be72e2a9d43aa4e3d1a6a6e0ab8f9eb8784c6 branch: pci_pwrseq

