From nobody Fri Nov 14 17:01:10 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; 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; dmarc=pass(p=none dis=none) header.from=nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1762315239; cv=none; d=zohomail.com; s=zohoarc; b=Z1asklHUOVHPqLIhHncKdEJW5/m63pzeUZjjlsh1kgZPEeNtWrfpy9BVFmSOK8CuwZDH4rSEjdZdUzG39lSLwaOa8S73SUd86ZMwVvXNCZDK33yNcnICtbw907jOgcbQgU79i1Qan/SezaMB+rCpNraQy5PJ63hRFn28yQmLDeQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1762315239; 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:Reply-To:Reply-To:References:Sender:Subject:Subject:To:To:Message-Id; bh=4U3NzPhLjPB6oiZScGJMknuMoWG91iWFi552jdr/EIc=; b=CpI5y/mQ2lGiVFfOvQDiTZcdY7v/V5eHvkCskQRGULfkhfe2eYzea5x5GpIRdS+Umtpv1jXXXJPDw8o8JbUyrAqWJqL6A9xWDwVeLVAE0ZJuDpUNV2mdNLcvsqldtxPy5+dekVVnPr3ZVuJjKEqCwt6YWaW8+i6xA+MPdV9k700= ARC-Authentication-Results: i=1; mx.zohomail.com; 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; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1762315239321870.5689202438992; Tue, 4 Nov 2025 20:00:39 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vGUgz-0008T1-33; Tue, 04 Nov 2025 23:00:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vGUgx-0008S5-Bu; Tue, 04 Nov 2025 23:00:15 -0500 Received: from mail.aspeedtech.com ([211.20.114.72] helo=TWMBX01.aspeed.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vGUgv-0000YI-RS; Tue, 04 Nov 2025 23:00:15 -0500 Received: from TWMBX01.aspeed.com (192.168.0.62) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.10; Wed, 5 Nov 2025 11:59:05 +0800 Received: from mail.aspeedtech.com (192.168.10.10) by TWMBX01.aspeed.com (192.168.0.62) with Microsoft SMTP Server id 15.2.1748.10 via Frontend Transport; Wed, 5 Nov 2025 11:59:05 +0800 To: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Peter Maydell , Steven Lee , Troy Lee , Jamin Lin , Andrew Jeffery , Joel Stanley , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: , Kane-Chen-AS Subject: [PATCH v2 16/17] hw/arm/aspeed: Model AST1700 SGPIOM block as unimplemented device Date: Wed, 5 Nov 2025 11:58:54 +0800 Message-ID: <20251105035859.3709907-17-kane_chen@aspeedtech.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251105035859.3709907-1-kane_chen@aspeedtech.com> References: <20251105035859.3709907-1-kane_chen@aspeedtech.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=lists.gnu.org; Received-SPF: pass client-ip=211.20.114.72; envelope-from=kane_chen@aspeedtech.com; helo=TWMBX01.aspeed.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_FAIL=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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Kane Chen From: Kane Chen via Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1762315241295154100 Content-Type: text/plain; charset="utf-8" From: Kane-Chen-AS AST1700 includes an SGPIOM block, but QEMU has no functional model yet. Expose it as an unimplemented device so the address space is reserved and the missing functionality is explicit to users/guests. Signed-off-by: Kane-Chen-AS --- include/hw/misc/aspeed_ast1700.h | 1 + hw/misc/aspeed_ast1700.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/include/hw/misc/aspeed_ast1700.h b/include/hw/misc/aspeed_ast1= 700.h index 4048d31154..8ada3a7775 100644 --- a/include/hw/misc/aspeed_ast1700.h +++ b/include/hw/misc/aspeed_ast1700.h @@ -44,6 +44,7 @@ struct AspeedAST1700SoCState { AspeedWDTState wdt[AST1700_WDT_NUM]; =20 UnimplementedDeviceState i3c; + UnimplementedDeviceState sgpiom; }; =20 #endif /* ASPEED_AST1700_H */ diff --git a/hw/misc/aspeed_ast1700.c b/hw/misc/aspeed_ast1700.c index 37b2946fc0..66a5f21d27 100644 --- a/hw/misc/aspeed_ast1700.c +++ b/hw/misc/aspeed_ast1700.c @@ -19,6 +19,7 @@ #define AST2700_SOC_LTPI_SIZE 0x01000000 #define AST1700_SOC_SRAM_SIZE 0x00040000 #define AST1700_SOC_I3C_SIZE 0x00010000 +#define AST1700_SOC_SGPIOM_SIZE 0x00002000 =20 enum { ASPEED_AST1700_DEV_SPI0, @@ -26,6 +27,7 @@ enum { ASPEED_AST1700_DEV_ADC, ASPEED_AST1700_DEV_SCU, ASPEED_AST1700_DEV_GPIO, + ASPEED_AST1700_DEV_SGPIOM, ASPEED_AST1700_DEV_I2C, ASPEED_AST1700_DEV_I3C, ASPEED_AST1700_DEV_UART12, @@ -40,6 +42,7 @@ static const hwaddr aspeed_ast1700_io_memmap[] =3D { [ASPEED_AST1700_DEV_ADC] =3D 0x00C00000, [ASPEED_AST1700_DEV_SCU] =3D 0x00C02000, [ASPEED_AST1700_DEV_GPIO] =3D 0x00C0B000, + [ASPEED_AST1700_DEV_SGPIOM] =3D 0x00C0C000, [ASPEED_AST1700_DEV_I2C] =3D 0x00C0F000, [ASPEED_AST1700_DEV_I3C] =3D 0x00C20000, [ASPEED_AST1700_DEV_UART12] =3D 0x00C33B00, @@ -162,6 +165,15 @@ static void aspeed_ast1700_realize(DeviceState *dev, E= rror **errp) aspeed_ast1700_io_memmap[ASPEED_AST1700_DEV_LTPI_C= TRL], sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->ltpi), 0= )); =20 + /* SGPIOM */ + qdev_prop_set_string(DEVICE(&s->sgpiom), "name", "ioexp-sgpiom"); + qdev_prop_set_uint64(DEVICE(&s->sgpiom), "size", AST1700_SOC_SGPIOM_SI= ZE); + sysbus_realize(SYS_BUS_DEVICE(&s->sgpiom), errp); + memory_region_add_subregion_overlap(&s->iomem, + aspeed_ast1700_io_memmap[ASPEED_AST1700_DEV_SGPIOM= ], + sysbus_mmio_get_region(SYS_BUS_DEVICE(&s->sgpiom),= 0), + -1000); + /* WDT */ for (i =3D 0; i < AST1700_WDT_NUM; i++) { AspeedWDTClass *awc =3D ASPEED_WDT_GET_CLASS(&s->wdt[i]); @@ -225,6 +237,10 @@ static void aspeed_ast1700_instance_init(Object *obj) object_initialize_child(obj, "ltpi-ctrl", &s->ltpi, TYPE_ASPEED_LTPI); =20 + /* SGPIOM */ + object_initialize_child(obj, "ioexp-sgpiom[*]", &s->sgpiom, + TYPE_UNIMPLEMENTED_DEVICE); + /* WDT */ for (i =3D 0; i < AST1700_WDT_NUM; i++) { snprintf(typename, sizeof(typename), "aspeed.wdt-%s", socname); --=20 2.43.0