u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more
@ 2025-07-13 23:33 Jonas Karlman
  2025-07-13 23:33 ` [PATCH 01/17] clk: px30: Allow use of GPU and WIFI_PMU in assigned-clocks Jonas Karlman
                   ` (16 more replies)
  0 siblings, 17 replies; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:33 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini
  Cc: u-boot, Jonas Karlman

This series update ODROID-GO Advance/Super to support SPI flash boot,
adds pinctrl in SPL, enable use of checksum validation for FIT images,
include FDT for each board variant in FIT and more.

Each patch in this series has been tested on a ODROID-GO Super:

  DDR3, 333MHz
  BW=32 Col=10 Bk=8 CS0 Row=15 CS=1 Die BW=16 Size=1024MB
  out
  
  U-Boot SPL 2025.07 (Jul 13 2025 - 10:07:16 +0000)
  Trying to boot from MMC1
  ## Checking hash(es) for config config-3 ... OK
  ## Checking hash(es) for Image atf-1 ... sha256+ OK
  ## Checking hash(es) for Image u-boot ... sha256+ OK
  ## Checking hash(es) for Image fdt-3 ... sha256+ OK
  ## Checking hash(es) for Image atf-2 ... sha256+ OK
  ## Checking hash(es) for Image atf-3 ... sha256+ OK
  ## Checking hash(es) for Image atf-4 ... sha256+ OK
  ## Checking hash(es) for Image atf-5 ... sha256+ OK
  
  U-Boot 2025.07 (Jul 13 2025 - 10:07:16 +0000)
  
  Model: ODROID-GO Super
  SoC:   RK3326
  DRAM:  1 GiB (total 1022 MiB)
  PMIC:  RK817 (on=0x80, off=0x08)
  Core:  283 devices, 26 uclasses, devicetree: separate
  MMC:   mmc@ff370000: 0
  Loading Environment from MMC... Reading from MMC(0)... OK
  In:    serial@ff160000
  Out:   serial@ff160000
  Err:   serial@ff160000
  Net:   No ethernet found.
  Hit any key to stop autoboot:  0
  =>

The final patch in this series enables use of the feature added in
"rockchip: px30/rk3326: Implement checkboard() to print SoC variant" [1]

[1] https://patchwork.ozlabs.org/patch/2095941/

Jonas Karlman (17):
  clk: px30: Allow use of GPU and WIFI_PMU in assigned-clocks
  rockchip: odroid-go2: Remove cru assigned-clocks override
  rockchip: odroid-go2: Remove u-boot.dtsi props already defined
  rockchip: odroid-go2: Use appropriate bootph props
  rockchip: odroid-go2: Move SoC common overrides into a SoC u-boot.dtsi
  rockchip: odroid-go2: Remove unsupported Kconfig options
  rockchip: odroid-go2: Update Kconfig options for SPL
  rockchip: odroid-go2: Include pinctrl for sdmmc, sfc and uart in SPL
  rockchip: odroid-go2: Use power off at power plug-in event
  rockchip: odroid-go2: Add support for SPI flash boot
  rockchip: odroid-go2: Select board FDT from FIT in SPL
  rockchip: odroid-go2: Use env from same storage FIT was loaded from
  rockchip: odroid-go2: Enable RockUSB, button, LED and RNG support
  rockchip: odroid-go2: Turn on the blue LED at boot
  rockchip: odroid-go2: Enable more commands
  rockchip: odroid-go2: Add myself as a reviewer
  arm: dts: rockchip: Include OTP in U-Boot pre-reloc phase for RK3326

 arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi    | 111 +++----------
 .../arm/dts/rk3326-odroid-go2-v11-u-boot.dtsi |   3 +
 arch/arm/dts/rk3326-odroid-go3-u-boot.dtsi    |   3 +
 arch/arm/dts/rk3326-u-boot.dtsi               | 154 ++++++++++++++++++
 board/hardkernel/odroid_go2/Kconfig           |   7 +
 board/hardkernel/odroid_go2/MAINTAINERS       |   2 +
 board/hardkernel/odroid_go2/go2.c             |  88 ++++++++--
 configs/odroid-go2_defconfig                  |  63 ++++---
 drivers/clk/rockchip/clk_px30.c               |   6 +
 9 files changed, 315 insertions(+), 122 deletions(-)
 create mode 100644 arch/arm/dts/rk3326-odroid-go2-v11-u-boot.dtsi
 create mode 100644 arch/arm/dts/rk3326-odroid-go3-u-boot.dtsi
 create mode 100644 arch/arm/dts/rk3326-u-boot.dtsi

-- 
2.49.0


^ permalink raw reply	[flat|nested] 33+ messages in thread

* [PATCH 01/17] clk: px30: Allow use of GPU and WIFI_PMU in assigned-clocks
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
@ 2025-07-13 23:33 ` Jonas Karlman
  2025-07-15  9:29   ` Quentin Schulz
  2025-08-30 15:12   ` Kever Yang
  2025-07-13 23:33 ` [PATCH 02/17] rockchip: odroid-go2: Remove cru assigned-clocks override Jonas Karlman
                   ` (15 subsequent siblings)
  16 siblings, 2 replies; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:33 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Lukasz Majewski, Sean Anderson
  Cc: u-boot, Jonas Karlman

Add dummy implementation of set_rate for SCLK_GPU and SCLK_WIFI_PMU to
allow use of dts/upstream assigned-clocks in cru and pmucru nodes.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 drivers/clk/rockchip/clk_px30.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/clk/rockchip/clk_px30.c b/drivers/clk/rockchip/clk_px30.c
index ad7e1c0f2460..b5054e84c326 100644
--- a/drivers/clk/rockchip/clk_px30.c
+++ b/drivers/clk/rockchip/clk_px30.c
@@ -1360,6 +1360,9 @@ static ulong px30_clk_set_rate(struct clk *clk, ulong rate)
 	case SCLK_GMAC_RMII:
 		ret = px30_mac_set_speed_clk(priv, rate);
 		break;
+	/* Might occur in cru assigned-clocks, can be ignored here */
+	case SCLK_GPU:
+		break;
 #endif
 	default:
 		return -ENOENT;
@@ -1726,6 +1729,9 @@ static ulong px30_pmuclk_set_rate(struct clk *clk, ulong rate)
 	case SCLK_UART0_PMU:
 		ret = px30_pmu_uart0_set_clk(priv, rate);
 		break;
+	/* Might occur in pmucru assigned-clocks, can be ignored here */
+	case SCLK_WIFI_PMU:
+		break;
 	default:
 		return -ENOENT;
 	}
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 02/17] rockchip: odroid-go2: Remove cru assigned-clocks override
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
  2025-07-13 23:33 ` [PATCH 01/17] clk: px30: Allow use of GPU and WIFI_PMU in assigned-clocks Jonas Karlman
