From nobody Sat Jul 25 14:35:46 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1784276430; cv=pass; d=zohomail.com; s=zohoarc; b=iuLGae4wh+6DB5I7wtgvsEnvuZHTlAApmtsmszHlew83mJ7dMd+4O37SguU18pTk5qKQfZc4ruq2jFQVDfnvJVmB4cD2G04HO4crDCCM/A3lH0LrnPkNz7iQM0u6Zggi+TrazsZAJx3sP/rmk4N+Hel9CtBgUONbcifIZf+kNaA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784276430; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=s7gt63c+Pu+s/ti3iTdz48EKwrmeSevZzE1iGlCcMHE=; b=bcH1VrgdItok3j4f2G1wu9BcBvB8zTpopg0AyzZXr6sfIAFYyGOLdODu2dOsOwp/78e1b8rVYGFqKF3Tfy3vQlqz8bwko8sm9WSQPHXtFhrp8GSh0iWSpDfnD3xuk7EGw7Tk9Tk0gnEB7T4ZO6g2UkpJSM/WtbJxirlz56tcw5I= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784276430066468.3475946148983; Fri, 17 Jul 2026 01:20:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wkdm7-0006kg-Ue; Fri, 17 Jul 2026 04:18:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdm5-0006kA-Da; Fri, 17 Jul 2026 04:18:25 -0400 Received: from mail-japaneastazlp170130007.outbound.protection.outlook.com ([2a01:111:f403:c405::7] helo=TYDPR03CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdm2-0000D4-14; Fri, 17 Jul 2026 04:18:24 -0400 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com (2603:1096:400:1cc::10) by SEYPR06MB5253.apcprd06.prod.outlook.com (2603:1096:101:87::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.12; Fri, 17 Jul 2026 08:18:15 +0000 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3]) by TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3%6]) with mapi id 15.21.0223.011; Fri, 17 Jul 2026 08:18:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sLO1GrO8Iepdn9j4fCQT5+x0Gf/17kLt1l0GzArSOWdSiGVvxsQ+WpEYq3EGmEEV9v5RPxfLF1U5CqosOfKZBe7W+zED5pIJ7NOZdPbBIplMl5smbV/lOlr0ZfV/yi0W0xEmwWNYFGBEhxYGacYqAld81+M40GghRfig1XCdvQQ8WARMhgSEI3S1jMJh1LTxBY0C3WfdhMwtTI1qUdO4UxJaO/aFqhTGFyVhEIGKTt5ZFpAduSUAFk9PLlOzE5mB6h+C0q8qxOX8EOzyQ4nhaes5fz+dK8O/9/nZv4Spy3sj+qG94WucNbnXPLBW4eTdO0dm4qpdu/m4AAqgIbPjOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=s7gt63c+Pu+s/ti3iTdz48EKwrmeSevZzE1iGlCcMHE=; b=JxJ9MElrjN6weUHRWQsp0i60ICefSqFFoojtYHtlIwHwC0y6IAGWPczRhTYS6lG1DpsuNBlUsSdPy6XVRXCFLaopgI6wFfBU+Ze6VlRQLTcHfK5x5MVXOyQO1prIFHIalZmzxErWhozb8B477wxboStKruaZrMdce+iHUR30gN4aiq6jxVjkiFBppuaCnlZeXgYYIoZdk8JWcPD67CtezfVPdCZ+4WUYANthWtHPoByyRQz3xY+hANaHJ59XPu/qXxDc7uo0IH5gSUN7M8i+OOWABORZIuL+K2eQFlo+GQWK2ccX7eS6RUOeUD3KG+bPnsOfRUkD5Rn6yGk9IXLhRw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=s7gt63c+Pu+s/ti3iTdz48EKwrmeSevZzE1iGlCcMHE=; b=JXJTBX6AOTn8LWRG8CYLbfdkO2vWENb488Dvw1c19EsFh/z5Zu+FogFIwzPuD/gyxYa2dtXsf4OCtTGF6/1FnHItbZWcdg8W91n+YDSwkl15GbywrG7c7rXqVUwA/n5YxkZl5MJuWOgQYI74KWotkTLCp/8loA++IieF+EvkB+dkYzDOEZK7kUOU1aHPdSWBKWMPbDVaA1PlgwCJYUVsFTad9opuyPCBSWRuyh+yGdTobdgfwtJrswvzcMVRtScF4VEObuDvtKqQ2nB316bhtlbcjL5AGPTD9OTqmhgvm44HA/OWb/SAAaVYdiR0z8WD+J4/tR7uHn08NSQerY9O7g== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Alistair Francis , Fabiano Rosas , Laurent Vivier , Paolo Bonzini , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , =?iso-8859-1?Q?Philippe_Mathieu-Daud=E9?= , =?iso-8859-1?Q?C=E9dric_Le_Goater?= Subject: [PATCH v3 1/9] hw/misc/aspeed_scu: Introduce Aspeed2700SCUState Thread-Topic: [PATCH v3 1/9] hw/misc/aspeed_scu: Introduce Aspeed2700SCUState Thread-Index: AQHdFcTQySeu7tIOkEafEjIkPeaAKg== Date: Fri, 17 Jul 2026 08:18:15 +0000 Message-ID: <20260717081813.3407862-2-jamin_lin@aspeedtech.com> References: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR06MB4980:EE_|SEYPR06MB5253:EE_ x-ms-office365-filtering-correlation-id: 9c179a6b-57fb-438b-26e9-08dee3dbf348 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|7416014|23010399003|1800799024|366016|56012099006|22082099003|18002099003|921020|10067099003|38070700021; x-microsoft-antispam-message-info: RfdGyqrpA1Ircnulscs0LvhoqxSVCJEgcndiAzb6nj/LNUz5D56xqfG1PoNlkVKat/w41xICvrXpghJVDOTt8HUZILuxhBrW32cupBoc/BdNGcDwe8+OBEFRyJToNbXt392vZO9QiB4meoVc5iCUv8H3E/pRoV3a9kAT8xURpQu5L9fypvvdXIXIhbDOwfEEtL7OHjO+xwouse/5230Hmk4qDk+hSdlEAu+ge0CEdES9uThrU8DulH3wTRWSJz6s5T+gAS6F1XjOJ6uBAVbrykTdJwkGwc1uYEGj4wCnZvzDqx5orWr1LC0jcUhbIrVv9DyJyGjT/RaV5HlVOnFRewW7XzP+lUuVhl8a7HdYCtSFSusYVCarMBAAkUiWtsuS2AmID/Cs17M2yAn107HjOkOLCmCUIeK8HZ/oKaXj+RD3dWuyxDErQbg1YSjv5mvZHHatogJ1Qle1o0QF/SH4b7HaTUx6PRtfyDS0X7GLSlzNolCP8MIxobS1/vSUhyeEQ714Lu2ddrS9jkUcURVg+YUviU1llptAcNOEUIOcXGzT93iuR6+hZta8UwvTn44UwhtNimvm48ingqwNrRW2/7jn5NBtH41Ks2cEJNjGSoawPqCywgoFO+ZNcijY5pfDUTaG9xwz2VzDXQvatZjzrsWKzHzRMLUlc3xA8fxx18hKw9Z5cuacrGLvFuuCYzMNcuXD+abVIunHg0E32hzH0NvREkKGrAmWXE7t2D+A1Q/mRjQd3OcGXOzLzPLHP956 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYZPR06MB4980.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(7416014)(23010399003)(1800799024)(366016)(56012099006)(22082099003)(18002099003)(921020)(10067099003)(38070700021); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?zzhKTmgtv5habDpH9xInkZz6YUEZK4Ydt4rCwTB3drYg2zjscvi+B9XnBs?= =?iso-8859-1?Q?VspASsFKye0hqSLtEMDUEXuUZQSYh57T5Wd5ZAM/+Fe9b93aXMQrP7Svau?= =?iso-8859-1?Q?rucK565/cTvuhlNVdwt4vVnajARJyP5dmDotlLKmJk9S7WH5PR7HDI6fED?= =?iso-8859-1?Q?lNcJeST216fu2XY4xSTOKm9qZxJgs6tX8cKXGGjfHAGVCO+a1MUAXBQglN?= =?iso-8859-1?Q?uWCcnZVyuk4VmycEB3tzgcesbKDQKgyXXU4K4Lb9TQgLWO+U71oLqumXNm?= =?iso-8859-1?Q?CHP4ZGXc5kYMm+aRfox0Q7rgqaboHTFrwHH83mb8uF6Gn+ZaQj+4jhTjZd?= =?iso-8859-1?Q?7yv9FCf9w8RBjGhZ54QS71XoEqzC2dDvEEL8TAFLlUTcCEl96f80pdM3d8?= =?iso-8859-1?Q?6kvQpKOowJv6bLrXX0kGQIjVrazyjMTLPIIyCrANZcyRUwNw6YO6qVkDRK?= =?iso-8859-1?Q?XpQIP3A6udZNtDkFl3CRysDnYUX30V399sJMiT7dtnVr2u3/Bbzy86ve9y?= =?iso-8859-1?Q?V4FP7U8/onONl6FOnWDgbmy92J1hIdb1UOpcbjjsFF7zZUo+SUcW1045d3?= =?iso-8859-1?Q?iks1NmiYLyvos5mvc/XqruyQ3PsU6n8TVokFrreQUsCcIiXpTsL8fzJixY?= =?iso-8859-1?Q?aWC8tK6oKjcnovwT0zFrcwSJrN+HXGglN8j7Sxis2uZz+eOTybVzWAH+gl?= =?iso-8859-1?Q?Na9hUTfZkPBZ3t/nLYYvzc5fOrX0Edw+xa8tvd1mOuwglP4mSy7Z0tVPt+?= =?iso-8859-1?Q?gAKtzrsLbABXv1krkKj8suAJ/yWiJij4/QCQeBkd2iQvIgY/Xmy//m5vOO?= =?iso-8859-1?Q?DaHPJ9yHHqIgek+vGUd6b7WS0L5z5zsC3bkXn+o80MxWTuHt5wwLgOBJzk?= =?iso-8859-1?Q?Y5ymb8gM1WeQlTNjbCnktGgDU4gD3KZxp8Kweg6cOU0zbBPfIE6bZV/01i?= =?iso-8859-1?Q?2JPp8f9sdbmHOVpPY8p/1cmsukPC9azv1kuw+UJQitJ4rukA9q7xx9XxgY?= =?iso-8859-1?Q?i4qB7q75kO09SCYEbKM+/qWpqhr5iEIwSeefpAU+TvSfne1wlI68FakiNk?= =?iso-8859-1?Q?39AhHx8Y5ATrN4qwO0MNUZx8WUq7KlI5VZHPqOUWgZ8urWZ/meaw5lYJ1T?= =?iso-8859-1?Q?RTQ/lY+j1WfEygHTv7+eFUocw3TYGbP6sEa9bhRYTMLjpXpCg0u6lNK5vq?= =?iso-8859-1?Q?TfV++gsdtgPe1WJjTIRBoTHUUnNM6DnyE3rkgx+jpgO/oig4AsBQU8vp25?= =?iso-8859-1?Q?DsYjvj4DIymG1PbPsZqM1jIbnFE9F2lC4jTLSdewaXT7FrQzOpQQ0FkMS/?= =?iso-8859-1?Q?gLopoTdlxD3cXxpd+iEJRBZtY4kxitfvVdpxO9XYV8Z38ceTOxd41Cxtv5?= =?iso-8859-1?Q?zlObVkFP4LC5x1Vm5ThEGgl4h18aMGyFtKZsBaYa8DKwV3K93Z/FpmYVAh?= =?iso-8859-1?Q?HZ6qb+T9aeBuc5f45XvyZ3lNsFHuXB6qC5ZlNSjiEaniTG4Vpkl/TXNgMC?= =?iso-8859-1?Q?2/Bjux7IbX9PQlwp9eYkYe5klrNOd0OV24ijmAD55J/Ek4+tAlmZBcU9/o?= =?iso-8859-1?Q?ZzvU+K/lQ/EyzXrG/Za3A3+lBtRDhEEIv4CpMcYZ97D4N587iAZRGTpF72?= =?iso-8859-1?Q?x1dwwXuEAxVIBl+cwTf7rETkJVstexGNjFwKwZB0eTIfWp3GlNR8ZtPqPR?= =?iso-8859-1?Q?M6oH6i+DfaiHHQxOhfvHOO6GdqfF+REHmWRvWL8yhHgF/K3tgOsOJ8QrK7?= =?iso-8859-1?Q?afrgxXAKpt9uFTGyrrvzmmv4qnVl5+RmIHewQfrsw46REj3ibpLmAm72ED?= =?iso-8859-1?Q?GRf4t0Woiw=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: HzdcwH/GZ+x7RgUrZH5TFco0kC43jTphNPfrXWuhG2aktUzHsfah7P6K83xdc2jwEBE33E18JYm9mwwy3eRYFH9w5BF6vhs3auN7kwRpB/uGY/4VMziUJEtny8HHGYPK9SVD7T5g3Q7XKEGQEH+ZHhxbxk/OsgEKuDiUNmYBjpeJ5BflKpCllRiwc6GcCYByhP/ofohBpsxugdO+ARS5gqUyEZC6rfVP2ZGfXLAc881YCd0rPUXNfzzPIDai8fkk5aWDrQrZoo1l+g+8ObnagBLhVmfqq7PJqibpV8ZtFiCiTGbhKlKSu7+MR1FvIoOhBNU7tASWimH4NM7in+Zgew== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR06MB4980.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c179a6b-57fb-438b-26e9-08dee3dbf348 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2026 08:18:15.1756 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: eEYrjxZEZu9VsLm+xZe2hs8XBIbDhNfnQnfjRg8kDDhlub9+9kEZLHWp7X3i7p7thicdWf9E2f3IExgowUMdGz8vcLTz9VXAjvHHD3IigNM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR06MB5253 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::7; envelope-from=jamin_lin@aspeedtech.com; helo=TYDPR03CU002.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @aspeedtech.com) X-ZM-MESSAGEID: 1784276431531158500 Content-Type: text/plain; charset="utf-8" Introduce Aspeed2700SCUState as an AST2700-specific subclass of AspeedSCUState. Currently, AST1700 and AST2700 reuse the generic AspeedSCUState. However, AST2700 requires SCU functionality that is specific to the platform, particularly for interactions with its coprocessors. Introduce a dedicated Aspeed2700SCUState to provide an extension point for AST2700-specific functionality while keeping the generic AspeedSCUState unchanged. Subsequent patches will migrate AST2700 users to the new subclass and move AST2700-specific code into it. No functional change. Signed-off-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater Tested-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/misc/aspeed_scu.h | 5 +++++ hw/misc/aspeed_scu.c | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/include/hw/misc/aspeed_scu.h b/include/hw/misc/aspeed_scu.h index c30940ab76..904549465f 100644 --- a/include/hw/misc/aspeed_scu.h +++ b/include/hw/misc/aspeed_scu.h @@ -20,6 +20,7 @@ OBJECT_DECLARE_TYPE(AspeedSCUState, AspeedSCUClass, ASPEE= D_SCU) #define TYPE_ASPEED_2500_SCU TYPE_ASPEED_SCU "-ast2500" #define TYPE_ASPEED_2600_SCU TYPE_ASPEED_SCU "-ast2600" #define TYPE_ASPEED_2700_SCU TYPE_ASPEED_SCU "-ast2700" +OBJECT_DECLARE_SIMPLE_TYPE(Aspeed2700SCUState, ASPEED_2700_SCU) #define TYPE_ASPEED_2700_SCUIO TYPE_ASPEED_SCU "io" "-ast2700" #define TYPE_ASPEED_1030_SCU TYPE_ASPEED_SCU "-ast1030" =20 @@ -41,6 +42,10 @@ struct AspeedSCUState { uint32_t hw_prot_key; }; =20 +struct Aspeed2700SCUState { + AspeedSCUState parent_obj; +}; + #define AST2400_A1_SILICON_REV 0x02010303U #define AST2500_A1_SILICON_REV 0x04010303U #define AST2600_A3_SILICON_REV 0x05030303U diff --git a/hw/misc/aspeed_scu.c b/hw/misc/aspeed_scu.c index 5dbf81c0ce..efe1d6315b 100644 --- a/hw/misc/aspeed_scu.c +++ b/hw/misc/aspeed_scu.c @@ -930,6 +930,11 @@ static void aspeed_ast2700_scu_reset_hold(Object *obj,= ResetType type) s->regs[AST2700_HW_STRAP1] =3D s->hw_strap1; } =20 +static void aspeed_2700_scu_realize(DeviceState *dev, Error **errp) +{ + aspeed_scu_realize(dev, errp); +} + static void aspeed_2700_scu_class_init(ObjectClass *klass, const void *dat= a) { DeviceClass *dc =3D DEVICE_CLASS(klass); @@ -937,6 +942,7 @@ static void aspeed_2700_scu_class_init(ObjectClass *kla= ss, const void *data) AspeedSCUClass *asc =3D ASPEED_SCU_CLASS(klass); =20 dc->desc =3D "ASPEED 2700 System Control Unit"; + dc->realize =3D aspeed_2700_scu_realize; rc->phases.hold =3D aspeed_ast2700_scu_reset_hold; asc->resets =3D ast2700_a0_resets; asc->calc_hpll =3D aspeed_2600_scu_calc_hpll; @@ -1161,7 +1167,7 @@ static const TypeInfo aspeed_scu_types[] =3D { { .name =3D TYPE_ASPEED_2700_SCU, .parent =3D TYPE_ASPEED_SCU, - .instance_size =3D sizeof(AspeedSCUState), + .instance_size =3D sizeof(Aspeed2700SCUState), .class_init =3D aspeed_2700_scu_class_init, }, { --=20 2.43.0 From nobody Sat Jul 25 14:35:46 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1784276375; cv=pass; d=zohomail.com; s=zohoarc; b=cXPRs2QQch1iaZjvD3oIvQucNQfi4hObb7RfZOMV+t8kTFSc4bMkNvxqBox9FMPoI6agSCIWAwDVD6UFFzDdqwYUwtCwxwIp367Leu3J2rGs1m4rfDbZqA3kyQABH8F+UXQg7GFBScKBH1Fx8k1YbOKNfwXDJoZh9z+bGWF5XzQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784276375; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1EtducN+8fhTYctWm2wbtQt49nfZB2JwSg3flxJyjbM=; b=a5zYS3HROSukre4+75iTs7AigsN7Ezbm5E4sTETNjqVdxeeeVGSeWFS7cQrU3b9R4/RY1fJ0OU3PejkSvoLcdFkbyxLQOJd9b1uNQNoQ55uDpHX7qM4tFSfxTDfNlbQBfufo3907HR6X7n2vsn0otmg0KWO8m9L2SFQ74lUpwio= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784276374588252.4232420850542; Fri, 17 Jul 2026 01:19:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wkdmB-0006mt-Qv; Fri, 17 Jul 2026 04:18:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdm9-0006l9-2p; Fri, 17 Jul 2026 04:18:29 -0400 Received: from mail-japaneastazlp170130007.outbound.protection.outlook.com ([2a01:111:f403:c405::7] helo=TYDPR03CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdm6-0000D4-EP; Fri, 17 Jul 2026 04:18:28 -0400 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com (2603:1096:400:1cc::10) by SEYPR06MB5253.apcprd06.prod.outlook.com (2603:1096:101:87::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.12; Fri, 17 Jul 2026 08:18:16 +0000 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3]) by TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3%6]) with mapi id 15.21.0223.011; Fri, 17 Jul 2026 08:18:16 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YsfA8GsciC2GL7BebzeRM8jNvJXtXsuQRSk7gu1Iw6qGCyCTl2fcT7ORIp954PUCgCDC1OHF2vIwODS0ASQ7cGWiX5mVHBqi4k3VsxMhVSeXQtfq/utGD34gBcuICVr6cf5JL/ymPtoeNxo44ppLCH+opsQW76cuuTgtGd6kotEhHwb77iuUCgkbPQymQeaBQEDTM8TwsMIG70g3lHci0cnzA6Dln+uPJnoqZjUGLCjlDToSzOIYqpkr/iE9wxLhe9AdVPBlxt3C6c700WAYyAXnAegLG34AVSm/RkJ2TC3MUIx3jOFvPnLUY5csoIjujfHN1ltTae1awDuo2FjcuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1EtducN+8fhTYctWm2wbtQt49nfZB2JwSg3flxJyjbM=; b=IbHH6zxMRi2Y5GNuG8ixUYDkrG5VfkcAAKgszhClreekCafFvg4IgUlizAS1y/44pMdir8apwnbd8d/CJwLVjaP/bWRiGiclU0qBvQz980DMPRoZBnIrtCixhptt34IkGYHdUhDUAYKaYmCtvpeYSBR5vWkekGyyQRu7wGqQpXvWES986UORSE3Ttt8JcoON5BeWzlabLl8C03VB4USvV2dOPYUZ8Bsip01wIMdRmhBxyDZTKLxUG66JnXtrwdtap0bikeoZaGbEboc35I5PWeTVPr+vKE1nJiaahfn6nJm8rlKG2BKF6U6lUxcfUCwSK8Txu3rXUs0TLyHgjDrP8g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1EtducN+8fhTYctWm2wbtQt49nfZB2JwSg3flxJyjbM=; b=LoBANZa2ZYlCTBU5KnRcArfILdiS2v8ppbMg7LV+ReJwGfJzR2U3UWfoBwsjqsDpuYziTvTkZL7BZ8AwmgTXbdrE45lBE5kSVaKGAX02S/lOlB0gA5OR2ZhdA3dTYwfvAO8RYY2W678pdgaE0OaWUUXrHxsWEmIINMra8XhwyBdvLgbmAK7bjoqPPeQ4xvQyknPfFZ8izoG1J0iXUoo3HKDDOW2bXNZVDnxdjBbnJRmhhTIgqrBF+FW8AX0Bxy5JlIH1iDC+zvEBBB/By26I2NrN15NSvzVUN0culOKaeEAPeqmfOkeYru3QtZNiHFa9hWJryGUcRtCXX/e+1tcIhQ== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Alistair Francis , Fabiano Rosas , Laurent Vivier , Paolo Bonzini , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , =?iso-8859-1?Q?Philippe_Mathieu-Daud=E9?= , =?iso-8859-1?Q?C=E9dric_Le_Goater?= Subject: [PATCH v3 2/9] hw/arm/aspeed: Use Aspeed2700SCUState for AST2700 users Thread-Topic: [PATCH v3 2/9] hw/arm/aspeed: Use Aspeed2700SCUState for AST2700 users Thread-Index: AQHdFcTRTYX5kYAT8k+rc/n/wQxoDQ== Date: Fri, 17 Jul 2026 08:18:16 +0000 Message-ID: <20260717081813.3407862-3-jamin_lin@aspeedtech.com> References: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR06MB4980:EE_|SEYPR06MB5253:EE_ x-ms-office365-filtering-correlation-id: 74355061-1ccd-4129-908f-08dee3dbf412 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|7416014|23010399003|1800799024|366016|56012099006|22082099003|18002099003|921020|10067099003|38070700021; x-microsoft-antispam-message-info: HYW5hYaLQ/6GsiCZmBycJZjRwwqLJ3qeEhxWuxA3X35jnzkeKd0oTaXeBL2fkYmPKyu7iaXyXCTgqCDNf90xP6DsahlQUukcuUcaaz/3KBeJ1rP4UHncRsSkc4bg5glqgPcY9TSokTTuRnqwi4qb5I47NHl5aVt4C7M/DrcvElUdeO1GYoZCkNNEKuA74gmKBhs3whW9O6vU8nRS2jsHQTa8sfTPdlzniopRp4iqFTi0mUsXknETjjz5dsOl6hEHnMeP949cuPE/CUlCPzTcg0R4M8yzR/8U9JfIxY0EQ/3rYQRaqfWByg/1QIw4++Z3/2I/Es14515zH7D0/9sxXgFE5p3qlPYAyyvoQqeBLZsnq5Xq4ufh7XZ25es+5/PoT796zMse1tSkaPg/0SsXA0+GDHCm0nmfVxoWVrcAHtu/C0KmOIjR14nODYgZQBPX8NMFpZxSkOA5Sn3SVITV9MUzr78EhQ4p1Cicwnya+ErMAsG60xR0m3yo0tgp1deWnsbQ5DDN5W693IzTLKIUTG5laajGoPeWjbEMEP3QjSz2ua3v0U7zrn8G8leWd6khSwcV4qZx5/LVmA3ggvQlQVfM28ai8V4QLN1Rf+CLyND7eKP+y7RXIqZgroUb6FITn0t9IjXD5u8dEkasalzixk6NOsJbJfw4WVubmwvIF+4BPpyFuNUArakhUTSg/D4bAfH+MVMlpp7rZiWJ6JXKHGVJJv4EngSWRXlh5R+k0I/affFUPcF2eVBNCXaDuKHx x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYZPR06MB4980.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(7416014)(23010399003)(1800799024)(366016)(56012099006)(22082099003)(18002099003)(921020)(10067099003)(38070700021); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?XFFWDuC+WgsnGuLQzT+HDublOJuJc4gzgsPI+s5TqX4L6hnEUDte4c0sCs?= =?iso-8859-1?Q?dMqIGmeytzqhjhjGCFsA7V23upY4VEafPIj8H6C96GtZbbY7WVTPCrln6x?= =?iso-8859-1?Q?X21mfM2es+xs+rEa7bicZmnAskRzaf2AcnNIyMfYGGnTfWJWlLNh/WSf9c?= =?iso-8859-1?Q?csEk2LTomMOtC84yG0hHyI6yU0F/v+aOG2/9MZrCYtA0xe1vefFi+DgHGJ?= =?iso-8859-1?Q?rxKg8VkCn8Ctigh+a05pG0MmfIdx9eEMNt2+je/f5yfd+Wgpzi7mPESDFL?= =?iso-8859-1?Q?vZvdtmHrPbG5Fy+JAzgZdVrHi073RAve+7umGhtit4kJnYO5VfOFj73zUa?= =?iso-8859-1?Q?lfQz5tfnz33fzXa98hCmrEQe7WXRVzT9ES+GOdxiD7yShmJyIBqqVrbKMv?= =?iso-8859-1?Q?3vTyQwii8sirVIgO1hj5wqhjQsR54IKEXP9be7X7pc+SjO6sbg0dADLtM6?= =?iso-8859-1?Q?EoEDOivlUhupN6Kt3cNXK/PL0/QzVAcNEULbVRkwmwHet1vN8zXRDhkMRY?= =?iso-8859-1?Q?2NTZrtaoybNFju99L98p0ok+2p8p8Ags6i+DNGQBDmmt4HeeuHtb/GZUue?= =?iso-8859-1?Q?UGFPk2JMZCGKMa2MthDWV6qcRUV1iP7Y3/HgaOZJP9GfmWpLtlix9+7KCp?= =?iso-8859-1?Q?is+XDAxn3d9pgLB1KCoNx0dLUZEyjwH3TcIZLFIaiKGZYJDKVije7EGjPx?= =?iso-8859-1?Q?VONzV0WgpspwyJI3MrBgoAI3GhLNxK1AOM1e6PH2PT1YTkAsDiSJaF2lZw?= =?iso-8859-1?Q?oCDEFwohH5vQrMITZPUuiNcwmguzD67l8Lorhxc7uNsEN0rz58Og0tvqLc?= =?iso-8859-1?Q?ycMDHkKzCYpNnixJr6Asx+cmSN9TWgFYzHpO6KCOvIdh2SqEawZhUyU7O9?= =?iso-8859-1?Q?tCswkJv8fO4tjg8AsYcpbdbn6LrXHae0cqRFCW2cWylEaUTsVxehzSLVCL?= =?iso-8859-1?Q?F51ZH+EVM6K3goaMHEP/U02b6YxYIRAHsW7VTX7jCmZRY0fzzNRUBLwIMy?= =?iso-8859-1?Q?ydFTp9fX2PsYknFCnrKl48+AiBV/w6U6YDqwmFcwDiGk3zUiUyR9hENi42?= =?iso-8859-1?Q?jdp+IeZdAYXJ1DL1MczYUs2z+Sna2GLc4kgotmRdiqEUfiidIlnjcLux0/?= =?iso-8859-1?Q?nEMAuKReyiL1CilNomPKhSKDn4s1YWb+lu2aE1fDKlvhVIPsp+wENEArwQ?= =?iso-8859-1?Q?LxdapHGZcfmIristYkak1lA6zrxC18J8m4C8TYSfyVQv37R0KdNfBTKk/e?= =?iso-8859-1?Q?sboYfhMLEM1V0kzwqmHnXU7BBXDetkM6+hdBGhdxWbuL1NDjpQxXauhFWK?= =?iso-8859-1?Q?2s4IEPLJVzG//LiVZ9meKwh9KGzojtnSeLYPgK1hxsne7dixFXQwev4r++?= =?iso-8859-1?Q?oMYElYeIh7F+PJiEKhIbunk14e5WR+SLhxD4er6Ej0y1YBj9vMrUOtd+0s?= =?iso-8859-1?Q?svd8hlOoRowK8vKnHZPfbwuPaLymgXn6SqXK6Y94norW7dMYspPb4zkEyw?= =?iso-8859-1?Q?vcwxbsiax1QgaqxroeyZnAee4Lh7Munj/M8nqoQZ26LYflLLw9nl8l1ANT?= =?iso-8859-1?Q?p3uw+jMvnm4Mp3kfhbD0p6ZraSd1vVpcRHiXkFYdsKU06wvYxQcwe2Xj6Y?= =?iso-8859-1?Q?LIsFxmPklg4ptu5w4jPtYtnBbKACNO92YSTBtfghYbH2+giZCLdrOsme9z?= =?iso-8859-1?Q?2Obd+IJwtmfjyzFXGS/Z93J+nPCk2khpqzgZRkd9KNmSMBJveDOpBjuKZM?= =?iso-8859-1?Q?OsKTxgxT/DKmPR6ZTOnFOgNQoxd+6foz4ChARzt5TiXa3o3SnAPj0nfBgk?= =?iso-8859-1?Q?D/PKA3B1oA=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: l8k/w4A6tflWajZ7oXYAvItPAi+aoDn+P/cpYcZfaHiBjyYlq53dpMAldmtaK1W4hHzS1rmu15KbZJ23r2gZXUuPfRJnkrQjBRkKvU0jkSq7Z4hNofF34kQin+Gtx/9la89zcaekuZR66HXajOEgAnXcCrl/CKLmaks61+q1gd/5rsyG1NihhTJZe2Mb0kq8u0XuL6uFaG1I1cLRv4eWptrUQA2E8VYipf+rMO6xFHDbb+fYmI0ckYuvimCpbPtjpv8qudl2n7kc92PVzSHj5i0zjzT+H1EW1At+WaykvFgD530HOPiX7OOwpOOOYmRXvPmWlWoRSUHDe1gFiUUrEg== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR06MB4980.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74355061-1ccd-4129-908f-08dee3dbf412 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2026 08:18:16.4916 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: XzgfmXP51pluKesU7awESDHhPWl3ZNSg6/83YR1HATiL2NShwHbhoBykSzwNeWG0vcXRYT7ow5jLDpTDZuj77E2o09IAerWdNBJ5u3xAn7M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR06MB5253 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::7; envelope-from=jamin_lin@aspeedtech.com; helo=TYDPR03CU002.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @aspeedtech.com) X-ZM-MESSAGEID: 1784276377332158500 Content-Type: text/plain; charset="utf-8" Now that Aspeed2700SCUState has been introduced, update the AST1700 and AST27x0 SoCs to instantiate the AST2700-specific SCU subclass instead of the generic AspeedSCUState. Also update the AST27x0 FC board to link the SSP/TSP coprocessors to the AST2700 SCU instance. This prepares the AST2700 platform for subsequent patches that move AST2700-specific SCU functionality into the subclass. No functional change. Signed-off-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater Tested-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/arm/aspeed_ast1700.h | 2 +- include/hw/arm/aspeed_soc.h | 1 + hw/arm/aspeed_ast27x0-fc.c | 4 ++-- hw/arm/aspeed_ast27x0.c | 16 ++++++++-------- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/include/hw/arm/aspeed_ast1700.h b/include/hw/arm/aspeed_ast170= 0.h index f7bd4e8650..39c5977cf1 100644 --- a/include/hw/arm/aspeed_ast1700.h +++ b/include/hw/arm/aspeed_ast1700.h @@ -41,7 +41,7 @@ struct AspeedAST1700SoCState { MemoryRegion sram; AspeedSMCState spi; AspeedADCState adc; - AspeedSCUState scu; + Aspeed2700SCUState scu; AspeedGPIOState gpio; AspeedSGPIOState sgpiom[AST1700_SGPIO_NUM]; AspeedI2CState i2c; diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h index 41dc04e293..cd68c7f1ca 100644 --- a/include/hw/arm/aspeed_soc.h +++ b/include/hw/arm/aspeed_soc.h @@ -151,6 +151,7 @@ struct Aspeed27x0SoCState { AspeedINTCState intcioexp[ASPEED_IOEXP_NUM]; GICv3State gic; MemoryRegion dram_empty; + Aspeed2700SCUState scu; }; =20 #define TYPE_ASPEED27X0_SOC "aspeed27x0-soc" diff --git a/hw/arm/aspeed_ast27x0-fc.c b/hw/arm/aspeed_ast27x0-fc.c index 7d9fade68d..8d49bb95d6 100644 --- a/hw/arm/aspeed_ast27x0-fc.c +++ b/hw/arm/aspeed_ast27x0-fc.c @@ -158,7 +158,7 @@ static bool ast2700fc_ssp_init(MachineState *machine, E= rror **errp) object_property_set_link(OBJECT(&s->ssp), "sram", OBJECT(&psp->sram), &error_abort); object_property_set_link(OBJECT(&s->ssp), "scu", - OBJECT(&psp->scu), &error_abort); + OBJECT(&s->ca35.scu), &error_abort); if (!qdev_realize(DEVICE(&s->ssp), NULL, errp)) { return false; } @@ -190,7 +190,7 @@ static bool ast2700fc_tsp_init(MachineState *machine, E= rror **errp) object_property_set_link(OBJECT(&s->tsp), "sram", OBJECT(&psp->sram), &error_abort); object_property_set_link(OBJECT(&s->tsp), "scu", - OBJECT(&psp->scu), &error_abort); + OBJECT(&s->ca35.scu), &error_abort); if (!qdev_realize(DEVICE(&s->tsp), NULL, errp)) { return false; } diff --git a/hw/arm/aspeed_ast27x0.c b/hw/arm/aspeed_ast27x0.c index 7c062580f2..6365dbd638 100644 --- a/hw/arm/aspeed_ast27x0.c +++ b/hw/arm/aspeed_ast27x0.c @@ -435,12 +435,12 @@ static void aspeed_soc_ast2700_init(Object *obj) =20 object_initialize_child(obj, "gic", &a->gic, gicv3_class_name()); =20 - object_initialize_child(obj, "scu", &s->scu, TYPE_ASPEED_2700_SCU); - qdev_prop_set_uint32(DEVICE(&s->scu), "silicon-rev", + object_initialize_child(obj, "scu", &a->scu, TYPE_ASPEED_2700_SCU); + qdev_prop_set_uint32(DEVICE(&a->scu), "silicon-rev", sc->silicon_rev); - object_property_add_alias(obj, "hw-strap1", OBJECT(&s->scu), + object_property_add_alias(obj, "hw-strap1", OBJECT(&a->scu), "hw-strap1"); - object_property_add_alias(obj, "hw-prot-key", OBJECT(&s->scu), + object_property_add_alias(obj, "hw-prot-key", OBJECT(&a->scu), "hw-prot-key"); =20 object_initialize_child(obj, "scuio", &s->scuio, TYPE_ASPEED_2700_SCUI= O); @@ -808,10 +808,10 @@ static void aspeed_soc_ast2700_realize(DeviceState *d= ev, Error **errp) sc->memmap[ASPEED_DEV_VBOOTROM], &s->vboot= rom); =20 /* SCU */ - if (!sysbus_realize(SYS_BUS_DEVICE(&s->scu), errp)) { + if (!sysbus_realize(SYS_BUS_DEVICE(&a->scu), errp)) { return; } - aspeed_mmio_map(s->memory, SYS_BUS_DEVICE(&s->scu), 0, + aspeed_mmio_map(s->memory, SYS_BUS_DEVICE(&a->scu), 0, sc->memmap[ASPEED_DEV_SCU]); =20 /* SCU1 */ @@ -934,7 +934,7 @@ static void aspeed_soc_ast2700_realize(DeviceState *dev= , Error **errp) AspeedWDTClass *awc =3D ASPEED_WDT_GET_CLASS(&s->wdt[i]); hwaddr wdt_offset =3D sc->memmap[ASPEED_DEV_WDT] + i * awc->iosize; =20 - object_property_set_link(OBJECT(&s->wdt[i]), "scu", OBJECT(&s->scu= ), + object_property_set_link(OBJECT(&s->wdt[i]), "scu", OBJECT(&a->scu= ), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->wdt[i]), errp)) { return; @@ -1037,7 +1037,7 @@ static void aspeed_soc_ast2700_realize(DeviceState *d= ev, Error **errp) aspeed_soc_ast2700_get_irq(s, ASPEED_DEV_EMMC)); =20 /* Timer */ - object_property_set_link(OBJECT(&s->timerctrl), "scu", OBJECT(&s->scu), + object_property_set_link(OBJECT(&s->timerctrl), "scu", OBJECT(&a->scu), &error_abort); if (!sysbus_realize(SYS_BUS_DEVICE(&s->timerctrl), errp)) { return; --=20 2.43.0 From nobody Sat Jul 25 14:35:46 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1784276385; cv=pass; d=zohomail.com; s=zohoarc; b=HPHQuvmI4Vmf/r7DcQM9aev53n8eh6U5LIZXrFZ/PM+N+trqpmef1AYh1zKOlnPUMUcErIC+3TTpfBmSfwlFnIOxWFtlnDpguf2qQmfkLpxCbRq6YqPa/cUChOtLacOvMuWE6yY8NCM3Oha0EJh4YF9dsaR8zlvHKIRUlQ72udA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784276385; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=IPmBPJkX+8OKOwDgcLfQFDkJ0k+VudPL4dmg7u+qCgg=; b=JAksVxV9vgsVW1WUW+ja2HOauLh+9HBJpVQ4L0jS6cgNkPJDLBLwHdJNVAwNCP0p7Z9zDz548SoXqxYCekOymHPvwkLL/sUXrtC1tZtpbqhYJqtuKe2TeQtXnfkGoNcX071fYB8wfoqIrzzNnP8La/vd9jreCiGf5Ld+0nVRxVc= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784276385746233.98567308511474; Fri, 17 Jul 2026 01:19:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wkdmB-0006mT-5q; Fri, 17 Jul 2026 04:18:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdm9-0006lm-TQ; Fri, 17 Jul 2026 04:18:29 -0400 Received: from mail-japaneastazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c405::5] helo=TYPPR03CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdm6-0000Cy-I6; Fri, 17 Jul 2026 04:18:28 -0400 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com (2603:1096:400:1cc::10) by KU4PR06MB8339.apcprd06.prod.outlook.com (2603:1096:d10:7d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Fri, 17 Jul 2026 08:18:17 +0000 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3]) by TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3%6]) with mapi id 15.21.0223.011; Fri, 17 Jul 2026 08:18:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XzjMG/TKYULvzCOsjhJB7Dl2zDi084b3AqPukH3dZCzFzibLTAZM0ENxClOTmsxs6pQ3BsQka+p0hoR6UbwQ1Tye9ImgUgal2nHxKUqtAxlIBohJOFVQSfRNfhROubLjaqOcxCJqbXjMo7wz0Hl7IaG+MB+F3iMhIeBd2wMzD6cPkje+2HZevSjZSGUBbZQRbjoImWnK0Keo56x3E3aMsb9RXzLXYf5wHTEnXGgi1+MkhO4OYpeeC9Pp2s+/p/pGNCtZatITMa0UrmZ/miLuskxnd8gVrjStXUPyuIKjHIuH1F3yeSon4tcV88TVxTYkl0CMN5UqzXj+3UGZIj5nKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IPmBPJkX+8OKOwDgcLfQFDkJ0k+VudPL4dmg7u+qCgg=; b=ULY9wLis1Z5eY5x2PYwy1YZN8aTOm+ESu7Qf5jAMSsLZ6hrm59VKxLH4kLGsyByocyTd1rI5YdOp3aWRkKTjHw+bJG9fzIcj9DEXLoQOkXHUzQUU+KpzCxHIyavosatfHQdT7swPXY5e902diamJheEr1buAlV29ASWMorQ4y/ReXOxsTlvn5nOc2DMHYGjTfsUFRAcn6wTsC1RgMaxb5+2fuxQfH05004BPyLuAV8An9XfX1e3SJFurNyDe0ME9svJnGLCjVmnfjlBMvK7dVZ63fEi/8cHe2/ZtBtEQEokbushZzm6slpEVYcjVWDKXLl2d/dZRgfnK4rZSnjkeZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IPmBPJkX+8OKOwDgcLfQFDkJ0k+VudPL4dmg7u+qCgg=; b=pyor5k1f5fCd4j7iBzYc3bnrhg7zfGKpg7eurEwwmDolBOWCb1B+OUwVoz10+VupVs4JnXjZSLxJ0m2tAu5x7MXF8dJW+Wk6RIaHfDGdPBJO4IOrKoBspJFw3Vf8WSaeRRSMTlv9ntkFQnROlTFflzN4ZkWjtAPaJqSYi+J76GnXXhD8TYKiSN8mQ7VgYGC/Kwl2LaGFqwFLhD1LC59q0U3SpZCNHEFKLCOeHcmnc9S9m4rPWQ6oYIu21sS2lAdnNwspDvVhlmsjALqu44LOTsylNY8vkKL3PNTRzcGi7UXz/URT7Pl1Jv38v7PWQ6HqviiRihdaRKPeCEQb6+cixg== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Alistair Francis , Fabiano Rosas , Laurent Vivier , Paolo Bonzini , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , =?iso-8859-1?Q?Philippe_Mathieu-Daud=E9?= , =?iso-8859-1?Q?C=E9dric_Le_Goater?= Subject: [PATCH v3 3/9] hw/arm/aspeed_ast27x0: Move SCU link into AST27x0 coprocessors Thread-Topic: [PATCH v3 3/9] hw/arm/aspeed_ast27x0: Move SCU link into AST27x0 coprocessors Thread-Index: AQHdFcTSLCy69bQy+Uusmo9ELoKJeQ== Date: Fri, 17 Jul 2026 08:18:17 +0000 Message-ID: <20260717081813.3407862-4-jamin_lin@aspeedtech.com> References: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR06MB4980:EE_|KU4PR06MB8339:EE_ x-ms-office365-filtering-correlation-id: a3b3b00f-b5b2-4918-1250-08dee3dbf4d3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|23010399003|376014|7416014|366016|1800799024|38070700021|921020|56012099006|10067099003|18002099003|22082099003; x-microsoft-antispam-message-info: qfECXFnqQXwHa4w/DH99CfJrOAffVPXyiyd/11nwVfFBd8jfojQyqkwFEMqrUTHA2e69pxgjxevm/w2gmoE1nfu6FK74TUgZssVJ1CzVmsguOSOPp6fyfLWrUSD/1YGbs/Swg/4HCBSZaPLxQuqB5dLWDoqXlteGVz3FdAFRWqa29fp+CVOCwjyKKMMIm/r22oCDUjsvcchcoj6f9TFbSbFEwMY0usyVWIJOXQ5jZzucyOd7ScErT2MvCrdcYgSysZ8/cr3TGk3QyS4wPEo3oMHYM5iHWgTh2EtliskrV0jNb/GjNmygn4z0q2yRTOW2SPWuagsE4y4xvzes0504ndDXJHcvgLpR+ue225ju/yXK9zUzYFcnSrYuHbSwGSXU5/FAe6+rCOqAAhvrB+7LuYO9k5H6J3lsu1uyktTOxPuE/YgfIPcbOsvnWT4HwOBTglbw7RpxcKB8vfdPJ9XeNb+Z1sGLgel5aoAoOvH8Q+Ft8JVmql0s0IkGcisCJPX92ZcaogoZ+ILY9FAqgqEvkHKhRgY7ZwR6dkdvmuL3TF1zFTLcOoWGMPRizahphjDKVL+pS9A6ddRawhNWz8yC/I2jJuB//odVVDJH4gv3UUx6LlJasQf3hzg/NW+vT0dp7ENtHHOtIJA2m96wAhggR9Vkm5a9X1LN0peIZtPkFobDY74kDYhR/Jke6PWayBC9pHfOfQA+xImll2d8CSRCwnNSJUVOFwDZ5BzCr6JJJHY= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYZPR06MB4980.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(376014)(7416014)(366016)(1800799024)(38070700021)(921020)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?lCEFwuKwYJb7bDZSnHQeKZ6VwwxprSYDMDMRDtJ12GpVxivrOJ0d6ATIt/?= =?iso-8859-1?Q?6QQy7azceNGXWQpg4SujJXxj0yFHycDBM1l+BCx+YHRCbLpsjopYTbvdUt?= =?iso-8859-1?Q?Kb7cFg3UtlIx5NAv1MrFqZCANsMqEGt5wMVqw8oDmxpmMNigY4Qp1zTUlg?= =?iso-8859-1?Q?QS4Quaw566fxXrmQUBZdTwxPkJMeXMrTQFAX2EYn6uMxXUWLb8n90kCfBk?= =?iso-8859-1?Q?bRt1xn1fFX9vq4rPsN3ny1MUAXMRgNS5at3kSMerQyRSoVSG7FFF/uNCXz?= =?iso-8859-1?Q?uzQXIHQO68fKHcJnLrm49m5zpXEAZeLg0PQPHJBMwPPLNxvjvMLdPe6U1H?= =?iso-8859-1?Q?G54hgqNZLNVxihSV7NRbtlhAGFHT+G0ICM7SpBAWgEZqEmMgHojv9oCMBP?= =?iso-8859-1?Q?b5H1/XOBN5+9/u43TZN09xbk49g14dZ8e2Iahy28rpouyRI680L61Kv/JK?= =?iso-8859-1?Q?0EJmlC3g4KFNUVTZQaIKA6WKWwIDsovCUvLpS9w2ca7iz/QuXetqqGerWS?= =?iso-8859-1?Q?hX4IG0xLiWhCsUKHAlVN4DWrnj3IXvm/WyLToJeVG2VYWBZ1jXDqUZOEzC?= =?iso-8859-1?Q?MSFiiRFX78xIXE4D6QvGa2JJddDcZSaYXPG+9b9dzeZMhZbUThiKCopONo?= =?iso-8859-1?Q?hA7GsLTYHjXSpBbgYPNc5WVRmxO8WxvLeO3Hg3+CeU0aXoF0T0QUobiMdZ?= =?iso-8859-1?Q?Yr4fEvFnSFcrS5iPppGT5GS+gsfTJEsCVB6BWcehByvxlrEHwDYMs+hxlP?= =?iso-8859-1?Q?0LWceuaTZZXRyu/obykgEJtUzUWmeYTxpoMV4KpAbN1vtIctqYAD6sWgmp?= =?iso-8859-1?Q?qNOrWY6FHwvgOez6FL1aiC7DmZATDKhkb0wGh3K3QDHtpc5/UkcAVXd/a6?= =?iso-8859-1?Q?ZzGPiAkvXYYqtHY87ePtpGVVH8ixBYZndzsrnaNxzcGAxrmkDlr0+t6s9J?= =?iso-8859-1?Q?HUxxkAQVzTM43ltkKICzvmrgPPAWm0ilKPSOG/wGmSfYtvSA5/hwYoEsJF?= =?iso-8859-1?Q?yC3CatQYnxeIN+ylGdLvFjiiH5slXs73UWPZL9gZ7lrPpTi3TCIGlGmlMd?= =?iso-8859-1?Q?cy81jmCebtGYgRLPPhloLUlteQw2VCWkZ7K4UhEsLhzh3zpdYVvE2hcTn0?= =?iso-8859-1?Q?tMcmQcgxtotVF1Z3mzEwdVvkopMMjWyCNSnQPBBpoMxk2CiiQtIxkDPAk5?= =?iso-8859-1?Q?v00mFEwggKUOzYZUws08p1zA3SIPTUlU9gWxtfAl3++7zSDXiMsibtBjOr?= =?iso-8859-1?Q?YloMKDMy6TvPa5VYC+RoEkShGIjQck93Einbfou/r8autsETBah7P8S3Iu?= =?iso-8859-1?Q?WdBb8nLUeYb18bOKz0hWOj5zdL3rlQvsB3hhoxPFKARrFZJoTuLTl8mENk?= =?iso-8859-1?Q?TdxWm+Oq4D5+4M/Bi1HLPZa7uwxDtrm8KZvHXY2QhP9LEmBSmJkv0+86G0?= =?iso-8859-1?Q?ToFEO45GIa9ltuAWgYj3ci7Oq30wKsQ8un8GFVp795zih2CwMw38b6FBbY?= =?iso-8859-1?Q?NPU1OQqH7sNcWcBhCm7Y1tOlrJG4PSnVdWY3oRzoq/OJuvJcKuhic10Ooo?= =?iso-8859-1?Q?zCv+J6mRFO/YUFLPBxThkilVT+Eoyg+DU0GP2fA43fz9tSnmkKAxq7yk9t?= =?iso-8859-1?Q?lKhqo/MppTvJRq3fLlWnx6u9lmFUp8/7IpOPz5ykgyWYxKautPqi61wUqF?= =?iso-8859-1?Q?yV7lJG/CXkhOh49OdYDZvb8rGS/pyGTecNcjaSUuwH88ADqWmqyWi7ACIU?= =?iso-8859-1?Q?JHbT+5YAfVIHezyXMDmKWbKkBjrH/GRaRd896CnY71bvFfThMLXJ1JHUgN?= =?iso-8859-1?Q?HdtQLWiL9w=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: RSt9HeVJrtcx72rCfhHqleWDJNad140XoetqBqkV+vpwyeA6cysJ8HKbiYXPYbwdh33Nyzwk+CIVVI5x4ANd+vKBl1j09VBuknqbCxmYZ6pM21yG9kBGE0Fhx5338ERkpKygpxVHhGzAeMVp6EBnO0RF5Ywib5JUPdx9zwnzQyPrQ2l73GURW40pNwU0+G6M3D6Vqz8xCEzVjLloK4ub28Nz9VLpmJFrTHJR6ezHeyQLn9LXMJ5GH9McwgOfHbJvtlILGVp14LtSnPDMfaDs0zlDj346ZLHgl/CuoDL7OMxD2qnahCGXa6kwOSX/nMNaVrgPxv3u3ZOrw00SmparBA== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR06MB4980.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a3b3b00f-b5b2-4918-1250-08dee3dbf4d3 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2026 08:18:17.7462 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: +YzL6eAYEvmFCG3LZ6wmHLC4ssAvvGSVMRpuGrx3merQY6dcDViJip54LRS4z2IhYPQdQGMfzQulyblJdjVClLyauVIoY/IRIRKyRljakdA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: KU4PR06MB8339 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=jamin_lin@aspeedtech.com; helo=TYPPR03CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @aspeedtech.com) X-ZM-MESSAGEID: 1784276387418158500 Content-Type: text/plain; charset="utf-8" The SCU link is only needed by the AST27x0 SSP/TSP coprocessors for their AST2700-specific SCU alias window. Move the link property from the common AspeedCoprocessorState into Aspeed27x0CoprocessorState, so the generic coprocessor model no longer contains an AST2700-specific dependency. Also validate that the SCU link has been provided during device realize before accessing it. No functional change. Signed-off-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater Tested-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/arm/aspeed_coprocessor.h | 5 +++-- hw/arm/aspeed_ast27x0-ssp.c | 20 ++++++++++++++++---- hw/arm/aspeed_ast27x0-tsp.c | 20 ++++++++++++++++---- hw/arm/aspeed_coprocessor_common.c | 2 -- 4 files changed, 35 insertions(+), 12 deletions(-) diff --git a/include/hw/arm/aspeed_coprocessor.h b/include/hw/arm/aspeed_co= processor.h index ac58a5f424..adfc3c4512 100644 --- a/include/hw/arm/aspeed_coprocessor.h +++ b/include/hw/arm/aspeed_coprocessor.h @@ -20,10 +20,8 @@ struct AspeedCoprocessorState { MemoryRegion *sram; MemoryRegion sram_alias; MemoryRegion uart_alias; - MemoryRegion scu_alias; Clock *sysclk; =20 - AspeedSCUState *scu; AspeedSCUState scuio; AspeedTimerCtrlState timerctrl; SerialMM *uart; @@ -52,6 +50,9 @@ struct Aspeed27x0CoprocessorState { UnimplementedDeviceState otp; =20 ARMv7MState armv7m; + + MemoryRegion scu_alias; + Aspeed2700SCUState *scu; }; =20 #define TYPE_ASPEED27X0SSP_COPROCESSOR "aspeed27x0ssp-coprocessor" diff --git a/hw/arm/aspeed_ast27x0-ssp.c b/hw/arm/aspeed_ast27x0-ssp.c index 68a8ab26f7..28bb59c8c5 100644 --- a/hw/arm/aspeed_ast27x0-ssp.c +++ b/hw/arm/aspeed_ast27x0-ssp.c @@ -167,6 +167,12 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState = *dev_soc, Error **errp) return; } =20 + if (!a->scu) { + error_setg(errp, TYPE_ASPEED27X0SSP_COPROCESSOR + ": 'scu' link is not set"); + return; + } + /* AST27X0 SSP Core */ armv7m =3D DEVICE(&a->armv7m); qdev_prop_set_uint32(armv7m, "num-irq", 256); @@ -195,11 +201,11 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState= *dev_soc, Error **errp) &s->sram_alias); =20 /* SCU */ - memory_region_init_alias(&s->scu_alias, OBJECT(s), "scu.alias", - &s->scu->iomem, 0, - memory_region_size(&s->scu->iomem)); + memory_region_init_alias(&a->scu_alias, OBJECT(a), "scu.alias", + &a->scu->parent_obj.iomem, 0, + memory_region_size(&a->scu->parent_obj.iomem)= ); memory_region_add_subregion(s->memory, sc->memmap[ASPEED_DEV_SCU], - &s->scu_alias); + &a->scu_alias); =20 /* INTC */ if (!sysbus_realize(SYS_BUS_DEVICE(&a->intc[0]), errp)) { @@ -275,6 +281,11 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState = *dev_soc, Error **errp) sc->memmap[ASPEED_DEV_OTP], 0x800); } =20 +static const Property aspeed_27x0_coprocessor_properties[] =3D { + DEFINE_PROP_LINK("scu", Aspeed27x0CoprocessorState, scu, + TYPE_ASPEED_2700_SCU, Aspeed2700SCUState *), +}; + static void aspeed_soc_ast27x0ssp_class_init(ObjectClass *klass, const void *data) { @@ -288,6 +299,7 @@ static void aspeed_soc_ast27x0ssp_class_init(ObjectClas= s *klass, /* Reason: The Aspeed Coprocessor can only be instantiated from a boar= d */ dc->user_creatable =3D false; dc->realize =3D aspeed_soc_ast27x0ssp_realize; + device_class_set_props(dc, aspeed_27x0_coprocessor_properties); =20 sc->valid_cpu_types =3D valid_cpu_types; sc->irqmap =3D aspeed_soc_ast27x0ssp_irqmap; diff --git a/hw/arm/aspeed_ast27x0-tsp.c b/hw/arm/aspeed_ast27x0-tsp.c index b8a4f7c91d..f5c4a02161 100644 --- a/hw/arm/aspeed_ast27x0-tsp.c +++ b/hw/arm/aspeed_ast27x0-tsp.c @@ -167,6 +167,12 @@ static void aspeed_soc_ast27x0tsp_realize(DeviceState = *dev_soc, Error **errp) return; } =20 + if (!a->scu) { + error_setg(errp, TYPE_ASPEED27X0TSP_COPROCESSOR + ": 'scu' link is not set"); + return; + } + /* AST27X0 TSP Core */ armv7m =3D DEVICE(&a->armv7m); qdev_prop_set_uint32(armv7m, "num-irq", 256); @@ -195,11 +201,11 @@ static void aspeed_soc_ast27x0tsp_realize(DeviceState= *dev_soc, Error **errp) &s->sram_alias); =20 /* SCU */ - memory_region_init_alias(&s->scu_alias, OBJECT(s), "scu.alias", - &s->scu->iomem, 0, - memory_region_size(&s->scu->iomem)); + memory_region_init_alias(&a->scu_alias, OBJECT(a), "scu.alias", + &a->scu->parent_obj.iomem, 0, + memory_region_size(&a->scu->parent_obj.iomem)= ); memory_region_add_subregion(s->memory, sc->memmap[ASPEED_DEV_SCU], - &s->scu_alias); + &a->scu_alias); =20 /* INTC */ if (!sysbus_realize(SYS_BUS_DEVICE(&a->intc[0]), errp)) { @@ -275,6 +281,11 @@ static void aspeed_soc_ast27x0tsp_realize(DeviceState = *dev_soc, Error **errp) sc->memmap[ASPEED_DEV_OTP], 0x800); } =20 +static const Property aspeed_27x0_coprocessor_properties[] =3D { + DEFINE_PROP_LINK("scu", Aspeed27x0CoprocessorState, scu, + TYPE_ASPEED_2700_SCU, Aspeed2700SCUState *), +}; + static void aspeed_soc_ast27x0tsp_class_init(ObjectClass *klass, const void *data) { @@ -288,6 +299,7 @@ static void aspeed_soc_ast27x0tsp_class_init(ObjectClas= s *klass, /* Reason: The Aspeed Coprocessor can only be instantiated from a boar= d */ dc->user_creatable =3D false; dc->realize =3D aspeed_soc_ast27x0tsp_realize; + device_class_set_props(dc, aspeed_27x0_coprocessor_properties); =20 sc->valid_cpu_types =3D valid_cpu_types; sc->irqmap =3D aspeed_soc_ast27x0tsp_irqmap; diff --git a/hw/arm/aspeed_coprocessor_common.c b/hw/arm/aspeed_coprocessor= _common.c index a0a4c73d08..43026d2a55 100644 --- a/hw/arm/aspeed_coprocessor_common.c +++ b/hw/arm/aspeed_coprocessor_common.c @@ -27,8 +27,6 @@ static const Property aspeed_coprocessor_properties[] =3D= { TYPE_MEMORY_REGION, MemoryRegion *), DEFINE_PROP_LINK("sram", AspeedCoprocessorState, sram, TYPE_MEMORY_REG= ION, MemoryRegion *), - DEFINE_PROP_LINK("scu", AspeedCoprocessorState, scu, TYPE_ASPEED_SCU, - AspeedSCUState *), DEFINE_PROP_LINK("uart", AspeedCoprocessorState, uart, TYPE_SERIAL_MM, SerialMM *), DEFINE_PROP_INT32("uart-dev", AspeedCoprocessorState, uart_dev, 0), --=20 2.43.0 From nobody Sat Jul 25 14:35:46 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1784276420; cv=pass; d=zohomail.com; s=zohoarc; b=MVn8NrrCpaoEZzzL5pnXyCaETmZQFfKoz35fUg/3obc0ej/jPYQR2mGjUQaArMvcMq1L9Opy0XZXeJZ9Mnbh9SiTYkdmHT1ewxavjtTm3526TfUtd03+9JdnAgugRk08iyLlfcM5u4XmiWqH8ynywge4WTtJ0g2nn7v6k5kgklc= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784276420; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=eTV/ITi5t7UVevEhbKYTiB3/+A2/fGz5a1Z0KFZxszY=; b=m9JZFwOBh8uVP+RuVKAvBr9p5l0OvZCCqbQjPf2N2SnEfGm4nkjPuZ89np37WepGur9CtoJgaO7VjuLylmaLtXMcdIYz9gw7z5WX58LUuHuxZjS1X4/d2PSFOvzpZDhUnLD/lVpQG84dVxogN5tBNQkG7ljYKw7YyigjetDThSk= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784276420772759.1900425927029; Fri, 17 Jul 2026 01:20:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wkdmI-0006og-1e; Fri, 17 Jul 2026 04:18:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdmE-0006nJ-KP; Fri, 17 Jul 2026 04:18:34 -0400 Received: from mail-japaneastazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c405::5] helo=TYPPR03CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdmC-0000E6-2H; Fri, 17 Jul 2026 04:18:34 -0400 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com (2603:1096:400:1cc::10) by KU4PR06MB8339.apcprd06.prod.outlook.com (2603:1096:d10:7d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Fri, 17 Jul 2026 08:18:19 +0000 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3]) by TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3%6]) with mapi id 15.21.0223.011; Fri, 17 Jul 2026 08:18:19 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fvM79G3OkuV5Ms3W/SmYlZ25SkBUWID93IkZeT52EQZhp4qtc62qGiDbAHrCMAXC954sj/bR8ZEmnd38g07TKQN8z+TQNZUCgeMQ7oElRY1PADoQ8d9dH/v/xzTLhBrU9cgCff7f8ifY1KwzahclGPVIlHPIfp2g9n2SNZvHmDSPEJthcP5UQ7j+f/TGkCz1cfW8QkFAfWkKzChYwTh2qcf6L/jHaTb4tJHP9V8x2R+5cgMYqHF+UfC0F6Xix+eePDVmOE39Ykh60hvKvhpvAhGMGT4a/0gZeN0Yf6ORcuDxou2QMWtf5COB3wUMVnrXb4psYvapQ8aJUazYQaabQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=eTV/ITi5t7UVevEhbKYTiB3/+A2/fGz5a1Z0KFZxszY=; b=m5nACeBAFYlNP1O2Q+1XALcAkLVA5fGKwsaSMsKOF0TAI4g7NgicY3mZNnzVABLUkUwnVC24ps7LOi+iptsXk9G/jRxSnuaVZDe8nAe/l3lurdVZ9RnYJ8mX31ixO3kdXYJyjmD/BZAaJlf06CEVc5c3oKC9fkZL0SWd3xZMdjiucCZW2n8omnykFif0cfx/kvzRIhoGYoXBK/fSMXGRFSwbYdfwnkMooXLp/qsn2OVRUj2L9S19UeJCYOa5JJm2K3WoR2Twqi+YMAnYB6muaaMnCKI29ptOqTZacMN+3b2j9IJifoU9ZEy1i+hzhqv8X7gg3/0AOp6hfsg24tNgXQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eTV/ITi5t7UVevEhbKYTiB3/+A2/fGz5a1Z0KFZxszY=; b=qQV4xVkZKemCno5zC4oVJnw5HIk9ITpPl03WQtFUFg59cxoMe3ktMKUH7O8pf+C2IsEGMAI1beDHKqVaFWxIauKnPA70OfD6Gwyjxr4FGZFWK4njKBWgXmTrLO3saVoA8FFVEao7gcksKeIP9Ey+6hRz7yMJY03JRF1nHFreCw5L1RZ4vjcDCl5GR++HCjCA6HpNVaJ21dZTHJpElAwLmNnbHXJpNjXkjri9EFRTnybmmZjxvxypTy6etNLnQX60/lJW9EFfn8xfyfBL1fRWKfC0DiyPZv0x/ugggVhUrhBmGllMq56frCpGnGEOJWY4oeosSQmxQmzq7/DWw/07mg== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Alistair Francis , Fabiano Rosas , Laurent Vivier , Paolo Bonzini , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , =?iso-8859-1?Q?Philippe_Mathieu-Daud=E9?= , =?iso-8859-1?Q?C=E9dric_Le_Goater?= Subject: [PATCH v3 4/9] hw/misc/aspeed_scu: Add separate reset handler for AST2700 SCUIO Thread-Topic: [PATCH v3 4/9] hw/misc/aspeed_scu: Add separate reset handler for AST2700 SCUIO Thread-Index: AQHdFcTTKxZtKJgKzEW1VvqMp7iX0A== Date: Fri, 17 Jul 2026 08:18:18 +0000 Message-ID: <20260717081813.3407862-5-jamin_lin@aspeedtech.com> References: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR06MB4980:EE_|KU4PR06MB8339:EE_ x-ms-office365-filtering-correlation-id: 9cf7ae0d-daa3-486f-2883-08dee3dbf594 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|23010399003|376014|7416014|366016|1800799024|38070700021|921020|56012099006|10067099003|18002099003|22082099003; x-microsoft-antispam-message-info: wX4C/iuxO1/kytsvhjKoMVKsQBDve86dok3WjX4r804I0WmGavqBLeRwNnM6ex0OnDeCZYAZG/84+NsSwBPNW2h+9qlvPGHl3EpNfyr33EmeaTB8EaaoFu3zcfWFn4bbNE5zczj9KXWo9HOtA4prtONKTaWsJbaZ1st8XfhL4sfjeC2c6EBXfXepW8rgZHFfIDFV6EzwolSeKUd6D/s3m6/Mk/Mbn4eIVagxMz2ji+0e3vzv0nmQOxZmdE5h7gu/WCP54newwhyvVb73XQLMmL6MapiIPULKMPkHY0Y+duUl86dPN70j6x0nHsq4AQx3d2gF115OnyMSy+NQI2MkRh2p9cZDWQgeALEOe7Vy9tpiY62/a7X/zVBvDamWGm+y9UzUCxW8NAERmnlEYW+Sa922q6RJozeFAZay/xrobhAuD5xVbwC5d7GtfH4TmWiD6JaKaTm42EpfhSvIxb83TmKzHT+sXbS7q8DXPQCA964r0AHq0uq/NUSBZON8X8b4V4iXz3e7q54sFgrPeWswYT/cMgbEDFoNfLewRkQ6yk1mwowPXbi+f5Yu8lhEYRhrGa43IUgWsK5hMzRBOtGmMnEQBHtdbNMBCTLhCVz1gg4aNT6ALXFfzZ1IBbn5FbLl09mNFIFQKfra76ydX6+jcQl0cIEBGR7JnuZIeUG2ph7ek4P2EghRMyKZ6HdAR1dxZqoqXTdQ9bEfMDAbbPE2Jf5lG+H2ZCtHzKMs0FcBnswkwT4X3fBBZlER/iUrapz+ x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYZPR06MB4980.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(376014)(7416014)(366016)(1800799024)(38070700021)(921020)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?ndvXobeMuI7kAfnhvhOiKmEk4AyDMPOxFV1ZjLW/4XFHfBY+JP5tup5iHW?= =?iso-8859-1?Q?yQxH2JleJAuA6hvTb941bN2SezoBVLRb0WGL0JTpsO6zeQkOdXbpzCSQdO?= =?iso-8859-1?Q?dhw6SBUZzjxd3nY36akbJ2wEndVfqG83Tk5o0PO0a6INUJeZdk+TvHa03X?= =?iso-8859-1?Q?egSXBCxB4dasjKZiQLHskgpN2dV8yvtKxr+8q3pqqKlub/WKEdMgCO476Z?= =?iso-8859-1?Q?Bga2Ks9ZQoijF9zJsl/ad7MrZdqamdfRjVDRmjbMAWnj6xOeDOSNDwPXDh?= =?iso-8859-1?Q?Mi4DOfZjI68NnFPc648bhbdPojw7/7KurHXHc6e69ZwUm8b/UANNGqNO6/?= =?iso-8859-1?Q?o43voaUNfJYO7ll11wL9TPVwiS2OkSbAuolTl3kdYL7sGoYE1UIlBIZitn?= =?iso-8859-1?Q?iV9IF11iFn4guT5gQQrqKThYgBi7PFvUO71lUEfDBeGPwkVQQ1EqIy+59N?= =?iso-8859-1?Q?40rDebaeYbonymVRG1CbBKX3qf3OHFFQyYWUEUPH9h74usX0b5vTv9q8Rv?= =?iso-8859-1?Q?X282EK0cwRgmgMsUtfbmk6Pfo/ogMpJCVlmoTnghgpYK5S/2NkVrmLsO7Z?= =?iso-8859-1?Q?2EJ//J+mI1tCQhYXuMVqD4NFIH7TxoKn03EaOBNzlbhJCz7AplTsnIb6Yp?= =?iso-8859-1?Q?Zp6m12huDsg9+dqGKrVEPXYbvDWrv69FR7awJc5QRyUVqb3fRu84Y3NSeo?= =?iso-8859-1?Q?5m/BhZTmpeHhkywqekJdpP2BMXN6eW8U7cJOr5Ap6eMdzs6alTSERvLAib?= =?iso-8859-1?Q?bF2p/f5cV8l257P+TpbfibaZ8vux23UN21WzG6ZloVgV2+aVkN4/pi61Vs?= =?iso-8859-1?Q?ZWYmTJzpWO++XRnf2CB64G7+jYaHt8KfJU7msfs3aVdBvmTKUD07d8R2oO?= =?iso-8859-1?Q?L6s2xIdETXMMPpkM8mrKVjxyTYvBduUZ0lYhjHneFVi2ZaeRFh3nCFwPWK?= =?iso-8859-1?Q?t20CpOAaZUVdtuhf5p2i4GUqL/jnCrQovsnDvMw5u8BAiBYbiHbMjt5cIS?= =?iso-8859-1?Q?KFxQzuQc3QXU+TQpYsGDKA//V6xlUGwQuFI8rF/7GFfFS2h6BeNguHMc+G?= =?iso-8859-1?Q?UQV9XovKpgCEfvfXVsEOhy7tBPelrOkqCRJrLCv5t6PyZxZacXkSybuwip?= =?iso-8859-1?Q?wx3eQ93hqNONEU5sryKDTz8/ZScStZ5FQZOe+gHpMkg3Bne/xambJmqjpf?= =?iso-8859-1?Q?iZLj9wKmhwOtoErqshM8KquQgA+8BS7mnuKuxPPrsMn4rXCoiOQZh1uvM0?= =?iso-8859-1?Q?TBQKn6teL1KWSUUv/oSqD6zDeaJTHBvXtgbrfH1YnYlazqs5HwR/EfeiBe?= =?iso-8859-1?Q?6uTAY7pALY99OF+/5c2saIBiqHb3U7RHxQm+rWAEI283arH/0uiNIgAvHI?= =?iso-8859-1?Q?OeOTapK08e5S5q1neKqmDdDNwaSPRMOOb2AJzLPymKLU0r/MwfQeNa1A58?= =?iso-8859-1?Q?diVZX2rdIUmEUJaoKxnCR5gCBiB0GREeNZtt71SoNOvRz+bjKdkJCZT3Rg?= =?iso-8859-1?Q?Uk6Mj9u+88pGA3P9o7VcZvuolrR2HnLDuMoUhC2TFGs0JFgfksQRs59PRG?= =?iso-8859-1?Q?vH/7EXYJFxV5YNmpNuHJN43eBTvBlFXSsw8yEq5mUPUiCmrN4K1e6qryKA?= =?iso-8859-1?Q?tZMI4EEoGXfqWhVxK1I+OSBNHWgm0K/QjjCir+rKSPLPzlERfz10SVL0MJ?= =?iso-8859-1?Q?Omzgyl6ykYPSZ/HO98nJ3B6i2C7HpHk7AHhj5k9mClY8Kwyi9dZ1R2R5PE?= =?iso-8859-1?Q?Zzes22Br4Y8mqqqjgIRXx+bdzQpu690h5VDAlGowAr5A5qbiL4QendU51b?= =?iso-8859-1?Q?mJVA7EueWA=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: f5RiP9fwtwh1TgKT1+0gD53ky7/QjLmrRdL3nG8TSIO2srRg+Bhi3z0IzVR+NUPais2rSQ3hlXXrhXEdskJINwxZLL1Kqle/+XtQGltdM817tUbdPCpanApqsb8waposOMPLPy2cIxeUzc+Qs4Dzk5DKvKr3nPdf/G/tHmSwKAt0ne+hvf4z5ZiefBqiqwFN3vct/+IG4qFhOsaS1kgbMMag9eszDyLW6SLOmaO2L4h+A1zrNStYThVJGlLMaadpJa9ItzeCdOrxyo7KD0k79xHw2Ia+ZMKqT23EQyiLuQY1cpqBUWN8h8dSsOgdLeIT6xwgaYAE/e6gTFOx2d7Gmg== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR06MB4980.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9cf7ae0d-daa3-486f-2883-08dee3dbf594 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2026 08:18:19.0071 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: gBM1mrLC2dpmhQA9uocKzF24ehe4pKVvWCQ7f8ey1uQcNvA/BvWdpelHr+g4tnogIbGlqAwNpNjbg4VOcgs70koTU3ehUawLmBSJHAuRRtg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: KU4PR06MB8339 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=jamin_lin@aspeedtech.com; helo=TYPPR03CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @aspeedtech.com) X-ZM-MESSAGEID: 1784276421448158500 Content-Type: text/plain; charset="utf-8" Introduce a dedicated reset handler for SCUIO. Previously, SCU and SCUIO shared the same reset handler. This no longer fits the AST2700 design, where SCU uses the Aspeed2700SCUState subclass and will handle coprocessor-related control in future changes. Since these controls are defined in SCU (not SCUIO), SCU and SCUIO should not share the same reset logic. This change gives SCUIO its own reset handler and prepares for upcoming SCU-specific functionality. No functional change. Signed-off-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater Tested-by: Philippe Mathieu-Daud=C3=A9 --- hw/misc/aspeed_scu.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/hw/misc/aspeed_scu.c b/hw/misc/aspeed_scu.c index efe1d6315b..ca93c3699d 100644 --- a/hw/misc/aspeed_scu.c +++ b/hw/misc/aspeed_scu.c @@ -1069,6 +1069,16 @@ static const uint32_t ast2700_a0_resets_io[ASPEED_AS= T2700_SCU_NR_REGS] =3D { [AST2700_SCUIO_FREQ_CNT_CTL] =3D 0x00000080, }; =20 +static void aspeed_ast2700_scuio_reset_hold(Object *obj, ResetType type) +{ + AspeedSCUState *s =3D ASPEED_SCU(obj); + AspeedSCUClass *asc =3D ASPEED_SCU_GET_CLASS(obj); + + memcpy(s->regs, asc->resets, asc->nr_regs * 4); + s->regs[AST2700_SILICON_REV] =3D s->silicon_rev; + s->regs[AST2700_HW_STRAP1] =3D s->hw_strap1; +} + static void aspeed_2700_scuio_class_init(ObjectClass *klass, const void *d= ata) { DeviceClass *dc =3D DEVICE_CLASS(klass); @@ -1076,7 +1086,7 @@ static void aspeed_2700_scuio_class_init(ObjectClass = *klass, const void *data) AspeedSCUClass *asc =3D ASPEED_SCU_CLASS(klass); =20 dc->desc =3D "ASPEED 2700 System Control Unit I/O"; - rc->phases.hold =3D aspeed_ast2700_scu_reset_hold; + rc->phases.hold =3D aspeed_ast2700_scuio_reset_hold; asc->resets =3D ast2700_a0_resets_io; asc->calc_hpll =3D aspeed_2600_scu_calc_hpll; asc->get_apb =3D aspeed_2700_scuio_get_apb_freq; --=20 2.43.0 From nobody Sat Jul 25 14:35:46 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1784276363; cv=pass; d=zohomail.com; s=zohoarc; b=m5FR/vdpkN3Y/g93VndvfFBADcRJtFG+WIlGmTA/ScRYkvCZ7QRgA+W/9vNJeIlEeoZHnGO5EKVERxABd9iBolopolv31rCGqdyGIilHBiFGK21N6DJrbjKRlzkJpQW0ARQj5YCXXzAvBe/wRYx+0DWNMXlF6XuMyKy51JA01RY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784276363; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Bx3Iojt6We9l2KiNM6vA/h9zsim8zdynz8i4yrlpFBU=; b=OECryahj9u2Awqzw6x3rmOWvh7CzrnN5GWUkB+9OeWVwZa5t6ImPLUTM+CXp4EcOY0GuhE0QO9xG4S73fmDP3lqLsghlyFyX/RvH9yJ3o2aGxL0HrycENVZuvxDy/cQh4yQhZpS1E/HpDkr4/tjyo76eucuXInjTBj+oxP3uFhg= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784276362564479.0951029519656; Fri, 17 Jul 2026 01:19:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wkdmG-0006nm-8k; Fri, 17 Jul 2026 04:18:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdmE-0006nD-EK; Fri, 17 Jul 2026 04:18:34 -0400 Received: from mail-japaneastazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c405::5] helo=TYPPR03CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdmA-0000Cy-S6; Fri, 17 Jul 2026 04:18:32 -0400 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com (2603:1096:400:1cc::10) by KU4PR06MB8339.apcprd06.prod.outlook.com (2603:1096:d10:7d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Fri, 17 Jul 2026 08:18:20 +0000 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3]) by TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3%6]) with mapi id 15.21.0223.011; Fri, 17 Jul 2026 08:18:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LelLSG8osT7mtJPj/PIjJWQ4WdEw/Fv+j3RAwpxrnKDeQR9NApUrpdGhyEUUWVLIcyH37VSNcEWKsxxQ0F5PH5yEGItw8oQaoyJX9riz04m2zzOrsotEgZq2Kua1HbyEGGqDyRUZicuN1cpw61+/yBxKUuWpSqFxVN20AVzZc46eVDOU4zfHQ2ddEEnOBDVyrn2p5A5zuIfA9LXhaJy87jxHiNKWFEE1a/eP7oIPBWiNwyjg2xGa7+KYq6Glou4IOrfhPF26ELrHWFJHNo0vnh5GW8aqd4gtVQ5wed3yJwrJdY5S95zxKx48HLooXT5zEiPz8cfFwVsNSIEK85J+WQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Bx3Iojt6We9l2KiNM6vA/h9zsim8zdynz8i4yrlpFBU=; b=SEnKp00r3KGr+qfu+ugW089T2ke29Q5SOi4nxvHjxuYTb1zKsJRorlkBCCo8s0WlyP9oRsR1jEzloUb6M/154axLytEJd/42bgytSK/U1WMOKZ8IULT6CbpX4edi+y1nHmc164lOdNTQuGKdhK03SR/yDFVLhD+3pWBXgEETp086qDzDy5VeFrSw+mWw88/LNOCGaEqi9TeqGfrcQFNgAYBq6toBZUfy3imAKPh4B3NhkslJzV2eN4n52Ru5vZPMtoAdF8ZNq9Bu4wbtvgGYKuuzUrFfHbCFUz7ygWzdmei0+9kJCuB2BTtGpUClP2mZhE6DJ7PpV4DjeN4GM6YQFQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Bx3Iojt6We9l2KiNM6vA/h9zsim8zdynz8i4yrlpFBU=; b=KjleQjHsNxoXxiiKFpa1pNIEOSubWKy3vVExHqdBf4clr56wTSriwRBbi6q0wBoZmx46pm+BGvOvjTP+OoHrjCmuAUwdWmiA98/PE8PYMhMNPWBHncZfVIsCnU9Bh2MVEJC251FEA4N8UHgDpIvqECRTcQH5Y6oYhCq23+E5UbtKWoftgwz++OOHkibwsCzZf47Q2Ul8GCiBZzpAI90PdzYsYr6W/Dt4WBA0wUJ2HvU5sgfS+md3w9vVcDHAgr2AGKQH4AyJTT6Evb0NKpslYrc+NrSw+10CIOnz0PD1dgvAauecxOhekzkFeyEYnMlh777YkQcX+EkHq5GT1urAfA== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Alistair Francis , Fabiano Rosas , Laurent Vivier , Paolo Bonzini , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , =?iso-8859-1?Q?Philippe_Mathieu-Daud=E9?= , =?iso-8859-1?Q?C=E9dric_Le_Goater?= Subject: [PATCH v3 5/9] hw/arm/aspeed_ast27x0: Pass realized PSP SoC to SSP/TSP initialization Thread-Topic: [PATCH v3 5/9] hw/arm/aspeed_ast27x0: Pass realized PSP SoC to SSP/TSP initialization Thread-Index: AQHdFcTT0b7FFW1VA0KE3Oc87sJrfw== Date: Fri, 17 Jul 2026 08:18:20 +0000 Message-ID: <20260717081813.3407862-6-jamin_lin@aspeedtech.com> References: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR06MB4980:EE_|KU4PR06MB8339:EE_ x-ms-office365-filtering-correlation-id: b61e192c-400e-4ff4-3f76-08dee3dbf657 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|23010399003|376014|7416014|366016|1800799024|38070700021|921020|6133799003|56012099006|10067099003|18002099003|22082099003; x-microsoft-antispam-message-info: kOU1Hm+DDctUIbEZv/VfhH4L1e66WR4vMyFuqmIrEHLEKGuMS6OCzOLCKODMPGS7F5ay/cIqZRsVyM0+MjikUvPR3ITOEqq3xLKSpCkLzh4X3WgI9dRwONSSGNWDZlz0j1NvREjtEhKJXd7ZhfmXmjMYb/Z9VpR3qTP//4954Yg10W8jcitudyzz0BFmcMtQu3wGhWebeYSleePDg/zZMieJyQubVQNByd6ee052vP7R43paHTOgGx07grdyLAQZEQaHK1lqe+XFQgnc+/i9dczoNyDOpy1hczpvf6fmhnLZMWqy0gSSJ5rQNWhWxQDJj0RRfghYRnqQiYngMsB/Y/ClG+8plkoUJx7oGnUHCFtCcig8qEVZLTL2rhRaMlGzmpjlWgn5V8Hi6wzBjvNTO2X4EmNijpGxo8Pe/4L6rmrbV1ANWb5k6hPAUgPkOQ7HFLTZoLRw1BSN7gHd6teV0RvRLomHs8ELCYzGmFYE6iTGxcdzXyF+HaWD1Ij2MYiddPgZ57EG4oWJXICuqyRyqsgrRxt2HmdQuyBIWT0B7JDJZUumKoovRLEdyf44Pd4uXdGuY+Y0ys2PQBtQtJSbEr8wQWi8RsGY8hw32aNMNThcuyDj/vSIq8DHsKykoAr/tVF4TEy1xrGnPCJ01UGXQTgpxc6w7y0AviSbtHnHFujUlwejWvyht0nPsYKLe70Auk/0TU9z40/DrcIzHx7RkzjXBkMVR9/YYo76E/FUSQlW3Ddm9XzpmNUINyqc6KLc x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYZPR06MB4980.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(376014)(7416014)(366016)(1800799024)(38070700021)(921020)(6133799003)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?uwZUZbkM3lKN8C+Jw65w5lNT8cj8mUcMenoaW4lFtBDhOAp5a2Wjp1nKyk?= =?iso-8859-1?Q?Fujg4+kG16i+ET48tKPnZSP9t3MxolL8fD4RxuVxJK8tPAOX58+nFOz39M?= =?iso-8859-1?Q?ozMizbsDSqaZlHUn/8uFcl53CiCEZiTxOkGa4CEAeeZcAWEv3AKZRbSVwj?= =?iso-8859-1?Q?QRclAtebuMmCCXpjxdWwsryLUIbD98r40b98jpfMT7eiBJGU4irpoddkob?= =?iso-8859-1?Q?zt3oa7xs4T88nf9YMmaKZq2AcnLtLNEqamypNt2fh7bKA3YHqbyWYb85Gt?= =?iso-8859-1?Q?Vhd1YDRYwZdGBBmmtcyTnAHvVCYIxuYGPY43DUqsaI11P6pVT4LCwQ1UxH?= =?iso-8859-1?Q?yXgUBzGF+THIV9JBOoWuMkirguKHvX0Aphf4k2QSf57K5kRg09RUWf3+uQ?= =?iso-8859-1?Q?tOj/K3Pzt3f493bthXTrLQa7GAP2frM4bNDjVpn7rguSf9tjW8msj99BOE?= =?iso-8859-1?Q?8sOFoZGKU1WQ2HRcLOiw2W0npIVew+IHLxcv3BxGTJWmPPID5deQXLv+sG?= =?iso-8859-1?Q?SEEdbBgEoB6lW8nycHeoZpwBeWUY/8ohX/IRNiw+p0CuuGEGwLpUlv4Ov2?= =?iso-8859-1?Q?ZrREdg5+G/i20Q96oHbBkbhToAAkB7xaKHK5bV0Sx2G6StXP79vxknZUqA?= =?iso-8859-1?Q?bsBbfA48TJXx+bS0A5hg43E+3kMPz5dZYKCFx37eHTvo0Grv/5KLO6PB1S?= =?iso-8859-1?Q?gz8AiTZSojfHj331PAeW+uQjePp6Adv7w2SDU12njuTmmCfCv/RecXDcSR?= =?iso-8859-1?Q?UIEIJC/2TQCVrZMs3rnGss3BHg6z7px8aIbC0wXoLjX0GPxaLSjjT5M8AT?= =?iso-8859-1?Q?EODppI4tl51OU8clTWZ7nGK40dscVHoje1xtuyfkT2nzayxO7rk8zQ6//d?= =?iso-8859-1?Q?LOqqiSJguOmywwWxTvbPbdFYY1YgnfbGUqUevrDKiozS8ZAIUDpXeQeVSg?= =?iso-8859-1?Q?yDbjjbriW1o6ivm6vCiKuKtJ3tdLe24F/1LrfkAO6QqTqqekvBDI8aptiv?= =?iso-8859-1?Q?T5hMCyGFRnWGRbYIhsm0jwrUZnyn4Zx4RSXCDQq+i922bt57hGAdmzj5HK?= =?iso-8859-1?Q?BjJYXb4J8h8m4HgGIeauSY7fj0sT35AswUaVtzPdaoMgSTn9FyPa6O+w+U?= =?iso-8859-1?Q?ljovYj9+Q/kMTp9NjeUojxYvUA3xn/rDC+Sv+AN7LF3vrwLkHe84E5FQE5?= =?iso-8859-1?Q?WypQ6heTiiIjuhZABwB65R8JNUYyRjq9fENaoqeoacqnV32PgvzTBxRfdQ?= =?iso-8859-1?Q?oN/k4ydhg0T7i5eYJGAO4bLA4TsCwciBPH6BnpGARoLMWdTr3M+vEZK+co?= =?iso-8859-1?Q?Uxg/dJJoZyPQpeZHlo0uWT45YwOACTnlvVsK/Pou+T6cDm9UfLF4sccPLz?= =?iso-8859-1?Q?8xkZYOUuXVSf5iF6t5TyTXobEquZJTjQQwHBfo12l4KC4e2eSUWFiXxQia?= =?iso-8859-1?Q?Y6oW1lwQX8F04LHUQp2KdfYmsNz5veBEz3B2Xp8acd/q4TgKTa5nOejN2i?= =?iso-8859-1?Q?7LZWfd8qpTHxDMR7GXsOWbLnjgMnnfVrOWFQYRiI8ddO92kTHOKOzJr715?= =?iso-8859-1?Q?rYWv6xqdypBxacJEAAY/+rgYSrg7GYChXD/9nvEsneJTsARdwcDxcFbRjU?= =?iso-8859-1?Q?1swDDM56cufqvu4j+U2ZSUCGQsAXT/3ZuU3+oJc8vAh4bhjpxXj6wnaWDr?= =?iso-8859-1?Q?QnusGqAUUgBnH4UZbh8+YRQiguFejSinw6d+t75JkvwYDMN3lY95ttt1px?= =?iso-8859-1?Q?0tecEvCUiFdXq9CT71XE+kLgcsk9W4UBqo7rBkfnsCLmG5Wox8BPOXYf+o?= =?iso-8859-1?Q?0PMrRhLR5Q=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: C4kLuu6t2x0ycCn+eHrylA6Zel5g2niUONBBHaknmH/14MIt+UBiDO9QuSKDDzCBDRrH+U9WNw8YbJdiFm4K6aWWUsKxRvfWt4E3gLU2QPW7jBSegKJ2c/sVfn68AzYCe/R32+rvssUAJnvEOa+HN+mD77jvrFpRRh90Eaqlg2Up+Xca/cEVFsa/Z+IklSa+5JUtQu+jhPgDHk8+DAgNo66zFBxoDLbhVbi0WxiJMgMg1c81cbfB6a8MMWBp0aPkNzdA/dM8ZoEbewii5ZzPAmOW+b0tFYZSa+9c61XwfM0rl/lteUCyuBOrnOFSvyAr9GgIDBx/vN+NjW/euoa/qg== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR06MB4980.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b61e192c-400e-4ff4-3f76-08dee3dbf657 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2026 08:18:20.2223 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: cLEHxgjRr0E2Alm9OPtpy6QT5t4PGlNwzenmu+T5v9/0q7ckxx4t0RwI6qeqVL4rL9G5sC8YmbKrLTmYkENEqucWN47cA16GvNbEWlamw/4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: KU4PR06MB8339 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=jamin_lin@aspeedtech.com; helo=TYPPR03CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @aspeedtech.com) X-ZM-MESSAGEID: 1784276365327158500 Content-Type: text/plain; charset="utf-8" Pass the realized PSP SoC to the SSP/TSP initialization helpers instead of retrieving it from the MachineState. This makes the dependency explicit, since the SSP and TSP coprocessors use resources owned by the PSP SoC, including the UARTs, SRAM, SCU and SCUIO. The PSP SoC must therefore be realized before the coprocessors are initialized. No functional change. Signed-off-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater Tested-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/aspeed_ast27x0-fc.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/hw/arm/aspeed_ast27x0-fc.c b/hw/arm/aspeed_ast27x0-fc.c index 8d49bb95d6..58d0b4d7cd 100644 --- a/hw/arm/aspeed_ast27x0-fc.c +++ b/hw/arm/aspeed_ast27x0-fc.c @@ -134,11 +134,9 @@ static bool ast2700fc_ca35_init(MachineState *machine,= Error **errp) return true; } =20 -static bool ast2700fc_ssp_init(MachineState *machine, Error **errp) +static bool ast2700fc_ssp_init(Ast2700FCState *s, AspeedSoCState *psp, + Error **errp) { - Ast2700FCState *s =3D AST2700FC(machine); - AspeedSoCState *psp =3D ASPEED_SOC(&s->ca35); - s->ssp_sysclk =3D clock_new(OBJECT(s), "SSP_SYSCLK"); clock_set_hz(s->ssp_sysclk, 200000000ULL); =20 @@ -166,11 +164,9 @@ static bool ast2700fc_ssp_init(MachineState *machine, = Error **errp) return true; } =20 -static bool ast2700fc_tsp_init(MachineState *machine, Error **errp) +static bool ast2700fc_tsp_init(Ast2700FCState *s, AspeedSoCState *psp, + Error **errp) { - Ast2700FCState *s =3D AST2700FC(machine); - AspeedSoCState *psp =3D ASPEED_SOC(&s->ca35); - s->tsp_sysclk =3D clock_new(OBJECT(s), "TSP_SYSCLK"); clock_set_hz(s->tsp_sysclk, 200000000ULL); =20 @@ -200,9 +196,19 @@ static bool ast2700fc_tsp_init(MachineState *machine, = Error **errp) =20 static void ast2700fc_init(MachineState *machine) { + Ast2700FCState *s =3D AST2700FC(machine); + AspeedSoCState *psp; + ast2700fc_ca35_init(machine, &error_abort); - ast2700fc_ssp_init(machine, &error_abort); - ast2700fc_tsp_init(machine, &error_abort); + + /* + * SSP and TSP use resources owned by the PSP SoC, such as UART, + * SRAM, SCU and SCUIO. Therefore the PSP SoC must be realized + * before the coprocessors are initialized. + */ + psp =3D ASPEED_SOC(&s->ca35); + ast2700fc_ssp_init(s, psp, &error_abort); + ast2700fc_tsp_init(s, psp, &error_abort); } =20 static void ast2700fc_class_init(ObjectClass *oc, const void *data) --=20 2.43.0 From nobody Sat Jul 25 14:35:46 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1784276551; cv=pass; d=zohomail.com; s=zohoarc; b=WgBGda/K8WPT7sWt0ud06jU37blAIEyBzDYRbL1PMFAbKTzDIplidtrm1ya2kY8P5zojGnOFke3eRl+7XilLEzgLCFIiQyTaI12szUE6vhPZsTMi35hbdHArArXSMTAEzZnXutpK6uN9/RoVV6Zqkrluai9VrqePvFNhDFSq7Sk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784276551; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+NsZPU0vp5g+L+ZwYkgzN0/vSqDgJxWBI/lwu9OovNo=; b=aNidXXi7E7L/RmG2ABnF6X9+D17rqFvi4uJ87nITdqKQx7Ra+vmkG8CLRsoB5WocpNTSuTbowePxQ7N5exqttnb2AAnDm55hF9G813IqXcTIjkbUYGyr3fF8WYhkYGD5Pt5H5UuY0EpR3fRt9V6K8u6HluAsRULyqJRw+r+aTLc= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784276551718326.20466725609515; Fri, 17 Jul 2026 01:22:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wkdmO-0006qZ-SL; Fri, 17 Jul 2026 04:18:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdmL-0006p5-77; Fri, 17 Jul 2026 04:18:41 -0400 Received: from mail-japaneastazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c405::5] helo=TYPPR03CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdmF-0000Cy-Pa; Fri, 17 Jul 2026 04:18:38 -0400 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com (2603:1096:400:1cc::10) by KU4PR06MB8339.apcprd06.prod.outlook.com (2603:1096:d10:7d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Fri, 17 Jul 2026 08:18:22 +0000 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3]) by TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3%6]) with mapi id 15.21.0223.011; Fri, 17 Jul 2026 08:18:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=k/09B7b2Tp6SuI4drc4AJkz51yNXnTKYvKIzMCxRDC1VI+u1mR4pkGj6sG9k8+cHMrYh87yrd3XtjgdwjpF9xx80JpfVxluCTX/MGguEgEMJPT11x+GVYUqrZJ751wJWkg0wo9zmKlgXHdwgdM29x3y39VoJ2mQM5ES8Yb5fa6OcKXla8+ZSxkV8jjA2cQYsXMZcxLcjNFPiPGqYLLGIFoUKBH30e7Yw76JKOsochC3A0Jl4J4+F8HV7rzi4pZ6PfQtb5533RNR+IqcqikwG3OFr1qx96yFuom9ynd9L0Hmkci42UlnXC9Sgl0ODzjYCGeTaHjlMN+TsPzQIwqsk/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=+NsZPU0vp5g+L+ZwYkgzN0/vSqDgJxWBI/lwu9OovNo=; b=hnLWvaGfm28r7eVrDwex+mM9u5SX3WmExmcYOfO17vChn5sX6wvW/pMCcklPzJ5YgbnCTMW0z46V6I/uVg2P5dnz4LF2MT4PYG5pg2amUi32mJGF1HXl+fTTxFUIonnweLjLO+/F+dwM+Ic0YSRHHV/t0kKleHppQVLzNSt+Nvfj9dp4QRSVxbijNy81iBymx/OAFSYFzFrzUPqEnGiz/oIfFDpAh7uT2FcjcDBob5fxCEwRqtHhBYmsrSFkSfS2QS3fZGGdIV1CvRp9i7087BYsblIxCkvK1jqjS6hA4C15uLGjjPwWNZXGKWzLPsF2INFtTjNlRRoVpJZmskgLqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+NsZPU0vp5g+L+ZwYkgzN0/vSqDgJxWBI/lwu9OovNo=; b=m9Og6/JY04JjLQ2CxFoE/v8Vy9FvhYmyP62136kkH+MaNpIJyEcFS2RVrcAXktCIH6IVRBI3y2EXqDSRny2KXieU4/U5X8aq6hg439403pkp5rHEd3m4GUOWpxRm5+/BQqxHlc0Aym49oDyznLGGxEIL3ln5PWccpex+ZkPD3b+0wUxX5nbkMaGPRWluaO77n9HbbRL6LomCL/Ttp8JxwoOoefVjQZqP41BV3Yo6jT5bVyf3XjjD1JyMyloQQtzSjQu4driakxAXSHI5bdMJsLYAPC/ITt5Ka95u7Pz7HC4Zt1h3gsOgMeF9AvZWINVI6sqI54UkkfrIMjs3Ou6pCA== From: Jamin Lin To: =?Windows-1252?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Alistair Francis , Fabiano Rosas , Laurent Vivier , Paolo Bonzini , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , =?Windows-1252?Q?Philippe_Mathieu-Daud=E9?= , =?Windows-1252?Q?C=E9dric_Le_Goater?= Subject: [PATCH v3 6/9] hw/arm/ast27x0: Share single SCUIO instance across PSP, SSP, and TSP Thread-Topic: [PATCH v3 6/9] hw/arm/ast27x0: Share single SCUIO instance across PSP, SSP, and TSP Thread-Index: AQHdFcTUKWdK35iQIUyO1+fTGd3FVA== Date: Fri, 17 Jul 2026 08:18:21 +0000 Message-ID: <20260717081813.3407862-7-jamin_lin@aspeedtech.com> References: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR06MB4980:EE_|KU4PR06MB8339:EE_ x-ms-office365-filtering-correlation-id: bb91b820-7886-4c14-eeb3-08dee3dbf740 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|23010399003|376014|7416014|366016|1800799024|38070700021|921020|56012099006|10067099003|18002099003|22082099003; x-microsoft-antispam-message-info: G+M+aoO0lTUUqPsA0zbr3gFvZMd+ZZUZfPrHbPEGTOIkQA4S/ZBwm+ykQqjO7BTguRvRbODP6lZL+9QfNaq4LpnGdi2On8/WVHOWTcDCpyzkEXCgH7IMjGBXn/rlFC/iFMz2SFLeFXs8QtZOgh17e0Wxk7htzVqRKGuyTdqtpRpasZTE2pXcrTU3bs9qQ7SH7VfAaFfP/hDziFUdoW+D6mekS+H9XB0wBnMgNVgOqQmTv7rHSWAW9upAzLNceXiv+5TAUepOzLMmoowNXZ2r+EH4eU9xD4m5ydMjbdnB1DA9NTqI7ldukmNw+hdyxaLcbu1WFM5qfUJ5IZo2xaO/ihnt1niU4/gacvNcnXXWO7DP2FofHJe67lntp1771UCWXD6IQ1Gv5mHHKbQvFdSd5cv2ZyllEp6C8xLyPrFjuFF1Q4UcpMNR1NJIdOoyqj4GjOlBHvlzBjU3jyn19DZ+mCua1V4cdLrUfctEvYhutG0ppYHGdRZHx/4mVucm7YvlPJ+z4XzWWOkWptRoqxmKhinBSrJwTJj03rW2/3bJroLqgrwMWuFUrvYmv2/Golqycjz+3QwavTvznt6OWUqpz+1f7kCdrCmotHMuNzvrUKgzrDSiXVYsLrF8225oFffrv29J7LgyG2rVl0c3WiicGxbB1rjOHa1XSwjzqVYlvvyP+5x7/TD0zyeD/PsUWJrsN9aij02z/wSgsoeO+8Y7jQhLv/slLxncayjhoOtGoUnwsBfWnrpuPs+mIlcgrhac x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYZPR06MB4980.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(376014)(7416014)(366016)(1800799024)(38070700021)(921020)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?ZMpRGkmbkuwo+FYh7fUrxQ1tr1mpiKAOUhgBN6UC8A//yjoWbtw2rJNF?= =?Windows-1252?Q?v/Ich6srFQ8B21cnhZA++t2/dg5VK8j2EDjeINXWqHe3Q1+bSMv/4dMh?= =?Windows-1252?Q?JoooFfZ8JWDwRmLWlROU+/hZqEB3RV0HJ0Xzpe/p6OWlROaIsiQhawKz?= =?Windows-1252?Q?TGCYfBoFVv7qHYDD2NVo50Hud7iceGL8v/3I3sXtfF8wTiyUTjBCLr7R?= =?Windows-1252?Q?+7Q2pQhnMA6mipL1kUIHCm+dKVuJEL95QWV9YAXfoYSn/DZ1fMik//1o?= =?Windows-1252?Q?wVBe1uXv4dYlWKTrG9Ocx65BdyGUUg0si5nn1M0z9gZYYF19T1KeBCH1?= =?Windows-1252?Q?yZV0M/PEkwaWrykV9SFEcd2Pb6Bxz+fl6sLvj0nWUS4fjK18A/hSABEV?= =?Windows-1252?Q?kppZ24fypEJWqeSnfQaZFon8Ps9hsJazBoykI8GQxUcAQWTDdSNOivsM?= =?Windows-1252?Q?PU3O7hSeFPbb1AhWtdyVegt7qHiwTY240szFcaoUXRto3oS44Wym77YF?= =?Windows-1252?Q?ojRaWSfi65iB/CaI9AQ5XdLtyVfRfWE5erHORrlsubZtaD7SsCpCbWs4?= =?Windows-1252?Q?lKXtevKdE2VKBYtUdR1cvvPmgMg640HRmIju00ZhkEh55CSMLMNdDT+M?= =?Windows-1252?Q?ik9T4Ii4TXvrmS1joAkxXfgriiYJ/UO/rbhUBSWfPTXVziB6iuBwngVK?= =?Windows-1252?Q?2P/FTyWb7w4ft8Bdeh1DMQta5C+JaPQDJ8bObm8hC2dvFBa6xtSAUXoX?= =?Windows-1252?Q?TXs2nbTLKzA6Qn/PLxGcet1ip4ztolJ1n6Mmhdivrybj5+0gu85+9Fpp?= =?Windows-1252?Q?y4zxHcJ6Ar5Z3EZeBQ2ZS8rLci/uHanGbX/f+kTkBgCV4ML5OEqUmuov?= =?Windows-1252?Q?ASMKARA4DvY6LiDw+1/iEDmEgqr6SAaSWchCbj9Mzt9iu6JnAA2ehDPZ?= =?Windows-1252?Q?k9ff4L4ffJKTnbckrvIhlM5TiAsN90wGZmsHmVqgwVOr/ClP7tBP+c9w?= =?Windows-1252?Q?KsV4ieBssOGXX5+cQCBX6TofCJmM2xgP+ikoQBrfj4UYESnDSVh0kJMt?= =?Windows-1252?Q?GmGFB0Pg+/N5glQAYs7zOVXXWXI0+/uxUYlEAxHfIpvocKvabMD9Ems6?= =?Windows-1252?Q?GwVtcZopd3EJZU7NtJeG4OeAekWIHyhQHFRjriIhFECYuhoarSvmPb4c?= =?Windows-1252?Q?/CQNf5v0ULDHOv9M6Ow/ON9XiOqLyfVBYqQWaeEMWO7U4D3EIGyeDBEG?= =?Windows-1252?Q?4y0YATNF5bzUS5Fc6OqSOLIP/Fe9qO4X/E62Ta7q2XEcLZApZwu7UVWO?= =?Windows-1252?Q?D7gcFVju3gbPWzJsNxIPSaiwa/b05jbqZMv81OPhpULnLpOwfytxHp4L?= =?Windows-1252?Q?z3DlJWYAo+XL1GXQw7wkhCgkK+cWAVwH1owm42zewLEkJ9yQVgbE4BQG?= =?Windows-1252?Q?M3EhR6B7vEdhzhIBoA7FSjG9qDTjUrBigwgos6QdNnlUKsnufcn4vMAf?= =?Windows-1252?Q?Mfg0ECSVd/KHa0W4wp/R8Pz+TM1BJTHiw/kl9gOFg2s5NXp5W+QFJ6de?= =?Windows-1252?Q?sjae6f4iPeYA4ZRCDgeJPYQTNBYWcm5sX9LXP4QTM2WcKepMK6Ck0S1C?= =?Windows-1252?Q?fULhxBCRWUVMDTVwF+qLky3ZkBK9adnEwZg5IJYvGbvp7oXxFZYiZr6h?= =?Windows-1252?Q?ZulzFORsygotbbXRaEOY4wZZeHxmaGCj91fj+DdOc1y8jmAV7VJsIRBM?= =?Windows-1252?Q?1mtXQEjA5CfTjVVkF6xANwO/ArRZvrA2y0AiHf6Azor4+2jlf4xKsC9p?= =?Windows-1252?Q?VJZ2sl/t0GsiA43GiyHR83y4hMTkRsEKG64hSVzb3boBc9An4Txkpw5m?= =?Windows-1252?Q?bVQBy2ZC1s1GhA=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: SunRD61j+pRPz3VOpN+wt1P7jW6PgjGjTftBWCkBTPIPspIAt4dutIYft7fa6Vzg4NrEuRtoCciiqiovJ+FZIwSdl8EeykFZ4yAy1ciX7oOuqBaBVJyNA8lA/nfcmASwh2nXo9jiXs8F4G9q+5eC5edkgimtBSsUDaflqckZsXe8z8T0wnjheEHMwA5Oo0Yb8cnWNaYELWka4EGbG8ftew/U/hsz1EbGvHYzyM/VqczcmI8o3l0L521vJHfxoliK5XXT4xCulciYc8nG2AO49pVa5BqVLn9pgOB3LmnzlTLhWw3H1Q21eumP14wgY5gIVjs3r7EiaenmotQugLXn6Q== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR06MB4980.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb91b820-7886-4c14-eeb3-08dee3dbf740 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2026 08:18:21.7738 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: MUOYYbHFpW/nD1WKBkAdTupleEi5xlmOS1Z2MJzJDc0E6Q6WqbEqvj9Zaxm9dX7VgKPEAmFoRFE6InRV0+FfldqtL5OVhfL965rDnQ86KLk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: KU4PR06MB8339 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=jamin_lin@aspeedtech.com; helo=TYPPR03CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @aspeedtech.com) X-ZM-MESSAGEID: 1784276552282158500 Content-Type: text/plain; charset="utf-8" AST2700 has a single SCUIO hardware block, memory-mapped at 0x14C02000=E2=80=930x14C03FFF from the perspective of the main CA35 process= or (PSP). The SSP and TSP coprocessors access this same SCUIO block at different addresses: 0x74C02000=E2=80=930x74C03FFF. Previously, each subsystem (PSP, SSP, and TSP) instantiated its own SCUIO device, resulting in three independent SCUIO instances in the QEMU model. In real hardware, however, only a single SCUIO exists and is shared among all processors. This commit reworks the SCUIO model to correctly reflect the hardware behavior by allowing SSP and TSP to reference the PSP=E2=80=99s SCUIO insta= nce. The following changes are introduced: - Add a scuio property to Aspeed27x0CoprocessorState for linking the coprocessor to the PSP=E2=80=99s SCUIO instance. - Replace per-coprocessor SCUIO instantiation with a shared SCUIO link. - Add "MemoryRegion scuio_alias" to model address remapping for SSP and TSP. - Create SCUIO alias regions in both SSP and TSP coprocessors and map them at 0x74C02000 to mirror the PSP=E2=80=99s SCUIO registers. - Ensure the SCUIO device in PSP is realized before SSP/TSP alias setup. With this change, PSP, SSP, and TSP now share a consistent SCUIO state, matching the single-SCUIO hardware design of AST2700. Signed-off-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater Tested-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/arm/aspeed_coprocessor.h | 4 ++-- hw/arm/aspeed_ast27x0-fc.c | 4 ++++ hw/arm/aspeed_ast27x0-ssp.c | 20 +++++++++++++++----- hw/arm/aspeed_ast27x0-tsp.c | 20 +++++++++++++++----- 4 files changed, 36 insertions(+), 12 deletions(-) diff --git a/include/hw/arm/aspeed_coprocessor.h b/include/hw/arm/aspeed_co= processor.h index adfc3c4512..b77ea06e7f 100644 --- a/include/hw/arm/aspeed_coprocessor.h +++ b/include/hw/arm/aspeed_coprocessor.h @@ -22,7 +22,6 @@ struct AspeedCoprocessorState { MemoryRegion uart_alias; Clock *sysclk; =20 - AspeedSCUState scuio; AspeedTimerCtrlState timerctrl; SerialMM *uart; int uart_dev; @@ -45,14 +44,15 @@ struct Aspeed27x0CoprocessorState { AspeedCoprocessorState parent; AspeedINTCState intc[2]; UnimplementedDeviceState ipc[2]; - UnimplementedDeviceState scuio; UnimplementedDeviceState pric[2]; UnimplementedDeviceState otp; =20 ARMv7MState armv7m; =20 MemoryRegion scu_alias; + MemoryRegion scuio_alias; Aspeed2700SCUState *scu; + AspeedSCUState *scuio; }; =20 #define TYPE_ASPEED27X0SSP_COPROCESSOR "aspeed27x0ssp-coprocessor" diff --git a/hw/arm/aspeed_ast27x0-fc.c b/hw/arm/aspeed_ast27x0-fc.c index 58d0b4d7cd..d14a42ebca 100644 --- a/hw/arm/aspeed_ast27x0-fc.c +++ b/hw/arm/aspeed_ast27x0-fc.c @@ -157,6 +157,8 @@ static bool ast2700fc_ssp_init(Ast2700FCState *s, Aspee= dSoCState *psp, OBJECT(&psp->sram), &error_abort); object_property_set_link(OBJECT(&s->ssp), "scu", OBJECT(&s->ca35.scu), &error_abort); + object_property_set_link(OBJECT(&s->ssp), "scuio", + OBJECT(&psp->scuio), &error_abort); if (!qdev_realize(DEVICE(&s->ssp), NULL, errp)) { return false; } @@ -187,6 +189,8 @@ static bool ast2700fc_tsp_init(Ast2700FCState *s, Aspee= dSoCState *psp, OBJECT(&psp->sram), &error_abort); object_property_set_link(OBJECT(&s->tsp), "scu", OBJECT(&s->ca35.scu), &error_abort); + object_property_set_link(OBJECT(&s->tsp), "scuio", + OBJECT(&psp->scuio), &error_abort); if (!qdev_realize(DEVICE(&s->tsp), NULL, errp)) { return false; } diff --git a/hw/arm/aspeed_ast27x0-ssp.c b/hw/arm/aspeed_ast27x0-ssp.c index 28bb59c8c5..fa492f1797 100644 --- a/hw/arm/aspeed_ast27x0-ssp.c +++ b/hw/arm/aspeed_ast27x0-ssp.c @@ -142,8 +142,6 @@ static void aspeed_soc_ast27x0ssp_init(Object *obj) TYPE_UNIMPLEMENTED_DEVICE); object_initialize_child(obj, "ipc1", &a->ipc[1], TYPE_UNIMPLEMENTED_DEVICE); - object_initialize_child(obj, "scuio", &a->scuio, - TYPE_UNIMPLEMENTED_DEVICE); object_initialize_child(obj, "pric0", &a->pric[0], TYPE_UNIMPLEMENTED_DEVICE); object_initialize_child(obj, "pric1", &a->pric[1], @@ -173,6 +171,12 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState = *dev_soc, Error **errp) return; } =20 + if (!a->scuio) { + error_setg(errp, TYPE_ASPEED27X0SSP_COPROCESSOR + ": 'scuio' link is not set"); + return; + } + /* AST27X0 SSP Core */ armv7m =3D DEVICE(&a->armv7m); qdev_prop_set_uint32(armv7m, "num-irq", 256); @@ -207,6 +211,13 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState = *dev_soc, Error **errp) memory_region_add_subregion(s->memory, sc->memmap[ASPEED_DEV_SCU], &a->scu_alias); =20 + /* SCUIO */ + memory_region_init_alias(&a->scuio_alias, OBJECT(a), "scuio.alias", + &a->scuio->iomem, 0, + memory_region_size(&a->scuio->iomem)); + memory_region_add_subregion(s->memory, sc->memmap[ASPEED_DEV_SCUIO], + &a->scuio_alias); + /* INTC */ if (!sysbus_realize(SYS_BUS_DEVICE(&a->intc[0]), errp)) { return; @@ -267,9 +278,6 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState *= dev_soc, Error **errp) aspeed_mmio_map_unimplemented(s->memory, SYS_BUS_DEVICE(&a->ipc[1]), "aspeed.ipc1", sc->memmap[ASPEED_DEV_IPC1], 0x1000); - aspeed_mmio_map_unimplemented(s->memory, SYS_BUS_DEVICE(&a->scuio), - "aspeed.scuio", - sc->memmap[ASPEED_DEV_SCUIO], 0x1000); aspeed_mmio_map_unimplemented(s->memory, SYS_BUS_DEVICE(&a->pric[0]), "aspeed.pric0", sc->memmap[ASPEED_DEV_PRIC0], 0x1000); @@ -284,6 +292,8 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState *= dev_soc, Error **errp) static const Property aspeed_27x0_coprocessor_properties[] =3D { DEFINE_PROP_LINK("scu", Aspeed27x0CoprocessorState, scu, TYPE_ASPEED_2700_SCU, Aspeed2700SCUState *), + DEFINE_PROP_LINK("scuio", Aspeed27x0CoprocessorState, scuio, + TYPE_ASPEED_SCU, AspeedSCUState *), }; =20 static void aspeed_soc_ast27x0ssp_class_init(ObjectClass *klass, diff --git a/hw/arm/aspeed_ast27x0-tsp.c b/hw/arm/aspeed_ast27x0-tsp.c index f5c4a02161..3a98bd232c 100644 --- a/hw/arm/aspeed_ast27x0-tsp.c +++ b/hw/arm/aspeed_ast27x0-tsp.c @@ -142,8 +142,6 @@ static void aspeed_soc_ast27x0tsp_init(Object *obj) TYPE_UNIMPLEMENTED_DEVICE); object_initialize_child(obj, "ipc1", &a->ipc[1], TYPE_UNIMPLEMENTED_DEVICE); - object_initialize_child(obj, "scuio", &a->scuio, - TYPE_UNIMPLEMENTED_DEVICE); object_initialize_child(obj, "pric0", &a->pric[0], TYPE_UNIMPLEMENTED_DEVICE); object_initialize_child(obj, "pric1", &a->pric[1], @@ -173,6 +171,12 @@ static void aspeed_soc_ast27x0tsp_realize(DeviceState = *dev_soc, Error **errp) return; } =20 + if (!a->scuio) { + error_setg(errp, TYPE_ASPEED27X0TSP_COPROCESSOR + ": 'scuio' link is not set"); + return; + } + /* AST27X0 TSP Core */ armv7m =3D DEVICE(&a->armv7m); qdev_prop_set_uint32(armv7m, "num-irq", 256); @@ -207,6 +211,13 @@ static void aspeed_soc_ast27x0tsp_realize(DeviceState = *dev_soc, Error **errp) memory_region_add_subregion(s->memory, sc->memmap[ASPEED_DEV_SCU], &a->scu_alias); =20 + /* SCUIO */ + memory_region_init_alias(&a->scuio_alias, OBJECT(a), "scuio.alias", + &a->scuio->iomem, 0, + memory_region_size(&a->scuio->iomem)); + memory_region_add_subregion(s->memory, sc->memmap[ASPEED_DEV_SCUIO], + &a->scuio_alias); + /* INTC */ if (!sysbus_realize(SYS_BUS_DEVICE(&a->intc[0]), errp)) { return; @@ -267,9 +278,6 @@ static void aspeed_soc_ast27x0tsp_realize(DeviceState *= dev_soc, Error **errp) aspeed_mmio_map_unimplemented(s->memory, SYS_BUS_DEVICE(&a->ipc[1]), "aspeed.ipc1", sc->memmap[ASPEED_DEV_IPC1], 0x1000); - aspeed_mmio_map_unimplemented(s->memory, SYS_BUS_DEVICE(&a->scuio), - "aspeed.scuio", - sc->memmap[ASPEED_DEV_SCUIO], 0x1000); aspeed_mmio_map_unimplemented(s->memory, SYS_BUS_DEVICE(&a->pric[0]), "aspeed.pric0", sc->memmap[ASPEED_DEV_PRIC0], 0x1000); @@ -284,6 +292,8 @@ static void aspeed_soc_ast27x0tsp_realize(DeviceState *= dev_soc, Error **errp) static const Property aspeed_27x0_coprocessor_properties[] =3D { DEFINE_PROP_LINK("scu", Aspeed27x0CoprocessorState, scu, TYPE_ASPEED_2700_SCU, Aspeed2700SCUState *), + DEFINE_PROP_LINK("scuio", Aspeed27x0CoprocessorState, scuio, + TYPE_ASPEED_SCU, AspeedSCUState *), }; =20 static void aspeed_soc_ast27x0tsp_class_init(ObjectClass *klass, --=20 2.43.0 From nobody Sat Jul 25 14:35:46 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1784276344; cv=pass; d=zohomail.com; s=zohoarc; b=MOgfY/0O30bSpixEAxeCtwxPtFg2OWhDkDazRgGj7YScR58V/kMWJ8BRFp4XaIDbW3L0CYtTtoZYXt/i+ZbaWIwNEUlHIMgM+HbQf27wZQN3agfG1sgJ3YC6Q70eBhTV4w3kE6ABwHHzpiLRbA3/5QUPjqBYy43sL07gldmmDh4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784276344; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=EyKKYN90mdpRteDX8L33Wt65GBO4e91s/klb3HWPZXA=; b=PnPSmE4ZRmt+mHpvhg7HPsl1qJhUp7qC4xlcv/wO/NMOHar8Ekg6+mjzt4W5n15bpqZsZs/bqZjRKOSK7YoInqBVUdQX2mh+goFL8FCJEy0YFLrdu2Z7z12MKFK9dRrkGGyZ0iPweDzwOZDamezPHnfD4HBzLloPKG7QUghVeNs= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784276344098381.6647232986986; Fri, 17 Jul 2026 01:19:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wkdmN-0006qQ-Sq; Fri, 17 Jul 2026 04:18:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdmL-0006p4-6r; Fri, 17 Jul 2026 04:18:41 -0400 Received: from mail-japaneastazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c405::5] helo=TYPPR03CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdmG-0000E6-0f; Fri, 17 Jul 2026 04:18:38 -0400 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com (2603:1096:400:1cc::10) by KU4PR06MB8339.apcprd06.prod.outlook.com (2603:1096:d10:7d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Fri, 17 Jul 2026 08:18:23 +0000 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3]) by TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3%6]) with mapi id 15.21.0223.011; Fri, 17 Jul 2026 08:18:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tDDI2+7wTLBVavWngeHVU7I2DDQm4CQJLmkkPyJiaG4p45q+SFrZYnD3JqnFzkq5lRyWzaR5IkmzJImSqL8e4hohGsql76ncx0t6Tf5HhYDsinsmBAQscr5t0WIirTKZwUuQcIuKkKaHPFWIvxXqnwKsARxmytLo53ar057qe/ZKgqYVaT8D1Mk2c2Vj/9fz277M3+IkHIm3d+/rA6byxQzdIU1vPL1imJYGbNV6NjwUi6ulGtW8eqifwFZQqzYYALjDHQzDqJjo8GA0U3jgnEu5bUSNTyji/cejWeeYIGynDyY79bkmezHz8w2v/7cTfcQDa0mKRsYNM5Vww6T77w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=EyKKYN90mdpRteDX8L33Wt65GBO4e91s/klb3HWPZXA=; b=uF5Tl11oaQjbgoQDV9o/p2A8Seqb0G0r/lHYiXwWOLasUbYZha9bmaEV/v2cMZC84VGYytdltxzeGPS40RS36WmjOTrxjd5gbpUe4XVWEMgA64hRSJSoLpdsiCSh3w/J/n6wV0JvjYSFyWX26xsDfo/CYqlp4Bw/oMKP8qT6A2pNySOJDHFDEISRrHKEXnG0q+zkSUXey2qnUNnkRO114c9Aqt0HJ3N1gYLgbQS0z8RxpctVS2+9KslNujSDyHxcSfmIxNCCEnjfCFwuCKARXh2gK435giflUnlBF78WZUzAO0sClf6gTmfFmujePLOD1Op0Uc8DOa7E+FY/5Fz/vw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EyKKYN90mdpRteDX8L33Wt65GBO4e91s/klb3HWPZXA=; b=Dc+uMbiwGLMDda3b/JxUMQ0EQO4ETT0feVd2hRj+MlHyQs4snQyRuHoiBc+kLnveQVzPpSV3rgAyLw5qRjULhAfYR+jwhX+d1/NaJyGRjAYP622mGIfSwzlKT5/LXT4T9/uhNbB5PDjGonZGwMbp4z3d2y8CSoYtk6FFsUT3JhOjE1rFLwoxy9Kb6HjvvfrG09KWs/oqSjhB5gMHNTm9n5SjfOkQw9aLflIke9E3toQIoxQzOPm/vKViHaP4FE3SlXs/NrKTU8CN2si7G/iwfwnoagBT+ozexbEWof9NhOboHLf4ahHqCLmw8LXRxdc7qxEoP+Foc4etZ/0vVHKFAw== From: Jamin Lin To: =?Windows-1252?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Alistair Francis , Fabiano Rosas , Laurent Vivier , Paolo Bonzini , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , =?Windows-1252?Q?Philippe_Mathieu-Daud=E9?= , =?Windows-1252?Q?C=E9dric_Le_Goater?= Subject: [PATCH v3 7/9] hw/arm/ast27x0: Share FMC controller with SSP and TSP Thread-Topic: [PATCH v3 7/9] hw/arm/ast27x0: Share FMC controller with SSP and TSP Thread-Index: AQHdFcTV6ZB5mxKEskq6l72xaRNXbQ== Date: Fri, 17 Jul 2026 08:18:23 +0000 Message-ID: <20260717081813.3407862-8-jamin_lin@aspeedtech.com> References: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR06MB4980:EE_|KU4PR06MB8339:EE_ x-ms-office365-filtering-correlation-id: 1e3c125a-be84-4647-b367-08dee3dbf7f7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|23010399003|376014|7416014|366016|1800799024|38070700021|921020|56012099006|10067099003|18002099003|22082099003; x-microsoft-antispam-message-info: ACpqzVIaqoTtGC9TWLQr5OdIrjY+H1BIWUSp+KNLgkW+WoLB70FbtMAMt5uzor2Jmn3iYPIxSeJG5erqrUGg2sd3Z4W/W0GnhAS2HSw7I+hbSPULFYPg4L1cemzyF70vpjbmvBeBt0CdtVIPbFVMN9n7GokOP6llxWVkNhgjh9PIfzbbmgGKiFjmdLbiB1Qt9d6C3qQappOTJR2jSJUAhYYQ6owWQReN3u91Z0Ul+U7ekDFB1Hnu62p3i5u2zJG8J6jn3IcJXtmgkTajMSJMKCbGZFmZZgjD6qaMicuDTerOA0KylxCuAdpijUUBp3MaXY6hhDkB2ZeVo6Q7SOyGv2FdzcZIPEh+vhUhc+NeHuLWA1/ggqslnGW/jlu6A0R6dEqn7MhvooeNEPjBck6XmrkdCF0aPBn9jRYY7hTZrizDcb9fXo4zVb5sm5SmgdU2cQiTCMeKpscd59z+YWugeYU2A5BWMn4Y95MaTCJIPz+w4Mpi9jiP7Mqnuz4bCI2W+DYqJTKZv02Fq1wsnRdq8+7Mai2wtZ64US60/TtdfgKQKx/vZtvWEmgy23UdwIxtjsTGLmseoN+XQ/XGh0MUqy9k4yVZf59NxSLoIsAMMfzrIAoCCniWIXr2ISr/aVHJGVzzoMnowjuAph5SLQb2X+d5Hl7FLMEJhEWZN7/MyQNO06C+RIKQTaV359vfO0B7YLBjRtr93e09xuR6wxog1xMKrqJWtvHb60ZVTrvuGl0= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYZPR06MB4980.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(376014)(7416014)(366016)(1800799024)(38070700021)(921020)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?rlTci+EIQLEe2TRSKpZJH0F7yT407SChBTnUn5rgsZXqmufMk9nShDDh?= =?Windows-1252?Q?CSb0kwP8x1BBMVxeC4wxGuGiAgCkZUK003gCx/0nMAr+nBY2ulmLKkL1?= =?Windows-1252?Q?qYqsREQ+IP0IdbElSW0yC4DV8F3+0I2z+mS1G3CBn5G2ipAuXAWpO1md?= =?Windows-1252?Q?QMJVdbryiZLzgtt1IsPqaeNi6kkj162XKpRXIFsHUHIjxXAivmb6UwZN?= =?Windows-1252?Q?UldbUH8ZocOQDEPwpYc13O/5kgu+vKj+4pxSkcWZR1Rn1C23/GwcieGz?= =?Windows-1252?Q?dhiehMaq38d9okBJKocMgtf2V6ST/KjryXxBvfVhjapLJpaKvgZdMIIW?= =?Windows-1252?Q?MwMXfBPXcL1aKM78vXk7CVd8+XaUOvl0QJo/CRBCAX2mdQ2/qbA2aT6o?= =?Windows-1252?Q?xSnCc8o5vPgIWSx7gZhfoWkygVo9K1kYoL/4//zzM6QvAemhTZGXvGmT?= =?Windows-1252?Q?9Uv/rpIzKY1OmmexbMsGHNcMJltfQ8EIR6BIv7cmO3hjnvRpX+6eojVX?= =?Windows-1252?Q?fuP6CwmDIsF/IqrAD+fg8ujJLMYGC+dScxQHkb+lIRPsWwz2EOhIRLFN?= =?Windows-1252?Q?a0sWWOK7BehACc2ImzybmsiONqRTOKiOqDEgBCeqe9nIutso7ZoZAjI9?= =?Windows-1252?Q?IANyQ3EwxOaJF7FyB/QOJYR/c0grdo6W4IEeZ/bUqc4F8XCvFc+We4Vn?= =?Windows-1252?Q?gp2PJv/P/hr07QdMcgXjFTCrqmphhr2WlN+36v0m4NjFOOFNsQ9f6oe3?= =?Windows-1252?Q?w9Dao0SsdimYd/48xoT4hRSB93F0sfcOaRCmmslJ8xqpwLanOsTpcmcb?= =?Windows-1252?Q?UkopN/tWDAL02OnMhEnuqsp4Z9bebTWkCpu/SlJASH4PUpbv6HapmdNc?= =?Windows-1252?Q?Vgh88N0zczrBOKXz+NdXgbmhczDHBU+fUUBqwYMys6H6ZKfHl8QmhX6K?= =?Windows-1252?Q?MqzvTWxDbhSfFtiPDkPdS2ikXhuhpS6wnvkVvL0XzzZcNkkMguBKwBlC?= =?Windows-1252?Q?Q1QMxT2XixjqxlWMqBlZq0f8dfOO7TQStPsRr2BLA2BdnB6GkgLDfPCc?= =?Windows-1252?Q?7FVgamMOjkfuTGPl3nCi4lcNPckzF1bPL3an4qWUvfhb2rMz58B7kt5G?= =?Windows-1252?Q?3XImxYDuceUHD/M/eyaT5AoR8ux+uVbS09LUcTtijLydGbw+ktt6bCZv?= =?Windows-1252?Q?/hE6K1kWwvL8EolmKK90xtsYr17cg7WVLBAfFsNOdero00ziFEdaU4Mv?= =?Windows-1252?Q?HRyGUo8tyTlZ2TdsP3RZYeyq+5hlYWC51dDmwNvVs17UbCQJrl1pxDBo?= =?Windows-1252?Q?/+UcHTsIHsFzjqsi6DprBxS9f4yMbmljll8nNGltqIVnrG3rZ7blijg4?= =?Windows-1252?Q?G54FAHliXBLPylOLjFOKgP7d7uwTJ6u+p8r5rVAFUdlI4yC/fWuq4Ppo?= =?Windows-1252?Q?RPl7nUcvJ+ujMI1hRhwZ5DVPzpP3fYAVbC6OG+638ktI2BBbz0OjuJQp?= =?Windows-1252?Q?bHm8sElfL6vTc5Ts6xkucOxeobzgUX95SOlMd6uahPdERsbjtmAVmqWy?= =?Windows-1252?Q?MIZswopff1JAmxxU7iQjO0JTIJguB3rze0Kf9J8CSGIoMoRIpJ/lUtLk?= =?Windows-1252?Q?IvADtAR24g5KoxFEPseCc1ePeVPTtV4wIeixhA+b6T0jhwId9Fc2g0FQ?= =?Windows-1252?Q?Q/ejrwAIl6Gm0DfqilqNCxJZTRnNxrNEEmJURBKrp7kb28AuF9xrqcRI?= =?Windows-1252?Q?5we85wYucdGHZSAIwSyqUWai4os1fRAMjiZHdzq4DLJwR1cmYxX2Q9KX?= =?Windows-1252?Q?hWuCudKyCy/lq3wGom8iMAnK9ZNUcztknDrQaQ7MF5c9obPQttyuZBk/?= =?Windows-1252?Q?QeaWD4/y5pdIyw=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: pnfQFLJP3KgD+6NneY/XZEUG/xT1y/v++crDzN65TgLyKuufqoKvBg1+1o/ShxmJuzWzY1U0oOUH9ZSJXC4Z4rtCvjmgGUiVh/M9uC8lp8khwGDMfAMCuQOS4/wBkQH2/41cXttrLe3soUYjFH8HeBbNyHfmeEUpIJR5YA/9zWlrOwaXMWdDp/S3EQMpweS4CAB0x2LsU6GZ3BxdIIUY+XsSicRa1X4hhY4BM8fVTQRLaPPcUJ/jTde/N0KCoRGh2uINHqq2H6TdagX35IOxw99vpKAQyUgDNNi6HDMLL3CmxqYrnuD0tqEnZmXU6fcZ+rPSIu3V6Tmn6hzMs5NXhQ== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR06MB4980.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1e3c125a-be84-4647-b367-08dee3dbf7f7 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2026 08:18:23.0353 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: qrmSMECCWcPNe/F6e5oMtyLf5KCR29TMkVrQthLsDFIeVNzk5C6YqkUGj0EfXuCgvQ76Z5gWx7lnAhl7n2mA6fXqhxaxtKRfznlK0+cTeSQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: KU4PR06MB8339 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=jamin_lin@aspeedtech.com; helo=TYPPR03CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @aspeedtech.com) X-ZM-MESSAGEID: 1784276345118158500 Content-Type: text/plain; charset="utf-8" AST2700 provides a single FMC controller shared by the main CA35 processor (PSP) and the SSP/TSP coprocessors. From the PSP perspective, the FMC controller is memory-mapped at 0x14000000=E2=80=930x140000FF. The SSP and TSP access the same controller t= hrough a different address window at 0x74000000=E2=80=930x740000FF. This change allows the SSP and TSP SoC models to reference the existing PSP FMC instance instead of creating independent controllers. An MMIO alias is added in the SSP and TSP address spaces to map their FMC access window to the shared FMC device. This ensures consistent FMC state across PSP, SSP, and TSP and matches the AST2700 hardware design. Signed-off-by: Jamin Lin Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: C=C3=A9dric Le Goater Tested-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/arm/aspeed_coprocessor.h | 7 +++++++ hw/arm/aspeed_ast27x0-fc.c | 4 ++++ hw/arm/aspeed_ast27x0-ssp.c | 16 ++++++++++++++++ hw/arm/aspeed_ast27x0-tsp.c | 16 ++++++++++++++++ 4 files changed, 43 insertions(+) diff --git a/include/hw/arm/aspeed_coprocessor.h b/include/hw/arm/aspeed_co= processor.h index b77ea06e7f..acb8b06457 100644 --- a/include/hw/arm/aspeed_coprocessor.h +++ b/include/hw/arm/aspeed_coprocessor.h @@ -49,10 +49,17 @@ struct Aspeed27x0CoprocessorState { =20 ARMv7MState armv7m; =20 + /* + * SCU, SCUIO and FMC are not owned by this coprocessor: they are + * shared with the main PSP SoC, and only aliased into this + * coprocessor's own address space here. + */ MemoryRegion scu_alias; MemoryRegion scuio_alias; + MemoryRegion fmc_alias; Aspeed2700SCUState *scu; AspeedSCUState *scuio; + AspeedSMCState *fmc; }; =20 #define TYPE_ASPEED27X0SSP_COPROCESSOR "aspeed27x0ssp-coprocessor" diff --git a/hw/arm/aspeed_ast27x0-fc.c b/hw/arm/aspeed_ast27x0-fc.c index d14a42ebca..058cea42ed 100644 --- a/hw/arm/aspeed_ast27x0-fc.c +++ b/hw/arm/aspeed_ast27x0-fc.c @@ -159,6 +159,8 @@ static bool ast2700fc_ssp_init(Ast2700FCState *s, Aspee= dSoCState *psp, OBJECT(&s->ca35.scu), &error_abort); object_property_set_link(OBJECT(&s->ssp), "scuio", OBJECT(&psp->scuio), &error_abort); + object_property_set_link(OBJECT(&s->ssp), "fmc", + OBJECT(&psp->fmc), &error_abort); if (!qdev_realize(DEVICE(&s->ssp), NULL, errp)) { return false; } @@ -191,6 +193,8 @@ static bool ast2700fc_tsp_init(Ast2700FCState *s, Aspee= dSoCState *psp, OBJECT(&s->ca35.scu), &error_abort); object_property_set_link(OBJECT(&s->tsp), "scuio", OBJECT(&psp->scuio), &error_abort); + object_property_set_link(OBJECT(&s->tsp), "fmc", + OBJECT(&psp->fmc), &error_abort); if (!qdev_realize(DEVICE(&s->tsp), NULL, errp)) { return false; } diff --git a/hw/arm/aspeed_ast27x0-ssp.c b/hw/arm/aspeed_ast27x0-ssp.c index fa492f1797..e03653086c 100644 --- a/hw/arm/aspeed_ast27x0-ssp.c +++ b/hw/arm/aspeed_ast27x0-ssp.c @@ -27,6 +27,7 @@ static const hwaddr aspeed_soc_ast27x0ssp_memmap[] =3D { [ASPEED_DEV_TIMER1] =3D 0x72C10000, [ASPEED_DEV_UART4] =3D 0x72C1A000, [ASPEED_DEV_IPC0] =3D 0x72C1C000, + [ASPEED_DEV_FMC] =3D 0x74000000, [ASPEED_DEV_PRIC1] =3D 0x74100000, [ASPEED_DEV_SCUIO] =3D 0x74C02000, [ASPEED_DEV_OTP] =3D 0x74C07000, @@ -177,6 +178,12 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState = *dev_soc, Error **errp) return; } =20 + if (!a->fmc) { + error_setg(errp, TYPE_ASPEED27X0SSP_COPROCESSOR + ": 'fmc' link is not set"); + return; + } + /* AST27X0 SSP Core */ armv7m =3D DEVICE(&a->armv7m); qdev_prop_set_uint32(armv7m, "num-irq", 256); @@ -269,6 +276,13 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState = *dev_soc, Error **errp) sysbus_connect_irq(SYS_BUS_DEVICE(s->uart), 0, aspeed_soc_ast27x0ssp_get_irq(s, s->uart_dev)); =20 + /* FMC */ + memory_region_init_alias(&a->fmc_alias, OBJECT(a), "fmc.alias", + &a->fmc->mmio, 0, + memory_region_size(&a->fmc->mmio)); + memory_region_add_subregion(s->memory, sc->memmap[ASPEED_DEV_FMC], + &a->fmc_alias); + aspeed_mmio_map_unimplemented(s->memory, SYS_BUS_DEVICE(&s->timerctrl), "aspeed.timerctrl", sc->memmap[ASPEED_DEV_TIMER1], 0x200); @@ -294,6 +308,8 @@ static const Property aspeed_27x0_coprocessor_propertie= s[] =3D { TYPE_ASPEED_2700_SCU, Aspeed2700SCUState *), DEFINE_PROP_LINK("scuio", Aspeed27x0CoprocessorState, scuio, TYPE_ASPEED_SCU, AspeedSCUState *), + DEFINE_PROP_LINK("fmc", Aspeed27x0CoprocessorState, fmc, TYPE_ASPEED_S= MC, + AspeedSMCState *), }; =20 static void aspeed_soc_ast27x0ssp_class_init(ObjectClass *klass, diff --git a/hw/arm/aspeed_ast27x0-tsp.c b/hw/arm/aspeed_ast27x0-tsp.c index 3a98bd232c..39ba062a20 100644 --- a/hw/arm/aspeed_ast27x0-tsp.c +++ b/hw/arm/aspeed_ast27x0-tsp.c @@ -27,6 +27,7 @@ static const hwaddr aspeed_soc_ast27x0tsp_memmap[] =3D { [ASPEED_DEV_TIMER1] =3D 0x72C10000, [ASPEED_DEV_UART4] =3D 0x72C1A000, [ASPEED_DEV_IPC0] =3D 0x72C1C000, + [ASPEED_DEV_FMC] =3D 0x74000000, [ASPEED_DEV_PRIC1] =3D 0x74100000, [ASPEED_DEV_SCUIO] =3D 0x74C02000, [ASPEED_DEV_OTP] =3D 0x74C07000, @@ -177,6 +178,12 @@ static void aspeed_soc_ast27x0tsp_realize(DeviceState = *dev_soc, Error **errp) return; } =20 + if (!a->fmc) { + error_setg(errp, TYPE_ASPEED27X0TSP_COPROCESSOR + ": 'fmc' link is not set"); + return; + } + /* AST27X0 TSP Core */ armv7m =3D DEVICE(&a->armv7m); qdev_prop_set_uint32(armv7m, "num-irq", 256); @@ -269,6 +276,13 @@ static void aspeed_soc_ast27x0tsp_realize(DeviceState = *dev_soc, Error **errp) sysbus_connect_irq(SYS_BUS_DEVICE(s->uart), 0, aspeed_soc_ast27x0tsp_get_irq(s, s->uart_dev)); =20 + /* FMC */ + memory_region_init_alias(&a->fmc_alias, OBJECT(a), "fmc.alias", + &a->fmc->mmio, 0, + memory_region_size(&a->fmc->mmio)); + memory_region_add_subregion(s->memory, sc->memmap[ASPEED_DEV_FMC], + &a->fmc_alias); + aspeed_mmio_map_unimplemented(s->memory, SYS_BUS_DEVICE(&s->timerctrl), "aspeed.timerctrl", sc->memmap[ASPEED_DEV_TIMER1], 0x200); @@ -294,6 +308,8 @@ static const Property aspeed_27x0_coprocessor_propertie= s[] =3D { TYPE_ASPEED_2700_SCU, Aspeed2700SCUState *), DEFINE_PROP_LINK("scuio", Aspeed27x0CoprocessorState, scuio, TYPE_ASPEED_SCU, AspeedSCUState *), + DEFINE_PROP_LINK("fmc", Aspeed27x0CoprocessorState, fmc, TYPE_ASPEED_S= MC, + AspeedSMCState *), }; =20 static void aspeed_soc_ast27x0tsp_class_init(ObjectClass *klass, --=20 2.43.0 From nobody Sat Jul 25 14:35:46 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1784276496; cv=pass; d=zohomail.com; s=zohoarc; b=LQg/8VIQ8RcBoFFoxn6k6y+9ZYc28IxRBvJO8tUW9OPpcvVJIH5zwpXw5TR2Upk4e8gAkg4pypFBBCjLs2E4ewcYW5mvkUNbFwE9N2JU+LTla/IkR7lgupekFY+qZh2TI6iXi78tFuBHkjbbF3qJZOCxJTmZkXh4dnfj27e+5n8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784276496; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=08UIiginG1nL5wq+OdaaIs8PxlwWCdsb3XgO18Lvb58=; b=j1Cf2s4pATHEvDq4rRHHC93ydM3tfFZyYiIp2BcyUyi8/pGhWrtxazgZPadCcFOQMKICUjwssVJxi7cPL0G8DUQq2+Kwm/AhstkwLFmgMM7ht8snuWj0Nk4wwhtvzq5OfjSrAICUDTl9u9/MVIuh+VDdwoLADQzd9qLirbT3kno= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784276496646283.501115928829; Fri, 17 Jul 2026 01:21:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wkdmR-0006rX-PQ; Fri, 17 Jul 2026 04:18:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdmQ-0006qo-2S; Fri, 17 Jul 2026 04:18:46 -0400 Received: from mail-japaneastazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c405::5] helo=TYPPR03CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdmM-0000Cy-75; Fri, 17 Jul 2026 04:18:44 -0400 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com (2603:1096:400:1cc::10) by KU4PR06MB8339.apcprd06.prod.outlook.com (2603:1096:d10:7d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Fri, 17 Jul 2026 08:18:24 +0000 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3]) by TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3%6]) with mapi id 15.21.0223.011; Fri, 17 Jul 2026 08:18:24 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IkMTaauT6d3UDMharjatAqg+bBbQutxyZMNUzasnrBUfDHDVnfXcmMiOoyfYGJapWZ0ci0bBmaEJQ2glW68C1NrDwRykxMUdvpEm9/sUbvKZzq1MA57fdGGQWcf6JoZ+rMkuK8+zha+bQe7IYQE/s+ZKts+c15LpyzPLPZOkLEAt+o5IsEiWMTjARKSIua+4Iwt2pXClA4cY5d9MbdYNrXyyDA+aE4MJMaDIykrGQteeBNdyd7DCsRUevyQXbw6aKb4YJ6MjT8oiZe1TbJ9zU3F/BRmIio+SOF+FrM3WWSaX4e11SnqohXlCqAld20o86RbiC0YAtL2+zQSdg12IkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=08UIiginG1nL5wq+OdaaIs8PxlwWCdsb3XgO18Lvb58=; b=eqNIInI4PdL6lwwH9c7aBBAtnqGnyZfI363xmVsGCBs+B9TBd16D6nHdH58s7vFZOOA4wVNtHZX1l/9kbAAwcWOSATmaAoqzHLjTCx24+pgp/ljz1WIdqF0F7hL++bNkfxsMOYSedqScv9vHiMoMQLn657axNe/ewbOTDhOUjdaMNdAn3DPjqaM0gIe/LidJGQtiqa/TRswdQyli6/cz6mnFYz1mbkPNXm8M6v2h8y/SvWIKsDhD0FYJmgV3p/GjMCf1zBEmOvvS86pKgpd5vNcmYMJJVMQ1dJGOrcuAkfpN6jHI40kKsi5CZMBV30aAd0ip3lIV72chTQ5vgIHNjA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=08UIiginG1nL5wq+OdaaIs8PxlwWCdsb3XgO18Lvb58=; b=dg9D7PXFUtHreC3fe5JBZl02hLTEXF4UWZK6OlPIlByC6bzH0argIZQUYzSvFuBiC7gcrH3JVTm/FEfB1Q13rMwVpBmhY93s7LqbxxFAF3mCnU91FcIjT3RbzoCnnd/UJNPywClCrzR6YHiezOEMVi1RdreQuzJqjicMA4UVxLx2YfrFvXQjW8fDbbzry41Kz/K+kn//OsB09iLCxgWaZnXb+OSzB+Pe3eiZ+jaT9dQmM0Gp2pFITzN9yF3DQDaOoD07kfClZcy6tDsp2T7VDY4dt3wVyqj5S4aEH4UF9nIiB3friX46CKkQ6/4bp3t+2YgLO27KUYhT0Ub3/v3Fxw== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Alistair Francis , Fabiano Rosas , Laurent Vivier , Paolo Bonzini , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , =?iso-8859-1?Q?C=E9dric_Le_Goater?= , =?iso-8859-1?Q?Philippe_Mathieu-Daud=E9?= Subject: [PATCH v3 8/9] hw/ssi/aspeed_smc: Add Data FIFO-based flash access support for AST2700 Thread-Topic: [PATCH v3 8/9] hw/ssi/aspeed_smc: Add Data FIFO-based flash access support for AST2700 Thread-Index: AQHdFcTW67ZkY7hwlUmpHTorI2N5jQ== Date: Fri, 17 Jul 2026 08:18:24 +0000 Message-ID: <20260717081813.3407862-9-jamin_lin@aspeedtech.com> References: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR06MB4980:EE_|KU4PR06MB8339:EE_ x-ms-office365-filtering-correlation-id: 47651c2b-6ab7-44e9-b352-08dee3dbf8cb x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|23010399003|376014|7416014|366016|1800799024|38070700021|921020|56012099006|10067099003|18002099003|22082099003; x-microsoft-antispam-message-info: 0fG7lUNdGKJVBIEpF35qf37a2wZXJxM7d2aHIGLUfqqXPUyWbAXjgUTSyv9uFvX1KeN0fk6oJsMvambwk/HazH2BY9EYSH2NyjFZA2WS6IMasSJY1J4QBNxB3KZZViYvwMD1g28UIHtJ6B3UYEcwTOl5qoxg56t2nLpCLLLO9+tOPhBWS8K4CWVmzRVXsIBqNsj+UmNZLJ3+MP+J+TJKDDoCuvrvgnaX+wM6ppkQQmUKP9kh9R4WfsswaTjVzmQKWMyN+x1c+lTUBMoA3q53Y1GKPGwj7X/unoSLehDGJZzLIj6PWlLPt6mNIIRM5BPE2pnfsOZ3q+yuBJamJNFpvsAkMgVqnb+qxbuHzjoU9J+ebQCHNubGCdQP6VUcxPPUg59yFg5bem7vbMr/Cb/V7SjJpnQ2NGPw4v+PGa1maKiCVLzQq2KNCoGuYQgIhX7vMHM3GHjUE8I/snP9lb4tITyaDhOAV1T4oYkOYqFfpFiFAX9ytvqRoHLjFzcdYVY/Cb9GUhHKLsMEZVBIxm93e6V0LgdI5OF2s9cVrg3x2Iqs9wMKaO4x0OPPmKnbKn/PbJvYnk8dlv/0aGZoZJNeMMVJXFbfgPeUb7F2ohdwcmyWhhcZn90dXER5F3nI9ormRAgawdzavALTAwNV/dXBBlr10JukkOyJwa5LmXIoyejHNAin8lOgJpsu2RLQd0OMq8juZnnEKPsWUBKsFL/stIwbOhD2IIGwKZMMnfsbIuzUEj3reapjNpxmc1is0kh4 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYZPR06MB4980.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(376014)(7416014)(366016)(1800799024)(38070700021)(921020)(56012099006)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?Q+cWa+2Jm7KcUUfz8I/bw1JHBDDU4oinNaLwLm9DQ+UHkFpGod2K+TUj2A?= =?iso-8859-1?Q?bdx1IRHT513s+DWuoKoovvZQtPeWnv1d4furstfajgKwPPraiclecUmSl7?= =?iso-8859-1?Q?9RSBsZJ6H1cQhn6VIPulmPpINeQqHlET81kXsNY7uRgy9ufrqzCiGdmgC2?= =?iso-8859-1?Q?SlEtm3pbY0HH7KjK3K71eaVIIbydgFYlifKsAJ6AQfTYMVIJnII1YJCDoh?= =?iso-8859-1?Q?MTDn0a0L6Ws9uxxebdBqQi48bE0KKkTXPWgNK+Dq28TbAfQ+Pwf1JyQ0aW?= =?iso-8859-1?Q?GyN4HLnJfixzZFzzKnFm6PazOuFeVN1mvcsvUImrvSPplxEmnyUkd/+R9S?= =?iso-8859-1?Q?ZITlBnlEwGySTiEXRFjFi+myThr1KK35BUemH9WYkr+Q8PbhT/768PT5E2?= =?iso-8859-1?Q?mDplJba+ZErbh8p6cngxGuwzwNd8P/bsqL1aWu4ij0xbxyhTeI+7vDi2Ov?= =?iso-8859-1?Q?QmQgI90AtPIGthOFhzbyyXW76AaaPvFO3n8gaAwTCo5D6ohgT+8G6xpP8L?= =?iso-8859-1?Q?UH/d+kCmcc8kBrhU2vzkT57ecNn8KOVlWbcSiRUXDj0e+TVZ9fpjYNTz2j?= =?iso-8859-1?Q?nXLaI8P+TXlqYqjHyc3gUZPg9yrs7UjMe7FKOJphIcsYrwBX4j3v/emBYk?= =?iso-8859-1?Q?feszjr0b6uLhWKJucg7Z5oFMULReztmStyQBWAn6cejezvsQo91u7LQDC+?= =?iso-8859-1?Q?AItAZYtAsYrhJ7JoULf0oOHbKn8dNiXm9LUr52GSGqo9qOruOc/sHMIHy9?= =?iso-8859-1?Q?Z6R3vxFpdHOXMil2HerDuoA51oNmMQVKyQnJYjGTPuErYByzq4yU4pFljM?= =?iso-8859-1?Q?r2dAUx6qLrtFRY8mez4O9V5opIVe19E0GzXkXWH3NHEktsYd9th4aNF61M?= =?iso-8859-1?Q?goea5vB8bXDMa5CxbaVwPsVjQxMqR0nSfZ9CIuzBkUeE51PIWzILUmQxPj?= =?iso-8859-1?Q?A2E2Pydw+CgbJl8Fl0dTIYhVAY1ISiblAK6fMTx/l7KEcgRGl/nNX5OQDL?= =?iso-8859-1?Q?UzGfN1iL3YxhZ6KqN++2KVF+lBRE+jKALTkkdqWtq49F+Ma0bmrkKpxJe3?= =?iso-8859-1?Q?BVpopM0pZezE4dqoJid7d1Si/lmVYOtpz2hhQ1u1RZeZ7Cgi1tZ4hhXDzn?= =?iso-8859-1?Q?Yab9eHFBePAmyBubJ00YSaPeiMRu/NLVTYD2pewAkuuOjA8Cp86FhrNgv7?= =?iso-8859-1?Q?Bs62yANaD6htdEXCedcAt8bwJ56CN9/8n8I/6EfUh8x2gRL7NSXb33ZmvK?= =?iso-8859-1?Q?5A2vJa1tCO+53RrJsc7SirA+s1G+2kQbDGJiRfQ/IIcEAtcUbsFEy27wOh?= =?iso-8859-1?Q?hE3MAAzjJSlx4xzEHOJXzIJrU34ywSYtiMV1vNTIwGuRGfQEEV4TDIEmHj?= =?iso-8859-1?Q?Dwzl7dS+V1vhfhOBtKDysUJfn+RKL67XS7aR/CT5GEQIcSQweFbgGcQZ/v?= =?iso-8859-1?Q?3FveAwPXl+B7G+T85wpU4K8y6Dc55ECYBjBpZjCZLKakpD6Es8Rkl7KCUN?= =?iso-8859-1?Q?zPYcLeyKlWzR8j66VbShxIr7eEhfqaGCyX07u/OVCRTlAMuR8x94OY3Qf9?= =?iso-8859-1?Q?OhmwNnyZqC8FfaUX7UIXRP0O2rhCKkl7HSzAsOkYN401PzHOQQkVX2dMs2?= =?iso-8859-1?Q?PMuM4YE7myYkV/OT+Sf6hEPOV/Il04+hvjOk8t2O2s3Oxj3JBgQqovMU/E?= =?iso-8859-1?Q?1dM7DUC8EPXRs3p/l0X6vnNyp4flEz2UqsDaXcGvtjRTs+IEXBMC0uv+n7?= =?iso-8859-1?Q?OYkhgAvqWSqNHbdJlx58qnXyZBfRegSsh7l8X59yCWEOOIgg1OGKyRDi7p?= =?iso-8859-1?Q?uihdCdA8bA=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: LqUOY1WlZ0HGRQ1oG8FOiteTZ5AmR9BwZ0PkDcGwWGLeO0ujQGsfxAT1XmMC8JAkvlgWdng5fPxLMVka0LuTqpPVA2GXLNLxFJisO3dB8bw2zF8g75KV2drULZPVAbPAe3OgM2drLhbrkPTsuAS0RpVRAghRIqQirRTKEnoO1z4emcB0SXyPlO8UbFeJNfqAAgcg7MsJf1x9QmD6TE0/O/Ln8OLE2oLamcw0w3v2SW0tUnOv0eW21aOEhHEMXcgcYlykzlkz5T4KTvjapbfKX7SeglMFGUJ4lvu8pSQguWCzVA8bmUFCvNjCy2/ZcfAqSm384TyR7bjBEmCsOForvQ== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR06MB4980.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 47651c2b-6ab7-44e9-b352-08dee3dbf8cb X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2026 08:18:24.4349 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ymrJfs3eEsKQH+oAhaJPqG6WAiuXDdU1dKFTxaX95UhFUI4/Rs1QwRNeJObPS1MGldxMQHIDsd6/jLafX/+JINFp/1qitd8XxzKAXXaKVXU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: KU4PR06MB8339 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=jamin_lin@aspeedtech.com; helo=TYPPR03CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @aspeedtech.com) X-ZM-MESSAGEID: 1784276498142158500 Content-Type: text/plain; charset="utf-8" AST2700 supports a Data FIFO mode where flash accesses can be performed directly through Data FIFO MMIO offsets. The Data FIFO start offset increments by one for every 16MB of flash address space, allowing the chip select (CS) to be decoded from the Data FIFO offset. This change adds Data FIFO support to the Aspeed SMC model and introduces a class callback to translate Data FIFO offsets into CS indices. For AST2700, the Data FIFO offset is matched against the segment start address of each CS to determine the target flash device. The SMC register region size (nregs) is also extended dynamically based on the number of supported chip selects to cover all possible Data FIFO regions. This breaks migration compatibility with older QEMU builds for the affected models, even though Aspeed machines are not officially covered by migration compatibility guarantees. Bump version_id to 4 and minimum_version_id to 2 to reflect the incompatible format. Signed-off-by: Jamin Lin Reviewed-by: C=C3=A9dric Le Goater Tested-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/ssi/aspeed_smc.h | 3 +- hw/ssi/aspeed_smc.c | 117 +++++++++++++++++++++++++++++++++--- 2 files changed, 109 insertions(+), 11 deletions(-) diff --git a/include/hw/ssi/aspeed_smc.h b/include/hw/ssi/aspeed_smc.h index a273365689..5f391fc24e 100644 --- a/include/hw/ssi/aspeed_smc.h +++ b/include/hw/ssi/aspeed_smc.h @@ -47,7 +47,7 @@ struct AspeedSMCFlash { #define TYPE_ASPEED_SMC "aspeed.smc" OBJECT_DECLARE_TYPE(AspeedSMCState, AspeedSMCClass, ASPEED_SMC) =20 -#define ASPEED_SMC_R_MAX (0x100 / 4) +#define ASPEED_SMC_R_MAX (0x300 / 4) #define ASPEED_SMC_CS_MAX 5 =20 struct AspeedSMCState { @@ -114,6 +114,7 @@ struct AspeedSMCClass { AspeedSegments *seg); void (*dma_ctrl)(AspeedSMCState *s, uint32_t value); int (*addr_width)(const AspeedSMCState *s); + int (*data_fifo_offset_to_cs)(const AspeedSMCState *s, uint32_t offset= ); const MemoryRegionOps *reg_ops; }; =20 diff --git a/hw/ssi/aspeed_smc.c b/hw/ssi/aspeed_smc.c index c8cc6cfa56..bf596f7b2d 100644 --- a/hw/ssi/aspeed_smc.c +++ b/hw/ssi/aspeed_smc.c @@ -163,6 +163,9 @@ /* Read Timing Compensation Register */ #define R_TIMINGS (0x94 / 4) =20 +/* Data fifo */ +#define R_DATA_FIFO (0x200 / 4) + /* SPI controller registers and bits (AST2400) */ #define R_SPI_CONF (0x00 / 4) #define SPI_CONF_ENABLE_W0 0 @@ -209,6 +212,7 @@ static const AspeedSegments aspeed_2500_spi2_segments[]; #define ASPEED_SMC_FEATURE_DMA_GRANT 0x2 #define ASPEED_SMC_FEATURE_WDT_CONTROL 0x4 #define ASPEED_SMC_FEATURE_DMA_DRAM_ADDR_HIGH 0x08 +#define ASPEED_SMC_FEATURE_DATA_FIFO 0x10 =20 static inline bool aspeed_smc_has_dma(const AspeedSMCClass *asc) { @@ -225,6 +229,11 @@ static inline bool aspeed_smc_has_dma64(const AspeedSM= CClass *asc) return !!(asc->features & ASPEED_SMC_FEATURE_DMA_DRAM_ADDR_HIGH); } =20 +static inline bool aspeed_smc_has_data_fifo(const AspeedSMCClass *asc) +{ + return !!(asc->features & ASPEED_SMC_FEATURE_DATA_FIFO); +} + #define aspeed_smc_error(fmt, ...) \ qemu_log_mask(LOG_GUEST_ERROR, "%s: " fmt "\n", __func__, ## __VA_ARGS= __) =20 @@ -664,6 +673,7 @@ static MemTxResult aspeed_smc_read(void *opaque, hwaddr= addr, uint64_t *data, { AspeedSMCState *s =3D ASPEED_SMC(opaque); AspeedSMCClass *asc =3D ASPEED_SMC_GET_CLASS(opaque); + int cs; =20 addr >>=3D 2; =20 @@ -689,6 +699,18 @@ static MemTxResult aspeed_smc_read(void *opaque, hwadd= r addr, uint64_t *data, trace_aspeed_smc_read(addr << 2, size, s->regs[addr]); =20 *data =3D s->regs[addr]; + } else if (aspeed_smc_has_data_fifo(asc) && addr >=3D R_DATA_FIFO) { + cs =3D asc->data_fifo_offset_to_cs(s, addr << 2); + if (cs >=3D 0) { + /* + * Data fifo mode only supports SPI user mode. + * The flash address is provided by the SPI command/address cy= cles, + * the MMIO addr parameter is ignored. + */ + return aspeed_smc_flash_read(&s->flashes[cs], 0, data, size, a= ttrs); + } + aspeed_smc_error("Invalid data fifo offset %" HWADDR_PRIx, addr <<= 2); + return MEMTX_ERROR; } else { qemu_log_mask(LOG_UNIMP, "%s: not implemented: 0x%" HWADDR_PRIx "\= n", __func__, addr); @@ -1063,6 +1085,19 @@ static MemTxResult aspeed_smc_write(void *opaque, hw= addr addr, uint64_t data, } else if (aspeed_smc_has_dma(asc) && aspeed_smc_has_dma64(asc) && addr =3D=3D R_DMA_DRAM_ADDR_HIGH) { s->regs[addr] =3D DMA_DRAM_ADDR_HIGH(value); + } else if (aspeed_smc_has_data_fifo(asc) && addr >=3D R_DATA_FIFO) { + int cs =3D asc->data_fifo_offset_to_cs(s, addr << 2); + if (cs >=3D 0) { + /* + * Data fifo mode only supports SPI user mode. + * The flash address is provided by the SPI command/address cy= cles, + * the MMIO addr parameter is ignored. + */ + return aspeed_smc_flash_write(&s->flashes[cs], 0, data, size, + attrs); + } + aspeed_smc_error("Invalid data fifo offset %" HWADDR_PRIx, addr <<= 2); + return MEMTX_ERROR; } else { qemu_log_mask(LOG_UNIMP, "%s: not implemented: 0x%" HWADDR_PRIx "\= n", __func__, addr); @@ -1183,8 +1218,8 @@ static void aspeed_smc_realize(DeviceState *dev, Erro= r **errp) =20 static const VMStateDescription vmstate_aspeed_smc =3D { .name =3D "aspeed.smc", - .version_id =3D 3, - .minimum_version_id =3D 1, + .version_id =3D 4, + .minimum_version_id =3D 2, .fields =3D (const VMStateField[]) { VMSTATE_UINT32_ARRAY(regs, AspeedSMCState, ASPEED_SMC_R_MAX), VMSTATE_UNUSED_V(2, 2), /* was snoop_index/snoop_dummies */ @@ -1808,6 +1843,39 @@ static void aspeed_2700_smc_reg_to_segment(const Asp= eedSMCState *s, } } =20 +/* + * Convert a data fifo offset to a chip select (CS). + * + * Data fifo access starts at 0x200. The data fifo offset index is + * calculated by subtracting the data fifo base offset from the MMIO addre= ss. + * + * The data fifo offset index increments by 1 for every 16MB of flash addr= ess + * space. Each offset step therefore represents a 16MB address decode rang= e. + * + * The CS is determined by matching the data fifo offset index against the + * segment start address of each CS. + * + * Returns the CS index on success, or -1 if the offset is invalid. + */ +static int aspeed_2700_smc_data_fifo_offset_to_cs(const AspeedSMCState *s, + uint32_t offset) +{ + AspeedSMCClass *asc =3D ASPEED_SMC_GET_CLASS(s); + uint32_t start_offset; + uint32_t fifo_offset; + int i; + + for (i =3D 0; i < asc->cs_num_max; i++) { + start_offset =3D (s->regs[R_SEG_ADDR0 + i] & 0x0000ffff) << 16; + fifo_offset =3D start_offset / 0x1000000; + if (fifo_offset =3D=3D offset - (R_DATA_FIFO << 2)) { + return i; + } + } + + return -1; +} + static const uint32_t aspeed_2700_fmc_resets[ASPEED_SMC_R_MAX] =3D { [R_CONF] =3D (CONF_FLASH_TYPE_SPI << CONF_FLASH_TYPE0 | CONF_FLASH_TYPE_SPI << CONF_FLASH_TYPE1), @@ -1842,6 +1910,27 @@ static const AspeedSegments aspeed_2700_fmc_segments= [] =3D { { 0x0, 0 }, /* disabled */ }; =20 +/* + * AST2700 supports data fifo mode with a base data fifo start offset of 0= x200. + * + * The data fifo start offset increments by 1 for every 16MB of flash addr= ess + * space. Each offset step therefore represents a 16MB address decode rang= e. + * + * Assuming each chip select (CS) can use the maximum flash size of 256MB: + * 256MB / 16MB =3D 0x10 offset steps per CS. + * + * Data fifo start offset for CSn: + * 0x200 + (n * 0x10) + * + * Examples: + * CS0: 0x200 + * CS1: 0x210 + * CS2: 0x220 + * CS3: 0x230 + * + * asc->nregs should be set to: 0x200 + (asc->cs_num_max * 0x10) + * to cover all possible data fifo regions. + */ static void aspeed_2700_fmc_class_init(ObjectClass *klass, const void *dat= a) { DeviceClass *dc =3D DEVICE_CLASS(klass); @@ -1861,14 +1950,16 @@ static void aspeed_2700_fmc_class_init(ObjectClass = *klass, const void *data) asc->flash_window_base =3D 0x100000000; asc->flash_window_size =3D 1 * GiB; asc->features =3D ASPEED_SMC_FEATURE_DMA | - ASPEED_SMC_FEATURE_DMA_DRAM_ADDR_HIGH; + ASPEED_SMC_FEATURE_DMA_DRAM_ADDR_HIGH | + ASPEED_SMC_FEATURE_DATA_FIFO; asc->dma_flash_mask =3D 0x2FFFFFFC; asc->dma_dram_mask =3D 0xFFFFFFFC; asc->dma_start_length =3D 1; - asc->nregs =3D ASPEED_SMC_R_MAX; + asc->nregs =3D (0x200 + (asc->cs_num_max * 0x10)) >> 2; asc->segment_to_reg =3D aspeed_2700_smc_segment_to_reg; asc->reg_to_segment =3D aspeed_2700_smc_reg_to_segment; asc->dma_ctrl =3D aspeed_2600_smc_dma_ctrl; + asc->data_fifo_offset_to_cs =3D aspeed_2700_smc_data_fifo_offset_to_cs; asc->reg_ops =3D &aspeed_2700_smc_flash_ops; } =20 @@ -1896,14 +1987,16 @@ static void aspeed_2700_spi0_class_init(ObjectClass= *klass, const void *data) asc->flash_window_base =3D 0x180000000; asc->flash_window_size =3D 1 * GiB; asc->features =3D ASPEED_SMC_FEATURE_DMA | - ASPEED_SMC_FEATURE_DMA_DRAM_ADDR_HIGH; + ASPEED_SMC_FEATURE_DMA_DRAM_ADDR_HIGH | + ASPEED_SMC_FEATURE_DATA_FIFO; asc->dma_flash_mask =3D 0x2FFFFFFC; asc->dma_dram_mask =3D 0xFFFFFFFC; asc->dma_start_length =3D 1; - asc->nregs =3D ASPEED_SMC_R_MAX; + asc->nregs =3D (0x200 + (asc->cs_num_max * 0x10)) >> 2; asc->segment_to_reg =3D aspeed_2700_smc_segment_to_reg; asc->reg_to_segment =3D aspeed_2700_smc_reg_to_segment; asc->dma_ctrl =3D aspeed_2600_smc_dma_ctrl; + asc->data_fifo_offset_to_cs =3D aspeed_2700_smc_data_fifo_offset_to_cs; asc->reg_ops =3D &aspeed_2700_smc_flash_ops; } =20 @@ -1930,14 +2023,16 @@ static void aspeed_2700_spi1_class_init(ObjectClass= *klass, const void *data) asc->flash_window_base =3D 0x200000000; asc->flash_window_size =3D 1 * GiB; asc->features =3D ASPEED_SMC_FEATURE_DMA | - ASPEED_SMC_FEATURE_DMA_DRAM_ADDR_HIGH; + ASPEED_SMC_FEATURE_DMA_DRAM_ADDR_HIGH | + ASPEED_SMC_FEATURE_DATA_FIFO; asc->dma_flash_mask =3D 0x2FFFFFFC; asc->dma_dram_mask =3D 0xFFFFFFFC; asc->dma_start_length =3D 1; - asc->nregs =3D ASPEED_SMC_R_MAX; + asc->nregs =3D (0x200 + (asc->cs_num_max * 0x10)) >> 2; asc->segment_to_reg =3D aspeed_2700_smc_segment_to_reg; asc->reg_to_segment =3D aspeed_2700_smc_reg_to_segment; asc->dma_ctrl =3D aspeed_2600_smc_dma_ctrl; + asc->data_fifo_offset_to_cs =3D aspeed_2700_smc_data_fifo_offset_to_cs; asc->reg_ops =3D &aspeed_2700_smc_flash_ops; } =20 @@ -1964,14 +2059,16 @@ static void aspeed_2700_spi2_class_init(ObjectClass= *klass, const void *data) asc->flash_window_base =3D 0x280000000; asc->flash_window_size =3D 1 * GiB; asc->features =3D ASPEED_SMC_FEATURE_DMA | - ASPEED_SMC_FEATURE_DMA_DRAM_ADDR_HIGH; + ASPEED_SMC_FEATURE_DMA_DRAM_ADDR_HIGH | + ASPEED_SMC_FEATURE_DATA_FIFO; asc->dma_flash_mask =3D 0x0FFFFFFC; asc->dma_dram_mask =3D 0xFFFFFFFC; asc->dma_start_length =3D 1; - asc->nregs =3D ASPEED_SMC_R_MAX; + asc->nregs =3D (0x200 + (asc->cs_num_max * 0x10)) >> 2; asc->segment_to_reg =3D aspeed_2700_smc_segment_to_reg; asc->reg_to_segment =3D aspeed_2700_smc_reg_to_segment; asc->dma_ctrl =3D aspeed_2600_smc_dma_ctrl; + asc->data_fifo_offset_to_cs =3D aspeed_2700_smc_data_fifo_offset_to_cs; asc->reg_ops =3D &aspeed_2700_smc_flash_ops; } =20 --=20 2.43.0 From nobody Sat Jul 25 14:35:46 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass(p=quarantine dis=none) header.from=aspeedtech.com ARC-Seal: i=2; a=rsa-sha256; t=1784276359; cv=pass; d=zohomail.com; s=zohoarc; b=LzD/01HnJPE7RlxZMEGGcZH5uyN0onCyK+aUh/Pmqiq2c+nyvy+X/fLcx3Ypz/Sjm6qeglWVaU6M76/wYEsZRJY6NLHAiWsSvBcHUO4du8fDYvY7aUq50UuIdf5sE1n8uhKPku9FVoXASJe6Xo1y2ImXot+G7zfoUvmMxXvS8Ow= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1784276359; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=KWUyU9dHlk1ToplXvL8Hf7o63dfqkyNamSZD9EQ9EXk=; b=Nx//QMZVyC6XAZak79nTiQiuu9/EM5016Xpv8mE9nDd1ODj3NT6GpOg/PwPSyKO/K8bA7P38ZnGAckIfjSVPIdzlt2hS72pIjQok0RH94JDVyrpaa9JnFDA/AmM/FcPxwQIJ+3ZBW67ryS3rzmLAZGJgLuVj+G83xevcvCdMoNg= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=aspeedtech.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1784276359345688.0327962538677; Fri, 17 Jul 2026 01:19:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wkdmS-0006s0-7Z; Fri, 17 Jul 2026 04:18:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdmP-0006qh-Op; Fri, 17 Jul 2026 04:18:45 -0400 Received: from mail-japaneastazlp170120005.outbound.protection.outlook.com ([2a01:111:f403:c405::5] helo=TYPPR03CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wkdmM-0000E6-7Z; Fri, 17 Jul 2026 04:18:44 -0400 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com (2603:1096:400:1cc::10) by KU4PR06MB8339.apcprd06.prod.outlook.com (2603:1096:d10:7d::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.223.11; Fri, 17 Jul 2026 08:18:25 +0000 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3]) by TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3%6]) with mapi id 15.21.0223.011; Fri, 17 Jul 2026 08:18:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CrWqZDtCi2He3qMOKIbB06PMArEHOy5RpS9Akfm0gQJm2BaNQXxzJLELdEXm8EoE+q0D/Bcfefe17nmm68D5Adz78OEoU63iTY0EHj7ELu7nU7CKrfNIASe96qd2Y6KeHk4ZUB37p8Nilulz2nUs6V3EEWJrVsyXXEt+JVatUwONabgFPXduEuQKUCN8TSEpTGleS225pEhdzuKClX8aWfxWVPbCTQUVNuqMXTd4S0SEWUEgIGf9GVHRz64EIh7ruC7yjCutkH8oqfAH2bWDXJDYHTYOUKBRLnOSXLLuE4XeN6UfqzHIcHKOA4bzqK2PJ7kpUnO155x7jUB98GSZWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=KWUyU9dHlk1ToplXvL8Hf7o63dfqkyNamSZD9EQ9EXk=; b=u5YJCsDTjkeAfh8KqjO0q7WSSwMfQrj4vQ+xfFH3KF2Vk7RWrIUimHwQDe0VLVfxwdxxhRtA96Ci2Z5EFgstQGVLI3Uv1jBGwVCc6jFbdrXHKAkmM6l7eDRlMwgnk6U7oO6C6YAPa+JwsfsLsEBC4fak1bdVsm/9Ojon6vk/qq+ARgNkPVFEvVqcvADWW6OvoEmIaisJW9ohEpBJN67SKVIc3nQPi5AyUuIxONOfAyKljmtzgVd/2m9kRnc43aotiCQFRsN1+reQmrZL3cXQEOv8z+5hqL9MojnwcxhWEVzIXL8xviHI9czTREhhkI2sYAw1hfpbumNVtaSvV4aqsg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=aspeedtech.com; dmarc=pass action=none header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=KWUyU9dHlk1ToplXvL8Hf7o63dfqkyNamSZD9EQ9EXk=; b=WMV0YyoPqwQwOFiuFl+8+McOgcu6ahwNNI4PNLD6QsOCqC6aq2GAtGy34T6CQHkBGEVcjCpj5FcpL+cnZgdkWXfQnhtqHyFaay4S0gM0BeP71UUeiSZ5Zq4FFS1H8dah+3cuncLtqiR8bdYIkYLtKws7/+iaAsS+cBXqEo3rkcZ0m1bwfHkE48VL/3QASH6bmfojM7ugRVLYezeC/T0bn0zJe3LaxV1tZCPHEW+yyRnl1QJTfnx6UPjWgDtuxIM8h8t+Nw5/M1ACtu7M1d3BOtocFOLp7xbSZ0YvAXLpWmJfmET2grclz6IgDTq57EMwErRiOj6MygRCROstmNqEzQ== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , Alistair Francis , Fabiano Rosas , Laurent Vivier , Paolo Bonzini , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee Subject: [PATCH v3 9/9] tests/qtest/ast2700-smc-test: Add Data FIFO mode test Thread-Topic: [PATCH v3 9/9] tests/qtest/ast2700-smc-test: Add Data FIFO mode test Thread-Index: AQHdFcTXpJaMuEyUxU+Po3S6sKMyaw== Date: Fri, 17 Jul 2026 08:18:25 +0000 Message-ID: <20260717081813.3407862-10-jamin_lin@aspeedtech.com> References: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260717081813.3407862-1-jamin_lin@aspeedtech.com> Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=aspeedtech.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYZPR06MB4980:EE_|KU4PR06MB8339:EE_ x-ms-office365-filtering-correlation-id: 1dfd30ca-ed16-44d1-6b27-08dee3dbf98c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|23010399003|376014|7416014|366016|1800799024|38070700021|921020|56012099006|5023799004|10067099003|18002099003|22082099003|3023799007; x-microsoft-antispam-message-info: zhIzg9SfnXGQYGyfCGZcIH52M6oFocjlBp4BhX2UT1PufKoehRihdstcCDaD3XKZL5lTZFYoEYMF09hLZ+qng6dN7BFQfaZdVAb0gDfFpKMzIEvpz+gMBp0+cQiACGv7J5jD97u8zd9U72fb9V8oWxBWzAX2H8vNcupiaHo31gJEK3uMPHNWxorRLHOeqbVdJej9E+VN+lY+bK7EUdz7dSMOI14LnuykQkzQzfs39mXXe0vG6MsaPb3js4ul5gYN9fPFeXOR2bakSjbEON51ePNkv9hWBnpN6ji2VC9A91YrRVr0lOcMESVGrTd4t1q3LvzlW7daX2jHz7uQDoG2bMdURany3YWIhupb5glcQQdX/SvnkcugggAfh5eIIg/COsNsntQ2hE1Q4T8KUEPao47P/42KWR48hL3wkF5NMiJsJ9mmaATHLJoJOIlxiJa5DhfG6UvI9OZfeHsimOQyeHbt7bUrl9oIMhDao/10eBQveBUOwh7AEab8gaLq9yTpghLZEN8vs0BWRZIg3BgklxkxNYOuXI5HvxLh0Wh6prEPN/ZjEBZeIGkQyuWAwCFLkdMCaGJxe1XUF4ovg9NPYjmpa7mctB4VuHbGtG35iMhibewAgZOHSKmHVYKBIoLN1C3hs7fGkj28fUN943FSiGqTEclCNdFhPpyPSQ6KtmFxtJ814eh1lmDBOy/M4E5AQChpqlNyqL7Oo2wKz9YWVBofCVRPWeTvOh9rsOr+OaMK6JLsV302FUzRKziq5ZQH x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:TYZPR06MB4980.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(376014)(7416014)(366016)(1800799024)(38070700021)(921020)(56012099006)(5023799004)(10067099003)(18002099003)(22082099003)(3023799007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?GYgvjLsxROBIwEkdJPrQLVvm2+4uWQIiL7MLQo6aqZ4O+BEBzmZOePJSZa?= =?iso-8859-1?Q?AV5V4PNluhBpyP3FeRWdLY/7Fb3WZpYzADu8zlUaf59eML/QKnX3eRnnI5?= =?iso-8859-1?Q?u2p89KPYACDrvLuwO9MfJztAWrpPxoXzXiL+FcYpYYl6TEsNLYksAY5Cl6?= =?iso-8859-1?Q?aJLsF6eRtLfyq5WAZhjphzoMpEboFxSaxAhrO0skGbrjhArLAj/zrMPxht?= =?iso-8859-1?Q?PtmwtI8BIR9xyIhP0RnQterC2kiQF4BFSOITdcO4AYnlVAXZKSraVhEY+9?= =?iso-8859-1?Q?OeFqnPjPEo4EbFRcsef2ZZPPn+BuGco7b9ZQNHohcbnUJ68eo0kgIOTnMh?= =?iso-8859-1?Q?EtFTYKnHOjzvim8JT1kavLhDs6WlJFxweLSv4JFpGbVAYx3SaRzDd4m5yL?= =?iso-8859-1?Q?s7PWA6lo3YWQggyVYkRYHxaGZXky/1tBs/xf6X7v/2afeO4EjHBh5DvbQ7?= =?iso-8859-1?Q?oG6UIQvgvm1ZOG1TexF3V3FL0AnA+jGMHiFkK89Y9nVhgBOBw1gwu0cumP?= =?iso-8859-1?Q?e3PjOlGaMQUb214SafVn9miVpiRQd1XUQ4WSLw947FaaTzpkW4vrC14eUX?= =?iso-8859-1?Q?MWd9PgTmvPOy/cnL5biLWdWTIpYoTWA351Wml1m2isakPU4HZ1l8b3lIhl?= =?iso-8859-1?Q?fBK28QBTeatdjdg9fFin6eof2zvBKJEV6b9O+Uw8VTipBDY1z2jGwqOG4r?= =?iso-8859-1?Q?FrPcxAohFmb3bRDrDrVlea6gt3csNcDWbnY7HgaqHJGe9eCIbRG9LUxbyA?= =?iso-8859-1?Q?laxrH+3FNXIjhJF0T3A8S3p05HDa/wuBBrwPloMDjgA5ja9RGJdZgo4pE/?= =?iso-8859-1?Q?oGTvr7rU718Grbj7cYOG33YmwBRI7mRbljcX7aMLSBJgay3URCaWA0GKNY?= =?iso-8859-1?Q?z6gNoJLDZ6pALhLTsadJ1Y0hntM0/YStytgseZNkWUeleAAqNRXuiMswLF?= =?iso-8859-1?Q?lPyWg+V6wnsy93z/5W5e812Fb3aIR8OCjvCrqXdvFUiaOdjiysgMOJKwlb?= =?iso-8859-1?Q?81CgrKo5TJ7ygFiBUWALXWNIG7V32pCnsSpoN594H+7LHN4+6++M2klSbl?= =?iso-8859-1?Q?efyQAtU7Dn2t1wsHthkDZQxZDsci+KMZSZeBUy6FAtwxkrbSXXu0UF36ak?= =?iso-8859-1?Q?/jfqmgV9sJttxeYPO3xNf2Iw0Rh212ZM7JzdhRv9JiKgW2Rv0YRObBOf91?= =?iso-8859-1?Q?Nxl60vwXO9kPw0fKjDr414SKRiyKjjOt0Q7EAjbEnqbELiK/rYjEzIBSi0?= =?iso-8859-1?Q?LqvpLptxNThLzaz8a9f6Vvy2Qc2AKLugVOgaGiFbAYVs9OAbPqiooTzeP/?= =?iso-8859-1?Q?+CtZC7YF2R0uQpIPADdWyf68AnmPJzH4nI+LL0dd/cz6wOmdM94tyRcyfu?= =?iso-8859-1?Q?v4Tip/l5ABA8LA0i4HdL8a1cYD9ugrSHRNxsNuJrCffI+uzlqLYkdgWd3N?= =?iso-8859-1?Q?XqcmDlV5UnxxSE3QX0T9QvP4OlWtOq1THLtOuUd/4NyOrAncLLZ7jfbCHR?= =?iso-8859-1?Q?fKG7P09SBj0/N/moAxfbrbY122eZ8+lzPXJwauBt+wvfrt/LnJzVD1fYuG?= =?iso-8859-1?Q?j8+7tXip6aGHYJgk6ePVwBRVZziLLg5O7Ws2WbcpOGFXy7NsL1h1GV8Mvv?= =?iso-8859-1?Q?8nBKVu7QnhCvWcflcc5n2Pn4pkycVuJy3QXdbao6e6tnFoO/UHfE74iezf?= =?iso-8859-1?Q?ibRdlv08YmodcNkkPdPPGKG336v7TohgHJ+6YXgMAhYAAqy2knnNx8AY0l?= =?iso-8859-1?Q?S4uuDz+AGANnkQacoolk0A4M3RZkCbOdCnuo/NBle47SseHFhi5Kf75iVB?= =?iso-8859-1?Q?LuFwQ0nN4Q=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: DsxVs7YT2pFPmAhXyJBlJfZouE3EH7xLE+uTmWzRUOSwt3o90gxekbD8T+VKCUt1e588OL7BgAlsI9AuwsJ1LjHX0iVjiGzi7K1IjciZ+G95i2ifvRe6FyRFO6QvfsxPmtwcOjes//K+dCeRI1YWBjHtcBS1RKJ73C8KvTenNCvMgU4BveK5BXUypiVlhM0nf8PBadqJP/Pe1xl04smR6PnIbAxR38IdVi5+GALfyksNjfBHYqmzk2BKtiTg56cY8Fnf1nuFDei1RKppXiHj8gz9s9i88F2UwIxSWZC1WmGkJbMbuBoEMkeuAymAuYW8FeVd9gPXDqxs2Y0JvU2ZFA== X-OriginatorOrg: aspeedtech.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR06MB4980.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1dfd30ca-ed16-44d1-6b27-08dee3dbf98c X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jul 2026 08:18:25.6614 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43d4aa98-e35b-4575-8939-080e90d5a249 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: PG/fM8LNlznY2/FQ2JFSjwmn0oUkBG4hOnEbXINpF6+1iY7VYkAo5Mc+6GrhFD9X5tLlhahFnd+QUixDjOF1VFTWXuqdmF8h/+oJ0p0RAOQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: KU4PR06MB8339 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:c405::5; envelope-from=jamin_lin@aspeedtech.com; helo=TYPPR03CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @aspeedtech.com) X-ZM-MESSAGEID: 1784276361521158500 Content-Type: text/plain; charset="utf-8" Add two qtest cases exercising the new AST2700 Data FIFO-based flash access path (R_DATA_FIFO at spi_base + 0x200). Write_page_datafifo sends the page-program command and data through the FIFO port, then verifies the result via the regular read path. Read_page_datafifo writes a page the regular way, then reads it back through the FIFO port, so both directions are checked independently. Signed-off-by: Jamin Lin --- tests/qtest/aspeed-smc-utils.h | 4 ++ tests/qtest/aspeed-smc-utils.c | 103 +++++++++++++++++++++++++++++++++ tests/qtest/ast2700-smc-test.c | 4 ++ 3 files changed, 111 insertions(+) diff --git a/tests/qtest/aspeed-smc-utils.h b/tests/qtest/aspeed-smc-utils.h index 19c557b822..e4f538e579 100644 --- a/tests/qtest/aspeed-smc-utils.h +++ b/tests/qtest/aspeed-smc-utils.h @@ -33,6 +33,8 @@ #define CTRL_DUMMY_LOW_SHIFT 6 #define CTRL_DUMMY_HIGH_SHIFT 14 #define SR_WEL BIT(1) +/* Data fifo */ +#define R_DATA_FIFO 0x200 =20 /* * Flash commands @@ -87,5 +89,7 @@ void aspeed_smc_test_read_page_mem_dor(const void *data); void aspeed_smc_test_write_page_dor(const void *data); void aspeed_smc_test_read_page_mem_qor(const void *data); void aspeed_smc_test_write_page_qor(const void *data); +void aspeed_smc_test_write_page_datafifo(const void *data); +void aspeed_smc_test_read_page_datafifo(const void *data); =20 #endif /* TESTS_ASPEED_SMC_UTILS_H */ diff --git a/tests/qtest/aspeed-smc-utils.c b/tests/qtest/aspeed-smc-utils.c index 6d75a95578..6f1a4b2ec7 100644 --- a/tests/qtest/aspeed-smc-utils.c +++ b/tests/qtest/aspeed-smc-utils.c @@ -57,6 +57,28 @@ static inline uint32_t flash_readl(const AspeedSMCTestDa= ta *data, return qtest_readl(data->s, data->flash_base + offset); } =20 +/* + * Data FIFO port, in spi_base's register bank (not flash_base). Accesses + * through the FIFO require the complete user-mode transaction (opcode, + * address, and data). Assumes CS0, whose FIFO slot is at R_DATA_FIFO. + */ +static inline void datafifo_writeb(const AspeedSMCTestData *data, + uint8_t value) +{ + qtest_writeb(data->s, data->spi_base + R_DATA_FIFO, value); +} + +static inline void datafifo_writel(const AspeedSMCTestData *data, + uint32_t value) +{ + spi_writel(data, R_DATA_FIFO, value); +} + +static inline uint32_t datafifo_readl(const AspeedSMCTestData *data) +{ + return spi_readl(data, R_DATA_FIFO); +} + static void spi_conf(const AspeedSMCTestData *data, uint32_t value) { uint32_t conf =3D spi_readl(data, R_CONF); @@ -826,3 +848,84 @@ void aspeed_smc_test_write_page_qor(const void *data) { test_write_page(data, read_page_qor); } + +void aspeed_smc_test_write_page_datafifo(const void *data) +{ + const AspeedSMCTestData *test_data =3D (const AspeedSMCTestData *)data; + uint32_t my_page_addr =3D test_data->page_addr; + uint32_t some_page_addr =3D my_page_addr + FLASH_PAGE_SIZE; + uint32_t page[FLASH_PAGE_SIZE / 4]; + int i; + + spi_conf(test_data, 1 << (CONF_ENABLE_W0 + test_data->cs)); + + /* + * Send the complete user-mode transaction (opcode, address, data) + * through the Data FIFO port. + */ + spi_ctrl_start_user(test_data); + datafifo_writeb(test_data, EN_4BYTE_ADDR); + datafifo_writeb(test_data, WREN); + datafifo_writeb(test_data, PP); + datafifo_writel(test_data, make_be32(my_page_addr)); + + for (i =3D 0; i < FLASH_PAGE_SIZE / 4; i++) { + datafifo_writel(test_data, make_be32(my_page_addr + i * 4)); + } + spi_ctrl_stop_user(test_data); + + /* Check what was written, using the regular read path */ + read_page(test_data, my_page_addr, page); + for (i =3D 0; i < FLASH_PAGE_SIZE / 4; i++) { + g_assert_cmphex(page[i], =3D=3D, my_page_addr + i * 4); + } + + /* Check some other page. It should be full of 0xff */ + read_page(test_data, some_page_addr, page); + for (i =3D 0; i < FLASH_PAGE_SIZE / 4; i++) { + g_assert_cmphex(page[i], =3D=3D, 0xffffffff); + } + + flash_reset(test_data); +} + +void aspeed_smc_test_read_page_datafifo(const void *data) +{ + const AspeedSMCTestData *test_data =3D (const AspeedSMCTestData *)data; + uint32_t my_page_addr =3D test_data->page_addr; + uint32_t page[FLASH_PAGE_SIZE / 4]; + int i; + + spi_conf(test_data, 1 << (CONF_ENABLE_W0 + test_data->cs)); + + /* Write the page the regular way */ + spi_ctrl_start_user(test_data); + flash_writeb(test_data, 0, EN_4BYTE_ADDR); + flash_writeb(test_data, 0, WREN); + flash_writeb(test_data, 0, PP); + flash_writel(test_data, 0, make_be32(my_page_addr)); + for (i =3D 0; i < FLASH_PAGE_SIZE / 4; i++) { + flash_writel(test_data, 0, make_be32(my_page_addr + i * 4)); + } + spi_ctrl_stop_user(test_data); + + /* + * Read it back through the data FIFO port, again sending the whole + * transaction (opcode, address, data) through it. + */ + spi_ctrl_start_user(test_data); + datafifo_writeb(test_data, EN_4BYTE_ADDR); + datafifo_writeb(test_data, READ); + datafifo_writel(test_data, make_be32(my_page_addr)); + for (i =3D 0; i < FLASH_PAGE_SIZE / 4; i++) { + page[i] =3D make_be32(datafifo_readl(test_data)); + } + spi_ctrl_stop_user(test_data); + + for (i =3D 0; i < FLASH_PAGE_SIZE / 4; i++) { + g_assert_cmphex(page[i], =3D=3D, my_page_addr + i * 4); + } + + flash_reset(test_data); +} + diff --git a/tests/qtest/ast2700-smc-test.c b/tests/qtest/ast2700-smc-test.c index f85077e04f..925dbcfaaf 100644 --- a/tests/qtest/ast2700-smc-test.c +++ b/tests/qtest/ast2700-smc-test.c @@ -64,6 +64,10 @@ static void test_ast2700_evb(AspeedSMCTestData *data) data, aspeed_smc_test_read_page_mem_qor); qtest_add_data_func("/ast2700/smc/write_page_qor", data, aspeed_smc_test_write_page_qor); + qtest_add_data_func("/ast2700/smc/write_page_datafifo", + data, aspeed_smc_test_write_page_datafifo); + qtest_add_data_func("/ast2700/smc/read_page_datafifo", + data, aspeed_smc_test_read_page_datafifo); } =20 int main(int argc, char **argv) --=20 2.43.0