Hi Sean, On Mon, 12 Jan 2026 at 18:21, Sean Anderson <[email protected]> wrote: > > Currently, sandbox associates PCI emulators with PCI devices on a > per-device level. To create this association, the PCI bus needs an ofnode > for each device to include the appropriate phandle, or sandbox,dev-info can > be used to automatically create PCI devices. In the latter case, the > emulator is bound to the PCI device itself! This prevents testing any > U-Boot PCI driver, and also precludes bridges without device tree nodes (as > non-zero busses cannot be specified with sandbox,dev-info). > > Instead of extending sandbox,dev-info, switch to a more-natural approach > where PCI emulators form a parallel tree exactly matching the PCI hierarchy > to emulate. To do the lookup, we walk up the PCI tree until we get to the > root port, look up the emulator, and retrace our steps down the emulator > tree. > > As it's no longer necessary to have device tree nodes just to link to the > appropriate emulator, remove the superfluous ones. 01:10.0 and 02:1f.0 are > left in because they are required by dm_test_pci_drvdata and > dm_test_pci_mixed, respectively. > > Signed-off-by: Sean Anderson <[email protected]> > --- > > Changes in v3: > - New > > arch/sandbox/dts/sandbox.dtsi | 16 +++-- > arch/sandbox/dts/test.dts | 85 +++++++++++++++++------- > doc/develop/driver-model/pci-info.rst | 59 +++++------------ > drivers/misc/p2sb_emul.c | 7 +- > drivers/misc/swap_case.c | 7 +- > drivers/pci/pci-emul-uclass.c | 82 +++++++++++++++++------ > drivers/pci/pci_sandbox.c | 94 +++++---------------------- > include/pci.h | 5 +- > 8 files changed, 179 insertions(+), 176 deletions(-)
Thank you for taking this on. Reviewed-by: Simon Glass <[email protected]>