@ 2025-07-13 23:33 ` Jonas Karlman
  2025-07-15  9:19   ` Quentin Schulz
  2025-08-30 15:12   ` Kever Yang
  2025-07-13 23:33 ` [PATCH 03/17] rockchip: odroid-go2: Remove u-boot.dtsi props already defined Jonas Karlman
                   ` (14 subsequent siblings)
  16 siblings, 2 replies; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:33 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Jonas Karlman
  Cc: u-boot

Remove the cru assigned-clocks override now that SCLK_GPU is supported
by the clock driver.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
index a0ab8b69f2e4..f37daa893c79 100644
--- a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
+++ b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
@@ -32,18 +32,8 @@
 	};
 };
 
-/* U-Boot clk driver for px30 cannot set GPU_CLK */
 &cru {
 	bootph-all;
-	assigned-clocks = <&cru PLL_NPLL>,
-		<&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
-		<&cru HCLK_BUS_PRE>, <&cru HCLK_PERI_PRE>,
-		<&cru PCLK_BUS_PRE>, <&cru PLL_CPLL>;
-
-	assigned-clock-rates = <1188000000>,
-		<200000000>, <200000000>,
-		<150000000>, <150000000>,
-		<100000000>, <17000000>;
 };
 
 &gpio0 {
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 03/17] rockchip: odroid-go2: Remove u-boot.dtsi props already defined
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
  2025-07-13 23:33 ` [PATCH 01/17] clk: px30: Allow use of GPU and WIFI_PMU in assigned-clocks Jonas Karlman
  2025-07-13 23:33 ` [PATCH 02/17] rockchip: odroid-go2: Remove cru assigned-clocks override Jonas Karlman
@ 2025-07-13 23:33 ` Jonas Karlman
  2025-07-15  9:34   ` Quentin Schulz
  2025-07-13 23:33 ` [PATCH 04/17] rockchip: odroid-go2: Use appropriate bootph props Jonas Karlman
                   ` (13 subsequent siblings)
  16 siblings, 1 reply; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:33 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Jonas Karlman
  Cc: u-boot

DTs from dts/upstream already contain aliases for i2c, mmc and serial.

Remove the aliases and status=okay that are already defined in upstream
board or SoC DT.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
This also remove a bad re-defined alias for spi0, SPI flash support will
be added/fixed in a later patch in this series
---
 arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
index f37daa893c79..df21747fad78 100644
--- a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
+++ b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
@@ -10,15 +10,6 @@
 		u-boot,spl-boot-order = &sdmmc;
 	};
 
-	aliases {
-		i2c0 = &i2c0;
-		i2c1 = &i2c1;
-		mmc0 = &sdmmc;
-		serial1 = &uart1;
-		serial2 = &uart2;
-		spi0 = &sfc;
-	};
-
 	dmc {
 		bootph-all;
 		compatible = "rockchip,px30-dmc", "syscon";
@@ -28,7 +19,6 @@
 	rng: rng@ff0b0000 {
 		compatible = "rockchip,cryptov2-rng";
 		reg = <0x0 0xff0b0000 0x0 0x4000>;
-		status = "okay";
 	};
 };
 
@@ -85,7 +75,6 @@
 
 &saradc {
 	bootph-all;
-	status = "okay";
 };
 
 &sdmmc {
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 04/17] rockchip: odroid-go2: Use appropriate bootph props
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
                   ` (2 preceding siblings ...)
  2025-07-13 23:33 ` [PATCH 03/17] rockchip: odroid-go2: Remove u-boot.dtsi props already defined Jonas Karlman
@ 2025-07-13 23:33 ` Jonas Karlman
  2025-08-30 15:13   ` Kever Yang
  2025-07-13 23:33 ` [PATCH 05/17] rockchip: odroid-go2: Move SoC common overrides into a SoC u-boot.dtsi Jonas Karlman
                   ` (12 subsequent siblings)
  16 siblings, 1 reply; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:33 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Jonas Karlman
  Cc: u-boot

GPIO devices are needed in U-Boot proper phase, sdmmc and sfc devices
are needed in SPL and pre-reloc phase.

Update bootph- props to match what boot phase devices are needed at.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
index df21747fad78..a27994e450c0 100644
--- a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
+++ b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
@@ -27,22 +27,18 @@
 };
 
 &gpio0 {
-	bootph-all;
 	gpio-ranges = <&pinctrl 0 0 32>;
 };
 
 &gpio1 {
-	bootph-all;
 	gpio-ranges = <&pinctrl 0 32 32>;
 };
 
 &gpio2 {
-	bootph-all;
 	gpio-ranges = <&pinctrl 0 64 32>;
 };
 
 &gpio3 {
-	bootph-all;
 	gpio-ranges = <&pinctrl 0 96 32>;
 };
 
@@ -78,28 +74,30 @@
 };
 
 &sdmmc {
-	bootph-all;
+	bootph-pre-ram;
+	bootph-some-ram;
 
 	/* mmc to sram can't do dma, prevent aborts transferring TF-A parts */
 	u-boot,spl-fifo-mode;
 };
 
 &sfc {
-	bootph-all;
+	bootph-some-ram;
 };
 
 &{/spi@ff3a0000/flash@0} {
-	bootph-all;
+	bootph-pre-ram;
+	bootph-some-ram;
 };
 
 &uart1 {
-	clock-frequency = <24000000>;
 	bootph-all;
+	clock-frequency = <24000000>;
 };
 
 &uart2 {
-	clock-frequency = <24000000>;
 	bootph-all;
+	clock-frequency = <24000000>;
 };
 
 &xin24m {
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 05/17] rockchip: odroid-go2: Move SoC common overrides into a SoC u-boot.dtsi
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
                   ` (3 preceding siblings ...)
  2025-07-13 23:33 ` [PATCH 04/17] rockchip: odroid-go2: Use appropriate bootph props Jonas Karlman
@ 2025-07-13 23:33 ` Jonas Karlman
  2025-08-30 15:14   ` Kever Yang
  2025-07-13 23:33 ` [PATCH 06/17] rockchip: odroid-go2: Remove unsupported Kconfig options Jonas Karlman
                   ` (11 subsequent siblings)
  16 siblings, 1 reply; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:33 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Jonas Karlman
  Cc: u-boot

Add a new common rk3326-u-boot.dtsi and move the SoC common overrides
into it.

This should not contain any changes other than a possible reorder of
nodes and props.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi | 78 ++--------------------
 arch/arm/dts/rk3326-u-boot.dtsi            | 76 +++++++++++++++++++++
 2 files changed, 81 insertions(+), 73 deletions(-)
 create mode 100644 arch/arm/dts/rk3326-u-boot.dtsi

diff --git a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
index a27994e450c0..06e2c190b1f9 100644
--- a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
+++ b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
@@ -3,56 +3,7 @@
  * Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
  */
 
-#include "rockchip-u-boot.dtsi"
-
-/ {
-	chosen {
-		u-boot,spl-boot-order = &sdmmc;
-	};
-
-	dmc {
-		bootph-all;
-		compatible = "rockchip,px30-dmc", "syscon";
-		reg = <0x0 0xff2a0000 0x0 0x1000>;
-	};
-
-	rng: rng@ff0b0000 {
-		compatible = "rockchip,cryptov2-rng";
-		reg = <0x0 0xff0b0000 0x0 0x4000>;
-	};
-};
-
-&cru {
-	bootph-all;
-};
-
-&gpio0 {
-	gpio-ranges = <&pinctrl 0 0 32>;
-};
-
-&gpio1 {
-	gpio-ranges = <&pinctrl 0 32 32>;
-};
-
-&gpio2 {
-	gpio-ranges = <&pinctrl 0 64 32>;
-};
-
-&gpio3 {
-	gpio-ranges = <&pinctrl 0 96 32>;
-};
-
-&grf {
-	bootph-all;
-};
-
-&pmucru {
-	bootph-all;
-};
-
-&pmugrf {
-	bootph-all;
-};
+#include "rk3326-u-boot.dtsi"
 
 &rk817 {
 	regulators {
@@ -73,33 +24,14 @@
 	bootph-all;
 };
 
-&sdmmc {
-	bootph-pre-ram;
-	bootph-some-ram;
-
-	/* mmc to sram can't do dma, prevent aborts transferring TF-A parts */
-	u-boot,spl-fifo-mode;
-};
-
 &sfc {
-	bootph-some-ram;
-};
-
-&{/spi@ff3a0000/flash@0} {
-	bootph-pre-ram;
-	bootph-some-ram;
+	flash@0 {
+		bootph-pre-ram;
+		bootph-some-ram;
+	};
 };
 
 &uart1 {
 	bootph-all;
 	clock-frequency = <24000000>;
 };
-
-&uart2 {
-	bootph-all;
-	clock-frequency = <24000000>;
-};
-
-&xin24m {
-	bootph-all;
-};
diff --git a/arch/arm/dts/rk3326-u-boot.dtsi b/arch/arm/dts/rk3326-u-boot.dtsi
new file mode 100644
index 000000000000..2894133cfe6d
--- /dev/null
+++ b/arch/arm/dts/rk3326-u-boot.dtsi
@@ -0,0 +1,76 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
+ */
+
+#include "rockchip-u-boot.dtsi"
+
+/ {
+	chosen {
+		u-boot,spl-boot-order = &sdmmc;
+	};
+
+	dmc {
+		compatible = "rockchip,px30-dmc", "syscon";
+		reg = <0x0 0xff2a0000 0x0 0x1000>;
+		bootph-all;
+	};
+
+	rng: rng@ff0b0000 {
+		compatible = "rockchip,cryptov2-rng";
+		reg = <0x0 0xff0b0000 0x0 0x4000>;
+	};
+};
+
+&cru {
+	bootph-all;
+};
+
+&gpio0 {
+	gpio-ranges = <&pinctrl 0 0 32>;
+};
+
+&gpio1 {
+	gpio-ranges = <&pinctrl 0 32 32>;
+};
+
+&gpio2 {
+	gpio-ranges = <&pinctrl 0 64 32>;
+};
+
+&gpio3 {
+	gpio-ranges = <&pinctrl 0 96 32>;
+};
+
+&grf {
+	bootph-all;
+};
+
+&pmucru {
+	bootph-all;
+};
+
+&pmugrf {
+	bootph-all;
+};
+
+&sdmmc {
+	bootph-pre-ram;
+	bootph-some-ram;
+
+	/* mmc to sram can't do dma, prevent aborts transferring TF-A parts */
+	u-boot,spl-fifo-mode;
+};
+
+&sfc {
+	bootph-some-ram;
+};
+
+&uart2 {
+	bootph-all;
+	clock-frequency = <24000000>;
+};
+
+&xin24m {
+	bootph-all;
+};
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 06/17] rockchip: odroid-go2: Remove unsupported Kconfig options
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
                   ` (4 preceding siblings ...)
  2025-07-13 23:33 ` [PATCH 05/17] rockchip: odroid-go2: Move SoC common overrides into a SoC u-boot.dtsi Jonas Karlman
@ 2025-07-13 23:33 ` Jonas Karlman
  2025-08-30 15:14   ` Kever Yang
  2025-07-13 23:33 ` [PATCH 07/17] rockchip: odroid-go2: Update Kconfig options for SPL Jonas Karlman
                   ` (10 subsequent siblings)
  16 siblings, 1 reply; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:33 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Jonas Karlman
  Cc: u-boot

The handheld gaming devices that this defconfig tagets does not contain
an Ethernet port, remove Ethernet related Kconfig options.

They also do not contain any pwm-regulator in their DTs, remove the
PWM regulator related Kconfig option.

Display/video is not supported in U-Boot, remove all display/video
related Kconfig options.

There is no real functional change expected with these options removed.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 configs/odroid-go2_defconfig | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig
index 698aad59dec8..d6a63bd3a4cd 100644
--- a/configs/odroid-go2_defconfig
+++ b/configs/odroid-go2_defconfig
@@ -21,9 +21,7 @@ CONFIG_FIT_VERBOSE=y
 CONFIG_FIT_BEST_MATCH=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3326-odroid-go2.dtb"
-# CONFIG_CONSOLE_MUX is not set
 # CONFIG_DISPLAY_CPUINFO is not set
-CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_BOARD_LATE_INIT=y
 CONFIG_MISC_INIT_R=y
 CONFIG_SPL_MAX_SIZE=0x20000
@@ -69,15 +67,11 @@ CONFIG_MISC=y
 CONFIG_ROCKCHIP_OTP=y
 CONFIG_MMC_DW=y
 CONFIG_MMC_DW_ROCKCHIP=y
-CONFIG_PHY_REALTEK=y
-CONFIG_ETH_DESIGNWARE=y
-CONFIG_GMAC_ROCKCHIP=y
 CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_DM_PMIC=y
 CONFIG_PMIC_RK8XX=y
 CONFIG_SPL_PMIC_RK8XX=y
-CONFIG_REGULATOR_PWM=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_REGULATOR_RK8XX=y
 CONFIG_PWM_ROCKCHIP=y
@@ -96,10 +90,7 @@ CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_GENERIC=y
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_DWC2_OTG=y
-CONFIG_VIDEO=y
-CONFIG_DISPLAY=y
 CONFIG_SPL_TINY_MEMSET=y
 CONFIG_TPL_TINY_MEMSET=y
 CONFIG_LZO=y
 CONFIG_ERRNO_STR=y
-CONFIG_OPTEE_LIB=y
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 07/17] rockchip: odroid-go2: Update Kconfig options for SPL
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
                   ` (5 preceding siblings ...)
  2025-07-13 23:33 ` [PATCH 06/17] rockchip: odroid-go2: Remove unsupported Kconfig options Jonas Karlman
@ 2025-07-13 23:33 ` Jonas Karlman
  2025-08-30 15:14   ` Kever Yang
  2025-07-13 23:33 ` [PATCH 08/17] rockchip: odroid-go2: Include pinctrl for sdmmc, sfc and uart in SPL Jonas Karlman
                   ` (9 subsequent siblings)
  16 siblings, 1 reply; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:33 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Jonas Karlman
  Cc: u-boot

Drop SPL_DRIVERS_MISC, it is not needed/used on these devices.

Enable SPL_FIT_SIGNATURE to ensure the integrity of the FIT images
that are loaded into memory.

Change SPL_MAX_SIZE to 256 KiB, similar to other SoCs where TF-A is
loaded at 0x40000 offset from start of DRAM.

Enable SPL_DM_SEQ_ALIAS to ensure device aliases are applied in SPL.

Drop use of SPL_TINY_MEMSET, there is plenty room for the normal memset.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 configs/odroid-go2_defconfig | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig
index d6a63bd3a4cd..6bc0d12440c9 100644
--- a/configs/odroid-go2_defconfig
+++ b/configs/odroid-go2_defconfig
@@ -10,7 +10,6 @@ CONFIG_DM_RESET=y
 CONFIG_ROCKCHIP_PX30=y
 CONFIG_TARGET_ODROID_GO2=y
 CONFIG_DEBUG_UART_CHANNEL=1
-CONFIG_SPL_DRIVERS_MISC=y
 CONFIG_SYS_LOAD_ADDR=0x800800
 CONFIG_DEBUG_UART_BASE=0xFF160000
 CONFIG_DEBUG_UART_CLOCK=24000000
@@ -19,12 +18,13 @@ CONFIG_DEBUG_UART=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_FIT_BEST_MATCH=y
+CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3326-odroid-go2.dtb"
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_BOARD_LATE_INIT=y
 CONFIG_MISC_INIT_R=y
-CONFIG_SPL_MAX_SIZE=0x20000
+CONFIG_SPL_MAX_SIZE=0x40000
 CONFIG_SPL_BOOTROM_SUPPORT=y
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_SPL_I2C=y
@@ -53,6 +53,7 @@ CONFIG_SPL_OF_CONTROL=y
 CONFIG_OF_LIVE=y
 CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_REGMAP=y
 CONFIG_SPL_REGMAP=y
 CONFIG_SYSCON=y
@@ -90,7 +91,6 @@ CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_GENERIC=y
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_DWC2_OTG=y
-CONFIG_SPL_TINY_MEMSET=y
 CONFIG_TPL_TINY_MEMSET=y
 CONFIG_LZO=y
 CONFIG_ERRNO_STR=y
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 08/17] rockchip: odroid-go2: Include pinctrl for sdmmc, sfc and uart in SPL
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
                   ` (6 preceding siblings ...)
  2025-07-13 23:33 ` [PATCH 07/17] rockchip: odroid-go2: Update Kconfig options for SPL Jonas Karlman
@ 2025-07-13 23:33 ` Jonas Karlman
  2025-08-31  8:46   ` Kever Yang
  2025-07-13 23:33 ` [PATCH 09/17] rockchip: odroid-go2: Use power off at power plug-in event Jonas Karlman
                   ` (8 subsequent siblings)
  16 siblings, 1 reply; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:33 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Jonas Karlman
  Cc: u-boot

Include pinctrl nodes and props for sdmmc, sfc and uart in SPL to ensure
pins are configured according to the device tree.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi | 10 ++++
 arch/arm/dts/rk3326-u-boot.dtsi            | 58 ++++++++++++++++++++++
 configs/odroid-go2_defconfig               |  2 +-
 3 files changed, 69 insertions(+), 1 deletion(-)

diff --git a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
index 06e2c190b1f9..6f40654d5e84 100644
--- a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
+++ b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
@@ -35,3 +35,13 @@
 	bootph-all;
 	clock-frequency = <24000000>;
 };
+
+&uart1_cts {
+	bootph-pre-sram;
+	bootph-pre-ram;
+};
+
+&uart1_xfer {
+	bootph-pre-sram;
+	bootph-pre-ram;
+};
diff --git a/arch/arm/dts/rk3326-u-boot.dtsi b/arch/arm/dts/rk3326-u-boot.dtsi
index 2894133cfe6d..196604a9987c 100644
--- a/arch/arm/dts/rk3326-u-boot.dtsi
+++ b/arch/arm/dts/rk3326-u-boot.dtsi
@@ -46,6 +46,24 @@
 	bootph-all;
 };
 
+&pcfg_pull_none {
+	bootph-all;
+};
+
+&pcfg_pull_none_8ma {
+	bootph-pre-ram;
+	bootph-some-ram;
+};
+
+&pcfg_pull_up {
+	bootph-all;
+};
+
+&pcfg_pull_up_8ma {
+	bootph-pre-ram;
+	bootph-some-ram;
+};
+
 &pmucru {
 	bootph-all;
 };
@@ -62,15 +80,55 @@
 	u-boot,spl-fifo-mode;
 };
 
+&sdmmc_bus4 {
+	bootph-pre-ram;
+	bootph-some-ram;
+};
+
+&sdmmc_clk {
+	bootph-pre-ram;
+	bootph-some-ram;
+};
+
+&sdmmc_cmd {
+	bootph-pre-ram;
+	bootph-some-ram;
+};
+
+&sdmmc_det {
+	bootph-pre-ram;
+	bootph-some-ram;
+};
+
 &sfc {
 	bootph-some-ram;
 };
 
+&sfc_bus2 {
+	bootph-pre-ram;
+	bootph-some-ram;
+};
+
+&sfc_clk {
+	bootph-pre-ram;
+	bootph-some-ram;
+};
+
+&sfc_cs0 {
+	bootph-pre-ram;
+	bootph-some-ram;
+};
+
 &uart2 {
 	bootph-all;
 	clock-frequency = <24000000>;
 };
 
+&uart2m1_xfer {
+	bootph-pre-sram;
+	bootph-pre-ram;
+};
+
 &xin24m {
 	bootph-all;
 };
diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig
index 6bc0d12440c9..b0947fe2c8b2 100644
--- a/configs/odroid-go2_defconfig
+++ b/configs/odroid-go2_defconfig
@@ -51,7 +51,7 @@ CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=64
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_OF_LIVE=y
-CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
+CONFIG_OF_SPL_REMOVE_PROPS="interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_REGMAP=y
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 09/17] rockchip: odroid-go2: Use power off at power plug-in event
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
                   ` (7 preceding siblings ...)
  2025-07-13 23:33 ` [PATCH 08/17] rockchip: odroid-go2: Include pinctrl for sdmmc, sfc and uart in SPL Jonas Karlman
@ 2025-07-13 23:33 ` Jonas Karlman
  2025-07-13 23:33 ` [PATCH 10/17] rockchip: odroid-go2: Add support for SPI flash boot Jonas Karlman
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:33 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Jonas Karlman
  Cc: u-boot

Include the RK817 PMIC in SPL and enable Kconfig options to power off
the handheld gaming device when it was powered on due to a power cable
plug-in event:

  DDR3, 333MHz
  BW=32 Col=10 Bk=8 CS0 Row=15 CS=1 Die BW=16 Size=1024MB
  out
  Power Off due to plug-in event

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi | 18 ++++++++++++++++++
 configs/odroid-go2_defconfig               |  3 +++
 2 files changed, 21 insertions(+)

diff --git a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
index 6f40654d5e84..6c6efa964d80 100644
--- a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
+++ b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
@@ -5,8 +5,26 @@
 
 #include "rk3326-u-boot.dtsi"
 
+&i2c0_xfer {
+	bootph-pre-ram;
+};
+
+&i2s1_2ch_mclk {
+	bootph-pre-ram;
+};
+
+&pcfg_pull_none_smt {
+	bootph-pre-ram;
+};
+
+&pmic_int {
+	bootph-pre-ram;
+};
+
 &rk817 {
 	regulators {
+		bootph-pre-ram;
+
 		vcc_cam: LDO_REG9 {
 			regulator-name = "vcc_cam";
 			regulator-min-microvolt = <3000000>;
diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig
index b0947fe2c8b2..a6d02baa520f 100644
--- a/configs/odroid-go2_defconfig
+++ b/configs/odroid-go2_defconfig
@@ -8,6 +8,7 @@ CONFIG_ENV_OFFSET=0x4000
 CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3326-odroid-go2"
 CONFIG_DM_RESET=y
 CONFIG_ROCKCHIP_PX30=y
+CONFIG_ROCKCHIP_RK8XX_DISABLE_BOOT_ON_POWERON=y
 CONFIG_TARGET_ODROID_GO2=y
 CONFIG_DEBUG_UART_CHANNEL=1
 CONFIG_SYS_LOAD_ADDR=0x800800
@@ -42,6 +43,7 @@ CONFIG_CMD_GPT=y
 # CONFIG_CMD_LOADB is not set
 # CONFIG_CMD_LOADS is not set
 CONFIG_CMD_MMC=y
+CONFIG_CMD_POWEROFF=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 # CONFIG_CMD_ITEST is not set
@@ -73,6 +75,7 @@ CONFIG_SPL_PINCTRL=y
 CONFIG_DM_PMIC=y
 CONFIG_PMIC_RK8XX=y
 CONFIG_SPL_PMIC_RK8XX=y
+CONFIG_SPL_DM_REGULATOR=y
 CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_REGULATOR_RK8XX=y
 CONFIG_PWM_ROCKCHIP=y
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 10/17] rockchip: odroid-go2: Add support for SPI flash boot
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
                   ` (8 preceding siblings ...)
  2025-07-13 23:33 ` [PATCH 09/17] rockchip: odroid-go2: Use power off at power plug-in event Jonas Karlman
@ 2025-07-13 23:33 ` Jonas Karlman
  2025-07-13 23:33 ` [PATCH 11/17] rockchip: odroid-go2: Select board FDT from FIT in SPL Jonas Karlman
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:33 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Jonas Karlman
  Cc: u-boot

The ODROID GO2 devices come with onboard SPI flash, add support for
using the SPI flash.

The BootROM seem to expect the IDBlock at 64 KiB offset compared to the
typical 32 KiB offset from start of SPI flash used by other SoCs.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 arch/arm/dts/rk3326-u-boot.dtsi | 18 +++++++++++++++++-
 configs/odroid-go2_defconfig    | 11 +++++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/arch/arm/dts/rk3326-u-boot.dtsi b/arch/arm/dts/rk3326-u-boot.dtsi
index 196604a9987c..be1dd4f91c1b 100644
--- a/arch/arm/dts/rk3326-u-boot.dtsi
+++ b/arch/arm/dts/rk3326-u-boot.dtsi
@@ -6,8 +6,12 @@
 #include "rockchip-u-boot.dtsi"
 
 / {
+	aliases {
+		spi2 = &sfc;
+	};
+
 	chosen {
-		u-boot,spl-boot-order = &sdmmc;
+		u-boot,spl-boot-order = "same-as-spl", &sdmmc;
 	};
 
 	dmc {
@@ -22,6 +26,17 @@
 	};
 };
 
+#ifdef CONFIG_ROCKCHIP_SPI_IMAGE
+&binman {
+	simple-bin-spi {
+		mkimage {
+			args = "-n", CONFIG_SYS_SOC, "-T", "rksd";
+			offset = <0x10000>;
+		};
+	};
+};
+#endif
+
 &cru {
 	bootph-all;
 };
@@ -102,6 +117,7 @@
 
 &sfc {
 	bootph-some-ram;
+	u-boot,spl-sfc-no-dma;
 };
 
 &sfc_bus2 {
diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig
index a6d02baa520f..09ba6b7fcfaa 100644
--- a/configs/odroid-go2_defconfig
+++ b/configs/odroid-go2_defconfig
@@ -3,17 +3,23 @@ CONFIG_SKIP_LOWLEVEL_INIT=y
 CONFIG_COUNTER_FREQUENCY=24000000
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_NR_DRAM_BANKS=1
+CONFIG_SF_DEFAULT_SPEED=108000000
+CONFIG_SF_DEFAULT_MODE=0x1000
 CONFIG_ENV_SIZE=0x4000
 CONFIG_ENV_OFFSET=0x4000
 CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3326-odroid-go2"
 CONFIG_DM_RESET=y
 CONFIG_ROCKCHIP_PX30=y
 CONFIG_ROCKCHIP_RK8XX_DISABLE_BOOT_ON_POWERON=y
+CONFIG_ROCKCHIP_SPI_IMAGE=y
 CONFIG_TARGET_ODROID_GO2=y
 CONFIG_DEBUG_UART_CHANNEL=1
 CONFIG_SYS_LOAD_ADDR=0x800800
+CONFIG_SF_DEFAULT_BUS=2
 CONFIG_DEBUG_UART_BASE=0xFF160000
 CONFIG_DEBUG_UART_CLOCK=24000000
+CONFIG_SPL_SPI_FLASH_SUPPORT=y
+CONFIG_SPL_SPI=y
 CONFIG_DEBUG_UART=y
 # CONFIG_ANDROID_BOOT_IMAGE is not set
 CONFIG_FIT=y
@@ -30,6 +36,8 @@ CONFIG_SPL_BOOTROM_SUPPORT=y
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_SPL_I2C=y
 CONFIG_SPL_POWER=y
+CONFIG_SPL_SPI_LOAD=y
+CONFIG_SYS_SPI_U_BOOT_OFFS=0x100000
 CONFIG_SPL_ATF=y
 # CONFIG_TPL_FRAMEWORK is not set
 # CONFIG_TPL_BANNER_PRINT is not set
@@ -70,6 +78,8 @@ CONFIG_MISC=y
 CONFIG_ROCKCHIP_OTP=y
 CONFIG_MMC_DW=y
 CONFIG_MMC_DW_ROCKCHIP=y
+CONFIG_SPI_FLASH_SFDP_SUPPORT=y
+CONFIG_SPI_FLASH_XTX=y
 CONFIG_PINCTRL=y
 CONFIG_SPL_PINCTRL=y
 CONFIG_DM_PMIC=y
@@ -87,6 +97,7 @@ CONFIG_ROCKCHIP_SDRAM_COMMON=y
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SOUND=y
+CONFIG_ROCKCHIP_SFC=y
 CONFIG_SYSRESET=y
 CONFIG_DM_THERMAL=y
 CONFIG_USB=y
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 11/17] rockchip: odroid-go2: Select board FDT from FIT in SPL
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
                   ` (9 preceding siblings ...)
  2025-07-13 23:33 ` [PATCH 10/17] rockchip: odroid-go2: Add support for SPI flash boot Jonas Karlman
@ 2025-07-13 23:33 ` Jonas Karlman
  2025-07-13 23:34 ` [PATCH 12/17] rockchip: odroid-go2: Use env from same storage FIT was loaded from Jonas Karlman
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:33 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Jonas Karlman
  Cc: u-boot

Include FDTs for all three board variants in the FIT image and adjust
the board selection code to use correct FDT in U-Boot proper.

E.g. use the odroid-go3 DT for a ODROID-GO Super device:

  U-Boot 2025.07 (Jul 13 2025 - 10:07:16 +0000)

  Model: ODROID-GO Super
  DRAM:  1 GiB (total 1022 MiB)
  PMIC:  RK817 (on=0x80, off=0x08)

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi    |  3 +-
 .../arm/dts/rk3326-odroid-go2-v11-u-boot.dtsi |  3 ++
 arch/arm/dts/rk3326-odroid-go3-u-boot.dtsi    |  3 ++
 board/hardkernel/odroid_go2/Kconfig           |  6 +++
 board/hardkernel/odroid_go2/go2.c             | 54 +++++++++++++------
 configs/odroid-go2_defconfig                  |  2 +
 6 files changed, 55 insertions(+), 16 deletions(-)
 create mode 100644 arch/arm/dts/rk3326-odroid-go2-v11-u-boot.dtsi
 create mode 100644 arch/arm/dts/rk3326-odroid-go3-u-boot.dtsi

diff --git a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
index 6c6efa964d80..393710246e1c 100644
--- a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
+++ b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
@@ -39,7 +39,8 @@
 };
 
 &saradc {
-	bootph-all;
+	bootph-pre-ram;
+	vdd-microvolts = <1800000>;
 };
 
 &sfc {
diff --git a/arch/arm/dts/rk3326-odroid-go2-v11-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go2-v11-u-boot.dtsi
new file mode 100644
index 000000000000..89b2d9573ad9
--- /dev/null
+++ b/arch/arm/dts/rk3326-odroid-go2-v11-u-boot.dtsi
@@ -0,0 +1,3 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+#include "rk3326-odroid-go2-u-boot.dtsi"
diff --git a/arch/arm/dts/rk3326-odroid-go3-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go3-u-boot.dtsi
new file mode 100644
index 000000000000..89b2d9573ad9
--- /dev/null
+++ b/arch/arm/dts/rk3326-odroid-go3-u-boot.dtsi
@@ -0,0 +1,3 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+#include "rk3326-odroid-go2-u-boot.dtsi"
diff --git a/board/hardkernel/odroid_go2/Kconfig b/board/hardkernel/odroid_go2/Kconfig
index 82988dffb3cb..dd6e366282e3 100644
--- a/board/hardkernel/odroid_go2/Kconfig
+++ b/board/hardkernel/odroid_go2/Kconfig
@@ -9,4 +9,10 @@ config SYS_VENDOR
 config SYS_CONFIG_NAME
 	default "odroid_go2"
 
+config BOARD_SPECIFIC_OPTIONS # dummy
+	def_bool y
+	select ADC
+	select BOARD_TYPES
+	select SPL_ADC
+
 endif
diff --git a/board/hardkernel/odroid_go2/go2.c b/board/hardkernel/odroid_go2/go2.c
index a0338ead3b5a..9d9f3cee36a5 100644
--- a/board/hardkernel/odroid_go2/go2.c
+++ b/board/hardkernel/odroid_go2/go2.c
@@ -10,6 +10,8 @@
 #include <env.h>
 #include <stdlib.h>
 
+DECLARE_GLOBAL_DATA_PTR;
+
 #define DTB_DIR			"rockchip/"
 
 struct oga_model {
@@ -20,7 +22,7 @@ struct oga_model {
 };
 
 enum oga_device_id {
-	OGA,
+	OGA = 1,
 	OGA_V11,
 	OGS,
 };
@@ -50,15 +52,10 @@ static const struct oga_model oga_model_details[] = {
 	},
 };
 
-/* Detect which Odroid Go Advance device we are using so as to load the
- * correct devicetree for Linux. Set an environment variable once
- * found. The detection depends on the value of ADC channel 0.
- */
-int oga_detect_device(void)
+static int oga_read_board_id(void)
 {
 	u32 adc_info;
-	int ret, i;
-	int board_id = -ENXIO;
+	int i, ret;
 
 	ret = adc_channel_single_shot("saradc@ff288000", 0, &adc_info);
 	if (ret) {
@@ -72,22 +69,32 @@ int oga_detect_device(void)
 	 * accounted for this with a 5% tolerance, so assume a +- value
 	 * of 50 should be enough.
 	 */
-	for (i = 0; i < ARRAY_SIZE(oga_model_details); i++) {
+	for (i = 1; i < ARRAY_SIZE(oga_model_details); i++) {
 		u32 adc_min = oga_model_details[i].adc_value - 50;
 		u32 adc_max = oga_model_details[i].adc_value + 50;
 
-		if (adc_min < adc_info && adc_max > adc_info) {
-			board_id = i;
-			break;
-		}
+		if (adc_min < adc_info && adc_max > adc_info)
+			return i;
 	}
 
+	return -ENODEV;
+}
+
+/* Detect which Odroid Go Advance device we are using so as to load the
+ * correct devicetree for Linux. Set an environment variable once
+ * found. The detection depends on the value of ADC channel 0.
+ */
+static int oga_detect_device(void)
+{
+	int board_id;
+
+	board_id = oga_read_board_id();
 	if (board_id < 0)
 		return board_id;
+	gd->board_type = board_id;
 
 	env_set("board", oga_model_details[board_id].board);
-	env_set("board_name",
-		oga_model_details[board_id].board_name);
+	env_set("board_name", oga_model_details[board_id].board_name);
 	env_set("fdtfile", oga_model_details[board_id].fdtfile);
 
 	return 0;
@@ -105,3 +112,20 @@ int rk_board_late_init(void)
 
 	return 0;
 }
+
+int board_fit_config_name_match(const char *name)
+{
+	int board_id;
+
+	if (!gd->board_type) {
+		board_id = oga_read_board_id();
+		if (board_id < 0)
+			return board_id;
+		gd->board_type = board_id;
+	}
+
+	if (!strcmp(name, oga_model_details[gd->board_type].fdtfile))
+		return 0;
+
+	return -EINVAL;
+}
diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig
index 09ba6b7fcfaa..05d9f9c09dee 100644
--- a/configs/odroid-go2_defconfig
+++ b/configs/odroid-go2_defconfig
@@ -8,6 +8,7 @@ CONFIG_SF_DEFAULT_MODE=0x1000
 CONFIG_ENV_SIZE=0x4000
 CONFIG_ENV_OFFSET=0x4000
 CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3326-odroid-go2"
+CONFIG_OF_LIBFDT_OVERLAY=y
 CONFIG_DM_RESET=y
 CONFIG_ROCKCHIP_PX30=y
 CONFIG_ROCKCHIP_RK8XX_DISABLE_BOOT_ON_POWERON=y
@@ -61,6 +62,7 @@ CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=64
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_OF_LIVE=y
+CONFIG_OF_LIST="rockchip/rk3326-odroid-go2 rockchip/rk3326-odroid-go2-v11 rockchip/rk3326-odroid-go3"
 CONFIG_OF_SPL_REMOVE_PROPS="interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
 CONFIG_ENV_IS_IN_MMC=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 12/17] rockchip: odroid-go2: Use env from same storage FIT was loaded from
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
                   ` (10 preceding siblings ...)
  2025-07-13 23:33 ` [PATCH 11/17] rockchip: odroid-go2: Select board FDT from FIT in SPL Jonas Karlman
@ 2025-07-13 23:34 ` Jonas Karlman
  2025-07-15  9:46   ` Quentin Schulz
  2025-07-13 23:34 ` [PATCH 13/17] rockchip: odroid-go2: Enable RockUSB, button, LED and RNG support Jonas Karlman
                   ` (4 subsequent siblings)
  16 siblings, 1 reply; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:34 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Jonas Karlman
  Cc: u-boot

Change to dynamically select what storage media to use for the U-Boot
environment depending on from what storage media the FIT images was
loaded from, fall back to use env from nowhere.

  U-Boot SPL 2025.07 (Jul 13 2025 - 10:07:16 +0000)
  Trying to boot from MMC1
  ...
  Loading Environment from MMC... Reading from MMC(0)...

or

  U-Boot SPL 2025.07 (Jul 13 2025 - 10:07:16 +0000)
  Trying to boot from SPI
  ...
  Loading Environment from SPIFlash...

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 board/hardkernel/odroid_go2/Kconfig |  1 +
 board/hardkernel/odroid_go2/go2.c   | 34 +++++++++++++++++++++++++++++
 configs/odroid-go2_defconfig        |  2 ++
 3 files changed, 37 insertions(+)

diff --git a/board/hardkernel/odroid_go2/Kconfig b/board/hardkernel/odroid_go2/Kconfig
index dd6e366282e3..6487335972b8 100644
--- a/board/hardkernel/odroid_go2/Kconfig
+++ b/board/hardkernel/odroid_go2/Kconfig
@@ -13,6 +13,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
 	def_bool y
 	select ADC
 	select BOARD_TYPES
+	select ENV_IS_NOWHERE
 	select SPL_ADC
 
 endif
diff --git a/board/hardkernel/odroid_go2/go2.c b/board/hardkernel/odroid_go2/go2.c
index 9d9f3cee36a5..ae32ea87af88 100644
--- a/board/hardkernel/odroid_go2/go2.c
+++ b/board/hardkernel/odroid_go2/go2.c
@@ -7,7 +7,9 @@
 #include <adc.h>
 #include <asm/io.h>
 #include <dm.h>
+#include <dm/uclass-internal.h>
 #include <env.h>
+#include <env_internal.h>
 #include <stdlib.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -129,3 +131,35 @@ int board_fit_config_name_match(const char *name)
 
 	return -EINVAL;
 }
+
+enum env_location env_get_location(enum env_operation op, int prio)
+{
+	const char *boot_device;
+	struct udevice *dev;
+	ofnode node;
+
+	if (prio)
+		return ENVL_UNKNOWN;
+
+	boot_device = ofnode_read_chosen_string("u-boot,spl-boot-device");
+	if (!boot_device) {
+		debug("%s: /chosen/u-boot,spl-boot-device not set\n", __func__);
+		return ENVL_NOWHERE;
+	}
+
+	debug("%s: booted from %s\n", __func__, boot_device);
+
+	node = ofnode_path(boot_device);
+	if (!ofnode_valid(node))
+		return ENVL_NOWHERE;
+
+	if (IS_ENABLED(CONFIG_ENV_IS_IN_SPI_FLASH) &&
+	    !uclass_find_device_by_ofnode(UCLASS_SPI_FLASH, node, &dev))
+		return ENVL_SPI_FLASH;
+
+	if (IS_ENABLED(CONFIG_ENV_IS_IN_MMC) &&
+	    !uclass_find_device_by_ofnode(UCLASS_MMC, node, &dev))
+		return ENVL_MMC;
+
+	return ENVL_NOWHERE;
+}
diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig
index 05d9f9c09dee..185d0f1d7c5f 100644
--- a/configs/odroid-go2_defconfig
+++ b/configs/odroid-go2_defconfig
@@ -65,6 +65,8 @@ CONFIG_OF_LIVE=y
 CONFIG_OF_LIST="rockchip/rk3326-odroid-go2 rockchip/rk3326-odroid-go2-v11 rockchip/rk3326-odroid-go3"
 CONFIG_OF_SPL_REMOVE_PROPS="interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
 CONFIG_ENV_IS_IN_MMC=y
+CONFIG_ENV_IS_IN_SPI_FLASH=y
+CONFIG_ENV_RELOC_GD_ENV_ADDR=y
 CONFIG_SPL_DM_SEQ_ALIAS=y
 CONFIG_REGMAP=y
 CONFIG_SPL_REGMAP=y
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 13/17] rockchip: odroid-go2: Enable RockUSB, button, LED and RNG support
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
                   ` (11 preceding siblings ...)
  2025-07-13 23:34 ` [PATCH 12/17] rockchip: odroid-go2: Use env from same storage FIT was loaded from Jonas Karlman
@ 2025-07-13 23:34 ` Jonas Karlman
  2025-07-13 23:34 ` [PATCH 14/17] rockchip: odroid-go2: Turn on the blue LED at boot Jonas Karlman
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:34 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Jonas Karlman
  Cc: u-boot

Enable Kconfig options to support RockUSB, buttons, LEDs and RNG
featured on the board or SoC.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 configs/odroid-go2_defconfig | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig
index 185d0f1d7c5f..70d74c65a2f3 100644
--- a/configs/odroid-go2_defconfig
+++ b/configs/odroid-go2_defconfig
@@ -54,6 +54,7 @@ CONFIG_CMD_GPT=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_POWEROFF=y
 CONFIG_CMD_USB=y
+CONFIG_CMD_ROCKUSB=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 # CONFIG_CMD_ITEST is not set
 # CONFIG_CMD_SLEEP is not set
@@ -72,12 +73,17 @@ CONFIG_REGMAP=y
 CONFIG_SPL_REGMAP=y
 CONFIG_SYSCON=y
 CONFIG_SPL_SYSCON=y
+CONFIG_BUTTON=y
+CONFIG_BUTTON_GPIO=y
 CONFIG_CLK=y
 CONFIG_SPL_CLK=y
 CONFIG_FASTBOOT_BUF_ADDR=0x800800
 CONFIG_FASTBOOT_BUF_SIZE=0x04000000
 CONFIG_ROCKCHIP_GPIO=y
 CONFIG_SYS_I2C_ROCKCHIP=y
+CONFIG_LED=y
+CONFIG_LED_PWM=y
+CONFIG_LED_GPIO=y
 CONFIG_MISC=y
 CONFIG_ROCKCHIP_OTP=y
 CONFIG_MMC_DW=y
@@ -97,6 +103,8 @@ CONFIG_RAM=y
 CONFIG_SPL_RAM=y
 CONFIG_TPL_RAM=y
 CONFIG_ROCKCHIP_SDRAM_COMMON=y
+CONFIG_DM_RNG=y
+CONFIG_RNG_ROCKCHIP=y
 # CONFIG_SPECIFY_CONSOLE_INDEX is not set
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_SYS_NS16550_MEM32=y
@@ -109,6 +117,7 @@ CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_GENERIC=y
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_DWC2_OTG=y
+CONFIG_USB_FUNCTION_ROCKUSB=y
 CONFIG_TPL_TINY_MEMSET=y
 CONFIG_LZO=y
 CONFIG_ERRNO_STR=y
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 14/17] rockchip: odroid-go2: Turn on the blue LED at boot
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
                   ` (12 preceding siblings ...)
  2025-07-13 23:34 ` [PATCH 13/17] rockchip: odroid-go2: Enable RockUSB, button, LED and RNG support Jonas Karlman
@ 2025-07-13 23:34 ` Jonas Karlman
  2025-07-13 23:34 ` [PATCH 15/17] rockchip: odroid-go2: Enable more commands Jonas Karlman
                   ` (2 subsequent siblings)
  16 siblings, 0 replies; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:34 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Jonas Karlman
  Cc: u-boot

