From patchwork Mon Jun 6 15:07:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?C=C3=A9dric_Le_Goater?= X-Patchwork-Id: 12870519 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 0EE00C43334 for ; Mon, 6 Jun 2022 15:19:24 +0000 (UTC) Received: from localhost ([::1]:55576 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nyEVn-0004qI-2p for qemu-devel@archiver.kernel.org; Mon, 06 Jun 2022 11:19:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58526) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nyEKq-0004ph-UI; Mon, 06 Jun 2022 11:08:04 -0400 Received: from mail.ozlabs.org ([2404:9400:2221:ea00::3]:45919 helo=gandalf.ozlabs.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nyEKo-0005ws-Cy; Mon, 06 Jun 2022 11:08:04 -0400 Received: from gandalf.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) by gandalf.ozlabs.org (Postfix) with ESMTP id 4LGxgT4p5fz4xDK; Tue, 7 Jun 2022 01:07:49 +1000 (AEST) Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4LGxgF0mrqz4xD5; Tue, 7 Jun 2022 01:07:36 +1000 (AEST) From: =?utf-8?q?C=C3=A9dric_Le_Goater?= To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Cc: Peter Maydell , Joe Komlodi , Troy Lee , Jamin Lin , Steven Lee , Klaus Jensen , Peter Delevoryas , Corey Minyard , Jonathan Cameron , Damien Hedde , Andrew Jeffery , Joel Stanley , Cleber Rosa , =?utf-8?q?Ph?= =?utf-8?q?ilippe_Mathieu-Daud=C3=A9?= , Wainer dos Santos Moschetta , Beraldo Leal , =?utf-8?q?C=C3=A9dric_Le_Goater?= Subject: [PATCH 00/21] aspeed: Extend ast2600 I2C model with new mode Date: Mon, 6 Jun 2022 17:07:11 +0200 Message-Id: <20220606150732.2282041-1-clg@kaod.org> X-Mailer: git-send-email 2.35.3 MIME-Version: 1.0 Received-SPF: pass client-ip=2404:9400:2221:ea00::3; envelope-from=SRS0=gtQ3=WN=kaod.org=clg@ozlabs.org; helo=gandalf.ozlabs.org X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Hello, Here is a series aggregating recent changes proposed on the Aspeed ast2600 I2C controller model. First comes a large set of changes converting the model to use the registerfield interface and adding the I2C new register mode (Joe). Since this is complex to review, extra tests are added to the acceptance test suite to check that I2C devices are still functional in the ast2600-evb machine. These tests use small buildroot images available on GH. The ast1030 and ast2600 SoC share the same I2C logic. This series adds I2C support to the ast1030 now that new register mode is supported. There was a previous proposal from Troy doing the same but Joe's patchset covers the same need (and converts the model to registerfield) Follows a proposal from Klaus adding support for multi master in the I2C core and the Aspeed I2C model, for the old register mode only. The new register mode still needs to be addressed but this shouldn't take too long once old register mode is merged. Last, I have added the I2C echo device and test provided by Klaus. I think it would be interesting to keep them for tests. Please, tell me. Thanks, C. Cédric Le Goater (7): test/avocado/machine_aspeed.py: Move OpenBMC tests test/avocado/machine_aspeed.py: Add tests using buildroot images test/avocado/machine_aspeed.py: Add I2C tests to ast2600-evb test/avocado/machine_aspeed.py: Add an I2C RTC test aspeed/i2c: Add ast1030 controller models aspeed/i2c: Enable SLAVE_ADDR_RX_MATCH always test/avocado/machine_aspeed.py: Add I2C slave tests Joe Komlodi (7): hw/registerfields: Add shared fields macros aspeed: i2c: Add ctrl_global_rsvd property aspeed: i2c: Migrate to registerfields API aspeed: i2c: Use reg array instead of individual vars aspeed: i2c: Add new mode support aspeed: i2c: Add PKT_DONE IRQ to trace aspeed: i2c: Move regs and helpers to header file Klaus Jensen (6): hw/i2c/aspeed: rework raise interrupt trace event hw/i2c/aspeed: add DEV_ADDR in old register mode hw/i2c: support multiple masters hw/i2c: add asynchronous send hw/i2c/aspeed: add slave device in old register mode hw/misc: add a toy i2c echo device [DO NOT PULL] Troy Lee (1): aspeed: Add I2C buses to AST1030 model include/hw/i2c/aspeed_i2c.h | 299 ++++++++- include/hw/i2c/i2c.h | 30 + include/hw/registerfields.h | 70 +++ hw/arm/aspeed.c | 13 + hw/arm/aspeed_ast10x0.c | 18 + hw/arm/aspeed_ast2600.c | 2 + hw/arm/pxa2xx.c | 2 + hw/display/sii9022.c | 2 + hw/display/ssd0303.c | 2 + hw/i2c/aspeed_i2c.c | 901 ++++++++++++++++++---------- hw/i2c/core.c | 70 ++- hw/i2c/smbus_slave.c | 4 + hw/misc/i2c-echo.c | 162 +++++ hw/nvram/eeprom_at24c.c | 2 + hw/sensor/lsm303dlhc_mag.c | 2 + hw/i2c/trace-events | 4 +- hw/misc/meson.build | 2 + tests/avocado/boot_linux_console.py | 43 -- tests/avocado/machine_aspeed.py | 128 ++++ 19 files changed, 1393 insertions(+), 363 deletions(-) create mode 100644 hw/misc/i2c-echo.c