The UFS controller implementation is currently tied to its PCI QOM
device. This series separates the controller core from the PCI frontend
and adds a reusable SysBus frontend, following the AHCI model.

The existing "ufs" PCI device and its properties remain unchanged.
Platform-specific controllers can derive from TYPE_SYSBUS_UFS and keep
only their hardware-specific behavior.

Jeuk Kim (2):
  hw/ufs: Separate the controller core from the PCI frontend
  hw/ufs: Add a generic SysBus frontend

 hw/ufs/Kconfig      |   9 ++++
 hw/ufs/lu.c         |   2 +-
 hw/ufs/meson.build  |   4 +-
 hw/ufs/trace-events |   4 +-
 hw/ufs/ufs-pci.c    | 112 ++++++++++++++++++++++++++++++++++++++++++++
 hw/ufs/ufs-sysbus.c |  81 ++++++++++++++++++++++++++++++++
 hw/ufs/ufs-sysbus.h |  22 +++++++++
 hw/ufs/ufs.c        | 108 +++++++++---------------------------------
 hw/ufs/ufs.h        |  14 ++++--
 9 files changed, 262 insertions(+), 94 deletions(-)
 create mode 100644 hw/ufs/ufs-pci.c
 create mode 100644 hw/ufs/ufs-sysbus.c
 create mode 100644 hw/ufs/ufs-sysbus.h

-- 
2.43.0

Reply via email to