Use default-state prop to ensure that the blue heartbeat LED turns on
at boot to inticate that U-Boot proper has been reached.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
index 393710246e1c..170e0f7d8475 100644
--- a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
+++ b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
@@ -5,6 +5,11 @@
 
 #include "rk3326-u-boot.dtsi"
 
+&blue_led {
+	default-state = "on";
+	u-boot,default-brightness = <127>;
+};
+
 &i2c0_xfer {
 	bootph-pre-ram;
 };
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 15/17] rockchip: odroid-go2: Enable more commands
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
                   ` (13 preceding siblings ...)
  2025-07-13 23:34 ` [PATCH 14/17] rockchip: odroid-go2: Turn on the blue LED at boot Jonas Karlman
@ 2025-07-13 23:34 ` Jonas Karlman
  2025-07-13 23:34 ` [PATCH 16/17] rockchip: odroid-go2: Add myself as a reviewer Jonas Karlman
  2025-07-13 23:34 ` [PATCH 17/17] arm: dts: rockchip: Include OTP in U-Boot pre-reloc phase for RK3326 Jonas Karlman
  16 siblings, 0 replies; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:34 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Jonas Karlman
  Cc: u-boot

Enable the default commands and some more useful commands that can be
useful to determin the state of the board from U-Boot CLI.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 configs/odroid-go2_defconfig | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig
index 70d74c65a2f3..512ffefc70f6 100644
--- a/configs/odroid-go2_defconfig
+++ b/configs/odroid-go2_defconfig
@@ -42,22 +42,21 @@ CONFIG_SYS_SPI_U_BOOT_OFFS=0x100000
 CONFIG_SPL_ATF=y
 # CONFIG_TPL_FRAMEWORK is not set
 # CONFIG_TPL_BANNER_PRINT is not set
-# CONFIG_CMD_BOOTD is not set
-# CONFIG_CMD_ELF is not set
-# CONFIG_CMD_IMI is not set
-# CONFIG_CMD_XIMG is not set
-# CONFIG_CMD_LZMADEC is not set
-# CONFIG_CMD_UNZIP is not set
+CONFIG_CMD_MEMINFO=y
+CONFIG_CMD_MEMINFO_MAP=y
+CONFIG_CMD_ADC=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_PWM=y
 CONFIG_CMD_GPT=y
-# CONFIG_CMD_LOADB is not set
-# CONFIG_CMD_LOADS is not set
+CONFIG_CMD_I2C=y
+CONFIG_CMD_MISC=y
 CONFIG_CMD_MMC=y
 CONFIG_CMD_POWEROFF=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_ROCKUSB=y
 CONFIG_CMD_USB_MASS_STORAGE=y
-# CONFIG_CMD_ITEST is not set
-# CONFIG_CMD_SLEEP is not set
+CONFIG_CMD_RNG=y
+CONFIG_CMD_REGULATOR=y
 # CONFIG_SPL_DOS_PARTITION is not set
 # CONFIG_ISO_PARTITION is not set
 CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=64
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 16/17] rockchip: odroid-go2: Add myself as a reviewer
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
                   ` (14 preceding siblings ...)
  2025-07-13 23:34 ` [PATCH 15/17] rockchip: odroid-go2: Enable more commands Jonas Karlman
@ 2025-07-13 23:34 ` Jonas Karlman
  2025-07-13 23:34 ` [PATCH 17/17] arm: dts: rockchip: Include OTP in U-Boot pre-reloc phase for RK3326 Jonas Karlman
  16 siblings, 0 replies; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:34 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Jonas Karlman
  Cc: u-boot

I have the ORDOID-GO Super variant of this board. Add myself as a
reviewer to help review future patches targeting this device.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 board/hardkernel/odroid_go2/MAINTAINERS | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/board/hardkernel/odroid_go2/MAINTAINERS b/board/hardkernel/odroid_go2/MAINTAINERS
index 9e83bc9452c8..ee06c2fa6518 100644
--- a/board/hardkernel/odroid_go2/MAINTAINERS
+++ b/board/hardkernel/odroid_go2/MAINTAINERS
@@ -1,6 +1,8 @@
 GO2
 M:      Heiko Stuebner <heiko.stuebner@cherry.de>
+R:      Jonas Karlman <jonas@kwiboo.se>
 S:      Maintained
 F:      board/hardkernel/odroid_go2/
 F:      include/configs/odroid_go2.h
+F:      arch/arm/dts/rk3326-odroid-go*
 F:      configs/odroid-go2_defconfig
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 17/17] arm: dts: rockchip: Include OTP in U-Boot pre-reloc phase for RK3326
  2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
                   ` (15 preceding siblings ...)
  2025-07-13 23:34 ` [PATCH 16/17] rockchip: odroid-go2: Add myself as a reviewer Jonas Karlman
@ 2025-07-13 23:34 ` Jonas Karlman
  16 siblings, 0 replies; 33+ messages in thread
