[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 0/1] Add remote I2C device to support external I2C device
From: |
Corey Minyard |
Subject: |
Re: [PATCH v2 0/1] Add remote I2C device to support external I2C device |
Date: |
Tue, 3 Aug 2021 14:29:08 -0500 |
On Mon, Aug 02, 2021 at 11:03:22PM +0000, Shengtan Mao wrote:
> This patch implements the remote I2C device.
> The remote I2C device allows an external I2C device to communicate with the
> I2C controller in QEMU through the remote I2C protocol.
> Users no longer have to directly modify QEMU to add new I2C devices and can
> instead implement the emulated device externally and connect it to the remote
> I2C device.
I apologise, I haven't had time to look at this, and I'm going to be
really busy for a little while.
I looked it over a bit, and is there some description of the protocol?
Could you add a reference to it in the code?
-corey
>
> Previous work by Wolfram Sang
> (https://git.kernel.org/pub/scm/virt/qemu/wsa/qemu.git/commit/?h=i2c-passthrough)
> was referenced.
> It shares the similar idea of redirecting the actual I2C device
> functionalities, but Sang focuses on physical devices, and we focus on
> emulated devices.
> The work by Sang mainly utilizes file descriptors while ours utilizes
> character devices, which offers better support for emulated devices.
> The work by Sang is not meant to offer full I2C device support; it only
> implements the receive functionality.
> Our work implements full support for I2C devices: send, recv, and event
> (match_and_add is not applicable for external devices).
>
> Shengtan Mao (1):
> hw/i2c: add remote I2C device
>
> hw/arm/Kconfig | 1 +
> hw/i2c/Kconfig | 4 +
> hw/i2c/meson.build | 1 +
> hw/i2c/remote-i2c.c | 117 ++++++++++++++++++
> tests/qtest/meson.build | 1 +
> tests/qtest/remote-i2c-test.c | 216 ++++++++++++++++++++++++++++++++++
> 6 files changed, 340 insertions(+)
> create mode 100644 hw/i2c/remote-i2c.c
> create mode 100644 tests/qtest/remote-i2c-test.c
>
> --
> 2.32.0.554.ge1b32706d8-goog
>