From nobody Fri Sep 5 20:21:04 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=1752723864; cv=none; d=zohomail.com; s=zohoarc; b=nMr6W7Mq3r7DntjykbDE+q9EZn2sN5hjPnzFagnRWeD5vaKbnF23g6cRmtaiUizibqaIhJiMY56Ofj2pt2pWGsyQLRtRKp7LcJa5fSM/KafNtfleWdYGH+93laKV1wgsriqRbjEqJEbBIn2xpdbYZKvBTYES87fSOtWrovTJ1u4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752723864; 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=S3PNV9Y6jAxII3kreXPs6DWqMZlIHle5UBXu3mcQi9Q=; b=fplkRYy/mRtZl+FN609f/7SI1lOQ1FSAZtCCa61WKfh+r8VxeDBxFlDZge7aF3pqLMKdLFl+FWdHUiyByxQZsn8c2Hd5ejtFEP7Gxgwr1nge86vpqwAayJ+3wkTxEXsx3DZjxVoU3D4yx77fUUCXgrTn10G49JztlJkXP1lYmyk= 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 1752723864909378.02645047401427; Wed, 16 Jul 2025 20:44:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ucFWE-0004RS-NW; Wed, 16 Jul 2025 23:42:51 -0400 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 1ucFUh-0003Sk-4o; Wed, 16 Jul 2025 23:41:15 -0400 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 1ucFUe-0000ZH-RN; Wed, 16 Jul 2025 23:41:14 -0400 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; Thu, 17 Jul 2025 11:40:56 +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; Thu, 17 Jul 2025 11:40:56 +0800 To: =?UTF-8?q?C=C3=A9dric=20Le=20Goater?= , Peter Maydell , Steven Lee , Troy Lee , Andrew Jeffery , "Joel Stanley" , "open list:ASPEED BMCs" , "open list:All patches CC here" CC: , Subject: [PATCH v1 04/21] hw/arm/aspeed_ast27x0-ssp: Switch SSP memory to SDRAM and use dram_container for remap support Date: Thu, 17 Jul 2025 11:40:32 +0800 Message-ID: <20250717034054.1903991-5-jamin_lin@aspeedtech.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250717034054.1903991-1-jamin_lin@aspeedtech.com> References: <20250717034054.1903991-1-jamin_lin@aspeedtech.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=jamin_lin@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: Jamin Lin From: Jamin Lin via Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1752723865490116600 According to the AST2700 design, the SSP coprocessor uses its own SDRAM instead of SRAM. Additionally, all three coprocessors=E2=80=94SSP, TSP, and= PSP=E2=80=94share a common SRAM block. In the previous implementation, the SSP memory region was labeled and sized as "SRAM", but in practice it was being used as SSP's local SDRAM. This commit updates the SSP memory mapping to reflect the correct hardware design: - Replace the SRAM region with a "512MB SDRAM" region starting at 0x0. - Rename the internal variable from "sram" to "dram_container" for clarity. - Use "AST2700_SSP_SDRAM_SIZE" (512MB) instead of the previous 32MB SRAM si= ze. - Map the new region using "ASPEED_DEV_SDRAM" instead of "ASPEED_DEV_SRAM". This change also prepares for future enhancements where PSP DRAM will be remapped into this SSP SDRAM container using subregions at specific offsets. Using "dram_container" makes it easier to manage aliases and remap logic. Signed-off-by: Jamin Lin --- hw/arm/aspeed_ast27x0-ssp.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/hw/arm/aspeed_ast27x0-ssp.c b/hw/arm/aspeed_ast27x0-ssp.c index 80ec5996c1..9641e27de1 100644 --- a/hw/arm/aspeed_ast27x0-ssp.c +++ b/hw/arm/aspeed_ast27x0-ssp.c @@ -15,10 +15,10 @@ #include "hw/misc/unimp.h" #include "hw/arm/aspeed_soc.h" =20 -#define AST2700_SSP_RAM_SIZE (32 * MiB) +#define AST2700_SSP_SDRAM_SIZE (512 * MiB) =20 static const hwaddr aspeed_soc_ast27x0ssp_memmap[] =3D { - [ASPEED_DEV_SRAM] =3D 0x00000000, + [ASPEED_DEV_SDRAM] =3D 0x00000000, [ASPEED_DEV_INTC] =3D 0x72100000, [ASPEED_DEV_SCU] =3D 0x72C02000, [ASPEED_DEV_SCUIO] =3D 0x74C02000, @@ -163,7 +163,7 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState *= dev_soc, Error **errp) AspeedSoCState *s =3D ASPEED_SOC(dev_soc); AspeedSoCClass *sc =3D ASPEED_SOC_GET_CLASS(s); DeviceState *armv7m; - g_autofree char *sram_name =3D NULL; + g_autofree char *name =3D NULL; int i; =20 if (!clock_has_source(s->sysclk)) { @@ -180,16 +180,17 @@ static void aspeed_soc_ast27x0ssp_realize(DeviceState= *dev_soc, Error **errp) OBJECT(s->memory), &error_abort); sysbus_realize(SYS_BUS_DEVICE(&a->armv7m), &error_abort); =20 - sram_name =3D g_strdup_printf("aspeed.dram.%d", - CPU(a->armv7m.cpu)->cpu_index); + /* SDRAM */ + name =3D g_strdup_printf("aspeed.sdram-container.%d", + CPU(a->armv7m.cpu)->cpu_index); =20 - if (!memory_region_init_ram(&s->sram, OBJECT(s), sram_name, sc->sram_s= ize, - errp)) { + if (!memory_region_init_ram(&s->dram_container, OBJECT(s), name, + AST2700_SSP_SDRAM_SIZE, errp)) { return; } memory_region_add_subregion(s->memory, - sc->memmap[ASPEED_DEV_SRAM], - &s->sram); + sc->memmap[ASPEED_DEV_SDRAM], + &s->dram_container); =20 /* SCU */ if (!sysbus_realize(SYS_BUS_DEVICE(&s->scu), errp)) { @@ -268,7 +269,6 @@ static void aspeed_soc_ast27x0ssp_class_init(ObjectClas= s *klass, const void *dat =20 sc->valid_cpu_types =3D valid_cpu_types; sc->silicon_rev =3D AST2700_A1_SILICON_REV; - sc->sram_size =3D AST2700_SSP_RAM_SIZE; sc->spis_num =3D 0; sc->ehcis_num =3D 0; sc->wdts_num =3D 0; --=20 2.43.0