From: Jonas Karlman @ 2025-07-13 23:34 UTC (permalink / raw)
  To: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini
  Cc: u-boot, Jonas Karlman

Update rk3326-u-boot.dtsi to include OTP in U-Boot pre-reloc phase for
checkboard() to be able to read information about the running SoC model
and variant from OTP and print it during boot:

  U-Boot 2025.07 (Jul 13 2025 - 10:07:16 +0000)

  Model: ODROID-GO Super
  SoC:   RK3326
  DRAM:  1 GiB (total 1022 MiB)

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
This patch only makes sense together with "rockchip: px30/rk3326:
Implement checkboard() to print SoC variant" [1]

[1] https://patchwork.ozlabs.org/patch/2095941/
---
 arch/arm/dts/rk3326-u-boot.dtsi | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/dts/rk3326-u-boot.dtsi b/arch/arm/dts/rk3326-u-boot.dtsi
index be1dd4f91c1b..6503a9382b9c 100644
--- a/arch/arm/dts/rk3326-u-boot.dtsi
+++ b/arch/arm/dts/rk3326-u-boot.dtsi
@@ -61,6 +61,10 @@
 	bootph-all;
 };
 
+&otp {
+	bootph-some-ram;
+};
+
 &pcfg_pull_none {
 	bootph-all;
 };
