From patchwork Sun Nov 30 21:45:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yixun Lan X-Patchwork-Id: 586 Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9FAC51C8626 for ; Sun, 30 Nov 2025 21:46:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=140.211.166.183 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764539169; cv=none; b=Tk/enGxzh7t2QIfSPQ69S2HrVz7WtdgAZW+A39WCJP2pedr5h8cD4AHkhNu8HTjZTpoSaHx8xSe5l+EqHD3croZxDbbIYRCsmr4DhZiL7+ZVoAVR3SaZNIBHgyzOJ7P4nPzs0KEfpYF/EzeE+0SITZrP0Cn3b48iW060xm+wT50= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764539169; c=relaxed/simple; bh=e5dHVI/8eF37WJICO2xuQOOJZarTeevn6U6aVuzrdvE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=twVQPk4yCOEh6UcFgYYd3Kfqk4ncjmT+CV5A28k1MylfiVV+2y7iVcQDTVVpYwGzmisPbvY/Vsq8GMZyWobMyFkGGcnxXj2BK4qkQUJt8OjP+uEGLh6SBuVIhliBikta+3cBOj3+jQNCwzgHq5LzVGLUWAdzjPdd5bh6AmysHXc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gentoo.org; spf=pass smtp.mailfrom=gentoo.org; arc=none smtp.client-ip=140.211.166.183 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gentoo.org Received: from ofovo.local (unknown [116.232.18.222]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: dlan) by smtp.gentoo.org (Postfix) with ESMTPSA id 4C69F340E31; Sun, 30 Nov 2025 21:46:04 +0000 (UTC) From: Yixun Lan Date: Sun, 30 Nov 2025 21:45:10 +0000 Subject: [PATCH v2 01/10] sunxi: sun60i: initial support for A733 SoC Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20251130-01-a733-soc-support-v2-1-18bdd4376fad@gentoo.org> References: <20251130-01-a733-soc-support-v2-0-18bdd4376fad@gentoo.org> In-Reply-To: <20251130-01-a733-soc-support-v2-0-18bdd4376fad@gentoo.org> To: u-boot@lists.denx.de Cc: linux-sunxi@lists.linux.dev, Andre Przywara , Jagan Teki , Tom Rini , Jernej Skrabec , Paul Kocialkowski , Samuel Holland , Yixun Lan X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=3959; i=dlan@gentoo.org; h=from:subject:message-id; bh=e5dHVI/8eF37WJICO2xuQOOJZarTeevn6U6aVuzrdvE=; b=owEBzQIy/ZANAwAKATGq6kdZTbvtAcsmYgBpLLr4qH4EuiK5ur/1KiE+oqhVkyiRNKzWohWS2 PSTELXZiMWJApMEAAEKAH0WIQS1urjJwxtxFWcCI9wxqupHWU277QUCaSy6+F8UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0QjVCQUI4QzlDMzF CNzExNTY3MDIyM0RDMzFBQUVBNDc1OTREQkJFRAAKCRAxqupHWU277eCiD/9Nlp2pE+wwTiCliD qrcbiXnGGiyhsesexaWMyWDDFyzCpwZ8KGY1ACdaowreTtd0/LcnggLpTWc3toylUnORX64pxmy jnkr1C04OrI3zwb9uZmsvsT7yB/e1JNsxMEGRoB4gjFbuNrcIJNmX5xhBPXMMFqyWttUxzkdxv7 3bG5QjGTxh0q/NReSApWwzZdRsmsq3BnzgB+Sc+g4i1Ouu9JAO2oOTK5ImJ4sBzFCjntqpTjS9Y KbNw+1nH/FGFHPozvO7iLDTUTHWVC/CZkRXo9V751nXkS31qLAJ/I/0iPKUbtliK2ak0D86QGaX BaJjXaKycASIxBx7xwITSKT4o/36xDN10QBMrvFcLUBrxkEGN64Fl/SjZE3tD4oKiUvRA1vEdU2 /RFtTVN/6kZwXmkX2ff39KXpMp1FjRxm9b6P+U4IKtk38jnlewMH/9Tt1tdOj/nyD23EdBm9VV1 w8u5KgX02qyrThhhzwRzuoEOq4uDWj+cu1My5tGKEyELxme14dIIfKSPZnnrNutkSxSWgjfEMIs TS7mkH3M3fNxYWYvdEI4SP510L5dmqJ/iTq/gVPEYEGaJvfXQ7fIrVtVg6RT4IHuHVYSG7iFvgz hC3CpxrN34BAjKHtR8Dcu0oAEYGAKK2ORkH55p+C/8cn6F+Mc04pezgxtkfLS3lUfykw== X-Developer-Key: i=dlan@gentoo.org; a=openpgp; fpr=50B03A1A5CBCD33576EF8CD7920C0DBCAABEFD55 Status: O Add basic support for Allwinner A733 SoC. - Include some basic register definitions - Introduce a new SUN60I A733 Kconfig option - Ssetup RVBAR register properly according to docs - Config max DDR size 16GB - Config SRAM 0x62000 for TF-A Signed-off-by: Yixun Lan --- Note, Address for TF-A can be altered to other value, for example, moving it to the DDR address space. The only requirement is that load and run address should be matched. --- arch/arm/mach-sunxi/Kconfig | 14 ++++++++++++++ arch/arm/mach-sunxi/cpu_info.c | 2 ++ include/configs/sun60i.h | 11 +++++++++++ 3 files changed, 27 insertions(+) diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig index e979ee4a2cc..e6b4ac3688b 100644 --- a/arch/arm/mach-sunxi/Kconfig +++ b/arch/arm/mach-sunxi/Kconfig @@ -215,6 +215,7 @@ config SUNXI_SRAM_ADDRESS hex default 0x10000 if MACH_SUN9I || MACH_SUN50I || MACH_SUN50I_H5 default 0x44000 if MACH_SUN55I_A523 + default 0x47000 if MACH_SUN60I_A733 default 0x20000 if SUN50I_GEN_H6 || SUNXI_GEN_NCAT2 default 0x0 ---help--- @@ -228,6 +229,7 @@ config SUNXI_RVBAR_ADDRESS depends on ARM64 default 0x08100040 if MACH_SUN50I_A133 default 0x08000040 if MACH_SUN55I_A523 + default 0x08001004 if MACH_SUN60I_A733 default 0x09010040 if SUN50I_GEN_H6 default 0x017000a0 ---help--- @@ -257,6 +259,7 @@ config SUNXI_BL31_BASE default 0x40000000 if MACH_SUN50I_H616 default 0x00104000 if SUN50I_GEN_H6 default 0x00054000 if MACH_SUN55I_A523 + default 0x00062000 if MACH_SUN60I_A733 default 0x0 help Address where BL31 (TF-A) is loaded, or zero if BL31 is not used. @@ -339,6 +342,7 @@ config MACH_SUNXI_H3_H5 config SUNXI_DRAM_MAX_SIZE hex default 0x100000000 if MACH_SUN50I_H616 || MACH_SUN50I_A133 || MACH_SUN55I_A523 + default 0x400000000 if MACH_SUN60I_A733 default 0xC0000000 if MACH_SUN50I || MACH_SUN50I_H5 || MACH_SUN50I_H6 default 0x80000000 @@ -553,6 +557,14 @@ config MACH_SUN55I_A523 select SPL_LOAD_FIT if SPL imply OF_UPSTREAM +config MACH_SUN60I_A733 + bool "sun60i (Allwinner A733)" + select ARM64 + select SUNXI_GEN_NCAT2 + select FIT + select SPL_LOAD_FIT if SPL + select SUPPORT_SPL + endchoice # The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33" @@ -870,6 +882,7 @@ config SYS_CONFIG_NAME default "sun50i" if MACH_SUN50I_H616 default "sun50i" if MACH_SUN50I_A133 default "sun55i" if MACH_SUN55I_A523 + default "sun60i" if MACH_SUN60I_A733 config SYS_BOARD default "sunxi" @@ -1186,6 +1199,7 @@ config SPL_STACK_R_ADDR default 0x4fe00000 if MACH_SUN50I default 0x4fe00000 if SUN50I_GEN_H6 default 0x4fe00000 if SUNXI_GEN_NCAT2 + default 0x4fe00000 if MACH_SUN60I_A733 config SPL_SPI_SUNXI bool "Support for SPI Flash on Allwinner SoCs in SPL" diff --git a/arch/arm/mach-sunxi/cpu_info.c b/arch/arm/mach-sunxi/cpu_info.c index c3a51d9956e..f0b33bb9097 100644 --- a/arch/arm/mach-sunxi/cpu_info.c +++ b/arch/arm/mach-sunxi/cpu_info.c @@ -108,6 +108,8 @@ int print_cpuinfo(void) puts("CPU: Allwinner A133 (SUN50I)\n"); #elif defined CONFIG_MACH_SUN55I_A523 puts("CPU: Allwinner A523 (SUN55I)\n"); +#elif defined CONFIG_MACH_SUN60I_A733 + puts("CPU: Allwinner A733 (SUN60I)\n"); #else #warning Please update cpu_info.c with correct CPU information puts("CPU: SUNXI Family\n"); diff --git a/include/configs/sun60i.h b/include/configs/sun60i.h new file mode 100644 index 00000000000..70649366c1c --- /dev/null +++ b/include/configs/sun60i.h @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Placeholder wrapper to allow addressing Allwinner devices with Cortex-A55 + * cores separately. Please do not add anything in here. + */ +#ifndef __CONFIG_H +#define __CONFIG_H + +#include + +#endif /* __CONFIG_H */