[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 3/4] hw/i2c: add slave mode for aspeed_i2c
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [RFC PATCH 3/4] hw/i2c: add slave mode for aspeed_i2c |
Date: |
Thu, 31 Mar 2022 22:44:10 +0200 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 |
On 31/3/22 18:57, Klaus Jensen wrote:
From: Klaus Jensen <k.jensen@samsung.com>
Add slave mode functionality for the Aspeed I2C controller. This is
implemented by creating an Aspeed I2C Slave device that attaches to the
bus.
This i2c slave device only implements the asynchronous version of
i2c_send() and the event callback.
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
---
hw/i2c/aspeed_i2c.c | 95 +++++++++++++++++++++++++++++++++----
hw/i2c/trace-events | 2 +-
hw/misc/meson.build | 2 +
include/hw/i2c/aspeed_i2c.h | 8 ++++
4 files changed, 97 insertions(+), 10 deletions(-)
@@ -558,14 +565,19 @@ static void aspeed_i2c_bus_write(void *opaque, hwaddr
offset,
bus->controller->intr_status &= ~(1 << bus->id);
qemu_irq_lower(aic->bus_get_irq(bus));
}
- if (handle_rx && (bus->cmd & (I2CD_M_RX_CMD | I2CD_M_S_RX_CMD_LAST))) {
- aspeed_i2c_handle_rx_cmd(bus);
- aspeed_i2c_bus_raise_interrupt(bus);
+
+ if (handle_rx) {
+ if (bus->cmd & (I2CD_M_RX_CMD | I2CD_M_S_RX_CMD_LAST)) {
+ aspeed_i2c_handle_rx_cmd(bus);
+ aspeed_i2c_bus_raise_interrupt(bus);
Eventually split this hunk into a separate patch to have better readability.
+ }
}
diff --git a/hw/misc/meson.build b/hw/misc/meson.build
index 6fb69612e064..c1c1abea41dd 100644
--- a/hw/misc/meson.build
+++ b/hw/misc/meson.build
@@ -122,6 +122,8 @@ softmmu_ss.add(when: 'CONFIG_NRF51_SOC', if_true:
files('nrf51_rng.c'))
softmmu_ss.add(when: 'CONFIG_GRLIB', if_true: files('grlib_ahb_apb_pnp.c'))
+softmmu_ss.add(when: 'CONFIG_I2C', if_true: files('i2c-echo.c'))
This change belongs to the next patch.
- [RFC PATCH 0/4] hw/i2c: i2c slave mode support, Klaus Jensen, 2022/03/31
- [RFC PATCH 1/4] hw/i2c: support multiple masters, Klaus Jensen, 2022/03/31
- [RFC PATCH 2/4] hw/i2c: add async send, Klaus Jensen, 2022/03/31
- [RFC PATCH 3/4] hw/i2c: add slave mode for aspeed_i2c, Klaus Jensen, 2022/03/31
- Re: [RFC PATCH 3/4] hw/i2c: add slave mode for aspeed_i2c,
Philippe Mathieu-Daudé <=
- [RFC PATCH 4/4] hw/misc: add a toy i2c echo device, Klaus Jensen, 2022/03/31
- Re: [RFC PATCH 0/4] hw/i2c: i2c slave mode support, Corey Minyard, 2022/03/31