From 7b44a7f95beb2772dcf55939d801b05e6ab0a556 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Mon, 8 Jan 2024 22:18:37 +0000 Subject: [PATCH] 2024.01 --- ...-the-DT-provided-by-the-Raspberry-Pi.patch | 141 -- ...tch-to-OF_HAS_PRIOR_STAGE-by-default.patch | 154 ++ rpi5-initial-support.patch | 1910 +++++++++++++++++ sources | 2 +- uboot-tools.spec | 11 +- ...atic-management-for-removable-medias.patch | 154 +- 6 files changed, 2162 insertions(+), 210 deletions(-) delete mode 100644 rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch create mode 100644 rpi-Switch-to-OF_HAS_PRIOR_STAGE-by-default.patch create mode 100644 rpi5-initial-support.patch diff --git a/rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch b/rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch deleted file mode 100644 index fd032fe..0000000 --- a/rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch +++ /dev/null @@ -1,141 +0,0 @@ -From 52b75976133683dc9fe66e8ad35127125f938bed Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Tue, 28 Feb 2023 12:04:34 +0000 -Subject: [PATCH 2/2] rpi: Use OF_BOARD rather than OF_EMBED - -The use of OF_EMBED isn't recommended for standard use and the OF_BOARD -is actually a better fit for the Raspberry Pi as the prior firmware -provides a DT that can be used by U-Boot and the subsequent OS too, but -it still allows the loading of a DT from disk as well if users wish -to use the upstream kernel DT. - -Signed-off-by: Peter Robinson ---- - configs/rpi_0_w_defconfig | 2 +- - configs/rpi_2_defconfig | 2 +- - configs/rpi_3_32b_defconfig | 2 +- - configs/rpi_3_b_plus_defconfig | 2 +- - configs/rpi_3_defconfig | 2 +- - configs/rpi_4_32b_defconfig | 1 + - configs/rpi_4_defconfig | 1 + - configs/rpi_arm64_defconfig | 1 + - configs/rpi_defconfig | 2 +- - 9 files changed, 9 insertions(+), 6 deletions(-) - -diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig -index 5249b29d76c..8c217848ca2 100644 ---- a/configs/rpi_0_w_defconfig -+++ b/configs/rpi_0_w_defconfig -@@ -23,7 +23,7 @@ CONFIG_CMD_GPIO=y - CONFIG_CMD_MMC=y - CONFIG_CMD_USB=y - CONFIG_CMD_FS_UUID=y --CONFIG_OF_EMBED=y -+CONFIG_OF_BOARD=y - CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" - CONFIG_SYS_RELOC_GD_ENV_ADDR=y - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y -diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig -index 154284765f4..bfc5679fb7e 100644 ---- a/configs/rpi_2_defconfig -+++ b/configs/rpi_2_defconfig -@@ -24,7 +24,7 @@ CONFIG_CMD_GPIO=y - CONFIG_CMD_MMC=y - CONFIG_CMD_USB=y - CONFIG_CMD_FS_UUID=y --CONFIG_OF_EMBED=y -+CONFIG_OF_BOARD=y - CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" - CONFIG_SYS_RELOC_GD_ENV_ADDR=y - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y -diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig -index ef1f25d2ad7..54cdcee980a 100644 ---- a/configs/rpi_3_32b_defconfig -+++ b/configs/rpi_3_32b_defconfig -@@ -23,7 +23,7 @@ CONFIG_CMD_GPIO=y - CONFIG_CMD_MMC=y - CONFIG_CMD_USB=y - CONFIG_CMD_FS_UUID=y --CONFIG_OF_EMBED=y -+CONFIG_OF_BOARD=y - CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" - CONFIG_SYS_RELOC_GD_ENV_ADDR=y - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y -diff --git a/configs/rpi_3_b_plus_defconfig b/configs/rpi_3_b_plus_defconfig -index 154615d78a1..3008c7a1c18 100644 ---- a/configs/rpi_3_b_plus_defconfig -+++ b/configs/rpi_3_b_plus_defconfig -@@ -22,7 +22,7 @@ CONFIG_CMD_GPIO=y - CONFIG_CMD_MMC=y - CONFIG_CMD_USB=y - CONFIG_CMD_FS_UUID=y --CONFIG_OF_EMBED=y -+CONFIG_OF_BOARD=y - CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" - CONFIG_SYS_RELOC_GD_ENV_ADDR=y - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y -diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig -index f0cf7f8e236..f7b9108ba00 100644 ---- a/configs/rpi_3_defconfig -+++ b/configs/rpi_3_defconfig -@@ -22,7 +22,7 @@ CONFIG_CMD_GPIO=y - CONFIG_CMD_MMC=y - CONFIG_CMD_USB=y - CONFIG_CMD_FS_UUID=y --CONFIG_OF_EMBED=y -+CONFIG_OF_BOARD=y - CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" - CONFIG_SYS_RELOC_GD_ENV_ADDR=y - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y -diff --git a/configs/rpi_4_32b_defconfig b/configs/rpi_4_32b_defconfig -index 713b2ee231c..fa20ab767fe 100644 ---- a/configs/rpi_4_32b_defconfig -+++ b/configs/rpi_4_32b_defconfig -@@ -24,6 +24,7 @@ CONFIG_CMD_MMC=y - CONFIG_CMD_PCI=y - CONFIG_CMD_USB=y - CONFIG_CMD_FS_UUID=y -+CONFIG_OF_BOARD=y - CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" - CONFIG_SYS_RELOC_GD_ENV_ADDR=y - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y -diff --git a/configs/rpi_4_defconfig b/configs/rpi_4_defconfig -index 24f70b14fe8..741d4dbbbf4 100644 ---- a/configs/rpi_4_defconfig -+++ b/configs/rpi_4_defconfig -@@ -24,6 +24,7 @@ CONFIG_CMD_MMC=y - CONFIG_CMD_PCI=y - CONFIG_CMD_USB=y - CONFIG_CMD_FS_UUID=y -+CONFIG_OF_BOARD=y - CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" - CONFIG_SYS_RELOC_GD_ENV_ADDR=y - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y -diff --git a/configs/rpi_arm64_defconfig b/configs/rpi_arm64_defconfig -index 1d1ff12a58c..5e1195dd786 100644 ---- a/configs/rpi_arm64_defconfig -+++ b/configs/rpi_arm64_defconfig -@@ -23,6 +23,7 @@ CONFIG_CMD_MMC=y - CONFIG_CMD_PCI=y - CONFIG_CMD_USB=y - CONFIG_CMD_FS_UUID=y -+CONFIG_OF_BOARD=y - CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y - CONFIG_TFTP_TSIZE=y -diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig -index 28b92b14456..1504093eddf 100644 ---- a/configs/rpi_defconfig -+++ b/configs/rpi_defconfig -@@ -23,7 +23,7 @@ CONFIG_CMD_GPIO=y - CONFIG_CMD_MMC=y - CONFIG_CMD_USB=y - CONFIG_CMD_FS_UUID=y --CONFIG_OF_EMBED=y -+CONFIG_OF_BOARD=y - CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" - CONFIG_SYS_RELOC_GD_ENV_ADDR=y - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y --- -2.39.2 - diff --git a/rpi-Switch-to-OF_HAS_PRIOR_STAGE-by-default.patch b/rpi-Switch-to-OF_HAS_PRIOR_STAGE-by-default.patch new file mode 100644 index 0000000..9ac9512 --- /dev/null +++ b/rpi-Switch-to-OF_HAS_PRIOR_STAGE-by-default.patch @@ -0,0 +1,154 @@ +From 5aaa4c98be87eef370a0c50bf6d4ab7f9fcde886 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Mon, 8 Jan 2024 22:13:59 +0000 +Subject: [PATCH] rpi: Switch to OF_HAS_PRIOR_STAGE by default +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +On all Raspberry Pi platforms, we're loaded by a prior stage firmware +that has assembled and passed on a device tree binary for us to use. +Switch to using this tree by default. + +Signed-off-by: Peter Robinson +Cc: Matthias Brugger +Cc: Simon Glass +Cc: François Ozog +Signed-off-by: Tom Rini +Tested-by: Simon Glass +--- +To be clear, this is on top of current -next where I've applied v8 of +Simon's series that introduces OF_HAS_PRIOR_STAGE. + +I've only been able to test this on my Raspberry Pi 3 boards but this +should work everywhere. What may, or may not, be a problem is that +arch/arm/dts/bcm283x-u-boot.dtsi is never used now. On the other hand, +I believe this should stop the problems we have where changes made to +the device tree via config.txt or similar aren't reflected when booting +U-Boot or Linux since we will be using that tree for certain now. +--- + arch/arm/Kconfig | 1 + + arch/arm/mach-bcm283x/Kconfig | 3 --- + configs/rpi_0_w_defconfig | 1 - + configs/rpi_2_defconfig | 1 - + configs/rpi_3_32b_defconfig | 1 - + configs/rpi_3_b_plus_defconfig | 1 - + configs/rpi_3_defconfig | 1 - + configs/rpi_defconfig | 1 - + 8 files changed, 1 insertion(+), 9 deletions(-) + +diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig +index 1fd7aacc380..33bbe7b4898 100644 +--- a/arch/arm/Kconfig ++++ b/arch/arm/Kconfig +@@ -645,6 +645,7 @@ config ARCH_BCM283X + select SERIAL_SEARCH_ALL + imply CMD_DM + imply FAT_WRITE ++ imply OF_HAS_PRIOR_STAGE + + config ARCH_BCMSTB + bool "Broadcom BCM7XXX family" +diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig +index 6ce278c6d29..b3287ce8bce 100644 +--- a/arch/arm/mach-bcm283x/Kconfig ++++ b/arch/arm/mach-bcm283x/Kconfig +@@ -163,7 +163,6 @@ config TARGET_RPI_4_32B + + This option creates a build targeting the ARMv7/AArch32 ISA. + select BCM2711_32B +- imply OF_HAS_PRIOR_STAGE + + config TARGET_RPI_4 + bool "Raspberry Pi 4 64-bit build" +@@ -189,7 +188,6 @@ config TARGET_RPI_4 + + This option creates a build targeting the ARMv8/AArch64 ISA. + select BCM2711_64B +- imply OF_HAS_PRIOR_STAGE + + config TARGET_RPI_ARM64 + bool "Raspberry Pi one binary 64-bit build" +@@ -197,7 +195,6 @@ config TARGET_RPI_ARM64 + Support for all armv8 based Raspberry Pi variants, such as + the RPi 4 model B, in AArch64 (64-bit) mode. + select ARM64 +- imply OF_HAS_PRIOR_STAGE + + endchoice + +diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig +index bed143d64d6..98f8904c918 100644 +--- a/configs/rpi_0_w_defconfig ++++ b/configs/rpi_0_w_defconfig +@@ -24,7 +24,6 @@ CONFIG_CMD_GPIO=y + CONFIG_CMD_MMC=y + CONFIG_CMD_USB=y + CONFIG_CMD_FS_UUID=y +-CONFIG_OF_EMBED=y + CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +diff --git a/configs/rpi_2_defconfig b/configs/rpi_2_defconfig +index e4e4843e8cd..1b8676e1d10 100644 +--- a/configs/rpi_2_defconfig ++++ b/configs/rpi_2_defconfig +@@ -25,7 +25,6 @@ CONFIG_CMD_GPIO=y + CONFIG_CMD_MMC=y + CONFIG_CMD_USB=y + CONFIG_CMD_FS_UUID=y +-CONFIG_OF_EMBED=y + CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +diff --git a/configs/rpi_3_32b_defconfig b/configs/rpi_3_32b_defconfig +index 215396599e4..abc10a79ada 100644 +--- a/configs/rpi_3_32b_defconfig ++++ b/configs/rpi_3_32b_defconfig +@@ -24,7 +24,6 @@ CONFIG_CMD_GPIO=y + CONFIG_CMD_MMC=y + CONFIG_CMD_USB=y + CONFIG_CMD_FS_UUID=y +-CONFIG_OF_EMBED=y + CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +diff --git a/configs/rpi_3_b_plus_defconfig b/configs/rpi_3_b_plus_defconfig +index d1ec55e558a..3c8f8fc1bb7 100644 +--- a/configs/rpi_3_b_plus_defconfig ++++ b/configs/rpi_3_b_plus_defconfig +@@ -23,7 +23,6 @@ CONFIG_CMD_GPIO=y + CONFIG_CMD_MMC=y + CONFIG_CMD_USB=y + CONFIG_CMD_FS_UUID=y +-CONFIG_OF_EMBED=y + CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +diff --git a/configs/rpi_3_defconfig b/configs/rpi_3_defconfig +index 8e9c35b3cef..9853c448809 100644 +--- a/configs/rpi_3_defconfig ++++ b/configs/rpi_3_defconfig +@@ -23,7 +23,6 @@ CONFIG_CMD_GPIO=y + CONFIG_CMD_MMC=y + CONFIG_CMD_USB=y + CONFIG_CMD_FS_UUID=y +-CONFIG_OF_EMBED=y + CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +diff --git a/configs/rpi_defconfig b/configs/rpi_defconfig +index 89d6372c1de..060a8809506 100644 +--- a/configs/rpi_defconfig ++++ b/configs/rpi_defconfig +@@ -24,7 +24,6 @@ CONFIG_CMD_GPIO=y + CONFIG_CMD_MMC=y + CONFIG_CMD_USB=y + CONFIG_CMD_FS_UUID=y +-CONFIG_OF_EMBED=y + CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" + CONFIG_SYS_RELOC_GD_ENV_ADDR=y + CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y +-- +2.43.0 + diff --git a/rpi5-initial-support.patch b/rpi5-initial-support.patch new file mode 100644 index 0000000..4a79f31 --- /dev/null +++ b/rpi5-initial-support.patch @@ -0,0 +1,1910 @@ +From patchwork Mon Dec 18 21:03:35 2023 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: "Ivan T. Ivanov" +X-Patchwork-Id: 1877649 +X-Patchwork-Delegate: pbrobinson@gmail.com +Return-Path: +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@legolas.ozlabs.org +Authentication-Results: legolas.ozlabs.org; + dkim=pass (1024-bit key; + unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 + header.s=susede2_rsa header.b=frMNX+46; + dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 + header.s=susede2_ed25519 header.b=IseK5QVE; + dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de + header.a=rsa-sha256 header.s=susede2_rsa header.b=1pz5pvm/; + dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 + header.s=susede2_ed25519 header.b=fIckdee4; + dkim-atps=neutral +Authentication-Results: legolas.ozlabs.org; + spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de + (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; + envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) +Received: from phobos.denx.de (phobos.denx.de + [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) + key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) + (No client certificate requested) + by legolas.ozlabs.org (Postfix) with ESMTPS id 4SvC455lk9z1ydc + for ; Tue, 19 Dec 2023 08:04:05 +1100 (AEDT) +Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) + by phobos.denx.de (Postfix) with ESMTP id 92DDD8753C; + Mon, 18 Dec 2023 22:03:54 +0100 (CET) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=suse.de +Authentication-Results: phobos.denx.de; + spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de +Authentication-Results: phobos.denx.de; + dkim=pass (1024-bit key; + unprotected) header.d=suse.de header.i=@suse.de header.b="frMNX+46"; + dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de + header.b="IseK5QVE"; + dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de + header.b="1pz5pvm/"; + dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de + header.b="fIckdee4"; + dkim-atps=neutral +Received: by phobos.denx.de (Postfix, from userid 109) + id 95A7F87525; Mon, 18 Dec 2023 22:03:53 +0100 (CET) +X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de +X-Spam-Level: +X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, + DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, + T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no + version=3.4.2 +Received: from smtp-out1.suse.de (smtp-out1.suse.de + [IPv6:2a07:de40:b251:101:10:150:64:1]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) + (No client certificate requested) + by phobos.denx.de (Postfix) with ESMTPS id 0B37B87530 + for ; Mon, 18 Dec 2023 22:03:51 +0100 (CET) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=suse.de +Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=iivanov@suse.de +Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org + [10.150.64.97]) + (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) + by smtp-out1.suse.de (Postfix) with ESMTPS id 6EE4F2228D; + Mon, 18 Dec 2023 21:03:49 +0000 (UTC) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_rsa; + t=1702933430; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=KH3AWH4E2OZnkKkgKspHqUQ687KHDd+TcmlhsjT4WMY=; + b=frMNX+46FgFSdyN24UT7Y4WdFDJKcOxcjH0HyyTrZsMcayuXoLtERkmRllSmLu8aRAoWOI + dzM9aX7eK9EHwuozUVijinsJ6wKpvqwxEx0Kdnj3wKPjAS3KTXGwfYiuZeO5wmbGRytEXd + p252vWhSG5L4UgaWil84yA4iM0KqiPs= +DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_ed25519; t=1702933430; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=KH3AWH4E2OZnkKkgKspHqUQ687KHDd+TcmlhsjT4WMY=; + b=IseK5QVEh+KCaimaGVOvt6lv9A9n/uQ/xO6kky5hugt4tubeSnhwGXuCjHTIEZhYi9auSr + Q6h6Mb/o4bd7u1CQ== +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_rsa; + t=1702933429; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=KH3AWH4E2OZnkKkgKspHqUQ687KHDd+TcmlhsjT4WMY=; + b=1pz5pvm/SI3fxjKAlUcM+pRnK+NKLVbl/0Kj+UUQ/R29Irq4CDjfgTyaU0/DIXgn3x7Ttl + 2U7+per0J38TYiYHjQSDlrdPq4CwSFX2IEFS6sA5jx41ySG3RgO51Hh5GXKFh/WDUjcsn6 + ZPLcQCP31JjxHhULkzjaYLVYE2rQuXE= +DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_ed25519; t=1702933429; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=KH3AWH4E2OZnkKkgKspHqUQ687KHDd+TcmlhsjT4WMY=; + b=fIckdee4Yc6Iut7CdcyZnDHxDW58F+dY46W7JLg6y7iXnfDkSc0DETyb97S3ngS7GdF3OQ + HPy/QFdHWA8p8cBw== +Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) + (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) + by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id D359F13C92; + Mon, 18 Dec 2023 21:03:48 +0000 (UTC) +Received: from dovecot-director2.suse.de ([10.150.64.162]) + by imap1.dmz-prg2.suse.org with ESMTPSA id 4CUUMbSzgGUtZAAAD6G6ig + (envelope-from ); Mon, 18 Dec 2023 21:03:48 +0000 +From: "Ivan T. Ivanov" +To: Matthias Brugger , + Peter Robinson +Cc: Dmitry Malkin , + Thomas Fitzsimmons , Peng Fan , + Jaehoon Chung , Anatolij Gustschin , + wahrenst@gmx.net, florian.fainelli@broadcom.com, u-boot@lists.denx.de, + "Ivan T . Ivanov" +Subject: [PATCH v3 1/7] rpi5: add initial memory map for bcm2712 +Date: Mon, 18 Dec 2023 23:03:35 +0200 +Message-ID: <20231218210341.30073-2-iivanov@suse.de> +X-Mailer: git-send-email 2.43.0 +In-Reply-To: <20231218210341.30073-1-iivanov@suse.de> +References: <20231218210341.30073-1-iivanov@suse.de> +MIME-Version: 1.0 +Authentication-Results: smtp-out1.suse.de; + none +X-Spamd-Result: default: False [0.70 / 50.00]; ARC_NA(0.00)[]; + RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; + TO_DN_SOME(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.net]; + R_MISSING_CHARSET(2.50)[]; MIME_GOOD(-0.10)[text/plain]; + TO_MATCH_ENVRCPT_ALL(0.00)[]; BROKEN_CONTENT_TYPE(1.50)[]; + NEURAL_HAM_LONG(-1.00)[-1.000]; RCVD_COUNT_THREE(0.00)[3]; + DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; + NEURAL_HAM_SHORT(-0.20)[-1.000]; RCPT_COUNT_SEVEN(0.00)[11]; + MID_CONTAINS_FROM(1.00)[]; + DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email,bedrocksystems.com:email]; + FREEMAIL_TO(0.00)[suse.com,gmail.com]; + FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; + MIME_TRACE(0.00)[0:+]; + FREEMAIL_CC(0.00)[bedrocksystems.com,fitzsim.org,nxp.com,samsung.com,denx.de,gmx.net,broadcom.com,lists.denx.de,suse.de]; + RCVD_TLS_ALL(0.00)[]; BAYES_HAM(-3.00)[100.00%] +X-BeenThere: u-boot@lists.denx.de +X-Mailman-Version: 2.1.39 +Precedence: list +List-Id: U-Boot discussion +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Errors-To: u-boot-bounces@lists.denx.de +Sender: "U-Boot" +X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de +X-Virus-Status: Clean + +From: Dmitry Malkin + +includes: +* 1GB of RAM (from 4GB or 8GB total) +* VPU memory interface +* AXI ranges (main peripherals) + +Signed-off-by: Dmitry Malkin +Signed-off-by: Ivan T. Ivanov +--- + arch/arm/mach-bcm283x/init.c | 38 +++++++++++++++++++++++++++++++++++- + 1 file changed, 37 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/mach-bcm283x/init.c b/arch/arm/mach-bcm283x/init.c +index 7265faf6ce..af23b9711a 100644 +--- a/arch/arm/mach-bcm283x/init.c ++++ b/arch/arm/mach-bcm283x/init.c +@@ -19,7 +19,7 @@ + #ifdef CONFIG_ARM64 + #include + +-#define MEM_MAP_MAX_ENTRIES (4) ++#define MEM_MAP_MAX_ENTRIES (5) + + static struct mm_region bcm283x_mem_map[MEM_MAP_MAX_ENTRIES] = { + { +@@ -68,6 +68,41 @@ static struct mm_region bcm2711_mem_map[MEM_MAP_MAX_ENTRIES] = { + } + }; + ++static struct mm_region bcm2712_mem_map[MEM_MAP_MAX_ENTRIES] = { ++ { ++ .virt = 0x00000000UL, ++ .phys = 0x00000000UL, ++ .size = 0x3f800000UL, ++ .attrs = PTE_BLOCK_MEMTYPE(MT_NORMAL) | ++ PTE_BLOCK_INNER_SHARE ++ }, { ++ .virt = 0x3f800000UL, ++ .phys = 0x3f800000UL, ++ .size = 0x00800000UL, ++ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | ++ PTE_BLOCK_NON_SHARE | ++ PTE_BLOCK_PXN | PTE_BLOCK_UXN ++ }, { ++ /* Beginning of AXI bus where uSD controller lives */ ++ .virt = 0x1000000000UL, ++ .phys = 0x1000000000UL, ++ .size = 0x0002000000UL, ++ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | ++ PTE_BLOCK_NON_SHARE | ++ PTE_BLOCK_PXN | PTE_BLOCK_UXN ++ }, { ++ .virt = 0x107c000000UL, ++ .phys = 0x107c000000UL, ++ .size = 0x0004000000UL, ++ .attrs = PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | ++ PTE_BLOCK_NON_SHARE | ++ PTE_BLOCK_PXN | PTE_BLOCK_UXN ++ }, { ++ /* List terminator */ ++ 0, ++ } ++}; ++ + struct mm_region *mem_map = bcm283x_mem_map; + + /* +@@ -78,6 +113,7 @@ static const struct udevice_id board_ids[] = { + { .compatible = "brcm,bcm2837", .data = (ulong)&bcm283x_mem_map}, + { .compatible = "brcm,bcm2838", .data = (ulong)&bcm2711_mem_map}, + { .compatible = "brcm,bcm2711", .data = (ulong)&bcm2711_mem_map}, ++ { .compatible = "brcm,bcm2712", .data = (ulong)&bcm2712_mem_map}, + { }, + }; + + +From patchwork Mon Dec 18 21:03:36 2023 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: "Ivan T. Ivanov" +X-Patchwork-Id: 1877650 +X-Patchwork-Delegate: pbrobinson@gmail.com +Return-Path: +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@legolas.ozlabs.org +Authentication-Results: legolas.ozlabs.org; + dkim=pass (1024-bit key; + unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 + header.s=susede2_rsa header.b=v1KGWKJg; + dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 + header.s=susede2_ed25519 header.b=fFiq02vw; + dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de + header.a=rsa-sha256 header.s=susede2_rsa header.b=v1KGWKJg; + dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 + header.s=susede2_ed25519 header.b=fFiq02vw; + dkim-atps=neutral +Authentication-Results: legolas.ozlabs.org; + spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de + (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; + envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) +Received: from phobos.denx.de (phobos.denx.de + [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) + key-exchange X25519 server-signature ECDSA (secp384r1)) + (No client certificate requested) + by legolas.ozlabs.org (Postfix) with ESMTPS id 4SvC4H2hzjz1ydc + for ; Tue, 19 Dec 2023 08:04:15 +1100 (AEDT) +Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) + by phobos.denx.de (Postfix) with ESMTP id C85A08758C; + Mon, 18 Dec 2023 22:03:57 +0100 (CET) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=suse.de +Authentication-Results: phobos.denx.de; + spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de +Authentication-Results: phobos.denx.de; + dkim=pass (1024-bit key; + unprotected) header.d=suse.de header.i=@suse.de header.b="v1KGWKJg"; + dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de + header.b="fFiq02vw"; + dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de + header.b="v1KGWKJg"; + dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de + header.b="fFiq02vw"; + dkim-atps=neutral +Received: by phobos.denx.de (Postfix, from userid 109) + id 6F50F87530; Mon, 18 Dec 2023 22:03:54 +0100 (CET) +X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de +X-Spam-Level: +X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, + DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, + T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no + version=3.4.2 +Received: from smtp-out2.suse.de (smtp-out2.suse.de + [IPv6:2a07:de40:b251:101:10:150:64:2]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) + (No client certificate requested) + by phobos.denx.de (Postfix) with ESMTPS id 199488753C + for ; Mon, 18 Dec 2023 22:03:51 +0100 (CET) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=suse.de +Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=iivanov@suse.de +Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org + [10.150.64.97]) + (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) + by smtp-out2.suse.de (Postfix) with ESMTPS id 1AC1A1F46E; + Mon, 18 Dec 2023 21:03:50 +0000 (UTC) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_rsa; + t=1702933430; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=sHJ8RNAoNPDg1bwvhFF8CpHTHHBRfcz53X69wMjqM8s=; + b=v1KGWKJgJttai7C79qIEMd/XpNIgzFqndAnylh2LCSBCYnAQmHcbTcoqWFl1mbR0bCIJ2B + nnbHB6CW+/Ja2oUD0wavAmzqzhQ+ANsN8FLZ+RC4p4W0fnMs6Yz9lMDf8ozKecEdna61Q6 + 2SnPjyXAogWLFBBDalRvdzUIOIWe3Tc= +DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_ed25519; t=1702933430; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=sHJ8RNAoNPDg1bwvhFF8CpHTHHBRfcz53X69wMjqM8s=; + b=fFiq02vw2EIwrIbp2ltl5amzeQZi9NS1k/nH07K65OVAZc8eRyKu/vHbdjX58887t//OZ/ + 6LuVBS0afgkEbWCg== +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_rsa; + t=1702933430; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=sHJ8RNAoNPDg1bwvhFF8CpHTHHBRfcz53X69wMjqM8s=; + b=v1KGWKJgJttai7C79qIEMd/XpNIgzFqndAnylh2LCSBCYnAQmHcbTcoqWFl1mbR0bCIJ2B + nnbHB6CW+/Ja2oUD0wavAmzqzhQ+ANsN8FLZ+RC4p4W0fnMs6Yz9lMDf8ozKecEdna61Q6 + 2SnPjyXAogWLFBBDalRvdzUIOIWe3Tc= +DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_ed25519; t=1702933430; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=sHJ8RNAoNPDg1bwvhFF8CpHTHHBRfcz53X69wMjqM8s=; + b=fFiq02vw2EIwrIbp2ltl5amzeQZi9NS1k/nH07K65OVAZc8eRyKu/vHbdjX58887t//OZ/ + 6LuVBS0afgkEbWCg== +Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) + (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) + by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 7FCBC133E5; + Mon, 18 Dec 2023 21:03:49 +0000 (UTC) +Received: from dovecot-director2.suse.de ([10.150.64.162]) + by imap1.dmz-prg2.suse.org with ESMTPSA id AH+lHLWzgGUtZAAAD6G6ig + (envelope-from ); Mon, 18 Dec 2023 21:03:49 +0000 +From: "Ivan T. Ivanov" +To: Matthias Brugger , + Peter Robinson +Cc: Dmitry Malkin , + Thomas Fitzsimmons , Peng Fan , + Jaehoon Chung , Anatolij Gustschin , + wahrenst@gmx.net, florian.fainelli@broadcom.com, u-boot@lists.denx.de, + "Ivan T . Ivanov" +Subject: [PATCH v3 2/7] rpi5: Use devicetree as alternative way to read IO + base addresses +Date: Mon, 18 Dec 2023 23:03:36 +0200 +Message-ID: <20231218210341.30073-3-iivanov@suse.de> +X-Mailer: git-send-email 2.43.0 +In-Reply-To: <20231218210341.30073-1-iivanov@suse.de> +References: <20231218210341.30073-1-iivanov@suse.de> +MIME-Version: 1.0 +X-Spamd-Result: default: False [10.00 / 50.00]; ARC_NA(0.00)[]; + RCVD_VIA_SMTP_AUTH(0.00)[]; BAYES_SPAM(5.10)[100.00%]; + FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; + FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.net]; + R_MISSING_CHARSET(2.50)[]; MIME_GOOD(-0.10)[text/plain]; + TO_MATCH_ENVRCPT_ALL(0.00)[]; BROKEN_CONTENT_TYPE(1.50)[]; + RCVD_COUNT_THREE(0.00)[3]; + DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; + RCPT_COUNT_SEVEN(0.00)[11]; MID_CONTAINS_FROM(1.00)[]; + DBL_BLOCKED_OPENRESOLVER(0.00)[bedrocksystems.com:email,suse.de:email]; + FREEMAIL_TO(0.00)[suse.com,gmail.com]; + FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; + MIME_TRACE(0.00)[0:+]; + FREEMAIL_CC(0.00)[bedrocksystems.com,fitzsim.org,nxp.com,samsung.com,denx.de,gmx.net,broadcom.com,lists.denx.de,suse.de]; + RCVD_TLS_ALL(0.00)[] +Authentication-Results: smtp-out2.suse.de; + none +X-BeenThere: u-boot@lists.denx.de +X-Mailman-Version: 2.1.39 +Precedence: list +List-Id: U-Boot discussion +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Errors-To: u-boot-bounces@lists.denx.de +Sender: "U-Boot" +X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de +X-Virus-Status: Clean + +From: Dmitry Malkin + +MBOX and Watchdog on RPi5/bcm2712 has a different base IO offsets. +Find them via devicetree blob passed by bootloader. + +Signed-off-by: Dmitry Malkin +Signed-off-by: Ivan T. Ivanov +--- + arch/arm/mach-bcm283x/include/mach/base.h | 5 ++- + arch/arm/mach-bcm283x/include/mach/mbox.h | 3 +- + arch/arm/mach-bcm283x/include/mach/sdhci.h | 3 +- + arch/arm/mach-bcm283x/include/mach/timer.h | 3 +- + arch/arm/mach-bcm283x/include/mach/wdog.h | 3 +- + arch/arm/mach-bcm283x/init.c | 43 ++++++++++++++++++---- + 6 files changed, 43 insertions(+), 17 deletions(-) + +diff --git a/arch/arm/mach-bcm283x/include/mach/base.h b/arch/arm/mach-bcm283x/include/mach/base.h +index 4ccaf69693..6de99e7ea1 100644 +--- a/arch/arm/mach-bcm283x/include/mach/base.h ++++ b/arch/arm/mach-bcm283x/include/mach/base.h +@@ -6,7 +6,10 @@ + #ifndef _BCM283x_BASE_H_ + #define _BCM283x_BASE_H_ + +-extern unsigned long rpi_bcm283x_base; ++extern unsigned long rpi_mbox_base; ++extern unsigned long rpi_timer_base; ++extern unsigned long rpi_sdhci_base; ++extern unsigned long rpi_wdog_base; + + #ifdef CONFIG_ARMV7_LPAE + #ifdef CONFIG_TARGET_RPI_4_32B +diff --git a/arch/arm/mach-bcm283x/include/mach/mbox.h b/arch/arm/mach-bcm283x/include/mach/mbox.h +index 490664f878..35d4e2f075 100644 +--- a/arch/arm/mach-bcm283x/include/mach/mbox.h ++++ b/arch/arm/mach-bcm283x/include/mach/mbox.h +@@ -38,8 +38,7 @@ + + /* Raw mailbox HW */ + +-#define BCM2835_MBOX_PHYSADDR ({ BUG_ON(!rpi_bcm283x_base); \ +- rpi_bcm283x_base + 0x0000b880; }) ++#define BCM2835_MBOX_PHYSADDR rpi_mbox_base + + struct bcm2835_mbox_regs { + u32 read; +diff --git a/arch/arm/mach-bcm283x/include/mach/sdhci.h b/arch/arm/mach-bcm283x/include/mach/sdhci.h +index 7323690687..e837c679c4 100644 +--- a/arch/arm/mach-bcm283x/include/mach/sdhci.h ++++ b/arch/arm/mach-bcm283x/include/mach/sdhci.h +@@ -8,8 +8,7 @@ + + #include + +-#define BCM2835_SDHCI_PHYSADDR ({ BUG_ON(!rpi_bcm283x_base); \ +- rpi_bcm283x_base + 0x00300000; }) ++#define BCM2835_SDHCI_PHYSADDR rpi_sdhci_base + + int bcm2835_sdhci_init(u32 regbase, u32 emmc_freq); + +diff --git a/arch/arm/mach-bcm283x/include/mach/timer.h b/arch/arm/mach-bcm283x/include/mach/timer.h +index 5567dbd7f3..60500a256d 100644 +--- a/arch/arm/mach-bcm283x/include/mach/timer.h ++++ b/arch/arm/mach-bcm283x/include/mach/timer.h +@@ -11,8 +11,7 @@ + #include + #endif + +-#define BCM2835_TIMER_PHYSADDR ({ BUG_ON(!rpi_bcm283x_base); \ +- rpi_bcm283x_base + 0x00003000; }) ++#define BCM2835_TIMER_PHYSADDR rpi_timer_base + + #define BCM2835_TIMER_CS_M3 (1 << 3) + #define BCM2835_TIMER_CS_M2 (1 << 2) +diff --git a/arch/arm/mach-bcm283x/include/mach/wdog.h b/arch/arm/mach-bcm283x/include/mach/wdog.h +index 9942666720..b950560674 100644 +--- a/arch/arm/mach-bcm283x/include/mach/wdog.h ++++ b/arch/arm/mach-bcm283x/include/mach/wdog.h +@@ -8,8 +8,7 @@ + + #include + +-#define BCM2835_WDOG_PHYSADDR ({ BUG_ON(!rpi_bcm283x_base); \ +- rpi_bcm283x_base + 0x00100000; }) ++#define BCM2835_WDOG_PHYSADDR rpi_wdog_base + + struct bcm2835_wdog_regs { + u32 unknown0[7]; +diff --git a/arch/arm/mach-bcm283x/init.c b/arch/arm/mach-bcm283x/init.c +index af23b9711a..1c5c748484 100644 +--- a/arch/arm/mach-bcm283x/init.c ++++ b/arch/arm/mach-bcm283x/init.c +@@ -151,7 +151,11 @@ static void rpi_update_mem_map(void) + static void rpi_update_mem_map(void) {} + #endif + +-unsigned long rpi_bcm283x_base = 0x3f000000; ++/* Default bcm283x devices addresses */ ++unsigned long rpi_mbox_base = 0x3f00b880; ++unsigned long rpi_sdhci_base = 0x3f300000; ++unsigned long rpi_wdog_base = 0x3f100000; ++unsigned long rpi_timer_base = 0x3f003000; + + int arch_cpu_init(void) + { +@@ -162,22 +166,45 @@ int arch_cpu_init(void) + + int mach_cpu_init(void) + { +- int ret, soc_offset; ++ int ret, soc, offset; + u64 io_base, size; + + rpi_update_mem_map(); + + /* Get IO base from device tree */ +- soc_offset = fdt_path_offset(gd->fdt_blob, "/soc"); +- if (soc_offset < 0) +- return soc_offset; ++ soc = fdt_path_offset(gd->fdt_blob, "/soc"); ++ if (soc < 0) ++ return soc; + +- ret = fdt_read_range((void *)gd->fdt_blob, soc_offset, 0, NULL, +- &io_base, &size); ++ ret = fdt_read_range((void *)gd->fdt_blob, soc, 0, NULL, ++ &io_base, &size); + if (ret) + return ret; + +- rpi_bcm283x_base = io_base; ++ rpi_mbox_base = io_base + 0x00b880; ++ rpi_sdhci_base = io_base + 0x300000; ++ rpi_wdog_base = io_base + 0x100000; ++ rpi_timer_base = io_base + 0x003000; ++ ++ offset = fdt_node_offset_by_compatible(gd->fdt_blob, soc, ++ "brcm,bcm2835-mbox"); ++ if (offset > soc) ++ rpi_mbox_base = fdt_get_base_address(gd->fdt_blob, offset); ++ ++ offset = fdt_node_offset_by_compatible(gd->fdt_blob, soc, ++ "brcm,bcm2835-sdhci"); ++ if (offset > soc) ++ rpi_sdhci_base = fdt_get_base_address(gd->fdt_blob, offset); ++ ++ offset = fdt_node_offset_by_compatible(gd->fdt_blob, soc, ++ "brcm,bcm2835-system-timer"); ++ if (offset > soc) ++ rpi_timer_base = fdt_get_base_address(gd->fdt_blob, offset); ++ ++ offset = fdt_node_offset_by_compatible(gd->fdt_blob, soc, ++ "brcm,bcm2712-pm"); ++ if (offset > soc) ++ rpi_wdog_base = fdt_get_base_address(gd->fdt_blob, offset); + + return 0; + } + +From patchwork Mon Dec 18 21:03:37 2023 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: "Ivan T. Ivanov" +X-Patchwork-Id: 1877652 +X-Patchwork-Delegate: pbrobinson@gmail.com +Return-Path: +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@legolas.ozlabs.org +Authentication-Results: legolas.ozlabs.org; + dkim=pass (1024-bit key; + unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 + header.s=susede2_rsa header.b=MuifTv9w; + dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 + header.s=susede2_ed25519 header.b=J2WonmZQ; + dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de + header.a=rsa-sha256 header.s=susede2_rsa header.b=driIaEaW; + dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 + header.s=susede2_ed25519 header.b=ENBj4l6/; + dkim-atps=neutral +Authentication-Results: legolas.ozlabs.org; + spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de + (client-ip=85.214.62.61; helo=phobos.denx.de; + envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) +Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) + key-exchange X25519 server-signature ECDSA (secp384r1)) + (No client certificate requested) + by legolas.ozlabs.org (Postfix) with ESMTPS id 4SvC4h1PpHz1ydc + for ; Tue, 19 Dec 2023 08:04:36 +1100 (AEDT) +Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) + by phobos.denx.de (Postfix) with ESMTP id BC5CE87656; + Mon, 18 Dec 2023 22:03:58 +0100 (CET) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=suse.de +Authentication-Results: phobos.denx.de; + spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de +Authentication-Results: phobos.denx.de; + dkim=pass (1024-bit key; + unprotected) header.d=suse.de header.i=@suse.de header.b="MuifTv9w"; + dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de + header.b="J2WonmZQ"; + dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de + header.b="driIaEaW"; + dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de + header.b="ENBj4l6/"; + dkim-atps=neutral +Received: by phobos.denx.de (Postfix, from userid 109) + id 24B3087578; Mon, 18 Dec 2023 22:03:57 +0100 (CET) +X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de +X-Spam-Level: +X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, + DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, + T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 +Received: from smtp-out1.suse.de (smtp-out1.suse.de + [IPv6:2a07:de40:b251:101:10:150:64:1]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) + (No client certificate requested) + by phobos.denx.de (Postfix) with ESMTPS id 34BC9875A0 + for ; Mon, 18 Dec 2023 22:03:52 +0100 (CET) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=suse.de +Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=iivanov@suse.de +Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org + [10.150.64.97]) + (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) + by smtp-out1.suse.de (Postfix) with ESMTPS id B98772226F; + Mon, 18 Dec 2023 21:03:50 +0000 (UTC) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_rsa; + t=1702933431; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=fHScQy8dlQ4zBcmmXyg7xTO2N+HoZRyPs/mSsXUaidA=; + b=MuifTv9wBEOLgWscWoGcXg+RGB8+btC5sRFciLLURyCkDcUQuguKCF0MB5CUHbvIFDKQTs + 3cu6hcIxZ1sJPOhJYAQlW90dBLsORX0sI25Eq4VgPGCsldwfrQ6KFwJmGJHKAf1t3bAtsp + bXmOjkuzkGiYTERqgRtFHlM+jbjtULk= +DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_ed25519; t=1702933431; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=fHScQy8dlQ4zBcmmXyg7xTO2N+HoZRyPs/mSsXUaidA=; + b=J2WonmZQu47jTWrv+1hYLdw1tZ+mNBDcST4N3FHxlTW7EY6hSg3i0FkVDYqumfQMZdddMp + jagUtFA6k1hguwCQ== +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_rsa; + t=1702933430; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=fHScQy8dlQ4zBcmmXyg7xTO2N+HoZRyPs/mSsXUaidA=; + b=driIaEaWsaR+g9AcK8SGiaVWp2t8QtO7GFM918C1n2Mg0Ag01KOyoFkVXAvjXENou/caP6 + mszp+EvY1mp+ZR5gwQMkbkHBxQ10VWiFHcSdpA6ZicAD8PbXnb4DO5mEFRyVbxDu6b9fHp + mNp6oBcymc5k4gJFdfomnV1ubqgcp38= +DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_ed25519; t=1702933430; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=fHScQy8dlQ4zBcmmXyg7xTO2N+HoZRyPs/mSsXUaidA=; + b=ENBj4l6/3jkDUxi4yY5WR8ECQN9jENKPjLTTKM7yT4ET1rZJ3jbU297szl97aZN4oQ41A9 + z8StT2qNvcfjYQCA== +Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) + (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) + by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 2AC2D13C93; + Mon, 18 Dec 2023 21:03:50 +0000 (UTC) +Received: from dovecot-director2.suse.de ([10.150.64.162]) + by imap1.dmz-prg2.suse.org with ESMTPSA id EE/zB7azgGUtZAAAD6G6ig + (envelope-from ); Mon, 18 Dec 2023 21:03:50 +0000 +From: "Ivan T. Ivanov" +To: Matthias Brugger , + Peter Robinson +Cc: Dmitry Malkin , + Thomas Fitzsimmons , Peng Fan , + Jaehoon Chung , Anatolij Gustschin , + wahrenst@gmx.net, florian.fainelli@broadcom.com, u-boot@lists.denx.de, + "Ivan T. Ivanov" +Subject: [PATCH v3 3/7] rpi5: Use devicetree to retrieve board revision +Date: Mon, 18 Dec 2023 23:03:37 +0200 +Message-ID: <20231218210341.30073-4-iivanov@suse.de> +X-Mailer: git-send-email 2.43.0 +In-Reply-To: <20231218210341.30073-1-iivanov@suse.de> +References: <20231218210341.30073-1-iivanov@suse.de> +MIME-Version: 1.0 +Authentication-Results: smtp-out1.suse.de; + none +X-Spamd-Result: default: False [1.14 / 50.00]; ARC_NA(0.00)[]; + RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; + TO_DN_SOME(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.net]; + R_MISSING_CHARSET(2.50)[]; MIME_GOOD(-0.10)[text/plain]; + TO_MATCH_ENVRCPT_ALL(0.00)[]; BROKEN_CONTENT_TYPE(1.50)[]; + NEURAL_HAM_LONG(-1.00)[-1.000]; + R_RATELIMIT(0.00)[to_ip_from(RL9dd9h8xg9qpm5f14t9e5w4zz)]; + RCVD_COUNT_THREE(0.00)[3]; + DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; + NEURAL_HAM_SHORT(-0.20)[-1.000]; RCPT_COUNT_SEVEN(0.00)[11]; + MID_CONTAINS_FROM(1.00)[]; + DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email]; + FREEMAIL_TO(0.00)[suse.com,gmail.com]; + FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; + MIME_TRACE(0.00)[0:+]; + FREEMAIL_CC(0.00)[bedrocksystems.com,fitzsim.org,nxp.com,samsung.com,denx.de,gmx.net,broadcom.com,lists.denx.de,suse.de]; + RCVD_TLS_ALL(0.00)[]; BAYES_HAM(-2.56)[98.03%] +X-BeenThere: u-boot@lists.denx.de +X-Mailman-Version: 2.1.39 +Precedence: list +List-Id: U-Boot discussion +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Errors-To: u-boot-bounces@lists.denx.de +Sender: "U-Boot" +X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de +X-Virus-Status: Clean + +Firmware on RPi5 return error on board revision query +through firmware interface, but on the other hand it fills +"linux,revision" in "system" node, so use it to detect board +revision. + + system { + linux,revision = <0xc04170>; + linux,serial = <0x6cf44e80 0x3c533ede>; + }; + +Signed-off-by: Ivan T. Ivanov +--- + board/raspberrypi/rpi/rpi.c | 22 +++++++++++++++++++--- + 1 file changed, 19 insertions(+), 3 deletions(-) + +diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c +index cd823ad746..2851ebc985 100644 +--- a/board/raspberrypi/rpi/rpi.c ++++ b/board/raspberrypi/rpi/rpi.c +@@ -171,6 +171,11 @@ static const struct rpi_model rpi_models_new_scheme[] = { + DTB_DIR "bcm2711-rpi-cm4.dtb", + true, + }, ++ [0x17] = { ++ "5 Model B", ++ DTB_DIR "bcm2712-rpi-5-b.dtb", ++ true, ++ }, + }; + + static const struct rpi_model rpi_models_old_scheme[] = { +@@ -429,15 +434,27 @@ static void get_board_revision(void) + int ret; + const struct rpi_model *models; + uint32_t models_count; ++ ofnode node; + + BCM2835_MBOX_INIT_HDR(msg); + BCM2835_MBOX_INIT_TAG(&msg->get_board_rev, GET_BOARD_REV); + + ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg->hdr); + if (ret) { +- printf("bcm2835: Could not query board revision\n"); + /* Ignore error; not critical */ +- return; ++ node = ofnode_path("/system"); ++ if (!ofnode_valid(node)) { ++ printf("bcm2835: Could not find /system node\n"); ++ return; ++ } ++ ++ ret = ofnode_read_u32(node, "linux,revision", &revision); ++ if (ret) { ++ printf("bcm2835: Could not find linux,revision\n"); ++ return; ++ } ++ } else { ++ revision = msg->get_board_rev.body.resp.rev; + } + + /* +@@ -451,7 +468,6 @@ static void get_board_revision(void) + * http://www.raspberrypi.org/forums/viewtopic.php?f=63&t=98367&start=250 + * http://www.raspberrypi.org/forums/viewtopic.php?f=31&t=20594 + */ +- revision = msg->get_board_rev.body.resp.rev; + if (revision & 0x800000) { + rev_scheme = 1; + rev_type = (revision >> 4) & 0xff; + +From patchwork Mon Dec 18 21:03:38 2023 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: "Ivan T. Ivanov" +X-Patchwork-Id: 1877651 +X-Patchwork-Delegate: pbrobinson@gmail.com +Return-Path: +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@legolas.ozlabs.org +Authentication-Results: legolas.ozlabs.org; + dkim=pass (1024-bit key; + unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 + header.s=susede2_rsa header.b=v2vbP3rz; + dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 + header.s=susede2_ed25519 header.b=DCEhbGvW; + dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de + header.a=rsa-sha256 header.s=susede2_rsa header.b=v2vbP3rz; + dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 + header.s=susede2_ed25519 header.b=DCEhbGvW; + dkim-atps=neutral +Authentication-Results: legolas.ozlabs.org; + spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de + (client-ip=85.214.62.61; helo=phobos.denx.de; + envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) +Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) + key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) + (No client certificate requested) + by legolas.ozlabs.org (Postfix) with ESMTPS id 4SvC4X1dxWz1ydc + for ; Tue, 19 Dec 2023 08:04:28 +1100 (AEDT) +Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) + by phobos.denx.de (Postfix) with ESMTP id 516EE875B6; + Mon, 18 Dec 2023 22:03:58 +0100 (CET) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=suse.de +Authentication-Results: phobos.denx.de; + spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de +Authentication-Results: phobos.denx.de; + dkim=pass (1024-bit key; + unprotected) header.d=suse.de header.i=@suse.de header.b="v2vbP3rz"; + dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de + header.b="DCEhbGvW"; + dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de + header.b="v2vbP3rz"; + dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de + header.b="DCEhbGvW"; + dkim-atps=neutral +Received: by phobos.denx.de (Postfix, from userid 109) + id B3A6E87578; Mon, 18 Dec 2023 22:03:55 +0100 (CET) +X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de +X-Spam-Level: +X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, + DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, + T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no + version=3.4.2 +Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) + (No client certificate requested) + by phobos.denx.de (Postfix) with ESMTPS id AF6918758C + for ; Mon, 18 Dec 2023 22:03:51 +0100 (CET) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=suse.de +Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=iivanov@suse.de +Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org + [10.150.64.97]) + (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) + by smtp-out1.suse.de (Postfix) with ESMTPS id 601C222298; + Mon, 18 Dec 2023 21:03:51 +0000 (UTC) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_rsa; + t=1702933431; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=g18N3OoUCORUbBwvzPY0/IHAtBrY9++PtXkkmDrbHl4=; + b=v2vbP3rzM/o63ofFdDaxhtUv68QFa8UxlaWLBU0PN+7PKXtZUGyrKBSmhVzxTM42FyEF7w + 9fus9/ORTaMw41AMi4qeWNQkin7gz4BF2qAFQuYSksnSgsT4Jul8n1YBBmIDx1keXZtfAW + uJZcfMM7pykF11NRMTvI38ZkyYm3ueQ= +DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_ed25519; t=1702933431; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=g18N3OoUCORUbBwvzPY0/IHAtBrY9++PtXkkmDrbHl4=; + b=DCEhbGvWPmgWKvfaoSUDgZ/cuuHGUnp9FvtlFeMSL2WTlsc5F+jQrl+8kVn2Yr5wDXUi8w + yyGhdRc4ihbp3tAg== +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_rsa; + t=1702933431; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=g18N3OoUCORUbBwvzPY0/IHAtBrY9++PtXkkmDrbHl4=; + b=v2vbP3rzM/o63ofFdDaxhtUv68QFa8UxlaWLBU0PN+7PKXtZUGyrKBSmhVzxTM42FyEF7w + 9fus9/ORTaMw41AMi4qeWNQkin7gz4BF2qAFQuYSksnSgsT4Jul8n1YBBmIDx1keXZtfAW + uJZcfMM7pykF11NRMTvI38ZkyYm3ueQ= +DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_ed25519; t=1702933431; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=g18N3OoUCORUbBwvzPY0/IHAtBrY9++PtXkkmDrbHl4=; + b=DCEhbGvWPmgWKvfaoSUDgZ/cuuHGUnp9FvtlFeMSL2WTlsc5F+jQrl+8kVn2Yr5wDXUi8w + yyGhdRc4ihbp3tAg== +Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) + (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) + by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id C77BF133E5; + Mon, 18 Dec 2023 21:03:50 +0000 (UTC) +Received: from dovecot-director2.suse.de ([10.150.64.162]) + by imap1.dmz-prg2.suse.org with ESMTPSA id cKI3LrazgGUtZAAAD6G6ig + (envelope-from ); Mon, 18 Dec 2023 21:03:50 +0000 +From: "Ivan T. Ivanov" +To: Matthias Brugger , + Peter Robinson +Cc: Dmitry Malkin , + Thomas Fitzsimmons , Peng Fan , + Jaehoon Chung , Anatolij Gustschin , + wahrenst@gmx.net, florian.fainelli@broadcom.com, u-boot@lists.denx.de, + "Ivan T. Ivanov" +Subject: [PATCH v3 4/7] bcm2835: brcm, + bcm2708-fb device is using r5g6b5 format +Date: Mon, 18 Dec 2023 23:03:38 +0200 +Message-ID: <20231218210341.30073-5-iivanov@suse.de> +X-Mailer: git-send-email 2.43.0 +In-Reply-To: <20231218210341.30073-1-iivanov@suse.de> +References: <20231218210341.30073-1-iivanov@suse.de> +MIME-Version: 1.0 +X-Spamd-Result: default: False [4.90 / 50.00]; ARC_NA(0.00)[]; + RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; + TO_DN_SOME(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.net]; + R_MISSING_CHARSET(2.50)[]; MIME_GOOD(-0.10)[text/plain]; + TO_MATCH_ENVRCPT_ALL(0.00)[]; BROKEN_CONTENT_TYPE(1.50)[]; + R_RATELIMIT(0.00)[to_ip_from(RL9dd9h8xg9qpm5f14t9e5w4zz)]; + RCVD_COUNT_THREE(0.00)[3]; + DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; + RCPT_COUNT_SEVEN(0.00)[11]; MID_CONTAINS_FROM(1.00)[]; + DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email]; + FREEMAIL_TO(0.00)[suse.com,gmail.com]; + FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; + MIME_TRACE(0.00)[0:+]; + FREEMAIL_CC(0.00)[bedrocksystems.com,fitzsim.org,nxp.com,samsung.com,denx.de,gmx.net,broadcom.com,lists.denx.de,suse.de]; + RCVD_TLS_ALL(0.00)[]; BAYES_HAM(-0.00)[34.66%] +Authentication-Results: smtp-out1.suse.de; + none +X-BeenThere: u-boot@lists.denx.de +X-Mailman-Version: 2.1.39 +Precedence: list +List-Id: U-Boot discussion +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Errors-To: u-boot-bounces@lists.denx.de +Sender: "U-Boot" +X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de +X-Virus-Status: Clean + +brcm,bcm2708-fb device provided by firmware on RPi5 uses +16 bits per pixel. Update driver to properly handle this. + +Signed-off-by: Ivan T. Ivanov +--- + drivers/video/bcm2835.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/drivers/video/bcm2835.c b/drivers/video/bcm2835.c +index 14942526f1..245c958b6e 100644 +--- a/drivers/video/bcm2835.c ++++ b/drivers/video/bcm2835.c +@@ -43,7 +43,7 @@ static int bcm2835_video_probe(struct udevice *dev) + + uc_priv->xsize = w; + uc_priv->ysize = h; +- uc_priv->bpix = VIDEO_BPP32; ++ uc_priv->bpix = dev_get_driver_data(dev); + plat->base = fb_base; + plat->size = fb_size; + +@@ -51,11 +51,11 @@ static int bcm2835_video_probe(struct udevice *dev) + } + + static const struct udevice_id bcm2835_video_ids[] = { +- { .compatible = "brcm,bcm2835-hdmi" }, +- { .compatible = "brcm,bcm2711-hdmi0" }, +- { .compatible = "brcm,bcm2708-fb" }, ++ { .compatible = "brcm,bcm2835-hdmi", .data = VIDEO_BPP32}, ++ { .compatible = "brcm,bcm2711-hdmi0", .data = VIDEO_BPP32}, ++ { .compatible = "brcm,bcm2708-fb", .data = VIDEO_BPP16 }, + #if !IS_ENABLED(CONFIG_VIDEO_DT_SIMPLEFB) +- { .compatible = "simple-framebuffer" }, ++ { .compatible = "simple-framebuffer", .data = VIDEO_BPP32}, + #endif + { } + }; + +From patchwork Mon Dec 18 21:03:39 2023 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: "Ivan T. Ivanov" +X-Patchwork-Id: 1877653 +X-Patchwork-Delegate: pbrobinson@gmail.com +Return-Path: +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@legolas.ozlabs.org +Authentication-Results: legolas.ozlabs.org; + dkim=pass (1024-bit key; + unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 + header.s=susede2_rsa header.b=NbGv/QjH; + dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 + header.s=susede2_ed25519 header.b=mv0vjv7/; + dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de + header.a=rsa-sha256 header.s=susede2_rsa header.b=NbGv/QjH; + dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 + header.s=susede2_ed25519 header.b=mv0vjv7/; + dkim-atps=neutral +Authentication-Results: legolas.ozlabs.org; + spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de + (client-ip=85.214.62.61; helo=phobos.denx.de; + envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) +Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) + key-exchange X25519 server-signature ECDSA (secp384r1)) + (No client certificate requested) + by legolas.ozlabs.org (Postfix) with ESMTPS id 4SvC4s5T6Bz1ydc + for ; Tue, 19 Dec 2023 08:04:45 +1100 (AEDT) +Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) + by phobos.denx.de (Postfix) with ESMTP id 3B87487227; + Mon, 18 Dec 2023 22:04:02 +0100 (CET) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=suse.de +Authentication-Results: phobos.denx.de; + spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de +Authentication-Results: phobos.denx.de; + dkim=pass (1024-bit key; + unprotected) header.d=suse.de header.i=@suse.de header.b="NbGv/QjH"; + dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de + header.b="mv0vjv7/"; + dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de + header.b="NbGv/QjH"; + dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de + header.b="mv0vjv7/"; + dkim-atps=neutral +Received: by phobos.denx.de (Postfix, from userid 109) + id AC0FC874F3; Mon, 18 Dec 2023 22:03:57 +0100 (CET) +X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de +X-Spam-Level: +X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, + DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, + T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 +Received: from smtp-out1.suse.de (smtp-out1.suse.de + [IPv6:2a07:de40:b251:101:10:150:64:1]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) + (No client certificate requested) + by phobos.denx.de (Postfix) with ESMTPS id 8349D875DB + for ; Mon, 18 Dec 2023 22:03:52 +0100 (CET) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=suse.de +Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=iivanov@suse.de +Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org + [10.150.64.97]) + (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) + by smtp-out1.suse.de (Postfix) with ESMTPS id 07C81222A0; + Mon, 18 Dec 2023 21:03:52 +0000 (UTC) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_rsa; + t=1702933432; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=uP1ZnUgZbbfrrj9GCsaBsy/nQj7H8r6do86LEnTV99Y=; + b=NbGv/QjHBl2RkJvR6nKp9uvf3bewa/Jp5ykWs/ULuKNb1e1kp0q0TCiM3d88QGrhaOkktM + ARQoLZXxNSqS1EXqsPA7VQyuJpg3iM74I+GTJfNdlIDDYeA4JLrY6MexUOxdVl1EgxjaPf + 8qkaGm9uEwoD2sactKTn0rgBg5C7Ej0= +DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_ed25519; t=1702933432; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=uP1ZnUgZbbfrrj9GCsaBsy/nQj7H8r6do86LEnTV99Y=; + b=mv0vjv7/43Gm9IJuOWZT6NQDNDmZdNrBoTyjx7Yu5AAnyTgKtyFYldUlt18PDNHm701rhG + AxUSg7hqv1qJTiDg== +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_rsa; + t=1702933432; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=uP1ZnUgZbbfrrj9GCsaBsy/nQj7H8r6do86LEnTV99Y=; + b=NbGv/QjHBl2RkJvR6nKp9uvf3bewa/Jp5ykWs/ULuKNb1e1kp0q0TCiM3d88QGrhaOkktM + ARQoLZXxNSqS1EXqsPA7VQyuJpg3iM74I+GTJfNdlIDDYeA4JLrY6MexUOxdVl1EgxjaPf + 8qkaGm9uEwoD2sactKTn0rgBg5C7Ej0= +DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_ed25519; t=1702933432; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=uP1ZnUgZbbfrrj9GCsaBsy/nQj7H8r6do86LEnTV99Y=; + b=mv0vjv7/43Gm9IJuOWZT6NQDNDmZdNrBoTyjx7Yu5AAnyTgKtyFYldUlt18PDNHm701rhG + AxUSg7hqv1qJTiDg== +Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) + (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) + by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 6FAB513C92; + Mon, 18 Dec 2023 21:03:51 +0000 (UTC) +Received: from dovecot-director2.suse.de ([10.150.64.162]) + by imap1.dmz-prg2.suse.org with ESMTPSA id YHTRGLezgGUtZAAAD6G6ig + (envelope-from ); Mon, 18 Dec 2023 21:03:51 +0000 +From: "Ivan T. Ivanov" +To: Matthias Brugger , + Peter Robinson +Cc: Dmitry Malkin , + Thomas Fitzsimmons , Peng Fan , + Jaehoon Chung , Anatolij Gustschin , + wahrenst@gmx.net, florian.fainelli@broadcom.com, u-boot@lists.denx.de, + "Ivan T. Ivanov" +Subject: [PATCH v3 5/7] mmc: bcmstb: Add support for bcm2712 SD controller +Date: Mon, 18 Dec 2023 23:03:39 +0200 +Message-ID: <20231218210341.30073-6-iivanov@suse.de> +X-Mailer: git-send-email 2.43.0 +In-Reply-To: <20231218210341.30073-1-iivanov@suse.de> +References: <20231218210341.30073-1-iivanov@suse.de> +MIME-Version: 1.0 +X-Spamd-Result: default: False [1.90 / 50.00]; ARC_NA(0.00)[]; + RCVD_VIA_SMTP_AUTH(0.00)[]; FROM_HAS_DN(0.00)[]; + TO_DN_SOME(0.00)[]; FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.net]; + R_MISSING_CHARSET(2.50)[]; MIME_GOOD(-0.10)[text/plain]; + TO_MATCH_ENVRCPT_ALL(0.00)[]; BROKEN_CONTENT_TYPE(1.50)[]; + R_RATELIMIT(0.00)[to_ip_from(RL9dd9h8xg9qpm5f14t9e5w4zz)]; + RCVD_COUNT_THREE(0.00)[3]; + DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; + RCPT_COUNT_SEVEN(0.00)[11]; MID_CONTAINS_FROM(1.00)[]; + DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email]; + FREEMAIL_TO(0.00)[suse.com,gmail.com]; + FUZZY_BLOCKED(0.00)[rspamd.com]; FROM_EQ_ENVFROM(0.00)[]; + MIME_TRACE(0.00)[0:+]; + FREEMAIL_CC(0.00)[bedrocksystems.com,fitzsim.org,nxp.com,samsung.com,denx.de,gmx.net,broadcom.com,lists.denx.de,suse.de]; + RCVD_TLS_ALL(0.00)[]; BAYES_HAM(-3.00)[100.00%] +Authentication-Results: smtp-out1.suse.de; + none +X-BeenThere: u-boot@lists.denx.de +X-Mailman-Version: 2.1.39 +Precedence: list +List-Id: U-Boot discussion +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Errors-To: u-boot-bounces@lists.denx.de +Sender: "U-Boot" +X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de +X-Virus-Status: Clean + +Borrow SD quirks from vendor Linux driver. + +"BCM2712 unfortunately carries with it a perennial bug with the SD +controller register interface present on previous chips (2711/2709/2708). +Accesses must be dword-sized and a read-modify-write cycle to the 32-bit +registers containing the COMMAND, TRANSFER_MODE, BLOCK_SIZE and +BLOCK_COUNT registers tramples the upper/lower 16 bits of data written. +BCM2712 does not seem to need the extreme delay between each write as on +previous chips, just the serialisation of writes to these registers in a +single 32-bit operation." + +Signed-off-by: Ivan T. Ivanov +--- + drivers/mmc/bcmstb_sdhci.c | 173 ++++++++++++++++++++++++++++++++++++- + 1 file changed, 172 insertions(+), 1 deletion(-) + +diff --git a/drivers/mmc/bcmstb_sdhci.c b/drivers/mmc/bcmstb_sdhci.c +index dc96818cff..21489e66c0 100644 +--- a/drivers/mmc/bcmstb_sdhci.c ++++ b/drivers/mmc/bcmstb_sdhci.c +@@ -38,6 +38,16 @@ + */ + #define BCMSTB_SDHCI_MINIMUM_CLOCK_FREQUENCY 400000 + ++#define SDIO_CFG_CTRL 0x0 ++#define SDIO_CFG_CTRL_SDCD_N_TEST_EN BIT(31) ++#define SDIO_CFG_CTRL_SDCD_N_TEST_LEV BIT(30) ++ ++#define SDIO_CFG_SD_PIN_SEL 0x44 ++#define SDIO_CFG_SD_PIN_SEL_MASK 0x3 ++#define SDIO_CFG_SD_PIN_SEL_CARD BIT(1) ++ ++#define REG_OFFSET_IN_BITS(reg) ((reg) << 3 & 0x18) ++ + /* + * This driver has only been tested with eMMC devices; SD devices may + * not work. +@@ -47,6 +57,53 @@ struct sdhci_bcmstb_plat { + struct mmc mmc; + }; + ++struct sdhci_bcmstb_host { ++ struct sdhci_host host; ++ u32 shadow_cmd; ++ u32 shadow_blk; ++ bool is_cmd_shadowed; ++ bool is_blk_shadowed; ++}; ++ ++struct sdhci_brcmstb_dev_priv { ++ int (*init)(struct udevice *dev); ++ struct sdhci_ops *ops; ++}; ++ ++static inline struct sdhci_bcmstb_host *to_bcmstb_host(struct sdhci_host *host) ++{ ++ return container_of(host, struct sdhci_bcmstb_host, host); ++} ++ ++static int sdhci_brcmstb_init_2712(struct udevice *dev) ++{ ++ struct sdhci_host *host = dev_get_priv(dev); ++ void *cfg_regs; ++ u32 reg; ++ ++ /* Map in the non-standard CFG registers */ ++ cfg_regs = dev_remap_addr_name(dev, "cfg"); ++ if (!cfg_regs) ++ return -ENOENT; ++ ++ if ((host->mmc->host_caps & MMC_CAP_NONREMOVABLE) || ++ (host->mmc->host_caps & MMC_CAP_NEEDS_POLL)) { ++ /* Force presence */ ++ reg = readl(cfg_regs + SDIO_CFG_CTRL); ++ reg &= ~SDIO_CFG_CTRL_SDCD_N_TEST_LEV; ++ reg |= SDIO_CFG_CTRL_SDCD_N_TEST_EN; ++ writel(reg, cfg_regs + SDIO_CFG_CTRL); ++ } else { ++ /* Enable card detection line */ ++ reg = readl(cfg_regs + SDIO_CFG_SD_PIN_SEL); ++ reg &= ~SDIO_CFG_SD_PIN_SEL_MASK; ++ reg |= SDIO_CFG_SD_PIN_SEL_CARD; ++ writel(reg, cfg_regs + SDIO_CFG_SD_PIN_SEL); ++ } ++ ++ return 0; ++} ++ + static int sdhci_bcmstb_bind(struct udevice *dev) + { + struct sdhci_bcmstb_plat *plat = dev_get_plat(dev); +@@ -58,10 +115,14 @@ static int sdhci_bcmstb_probe(struct udevice *dev) + { + struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev); + struct sdhci_bcmstb_plat *plat = dev_get_plat(dev); +- struct sdhci_host *host = dev_get_priv(dev); ++ struct sdhci_bcmstb_host *bcmstb = dev_get_priv(dev); ++ struct sdhci_host *host = &bcmstb->host; ++ struct sdhci_brcmstb_dev_priv *dev_priv; + fdt_addr_t base; + int ret; + ++ dev_priv = (struct sdhci_brcmstb_dev_priv *)dev_get_driver_data(dev); ++ + base = dev_read_addr(dev); + if (base == FDT_ADDR_T_NONE) + return -EINVAL; +@@ -75,6 +136,10 @@ static int sdhci_bcmstb_probe(struct udevice *dev) + + host->mmc = &plat->mmc; + host->mmc->dev = dev; ++ ++ if (dev_priv && dev_priv->ops) ++ host->ops = dev_priv->ops; ++ + ret = sdhci_setup_cfg(&plat->cfg, host, + BCMSTB_SDHCI_MAXIMUM_CLOCK_FREQUENCY, + BCMSTB_SDHCI_MINIMUM_CLOCK_FREQUENCY); +@@ -84,10 +149,116 @@ static int sdhci_bcmstb_probe(struct udevice *dev) + upriv->mmc = &plat->mmc; + host->mmc->priv = host; + ++ if (dev_priv && dev_priv->init) { ++ ret = dev_priv->init(dev); ++ if (ret) ++ return ret; ++ } ++ + return sdhci_probe(dev); + } + ++static u16 sdhci_brcmstb_32bits_readw(struct sdhci_host *host, int reg) ++{ ++ struct sdhci_bcmstb_host *bcmstb = to_bcmstb_host(host); ++ u16 word; ++ u32 val; ++ ++ if (reg == SDHCI_TRANSFER_MODE && bcmstb->is_cmd_shadowed) { ++ /* Get the saved transfer mode */ ++ val = bcmstb->shadow_cmd; ++ } else if ((reg == SDHCI_BLOCK_SIZE || reg == SDHCI_BLOCK_COUNT) && ++ bcmstb->is_blk_shadowed) { ++ /* Get the saved block info */ ++ val = bcmstb->shadow_blk; ++ } else { ++ val = readl(host->ioaddr + (reg & ~3)); ++ } ++ ++ word = val >> REG_OFFSET_IN_BITS(reg) & 0xffff; ++ return word; ++} ++ ++static u8 sdhci_brcmstb_32bits_readb(struct sdhci_host *host, int reg) ++{ ++ u32 val = readl(host->ioaddr + (reg & ~3)); ++ u8 byte = val >> REG_OFFSET_IN_BITS(reg) & 0xff; ++ return byte; ++} ++ ++/* ++ * BCM2712 unfortunately carries with it a perennial bug with the SD ++ * controller register interface present on previous chips (2711/2709/2708). ++ * Accesses must be dword-sized and a read-modify-write cycle to the ++ * 32-bit registers containing the COMMAND, TRANSFER_MODE, BLOCK_SIZE and ++ * BLOCK_COUNT registers tramples the upper/lower 16 bits of data written. ++ * BCM2712 does not seem to need the extreme delay between each write as ++ * on previous chips, just the serialisation of writes to these registers ++ * in a single 32-bit operation. ++ */ ++static void sdhci_brcmstb_32bits_writew(struct sdhci_host *host, u16 val, int reg) ++{ ++ struct sdhci_bcmstb_host *bcmstb = to_bcmstb_host(host); ++ u32 word_shift = REG_OFFSET_IN_BITS(reg); ++ u32 mask = 0xffff << word_shift; ++ u32 oldval, newval; ++ ++ if (reg == SDHCI_COMMAND) { ++ /* Write the block now as we are issuing a command */ ++ if (bcmstb->is_blk_shadowed) { ++ writel(bcmstb->shadow_blk, host->ioaddr + SDHCI_BLOCK_SIZE); ++ bcmstb->is_blk_shadowed = false; ++ } ++ oldval = bcmstb->shadow_cmd; ++ bcmstb->is_cmd_shadowed = false; ++ } else if ((reg == SDHCI_BLOCK_SIZE || reg == SDHCI_BLOCK_COUNT) && ++ bcmstb->is_blk_shadowed) { ++ /* Block size and count are stored in shadow reg */ ++ oldval = bcmstb->shadow_blk; ++ } else { ++ /* Read reg, all other registers are not shadowed */ ++ oldval = readl(host->ioaddr + (reg & ~3)); ++ } ++ newval = (oldval & ~mask) | (val << word_shift); ++ ++ if (reg == SDHCI_TRANSFER_MODE) { ++ /* Save the transfer mode until the command is issued */ ++ bcmstb->shadow_cmd = newval; ++ bcmstb->is_cmd_shadowed = true; ++ } else if (reg == SDHCI_BLOCK_SIZE || reg == SDHCI_BLOCK_COUNT) { ++ /* Save the block info until the command is issued */ ++ bcmstb->shadow_blk = newval; ++ bcmstb->is_blk_shadowed = true; ++ } else { ++ /* Command or other regular 32-bit write */ ++ writel(newval, host->ioaddr + (reg & ~3)); ++ } ++} ++ ++static void sdhci_brcmstb_32bits_writeb(struct sdhci_host *host, u8 val, int reg) ++{ ++ u32 oldval = readl(host->ioaddr + (reg & ~3)); ++ u32 byte_shift = REG_OFFSET_IN_BITS(reg); ++ u32 mask = 0xff << byte_shift; ++ u32 newval = (oldval & ~mask) | (val << byte_shift); ++ ++ writel(newval, host->ioaddr + (reg & ~3)); ++} ++ ++static struct sdhci_ops sdhci_brcmstb_ops_2712 = { ++ .read_b = sdhci_brcmstb_32bits_readb, ++ .read_w = sdhci_brcmstb_32bits_readw, ++ .write_w = sdhci_brcmstb_32bits_writew, ++ .write_b = sdhci_brcmstb_32bits_writeb, ++}; ++ ++static const struct sdhci_brcmstb_dev_priv match_priv_2712 = { ++ .init = sdhci_brcmstb_init_2712, ++ .ops = &sdhci_brcmstb_ops_2712, ++}; ++ + static const struct udevice_id sdhci_bcmstb_match[] = { ++ { .compatible = "brcm,bcm2712-sdhci", .data = (ulong)&match_priv_2712 }, + { .compatible = "brcm,bcm7425-sdhci" }, + { .compatible = "brcm,sdhci-brcmstb" }, + { } + +From patchwork Mon Dec 18 21:03:40 2023 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: "Ivan T. Ivanov" +X-Patchwork-Id: 1877654 +X-Patchwork-Delegate: pbrobinson@gmail.com +Return-Path: +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@legolas.ozlabs.org +Authentication-Results: legolas.ozlabs.org; + dkim=pass (1024-bit key; + unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 + header.s=susede2_rsa header.b=f/19Tx1x; + dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 + header.s=susede2_ed25519 header.b=e0CvACbS; + dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de + header.a=rsa-sha256 header.s=susede2_rsa header.b=f/19Tx1x; + dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 + header.s=susede2_ed25519 header.b=e0CvACbS; + dkim-atps=neutral +Authentication-Results: legolas.ozlabs.org; + spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de + (client-ip=85.214.62.61; helo=phobos.denx.de; + envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) +Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) + key-exchange X25519 server-signature ECDSA (secp384r1)) + (No client certificate requested) + by legolas.ozlabs.org (Postfix) with ESMTPS id 4SvC5339Phz1ydc + for ; Tue, 19 Dec 2023 08:04:55 +1100 (AEDT) +Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) + by phobos.denx.de (Postfix) with ESMTP id AEFAE87561; + Mon, 18 Dec 2023 22:04:02 +0100 (CET) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=suse.de +Authentication-Results: phobos.denx.de; + spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de +Authentication-Results: phobos.denx.de; + dkim=pass (1024-bit key; + unprotected) header.d=suse.de header.i=@suse.de header.b="f/19Tx1x"; + dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de + header.b="e0CvACbS"; + dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de + header.b="f/19Tx1x"; + dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de + header.b="e0CvACbS"; + dkim-atps=neutral +Received: by phobos.denx.de (Postfix, from userid 109) + id E31C887661; Mon, 18 Dec 2023 22:03:58 +0100 (CET) +X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de +X-Spam-Level: +X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, + DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, + T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no + version=3.4.2 +Received: from smtp-out1.suse.de (smtp-out1.suse.de + [IPv6:2a07:de40:b251:101:10:150:64:1]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) + (No client certificate requested) + by phobos.denx.de (Postfix) with ESMTPS id 23C28875FE + for ; Mon, 18 Dec 2023 22:03:53 +0100 (CET) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=suse.de +Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=iivanov@suse.de +Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org + [IPv6:2a07:de40:b281:104:10:150:64:97]) + (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) + by smtp-out1.suse.de (Postfix) with ESMTPS id AA225222AF; + Mon, 18 Dec 2023 21:03:52 +0000 (UTC) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_rsa; + t=1702933432; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=cxWdlBZFlaQd53WSplsOaVVsDevGF2K3qZjhk+1T33g=; + b=f/19Tx1x7UFtAUz8rSw0xZAG55X0OP1hiHqEuhAMQ+G/qEfSEkg6v1FGZhP70gpNWDQQgk + sr6WvGWKDP0t+jOsv0jDi9ZDrTiDB2ge+exjUPFNEvQP3H5zrjgKVOaqBaoOeLHXs/ay0l + qSAackxgs89eelJL1qSI3XwtAjq2zlQ= +DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_ed25519; t=1702933432; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=cxWdlBZFlaQd53WSplsOaVVsDevGF2K3qZjhk+1T33g=; + b=e0CvACbSltQnSYuEyv3yxtn0hfVqkwt0KNf0fBLAfLwxlC3hb9ebDGcHvra3iPCHYB22X9 + ButpL853ceVzwdDA== +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_rsa; + t=1702933432; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=cxWdlBZFlaQd53WSplsOaVVsDevGF2K3qZjhk+1T33g=; + b=f/19Tx1x7UFtAUz8rSw0xZAG55X0OP1hiHqEuhAMQ+G/qEfSEkg6v1FGZhP70gpNWDQQgk + sr6WvGWKDP0t+jOsv0jDi9ZDrTiDB2ge+exjUPFNEvQP3H5zrjgKVOaqBaoOeLHXs/ay0l + qSAackxgs89eelJL1qSI3XwtAjq2zlQ= +DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_ed25519; t=1702933432; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=cxWdlBZFlaQd53WSplsOaVVsDevGF2K3qZjhk+1T33g=; + b=e0CvACbSltQnSYuEyv3yxtn0hfVqkwt0KNf0fBLAfLwxlC3hb9ebDGcHvra3iPCHYB22X9 + ButpL853ceVzwdDA== +Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) + (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) + by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 15B1C133E5; + Mon, 18 Dec 2023 21:03:52 +0000 (UTC) +Received: from dovecot-director2.suse.de ([10.150.64.162]) + by imap1.dmz-prg2.suse.org with ESMTPSA id 8OvVArizgGUtZAAAD6G6ig + (envelope-from ); Mon, 18 Dec 2023 21:03:52 +0000 +From: "Ivan T. Ivanov" +To: Matthias Brugger , + Peter Robinson +Cc: Dmitry Malkin , + Thomas Fitzsimmons , Peng Fan , + Jaehoon Chung , Anatolij Gustschin , + wahrenst@gmx.net, florian.fainelli@broadcom.com, u-boot@lists.denx.de, + "Ivan T. Ivanov" +Subject: [PATCH v3 6/7] configs: rpi_arm64: enable SDHCI BCMSTB driver +Date: Mon, 18 Dec 2023 23:03:40 +0200 +Message-ID: <20231218210341.30073-7-iivanov@suse.de> +X-Mailer: git-send-email 2.43.0 +In-Reply-To: <20231218210341.30073-1-iivanov@suse.de> +References: <20231218210341.30073-1-iivanov@suse.de> +MIME-Version: 1.0 +Authentication-Results: smtp-out1.suse.de; + dkim=pass header.d=suse.de header.s=susede2_rsa header.b="f/19Tx1x"; + dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=e0CvACbS +X-Rspamd-Server: rspamd2.dmz-prg2.suse.org +X-Spamd-Result: default: False [-1.62 / 50.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; + RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; + SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from]; + TO_DN_SOME(0.00)[]; R_MISSING_CHARSET(2.50)[]; + BROKEN_CONTENT_TYPE(1.50)[]; RCVD_COUNT_THREE(0.00)[3]; + DKIM_TRACE(0.00)[suse.de:+]; MX_GOOD(-0.01)[]; + RCPT_COUNT_SEVEN(0.00)[11]; NEURAL_HAM_SHORT(-0.20)[-1.000]; + FREEMAIL_TO(0.00)[suse.com,gmail.com]; FROM_EQ_ENVFROM(0.00)[]; + MIME_TRACE(0.00)[0:+]; BAYES_HAM(-0.11)[66.45%]; + ARC_NA(0.00)[]; + R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; + RCVD_DKIM_ARC_DNSWL_HI(-1.00)[]; FROM_HAS_DN(0.00)[]; + FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.net]; + TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; + DWL_DNSWL_HI(-3.50)[suse.de:dkim]; + NEURAL_HAM_LONG(-1.00)[-1.000]; + DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; + MID_CONTAINS_FROM(1.00)[]; + DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:dkim,suse.de:email]; + FUZZY_BLOCKED(0.00)[rspamd.com]; + FREEMAIL_CC(0.00)[bedrocksystems.com,fitzsim.org,nxp.com,samsung.com,denx.de,gmx.net,broadcom.com,lists.denx.de,suse.de]; + RCVD_TLS_ALL(0.00)[]; + RCVD_IN_DNSWL_HI(-0.50)[2a07:de40:b281:104:10:150:64:97:from] +X-Rspamd-Queue-Id: AA225222AF +X-BeenThere: u-boot@lists.denx.de +X-Mailman-Version: 2.1.39 +Precedence: list +List-Id: U-Boot discussion +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Errors-To: u-boot-bounces@lists.denx.de +Sender: "U-Boot" +X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de +X-Virus-Status: Clean + +RPi5 have "brcm,bcm2712-sdhci" controller which is +handled by "sdhci-bcmstb" driver, so enable it. + +Signed-off-by: Ivan T. Ivanov +--- + configs/rpi_arm64_defconfig | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/configs/rpi_arm64_defconfig b/configs/rpi_arm64_defconfig +index f9dade18f6..1107fd11de 100644 +--- a/configs/rpi_arm64_defconfig ++++ b/configs/rpi_arm64_defconfig +@@ -33,6 +33,7 @@ CONFIG_BCM2835_GPIO=y + CONFIG_MMC_SDHCI=y + CONFIG_MMC_SDHCI_SDMA=y + CONFIG_MMC_SDHCI_BCM2835=y ++CONFIG_MMC_SDHCI_BCMSTB=y + CONFIG_BCMGENET=y + CONFIG_PCI_BRCMSTB=y + CONFIG_PINCTRL=y + +From patchwork Mon Dec 18 21:03:41 2023 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: "Ivan T. Ivanov" +X-Patchwork-Id: 1877655 +X-Patchwork-Delegate: pbrobinson@gmail.com +Return-Path: +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@legolas.ozlabs.org +Authentication-Results: legolas.ozlabs.org; + dkim=pass (1024-bit key; + unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 + header.s=susede2_rsa header.b=1by1WnE8; + dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 + header.s=susede2_ed25519 header.b=e64lBvSE; + dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de + header.a=rsa-sha256 header.s=susede2_rsa header.b=1by1WnE8; + dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 + header.s=susede2_ed25519 header.b=e64lBvSE; + dkim-atps=neutral +Authentication-Results: legolas.ozlabs.org; + spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de + (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; + envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) +Received: from phobos.denx.de (phobos.denx.de + [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) + key-exchange X25519 server-signature ECDSA (secp384r1)) + (No client certificate requested) + by legolas.ozlabs.org (Postfix) with ESMTPS id 4SvC5H05zfz1ydc + for ; Tue, 19 Dec 2023 08:05:07 +1100 (AEDT) +Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) + by phobos.denx.de (Postfix) with ESMTP id 2FBDE87650; + Mon, 18 Dec 2023 22:04:03 +0100 (CET) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=suse.de +Authentication-Results: phobos.denx.de; + spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de +Authentication-Results: phobos.denx.de; + dkim=pass (1024-bit key; + unprotected) header.d=suse.de header.i=@suse.de header.b="1by1WnE8"; + dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de + header.b="e64lBvSE"; + dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de + header.b="1by1WnE8"; + dkim=permerror (0-bit key) header.d=suse.de header.i=@suse.de + header.b="e64lBvSE"; + dkim-atps=neutral +Received: by phobos.denx.de (Postfix, from userid 109) + id 5D01C876A4; Mon, 18 Dec 2023 22:03:59 +0100 (CET) +X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de +X-Spam-Level: +X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, + DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, + T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no + version=3.4.2 +Received: from smtp-out2.suse.de (smtp-out2.suse.de + [IPv6:2a07:de40:b251:101:10:150:64:2]) + (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) + (No client certificate requested) + by phobos.denx.de (Postfix) with ESMTPS id C279687509 + for ; Mon, 18 Dec 2023 22:03:53 +0100 (CET) +Authentication-Results: phobos.denx.de; + dmarc=pass (p=none dis=none) header.from=suse.de +Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=iivanov@suse.de +Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org + [IPv6:2a07:de40:b281:104:10:150:64:97]) + (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) + by smtp-out2.suse.de (Postfix) with ESMTPS id 5507C1F6E6; + Mon, 18 Dec 2023 21:03:53 +0000 (UTC) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_rsa; + t=1702933433; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=HvUCimMaJ6xrQSSzUxalPI2wxDMnSXJwzMxo+y9/IFo=; + b=1by1WnE818KeyiiUhS0PLD7P0c+SSwVEcIdSwLVDSj6t8vZK9vpPNROZRCB9WlZtgGyGUU + JlRP9h5PowjYnh5OWRH6KbjZ19MG+Fu3rWcMQ+gET5ljKGaRAtFv2t0gDAtmZGheOkf5pW + KEDUZYxYceI7JKlWcX6QlIjexymId9w= +DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_ed25519; t=1702933433; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=HvUCimMaJ6xrQSSzUxalPI2wxDMnSXJwzMxo+y9/IFo=; + b=e64lBvSEDRhrUCpOd2eVMasuXC6PFNm5B1yOGeNNS+E2HREmMMam1YM4RObadB2tdux/T3 + Galw853x9Gm0wpDA== +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_rsa; + t=1702933433; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=HvUCimMaJ6xrQSSzUxalPI2wxDMnSXJwzMxo+y9/IFo=; + b=1by1WnE818KeyiiUhS0PLD7P0c+SSwVEcIdSwLVDSj6t8vZK9vpPNROZRCB9WlZtgGyGUU + JlRP9h5PowjYnh5OWRH6KbjZ19MG+Fu3rWcMQ+gET5ljKGaRAtFv2t0gDAtmZGheOkf5pW + KEDUZYxYceI7JKlWcX6QlIjexymId9w= +DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; + s=susede2_ed25519; t=1702933433; + h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: + mime-version:mime-version: + content-transfer-encoding:content-transfer-encoding: + in-reply-to:in-reply-to:references:references; + bh=HvUCimMaJ6xrQSSzUxalPI2wxDMnSXJwzMxo+y9/IFo=; + b=e64lBvSEDRhrUCpOd2eVMasuXC6PFNm5B1yOGeNNS+E2HREmMMam1YM4RObadB2tdux/T3 + Galw853x9Gm0wpDA== +Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) + (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) + by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id BB17413C92; + Mon, 18 Dec 2023 21:03:52 +0000 (UTC) +Received: from dovecot-director2.suse.de ([10.150.64.162]) + by imap1.dmz-prg2.suse.org with ESMTPSA id 0JQfK7izgGUtZAAAD6G6ig + (envelope-from ); Mon, 18 Dec 2023 21:03:52 +0000 +From: "Ivan T. Ivanov" +To: Matthias Brugger , + Peter Robinson +Cc: Dmitry Malkin , + Thomas Fitzsimmons , Peng Fan , + Jaehoon Chung , Anatolij Gustschin , + wahrenst@gmx.net, florian.fainelli@broadcom.com, u-boot@lists.denx.de, + "Ivan T. Ivanov" +Subject: [PATCH v3 7/7] pci: pcie-brcmstb: Add bcm2712 PCIe controller support +Date: Mon, 18 Dec 2023 23:03:41 +0200 +Message-ID: <20231218210341.30073-8-iivanov@suse.de> +X-Mailer: git-send-email 2.43.0 +In-Reply-To: <20231218210341.30073-1-iivanov@suse.de> +References: <20231218210341.30073-1-iivanov@suse.de> +MIME-Version: 1.0 +X-Rspamd-Server: rspamd1.dmz-prg2.suse.org +X-Spamd-Bar: / +X-Spamd-Result: default: False [-0.31 / 50.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; + RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; + TO_DN_SOME(0.00)[]; R_MISSING_CHARSET(2.50)[]; + BROKEN_CONTENT_TYPE(1.50)[]; + R_RATELIMIT(0.00)[to_ip_from(RLccgikja4sxqnupiwsfdm9q1r)]; + RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[suse.de:+]; + MX_GOOD(-0.01)[]; RCPT_COUNT_SEVEN(0.00)[11]; + FREEMAIL_TO(0.00)[suse.com,gmail.com]; FROM_EQ_ENVFROM(0.00)[]; + MIME_TRACE(0.00)[0:+]; BAYES_HAM(-0.00)[27.73%]; + ARC_NA(0.00)[]; + R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; + RCVD_DKIM_ARC_DNSWL_HI(-1.00)[]; FROM_HAS_DN(0.00)[]; + FREEMAIL_ENVRCPT(0.00)[gmail.com,gmx.net]; + TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; + DWL_DNSWL_HI(-3.50)[suse.de:dkim]; + DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; + MID_CONTAINS_FROM(1.00)[]; + DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:dkim,suse.de:email]; + FUZZY_BLOCKED(0.00)[rspamd.com]; + FREEMAIL_CC(0.00)[bedrocksystems.com,fitzsim.org,nxp.com,samsung.com,denx.de,gmx.net,broadcom.com,lists.denx.de,suse.de]; + RCVD_TLS_ALL(0.00)[]; + RCVD_IN_DNSWL_HI(-0.50)[2a07:de40:b281:104:10:150:64:97:from] +Authentication-Results: smtp-out2.suse.de; + dkim=pass header.d=suse.de header.s=susede2_rsa header.b=1by1WnE8; + dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=e64lBvSE +X-Rspamd-Queue-Id: 5507C1F6E6 +X-BeenThere: u-boot@lists.denx.de +X-Mailman-Version: 2.1.39 +Precedence: list +List-Id: U-Boot discussion +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +Errors-To: u-boot-bounces@lists.denx.de +Sender: "U-Boot" +X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de +X-Virus-Status: Clean + +PCIe controller have minor register map difference compared +to bcm2711 variant. Handle this using device specific register +offset. + +Signed-off-by: Ivan T. Ivanov +--- + drivers/pci/pcie_brcmstb.c | 23 +++++++++++++++++++---- + 1 file changed, 19 insertions(+), 4 deletions(-) + +diff --git a/drivers/pci/pcie_brcmstb.c b/drivers/pci/pcie_brcmstb.c +index cd45f0bee9..d63e715b2e 100644 +--- a/drivers/pci/pcie_brcmstb.c ++++ b/drivers/pci/pcie_brcmstb.c +@@ -90,7 +90,6 @@ + #define PCIE_MEM_WIN0_LIMIT_HI(win) \ + PCIE_MISC_CPU_2_PCIE_MEM_WIN0_LIMIT_HI + ((win) * 8) + +-#define PCIE_MISC_HARD_PCIE_HARD_DEBUG 0x4204 + #define PCIE_HARD_DEBUG_SERDES_IDDQ_MASK 0x08000000 + + #define PCIE_MSI_INTR2_CLR 0x4508 +@@ -131,6 +130,10 @@ + #define SSC_STATUS_PLL_LOCK_MASK 0x800 + #define SSC_STATUS_PLL_LOCK_SHIFT 11 + ++struct pcie_cfg_data { ++ unsigned long hard_debug_offs; ++}; ++ + /** + * struct brcm_pcie - the PCIe controller state + * @base: Base address of memory mapped IO registers of the controller +@@ -141,6 +144,7 @@ + struct brcm_pcie { + void __iomem *base; + ++ struct pcie_cfg_data *cfg; + int gen; + bool ssc; + }; +@@ -458,7 +462,7 @@ static int brcm_pcie_probe(struct udevice *dev) + /* Take the bridge out of reset */ + clrbits_le32(base + PCIE_RGR1_SW_INIT_1, RGR1_SW_INIT_1_INIT_MASK); + +- clrbits_le32(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG, ++ clrbits_le32(base + pcie->cfg->hard_debug_offs, + PCIE_HARD_DEBUG_SERDES_IDDQ_MASK); + + /* Wait for SerDes to be stable */ +@@ -599,7 +603,7 @@ static int brcm_pcie_remove(struct udevice *dev) + setbits_le32(base + PCIE_RGR1_SW_INIT_1, RGR1_SW_INIT_1_PERST_MASK); + + /* Turn off SerDes */ +- setbits_le32(base + PCIE_MISC_HARD_PCIE_HARD_DEBUG, ++ setbits_le32(base + pcie->cfg->hard_debug_offs, + PCIE_HARD_DEBUG_SERDES_IDDQ_MASK); + + /* Shutdown bridge */ +@@ -620,6 +624,8 @@ static int brcm_pcie_of_to_plat(struct udevice *dev) + if (!pcie->base) + return -EINVAL; + ++ pcie->cfg = (struct pcie_cfg_data *)dev_get_driver_data(dev); ++ + pcie->ssc = ofnode_read_bool(dn, "brcm,enable-ssc"); + + ret = ofnode_read_u32(dn, "max-link-speed", &max_link_speed); +@@ -636,8 +642,17 @@ static const struct dm_pci_ops brcm_pcie_ops = { + .write_config = brcm_pcie_write_config, + }; + ++static const struct pcie_cfg_data bcm2711_cfg = { ++ .hard_debug_offs = 0x4204 ++}; ++ ++static const struct pcie_cfg_data bcm2712_cfg = { ++ .hard_debug_offs = 0x4304 ++}; ++ + static const struct udevice_id brcm_pcie_ids[] = { +- { .compatible = "brcm,bcm2711-pcie" }, ++ { .compatible = "brcm,bcm2711-pcie", .data = (ulong)&bcm2711_cfg }, ++ { .compatible = "brcm,bcm2712-pcie", .data = (ulong)&bcm2712_cfg }, + { } + }; + diff --git a/sources b/sources index baad200..30e8529 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (u-boot-2024.01-rc4.tar.bz2) = 02ad9abe2a0c34fb11e75f75b1d76a4dc2df2886ed00f0fbec090cfe87d586becfee7c1edce8e95d26d1e34ead26faf928d17fdc6f8dee158a73f93c0078ae0a +SHA512 (u-boot-2024.01.tar.bz2) = 45bd093ba3bda23e43cdde83d8656c1ee1348ac2886ecff1fee475f101ac4965a5be6565408fa5b990c723f3fdc833edfca60a719f735a43040cd14a1b59a88b diff --git a/uboot-tools.spec b/uboot-tools.spec index b7ab293..8083a3c 100644 --- a/uboot-tools.spec +++ b/uboot-tools.spec @@ -1,4 +1,4 @@ -%global candidate rc4 +#global candidate rc0 %if 0%{?rhel} %bcond_with toolsonly %else @@ -7,7 +7,7 @@ Name: uboot-tools Version: 2024.01 -Release: 0.2%{?candidate:.%{candidate}}%{?dist} +Release: 1%{?candidate:.%{candidate}}%{?dist} Epoch: 1 Summary: U-Boot utilities License: GPLv2+ BSD LGPL-2.1+ LGPL-2.0+ @@ -26,9 +26,11 @@ Patch7: Add-video-damage-tracking.patch # Board fixes and enablement # RPi - uses RPI firmware device tree for HAT support -Patch10: rpi-Enable-using-the-DT-provided-by-the-Raspberry-Pi.patch +Patch10: rpi-Switch-to-OF_HAS_PRIOR_STAGE-by-default.patch # Rockchips improvements Patch11: rockchip-Add-initial-support-for-the-PinePhone-Pro.patch +# Lots more to do, mostly untested, definitely unsupported +Patch12: rpi5-initial-support.patch #Patch12: 0001-Revert-rockchip-rockpro64-Build-u-boot-rockchip-spi..patch BuildRequires: bc @@ -206,6 +208,9 @@ install -p -m 0755 builds/tools/env/fw_printenv %{buildroot}%{_bindir} %endif %changelog +* Mon Jan 08 2024 Peter Robinson - 1:2024.01-1 +- Update to 2024.01 + * Thu Dec 07 2023 Peter Robinson - 1:2024.01-0.2.rc4 - Update to 2024.01 RC4 - Rebase SMBIOS patch to latest rev diff --git a/uefi-Boot-var-automatic-management-for-removable-medias.patch b/uefi-Boot-var-automatic-management-for-removable-medias.patch index aa8db6c..48ae88e 100644 --- a/uefi-Boot-var-automatic-management-for-removable-medias.patch +++ b/uefi-Boot-var-automatic-management-for-removable-medias.patch @@ -1,17 +1,17 @@ -From patchwork Mon Oct 16 06:45:24 2023 +From patchwork Fri Nov 10 04:25:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Masahisa Kojima -X-Patchwork-Id: 1849182 -X-Patchwork-Delegate: trini@ti.com +X-Patchwork-Id: 1862317 +X-Patchwork-Delegate: apalos@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 - header.s=google header.b=Ul1XEHOs; + header.s=google header.b=muA1rcXE; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de @@ -20,76 +20,76 @@ Authentication-Results: legolas.ozlabs.org; Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) - key-exchange X25519 server-signature ECDSA (secp384r1)) + key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) - by legolas.ozlabs.org (Postfix) with ESMTPS id 4S874K5Xxfz20Pd - for ; Mon, 16 Oct 2023 17:48:49 +1100 (AEDT) + by legolas.ozlabs.org (Postfix) with ESMTPS id 4SRQnL1SNCz1yRF + for ; Fri, 10 Nov 2023 15:28:54 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) - by phobos.denx.de (Postfix) with ESMTP id CEAE986C65; - Mon, 16 Oct 2023 08:47:35 +0200 (CEST) + by phobos.denx.de (Postfix) with ESMTP id 4C150877A0; + Fri, 10 Nov 2023 05:27:39 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; - unprotected) header.d=linaro.org header.i=@linaro.org header.b="Ul1XEHOs"; + unprotected) header.d=linaro.org header.i=@linaro.org header.b="muA1rcXE"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) - id 8D53786DB3; Mon, 16 Oct 2023 08:47:30 +0200 (CEST) + id 9DA4487796; Fri, 10 Nov 2023 05:27:28 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, - DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS - autolearn=ham autolearn_force=no version=3.4.2 -Received: from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com - [IPv6:2607:f8b0:4864:20::42e]) + DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, + T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 +Received: from mail-qv1-xf30.google.com (mail-qv1-xf30.google.com + [IPv6:2607:f8b0:4864:20::f30]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) - by phobos.denx.de (Postfix) with ESMTPS id CDE3A86E17 - for ; Mon, 16 Oct 2023 08:47:09 +0200 (CEST) + by phobos.denx.de (Postfix) with ESMTPS id E1AE487795 + for ; Fri, 10 Nov 2023 05:27:22 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=masahisa.kojima@linaro.org -Received: by mail-pf1-x42e.google.com with SMTP id - d2e1a72fcca58-6b9af7d41d2so1095255b3a.0 - for ; Sun, 15 Oct 2023 23:47:09 -0700 (PDT) +Received: by mail-qv1-xf30.google.com with SMTP id + 6a1803df08f44-66d09b6d007so10800236d6.1 + for ; Thu, 09 Nov 2023 20:27:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=linaro.org; s=google; t=1697438827; x=1698043627; darn=lists.denx.de; + d=linaro.org; s=google; t=1699590441; x=1700195241; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; - bh=a4zZ4HlSkK/oY3qfyV9r1nYVhNuROFuLhRstgf1Rv2c=; - b=Ul1XEHOsGM4s5ZXhl8izVuRgdzwBvimAZkXuoqhECUyzZ5Ez0xE4L1Hg3jaebkJtT4 - Obo7iWdiOztGGXAQsCc6aArrMkn5aWaxldZj3Pk7wiMXDQQwkaTGjRCvrTsNYEXGqaYa - lgGsDUHQY9XV9evUyGDM53AoPvEQpMUn6Ise6OpLox6UUZP1F50ibABAcCqCaWEz+1nq - 4lVN8G9iVN+cmBLHgyABIM/ySQviS1kOYG+YTltUb5HvVaMxir4vqsa4+x6vd/tTxXMk - 56wvCrB5HMNqfSgdipSasXwMLCFgHXkBq93i2kbuzMIQ7Ysvv3C8BVI0G+1f6oLwENLk - e/CQ== + bh=TMp02tF2/jn50c0fdB6OUXNmWJ9Af2C5T6zhn2D5BPI=; + b=muA1rcXEW1UV0ytByrk/oz/vuO7kL/M5Szuv8+JLohfHHFY3sZW5v5q4Tn1coMbMKW + 6+JvY0qla9DiPjvWA90QSopUCqBoggSNPTIlTn4YSs0zA/+Aa9ufsx25M+rq4pdYGAZq + ujAG9mRgWMuq7W+eZZWfQo6eFqEo14D6RbQL5NFW/G0Wkle6TwLwu7dp19DOw7hH/jPq + sq9/5/DA4FEI+4sRDsPBAQ48VTq05vuMv2PMU0t4d7SXPVCEk1lW+JFZB4wooN2XotQ+ + ni+S40bdTeGBscZ+sajQQgtDd49nxGSB518samtlg5SGdhDB9WKak39uPeWU4WFYc01J + R7BQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20230601; t=1697438827; x=1698043627; + d=1e100.net; s=20230601; t=1699590441; x=1700195241; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; - bh=a4zZ4HlSkK/oY3qfyV9r1nYVhNuROFuLhRstgf1Rv2c=; - b=OcOEUqe358XOG7Zc6Hy+FF1rfaLYWmEF0A8OizdzAhGDLivYKjNd4BoOEHO4KvOACh - FZMZ1CB92hAiYJu1Ndf90dBBML5rNhQNU2W7UeXtS71umYvHozHLjFpF1yhECni/jQQU - 4oOX+5SMFsICbIbh7s4rTv7wQiw9WfipvTiPbJAhIlFiWT90CFt3hyN8/9KlKbl0Sclz - gllfdag+B/kpFHp53cH9u/zyihobAX9mjV7UWzK5LavAIv6z62RlsRMaICfqqhzWdiCQ - HVNQr2zZEmvsRXg8I0bE1n51DSkTLQ3tXeACm5nhLyxgtyqWwailoFeacOUsF7GMlCcD - qEbw== -X-Gm-Message-State: AOJu0YzjJEUEStoUb3N4IXyZxHifoMSiHxGU6B4mx7PQowC7gzvn1TnE - xTthn5FBg1s44Z9M4SsWxKIzkdvcmlpYkXlx7zA= + bh=TMp02tF2/jn50c0fdB6OUXNmWJ9Af2C5T6zhn2D5BPI=; + b=o5TY9c0iL/aKbWJtamq+fAKn5twYwIcXo5Z8lxIo1/WL8jhCu3973LiJ6l2rbP6I26 + wEUpA97eZRYjRnp6Pfb9nJ5+Ip11akGFqY+UNFjwNues+jYvCmrhtbzt3RIwwRMopasI + IvpvSU+Vk0opNS2b96ZRak7X34ZoUNZVcjTBCSqx3UgQcaMOxrP5u7LholG/3rTttkkF + gdIAWrm7wPUrREhnt8opfpTWbusAkgJ1lAa0uqcfb4TRE7fKsiX3du3TwgJNsvACBXxW + W4w5nDy5AXlY05IOsmMvxjIudLF0aDB3y/aUT1K7/NyAO77e5CPoGEIRF4JnpngLM7yx + RcEw== +X-Gm-Message-State: AOJu0YwKFnJ+XRzaRWdr9TK+didg99ZRC2gUKVvYvCLFFGqfG4yFbCXC + IsubnJ6RTNtZqmONUFojqVLmrQYm513MFxxhCLg= X-Google-Smtp-Source: - AGHT+IHbD6oyEamNHq3LhzVqk9GmlOVQEB1PUP0LTuRVh232jV1wx8mVR7sYKvotrVqHEVfJnRLFMA== -X-Received: by 2002:a05:6a00:1511:b0:690:4362:7011 with SMTP id - q17-20020a056a00151100b0069043627011mr35009133pfu.24.1697438827170; - Sun, 15 Oct 2023 23:47:07 -0700 (PDT) + AGHT+IE/39rKwHRMrxLkfDXIlyOXct/rRbXebKb2Lc3eaLeJaCt4Vmnxn7CrXnlXXLzUgocEmJUKcA== +X-Received: by 2002:a05:6214:d44:b0:675:667d:a1b6 with SMTP id + 4-20020a0562140d4400b00675667da1b6mr7212832qvr.0.1699590440388; + Thu, 09 Nov 2023 20:27:20 -0800 (PST) Received: from localhost ([164.70.16.189]) by smtp.gmail.com with ESMTPSA id - fa13-20020a056a002d0d00b006b1c14a493fsm5242447pfb.71.2023.10.15.23.47.06 + n18-20020a170902e55200b001c0bf60ba5csm4304818plf.272.2023.11.09.20.27.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Sun, 15 Oct 2023 23:47:06 -0700 (PDT) + Thu, 09 Nov 2023 20:27:19 -0800 (PST) From: Masahisa Kojima To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , @@ -99,14 +99,15 @@ Cc: Heinrich Schuchardt , Michal Simek , Raymond Mao , Masahisa Kojima , Joao Marcos Costa , + Huang Jianan , Thomas Petazzoni , - Miquel Raynal -Subject: [PATCH v7 7/9] Boot var automatic management for removable medias -Date: Mon, 16 Oct 2023 15:45:24 +0900 -Message-Id: <20231016064526.2410856-8-masahisa.kojima@linaro.org> + Miquel Raynal , linux-erofs@lists.ozlabs.org +Subject: [PATCH v12 4/9] efi_loader: Boot var automatic management +Date: Fri, 10 Nov 2023 13:25:37 +0900 +Message-Id: <20231110042542.3797301-5-masahisa.kojima@linaro.org> X-Mailer: git-send-email 2.34.1 -In-Reply-To: <20231016064526.2410856-1-masahisa.kojima@linaro.org> -References: <20231016064526.2410856-1-masahisa.kojima@linaro.org> +In-Reply-To: <20231110042542.3797301-1-masahisa.kojima@linaro.org> +References: <20231110042542.3797301-1-masahisa.kojima@linaro.org> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 @@ -148,15 +149,14 @@ efi_secboot tests end up with unexpected failure. The efi_secboot tests need to be modified to explicitly set the BootOrder EFI variable. -squashfs ls test is also affected by this modification, need to -clear the previous state before squashfs ls test starts. +squashfs and erofs ls tests are also affected by this modification, +need to clear the previous state before squashfs ls test starts. Co-developed-by: Masahisa Kojima Signed-off-by: Masahisa Kojima Signed-off-by: Raymond Mao Reviewed-by: Heinrich Schuchardt Reviewed-by: Ilias Apalodimas -Signed-off-by: Joao Marcos Costa Reviewed-by: Joao Marcos Costa --- lib/efi_loader/efi_disk.c | 18 ++++++++ @@ -164,8 +164,9 @@ Reviewed-by: Joao Marcos Costa test/py/tests/test_efi_secboot/test_signed.py | 42 +++++++++---------- .../test_efi_secboot/test_signed_intca.py | 14 +++---- .../tests/test_efi_secboot/test_unsigned.py | 14 +++---- - .../test_fs/test_squashfs/test_sqfs_ls.py | 6 +++ - 6 files changed, 66 insertions(+), 35 deletions(-) + test/py/tests/test_fs/test_erofs.py | 9 ++++ + .../test_fs/test_squashfs/test_sqfs_ls.py | 9 ++++ + 7 files changed, 78 insertions(+), 35 deletions(-) diff --git a/lib/efi_loader/efi_disk.c b/lib/efi_loader/efi_disk.c index f0d76113b0..b808a7fe62 100644 @@ -204,7 +205,7 @@ index f0d76113b0..b808a7fe62 100644 /** diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c -index e6de685e87..37359a77bb 100644 +index ad719afd63..c02569cb6d 100644 --- a/lib/efi_loader/efi_setup.c +++ b/lib/efi_loader/efi_setup.c @@ -245,6 +245,13 @@ efi_status_t efi_init_obj_list(void) @@ -531,18 +532,41 @@ index df63f0df08..7c078f220d 100644 'efidebug test bootmgr']) assert 'efi_start_image() returned: 26' in ''.join(output) assert 'Hello, world!' not in ''.join(output) -diff --git a/test/py/tests/test_fs/test_squashfs/test_sqfs_ls.py b/test/py/tests/test_fs/test_squashfs/test_sqfs_ls.py -index 527a556ed8..3b8118104f 100644 ---- a/test/py/tests/test_fs/test_squashfs/test_sqfs_ls.py -+++ b/test/py/tests/test_fs/test_squashfs/test_sqfs_ls.py -@@ -118,6 +118,12 @@ def test_sqfs_ls(u_boot_console): +diff --git a/test/py/tests/test_fs/test_erofs.py b/test/py/tests/test_fs/test_erofs.py +index 458a52ba79..87ad8f2d5f 100644 +--- a/test/py/tests/test_fs/test_erofs.py ++++ b/test/py/tests/test_fs/test_erofs.py +@@ -196,6 +196,15 @@ def test_erofs(u_boot_console): """ build_dir = u_boot_console.config.build_dir -+ # If the EFI subsystem is enabled, default file(e.g. EFI/BOOT/BOOTAA64.EFI) -+ # is scanned when the new disk is detected. This ends up with the unexpected -+ # output at the first 'sqfsls' command. -+ # Clear the previous state. ++ # If the EFI subsystem is enabled and initialized, EFI subsystem tries to ++ # add EFI boot option when the new disk is detected. If there is no EFI ++ # System Partition exists, EFI subsystem outputs error messages and ++ # it ends up with test failure. ++ # Restart U-Boot to clear the previous state. ++ # TODO: Ideally EFI test cases need to be fixed, but it will ++ # increase the number of system reset. ++ u_boot_console.restart_uboot() ++ + try: + # setup test environment + make_erofs_image(build_dir) +diff --git a/test/py/tests/test_fs/test_squashfs/test_sqfs_ls.py b/test/py/tests/test_fs/test_squashfs/test_sqfs_ls.py +index 527a556ed8..a20a7d1a66 100644 +--- a/test/py/tests/test_fs/test_squashfs/test_sqfs_ls.py ++++ b/test/py/tests/test_fs/test_squashfs/test_sqfs_ls.py +@@ -118,6 +118,15 @@ def test_sqfs_ls(u_boot_console): + """ + build_dir = u_boot_console.config.build_dir + ++ # If the EFI subsystem is enabled and initialized, EFI subsystem tries to ++ # add EFI boot option when the new disk is detected. If there is no EFI ++ # System Partition exists, EFI subsystem outputs error messages and ++ # it ends up with test failure. ++ # Restart U-Boot to clear the previous state. ++ # TODO: Ideally EFI test cases need to be fixed, but it will ++ # increase the number of system reset. + u_boot_console.restart_uboot() + # setup test environment