-- 
2.49.0


^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Re: [PATCH 02/17] rockchip: odroid-go2: Remove cru assigned-clocks override
  2025-07-13 23:33 ` [PATCH 02/17] rockchip: odroid-go2: Remove cru assigned-clocks override Jonas Karlman
@ 2025-07-15  9:19   ` Quentin Schulz
  2025-07-15 10:22     ` Jonas Karlman
  2025-08-30 15:12   ` Kever Yang
  1 sibling, 1 reply; 33+ messages in thread
From: Quentin Schulz @ 2025-07-15  9:19 UTC (permalink / raw)
  To: Jonas Karlman, Kever Yang, Heiko Stuebner, Simon Glass,
	Philipp Tomsich, Tom Rini
  Cc: u-boot

Hi Jonas,

On 7/14/25 1:33 AM, Jonas Karlman wrote:
> Remove the cru assigned-clocks override now that SCLK_GPU is supported
> by the clock driver.
> 
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>

And this seems like we can remove

/delete-property/ assigned-clocks;
/delete-property/ assigned-clock-rates;

from cru and pmucru from arch/arm/dts/px30-u-boot.dtsi?

And... maybe we can eventually make 
arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi include 
arch/arm/dts/px30-u-boot.dtsi to avoid duplication and match what the 
upstream DT does (including rk3326.dtsi which includes px30.dtsi and 
deletes VOPL)?

Cheers,
Quentin

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 01/17] clk: px30: Allow use of GPU and WIFI_PMU in assigned-clocks
  2025-07-13 23:33 ` [PATCH 01/17] clk: px30: Allow use of GPU and WIFI_PMU in assigned-clocks Jonas Karlman
@ 2025-07-15  9:29   ` Quentin Schulz
  2025-08-30 15:12   ` Kever Yang
  1 sibling, 0 replies; 33+ messages in thread
From: Quentin Schulz @ 2025-07-15  9:29 UTC (permalink / raw)
  To: Jonas Karlman, Kever Yang, Heiko Stuebner, Simon Glass,
	Philipp Tomsich, Tom Rini, Lukasz Majewski, Sean Anderson
  Cc: u-boot

Hi Jonas,

On 7/14/25 1:33 AM, Jonas Karlman wrote:
> Add dummy implementation of set_rate for SCLK_GPU and SCLK_WIFI_PMU to
> allow use of dts/upstream assigned-clocks in cru and pmucru nodes.
> 
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
> ---
>   drivers/clk/rockchip/clk_px30.c | 6 ++++++
>   1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/clk/rockchip/clk_px30.c b/drivers/clk/rockchip/clk_px30.c
> index ad7e1c0f2460..b5054e84c326 100644
> --- a/drivers/clk/rockchip/clk_px30.c
> +++ b/drivers/clk/rockchip/clk_px30.c
> @@ -1360,6 +1360,9 @@ static ulong px30_clk_set_rate(struct clk *clk, ulong rate)
>   	case SCLK_GMAC_RMII:
>   		ret = px30_mac_set_speed_clk(priv, rate);
>   		break;
> +	/* Might occur in cru assigned-clocks, can be ignored here */
> +	case SCLK_GPU:
> +		break;

Seems to only be used for the GPU and the power domain of the GPU. I 
don't think we're planning on making use of the GPU in U-Boot until a 
long time so this is fine.

>   #endif
>   	default:
>   		return -ENOENT;
> @@ -1726,6 +1729,9 @@ static ulong px30_pmuclk_set_rate(struct clk *clk, ulong rate)
>   	case SCLK_UART0_PMU:
>   		ret = px30_pmu_uart0_set_clk(priv, rate);
>   		break;
> +	/* Might occur in pmucru assigned-clocks, can be ignored here */
> +	case SCLK_WIFI_PMU:
> +		break;

Seems like the only use-case for this clock is generating a clock output 
on gpio0_a0 which requires a pinmux different from the default GPIO 
function. I don't see any DT (px30 or rk3326) making use of that pin 
that way, so looks good to me too, therefore:

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>

Thanks!
Quentin

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 03/17] rockchip: odroid-go2: Remove u-boot.dtsi props already defined
  2025-07-13 23:33 ` [PATCH 03/17] rockchip: odroid-go2: Remove u-boot.dtsi props already defined Jonas Karlman
@ 2025-07-15  9:34   ` Quentin Schulz
  2025-07-15 10:56     ` Jonas Karlman
  0 siblings, 1 reply; 33+ messages in thread
From: Quentin Schulz @ 2025-07-15  9:34 UTC (permalink / raw)
  To: Jonas Karlman, Kever Yang, Heiko Stuebner, Simon Glass,
	Philipp Tomsich, Tom Rini
  Cc: u-boot

Hi Jonas

On 7/14/25 1:33 AM, Jonas Karlman wrote:
> DTs from dts/upstream already contain aliases for i2c, mmc and serial.
> 
> Remove the aliases and status=okay that are already defined in upstream
> board or SoC DT.
> 
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
> ---
> This also remove a bad re-defined alias for spi0, SPI flash support will
> be added/fixed in a later patch in this series

This won't make it to the commit log in the git tree but is an important 
piece of information.

Please have a separate commit just for that or at the very least have it 
properly explained in the commit log as I checked the diff and did 
notice this was different.

Otherwise looks ok to me.

Cheers,
Quentin

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 12/17] rockchip: odroid-go2: Use env from same storage FIT was loaded from
  2025-07-13 23:34 ` [PATCH 12/17] rockchip: odroid-go2: Use env from same storage FIT was loaded from Jonas Karlman
@ 2025-07-15  9:46   ` Quentin Schulz
  2025-07-15 15:34     ` Jonas Karlman
  0 siblings, 1 reply; 33+ messages in thread
From: Quentin Schulz @ 2025-07-15  9:46 UTC (permalink / raw)
  To: Jonas Karlman, Kever Yang, Heiko Stuebner, Simon Glass,
	Philipp Tomsich, Tom Rini
  Cc: u-boot

Hi Jonas,

On 7/14/25 1:34 AM, Jonas Karlman wrote:
> Change to dynamically select what storage media to use for the U-Boot
> environment depending on from what storage media the FIT images was
> loaded from, fall back to use env from nowhere.
> 
>    U-Boot SPL 2025.07 (Jul 13 2025 - 10:07:16 +0000)
>    Trying to boot from MMC1
>    ...
>    Loading Environment from MMC... Reading from MMC(0)...
> 
> or
> 
>    U-Boot SPL 2025.07 (Jul 13 2025 - 10:07:16 +0000)
>    Trying to boot from SPI
>    ...
>    Loading Environment from SPIFlash...
> 
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
> ---
>   board/hardkernel/odroid_go2/Kconfig |  1 +
>   board/hardkernel/odroid_go2/go2.c   | 34 +++++++++++++++++++++++++++++
>   configs/odroid-go2_defconfig        |  2 ++
>   3 files changed, 37 insertions(+)
> 
> diff --git a/board/hardkernel/odroid_go2/Kconfig b/board/hardkernel/odroid_go2/Kconfig
> index dd6e366282e3..6487335972b8 100644
> --- a/board/hardkernel/odroid_go2/Kconfig
> +++ b/board/hardkernel/odroid_go2/Kconfig
> @@ -13,6 +13,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
>   	def_bool y
>   	select ADC
>   	select BOARD_TYPES
> +	select ENV_IS_NOWHERE
>   	select SPL_ADC
>   
>   endif
> diff --git a/board/hardkernel/odroid_go2/go2.c b/board/hardkernel/odroid_go2/go2.c
> index 9d9f3cee36a5..ae32ea87af88 100644
> --- a/board/hardkernel/odroid_go2/go2.c
> +++ b/board/hardkernel/odroid_go2/go2.c
> @@ -7,7 +7,9 @@
>   #include <adc.h>
>   #include <asm/io.h>
>   #include <dm.h>
> +#include <dm/uclass-internal.h>
>   #include <env.h>
> +#include <env_internal.h>
>   #include <stdlib.h>
>   
>   DECLARE_GLOBAL_DATA_PTR;
> @@ -129,3 +131,35 @@ int board_fit_config_name_match(const char *name)
>   
>   	return -EINVAL;
>   }
> +
> +enum env_location env_get_location(enum env_operation op, int prio)
> +{
> +	const char *boot_device;
> +	struct udevice *dev;
> +	ofnode node;
> +
> +	if (prio)
> +		return ENVL_UNKNOWN;
> +
> +	boot_device = ofnode_read_chosen_string("u-boot,spl-boot-device");
> +	if (!boot_device) {
> +		debug("%s: /chosen/u-boot,spl-boot-device not set\n", __func__);
> +		return ENVL_NOWHERE;
> +	}
> +
> +	debug("%s: booted from %s\n", __func__, boot_device);
> +
> +	node = ofnode_path(boot_device);
> +	if (!ofnode_valid(node))
> +		return ENVL_NOWHERE;
> +
> +	if (IS_ENABLED(CONFIG_ENV_IS_IN_SPI_FLASH) &&
> +	    !uclass_find_device_by_ofnode(UCLASS_SPI_FLASH, node, &dev))
> +		return ENVL_SPI_FLASH;
> +
> +	if (IS_ENABLED(CONFIG_ENV_IS_IN_MMC) &&
> +	    !uclass_find_device_by_ofnode(UCLASS_MMC, node, &dev))
> +		return ENVL_MMC;
> +
> +	return ENVL_NOWHERE;
> +}

This is virtually identical to the implementation in 
board/theobroma-systems/common/common.c and I think it's quite a 
reasonable approach (though I'm the one who implemented it so I may be 
slightly biased :) ).

Should we somehow make it available in a header so it's easy/easier to 
implement the same for other boards? E.g. env_get_location() could 
simply call env_get_location_same_as_proper()? What do you think?

Not necessary for this patch to be merged though, so

Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>

Thanks!
Quentin

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 02/17] rockchip: odroid-go2: Remove cru assigned-clocks override
  2025-07-15  9:19   ` Quentin Schulz
