mbox series

[v5,0/3] Move qfw to DM, add Arm support

Message ID 20210301063451.5156-1-ashe@kivikakk.ee
Headers show
Series Move qfw to DM, add Arm support | expand

Message

Asherah Connor March 1, 2021, 6:34 a.m. UTC
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 5 reworks the series into three patches:
1. Do the DM conversion of existing QFW on x86
2. Add MMIO driver
3. Add the MMIO driver to qemu-arm

To view the changes online, see:
https://git.src.kameliya.ee/~kameliya/u-boot/log/qfw-priv

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 (3):
  x86: qemu: move QFW to its own uclass
  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 +++++++++++++
 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        |  21 +++
 19 files changed, 812 insertions(+), 272 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