From nobody Mon Aug 24 04:08:08 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=1780459353; cv=pass; d=zohomail.com; s=zohoarc; b=lKgG9RtopPp2ijB0Ni0wFAyJNO33hE/s0A3YO31xwL80CkpI1hRSqLA6LDV1q4OkUwZLCdmcqAIs411IpyCXP7ekmAItQmzbz9+xOqUnLY8XBxO5S7mbsb0vetm/tPEe645KkPMVPDC5WBToIYHKaDryZHRkrDmkxdROg97YuA4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1780459353; 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=TIelT3DAsZBBEGovpzku52xURAfztS/3rxlL2t6NuHs=; b=CAm5/KRsl8lboYhj3hTSNzwLUDYmSh8hNJJSb5t4YG+H24Z0f03W44kvhS+YnUnV/oFiTppfNRq4VhT3VfKSgMHYQ4t3HnSlRCma/J/ns1/GWin5DLCcLnr0zPCWjzfQn8I9fhS33ve6FXkj9Ng/J8+IB7kBWTn4rLrBMKItcmk= 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 1780459353529738.9530346049402; Tue, 2 Jun 2026 21:02:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wUcnT-0003jW-QS; Wed, 03 Jun 2026 00:01:39 -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 1wUcmk-0003VL-E1; Wed, 03 Jun 2026 00:00:54 -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 1wUcmi-0002QB-8O; Wed, 03 Jun 2026 00:00:53 -0400 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com (2603:1096:400:1cc::10) by TYSPR06MB6921.apcprd06.prod.outlook.com (2603:1096:400:468::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.7; Wed, 3 Jun 2026 04:00:36 +0000 Received: from TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3]) by TYZPR06MB4980.apcprd06.prod.outlook.com ([fe80::ea8a:7cb7:4822:2fb3%5]) with mapi id 15.21.0092.006; Wed, 3 Jun 2026 04:00:36 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Fjk89yH+FDpAimZRdT2IguEZH0Y8ALMnrPeyNnZRN6ExQr6o3uMqILB/D9DjsJeqm6IuLrKmx0XNpKqkcmjYsAz8m/oH0EgaKf5bfCwauNJKjbwSGNf9cA1Uh9ZVJ/jTj+H/9lPBSSHkOEr03HBg02n/W9xuPbGO+ooYd9LHT7hLX4/f7RJVLnZKY/1u1fS+Nk6Pq6fDo/lvlLHfnE5mtqyX5fLeDoDMLo1TOKmf66jMATj+oQaecgIFTQCR3abe2S9e0W16hRaXXs6xE39qee8UfnnDwZhfEQO9G+thDbq6wJMcWTjPpA2gBzzT3pVQORiwC0hUYz6El4oXVTYNaQ== 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=TIelT3DAsZBBEGovpzku52xURAfztS/3rxlL2t6NuHs=; b=xykIlHGnpa8w9w7dutHuaD3HL7NCqFMlcoV1ZSLV8IsKAzrbWEWgd1c64pULGU/AWATG1GrF8l+R2mFgTCpQCqfrspRChnP9FZHg8RdaqSGa7mhQJ6ignUx5wuhewVQ9I21/DRvkr+ZBolOOS23AXz8dEouhnM2nvuS6mAYzR/FTbP38XKCRvwgsd4RNkOX1TYLgFFMh6DslKJXXHn0I3rRGbY1TG9CXTTb/XXVgLMCAakLX5XPjAKePUcM1w8VKp06ST9H5NzCLkGPvmQf/A/hF7qPseIuZLikc/rbGLXh1Mqiu9WxpCoxuommdl0UoNgZahj7o3CCeVd70OHeWhw== 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=TIelT3DAsZBBEGovpzku52xURAfztS/3rxlL2t6NuHs=; b=XTzSakKZeQkSNeZXsMJXsJWF5cCNCrRjcUSeUTURZ/pS5jsKn5tVzUxQL75hXAV5Zi4P1icQjwHpiEtL4u37/TXwNkK/N36dDd1iKvu8naCbvc+XtMl0F39lNMy8qXucF/PZGSfJpUhhac+a2z76IHtYMPXzVziVyVsdDTyuxgbb/l5CmjbU17u0QARjgFgwCpttJOXLZbwcOpXePKod3vzwLbmxFEwjkAkyNym+q4n+lyUvEQjLOsL9Ft2aeYDA5n6cRvuQiwGoQSB6BkMxOGDTLd7FAgRqt0y3UjBqT95F8fjEzU98yk8PdUYfcxh3a3nu5tNhmEgW2k/BPQxj2Q== From: Jamin Lin To: =?iso-8859-1?Q?C=E9dric_Le_Goater?= , Peter Maydell , Steven Lee , Troy Lee , Kane Chen , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: Jamin Lin , Troy Lee , =?iso-8859-1?Q?C=E9dric_Le_Goater?= Subject: [PATCH v3 07/10] hw/i2c/aspeed_i2c: Introduce AST1040 I2C model Thread-Topic: [PATCH v3 07/10] hw/i2c/aspeed_i2c: Introduce AST1040 I2C model Thread-Index: AQHc8w2IbH1X7QM+S0u/7pVmG7PTaA== Date: Wed, 3 Jun 2026 04:00:36 +0000 Message-ID: <20260603040027.938816-8-jamin_lin@aspeedtech.com> References: <20260603040027.938816-1-jamin_lin@aspeedtech.com> In-Reply-To: <20260603040027.938816-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_|TYSPR06MB6921:EE_ x-ms-office365-filtering-correlation-id: 6b8add72-3437-4633-38d0-08dec124ab2c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700021|22082099003|18002099003|56012099006; x-microsoft-antispam-message-info: Jt5QfW8Pc1qOdwCO/0ISu3YH8Mb/7FVVgxM6tCAJy0C6RjfsAdohhKBLXqcXm5myTKQXBdoG8oF+2igLodV4FCpqTxfuh55t7FShlp1eT+aOLWe6JYPdxu7N2emkHLSjidpyTNlZRfpyq/fqixbUx0Cd8iooshmQWa8OoIJdvR4Ox+IAQ4LUTtTEfTvMt9rlj1Asd/15g940rb3nmSW+cJlclS2hTQmyYEbD7Bp0zEgsNFvBasAKo3XreCEEYfj7vKmnqjEwWlPdoyAvOyONIp07rFplQJ6iTtII+b5r/jO2+nLHpa+zuYcTGflegC0TWX54fpQVbrVl22ujqbj2fSPp74iB6YQdYXeGvm6xlmhyBcWDmSIhWFMouQ0cfecovMPbIUwNHLlfXo7/6mrH96DoSwoNpsfItiXojnf633qmasJFRn5kYKQlFpEQw1mUDLteyV1VGYJD3uStx3mGq+WUTjAj1FhXIRHpJoIb9DYsOzZK+G+exClu4o6WxOLiCYCl02LWyU/Fg3s/HxblS+dtDOKpiYYnGrNakf3qILMwyhpOkLiIP80X+ESt1lfR89mwks3Sf0dRdW4ljl3+HN4Z4tLcp0+wmV46LiEoz6cmp+2dUXdqABT1wCMr8/m7KIb4kCeCKSje1APuGYkChoslI5UFcpB1wiNEouR6SH5bjgRjH9wZbZ7diiahOEdJPX0K+NRvx2+19ZouBdoRy+jo4Mf1/z8/yP9RuuuLDveUqcsmMi4fMqNl9v4MGbgz 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)(1800799024)(366016)(376014)(38070700021)(22082099003)(18002099003)(56012099006); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?tUhFq9LBxhSwxwx28hjwtevhwSSR8wUz9vpfmn+EgTqMUQ9DYZY2qxdKmK?= =?iso-8859-1?Q?Ghy1qKNbIXlAOYMg87N+s+riDIDigL1esDFA2PaAELOqr5iiC0asSxMal9?= =?iso-8859-1?Q?+zRdnMgg5Ba2mLI2pGDcVok6LPvUIsQINFodNysYnulRDHaPKkG+kf3dBI?= =?iso-8859-1?Q?ZfvWmNJ6mUWJHFwSI9fH736Plr9gfmu1neh0e+x96yuDzbybAEtIZAXblS?= =?iso-8859-1?Q?SY8Hosfn/ETY7NRzdaF3BhmdYrr9mrtXhHeS5Auw1QipUcHwkDyf8/gFSh?= =?iso-8859-1?Q?0NAIPxzyNqLcJLkOjCIy3pg7V70L/rEnS+Ic5qLg40UhMj4Vqeioiq/Qp3?= =?iso-8859-1?Q?NXZ1feXTi92iUjHSN4Vs1oscbXHSS3KJQ2ve+BkHhEc6ZRyMaly73DJJ2C?= =?iso-8859-1?Q?zKfJtfVHwLFCpNzRU00A9mt6klSPiJPbVRmAIPNfJNozTCpXn4l2p8Mdtz?= =?iso-8859-1?Q?pry/C+Ejwyp2QKh+oHo/KdEVd5ZDYjC2bpHYumDgKTkqB4IWZzgZTnWPFs?= =?iso-8859-1?Q?+GIil9/RyPDtei/MWWDfLHm2fOMei79DeLqzOoVUmeWUNfbSpIW7vQQCko?= =?iso-8859-1?Q?nXgNDFgwKMS+3sMddJFvB2Svsyul0lp1a6YK8ZKZTknLnLuJKMVZdGs88y?= =?iso-8859-1?Q?JVLgVOO808EkMO1STkNpznvakjwjjGjo/InDF0TIoIhxKdH5JNVbQM76Z+?= =?iso-8859-1?Q?pBJR4SNwa/1ECvitzTjocYlRg0DSekBV0GS72J6QZpZSYvBOcMrqdZFhLr?= =?iso-8859-1?Q?QEROG6qF/WPKouatw70Zkc6eLgp+UawZ28qoFypMsXHriWAfvtS6hGtWVy?= =?iso-8859-1?Q?bETewGTujhBT650ZsBPksurpSun9nQGWtMVjmhXx8qyik+UHv9qSnOx9Dh?= =?iso-8859-1?Q?gVt8SpMBzw8H4HF1EWTfBqypyYiW8XZ85pL+PPchrUx0vgJOdZ1XeRZfON?= =?iso-8859-1?Q?fp833YMqrqqNkmNitsK+QmrSR22iJjmCDaF7M5eW41WVc8Ur8L5fbKZUpY?= =?iso-8859-1?Q?4T/hSw2oSU/dD+CkIXi9lHWo0pEXQsZ4ILTk8M5qzlf8e09eR6ST3iAvxi?= =?iso-8859-1?Q?s4SK3IF2azlYDjiUx7GvXgE1ootunwxY8khq/simYu/QHQOOaLFocMSvqU?= =?iso-8859-1?Q?iITRL6U3md0WrAlm2Bx/hpdAZ4DKoWHORcrevhQl8+FlPlD+cCeelSyE67?= =?iso-8859-1?Q?3IlLrZnDRMPGDgGLlALM9ud4w5vQgjWK4L9e2SWSfADAXtPoBk01P5KbVm?= =?iso-8859-1?Q?dcBS7/aGZDxn9mRvYsEZdG2RucN0USvRCwbk7SHrh/T2yfoMVXLf4OE0ap?= =?iso-8859-1?Q?tXAqMETNIqsnwckFDbJerui3xQFRcXEjVPVNETFUnQFqJWhW2ycoFKqhC4?= =?iso-8859-1?Q?ftzdfDx7hmSarbcCLdZmZJSgX0CIc2krX+BaDyMOxfw8P0KkbYNFmGCJ78?= =?iso-8859-1?Q?XaNOrp3VmNr6+EGN3C3WzQe49HBHX69mLkOAvyKrldnTbmumh9koOGEExU?= =?iso-8859-1?Q?wgS9bLLorK3Ip5yqpB3x1+BSb65axH1LILhXH0Cc7crg53Q3xRqewfZBjk?= =?iso-8859-1?Q?3+VjNVUJcIJ9qIZu877XVe4OgDEqVAJ1uDEIsVFBzThPfQ4Af5AozumI/0?= =?iso-8859-1?Q?7ChyzorA24Eex/1o1hjVwvrePm9QauDQsB7IJ9LN7js8dQORrFy2Vv7Nd7?= =?iso-8859-1?Q?Mqcg1BTktyiYb5oIIwU4QA5IJyZExvl2SAoz8rmrtlwQEa9+1R6STIkEtt?= =?iso-8859-1?Q?N7/Q8iNiseMmOh3KyCfSOaV4cx3iAhbFzNzMsq5duvOwyKmrDwXTocMsOT?= =?iso-8859-1?Q?Qt5llkWFQA=3D=3D?= Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: ie+VMjNO2paVPgDQz2O6Fbd9fIvXy5YU9iNHFjy1PS8H85NFbxrbd22V4PgDn4soqWTo+ivg/PXP1VzZyrDSyhaO0qKDjsolqgzyu9JYOlIaOUCM0xXVEAJ4wqq+CIjMKS9P9wY7FY9snRXUJ9bpynSdlReUOBDGXtA9kyMAjTiEx5ObFMkmjnHssH3GwVg6dOWVOMlYafwGhjfe+QMoFJPYWDgji1obihxMvJ+k6Y3K02hzXF6TiW1CoIUl4LWIZ5VoOfzCqNyg2twSv3jilzxwlFiuwX/loilIjytIHBhE4rWqV+g6tCtLJIkK1br4X3AXvY2NmyY8PnA9cpZKeg== 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: 6b8add72-3437-4633-38d0-08dec124ab2c X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2026 04:00:36.7459 (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: E/OyIMC67++t3lsOpVBBRxRg2L0yVl2PxglFhTBNb/oI3lU18Q2UHi88IavSBew8uLC4oiLdK52+VQE+ITDDcn70pb8HiFPLXfI4ZRw+Tz0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYSPR06MB6921 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: 1780459354595158500 Content-Type: text/plain; charset="utf-8" Introduce the AST1040 I2C controller model. The AST1040 I2C controller is compatible with the AST2700 I2C controller, including DMA support and the 64-bit DMA address registers. Set has_dma64 so firmware can access the high address register and program it to zero, as the CM4 CPU only supports 32-bit addressing. AST1040 has 14 I2C buses and its HyperRAM is limited to 16 MiB, so restrict the DMA low address mask to 0x00ffffff. Signed-off-by: Jamin Lin Reviewed-by: C=C3=A9dric Le Goater --- include/hw/i2c/aspeed_i2c.h | 1 + hw/i2c/aspeed_i2c.c | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/include/hw/i2c/aspeed_i2c.h b/include/hw/i2c/aspeed_i2c.h index b2e4d2fb9d..156998e7c1 100644 --- a/include/hw/i2c/aspeed_i2c.h +++ b/include/hw/i2c/aspeed_i2c.h @@ -30,6 +30,7 @@ #define TYPE_ASPEED_2500_I2C TYPE_ASPEED_I2C "-ast2500" #define TYPE_ASPEED_2600_I2C TYPE_ASPEED_I2C "-ast2600" #define TYPE_ASPEED_1030_I2C TYPE_ASPEED_I2C "-ast1030" +#define TYPE_ASPEED_1040_I2C TYPE_ASPEED_I2C "-ast1040" #define TYPE_ASPEED_2700_I2C TYPE_ASPEED_I2C "-ast2700" OBJECT_DECLARE_TYPE(AspeedI2CState, AspeedI2CClass, ASPEED_I2C) =20 diff --git a/hw/i2c/aspeed_i2c.c b/hw/i2c/aspeed_i2c.c index 856d5dc1db..27afcaecee 100644 --- a/hw/i2c/aspeed_i2c.c +++ b/hw/i2c/aspeed_i2c.c @@ -1654,6 +1654,34 @@ static void aspeed_1030_i2c_class_init(ObjectClass *= klass, const void *data) aic->dma_addr_lo_mask =3D 0x7fffffff; } =20 +static void aspeed_1040_i2c_class_init(ObjectClass *klass, const void *dat= a) +{ + DeviceClass *dc =3D DEVICE_CLASS(klass); + AspeedI2CClass *aic =3D ASPEED_I2C_CLASS(klass); + + dc->desc =3D "ASPEED 1040 I2C Controller"; + + /* + * AST1040 reuses the AST2700 I2C controller implementation since + * the AST1040 is compatible with AST2700. AST1040 has 14 I2C buses, + * and its HyperRAM is limited to 16 MiB, so the DMA low address + * mask is restricted accordingly. + */ + aic->num_busses =3D 14; + aic->reg_size =3D 0xa0; + aic->reg_gap_size =3D 0x60; + aic->gap =3D -1; /* no gap */ + aic->bus_get_irq =3D aspeed_2600_i2c_bus_get_irq; + aic->pool_size =3D 0x40; + aic->pool_gap_size =3D 0xc0; + aic->pool_base =3D 0x1c0; + aic->bus_pool_base =3D aspeed_2500_i2c_bus_pool_base; + aic->has_dma =3D true; + aic->mem_size =3D 0x2000; + aic->has_dma64 =3D true; + aic->dma_addr_lo_mask =3D 0x00ffffff; +} + static void aspeed_2700_i2c_class_init(ObjectClass *klass, const void *dat= a) { DeviceClass *dc =3D DEVICE_CLASS(klass); @@ -1703,6 +1731,11 @@ static const TypeInfo aspeed_i2c_types[] =3D { .parent =3D TYPE_ASPEED_I2C, .class_init =3D aspeed_1030_i2c_class_init, }, + { + .name =3D TYPE_ASPEED_1040_I2C, + .parent =3D TYPE_ASPEED_I2C, + .class_init =3D aspeed_1040_i2c_class_init, + }, { .name =3D TYPE_ASPEED_2400_I2C, .parent =3D TYPE_ASPEED_I2C, --=20 2.43.0