@ 2025-07-15 10:22     ` Jonas Karlman
  0 siblings, 0 replies; 33+ messages in thread
From: Jonas Karlman @ 2025-07-15 10:22 UTC (permalink / raw)
  To: Quentin Schulz
  Cc: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, u-boot

Hi Quentin,

On 7/15/2025 11:19 AM, Quentin Schulz wrote:
> Hi Jonas,
> 
> On 7/14/25 1:33 AM, Jonas Karlman wrote:
>> Remove the cru assigned-clocks override now that SCLK_GPU is supported
>> by the clock driver.
>>
>> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
> 
> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
> 
> And this seems like we can remove
> 
> /delete-property/ assigned-clocks;
> /delete-property/ assigned-clock-rates;
> 
> from cru and pmucru from arch/arm/dts/px30-u-boot.dtsi?

Yes, I think so too, but I do not have any PX30 device only a single
RK3326 device, so I try to be very cautious when it comes to PX30.

> 
> And... maybe we can eventually make 
> arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi include 
> arch/arm/dts/px30-u-boot.dtsi to avoid duplication and match what the 
> upstream DT does (including rk3326.dtsi which includes px30.dtsi and 
> deletes VOPL)?

Yes, I think so too, in a future series, in this series I tried to be
very cautious to ensure that only odroid-go2 was affected.

This series mostly started out with me wanting to test your checkboard()
patch and then it evolved into something more :-).

Regards,
Jonas

> 
> Cheers,
> Quentin


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 03/17] rockchip: odroid-go2: Remove u-boot.dtsi props already defined
  2025-07-15  9:34   ` Quentin Schulz
@ 2025-07-15 10:56     ` Jonas Karlman
  0 siblings, 0 replies; 33+ messages in thread
From: Jonas Karlman @ 2025-07-15 10:56 UTC (permalink / raw)
  To: Quentin Schulz
  Cc: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, u-boot

Hi Quentin,

On 7/15/2025 11:34 AM, Quentin Schulz wrote:
> Hi Jonas
> 
> On 7/14/25 1:33 AM, Jonas Karlman wrote:
>> DTs from dts/upstream already contain aliases for i2c, mmc and serial.
>>
>> Remove the aliases and status=okay that are already defined in upstream
>> board or SoC DT.
>>
>> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
>> ---
>> This also remove a bad re-defined alias for spi0, SPI flash support will
>> be added/fixed in a later patch in this series
> 
> This won't make it to the commit log in the git tree but is an important 
> piece of information.
> 
> Please have a separate commit just for that or at the very least have it 
> properly explained in the commit log as I checked the diff and did 
> notice this was different.

Sure, I will split it up into a separate patch or include more details in
the commit message in a v2.

This series initially started out very small, however it grew into a lot
more patches than expected, so this was just me trying to keep patch
count as low as possible ;-)

Regards,
Jonas

> 
> Otherwise looks ok to me.
> 
> Cheers,
> Quentin


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 12/17] rockchip: odroid-go2: Use env from same storage FIT was loaded from
  2025-07-15  9:46   ` Quentin Schulz
@ 2025-07-15 15:34     ` Jonas Karlman
  0 siblings, 0 replies; 33+ messages in thread
From: Jonas Karlman @ 2025-07-15 15:34 UTC (permalink / raw)
  To: Quentin Schulz
  Cc: Kever Yang, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, u-boot

Hi Quentin,

On 7/15/2025 11:46 AM, Quentin Schulz wrote:
> Hi Jonas,
> 
> On 7/14/25 1:34 AM, Jonas Karlman wrote:
>> Change to dynamically select what storage media to use for the U-Boot
>> environment depending on from what storage media the FIT images was
>> loaded from, fall back to use env from nowhere.
>>
>>    U-Boot SPL 2025.07 (Jul 13 2025 - 10:07:16 +0000)
>>    Trying to boot from MMC1
>>    ...
>>    Loading Environment from MMC... Reading from MMC(0)...
>>
>> or
>>
>>    U-Boot SPL 2025.07 (Jul 13 2025 - 10:07:16 +0000)
>>    Trying to boot from SPI
>>    ...
>>    Loading Environment from SPIFlash...
>>
>> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
>> ---
>>   board/hardkernel/odroid_go2/Kconfig |  1 +
>>   board/hardkernel/odroid_go2/go2.c   | 34 +++++++++++++++++++++++++++++
>>   configs/odroid-go2_defconfig        |  2 ++
>>   3 files changed, 37 insertions(+)
>>
>> diff --git a/board/hardkernel/odroid_go2/Kconfig b/board/hardkernel/odroid_go2/Kconfig
>> index dd6e366282e3..6487335972b8 100644
>> --- a/board/hardkernel/odroid_go2/Kconfig
>> +++ b/board/hardkernel/odroid_go2/Kconfig
>> @@ -13,6 +13,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
>>   	def_bool y
>>   	select ADC
>>   	select BOARD_TYPES
>> +	select ENV_IS_NOWHERE
>>   	select SPL_ADC
>>   
>>   endif
>> diff --git a/board/hardkernel/odroid_go2/go2.c b/board/hardkernel/odroid_go2/go2.c
>> index 9d9f3cee36a5..ae32ea87af88 100644
>> --- a/board/hardkernel/odroid_go2/go2.c
>> +++ b/board/hardkernel/odroid_go2/go2.c
>> @@ -7,7 +7,9 @@
>>   #include <adc.h>
>>   #include <asm/io.h>
>>   #include <dm.h>
>> +#include <dm/uclass-internal.h>
>>   #include <env.h>
>> +#include <env_internal.h>
>>   #include <stdlib.h>
>>   
>>   DECLARE_GLOBAL_DATA_PTR;
>> @@ -129,3 +131,35 @@ int board_fit_config_name_match(const char *name)
>>   
>>   	return -EINVAL;
>>   }
>> +
>> +enum env_location env_get_location(enum env_operation op, int prio)
>> +{
>> +	const char *boot_device;
>> +	struct udevice *dev;
>> +	ofnode node;
>> +
>> +	if (prio)
>> +		return ENVL_UNKNOWN;
>> +
>> +	boot_device = ofnode_read_chosen_string("u-boot,spl-boot-device");
>> +	if (!boot_device) {
>> +		debug("%s: /chosen/u-boot,spl-boot-device not set\n", __func__);
>> +		return ENVL_NOWHERE;
>> +	}
>> +
>> +	debug("%s: booted from %s\n", __func__, boot_device);
>> +
>> +	node = ofnode_path(boot_device);
>> +	if (!ofnode_valid(node))
>> +		return ENVL_NOWHERE;
>> +
>> +	if (IS_ENABLED(CONFIG_ENV_IS_IN_SPI_FLASH) &&
>> +	    !uclass_find_device_by_ofnode(UCLASS_SPI_FLASH, node, &dev))
>> +		return ENVL_SPI_FLASH;
>> +
>> +	if (IS_ENABLED(CONFIG_ENV_IS_IN_MMC) &&
>> +	    !uclass_find_device_by_ofnode(UCLASS_MMC, node, &dev))
>> +		return ENVL_MMC;
>> +
>> +	return ENVL_NOWHERE;
>> +}
> 
> This is virtually identical to the implementation in 
> board/theobroma-systems/common/common.c and I think it's quite a 
> reasonable approach (though I'm the one who implemented it so I may be 
> slightly biased :) ).

Hehe, your arch_env_get_location() and the common mmc_get_env_dev() has
been a huge inspiration to this ;-)

And I fully agree this to be a reasonable approach.

> 
> Should we somehow make it available in a header so it's easy/easier to 
> implement the same for other boards? E.g. env_get_location() could 
> simply call env_get_location_same_as_proper()? What do you think?

Fully agree to something like that, and/or adding a special Kconfig
option that enable a similar shared arch_env_get_location().

Something for a future series :-)

Regards,
Jonas

> 
> Not necessary for this patch to be merged though, so
> 
> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
> 
> Thanks!
> Quentin


^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 01/17] clk: px30: Allow use of GPU and WIFI_PMU in assigned-clocks
  2025-07-13 23:33 ` [PATCH 01/17] clk: px30: Allow use of GPU and WIFI_PMU in assigned-clocks Jonas Karlman
  2025-07-15  9:29   ` Quentin Schulz
@ 2025-08-30 15:12   ` Kever Yang
  1 sibling, 0 replies; 33+ messages in thread
From: Kever Yang @ 2025-08-30 15:12 UTC (permalink / raw)
  To: Jonas Karlman, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini, Lukasz Majewski, Sean Anderson
  Cc: u-boot


On 2025/7/14 07:33, Jonas Karlman wrote:
> Add dummy implementation of set_rate for SCLK_GPU and SCLK_WIFI_PMU to
> allow use of dts/upstream assigned-clocks in cru and pmucru nodes.
>
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
>   drivers/clk/rockchip/clk_px30.c | 6 ++++++
>   1 file changed, 6 insertions(+)
>
> diff --git a/drivers/clk/rockchip/clk_px30.c b/drivers/clk/rockchip/clk_px30.c
> index ad7e1c0f2460..b5054e84c326 100644
> --- a/drivers/clk/rockchip/clk_px30.c
> +++ b/drivers/clk/rockchip/clk_px30.c
> @@ -1360,6 +1360,9 @@ static ulong px30_clk_set_rate(struct clk *clk, ulong rate)
>   	case SCLK_GMAC_RMII:
>   		ret = px30_mac_set_speed_clk(priv, rate);
>   		break;
> +	/* Might occur in cru assigned-clocks, can be ignored here */
> +	case SCLK_GPU:
> +		break;
>   #endif
>   	default:
>   		return -ENOENT;
> @@ -1726,6 +1729,9 @@ static ulong px30_pmuclk_set_rate(struct clk *clk, ulong rate)
>   	case SCLK_UART0_PMU:
>   		ret = px30_pmu_uart0_set_clk(priv, rate);
>   		break;
> +	/* Might occur in pmucru assigned-clocks, can be ignored here */
> +	case SCLK_WIFI_PMU:
> +		break;
>   	default:
>   		return -ENOENT;
>   	}

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 02/17] rockchip: odroid-go2: Remove cru assigned-clocks override
  2025-07-13 23:33 ` [PATCH 02/17] rockchip: odroid-go2: Remove cru assigned-clocks override Jonas Karlman
  2025-07-15  9:19   ` Quentin Schulz
@ 2025-08-30 15:12   ` Kever Yang
  1 sibling, 0 replies; 33+ messages in thread
From: Kever Yang @ 2025-08-30 15:12 UTC (permalink / raw)
  To: Jonas Karlman, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini
  Cc: u-boot


On 2025/7/14 07:33, Jonas Karlman wrote:
> Remove the cru assigned-clocks override now that SCLK_GPU is supported
> by the clock driver.
>
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
>   arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi | 10 ----------
>   1 file changed, 10 deletions(-)
>
> diff --git a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
> index a0ab8b69f2e4..f37daa893c79 100644
> --- a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
> +++ b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
> @@ -32,18 +32,8 @@
>   	};
>   };
>   
> -/* U-Boot clk driver for px30 cannot set GPU_CLK */
>   &cru {
>   	bootph-all;
> -	assigned-clocks = <&cru PLL_NPLL>,
> -		<&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
> -		<&cru HCLK_BUS_PRE>, <&cru HCLK_PERI_PRE>,
> -		<&cru PCLK_BUS_PRE>, <&cru PLL_CPLL>;
> -
> -	assigned-clock-rates = <1188000000>,
> -		<200000000>, <200000000>,
> -		<150000000>, <150000000>,
> -		<100000000>, <17000000>;
>   };
>   
>   &gpio0 {

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 04/17] rockchip: odroid-go2: Use appropriate bootph props
  2025-07-13 23:33 ` [PATCH 04/17] rockchip: odroid-go2: Use appropriate bootph props Jonas Karlman
@ 2025-08-30 15:13   ` Kever Yang
  0 siblings, 0 replies; 33+ messages in thread
From: Kever Yang @ 2025-08-30 15:13 UTC (permalink / raw)
  To: Jonas Karlman, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini
  Cc: u-boot


On 2025/7/14 07:33, Jonas Karlman wrote:
> GPIO devices are needed in U-Boot proper phase, sdmmc and sfc devices
> are needed in SPL and pre-reloc phase.
>
> Update bootph- props to match what boot phase devices are needed at.
>
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
>   arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi | 16 +++++++---------
>   1 file changed, 7 insertions(+), 9 deletions(-)
>
> diff --git a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
> index df21747fad78..a27994e450c0 100644
> --- a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
> +++ b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
> @@ -27,22 +27,18 @@
>   };
>   
>   &gpio0 {
> -	bootph-all;
>   	gpio-ranges = <&pinctrl 0 0 32>;
>   };
>   
>   &gpio1 {
> -	bootph-all;
>   	gpio-ranges = <&pinctrl 0 32 32>;
>   };
>   
>   &gpio2 {
> -	bootph-all;
>   	gpio-ranges = <&pinctrl 0 64 32>;
>   };
>   
>   &gpio3 {
> -	bootph-all;
>   	gpio-ranges = <&pinctrl 0 96 32>;
>   };
>   
> @@ -78,28 +74,30 @@
>   };
>   
>   &sdmmc {
> -	bootph-all;
> +	bootph-pre-ram;
> +	bootph-some-ram;
>   
>   	/* mmc to sram can't do dma, prevent aborts transferring TF-A parts */
>   	u-boot,spl-fifo-mode;
>   };
>   
>   &sfc {
> -	bootph-all;
> +	bootph-some-ram;
>   };
>   
>   &{/spi@ff3a0000/flash@0} {
> -	bootph-all;
> +	bootph-pre-ram;
> +	bootph-some-ram;
>   };
>   
>   &uart1 {
> -	clock-frequency = <24000000>;
>   	bootph-all;
> +	clock-frequency = <24000000>;
>   };
>   
>   &uart2 {
> -	clock-frequency = <24000000>;
>   	bootph-all;
> +	clock-frequency = <24000000>;
>   };
>   
>   &xin24m {

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 05/17] rockchip: odroid-go2: Move SoC common overrides into a SoC u-boot.dtsi
  2025-07-13 23:33 ` [PATCH 05/17] rockchip: odroid-go2: Move SoC common overrides into a SoC u-boot.dtsi Jonas Karlman
