[PATCH v3 0/3] PCI: Add power sequencing driver for PCI slots

Sean Anderson
2026-01-13T01:21:22Z

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