This series moves the QFW driver into a uclass, UCLASS_QFW, and splits the driver into qfw_pio and qfw_mmio. Each driver is selected on the appropriate QEMU board. A sandbox driver is also added, and a DM unit test against that driver. The qfw command is tested in QEMU, and documentation added.
Version 7 ensures the qfw test assertions work both against real QEMU instances and the sandbox and removes CMD_QFW from the sandbox_spl config. To view the changes online, see: https://git.src.kameliya.ee/~kameliya/u-boot/log/qfw-priv Changes in v7: * Make the qfw tests agnostic to running against a real QEMU instance or in the sandbox. * Remove CONFIG_CMD_QFW=y from sandbox_spl_defconfig, per trini's request. Changes in v6: * Sandbox driver and tests are split into own commit. Changes in v5: * Split conversion of existing x86-only QFW to DM into its own patch. * Split MMIO driver into its own commit. * Split adding MMIO driver to QEMU arm/64 into own commit. Asherah Connor (4): x86: qemu: move QFW to its own uclass test: qemu: add qfw sandbox driver, dm tests, qemu tests qemu: add MMIO driver for QFW qemu: arm: select QFW, MMIO on qemu-arm arch/x86/cpu/qemu/cpu.c | 9 +- arch/x86/cpu/qemu/qemu.c | 49 +------ arch/x86/cpu/qfw_cpu.c | 11 +- board/emulation/qemu-arm/Kconfig | 2 + board/emulation/qemu-x86/Kconfig | 1 + cmd/qfw.c | 56 ++++--- common/Makefile | 2 + common/qfw.c | 105 +++++++++++++ configs/sandbox_spl_defconfig | 1 - drivers/misc/Kconfig | 18 ++- drivers/misc/Makefile | 7 +- drivers/misc/qfw.c | 243 +++++++++++-------------------- drivers/misc/qfw_mmio.c | 119 +++++++++++++++ drivers/misc/qfw_pio.c | 69 +++++++++ drivers/misc/qfw_sandbox.c | 128 ++++++++++++++++ include/dm/uclass-id.h | 1 + include/qfw.h | 200 +++++++++++++++++++++---- test/dm/Makefile | 1 + test/dm/qfw.c | 42 ++++++ test/py/tests/test_qfw.py | 26 ++++ 20 files changed, 817 insertions(+), 273 deletions(-) create mode 100644 common/qfw.c create mode 100644 drivers/misc/qfw_mmio.c create mode 100644 drivers/misc/qfw_pio.c create mode 100644 drivers/misc/qfw_sandbox.c create mode 100644 test/dm/qfw.c create mode 100644 test/py/tests/test_qfw.py -- 2.20.1