@ 2025-08-30 15:14   ` Kever Yang
  0 siblings, 0 replies; 33+ messages in thread
From: Kever Yang @ 2025-08-30 15:14 UTC (permalink / raw)
  To: Jonas Karlman, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini
  Cc: u-boot


On 2025/7/14 07:33, Jonas Karlman wrote:
> Add a new common rk3326-u-boot.dtsi and move the SoC common overrides
> into it.
>
> This should not contain any changes other than a possible reorder of
> nodes and props.
>
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
>   arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi | 78 ++--------------------
>   arch/arm/dts/rk3326-u-boot.dtsi            | 76 +++++++++++++++++++++
>   2 files changed, 81 insertions(+), 73 deletions(-)
>   create mode 100644 arch/arm/dts/rk3326-u-boot.dtsi
>
> diff --git a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
> index a27994e450c0..06e2c190b1f9 100644
> --- a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
> +++ b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
> @@ -3,56 +3,7 @@
>    * Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
>    */
>   
> -#include "rockchip-u-boot.dtsi"
> -
> -/ {
> -	chosen {
> -		u-boot,spl-boot-order = &sdmmc;
> -	};
> -
> -	dmc {
> -		bootph-all;
> -		compatible = "rockchip,px30-dmc", "syscon";
> -		reg = <0x0 0xff2a0000 0x0 0x1000>;
> -	};
> -
> -	rng: rng@ff0b0000 {
> -		compatible = "rockchip,cryptov2-rng";
> -		reg = <0x0 0xff0b0000 0x0 0x4000>;
> -	};
> -};
> -
> -&cru {
> -	bootph-all;
> -};
> -
> -&gpio0 {
> -	gpio-ranges = <&pinctrl 0 0 32>;
> -};
> -
> -&gpio1 {
> -	gpio-ranges = <&pinctrl 0 32 32>;
> -};
> -
> -&gpio2 {
> -	gpio-ranges = <&pinctrl 0 64 32>;
> -};
> -
> -&gpio3 {
> -	gpio-ranges = <&pinctrl 0 96 32>;
> -};
> -
> -&grf {
> -	bootph-all;
> -};
> -
> -&pmucru {
> -	bootph-all;
> -};
> -
> -&pmugrf {
> -	bootph-all;
> -};
> +#include "rk3326-u-boot.dtsi"
>   
>   &rk817 {
>   	regulators {
> @@ -73,33 +24,14 @@
>   	bootph-all;
>   };
>   
> -&sdmmc {
> -	bootph-pre-ram;
> -	bootph-some-ram;
> -
> -	/* mmc to sram can't do dma, prevent aborts transferring TF-A parts */
> -	u-boot,spl-fifo-mode;
> -};
> -
>   &sfc {
> -	bootph-some-ram;
> -};
> -
> -&{/spi@ff3a0000/flash@0} {
> -	bootph-pre-ram;
> -	bootph-some-ram;
> +	flash@0 {
> +		bootph-pre-ram;
> +		bootph-some-ram;
> +	};
>   };
>   
>   &uart1 {
>   	bootph-all;
>   	clock-frequency = <24000000>;
>   };
> -
> -&uart2 {
> -	bootph-all;
> -	clock-frequency = <24000000>;
> -};
> -
> -&xin24m {
> -	bootph-all;
> -};
> diff --git a/arch/arm/dts/rk3326-u-boot.dtsi b/arch/arm/dts/rk3326-u-boot.dtsi
> new file mode 100644
> index 000000000000..2894133cfe6d
> --- /dev/null
> +++ b/arch/arm/dts/rk3326-u-boot.dtsi
> @@ -0,0 +1,76 @@
> +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> +/*
> + * Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
> + */
> +
> +#include "rockchip-u-boot.dtsi"
> +
> +/ {
> +	chosen {
> +		u-boot,spl-boot-order = &sdmmc;
> +	};
> +
> +	dmc {
> +		compatible = "rockchip,px30-dmc", "syscon";
> +		reg = <0x0 0xff2a0000 0x0 0x1000>;
> +		bootph-all;
> +	};
> +
> +	rng: rng@ff0b0000 {
> +		compatible = "rockchip,cryptov2-rng";
> +		reg = <0x0 0xff0b0000 0x0 0x4000>;
> +	};
> +};
> +
> +&cru {
> +	bootph-all;
> +};
> +
> +&gpio0 {
> +	gpio-ranges = <&pinctrl 0 0 32>;
> +};
> +
> +&gpio1 {
> +	gpio-ranges = <&pinctrl 0 32 32>;
> +};
> +
> +&gpio2 {
> +	gpio-ranges = <&pinctrl 0 64 32>;
> +};
> +
> +&gpio3 {
> +	gpio-ranges = <&pinctrl 0 96 32>;
> +};
> +
> +&grf {
> +	bootph-all;
> +};
> +
> +&pmucru {
> +	bootph-all;
> +};
> +
> +&pmugrf {
> +	bootph-all;
> +};
> +
> +&sdmmc {
> +	bootph-pre-ram;
> +	bootph-some-ram;
> +
> +	/* mmc to sram can't do dma, prevent aborts transferring TF-A parts */
> +	u-boot,spl-fifo-mode;
> +};
> +
> +&sfc {
> +	bootph-some-ram;
> +};
> +
> +&uart2 {
> +	bootph-all;
> +	clock-frequency = <24000000>;
> +};
> +
> +&xin24m {
> +	bootph-all;
> +};

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 06/17] rockchip: odroid-go2: Remove unsupported Kconfig options
  2025-07-13 23:33 ` [PATCH 06/17] rockchip: odroid-go2: Remove unsupported Kconfig options Jonas Karlman
@ 2025-08-30 15:14   ` Kever Yang
  0 siblings, 0 replies; 33+ messages in thread
From: Kever Yang @ 2025-08-30 15:14 UTC (permalink / raw)
  To: Jonas Karlman, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini
  Cc: u-boot


On 2025/7/14 07:33, Jonas Karlman wrote:
> The handheld gaming devices that this defconfig tagets does not contain
> an Ethernet port, remove Ethernet related Kconfig options.
>
> They also do not contain any pwm-regulator in their DTs, remove the
> PWM regulator related Kconfig option.
>
> Display/video is not supported in U-Boot, remove all display/video
> related Kconfig options.
>
> There is no real functional change expected with these options removed.
>
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
>   configs/odroid-go2_defconfig | 9 ---------
>   1 file changed, 9 deletions(-)
>
> diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig
> index 698aad59dec8..d6a63bd3a4cd 100644
> --- a/configs/odroid-go2_defconfig
> +++ b/configs/odroid-go2_defconfig
> @@ -21,9 +21,7 @@ CONFIG_FIT_VERBOSE=y
>   CONFIG_FIT_BEST_MATCH=y
>   CONFIG_SPL_LOAD_FIT=y
>   CONFIG_DEFAULT_FDT_FILE="rockchip/rk3326-odroid-go2.dtb"
> -# CONFIG_CONSOLE_MUX is not set
>   # CONFIG_DISPLAY_CPUINFO is not set
> -CONFIG_DISPLAY_BOARDINFO_LATE=y
>   CONFIG_BOARD_LATE_INIT=y
>   CONFIG_MISC_INIT_R=y
>   CONFIG_SPL_MAX_SIZE=0x20000
> @@ -69,15 +67,11 @@ CONFIG_MISC=y
>   CONFIG_ROCKCHIP_OTP=y
>   CONFIG_MMC_DW=y
>   CONFIG_MMC_DW_ROCKCHIP=y
> -CONFIG_PHY_REALTEK=y
> -CONFIG_ETH_DESIGNWARE=y
> -CONFIG_GMAC_ROCKCHIP=y
>   CONFIG_PINCTRL=y
>   CONFIG_SPL_PINCTRL=y
>   CONFIG_DM_PMIC=y
>   CONFIG_PMIC_RK8XX=y
>   CONFIG_SPL_PMIC_RK8XX=y
> -CONFIG_REGULATOR_PWM=y
>   CONFIG_DM_REGULATOR_FIXED=y
>   CONFIG_REGULATOR_RK8XX=y
>   CONFIG_PWM_ROCKCHIP=y
> @@ -96,10 +90,7 @@ CONFIG_USB_EHCI_HCD=y
>   CONFIG_USB_EHCI_GENERIC=y
>   CONFIG_USB_GADGET=y
>   CONFIG_USB_GADGET_DWC2_OTG=y
> -CONFIG_VIDEO=y
> -CONFIG_DISPLAY=y
>   CONFIG_SPL_TINY_MEMSET=y
>   CONFIG_TPL_TINY_MEMSET=y
>   CONFIG_LZO=y
>   CONFIG_ERRNO_STR=y
> -CONFIG_OPTEE_LIB=y

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 07/17] rockchip: odroid-go2: Update Kconfig options for SPL
  2025-07-13 23:33 ` [PATCH 07/17] rockchip: odroid-go2: Update Kconfig options for SPL Jonas Karlman
@ 2025-08-30 15:14   ` Kever Yang
  0 siblings, 0 replies; 33+ messages in thread
From: Kever Yang @ 2025-08-30 15:14 UTC (permalink / raw)
  To: Jonas Karlman, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini
  Cc: u-boot


On 2025/7/14 07:33, Jonas Karlman wrote:
> Drop SPL_DRIVERS_MISC, it is not needed/used on these devices.
>
> Enable SPL_FIT_SIGNATURE to ensure the integrity of the FIT images
> that are loaded into memory.
>
> Change SPL_MAX_SIZE to 256 KiB, similar to other SoCs where TF-A is
> loaded at 0x40000 offset from start of DRAM.
>
> Enable SPL_DM_SEQ_ALIAS to ensure device aliases are applied in SPL.
>
> Drop use of SPL_TINY_MEMSET, there is plenty room for the normal memset.
>
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
>   configs/odroid-go2_defconfig | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig
> index d6a63bd3a4cd..6bc0d12440c9 100644
> --- a/configs/odroid-go2_defconfig
> +++ b/configs/odroid-go2_defconfig
> @@ -10,7 +10,6 @@ CONFIG_DM_RESET=y
>   CONFIG_ROCKCHIP_PX30=y
>   CONFIG_TARGET_ODROID_GO2=y
>   CONFIG_DEBUG_UART_CHANNEL=1
> -CONFIG_SPL_DRIVERS_MISC=y
>   CONFIG_SYS_LOAD_ADDR=0x800800
>   CONFIG_DEBUG_UART_BASE=0xFF160000
>   CONFIG_DEBUG_UART_CLOCK=24000000
> @@ -19,12 +18,13 @@ CONFIG_DEBUG_UART=y
>   CONFIG_FIT=y
>   CONFIG_FIT_VERBOSE=y
>   CONFIG_FIT_BEST_MATCH=y
> +CONFIG_SPL_FIT_SIGNATURE=y
>   CONFIG_SPL_LOAD_FIT=y
>   CONFIG_DEFAULT_FDT_FILE="rockchip/rk3326-odroid-go2.dtb"
>   # CONFIG_DISPLAY_CPUINFO is not set
>   CONFIG_BOARD_LATE_INIT=y
>   CONFIG_MISC_INIT_R=y
> -CONFIG_SPL_MAX_SIZE=0x20000
> +CONFIG_SPL_MAX_SIZE=0x40000
>   CONFIG_SPL_BOOTROM_SUPPORT=y
>   # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
>   CONFIG_SPL_I2C=y
> @@ -53,6 +53,7 @@ CONFIG_SPL_OF_CONTROL=y
>   CONFIG_OF_LIVE=y
>   CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
>   CONFIG_ENV_IS_IN_MMC=y
> +CONFIG_SPL_DM_SEQ_ALIAS=y
>   CONFIG_REGMAP=y
>   CONFIG_SPL_REGMAP=y
>   CONFIG_SYSCON=y
> @@ -90,7 +91,6 @@ CONFIG_USB_EHCI_HCD=y
>   CONFIG_USB_EHCI_GENERIC=y
>   CONFIG_USB_GADGET=y
>   CONFIG_USB_GADGET_DWC2_OTG=y
> -CONFIG_SPL_TINY_MEMSET=y
>   CONFIG_TPL_TINY_MEMSET=y
>   CONFIG_LZO=y
>   CONFIG_ERRNO_STR=y

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 08/17] rockchip: odroid-go2: Include pinctrl for sdmmc, sfc and uart in SPL
  2025-07-13 23:33 ` [PATCH 08/17] rockchip: odroid-go2: Include pinctrl for sdmmc, sfc and uart in SPL Jonas Karlman
@ 2025-08-31  8:46   ` Kever Yang
  2025-08-31 16:17     ` Jonas Karlman
  0 siblings, 1 reply; 33+ messages in thread
