[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 00/16] i3c: aspeed: Add I3C support
From: |
Ben Dooks |
Subject: |
Re: [PATCH 00/16] i3c: aspeed: Add I3C support |
Date: |
Sat, 1 Apr 2023 18:28:25 +0100 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
On Fri, Mar 31, 2023 at 01:01:15AM +0000, Joe Komlodi wrote:
> Hi all,
>
> This series adds I3C bus support to QEMU and adds more functionality to the
> Aspeed I3C controller.
>
> This implementation is a basic implementation that introduces IBIs
> (including hot-join), CCCs, and SDR data transfer. As-is, it doesnt support
> multi-controller buses or HDR transfers.
>
> First we add the I3C bus and controller model. With that added we
> gradually extend the functionality of the Aspeed I3C controller so it
> can do transfers.
>
> With that added, we add 2 targets. The first target is a mock I3C
> target. It's intended to be a very simple target just to verify that I3C
> is working on the guest. Internally, we've used it on Linux to verify
> that i3C devices can be probed and can send/receive data and send IBIs.
>
> The second target is a remote target. The intention of this is to be
> able to communicate to a target that exists outside of QEMU.
>
> Lastly we add hotplugging support. The hotplugging doesn't do anything too
> complicated, it just adds the device attempting to hotplug to the bus. It is
> the device's responsibility to hot-join and go through the DAA process to
> participate on the bus.
>
> Thanks!
> Joe
>
> Joe Komlodi (16):
> hw/misc/aspeed_i3c: Move to i3c directory
> hw/i3c: Add bus support
> hw/i3c/aspeed_i3c: Add more register fields
> hw/i3c/aspeed_i3c: Add more reset values
> hw/i3c/aspeed_i3c: Add register RO field masks
> hw/i3c/aspeed_i3c: Treat more registers as read-as-zero
> hw/i3c/aspeed_i3c: Use 32 bits on MMIO writes
> hw/i3c/aspeed_i3c: Add IRQ MMIO behavior
> hw/i3c/aspeed_i3c: Add data TX and RX
> hw/i3c/aspeed_i3c: Add IBI handling
> hw/i3c/aspeed_i3c: Add ctrl MMIO handling
> hw/i3c/aspeed_i3c: Add controller resets
> hw/i3c: Add Mock target
> hw/i3c: remote_i3c: Add model
> qtest: remote_i3c: Add remote I3C qtest
> hw/i3c: Add hotplug support
Isn't this the designware i3c ip block, and as such could we name
it so? I was going to send an i2c only version of this but it seems
you've beaten me to it and got the i3c core going.
> hw/Kconfig | 1 +
> hw/arm/Kconfig | 2 +
> hw/i3c/Kconfig | 17 +
> hw/i3c/aspeed_i3c.c | 2044 +++++++++++++++++++++++++++++++++
> hw/i3c/core.c | 646 +++++++++++
> hw/i3c/meson.build | 6 +
> hw/i3c/mock-target.c | 314 +++++
> hw/i3c/remote-i3c.c | 469 ++++++++
> hw/i3c/trace-events | 52 +
> hw/i3c/trace.h | 1 +
> hw/meson.build | 1 +
> hw/misc/aspeed_i3c.c | 384 -------
> hw/misc/meson.build | 1 -
> hw/misc/trace-events | 6 -
> include/hw/arm/aspeed_soc.h | 2 +-
> include/hw/i3c/aspeed_i3c.h | 207 ++++
> include/hw/i3c/i3c.h | 275 +++++
> include/hw/i3c/mock-target.h | 60 +
> include/hw/i3c/remote-i3c.h | 72 ++
> include/hw/misc/aspeed_i3c.h | 48 -
> meson.build | 1 +
> tests/qtest/meson.build | 1 +
> tests/qtest/remote-i3c-test.c | 610 ++++++++++
> 23 files changed, 4780 insertions(+), 440 deletions(-)
> create mode 100644 hw/i3c/Kconfig
> create mode 100644 hw/i3c/aspeed_i3c.c
> create mode 100644 hw/i3c/core.c
> create mode 100644 hw/i3c/meson.build
> create mode 100644 hw/i3c/mock-target.c
> create mode 100644 hw/i3c/remote-i3c.c
> create mode 100644 hw/i3c/trace-events
> create mode 100644 hw/i3c/trace.h
> delete mode 100644 hw/misc/aspeed_i3c.c
> create mode 100644 include/hw/i3c/aspeed_i3c.h
> create mode 100644 include/hw/i3c/i3c.h
> create mode 100644 include/hw/i3c/mock-target.h
> create mode 100644 include/hw/i3c/remote-i3c.h
> delete mode 100644 include/hw/misc/aspeed_i3c.h
> create mode 100644 tests/qtest/remote-i3c-test.c
>
> --
> 2.40.0.348.gf938b09366-goog
>
>
--
Ben Dooks, ben@fluff.org, http://www.fluff.org/ben/
Large Hadron Colada: A large Pina Colada that makes the universe disappear.
- Re: [PATCH 00/16] i3c: aspeed: Add I3C support,
Ben Dooks <=