From: Kever Yang @ 2025-08-31  8:46 UTC (permalink / raw)
  To: Jonas Karlman, Heiko Stuebner, Simon Glass, Philipp Tomsich,
	Tom Rini
  Cc: u-boot

Hi Jonas,

On 2025/7/14 07:33, Jonas Karlman wrote:
> Include pinctrl nodes and props for sdmmc, sfc and uart in SPL to ensure
> pins are configured according to the device tree.
>
> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
> ---
>   arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi | 10 ++++
>   arch/arm/dts/rk3326-u-boot.dtsi            | 58 ++++++++++++++++++++++
>   configs/odroid-go2_defconfig               |  2 +-


In this Series, you update the dtsi and defconfig.

For board level dtsi update with the board defconfig, it's OK to go 
together for me,

but for soc level dtsi, it would be better not go with defconfig because 
it may affect other boards.

You can update dtsi first, and then update/cleanup the board level 
defconfig with correct commit message.


Thanks,

- Kever

>   3 files changed, 69 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
> index 06e2c190b1f9..6f40654d5e84 100644
> --- a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
> +++ b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
> @@ -35,3 +35,13 @@
>   	bootph-all;
>   	clock-frequency = <24000000>;
>   };
> +
> +&uart1_cts {
> +	bootph-pre-sram;
> +	bootph-pre-ram;
> +};
> +
> +&uart1_xfer {
> +	bootph-pre-sram;
> +	bootph-pre-ram;
> +};
> diff --git a/arch/arm/dts/rk3326-u-boot.dtsi b/arch/arm/dts/rk3326-u-boot.dtsi
> index 2894133cfe6d..196604a9987c 100644
> --- a/arch/arm/dts/rk3326-u-boot.dtsi
> +++ b/arch/arm/dts/rk3326-u-boot.dtsi
> @@ -46,6 +46,24 @@
>   	bootph-all;
>   };
>   
> +&pcfg_pull_none {
> +	bootph-all;
> +};
> +
> +&pcfg_pull_none_8ma {
> +	bootph-pre-ram;
> +	bootph-some-ram;
> +};
> +
> +&pcfg_pull_up {
> +	bootph-all;
> +};
> +
> +&pcfg_pull_up_8ma {
> +	bootph-pre-ram;
> +	bootph-some-ram;
> +};
> +
>   &pmucru {
>   	bootph-all;
>   };
> @@ -62,15 +80,55 @@
>   	u-boot,spl-fifo-mode;
>   };
>   
> +&sdmmc_bus4 {
> +	bootph-pre-ram;
> +	bootph-some-ram;
> +};
> +
> +&sdmmc_clk {
> +	bootph-pre-ram;
> +	bootph-some-ram;
> +};
> +
> +&sdmmc_cmd {
> +	bootph-pre-ram;
> +	bootph-some-ram;
> +};
> +
> +&sdmmc_det {
> +	bootph-pre-ram;
> +	bootph-some-ram;
> +};
> +
>   &sfc {
>   	bootph-some-ram;
>   };
>   
> +&sfc_bus2 {
> +	bootph-pre-ram;
> +	bootph-some-ram;
> +};
> +
> +&sfc_clk {
> +	bootph-pre-ram;
> +	bootph-some-ram;
> +};
> +
> +&sfc_cs0 {
> +	bootph-pre-ram;
> +	bootph-some-ram;
> +};
> +
>   &uart2 {
>   	bootph-all;
>   	clock-frequency = <24000000>;
>   };
>   
> +&uart2m1_xfer {
> +	bootph-pre-sram;
> +	bootph-pre-ram;
> +};
> +
>   &xin24m {
>   	bootph-all;
>   };
> diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig
> index 6bc0d12440c9..b0947fe2c8b2 100644
> --- a/configs/odroid-go2_defconfig
> +++ b/configs/odroid-go2_defconfig
> @@ -51,7 +51,7 @@ CONFIG_CMD_USB_MASS_STORAGE=y
>   CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=64
>   CONFIG_SPL_OF_CONTROL=y
>   CONFIG_OF_LIVE=y
> -CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
> +CONFIG_OF_SPL_REMOVE_PROPS="interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
>   CONFIG_ENV_IS_IN_MMC=y
>   CONFIG_SPL_DM_SEQ_ALIAS=y
>   CONFIG_REGMAP=y

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 08/17] rockchip: odroid-go2: Include pinctrl for sdmmc, sfc and uart in SPL
  2025-08-31  8:46   ` Kever Yang
@ 2025-08-31 16:17     ` Jonas Karlman
  0 siblings, 0 replies; 33+ messages in thread
From: Jonas Karlman @ 2025-08-31 16:17 UTC (permalink / raw)
  To: Kever Yang
  Cc: Heiko Stuebner, Simon Glass, Philipp Tomsich, Tom Rini,
	u-boot@lists.denx.de

Hi Kever,

On 8/31/2025 10:46 AM, Kever Yang wrote:
> Hi Jonas,
> 
> On 2025/7/14 07:33, Jonas Karlman wrote:
>> Include pinctrl nodes and props for sdmmc, sfc and uart in SPL to ensure
>> pins are configured according to the device tree.
>>
>> Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
>> ---
>>   arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi | 10 ++++
>>   arch/arm/dts/rk3326-u-boot.dtsi            | 58 ++++++++++++++++++++++
>>   configs/odroid-go2_defconfig               |  2 +-
> 
> 
> In this Series, you update the dtsi and defconfig.
> 
> For board level dtsi update with the board defconfig, it's OK to go 
> together for me,
> 
> but for soc level dtsi, it would be better not go with defconfig because 
> it may affect other boards.

In normal circumstances with an existing soc u-boot.dtsi I fully agree
on such split.

The soc rk3326-u-boot.dtsi is added/extracted from the rk3326-odroid-go2
-u-boot.dtsi as part of this series, so there is no other board that can
be affected by changes in soc rk3326-u-boot.dtsi.

Because of this I have tried to keep all related changes together in
single patches to make it easier to review. I have also runtime tested
each step in this series to ensure bisect-ability.

> 
> You can update dtsi first, and then update/cleanup the board level 
> defconfig with correct commit message.
> 

I truly fail to see any benefit of this because of above, so I will
chose to ignore this request in v2, and will only address the remark
from Quentin on the patch "rockchip: odroid-go2: Remove u-boot.dtsi
props already defined".

Regards,
Jonas

> 
> Thanks,
> 
> - Kever
> 
>>   3 files changed, 69 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
>> index 06e2c190b1f9..6f40654d5e84 100644
>> --- a/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
>> +++ b/arch/arm/dts/rk3326-odroid-go2-u-boot.dtsi
>> @@ -35,3 +35,13 @@
>>   	bootph-all;
>>   	clock-frequency = <24000000>;
>>   };
>> +
>> +&uart1_cts {
>> +	bootph-pre-sram;
>> +	bootph-pre-ram;
>> +};
>> +
>> +&uart1_xfer {
>> +	bootph-pre-sram;
>> +	bootph-pre-ram;
>> +};
>> diff --git a/arch/arm/dts/rk3326-u-boot.dtsi b/arch/arm/dts/rk3326-u-boot.dtsi
>> index 2894133cfe6d..196604a9987c 100644
>> --- a/arch/arm/dts/rk3326-u-boot.dtsi
>> +++ b/arch/arm/dts/rk3326-u-boot.dtsi
>> @@ -46,6 +46,24 @@
>>   	bootph-all;
>>   };
>>   
>> +&pcfg_pull_none {
>> +	bootph-all;
>> +};
>> +
>> +&pcfg_pull_none_8ma {
>> +	bootph-pre-ram;
>> +	bootph-some-ram;
>> +};
>> +
>> +&pcfg_pull_up {
>> +	bootph-all;
>> +};
>> +
>> +&pcfg_pull_up_8ma {
>> +	bootph-pre-ram;
>> +	bootph-some-ram;
>> +};
>> +
>>   &pmucru {
>>   	bootph-all;
>>   };
>> @@ -62,15 +80,55 @@
>>   	u-boot,spl-fifo-mode;
>>   };
>>   
>> +&sdmmc_bus4 {
>> +	bootph-pre-ram;
>> +	bootph-some-ram;
>> +};
>> +
>> +&sdmmc_clk {
>> +	bootph-pre-ram;
>> +	bootph-some-ram;
>> +};
>> +
>> +&sdmmc_cmd {
>> +	bootph-pre-ram;
>> +	bootph-some-ram;
>> +};
>> +
>> +&sdmmc_det {
>> +	bootph-pre-ram;
>> +	bootph-some-ram;
>> +};
>> +
>>   &sfc {
>>   	bootph-some-ram;
>>   };
>>   
>> +&sfc_bus2 {
>> +	bootph-pre-ram;
>> +	bootph-some-ram;
>> +};
>> +
>> +&sfc_clk {
>> +	bootph-pre-ram;
>> +	bootph-some-ram;
>> +};
>> +
>> +&sfc_cs0 {
>> +	bootph-pre-ram;
>> +	bootph-some-ram;
>> +};
>> +
>>   &uart2 {
>>   	bootph-all;
>>   	clock-frequency = <24000000>;
>>   };
>>   
>> +&uart2m1_xfer {
>> +	bootph-pre-sram;
>> +	bootph-pre-ram;
>> +};
>> +
>>   &xin24m {
>>   	bootph-all;
>>   };
>> diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig
>> index 6bc0d12440c9..b0947fe2c8b2 100644
>> --- a/configs/odroid-go2_defconfig
>> +++ b/configs/odroid-go2_defconfig
>> @@ -51,7 +51,7 @@ CONFIG_CMD_USB_MASS_STORAGE=y
>>   CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=64
>>   CONFIG_SPL_OF_CONTROL=y
>>   CONFIG_OF_LIVE=y
>> -CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
>> +CONFIG_OF_SPL_REMOVE_PROPS="interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
>>   CONFIG_ENV_IS_IN_MMC=y
>>   CONFIG_SPL_DM_SEQ_ALIAS=y
>>   CONFIG_REGMAP=y


^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2025-08-31 16:17 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-13 23:33 [PATCH 00/17] rockchip: odroid-go2: Add support for SPI flash boot and more Jonas Karlman
2025-07-13 23:33 ` [PATCH 01/17] clk: px30: Allow use of GPU and WIFI_PMU in assigned-clocks Jonas Karlman
2025-07-15  9:29   ` Quentin Schulz
2025-08-30 15:12   ` Kever Yang
2025-07-13 23:33 ` [PATCH 02/17] rockchip: odroid-go2: Remove cru assigned-clocks override Jonas Karlman
2025-07-15  9:19   ` Quentin Schulz
2025-07-15 10:22     ` Jonas Karlman
2025-08-30 15:12   ` Kever Yang
2025-07-13 23:33 ` [PATCH 03/17] rockchip: odroid-go2: Remove u-boot.dtsi props already defined Jonas Karlman
2025-07-15  9:34   ` Quentin Schulz
2025-07-15 10:56     ` Jonas Karlman
2025-07-13 23:33 ` [PATCH 04/17] rockchip: odroid-go2: Use appropriate bootph props Jonas Karlman
2025-08-30 15:13   ` Kever Yang
2025-07-13 23:33 ` [PATCH 05/17] rockchip: odroid-go2: Move SoC common overrides into a SoC u-boot.dtsi Jonas Karlman
2025-08-30 15:14   ` Kever Yang
2025-07-13 23:33 ` [PATCH 06/17] rockchip: odroid-go2: Remove unsupported Kconfig options Jonas Karlman
2025-08-30 15:14   ` Kever Yang
2025-07-13 23:33 ` [PATCH 07/17] rockchip: odroid-go2: Update Kconfig options for SPL Jonas Karlman
2025-08-30 15:14   ` Kever Yang
2025-07-13 23:33 ` [PATCH 08/17] rockchip: odroid-go2: Include pinctrl for sdmmc, sfc and uart in SPL Jonas Karlman
2025-08-31  8:46   ` Kever Yang
2025-08-31 16:17     ` Jonas Karlman
2025-07-13 23:33 ` [PATCH 09/17] rockchip: odroid-go2: Use power off at power plug-in event Jonas Karlman
2025-07-13 23:33 ` [PATCH 10/17] rockchip: odroid-go2: Add support for SPI flash boot Jonas Karlman
2025-07-13 23:33 ` [PATCH 11/17] rockchip: odroid-go2: Select board FDT from FIT in SPL Jonas Karlman
2025-07-13 23:34 ` [PATCH 12/17] rockchip: odroid-go2: Use env from same storage FIT was loaded from Jonas Karlman
2025-07-15  9:46   ` Quentin Schulz
2025-07-15 15:34     ` Jonas Karlman
2025-07-13 23:34 ` [PATCH 13/17] rockchip: odroid-go2: Enable RockUSB, button, LED and RNG support Jonas Karlman
2025-07-13 23:34 ` [PATCH 14/17] rockchip: odroid-go2: Turn on the blue LED at boot Jonas Karlman
2025-07-13 23:34 ` [PATCH 15/17] rockchip: odroid-go2: Enable more commands Jonas Karlman
2025-07-13 23:34 ` [PATCH 16/17] rockchip: odroid-go2: Add myself as a reviewer Jonas Karlman
2025-07-13 23:34 ` [PATCH 17/17] arm: dts: rockchip: Include OTP in U-Boot pre-reloc phase for RK3326 Jonas Karlman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).