All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts
@ 2026-09-20 14:15 Massimo Pegorer
  2026-09-20 14:15 ` [PATCH RFC 01/11] arm: rockchip: include SoC-specific CRU header file Massimo Pegorer
                   ` (11 more replies)
  0 siblings, 12 replies; 15+ messages in thread
From: Massimo Pegorer @ 2026-09-20 14:15 UTC (permalink / raw)
  To: Simon Glass, Quentin Schulz, u-boot
  Cc: Tom Rini, Ilias Apalodimas, Kever Yang, Lukasz Majewski,
	Anatolij Gustschin, Heiko Schocher, Marek Vasut, Svyatoslav Ryhel,
	Peter Robinson, Levin Du, Suniel Mahesh, Alexey Charkov,
	Fabio Estevam, Jonas Karlman, Chris Morgan, Coia Prant,
	Frank Wunderlich, Andy Yan, Liangbin Lian, Joseph Chen,
	Tianling Shen, Klaus Goger, Heiko Stuebner, Jacobe Zang,
	Jiehui He, John Clark, Sebastian Kropatsch, Jagan Teki,
	Ilya Katsnelson, Niu Zhihong, Nicolas Frattaroli, Tom Fitzhenry,
	Akash Gajjar, Maxim Moskalets, FUKAUMI Naoki, Eugen Hristev,
	Jianfeng Liu, Elon Zhang, Joshua Riek, Martin Herren,
	Torsten Duwe, Massimo Pegorer

Looking to provide a way to print reset cause on a board equipped with
a PX30 SoC I ran into the following existing issues related to Rockchip
SoCs:

1. It is not possible to select DISPLAY_CPUINFO configuration option
   with ARCH_ROCKCHIP, except for RK3399 RK3288 RK3568 RK3588 SoCs, due
   to incomplete definition of type 'struct rockchip_cru' caused by
   Rockchip common implementation of print_cpuinfo() function: see
   0f9872c4db11 for the RK3588 SoC "workaround", which I feel not
   optimal. Note that DISPLAY_CPUINFO has default y if ARM; therefore,
   it is deselected in each Rockchip defconfig except for listed SoCs.

2. It is not possible to deselect DISPLAY_CPUINFO configuration option
   with TARGET_ROC_PC_RK3399 due to missing get_reset_cause() symbol
   caused by mach-rockchip/Makefile skipping cpu-info.c. I do not see
   how e230c579a3f6 commit separated the reset cause from displaying
   cpuinfo as proposed.

3. For the most recent Rockchip SoCs (RK3588 RK3576 RK3568 RK3528 RK3506
   RK3308 PX30) the checkboard() function is implemented at mach level
   to print SoC information: it overrides the weak empty implementation
   called by show_board_info() when DISPLAY_BOARDINFO(_LATE) option is
   selected.

   Most of the other machs do not provide a checkboard() implementation
   leaving symbol available for overriding at board level. I did not
   find any "regulatory" definition in the documentation, but SoC info
   sounds to me more related to CPUINFO than to BOARDINFO, and other
   machs approach in my opinion seems more consistent with the function
   and configuration option names (checkboard and DISPLAY_BOARDINFO).
   Moreover, this approach has the advantage of allowing each board to
   implement its own checkboard() if needed (other hooks exist for
   board specific printout, of course).

4. Implementation of get_reset_cause() cannot be common in Rockchip mach
   due to different CRU_GLB_RST_ST register definitions from SoC to SoC:
   RK3288 and RK3399 share the same one, but RK3568 and RK3588 ones have
   more bit flags defined (and not all of them seem mutually exclusive),
   and PX30 and RK3308 common one differs again having WDT and TSADC bit
   flags swapped.

Here is my proposal, awaiting your comments and feedback:

1. Create a Rockchip common print_cpuinfo() suitable for any SoC/board,
   making possible DISPLAY_CPUINFO selection without build issues.

2. Avoid DISPLAY_CPUINFO deselection causes build issues for any board.

3. Make print_cpuinfo() to execute code that is currently in function
   named checkboard() at SoC level (if implemented), which prints more
   info than CONFIG_SYS_SOC. Of course, keep printing CONFIG_SYS_SOC if
   function is unavailable and on returning error.

4. Make print_cpuinfo() to execute code to get the SoC reset cause and
   to print its description if the reset cause is available.

5. Avoid DISPLAY_BOARDINFO(_LATE) printing the same SoC info now printed
   by DISPLAY_CPUINFO too: it seems redundant and quite misleading. This
   makes checkboard() implementation at Rockchip mach level unnecessary:
   remove it and leave the overriding option available for board level
   implementation if needed.

6. Select DISPLAY_CPUINFO in all Rockchip board configurations related
   to PX30 RK3308 and any RK35xx (all the SoCs that were providing a
   checkboard() implementation) that already have the DISPLAY_BOARDINFO
   and/or the DISPLAY_BOARDINFO_LATE option selected, to keep SoC info
   printout. BTW they are all of PX30 RK3308 and RK35xx board configs.

The whole series has been built with buildman for all of the involved
board configurations, i.e. those related to PX30 RK3288 RK3308 RK3399
RK35xx.

---
Massimo Pegorer (11):
      arm: rockchip: include SoC-specific CRU header file
      rockchip: cru: move code from header to source file
      rockchip: cru: remove unnecessary common cru.h file
      rockchip: cru: improve and simplify reset cause handling
      arm: rockchip: support DISPLAY_CPUINFO on all Rockchip SoC
      arm: rockchip: unbind cpu-info.c from DISPLAY_CPUINFO
      arm: rockchip: print SoC detailed info with DISPLAY_CPUINFO
      arm: rockchip: print reset cause only when available
      arm: rockchip: do not print SoC info with DISPLAY_BOARDINFO
      configs: rockchip: resync Anbernic RG-DS with savedefconfig
      configs: rockchip: add DISPLAY_CPUINFO to keep SoC info print

 arch/arm/include/asm/arch-rockchip/clock.h      | 11 +++++
 arch/arm/include/asm/arch-rockchip/cru.h        | 39 ----------------
 arch/arm/include/asm/arch-rockchip/cru_rk3399.h |  1 +
 arch/arm/mach-rockchip/Makefile                 |  2 +-
 arch/arm/mach-rockchip/cpu-info.c               | 61 ++++++++++++-------------
 arch/arm/mach-rockchip/px30/px30.c              | 12 ++---
 arch/arm/mach-rockchip/rk3288/clk_rk3288.c      | 37 ++++++++++++++-
 arch/arm/mach-rockchip/rk3288/rk3288.c          |  2 +-
 arch/arm/mach-rockchip/rk3308/rk3308.c          |  2 +-
 arch/arm/mach-rockchip/rk3399/clk_rk3399.c      | 37 ++++++++++++++-
 arch/arm/mach-rockchip/rk3399/rk3399.c          |  2 +-
 arch/arm/mach-rockchip/rk3506/rk3506.c          | 10 ++--
 arch/arm/mach-rockchip/rk3528/rk3528.c          | 10 ++--
 arch/arm/mach-rockchip/rk3568/clk_rk3568.c      | 35 ++++++++++++++
 arch/arm/mach-rockchip/rk3568/rk3568.c          | 12 ++---
 arch/arm/mach-rockchip/rk3576/rk3576.c          | 10 ++--
 arch/arm/mach-rockchip/rk3588/clk_rk3588.c      | 35 ++++++++++++++
 arch/arm/mach-rockchip/rk3588/rk3588.c          | 10 ++--
 board/firefly/roc-pc-rk3399/roc-pc-rk3399.c     |  4 +-
 configs/9tripod-x3568-v4-rk3568_defconfig       |  1 -
 configs/anbernic-rg-ds-rk3568_defconfig         |  6 ---
 configs/anbernic-rgxx3-rk3566_defconfig         |  1 -
 configs/bpi-r2-pro-rk3568_defconfig             |  1 -
 configs/cm3588-nas-rk3588_defconfig             |  1 -
 configs/coolpi-4b-rk3588s_defconfig             |  1 -
 configs/coolpi-cm5-evb-rk3588_defconfig         |  1 -
 configs/coolpi-cm5-genbook-rk3588_defconfig     |  1 -
 configs/easepi-r1-rk3568_defconfig              |  1 -
 configs/evb-px30_defconfig                      |  1 -
 configs/evb-rk3308_defconfig                    |  1 -
 configs/evb-rk3568_defconfig                    |  1 -
 configs/evb-rk3588_defconfig                    |  1 -
 configs/fastrhino-r66s-rk3568_defconfig         |  1 -
 configs/firefly-px30_defconfig                  |  1 -
 configs/gameforce-ace-rk3588s_defconfig         |  1 -
 configs/generic-rk3528_defconfig                |  1 -
 configs/generic-rk3568_defconfig                |  1 -
 configs/generic-rk3576_defconfig                |  1 -
 configs/generic-rk3588_defconfig                |  1 -
 configs/jaguar-rk3588_defconfig                 |  1 -
 configs/khadas-edge2-rk3588s_defconfig          |  1 -
 configs/lckfb-tspi-rk3566_defconfig             |  1 -
 configs/lubancat-2-rk3568_defconfig             |  1 -
 configs/mnt-reform2-rk3588_defconfig            |  1 -
 configs/nanopc-t6-rk3588_defconfig              |  1 -
 configs/nanopi-m5-rk3576_defconfig              |  1 -
 configs/nanopi-r3s-rk3566_defconfig             |  1 -
 configs/nanopi-r5c-rk3568_defconfig             |  1 -
 configs/nanopi-r5s-rk3568_defconfig             |  1 -
 configs/nanopi-r6c-rk3588s_defconfig            |  1 -
 configs/nanopi-r6s-rk3588s_defconfig            |  1 -
 configs/nanopi-r76s-rk3576_defconfig            |  1 -
 configs/nanopi-zero2-rk3528_defconfig           |  1 -
 configs/neu6a-io-rk3588_defconfig               |  1 -
 configs/neu6b-io-rk3588_defconfig               |  1 -
 configs/nova-rk3588s_defconfig                  |  1 -
 configs/odroid-go2_defconfig                    |  1 -
 configs/odroid-m1-rk3568_defconfig              |  1 -
 configs/odroid-m1s-rk3566_defconfig             |  1 -
 configs/odroid-m2-rk3588s_defconfig             |  1 -
 configs/omni3576-rk3576_defconfig               |  1 -
 configs/orangepi-3b-rk3566_defconfig            |  1 -
 configs/orangepi-5-max-rk3588_defconfig         |  1 -
 configs/orangepi-5-plus-rk3588_defconfig        |  1 -
 configs/orangepi-5-rk3588s_defconfig            |  1 -
 configs/orangepi-5-ultra-rk3588_defconfig       |  1 -
 configs/pinetab2-rk3566_defconfig               |  1 -
 configs/powkiddy-x55-rk3566_defconfig           |  1 -
 configs/px30-core-ctouch2-of10-px30_defconfig   |  1 -
 configs/px30-core-ctouch2-px30_defconfig        |  1 -
 configs/px30-core-edimm2.2-px30_defconfig       |  1 -
 configs/qnap-ts433-rk3568_defconfig             |  1 -
 configs/quartz64-a-rk3566_defconfig             |  1 -
 configs/quartz64-b-rk3566_defconfig             |  1 -
 configs/quartzpro64-rk3588_defconfig            |  1 -
 configs/radxa-cm3-io-rk3566_defconfig           |  1 -
 configs/radxa-e20c-rk3528_defconfig             |  1 -
 configs/radxa-e25-rk3568_defconfig              |  1 -
 configs/radxa-zero-3-rk3566_defconfig           |  1 -
 configs/ringneck-px30_defconfig                 |  1 -
 configs/roc-cc-rk3308_defconfig                 |  1 -
 configs/roc-pc-rk3576_defconfig                 |  1 -
 configs/roc-pc-rk3588s_defconfig                |  1 -
 configs/rock-2-rk3528_defconfig                 |  1 -
 configs/rock-3a-rk3568_defconfig                |  1 -
 configs/rock-3b-rk3568_defconfig                |  1 -
 configs/rock-3c-rk3566_defconfig                |  1 -
 configs/rock-4d-rk3576_defconfig                |  1 -
 configs/rock-5-itx-rk3588_defconfig             |  1 -
 configs/rock-5c-rk3588s_defconfig               |  1 -
 configs/rock-pi-s-rk3308_defconfig              |  1 -
 configs/rock-s0-rk3308_defconfig                |  1 -
 configs/rock5a-rk3588s_defconfig                |  1 -
 configs/rock5b-rk3588_defconfig                 |  1 -
 configs/sige1-rk3528_defconfig                  |  1 -
 configs/sige5-rk3576_defconfig                  |  1 -
 configs/sige7-rk3588_defconfig                  |  1 -
 configs/soquartz-blade-rk3566_defconfig         |  1 -
 configs/soquartz-cm4-rk3566_defconfig           |  1 -
 configs/soquartz-model-a-rk3566_defconfig       |  1 -
 configs/tiger-rk3588_defconfig                  |  1 -
 configs/toybrick-rk3588_defconfig               |  1 -
 configs/turing-rk1-rk3588_defconfig             |  1 -
 drivers/clk/rockchip/clk_rk3288.c               |  2 +-
 drivers/clk/rockchip/clk_rk3399.c               |  2 +-
 drivers/ram/rockchip/sdram_rk3288.c             |  2 +-
 drivers/ram/rockchip/sdram_rk3399.c             |  2 +-
 drivers/video/rockchip/rk3288_mipi.c            |  2 +-
 drivers/video/rockchip/rk3399_mipi.c            |  2 +-
 drivers/video/rockchip/rk_mipi.c                |  2 +-
 110 files changed, 229 insertions(+), 206 deletions(-)
---
base-commit: b8e0086b585791a771416ce51b58ce0097bc0b28
change-id: 20260908-reset-e69a40d3f5c6

Best regards,
--  
Massimo Pegorer <massimo.pegorer+oss@gmail.com>


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

* [PATCH RFC 01/11] arm: rockchip: include SoC-specific CRU header file
  2026-09-20 14:15 [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Massimo Pegorer
@ 2026-09-20 14:15 ` Massimo Pegorer
  2026-09-20 14:15 ` [PATCH RFC 02/11] rockchip: cru: move code from header to source file Massimo Pegorer
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Massimo Pegorer @ 2026-09-20 14:15 UTC (permalink / raw)
  To: Simon Glass, Quentin Schulz, u-boot
  Cc: Tom Rini, Ilias Apalodimas, Kever Yang, Lukasz Majewski,
	Anatolij Gustschin, Heiko Schocher, Marek Vasut, Svyatoslav Ryhel,
	Peter Robinson, Levin Du, Suniel Mahesh, Alexey Charkov,
	Fabio Estevam, Jonas Karlman, Chris Morgan, Coia Prant,
	Frank Wunderlich, Andy Yan, Liangbin Lian, Joseph Chen,
	Tianling Shen, Klaus Goger, Heiko Stuebner, Jacobe Zang,
	Jiehui He, John Clark, Sebastian Kropatsch, Jagan Teki,
	Ilya Katsnelson, Niu Zhihong, Nicolas Frattaroli, Tom Fitzhenry,
	Akash Gajjar, Maxim Moskalets, FUKAUMI Naoki, Eugen Hristev,
	Jianfeng Liu, Elon Zhang, Joshua Riek, Martin Herren,
	Torsten Duwe, Massimo Pegorer

Modified ones are SoC-specific source files that do not need to include
Rockchip mach common cru.h header file: indeed, SoC-specific CRU header
files are enough, and tighten to the effective needs, thus preferable.

Partly reverts 'commit b52a199e323e ("arm: rockchip: Add common cru.h")'

Signed-off-by: Massimo Pegorer <massimo.pegorer+oss@gmail.com>
---
 arch/arm/include/asm/arch-rockchip/cru_rk3399.h | 1 +
 arch/arm/mach-rockchip/rk3288/clk_rk3288.c      | 2 +-
 arch/arm/mach-rockchip/rk3288/rk3288.c          | 2 +-
 arch/arm/mach-rockchip/rk3399/clk_rk3399.c      | 2 +-
 arch/arm/mach-rockchip/rk3399/rk3399.c          | 2 +-
 drivers/clk/rockchip/clk_rk3288.c               | 2 +-
 drivers/clk/rockchip/clk_rk3399.c               | 2 +-
 drivers/ram/rockchip/sdram_rk3288.c             | 2 +-
 drivers/ram/rockchip/sdram_rk3399.c             | 2 +-
 drivers/video/rockchip/rk3288_mipi.c            | 2 +-
 drivers/video/rockchip/rk3399_mipi.c            | 2 +-
 drivers/video/rockchip/rk_mipi.c                | 2 +-
 12 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/arch/arm/include/asm/arch-rockchip/cru_rk3399.h b/arch/arm/include/asm/arch-rockchip/cru_rk3399.h
index d941a129f3e..8d0a15efd50 100644
--- a/arch/arm/include/asm/arch-rockchip/cru_rk3399.h
+++ b/arch/arm/include/asm/arch-rockchip/cru_rk3399.h
@@ -64,6 +64,7 @@ struct rockchip_cru {
 	u32 sdio1_con[2];
 };
 check_member(rockchip_cru, sdio1_con[1], 0x594);
+#define MHz		1000000
 #define KHz		1000
 #define OSC_HZ		(24*MHz)
 #define LPLL_HZ		(600*MHz)
diff --git a/arch/arm/mach-rockchip/rk3288/clk_rk3288.c b/arch/arm/mach-rockchip/rk3288/clk_rk3288.c
index af6c5d1f59b..d725730f5bd 100644
--- a/arch/arm/mach-rockchip/rk3288/clk_rk3288.c
+++ b/arch/arm/mach-rockchip/rk3288/clk_rk3288.c
@@ -7,7 +7,7 @@
 #include <dm.h>
 #include <syscon.h>
 #include <asm/arch-rockchip/clock.h>
-#include <asm/arch-rockchip/cru.h>
+#include <asm/arch-rockchip/cru_rk3288.h>
 #include <linux/err.h>
 
 int rockchip_get_clk(struct udevice **devp)
diff --git a/arch/arm/mach-rockchip/rk3288/rk3288.c b/arch/arm/mach-rockchip/rk3288/rk3288.c
index 62dd9da6578..81f9c95bc09 100644
--- a/arch/arm/mach-rockchip/rk3288/rk3288.c
+++ b/arch/arm/mach-rockchip/rk3288/rk3288.c
@@ -13,7 +13,7 @@
 #include <asm/arch-rockchip/bootrom.h>
 #include <asm/arch-rockchip/clock.h>
 #include <asm/arch-rockchip/cpu_rk3288.h>
-#include <asm/arch-rockchip/cru.h>
+#include <asm/arch-rockchip/cru_rk3288.h>
 #include <asm/arch-rockchip/hardware.h>
 #include <asm/arch-rockchip/grf_rk3288.h>
 #include <asm/arch-rockchip/pmu_rk3288.h>
diff --git a/arch/arm/mach-rockchip/rk3399/clk_rk3399.c b/arch/arm/mach-rockchip/rk3399/clk_rk3399.c
index de552b5903b..170071d243d 100644
--- a/arch/arm/mach-rockchip/rk3399/clk_rk3399.c
+++ b/arch/arm/mach-rockchip/rk3399/clk_rk3399.c
@@ -7,7 +7,7 @@
 #include <dm.h>
 #include <syscon.h>
 #include <asm/arch-rockchip/clock.h>
-#include <asm/arch-rockchip/cru.h>
+#include <asm/arch-rockchip/cru_rk3399.h>
 #include <linux/err.h>
 
 static int rockchip_get_cruclk(struct udevice **devp)
diff --git a/arch/arm/mach-rockchip/rk3399/rk3399.c b/arch/arm/mach-rockchip/rk3399/rk3399.c
index 8687a9347ec..85c95172699 100644
--- a/arch/arm/mach-rockchip/rk3399/rk3399.c
+++ b/arch/arm/mach-rockchip/rk3399/rk3399.c
@@ -12,7 +12,7 @@
 #include <asm/armv8/mmu.h>
 #include <asm/arch-rockchip/bootrom.h>
 #include <asm/arch-rockchip/clock.h>
-#include <asm/arch-rockchip/cru.h>
+#include <asm/arch-rockchip/cru_rk3399.h>
 #include <asm/arch-rockchip/gpio.h>
 #include <asm/arch-rockchip/grf_rk3399.h>
 #include <asm/arch-rockchip/hardware.h>
diff --git a/drivers/clk/rockchip/clk_rk3288.c b/drivers/clk/rockchip/clk_rk3288.c
index a4ff1c41abb..794cad3ea22 100644
--- a/drivers/clk/rockchip/clk_rk3288.c
+++ b/drivers/clk/rockchip/clk_rk3288.c
@@ -15,7 +15,7 @@
 #include <syscon.h>
 #include <asm/global_data.h>
 #include <asm/arch-rockchip/clock.h>
-#include <asm/arch-rockchip/cru.h>
+#include <asm/arch-rockchip/cru_rk3288.h>
 #include <asm/arch-rockchip/grf_rk3288.h>
 #include <asm/arch-rockchip/hardware.h>
 #include <dt-bindings/clock/rk3288-cru.h>
diff --git a/drivers/clk/rockchip/clk_rk3399.c b/drivers/clk/rockchip/clk_rk3399.c
index 6e87db18be0..3df942edd34 100644
--- a/drivers/clk/rockchip/clk_rk3399.c
+++ b/drivers/clk/rockchip/clk_rk3399.c
@@ -14,7 +14,7 @@
 #include <syscon.h>
 #include <bitfield.h>
 #include <asm/arch-rockchip/clock.h>
-#include <asm/arch-rockchip/cru.h>
+#include <asm/arch-rockchip/cru_rk3399.h>
 #include <asm/arch-rockchip/hardware.h>
 #include <asm/global_data.h>
 #include <dm/device-internal.h>
diff --git a/drivers/ram/rockchip/sdram_rk3288.c b/drivers/ram/rockchip/sdram_rk3288.c
index 25ceab98ee9..8136ad070a6 100644
--- a/drivers/ram/rockchip/sdram_rk3288.c
+++ b/drivers/ram/rockchip/sdram_rk3288.c
@@ -18,7 +18,7 @@
 #include <regmap.h>
 #include <syscon.h>
 #include <asm/arch-rockchip/clock.h>
-#include <asm/arch-rockchip/cru.h>
+#include <asm/arch-rockchip/cru_rk3288.h>
 #include <asm/arch-rockchip/ddr_rk3288.h>
 #include <asm/arch-rockchip/grf_rk3288.h>
 #include <asm/arch-rockchip/hardware.h>
diff --git a/drivers/ram/rockchip/sdram_rk3399.c b/drivers/ram/rockchip/sdram_rk3399.c
index 6fa8f268770..b792caba203 100644
--- a/drivers/ram/rockchip/sdram_rk3399.c
+++ b/drivers/ram/rockchip/sdram_rk3399.c
@@ -16,7 +16,7 @@
 #include <spl.h>
 #include <syscon.h>
 #include <asm/arch-rockchip/clock.h>
-#include <asm/arch-rockchip/cru.h>
+#include <asm/arch-rockchip/cru_rk3399.h>
 #include <asm/arch-rockchip/grf_rk3399.h>
 #include <asm/arch-rockchip/pmu_rk3399.h>
 #include <asm/arch-rockchip/hardware.h>
diff --git a/drivers/video/rockchip/rk3288_mipi.c b/drivers/video/rockchip/rk3288_mipi.c
index 574ba8c6957..dcda469cffd 100644
--- a/drivers/video/rockchip/rk3288_mipi.c
+++ b/drivers/video/rockchip/rk3288_mipi.c
@@ -17,7 +17,7 @@
 #include <linux/err.h>
 #include <linux/kernel.h>
 #include <asm/arch-rockchip/clock.h>
-#include <asm/arch-rockchip/cru.h>
+#include <asm/arch-rockchip/cru_rk3288.h>
 #include <asm/arch-rockchip/grf_rk3288.h>
 #include <asm/arch-rockchip/hardware.h>
 #include <asm/arch-rockchip/rockchip_mipi_dsi.h>
diff --git a/drivers/video/rockchip/rk3399_mipi.c b/drivers/video/rockchip/rk3399_mipi.c
index 68316df871c..2f4e99f714e 100644
--- a/drivers/video/rockchip/rk3399_mipi.c
+++ b/drivers/video/rockchip/rk3399_mipi.c
@@ -17,7 +17,7 @@
 #include <linux/err.h>
 #include <linux/kernel.h>
 #include <asm/arch-rockchip/clock.h>
-#include <asm/arch-rockchip/cru.h>
+#include <asm/arch-rockchip/cru_rk3399.h>
 #include <asm/arch-rockchip/grf_rk3399.h>
 #include <asm/arch-rockchip/hardware.h>
 #include <asm/arch-rockchip/rockchip_mipi_dsi.h>
diff --git a/drivers/video/rockchip/rk_mipi.c b/drivers/video/rockchip/rk_mipi.c
index e7b5973ca58..c3768ce0b0e 100644
--- a/drivers/video/rockchip/rk_mipi.c
+++ b/drivers/video/rockchip/rk_mipi.c
@@ -17,7 +17,7 @@
 #include <dm/uclass-internal.h>
 #include <linux/kernel.h>
 #include <asm/arch-rockchip/clock.h>
-#include <asm/arch-rockchip/cru.h>
+#include <asm/arch-rockchip/cru_rk3399.h>
 #include <asm/arch-rockchip/grf_rk3399.h>
 #include <asm/arch-rockchip/rockchip_mipi_dsi.h>
 

-- 
2.34.1


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

* [PATCH RFC 02/11] rockchip: cru: move code from header to source file
  2026-09-20 14:15 [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Massimo Pegorer
  2026-09-20 14:15 ` [PATCH RFC 01/11] arm: rockchip: include SoC-specific CRU header file Massimo Pegorer
@ 2026-09-20 14:15 ` Massimo Pegorer
  2026-09-20 14:15 ` [PATCH RFC 03/11] rockchip: cru: remove unnecessary common cru.h file Massimo Pegorer
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Massimo Pegorer @ 2026-09-20 14:15 UTC (permalink / raw)
  To: Simon Glass, Quentin Schulz, u-boot
  Cc: Tom Rini, Ilias Apalodimas, Kever Yang, Lukasz Majewski,
	Anatolij Gustschin, Heiko Schocher, Marek Vasut, Svyatoslav Ryhel,
	Peter Robinson, Levin Du, Suniel Mahesh, Alexey Charkov,
	Fabio Estevam, Jonas Karlman, Chris Morgan, Coia Prant,
	Frank Wunderlich, Andy Yan, Liangbin Lian, Joseph Chen,
	Tianling Shen, Klaus Goger, Heiko Stuebner, Jacobe Zang,
	Jiehui He, John Clark, Sebastian Kropatsch, Jagan Teki,
	Ilya Katsnelson, Niu Zhihong, Nicolas Frattaroli, Tom Fitzhenry,
	Akash Gajjar, Maxim Moskalets, FUKAUMI Naoki, Eugen Hristev,
	Jianfeng Liu, Elon Zhang, Joshua Riek, Martin Herren,
	Torsten Duwe, Massimo Pegorer

Most of the lines in cru.h are needed only by cpu-info.c source file,
therefore there is no reason to keep them in the header file and share.
Among them are the include statements of SoC-specific CRU header files
that caused SoC-specific dependencies to be spread around.

Signed-off-by: Massimo Pegorer <massimo.pegorer+oss@gmail.com>
---
 arch/arm/include/asm/arch-rockchip/cru.h | 27 ---------------------------
 arch/arm/mach-rockchip/cpu-info.c        | 21 +++++++++++++++++++++
 2 files changed, 21 insertions(+), 27 deletions(-)

diff --git a/arch/arm/include/asm/arch-rockchip/cru.h b/arch/arm/include/asm/arch-rockchip/cru.h
index c3259b8e7cc..cffbc18691e 100644
--- a/arch/arm/include/asm/arch-rockchip/cru.h
+++ b/arch/arm/include/asm/arch-rockchip/cru.h
@@ -7,33 +7,6 @@
 #ifndef _ROCKCHIP_CLOCK_H
 #define _ROCKCHIP_CLOCK_H
 
-#ifndef __ASSEMBLY__
-#include <linux/bitops.h>
-#endif
-
-#if defined(CONFIG_ROCKCHIP_RK3288)
-# include <asm/arch-rockchip/cru_rk3288.h>
-#elif defined(CONFIG_ROCKCHIP_RK3399)
-# include <asm/arch-rockchip/cru_rk3399.h>
-#elif defined(CONFIG_ROCKCHIP_RK3568)
-#include <asm/arch-rockchip/cru_rk3568.h>
-#elif defined(CONFIG_ROCKCHIP_RK3588)
-#include <asm/arch-rockchip/cru_rk3588.h>
-#endif
-
-/* CRU_GLB_RST_ST */
-enum {
-	GLB_POR_RST,
-	FST_GLB_RST_ST		= BIT(0),
-	SND_GLB_RST_ST		= BIT(1),
-	FST_GLB_TSADC_RST_ST	= BIT(2),
-	SND_GLB_TSADC_RST_ST	= BIT(3),
-	FST_GLB_WDT_RST_ST	= BIT(4),
-	SND_GLB_WDT_RST_ST	= BIT(5),
-};
-
-#define MHz		1000000
-
 char *get_reset_cause(void);
 
 #endif /* _ROCKCHIP_CLOCK_H */
diff --git a/arch/arm/mach-rockchip/cpu-info.c b/arch/arm/mach-rockchip/cpu-info.c
index 14c7331e1ab..4a23fdd70ba 100644
--- a/arch/arm/mach-rockchip/cpu-info.c
+++ b/arch/arm/mach-rockchip/cpu-info.c
@@ -11,6 +11,27 @@
 #include <asm/arch-rockchip/hardware.h>
 #include <linux/err.h>
 
+#if defined(CONFIG_ROCKCHIP_RK3288)
+# include <asm/arch-rockchip/cru_rk3288.h>
+#elif defined(CONFIG_ROCKCHIP_RK3399)
+# include <asm/arch-rockchip/cru_rk3399.h>
+#elif defined(CONFIG_ROCKCHIP_RK3568)
+#include <asm/arch-rockchip/cru_rk3568.h>
+#elif defined(CONFIG_ROCKCHIP_RK3588)
+#include <asm/arch-rockchip/cru_rk3588.h>
+#endif
+
+/* CRU_GLB_RST_ST */
+enum {
+	GLB_POR_RST,
+	FST_GLB_RST_ST		= BIT(0),
+	SND_GLB_RST_ST		= BIT(1),
+	FST_GLB_TSADC_RST_ST	= BIT(2),
+	SND_GLB_TSADC_RST_ST	= BIT(3),
+	FST_GLB_WDT_RST_ST	= BIT(4),
+	SND_GLB_WDT_RST_ST	= BIT(5),
+};
+
 char *get_reset_cause(void)
 {
 	struct rockchip_cru *cru = rockchip_get_cru();

-- 
2.34.1


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

* [PATCH RFC 03/11] rockchip: cru: remove unnecessary common cru.h file
  2026-09-20 14:15 [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Massimo Pegorer
  2026-09-20 14:15 ` [PATCH RFC 01/11] arm: rockchip: include SoC-specific CRU header file Massimo Pegorer
  2026-09-20 14:15 ` [PATCH RFC 02/11] rockchip: cru: move code from header to source file Massimo Pegorer
@ 2026-09-20 14:15 ` Massimo Pegorer
  2026-09-20 14:15 ` [PATCH RFC 04/11] rockchip: cru: improve and simplify reset cause handling Massimo Pegorer
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Massimo Pegorer @ 2026-09-20 14:15 UTC (permalink / raw)
  To: Simon Glass, Quentin Schulz, u-boot
  Cc: Tom Rini, Ilias Apalodimas, Kever Yang, Lukasz Majewski,
	Anatolij Gustschin, Heiko Schocher, Marek Vasut, Svyatoslav Ryhel,
	Peter Robinson, Levin Du, Suniel Mahesh, Alexey Charkov,
	Fabio Estevam, Jonas Karlman, Chris Morgan, Coia Prant,
	Frank Wunderlich, Andy Yan, Liangbin Lian, Joseph Chen,
	Tianling Shen, Klaus Goger, Heiko Stuebner, Jacobe Zang,
	Jiehui He, John Clark, Sebastian Kropatsch, Jagan Teki,
	Ilya Katsnelson, Niu Zhihong, Nicolas Frattaroli, Tom Fitzhenry,
	Akash Gajjar, Maxim Moskalets, FUKAUMI Naoki, Eugen Hristev,
	Jianfeng Liu, Elon Zhang, Joshua Riek, Martin Herren,
	Torsten Duwe, Massimo Pegorer

Move the only remaining function get_reset_cause() from cru.h header
file to clock.h which already provides the whole common interface to
Rockchip SoC CRU (Clock and Reset Unit). And remove cru.h file.

Signed-off-by: Massimo Pegorer <massimo.pegorer+oss@gmail.com>
---
 arch/arm/include/asm/arch-rockchip/clock.h  |  2 ++
 arch/arm/include/asm/arch-rockchip/cru.h    | 12 ------------
 arch/arm/mach-rockchip/cpu-info.c           |  1 -
 board/firefly/roc-pc-rk3399/roc-pc-rk3399.c |  2 +-
 4 files changed, 3 insertions(+), 14 deletions(-)

diff --git a/arch/arm/include/asm/arch-rockchip/clock.h b/arch/arm/include/asm/arch-rockchip/clock.h
index 8d3819778eb..4bedf1a0294 100644
--- a/arch/arm/include/asm/arch-rockchip/clock.h
+++ b/arch/arm/include/asm/arch-rockchip/clock.h
@@ -194,6 +194,8 @@ void rk3288_clk_configure_cpu(struct rockchip_cru *cru, struct rk3288_grf *grf);
 
 int rockchip_get_clk(struct udevice **devp);
 
+char *get_reset_cause(void);
+
 /*
  * rockchip_reset_bind() - Bind soft reset device as child of clock device
  *
diff --git a/arch/arm/include/asm/arch-rockchip/cru.h b/arch/arm/include/asm/arch-rockchip/cru.h
deleted file mode 100644
index cffbc18691e..00000000000
--- a/arch/arm/include/asm/arch-rockchip/cru.h
+++ /dev/null
@@ -1,12 +0,0 @@
-/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
-/*
- * (C) Copyright 2019 Amarula Solutions.
- * Author: Jagan Teki <jagan@amarulasolutions.com>
- */
-
-#ifndef _ROCKCHIP_CLOCK_H
-#define _ROCKCHIP_CLOCK_H
-
-char *get_reset_cause(void);
-
-#endif /* _ROCKCHIP_CLOCK_H */
diff --git a/arch/arm/mach-rockchip/cpu-info.c b/arch/arm/mach-rockchip/cpu-info.c
index 4a23fdd70ba..7f20f7aa667 100644
--- a/arch/arm/mach-rockchip/cpu-info.c
+++ b/arch/arm/mach-rockchip/cpu-info.c
@@ -7,7 +7,6 @@
 #include <env.h>
 #include <init.h>
 #include <asm/arch-rockchip/clock.h>
-#include <asm/arch-rockchip/cru.h>
 #include <asm/arch-rockchip/hardware.h>
 #include <linux/err.h>
 
diff --git a/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c b/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
index 5a71e94ae1e..713d3eb2eb9 100644
--- a/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
+++ b/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
@@ -13,7 +13,7 @@
 #include <asm/global_data.h>
 #include <asm/io.h>
 
-#include <asm/arch-rockchip/cru.h>
+#include <asm/arch-rockchip/clock.h>
 #include <asm/arch-rockchip/gpio.h>
 #include <asm/arch-rockchip/grf_rk3399.h>
 

-- 
2.34.1


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

* [PATCH RFC 04/11] rockchip: cru: improve and simplify reset cause handling
  2026-09-20 14:15 [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Massimo Pegorer
                   ` (2 preceding siblings ...)
  2026-09-20 14:15 ` [PATCH RFC 03/11] rockchip: cru: remove unnecessary common cru.h file Massimo Pegorer
@ 2026-09-20 14:15 ` Massimo Pegorer
  2026-09-20 14:15 ` [PATCH RFC 05/11] arm: rockchip: support DISPLAY_CPUINFO on all Rockchip SoC Massimo Pegorer
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Massimo Pegorer @ 2026-09-20 14:15 UTC (permalink / raw)
  To: Simon Glass, Quentin Schulz, u-boot
  Cc: Tom Rini, Ilias Apalodimas, Kever Yang, Lukasz Majewski,
	Anatolij Gustschin, Heiko Schocher, Marek Vasut, Svyatoslav Ryhel,
	Peter Robinson, Levin Du, Suniel Mahesh, Alexey Charkov,
	Fabio Estevam, Jonas Karlman, Chris Morgan, Coia Prant,
	Frank Wunderlich, Andy Yan, Liangbin Lian, Joseph Chen,
	Tianling Shen, Klaus Goger, Heiko Stuebner, Jacobe Zang,
	Jiehui He, John Clark, Sebastian Kropatsch, Jagan Teki,
	Ilya Katsnelson, Niu Zhihong, Nicolas Frattaroli, Tom Fitzhenry,
	Akash Gajjar, Maxim Moskalets, FUKAUMI Naoki, Eugen Hristev,
	Jianfeng Liu, Elon Zhang, Joshua Riek, Martin Herren,
	Torsten Duwe, Massimo Pegorer

Split reset cause code into two functions: the first just returns an
enum identifier of the cause, to be used wherever needed (such as in
roc-pc-rk3399 board level code to detect a POR); the second returns
the reset cause string description used just by print_cpuinfo() and
therefore static and bound to CONFIG_DISPAY_CPUINFO.

Signed-off-by: Massimo Pegorer <massimo.pegorer+oss@gmail.com>
---
 arch/arm/include/asm/arch-rockchip/clock.h  | 11 +++++++-
 arch/arm/mach-rockchip/cpu-info.c           | 41 ++++++++++++++++++-----------
 board/firefly/roc-pc-rk3399/roc-pc-rk3399.c |  2 +-
 3 files changed, 37 insertions(+), 17 deletions(-)

diff --git a/arch/arm/include/asm/arch-rockchip/clock.h b/arch/arm/include/asm/arch-rockchip/clock.h
index 4bedf1a0294..fa346b68a5e 100644
--- a/arch/arm/include/asm/arch-rockchip/clock.h
+++ b/arch/arm/include/asm/arch-rockchip/clock.h
@@ -194,7 +194,16 @@ void rk3288_clk_configure_cpu(struct rockchip_cru *cru, struct rk3288_grf *grf);
 
 int rockchip_get_clk(struct udevice **devp);
 
-char *get_reset_cause(void);
+enum rockchip_rst_cause {
+	RST_CAUSE_UNAVAILABLE,
+	RST_CAUSE_POR,
+	RST_CAUSE_REG,
+	RST_CAUSE_THERMAL,
+	RST_CAUSE_WDOG,
+	RST_CAUSE_UNKNOWN,
+};
+
+enum rockchip_rst_cause rockchip_get_reset_cause(void);
 
 /*
  * rockchip_reset_bind() - Bind soft reset device as child of clock device
diff --git a/arch/arm/mach-rockchip/cpu-info.c b/arch/arm/mach-rockchip/cpu-info.c
index 7f20f7aa667..2ec96a20c3d 100644
--- a/arch/arm/mach-rockchip/cpu-info.c
+++ b/arch/arm/mach-rockchip/cpu-info.c
@@ -31,41 +31,52 @@ enum {
 	SND_GLB_WDT_RST_ST	= BIT(5),
 };
 
-char *get_reset_cause(void)
+enum rockchip_rst_cause rockchip_get_reset_cause(void)
 {
 	struct rockchip_cru *cru = rockchip_get_cru();
-	char *cause = NULL;
 
 	if (IS_ERR(cru))
-		return cause;
+		return RST_CAUSE_UNAVAILABLE;
 
 	switch (cru->glb_rst_st) {
 	case GLB_POR_RST:
-		cause = "POR";
-		break;
+		return RST_CAUSE_POR;
 	case FST_GLB_RST_ST:
 	case SND_GLB_RST_ST:
-		cause = "RST";
-		break;
+		return RST_CAUSE_REG;
 	case FST_GLB_TSADC_RST_ST:
 	case SND_GLB_TSADC_RST_ST:
-		cause = "THERMAL";
-		break;
+		return RST_CAUSE_THERMAL;
 	case FST_GLB_WDT_RST_ST:
 	case SND_GLB_WDT_RST_ST:
-		cause = "WDOG";
-		break;
-	default:
-		cause = "unknown reset";
+		return RST_CAUSE_WDOG;
 	}
 
-	return cause;
+	return RST_CAUSE_UNKNOWN;
 }
 
 #if IS_ENABLED(CONFIG_DISPLAY_CPUINFO)
+static const char *get_reset_cause(void)
+{
+	switch (rockchip_get_reset_cause()) {
+	case RST_CAUSE_UNAVAILABLE:
+		return NULL;
+	case RST_CAUSE_POR:
+		return "POR";
+	case RST_CAUSE_REG:
+		return "RST";
+	case RST_CAUSE_THERMAL:
+		return "THERMAL";
+	case RST_CAUSE_WDOG:
+		return "WDOG";
+	default:
+		return "unknown reset";
+	}
+}
+
 int print_cpuinfo(void)
 {
-	char *cause = get_reset_cause();
+	const char *cause = get_reset_cause();
 
 	printf("SoC: Rockchip %s\n", CONFIG_SYS_SOC);
 	printf("Reset cause: %s\n", cause);
diff --git a/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c b/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
index 713d3eb2eb9..7b8f658f87f 100644
--- a/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
+++ b/board/firefly/roc-pc-rk3399/roc-pc-rk3399.c
@@ -50,7 +50,7 @@ void led_setup(void)
 			press_pwr_key = true;
 	}
 
-	if (press_pwr_key && !strcmp(get_reset_cause(), "POR")) {
+	if (press_pwr_key && rockchip_get_reset_cause() == RST_CAUSE_POR) {
 		spl_gpio_output(gpio0, GPIO(BANK_A, 2), 1);
 
 		spl_gpio_set_pull(&pmugrf->gpio0_p, GPIO(BANK_A, 5),

-- 
2.34.1


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

* [PATCH RFC 05/11] arm: rockchip: support DISPLAY_CPUINFO on all Rockchip SoC
  2026-09-20 14:15 [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Massimo Pegorer
                   ` (3 preceding siblings ...)
  2026-09-20 14:15 ` [PATCH RFC 04/11] rockchip: cru: improve and simplify reset cause handling Massimo Pegorer
@ 2026-09-20 14:15 ` Massimo Pegorer
  2026-09-20 14:15 ` [PATCH RFC 06/11] arm: rockchip: unbind cpu-info.c from DISPLAY_CPUINFO Massimo Pegorer
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Massimo Pegorer @ 2026-09-20 14:15 UTC (permalink / raw)
  To: Simon Glass, Quentin Schulz, u-boot
  Cc: Tom Rini, Ilias Apalodimas, Kever Yang, Lukasz Majewski,
	Anatolij Gustschin, Heiko Schocher, Marek Vasut, Svyatoslav Ryhel,
	Peter Robinson, Levin Du, Suniel Mahesh, Alexey Charkov,
	Fabio Estevam, Jonas Karlman, Chris Morgan, Coia Prant,
	Frank Wunderlich, Andy Yan, Liangbin Lian, Joseph Chen,
	Tianling Shen, Klaus Goger, Heiko Stuebner, Jacobe Zang,
	Jiehui He, John Clark, Sebastian Kropatsch, Jagan Teki,
	Ilya Katsnelson, Niu Zhihong, Nicolas Frattaroli, Tom Fitzhenry,
	Akash Gajjar, Maxim Moskalets, FUKAUMI Naoki, Eugen Hristev,
	Jianfeng Liu, Elon Zhang, Joshua Riek, Martin Herren,
	Torsten Duwe, Massimo Pegorer

Move rockchip_get_reset_cause() implementation to SoC-specific source
files, leaving a dummy weak common implementation in cpu-info.c file:
an effective common implementation is not feasible due SoC differences.
BTW the existing ones for RK3568 and RK3588 need to be fixed/improved
because their CRU_GLB_RST_ST registers differ from the one common to
RK3288 and RK3399 on which the implementation is based.

Moreover, now all the Rockchip SoC board configurations can select the
DISPLAY_CPUINFO config option and compile cpu-info.c successfully which
provides print_cpuinfo(). Previously, boards with SoC other than RK3288
RK3399 RK3568 and RK3588 could not have DISPLAY_CPUINFO selected.

Signed-off-by: Massimo Pegorer <massimo.pegorer+oss@gmail.com>
---
 arch/arm/mach-rockchip/cpu-info.c          | 44 ++----------------------------
 arch/arm/mach-rockchip/rk3288/clk_rk3288.c | 35 ++++++++++++++++++++++++
 arch/arm/mach-rockchip/rk3399/clk_rk3399.c | 35 ++++++++++++++++++++++++
 arch/arm/mach-rockchip/rk3568/clk_rk3568.c | 35 ++++++++++++++++++++++++
 arch/arm/mach-rockchip/rk3588/clk_rk3588.c | 35 ++++++++++++++++++++++++
 5 files changed, 142 insertions(+), 42 deletions(-)

diff --git a/arch/arm/mach-rockchip/cpu-info.c b/arch/arm/mach-rockchip/cpu-info.c
index 2ec96a20c3d..b6e3d9ff964 100644
--- a/arch/arm/mach-rockchip/cpu-info.c
+++ b/arch/arm/mach-rockchip/cpu-info.c
@@ -10,49 +10,9 @@
 #include <asm/arch-rockchip/hardware.h>
 #include <linux/err.h>
 
-#if defined(CONFIG_ROCKCHIP_RK3288)
-# include <asm/arch-rockchip/cru_rk3288.h>
-#elif defined(CONFIG_ROCKCHIP_RK3399)
-# include <asm/arch-rockchip/cru_rk3399.h>
-#elif defined(CONFIG_ROCKCHIP_RK3568)
-#include <asm/arch-rockchip/cru_rk3568.h>
-#elif defined(CONFIG_ROCKCHIP_RK3588)
-#include <asm/arch-rockchip/cru_rk3588.h>
-#endif
-
-/* CRU_GLB_RST_ST */
-enum {
-	GLB_POR_RST,
-	FST_GLB_RST_ST		= BIT(0),
-	SND_GLB_RST_ST		= BIT(1),
-	FST_GLB_TSADC_RST_ST	= BIT(2),
-	SND_GLB_TSADC_RST_ST	= BIT(3),
-	FST_GLB_WDT_RST_ST	= BIT(4),
-	SND_GLB_WDT_RST_ST	= BIT(5),
-};
-
-enum rockchip_rst_cause rockchip_get_reset_cause(void)
+__weak enum rockchip_rst_cause rockchip_get_reset_cause(void)
 {
-	struct rockchip_cru *cru = rockchip_get_cru();
-
-	if (IS_ERR(cru))
-		return RST_CAUSE_UNAVAILABLE;
-
-	switch (cru->glb_rst_st) {
-	case GLB_POR_RST:
-		return RST_CAUSE_POR;
-	case FST_GLB_RST_ST:
-	case SND_GLB_RST_ST:
-		return RST_CAUSE_REG;
-	case FST_GLB_TSADC_RST_ST:
-	case SND_GLB_TSADC_RST_ST:
-		return RST_CAUSE_THERMAL;
-	case FST_GLB_WDT_RST_ST:
-	case SND_GLB_WDT_RST_ST:
-		return RST_CAUSE_WDOG;
-	}
-
-	return RST_CAUSE_UNKNOWN;
+	return RST_CAUSE_UNAVAILABLE;
 }
 
 #if IS_ENABLED(CONFIG_DISPLAY_CPUINFO)
diff --git a/arch/arm/mach-rockchip/rk3288/clk_rk3288.c b/arch/arm/mach-rockchip/rk3288/clk_rk3288.c
index d725730f5bd..a245d865a0b 100644
--- a/arch/arm/mach-rockchip/rk3288/clk_rk3288.c
+++ b/arch/arm/mach-rockchip/rk3288/clk_rk3288.c
@@ -30,3 +30,38 @@ void *rockchip_get_cru(void)
 
 	return priv->cru;
 }
+
+/* CRU_GLB_RST_ST */
+enum {
+	GLB_POR_RST,
+	FST_GLB_RST_ST		= BIT(0),
+	SND_GLB_RST_ST		= BIT(1),
+	FST_GLB_TSADC_RST_ST	= BIT(2),
+	SND_GLB_TSADC_RST_ST	= BIT(3),
+	FST_GLB_WDT_RST_ST	= BIT(4),
+	SND_GLB_WDT_RST_ST	= BIT(5),
+};
+
+enum rockchip_rst_cause rockchip_get_reset_cause(void)
+{
+	struct rockchip_cru *cru = rockchip_get_cru();
+
+	if (IS_ERR(cru))
+		return RST_CAUSE_UNAVAILABLE;
+
+	switch (cru->glb_rst_st) {
+	case GLB_POR_RST:
+		return RST_CAUSE_POR;
+	case FST_GLB_RST_ST:
+	case SND_GLB_RST_ST:
+		return RST_CAUSE_REG;
+	case FST_GLB_TSADC_RST_ST:
+	case SND_GLB_TSADC_RST_ST:
+		return RST_CAUSE_THERMAL;
+	case FST_GLB_WDT_RST_ST:
+	case SND_GLB_WDT_RST_ST:
+		return RST_CAUSE_WDOG;
+	}
+
+	return RST_CAUSE_UNKNOWN;
+}
diff --git a/arch/arm/mach-rockchip/rk3399/clk_rk3399.c b/arch/arm/mach-rockchip/rk3399/clk_rk3399.c
index 170071d243d..afd57b2e354 100644
--- a/arch/arm/mach-rockchip/rk3399/clk_rk3399.c
+++ b/arch/arm/mach-rockchip/rk3399/clk_rk3399.c
@@ -51,3 +51,38 @@ void *rockchip_get_pmucru(void)
 
 	return priv->pmucru;
 }
+
+/* CRU_GLB_RST_ST */
+enum {
+	GLB_POR_RST,
+	FST_GLB_RST_ST		= BIT(0),
+	SND_GLB_RST_ST		= BIT(1),
+	FST_GLB_TSADC_RST_ST	= BIT(2),
+	SND_GLB_TSADC_RST_ST	= BIT(3),
+	FST_GLB_WDT_RST_ST	= BIT(4),
+	SND_GLB_WDT_RST_ST	= BIT(5),
+};
+
+enum rockchip_rst_cause rockchip_get_reset_cause(void)
+{
+	struct rockchip_cru *cru = rockchip_get_cru();
+
+	if (IS_ERR(cru))
+		return RST_CAUSE_UNAVAILABLE;
+
+	switch (cru->glb_rst_st) {
+	case GLB_POR_RST:
+		return RST_CAUSE_POR;
+	case FST_GLB_RST_ST:
+	case SND_GLB_RST_ST:
+		return RST_CAUSE_REG;
+	case FST_GLB_TSADC_RST_ST:
+	case SND_GLB_TSADC_RST_ST:
+		return RST_CAUSE_THERMAL;
+	case FST_GLB_WDT_RST_ST:
+	case SND_GLB_WDT_RST_ST:
+		return RST_CAUSE_WDOG;
+	}
+
+	return RST_CAUSE_UNKNOWN;
+}
diff --git a/arch/arm/mach-rockchip/rk3568/clk_rk3568.c b/arch/arm/mach-rockchip/rk3568/clk_rk3568.c
index 1c6b2ece602..e10bcef727d 100644
--- a/arch/arm/mach-rockchip/rk3568/clk_rk3568.c
+++ b/arch/arm/mach-rockchip/rk3568/clk_rk3568.c
@@ -50,3 +50,38 @@ void *rockchip_get_pmucru(void)
 
 	return priv->pmucru;
 }
+
+/* CRU_GLB_RST_ST */
+enum {
+	GLB_POR_RST,
+	FST_GLB_RST_ST		= BIT(0),
+	SND_GLB_RST_ST		= BIT(1),
+	FST_GLB_TSADC_RST_ST	= BIT(2),
+	SND_GLB_TSADC_RST_ST	= BIT(3),
+	FST_GLB_WDT_RST_ST	= BIT(4),
+	SND_GLB_WDT_RST_ST	= BIT(5),
+};
+
+enum rockchip_rst_cause rockchip_get_reset_cause(void)
+{
+	struct rockchip_cru *cru = rockchip_get_cru();
+
+	if (IS_ERR(cru))
+		return RST_CAUSE_UNAVAILABLE;
+
+	switch (cru->glb_rst_st) {
+	case GLB_POR_RST:
+		return RST_CAUSE_POR;
+	case FST_GLB_RST_ST:
+	case SND_GLB_RST_ST:
+		return RST_CAUSE_REG;
+	case FST_GLB_TSADC_RST_ST:
+	case SND_GLB_TSADC_RST_ST:
+		return RST_CAUSE_THERMAL;
+	case FST_GLB_WDT_RST_ST:
+	case SND_GLB_WDT_RST_ST:
+		return RST_CAUSE_WDOG;
+	}
+
+	return RST_CAUSE_UNKNOWN;
+}
diff --git a/arch/arm/mach-rockchip/rk3588/clk_rk3588.c b/arch/arm/mach-rockchip/rk3588/clk_rk3588.c
index 250ec423bd2..5698b16db58 100644
--- a/arch/arm/mach-rockchip/rk3588/clk_rk3588.c
+++ b/arch/arm/mach-rockchip/rk3588/clk_rk3588.c
@@ -29,3 +29,38 @@ void *rockchip_get_cru(void)
 
 	return priv->cru;
 }
+
+/* CRU_GLB_RST_ST */
+enum {
+	GLB_POR_RST,
+	FST_GLB_RST_ST		= BIT(0),
+	SND_GLB_RST_ST		= BIT(1),
+	FST_GLB_TSADC_RST_ST	= BIT(2),
+	SND_GLB_TSADC_RST_ST	= BIT(3),
+	FST_GLB_WDT_RST_ST	= BIT(4),
+	SND_GLB_WDT_RST_ST	= BIT(5),
+};
+
+enum rockchip_rst_cause rockchip_get_reset_cause(void)
+{
+	struct rockchip_cru *cru = rockchip_get_cru();
+
+	if (IS_ERR(cru))
+		return RST_CAUSE_UNAVAILABLE;
+
+	switch (cru->glb_rst_st) {
+	case GLB_POR_RST:
+		return RST_CAUSE_POR;
+	case FST_GLB_RST_ST:
+	case SND_GLB_RST_ST:
+		return RST_CAUSE_REG;
+	case FST_GLB_TSADC_RST_ST:
+	case SND_GLB_TSADC_RST_ST:
+		return RST_CAUSE_THERMAL;
+	case FST_GLB_WDT_RST_ST:
+	case SND_GLB_WDT_RST_ST:
+		return RST_CAUSE_WDOG;
+	}
+
+	return RST_CAUSE_UNKNOWN;
+}

-- 
2.34.1


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

* [PATCH RFC 06/11] arm: rockchip: unbind cpu-info.c from DISPLAY_CPUINFO
  2026-09-20 14:15 [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Massimo Pegorer
                   ` (4 preceding siblings ...)
  2026-09-20 14:15 ` [PATCH RFC 05/11] arm: rockchip: support DISPLAY_CPUINFO on all Rockchip SoC Massimo Pegorer
@ 2026-09-20 14:15 ` Massimo Pegorer
  2026-09-20 14:15 ` [PATCH RFC 07/11] arm: rockchip: print SoC detailed info with DISPLAY_CPUINFO Massimo Pegorer
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Massimo Pegorer @ 2026-09-20 14:15 UTC (permalink / raw)
  To: Simon Glass, Quentin Schulz, u-boot
  Cc: Tom Rini, Ilias Apalodimas, Kever Yang, Lukasz Majewski,
	Anatolij Gustschin, Heiko Schocher, Marek Vasut, Svyatoslav Ryhel,
	Peter Robinson, Levin Du, Suniel Mahesh, Alexey Charkov,
	Fabio Estevam, Jonas Karlman, Chris Morgan, Coia Prant,
	Frank Wunderlich, Andy Yan, Liangbin Lian, Joseph Chen,
	Tianling Shen, Klaus Goger, Heiko Stuebner, Jacobe Zang,
	Jiehui He, John Clark, Sebastian Kropatsch, Jagan Teki,
	Ilya Katsnelson, Niu Zhihong, Nicolas Frattaroli, Tom Fitzhenry,
	Akash Gajjar, Maxim Moskalets, FUKAUMI Naoki, Eugen Hristev,
	Jianfeng Liu, Elon Zhang, Joshua Riek, Martin Herren,
	Torsten Duwe, Massimo Pegorer

Except for TPL, always compile cpu-info.c file without guard by
DISPLAY_CPUINFO at Makefile level, to provide at least the weak
implementation of rockchip_get_reset_cause().

In this way, any code using rockchip_get_reset_cause() (weak or not)
will not be broken when deselecting DISPLAY_CPUINFO. Previously, it
was not possible to compile TARGET_ROC_PC_RK3399 with DISPLAY_CPUINFO
deselected.

Signed-off-by: Massimo Pegorer <massimo.pegorer+oss@gmail.com>
---
 arch/arm/mach-rockchip/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-rockchip/Makefile b/arch/arm/mach-rockchip/Makefile
index d3bc0689f89..a76ef200d65 100644
--- a/arch/arm/mach-rockchip/Makefile
+++ b/arch/arm/mach-rockchip/Makefile
@@ -26,7 +26,7 @@ obj-$(CONFIG_ROCKCHIP_COMMON_BOARD) += board.o
 endif
 
 ifeq ($(CONFIG_TPL_BUILD),)
-obj-$(CONFIG_DISPLAY_CPUINFO) += cpu-info.o
+obj-y += cpu-info.o
 endif
 
 obj-$(CONFIG_$(PHASE_)RAM) += sdram.o

-- 
2.34.1


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

* [PATCH RFC 07/11] arm: rockchip: print SoC detailed info with DISPLAY_CPUINFO
  2026-09-20 14:15 [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Massimo Pegorer
                   ` (5 preceding siblings ...)
  2026-09-20 14:15 ` [PATCH RFC 06/11] arm: rockchip: unbind cpu-info.c from DISPLAY_CPUINFO Massimo Pegorer
@ 2026-09-20 14:15 ` Massimo Pegorer
  2026-09-20 14:15 ` [PATCH RFC 08/11] arm: rockchip: print reset cause only when available Massimo Pegorer
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Massimo Pegorer @ 2026-09-20 14:15 UTC (permalink / raw)
  To: Simon Glass, Quentin Schulz, u-boot
  Cc: Tom Rini, Ilias Apalodimas, Kever Yang, Lukasz Majewski,
	Anatolij Gustschin, Heiko Schocher, Marek Vasut, Svyatoslav Ryhel,
	Peter Robinson, Levin Du, Suniel Mahesh, Alexey Charkov,
	Fabio Estevam, Jonas Karlman, Chris Morgan, Coia Prant,
	Frank Wunderlich, Andy Yan, Liangbin Lian, Joseph Chen,
	Tianling Shen, Klaus Goger, Heiko Stuebner, Jacobe Zang,
	Jiehui He, John Clark, Sebastian Kropatsch, Jagan Teki,
	Ilya Katsnelson, Niu Zhihong, Nicolas Frattaroli, Tom Fitzhenry,
	Akash Gajjar, Maxim Moskalets, FUKAUMI Naoki, Eugen Hristev,
	Jianfeng Liu, Elon Zhang, Joshua Riek, Martin Herren,
	Torsten Duwe, Massimo Pegorer

Several Rockchip SoCs have a specific implementation of checkboard()
that prints a string with more SoC info than CONFIG_SYS_SOC: in these
cases, make print_cpuinfo() call it to provide all available SoC
information, and only if the function fails print CONFIG_SYS_SOC as a
fallback.

Unfortunately, checkboard() is a special function used to override a
weak dummy implementation and is wrapped into INITCALL macro when the
DISPLAY_BOARDINFO(_LATE) config option is selected: changing it to
return non-zero in case of failure is not an option, it will hang.
Therefore, rename checkboard() Rockchip SoC-specific implementations
to rockchip_print_soc() and change them to return zero on success
and -ve on error. On the other hand provide a common checkboard()
implementation, at Rockchip mach level, that wraps them (or the
dummy weak one) but always returns zero.

Moreover, if DISPLAY_CPUINFO is selected, make checkboard() not to
call rockchip_print_soc(): being SoC info already been printed by
print_cpuinfo() it seems redundant to print these info again due to
DISPLAY_BOARDINFO(_LATE) being selected too.

Signed-off-by: Massimo Pegorer <massimo.pegorer+oss@gmail.com>
---
 arch/arm/mach-rockchip/cpu-info.c      | 18 +++++++++++++++++-
 arch/arm/mach-rockchip/px30/px30.c     | 12 ++++++------
 arch/arm/mach-rockchip/rk3308/rk3308.c |  2 +-
 arch/arm/mach-rockchip/rk3506/rk3506.c | 10 +++++-----
 arch/arm/mach-rockchip/rk3528/rk3528.c | 10 +++++-----
 arch/arm/mach-rockchip/rk3568/rk3568.c | 12 ++++++------
 arch/arm/mach-rockchip/rk3576/rk3576.c | 10 +++++-----
 arch/arm/mach-rockchip/rk3588/rk3588.c | 10 +++++-----
 8 files changed, 50 insertions(+), 34 deletions(-)

diff --git a/arch/arm/mach-rockchip/cpu-info.c b/arch/arm/mach-rockchip/cpu-info.c
index b6e3d9ff964..823a2c6b89d 100644
--- a/arch/arm/mach-rockchip/cpu-info.c
+++ b/arch/arm/mach-rockchip/cpu-info.c
@@ -10,6 +10,20 @@
 #include <asm/arch-rockchip/hardware.h>
 #include <linux/err.h>
 
+__weak int rockchip_print_soc(void)
+{
+	return -ENOTSUPP;
+}
+
+int checkboard(void)
+{
+	/* Print SOC only if not already printed by CPUINFO */
+	if (!IS_ENABLED(CONFIG_DISPLAY_CPUINFO))
+		rockchip_print_soc();
+
+	return 0;
+}
+
 __weak enum rockchip_rst_cause rockchip_get_reset_cause(void)
 {
 	return RST_CAUSE_UNAVAILABLE;
@@ -38,7 +52,9 @@ int print_cpuinfo(void)
 {
 	const char *cause = get_reset_cause();
 
-	printf("SoC: Rockchip %s\n", CONFIG_SYS_SOC);
+	if (rockchip_print_soc())
+		printf("SoC: Rockchip %s\n", CONFIG_SYS_SOC);
+
 	printf("Reset cause: %s\n", cause);
 
 	/**
diff --git a/arch/arm/mach-rockchip/px30/px30.c b/arch/arm/mach-rockchip/px30/px30.c
index 5a5c119328f..83b430b0ea6 100644
--- a/arch/arm/mach-rockchip/px30/px30.c
+++ b/arch/arm/mach-rockchip/px30/px30.c
@@ -453,7 +453,7 @@ void board_debug_uart_init(void)
 #define DDR_GRF_BASE_ADDR               0xff630000
 #define DDR_GRF_CON(n)                  (0 + (n) * 4)
 
-int checkboard(void)
+int rockchip_print_soc(void)
 {
 	struct udevice *dev;
 	u8 specification;
@@ -461,32 +461,32 @@ int checkboard(void)
 	int ret;
 
 	if (!IS_ENABLED(CONFIG_ROCKCHIP_OTP) || !CONFIG_IS_ENABLED(MISC))
-		return 0;
+		return -ENOTSUPP;
 
 	ret = uclass_get_device_by_driver(UCLASS_MISC,
 					  DM_DRIVER_GET(rockchip_otp), &dev);
 	if (ret) {
 		log_debug("Could not find otp device, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 
 	/* base SoC: 0x26334b52 for RK3326; 0x30335850 for PX30 */
 	ret = misc_read(dev, 0, &base_soc, 4);
 	if (ret < 0) {
 		log_debug("Could not read specification, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 
 	if (base_soc != 0x26334b52 && base_soc != 0x30335850) {
 		log_debug("Could not identify SoC, got 0x%04x in OTP\n", base_soc);
-		return 0;
+		return -EINVAL;
 	}
 
 	/* SoC variant: 0x21 for PX30/PX30S/RK3326/RK3326S; 0x2b for PX30K */
 	ret = misc_read(dev, PX30_OTP_SPECIFICATION_OFFSET, &specification, 1);
 	if (ret < 0) {
 		log_debug("Could not read specification, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 
 	if (specification == 0x2b) {
diff --git a/arch/arm/mach-rockchip/rk3308/rk3308.c b/arch/arm/mach-rockchip/rk3308/rk3308.c
index 6916f1a2444..de56672cc0e 100644
--- a/arch/arm/mach-rockchip/rk3308/rk3308.c
+++ b/arch/arm/mach-rockchip/rk3308/rk3308.c
@@ -152,7 +152,7 @@ int arch_cpu_init(void)
 
 #define RK3308_GRF_CHIP_ID	0xFF000800
 
-int checkboard(void)
+int rockchip_print_soc(void)
 {
 	u32 chip_id = readl(RK3308_GRF_CHIP_ID);
 
diff --git a/arch/arm/mach-rockchip/rk3506/rk3506.c b/arch/arm/mach-rockchip/rk3506/rk3506.c
index 2ed1dcc128e..141a9a9ab0b 100644
--- a/arch/arm/mach-rockchip/rk3506/rk3506.c
+++ b/arch/arm/mach-rockchip/rk3506/rk3506.c
@@ -83,7 +83,7 @@ void rockchip_stimer_init(void)
 #define RK3506_OTP_CPU_CODE_OFFSET		0x02
 #define RK3506_OTP_SPECIFICATION_OFFSET		0x08
 
-int checkboard(void)
+int rockchip_print_soc(void)
 {
 	u8 cpu_code[2], specification;
 	struct udevice *dev;
@@ -91,27 +91,27 @@ int checkboard(void)
 	int ret;
 
 	if (!IS_ENABLED(CONFIG_ROCKCHIP_OTP) || !CONFIG_IS_ENABLED(MISC))
-		return 0;
+		return -ENOTSUPP;
 
 	ret = uclass_get_device_by_driver(UCLASS_MISC,
 					  DM_DRIVER_GET(rockchip_otp), &dev);
 	if (ret) {
 		log_debug("Could not find otp device, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 
 	/* cpu-code: SoC model, e.g. 0x35 0x06 */
 	ret = misc_read(dev, RK3506_OTP_CPU_CODE_OFFSET, cpu_code, 2);
 	if (ret < 0) {
 		log_debug("Could not read cpu-code, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 
 	/* specification: SoC variant, e.g. 0xA for RK3506J */
 	ret = misc_read(dev, RK3506_OTP_SPECIFICATION_OFFSET, &specification, 1);
 	if (ret < 0) {
 		log_debug("Could not read specification, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 	specification &= 0x1f;
 
diff --git a/arch/arm/mach-rockchip/rk3528/rk3528.c b/arch/arm/mach-rockchip/rk3528/rk3528.c
index a39cb8be9a1..87b0040074b 100644
--- a/arch/arm/mach-rockchip/rk3528/rk3528.c
+++ b/arch/arm/mach-rockchip/rk3528/rk3528.c
@@ -104,7 +104,7 @@ void rockchip_stimer_init(void)
 #define RK3528_OTP_CPU_CODE_OFFSET		0x02
 #define RK3528_OTP_CPU_CHIP_TYPE_OFFSET		0x28
 
-int checkboard(void)
+int rockchip_print_soc(void)
 {
 	u8 cpu_code[2], chip_type;
 	struct udevice *dev;
@@ -112,26 +112,26 @@ int checkboard(void)
 	int ret;
 
 	if (!IS_ENABLED(CONFIG_ROCKCHIP_OTP) || !CONFIG_IS_ENABLED(MISC))
-		return 0;
+		return -ENOTSUPP;
 
 	ret = uclass_get_device_by_driver(UCLASS_MISC,
 					  DM_DRIVER_GET(rockchip_otp), &dev);
 	if (ret) {
 		log_debug("Could not find otp device, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 
 	/* cpu-code: SoC model, e.g. 0x35 0x28 */
 	ret = misc_read(dev, RK3528_OTP_CPU_CODE_OFFSET, cpu_code, 2);
 	if (ret < 0) {
 		log_debug("Could not read cpu-code, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 
 	ret = misc_read(dev, RK3528_OTP_CPU_CHIP_TYPE_OFFSET, &chip_type, 1);
 	if (ret < 0) {
 		log_debug("Could not read chip type, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 
 	suffix[0] = chip_type != 0x1 ? 'A' : '\0';
diff --git a/arch/arm/mach-rockchip/rk3568/rk3568.c b/arch/arm/mach-rockchip/rk3568/rk3568.c
index 2b1eafee37c..c42d1982feb 100644
--- a/arch/arm/mach-rockchip/rk3568/rk3568.c
+++ b/arch/arm/mach-rockchip/rk3568/rk3568.c
@@ -153,7 +153,7 @@ int arch_cpu_init(void)
 #define RK3568_OTP_SPECIFICATION_OFFSET		0x07
 #define RK3568_OTP_PERFORMANCE_OFFSET		0x22
 
-int checkboard(void)
+int rockchip_print_soc(void)
 {
 	u8 cpu_code[2], specification, package, performance;
 	struct udevice *dev;
@@ -161,27 +161,27 @@ int checkboard(void)
 	int ret;
 
 	if (!IS_ENABLED(CONFIG_ROCKCHIP_OTP) || !CONFIG_IS_ENABLED(MISC))
-		return 0;
+		return -ENOTSUPP;
 
 	ret = uclass_get_device_by_driver(UCLASS_MISC,
 					  DM_DRIVER_GET(rockchip_otp), &dev);
 	if (ret) {
 		log_debug("Could not find otp device, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 
 	/* cpu-code: SoC model, e.g. 0x35 0x66 or 0x35 0x68 */
 	ret = misc_read(dev, RK3568_OTP_CPU_CODE_OFFSET, cpu_code, 2);
 	if (ret < 0) {
 		log_debug("Could not read cpu-code, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 
 	/* specification: SoC variant, e.g. 0x2 for RK3568B2 and 0xA for RK3568J */
 	ret = misc_read(dev, RK3568_OTP_SPECIFICATION_OFFSET, &specification, 1);
 	if (ret < 0) {
 		log_debug("Could not read specification, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 	/* package: likely SoC variant revision, 0x2 for RK3568B2 */
 	package = specification >> 5;
@@ -191,7 +191,7 @@ int checkboard(void)
 	ret = misc_read(dev, RK3568_OTP_PERFORMANCE_OFFSET, &performance, 1);
 	if (ret < 0) {
 		log_debug("Could not read performance, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 	if (performance & 0x0f)
 		specification = 0x14; /* T-variant */
diff --git a/arch/arm/mach-rockchip/rk3576/rk3576.c b/arch/arm/mach-rockchip/rk3576/rk3576.c
index 76119cdb1ae..80905dccf6a 100644
--- a/arch/arm/mach-rockchip/rk3576/rk3576.c
+++ b/arch/arm/mach-rockchip/rk3576/rk3576.c
@@ -209,7 +209,7 @@ int arch_cpu_init(void)
 #define RK3576_OTP_CPU_CODE_OFFSET		0x02
 #define RK3576_OTP_SPECIFICATION_OFFSET		0x08
 
-int checkboard(void)
+int rockchip_print_soc(void)
 {
 	u8 cpu_code[2], specification;
 	struct udevice *dev;
@@ -217,27 +217,27 @@ int checkboard(void)
 	int ret;
 
 	if (!IS_ENABLED(CONFIG_ROCKCHIP_OTP) || !CONFIG_IS_ENABLED(MISC))
-		return 0;
+		return -ENOTSUPP;
 
 	ret = uclass_get_device_by_driver(UCLASS_MISC,
 					  DM_DRIVER_GET(rockchip_otp), &dev);
 	if (ret) {
 		log_debug("Could not find otp device, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 
 	/* cpu-code: SoC model, e.g. 0x35 0x76 */
 	ret = misc_read(dev, RK3576_OTP_CPU_CODE_OFFSET, cpu_code, 2);
 	if (ret < 0) {
 		log_debug("Could not read cpu-code, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 
 	/* specification: SoC variant, e.g. 0xA for RK3576J */
 	ret = misc_read(dev, RK3576_OTP_SPECIFICATION_OFFSET, &specification, 1);
 	if (ret < 0) {
 		log_debug("Could not read specification, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 	specification &= 0x1f;
 
diff --git a/arch/arm/mach-rockchip/rk3588/rk3588.c b/arch/arm/mach-rockchip/rk3588/rk3588.c
index f69792670d0..e3a2198cc70 100644
--- a/arch/arm/mach-rockchip/rk3588/rk3588.c
+++ b/arch/arm/mach-rockchip/rk3588/rk3588.c
@@ -270,7 +270,7 @@ int rockchip_dram_init_banksize_fixup(struct bd_info *bd)
 #define FAIL_RKVENC0			BIT(0)
 #define FAIL_RKVENC1			BIT(2)
 
-int checkboard(void)
+int rockchip_print_soc(void)
 {
 	u8 cpu_code[2], specification, package;
 	struct udevice *dev;
@@ -278,27 +278,27 @@ int checkboard(void)
 	int ret;
 
 	if (!IS_ENABLED(CONFIG_ROCKCHIP_OTP) || !CONFIG_IS_ENABLED(MISC))
-		return 0;
+		return -ENOTSUPP;
 
 	ret = uclass_get_device_by_driver(UCLASS_MISC,
 					  DM_DRIVER_GET(rockchip_otp), &dev);
 	if (ret) {
 		log_debug("Could not find otp device, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 
 	/* cpu-code: SoC model, e.g. 0x35 0x82 or 0x35 0x88 */
 	ret = misc_read(dev, RK3588_OTP_CPU_CODE_OFFSET, cpu_code, 2);
 	if (ret < 0) {
 		log_debug("Could not read cpu-code, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 
 	/* specification: SoC variant, e.g. 0xA for RK3588J and 0x13 for RK3588S */
 	ret = misc_read(dev, RK3588_OTP_SPECIFICATION_OFFSET, &specification, 1);
 	if (ret < 0) {
 		log_debug("Could not read specification, ret=%d\n", ret);
-		return 0;
+		return ret;
 	}
 	/* package: likely SoC variant revision, 0x2 for RK3588S2 */
 	package = specification >> 5;

-- 
2.34.1


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

* [PATCH RFC 08/11] arm: rockchip: print reset cause only when available
  2026-09-20 14:15 [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Massimo Pegorer
                   ` (6 preceding siblings ...)
  2026-09-20 14:15 ` [PATCH RFC 07/11] arm: rockchip: print SoC detailed info with DISPLAY_CPUINFO Massimo Pegorer
@ 2026-09-20 14:15 ` Massimo Pegorer
  2026-09-20 14:15 ` [PATCH RFC 09/11] arm: rockchip: do not print SoC info with DISPLAY_BOARDINFO Massimo Pegorer
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Massimo Pegorer @ 2026-09-20 14:15 UTC (permalink / raw)
  To: Simon Glass, Quentin Schulz, u-boot
  Cc: Tom Rini, Ilias Apalodimas, Kever Yang, Lukasz Majewski,
	Anatolij Gustschin, Heiko Schocher, Marek Vasut, Svyatoslav Ryhel,
	Peter Robinson, Levin Du, Suniel Mahesh, Alexey Charkov,
	Fabio Estevam, Jonas Karlman, Chris Morgan, Coia Prant,
	Frank Wunderlich, Andy Yan, Liangbin Lian, Joseph Chen,
	Tianling Shen, Klaus Goger, Heiko Stuebner, Jacobe Zang,
	Jiehui He, John Clark, Sebastian Kropatsch, Jagan Teki,
	Ilya Katsnelson, Niu Zhihong, Nicolas Frattaroli, Tom Fitzhenry,
	Akash Gajjar, Maxim Moskalets, FUKAUMI Naoki, Eugen Hristev,
	Jianfeng Liu, Elon Zhang, Joshua Riek, Martin Herren,
	Torsten Duwe, Massimo Pegorer

Do not print the useless "Reset cause: <NULL>" line when reset cause is
unavailable due to missing overriding implementation or error. On the
other hand, I always feel uncomfortable for providing - knowingly - a
NULL pointer as printf() argument for a '%s' conversion specifier.

Signed-off-by: Massimo Pegorer <massimo.pegorer+oss@gmail.com>
---
 arch/arm/mach-rockchip/cpu-info.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-rockchip/cpu-info.c b/arch/arm/mach-rockchip/cpu-info.c
index 823a2c6b89d..79ea3e17185 100644
--- a/arch/arm/mach-rockchip/cpu-info.c
+++ b/arch/arm/mach-rockchip/cpu-info.c
@@ -55,7 +55,8 @@ int print_cpuinfo(void)
 	if (rockchip_print_soc())
 		printf("SoC: Rockchip %s\n", CONFIG_SYS_SOC);
 
-	printf("Reset cause: %s\n", cause);
+	if (cause)
+		printf("Reset cause: %s\n", cause);
 
 	/**
 	 * reset_reason env is used by rk3288, due to special use case

-- 
2.34.1


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

* [PATCH RFC 09/11] arm: rockchip: do not print SoC info with DISPLAY_BOARDINFO
  2026-09-20 14:15 [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Massimo Pegorer
                   ` (7 preceding siblings ...)
  2026-09-20 14:15 ` [PATCH RFC 08/11] arm: rockchip: print reset cause only when available Massimo Pegorer
@ 2026-09-20 14:15 ` Massimo Pegorer
  2026-09-20 14:15 ` [PATCH RFC 10/11] configs: rockchip: resync Anbernic RG-DS with savedefconfig Massimo Pegorer
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: Massimo Pegorer @ 2026-09-20 14:15 UTC (permalink / raw)
  To: Simon Glass, Quentin Schulz, u-boot
  Cc: Tom Rini, Ilias Apalodimas, Kever Yang, Lukasz Majewski,
	Anatolij Gustschin, Heiko Schocher, Marek Vasut, Svyatoslav Ryhel,
	Peter Robinson, Levin Du, Suniel Mahesh, Alexey Charkov,
	Fabio Estevam, Jonas Karlman, Chris Morgan, Coia Prant,
	Frank Wunderlich, Andy Yan, Liangbin Lian, Joseph Chen,
	Tianling Shen, Klaus Goger, Heiko Stuebner, Jacobe Zang,
	Jiehui He, John Clark, Sebastian Kropatsch, Jagan Teki,
	Ilya Katsnelson, Niu Zhihong, Nicolas Frattaroli, Tom Fitzhenry,
	Akash Gajjar, Maxim Moskalets, FUKAUMI Naoki, Eugen Hristev,
	Jianfeng Liu, Elon Zhang, Joshua Riek, Martin Herren,
	Torsten Duwe, Massimo Pegorer

Discard checkboard() implementation in Rockchip mach: DISPLAY_CPUINFO
prints SoC info; therefore, having DISPLAY_BOARDINFO(_LATE) to print it
too, as an alternative, seems redundant and misleading. Moreover, it
seems preferable not to implement checkboard() at mach level, leaving
the overriding available for board level implementation if needed. BTW
this is the approach taken by most of the other mach.

Side effect: Rockchip board configurations related to PX30 RK3308 or
any RK35xx having DISPLAY_BOARDINFO(_LATE) option selected but not
DISPLAY_CPUINFO one, must select the latter too to keep printing
SoC info.

Signed-off-by: Massimo Pegorer <massimo.pegorer+oss@gmail.com>
---
 arch/arm/mach-rockchip/cpu-info.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/arch/arm/mach-rockchip/cpu-info.c b/arch/arm/mach-rockchip/cpu-info.c
index 79ea3e17185..616cd45c6bf 100644
--- a/arch/arm/mach-rockchip/cpu-info.c
+++ b/arch/arm/mach-rockchip/cpu-info.c
@@ -15,15 +15,6 @@ __weak int rockchip_print_soc(void)
 	return -ENOTSUPP;
 }
 
-int checkboard(void)
-{
-	/* Print SOC only if not already printed by CPUINFO */
-	if (!IS_ENABLED(CONFIG_DISPLAY_CPUINFO))
-		rockchip_print_soc();
-
-	return 0;
-}
-
 __weak enum rockchip_rst_cause rockchip_get_reset_cause(void)
 {
 	return RST_CAUSE_UNAVAILABLE;

-- 
2.34.1


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

* [PATCH RFC 10/11] configs: rockchip: resync Anbernic RG-DS with savedefconfig
  2026-09-20 14:15 [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Massimo Pegorer
                   ` (8 preceding siblings ...)
  2026-09-20 14:15 ` [PATCH RFC 09/11] arm: rockchip: do not print SoC info with DISPLAY_BOARDINFO Massimo Pegorer
@ 2026-09-20 14:15 ` Massimo Pegorer
  2026-09-20 14:15 ` [PATCH RFC 11/11] configs: rockchip: add DISPLAY_CPUINFO to keep SoC info print Massimo Pegorer
  2026-09-20 15:49 ` [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Jonas Karlman
  11 siblings, 0 replies; 15+ messages in thread
From: Massimo Pegorer @ 2026-09-20 14:15 UTC (permalink / raw)
  To: Simon Glass, Quentin Schulz, u-boot
  Cc: Tom Rini, Ilias Apalodimas, Kever Yang, Lukasz Majewski,
	Anatolij Gustschin, Heiko Schocher, Marek Vasut, Svyatoslav Ryhel,
	Peter Robinson, Levin Du, Suniel Mahesh, Alexey Charkov,
	Fabio Estevam, Jonas Karlman, Chris Morgan, Coia Prant,
	Frank Wunderlich, Andy Yan, Liangbin Lian, Joseph Chen,
	Tianling Shen, Klaus Goger, Heiko Stuebner, Jacobe Zang,
	Jiehui He, John Clark, Sebastian Kropatsch, Jagan Teki,
	Ilya Katsnelson, Niu Zhihong, Nicolas Frattaroli, Tom Fitzhenry,
	Akash Gajjar, Maxim Moskalets, FUKAUMI Naoki, Eugen Hristev,
	Jianfeng Liu, Elon Zhang, Joshua Riek, Martin Herren,
	Torsten Duwe, Massimo Pegorer

Sync the defconfig file with the version from savedefconfig.

Signed-off-by: Massimo Pegorer <massimo.pegorer+oss@gmail.com>
---
 configs/anbernic-rg-ds-rk3568_defconfig | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/configs/anbernic-rg-ds-rk3568_defconfig b/configs/anbernic-rg-ds-rk3568_defconfig
index 399a216a7c9..816f78da4a3 100644
--- a/configs/anbernic-rg-ds-rk3568_defconfig
+++ b/configs/anbernic-rg-ds-rk3568_defconfig
@@ -18,7 +18,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_OF_STDOUT_VIA_ALIAS=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-anbernic-rg-ds.dtb"
-# CONFIG_CONSOLE_MUX is not set
 CONFIG_BOARD_TYPES=y
 # CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
@@ -31,16 +30,13 @@ CONFIG_CMD_PWM=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_MMC=y
 # CONFIG_CMD_SETEXPR is not set
-# CONFIG_CMD_CLS is not set
 # CONFIG_SPL_DOS_PARTITION is not set
 CONFIG_SPL_OF_CONTROL=y
 CONFIG_OF_LIVE=y
-CONFIG_OF_LIST="rockchip/rk3568-anbernic-rg-ds"
 CONFIG_OF_SPL_REMOVE_PROPS="interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents"
 CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
 # CONFIG_NET is not set
 CONFIG_SPL_DM_SEQ_ALIAS=y
-CONFIG_SPL_REGMAP=y
 CONFIG_SPL_SYSCON=y
 CONFIG_SPL_ADC=y
 CONFIG_SPL_CLK=y
@@ -68,6 +64,5 @@ CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_SYS_NS16550_MEM32=y
 CONFIG_SYSRESET=y
-CONFIG_REGEX=y
 # CONFIG_RSA is not set
 CONFIG_ERRNO_STR=y

-- 
2.34.1


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

* [PATCH RFC 11/11] configs: rockchip: add DISPLAY_CPUINFO to keep SoC info print
  2026-09-20 14:15 [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Massimo Pegorer
                   ` (9 preceding siblings ...)
  2026-09-20 14:15 ` [PATCH RFC 10/11] configs: rockchip: resync Anbernic RG-DS with savedefconfig Massimo Pegorer
@ 2026-09-20 14:15 ` Massimo Pegorer
  2026-09-20 15:49 ` [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Jonas Karlman
  11 siblings, 0 replies; 15+ messages in thread
From: Massimo Pegorer @ 2026-09-20 14:15 UTC (permalink / raw)
  To: Simon Glass, Quentin Schulz, u-boot
  Cc: Tom Rini, Ilias Apalodimas, Kever Yang, Lukasz Majewski,
	Anatolij Gustschin, Heiko Schocher, Marek Vasut, Svyatoslav Ryhel,
	Peter Robinson, Levin Du, Suniel Mahesh, Alexey Charkov,
	Fabio Estevam, Jonas Karlman, Chris Morgan, Coia Prant,
	Frank Wunderlich, Andy Yan, Liangbin Lian, Joseph Chen,
	Tianling Shen, Klaus Goger, Heiko Stuebner, Jacobe Zang,
	Jiehui He, John Clark, Sebastian Kropatsch, Jagan Teki,
	Ilya Katsnelson, Niu Zhihong, Nicolas Frattaroli, Tom Fitzhenry,
	Akash Gajjar, Maxim Moskalets, FUKAUMI Naoki, Eugen Hristev,
	Jianfeng Liu, Elon Zhang, Joshua Riek, Martin Herren,
	Torsten Duwe, Massimo Pegorer

Remove DISPLAY_CPUINFO deselection from all configurations that were
relying on DISPLAY_BOARDINFO(_LATE) to print SoC information: this info
is now printed with DISPLAY_CPUINFO. The change affects all of Rockchip
board configurations related to PX30 RK3308 or RK35xx.

Signed-off-by: Massimo Pegorer <massimo.pegorer+oss@gmail.com>
---
 configs/9tripod-x3568-v4-rk3568_defconfig     | 1 -
 configs/anbernic-rg-ds-rk3568_defconfig       | 1 -
 configs/anbernic-rgxx3-rk3566_defconfig       | 1 -
 configs/bpi-r2-pro-rk3568_defconfig           | 1 -
 configs/cm3588-nas-rk3588_defconfig           | 1 -
 configs/coolpi-4b-rk3588s_defconfig           | 1 -
 configs/coolpi-cm5-evb-rk3588_defconfig       | 1 -
 configs/coolpi-cm5-genbook-rk3588_defconfig   | 1 -
 configs/easepi-r1-rk3568_defconfig            | 1 -
 configs/evb-px30_defconfig                    | 1 -
 configs/evb-rk3308_defconfig                  | 1 -
 configs/evb-rk3568_defconfig                  | 1 -
 configs/evb-rk3588_defconfig                  | 1 -
 configs/fastrhino-r66s-rk3568_defconfig       | 1 -
 configs/firefly-px30_defconfig                | 1 -
 configs/gameforce-ace-rk3588s_defconfig       | 1 -
 configs/generic-rk3528_defconfig              | 1 -
 configs/generic-rk3568_defconfig              | 1 -
 configs/generic-rk3576_defconfig              | 1 -
 configs/generic-rk3588_defconfig              | 1 -
 configs/jaguar-rk3588_defconfig               | 1 -
 configs/khadas-edge2-rk3588s_defconfig        | 1 -
 configs/lckfb-tspi-rk3566_defconfig           | 1 -
 configs/lubancat-2-rk3568_defconfig           | 1 -
 configs/mnt-reform2-rk3588_defconfig          | 1 -
 configs/nanopc-t6-rk3588_defconfig            | 1 -
 configs/nanopi-m5-rk3576_defconfig            | 1 -
 configs/nanopi-r3s-rk3566_defconfig           | 1 -
 configs/nanopi-r5c-rk3568_defconfig           | 1 -
 configs/nanopi-r5s-rk3568_defconfig           | 1 -
 configs/nanopi-r6c-rk3588s_defconfig          | 1 -
 configs/nanopi-r6s-rk3588s_defconfig          | 1 -
 configs/nanopi-r76s-rk3576_defconfig          | 1 -
 configs/nanopi-zero2-rk3528_defconfig         | 1 -
 configs/neu6a-io-rk3588_defconfig             | 1 -
 configs/neu6b-io-rk3588_defconfig             | 1 -
 configs/nova-rk3588s_defconfig                | 1 -
 configs/odroid-go2_defconfig                  | 1 -
 configs/odroid-m1-rk3568_defconfig            | 1 -
 configs/odroid-m1s-rk3566_defconfig           | 1 -
 configs/odroid-m2-rk3588s_defconfig           | 1 -
 configs/omni3576-rk3576_defconfig             | 1 -
 configs/orangepi-3b-rk3566_defconfig          | 1 -
 configs/orangepi-5-max-rk3588_defconfig       | 1 -
 configs/orangepi-5-plus-rk3588_defconfig      | 1 -
 configs/orangepi-5-rk3588s_defconfig          | 1 -
 configs/orangepi-5-ultra-rk3588_defconfig     | 1 -
 configs/pinetab2-rk3566_defconfig             | 1 -
 configs/powkiddy-x55-rk3566_defconfig         | 1 -
 configs/px30-core-ctouch2-of10-px30_defconfig | 1 -
 configs/px30-core-ctouch2-px30_defconfig      | 1 -
 configs/px30-core-edimm2.2-px30_defconfig     | 1 -
 configs/qnap-ts433-rk3568_defconfig           | 1 -
 configs/quartz64-a-rk3566_defconfig           | 1 -
 configs/quartz64-b-rk3566_defconfig           | 1 -
 configs/quartzpro64-rk3588_defconfig          | 1 -
 configs/radxa-cm3-io-rk3566_defconfig         | 1 -
 configs/radxa-e20c-rk3528_defconfig           | 1 -
 configs/radxa-e25-rk3568_defconfig            | 1 -
 configs/radxa-zero-3-rk3566_defconfig         | 1 -
 configs/ringneck-px30_defconfig               | 1 -
 configs/roc-cc-rk3308_defconfig               | 1 -
 configs/roc-pc-rk3576_defconfig               | 1 -
 configs/roc-pc-rk3588s_defconfig              | 1 -
 configs/rock-2-rk3528_defconfig               | 1 -
 configs/rock-3a-rk3568_defconfig              | 1 -
 configs/rock-3b-rk3568_defconfig              | 1 -
 configs/rock-3c-rk3566_defconfig              | 1 -
 configs/rock-4d-rk3576_defconfig              | 1 -
 configs/rock-5-itx-rk3588_defconfig           | 1 -
 configs/rock-5c-rk3588s_defconfig             | 1 -
 configs/rock-pi-s-rk3308_defconfig            | 1 -
 configs/rock-s0-rk3308_defconfig              | 1 -
 configs/rock5a-rk3588s_defconfig              | 1 -
 configs/rock5b-rk3588_defconfig               | 1 -
 configs/sige1-rk3528_defconfig                | 1 -
 configs/sige5-rk3576_defconfig                | 1 -
 configs/sige7-rk3588_defconfig                | 1 -
 configs/soquartz-blade-rk3566_defconfig       | 1 -
 configs/soquartz-cm4-rk3566_defconfig         | 1 -
 configs/soquartz-model-a-rk3566_defconfig     | 1 -
 configs/tiger-rk3588_defconfig                | 1 -
 configs/toybrick-rk3588_defconfig             | 1 -
 configs/turing-rk1-rk3588_defconfig           | 1 -
 84 files changed, 84 deletions(-)

diff --git a/configs/9tripod-x3568-v4-rk3568_defconfig b/configs/9tripod-x3568-v4-rk3568_defconfig
index c0e7a565359..ca2865d851f 100644
--- a/configs/9tripod-x3568-v4-rk3568_defconfig
+++ b/configs/9tripod-x3568-v4-rk3568_defconfig
@@ -16,7 +16,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-9tripod-x3568-v4.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/anbernic-rg-ds-rk3568_defconfig b/configs/anbernic-rg-ds-rk3568_defconfig
index 816f78da4a3..a464130bb4c 100644
--- a/configs/anbernic-rg-ds-rk3568_defconfig
+++ b/configs/anbernic-rg-ds-rk3568_defconfig
@@ -19,7 +19,6 @@ CONFIG_SPL_LOAD_FIT=y
 CONFIG_OF_STDOUT_VIA_ALIAS=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-anbernic-rg-ds.dtb"
 CONFIG_BOARD_TYPES=y
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_BOARD_RNG_SEED=y
 CONFIG_SPL_MAX_SIZE=0x40000
diff --git a/configs/anbernic-rgxx3-rk3566_defconfig b/configs/anbernic-rgxx3-rk3566_defconfig
index 854de8b00a4..d66120f8100 100644
--- a/configs/anbernic-rgxx3-rk3566_defconfig
+++ b/configs/anbernic-rgxx3-rk3566_defconfig
@@ -24,7 +24,6 @@ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-anbernic-rg353p.dtb"
 CONFIG_DISABLE_CONSOLE=y
 # CONFIG_CONSOLE_MUX is not set
 CONFIG_BOARD_TYPES=y
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_BOARD_RNG_SEED=y
 CONFIG_SPL_MAX_SIZE=0x40000
diff --git a/configs/bpi-r2-pro-rk3568_defconfig b/configs/bpi-r2-pro-rk3568_defconfig
index c5199a39448..08c999318e9 100644
--- a/configs/bpi-r2-pro-rk3568_defconfig
+++ b/configs/bpi-r2-pro-rk3568_defconfig
@@ -15,7 +15,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-bpi-r2-pro.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/cm3588-nas-rk3588_defconfig b/configs/cm3588-nas-rk3588_defconfig
index 5b5ef8d5ac1..78d4b6f003d 100644
--- a/configs/cm3588-nas-rk3588_defconfig
+++ b/configs/cm3588-nas-rk3588_defconfig
@@ -18,7 +18,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-friendlyelec-cm3588-nas.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/coolpi-4b-rk3588s_defconfig b/configs/coolpi-4b-rk3588s_defconfig
index e6772622403..e8a567008a7 100644
--- a/configs/coolpi-4b-rk3588s_defconfig
+++ b/configs/coolpi-4b-rk3588s_defconfig
@@ -23,7 +23,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588s-coolpi-4b.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/coolpi-cm5-evb-rk3588_defconfig b/configs/coolpi-cm5-evb-rk3588_defconfig
index 4326e116849..1d83c1ac235 100644
--- a/configs/coolpi-cm5-evb-rk3588_defconfig
+++ b/configs/coolpi-cm5-evb-rk3588_defconfig
@@ -23,7 +23,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-coolpi-cm5-evb.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/coolpi-cm5-genbook-rk3588_defconfig b/configs/coolpi-cm5-genbook-rk3588_defconfig
index 85fbde72646..4af78efb8e7 100644
--- a/configs/coolpi-cm5-genbook-rk3588_defconfig
+++ b/configs/coolpi-cm5-genbook-rk3588_defconfig
@@ -24,7 +24,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-coolpi-cm5-genbook.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/easepi-r1-rk3568_defconfig b/configs/easepi-r1-rk3568_defconfig
index fa400956b63..d762675337f 100644
--- a/configs/easepi-r1-rk3568_defconfig
+++ b/configs/easepi-r1-rk3568_defconfig
@@ -17,7 +17,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-easepi-r1.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/evb-px30_defconfig b/configs/evb-px30_defconfig
index afc45308bee..71e0385e3e2 100644
--- a/configs/evb-px30_defconfig
+++ b/configs/evb-px30_defconfig
@@ -19,7 +19,6 @@ CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/px30-evb.dtb"
 # CONFIG_CONSOLE_MUX is not set
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_MISC_INIT_R=y
 CONFIG_SPL_MAX_SIZE=0x20000
diff --git a/configs/evb-rk3308_defconfig b/configs/evb-rk3308_defconfig
index c0eb5bbdcbd..35067f901ad 100644
--- a/configs/evb-rk3308_defconfig
+++ b/configs/evb-rk3308_defconfig
@@ -15,7 +15,6 @@ CONFIG_ANDROID_BOOT_IMAGE=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3308-evb.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_CMD_GPIO=y
diff --git a/configs/evb-rk3568_defconfig b/configs/evb-rk3568_defconfig
index 4a5a7454e10..82e4b6f0db8 100644
--- a/configs/evb-rk3568_defconfig
+++ b/configs/evb-rk3568_defconfig
@@ -15,7 +15,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-evb1-v10.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/evb-rk3588_defconfig b/configs/evb-rk3588_defconfig
index c7f6256a626..258eb68b6e0 100644
--- a/configs/evb-rk3588_defconfig
+++ b/configs/evb-rk3588_defconfig
@@ -16,7 +16,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-evb1-v10.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/fastrhino-r66s-rk3568_defconfig b/configs/fastrhino-r66s-rk3568_defconfig
index fc753516d72..f993fd009a4 100644
--- a/configs/fastrhino-r66s-rk3568_defconfig
+++ b/configs/fastrhino-r66s-rk3568_defconfig
@@ -17,7 +17,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-fastrhino-r66s.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/firefly-px30_defconfig b/configs/firefly-px30_defconfig
index 316f960d32e..7ca339449bc 100644
--- a/configs/firefly-px30_defconfig
+++ b/configs/firefly-px30_defconfig
@@ -20,7 +20,6 @@ CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/px30-firefly.dtb"
 # CONFIG_CONSOLE_MUX is not set
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_MISC_INIT_R=y
 CONFIG_SPL_MAX_SIZE=0x20000
diff --git a/configs/gameforce-ace-rk3588s_defconfig b/configs/gameforce-ace-rk3588s_defconfig
index e4050bd77df..13952dda6dd 100644
--- a/configs/gameforce-ace-rk3588s_defconfig
+++ b/configs/gameforce-ace-rk3588s_defconfig
@@ -15,7 +15,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588s-gameforce-ace.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/generic-rk3528_defconfig b/configs/generic-rk3528_defconfig
index 130aa124298..22d38dc5fc8 100644
--- a/configs/generic-rk3528_defconfig
+++ b/configs/generic-rk3528_defconfig
@@ -10,7 +10,6 @@ CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_DEBUG_UART=y
 # CONFIG_BOOTMETH_VBE is not set
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3528-generic.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_CMD_MEMINFO=y
diff --git a/configs/generic-rk3568_defconfig b/configs/generic-rk3568_defconfig
index a33c3af9255..f0d023bc3e3 100644
--- a/configs/generic-rk3568_defconfig
+++ b/configs/generic-rk3568_defconfig
@@ -21,7 +21,6 @@ CONFIG_SPL_LOAD_FIT=y
 # CONFIG_BOOTMETH_VBE is not set
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-generic.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_SPL_SPI_LOAD=y
diff --git a/configs/generic-rk3576_defconfig b/configs/generic-rk3576_defconfig
index 5e25653820c..20791525fc1 100644
--- a/configs/generic-rk3576_defconfig
+++ b/configs/generic-rk3576_defconfig
@@ -10,7 +10,6 @@ CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_DEBUG_UART=y
 # CONFIG_BOOTMETH_VBE is not set
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3576-generic.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_CMD_MEMINFO=y
diff --git a/configs/generic-rk3588_defconfig b/configs/generic-rk3588_defconfig
index ac450e6d757..0661dd82150 100644
--- a/configs/generic-rk3588_defconfig
+++ b/configs/generic-rk3588_defconfig
@@ -18,7 +18,6 @@ CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-generic.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_SPL_ATF=y
diff --git a/configs/jaguar-rk3588_defconfig b/configs/jaguar-rk3588_defconfig
index ed3883b4f9c..c754b5cf6f1 100644
--- a/configs/jaguar-rk3588_defconfig
+++ b/configs/jaguar-rk3588_defconfig
@@ -23,7 +23,6 @@ CONFIG_SPL_LOAD_FIT=y
 # CONFIG_BOOTMETH_VBE is not set
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-jaguar.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CYCLIC=y
 CONFIG_SPL_MAX_SIZE=0x40000
diff --git a/configs/khadas-edge2-rk3588s_defconfig b/configs/khadas-edge2-rk3588s_defconfig
index 5fc7ce702ec..189eca6dfee 100644
--- a/configs/khadas-edge2-rk3588s_defconfig
+++ b/configs/khadas-edge2-rk3588s_defconfig
@@ -21,7 +21,6 @@ CONFIG_AUTOBOOT_KEYED=y
 CONFIG_AUTOBOOT_PROMPT="Hit SPACE in %d seconds to stop autoboot\n"
 CONFIG_AUTOBOOT_STOP_STR=" "
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588s-khadas-edge2.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/lckfb-tspi-rk3566_defconfig b/configs/lckfb-tspi-rk3566_defconfig
index 7aa218345b7..f9491e35b38 100644
--- a/configs/lckfb-tspi-rk3566_defconfig
+++ b/configs/lckfb-tspi-rk3566_defconfig
@@ -15,7 +15,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-lckfb-tspi.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/lubancat-2-rk3568_defconfig b/configs/lubancat-2-rk3568_defconfig
index 7548bf60b06..684dca4dbaf 100644
--- a/configs/lubancat-2-rk3568_defconfig
+++ b/configs/lubancat-2-rk3568_defconfig
@@ -16,7 +16,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-lubancat-2.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/mnt-reform2-rk3588_defconfig b/configs/mnt-reform2-rk3588_defconfig
index a6ba0aa5178..e636607ebfe 100644
--- a/configs/mnt-reform2-rk3588_defconfig
+++ b/configs/mnt-reform2-rk3588_defconfig
@@ -19,7 +19,6 @@ CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_USE_PREBOOT=y
 CONFIG_PREBOOT="pci enum; usb start; nvme scan;"
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-mnt-reform2"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/nanopc-t6-rk3588_defconfig b/configs/nanopc-t6-rk3588_defconfig
index ba9a5adece7..4800300203c 100644
--- a/configs/nanopc-t6-rk3588_defconfig
+++ b/configs/nanopc-t6-rk3588_defconfig
@@ -24,7 +24,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-nanopc-t6.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/nanopi-m5-rk3576_defconfig b/configs/nanopi-m5-rk3576_defconfig
index 88b6d0f9e86..41cbc17849f 100644
--- a/configs/nanopi-m5-rk3576_defconfig
+++ b/configs/nanopi-m5-rk3576_defconfig
@@ -17,7 +17,6 @@ CONFIG_SPL_SPI=y
 CONFIG_PCI=y
 CONFIG_DEBUG_UART=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3576-nanopi-m5.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_SPL_DM_RESET=y
diff --git a/configs/nanopi-r3s-rk3566_defconfig b/configs/nanopi-r3s-rk3566_defconfig
index 2424c7477c0..b7d34dbd6ff 100644
--- a/configs/nanopi-r3s-rk3566_defconfig
+++ b/configs/nanopi-r3s-rk3566_defconfig
@@ -17,7 +17,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-nanopi-r3s.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/nanopi-r5c-rk3568_defconfig b/configs/nanopi-r5c-rk3568_defconfig
index e75a24dadc8..8ca5529dfb3 100644
--- a/configs/nanopi-r5c-rk3568_defconfig
+++ b/configs/nanopi-r5c-rk3568_defconfig
@@ -17,7 +17,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-nanopi-r5c.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/nanopi-r5s-rk3568_defconfig b/configs/nanopi-r5s-rk3568_defconfig
index c971f376b38..54aef81a0a8 100644
--- a/configs/nanopi-r5s-rk3568_defconfig
+++ b/configs/nanopi-r5s-rk3568_defconfig
@@ -17,7 +17,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-nanopi-r5s.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/nanopi-r6c-rk3588s_defconfig b/configs/nanopi-r6c-rk3588s_defconfig
index 861e3234d29..893ba437fd6 100644
--- a/configs/nanopi-r6c-rk3588s_defconfig
+++ b/configs/nanopi-r6c-rk3588s_defconfig
@@ -18,7 +18,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588s-nanopi-r6c.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/nanopi-r6s-rk3588s_defconfig b/configs/nanopi-r6s-rk3588s_defconfig
index 743dfca441b..f6d1d6e4d17 100644
--- a/configs/nanopi-r6s-rk3588s_defconfig
+++ b/configs/nanopi-r6s-rk3588s_defconfig
@@ -18,7 +18,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588s-nanopi-r6s.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/nanopi-r76s-rk3576_defconfig b/configs/nanopi-r76s-rk3576_defconfig
index af149dc4ba5..8a961b650bb 100644
--- a/configs/nanopi-r76s-rk3576_defconfig
+++ b/configs/nanopi-r76s-rk3576_defconfig
@@ -11,7 +11,6 @@ CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_PCI=y
 CONFIG_DEBUG_UART=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3576-nanopi-r76s.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_CMD_MEMINFO=y
diff --git a/configs/nanopi-zero2-rk3528_defconfig b/configs/nanopi-zero2-rk3528_defconfig
index 2c725380ef4..4a3917fa3f8 100644
--- a/configs/nanopi-zero2-rk3528_defconfig
+++ b/configs/nanopi-zero2-rk3528_defconfig
@@ -9,7 +9,6 @@ CONFIG_DEBUG_UART_BASE=0xFF9F0000
 CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_DEBUG_UART=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3528-nanopi-zero2.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_BOARD_RNG_SEED=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/neu6a-io-rk3588_defconfig b/configs/neu6a-io-rk3588_defconfig
index 19f129e96f0..1b18a8b7a0e 100644
--- a/configs/neu6a-io-rk3588_defconfig
+++ b/configs/neu6a-io-rk3588_defconfig
@@ -16,7 +16,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-edgeble-neu6a-io.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/neu6b-io-rk3588_defconfig b/configs/neu6b-io-rk3588_defconfig
index 2cf5aeccf51..badfe97343c 100644
--- a/configs/neu6b-io-rk3588_defconfig
+++ b/configs/neu6b-io-rk3588_defconfig
@@ -16,7 +16,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-edgeble-neu6b-io.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/nova-rk3588s_defconfig b/configs/nova-rk3588s_defconfig
index f7d7492ff46..8fcb6997e22 100644
--- a/configs/nova-rk3588s_defconfig
+++ b/configs/nova-rk3588s_defconfig
@@ -17,7 +17,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588s-indiedroid-nova.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/odroid-go2_defconfig b/configs/odroid-go2_defconfig
index dfdea66cd70..34953971ac1 100644
--- a/configs/odroid-go2_defconfig
+++ b/configs/odroid-go2_defconfig
@@ -29,7 +29,6 @@ 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=0x40000
diff --git a/configs/odroid-m1-rk3568_defconfig b/configs/odroid-m1-rk3568_defconfig
index b00985b0405..10651005863 100644
--- a/configs/odroid-m1-rk3568_defconfig
+++ b/configs/odroid-m1-rk3568_defconfig
@@ -23,7 +23,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-odroid-m1.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/odroid-m1s-rk3566_defconfig b/configs/odroid-m1s-rk3566_defconfig
index d59882a2a59..0b3257fce0a 100644
--- a/configs/odroid-m1s-rk3566_defconfig
+++ b/configs/odroid-m1s-rk3566_defconfig
@@ -17,7 +17,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-odroid-m1s.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/odroid-m2-rk3588s_defconfig b/configs/odroid-m2-rk3588s_defconfig
index e71e61ddb0b..750081fae03 100644
--- a/configs/odroid-m2-rk3588s_defconfig
+++ b/configs/odroid-m2-rk3588s_defconfig
@@ -17,7 +17,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588s-odroid-m2.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/omni3576-rk3576_defconfig b/configs/omni3576-rk3576_defconfig
index 13ef3112f1b..b2303ec9699 100644
--- a/configs/omni3576-rk3576_defconfig
+++ b/configs/omni3576-rk3576_defconfig
@@ -10,7 +10,6 @@ CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_PCI=y
 CONFIG_DEBUG_UART=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3576-luckfox-omni3576.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_CMD_MEMINFO=y
diff --git a/configs/orangepi-3b-rk3566_defconfig b/configs/orangepi-3b-rk3566_defconfig
index 1cd78789fa1..2dd420d686e 100644
--- a/configs/orangepi-3b-rk3566_defconfig
+++ b/configs/orangepi-3b-rk3566_defconfig
@@ -24,7 +24,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-orangepi-3b.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/orangepi-5-max-rk3588_defconfig b/configs/orangepi-5-max-rk3588_defconfig
index 0861df962cf..0d4e8690a1f 100644
--- a/configs/orangepi-5-max-rk3588_defconfig
+++ b/configs/orangepi-5-max-rk3588_defconfig
@@ -24,7 +24,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-orangepi-5-max.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/orangepi-5-plus-rk3588_defconfig b/configs/orangepi-5-plus-rk3588_defconfig
index 52523f87aec..8b4f6cb5b19 100644
--- a/configs/orangepi-5-plus-rk3588_defconfig
+++ b/configs/orangepi-5-plus-rk3588_defconfig
@@ -24,7 +24,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-orangepi-5-plus.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/orangepi-5-rk3588s_defconfig b/configs/orangepi-5-rk3588s_defconfig
index e0eba389289..08e81204365 100644
--- a/configs/orangepi-5-rk3588s_defconfig
+++ b/configs/orangepi-5-rk3588s_defconfig
@@ -23,7 +23,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588s-orangepi-5.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/orangepi-5-ultra-rk3588_defconfig b/configs/orangepi-5-ultra-rk3588_defconfig
index fb7f4432983..0159868350d 100644
--- a/configs/orangepi-5-ultra-rk3588_defconfig
+++ b/configs/orangepi-5-ultra-rk3588_defconfig
@@ -24,7 +24,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-orangepi-5-ultra.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/pinetab2-rk3566_defconfig b/configs/pinetab2-rk3566_defconfig
index f284dadb99d..7ad8f0937c4 100644
--- a/configs/pinetab2-rk3566_defconfig
+++ b/configs/pinetab2-rk3566_defconfig
@@ -24,7 +24,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-pinetab2-v2.0.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/powkiddy-x55-rk3566_defconfig b/configs/powkiddy-x55-rk3566_defconfig
index 37a359c91a9..a1d6891d5d9 100644
--- a/configs/powkiddy-x55-rk3566_defconfig
+++ b/configs/powkiddy-x55-rk3566_defconfig
@@ -15,7 +15,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-powkiddy-x55.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/px30-core-ctouch2-of10-px30_defconfig b/configs/px30-core-ctouch2-of10-px30_defconfig
index 06b60483841..9ecfd3ffb1c 100644
--- a/configs/px30-core-ctouch2-of10-px30_defconfig
+++ b/configs/px30-core-ctouch2-of10-px30_defconfig
@@ -19,7 +19,6 @@ CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/px30-engicam-px30-core-ctouch2-of10.dtb"
 # CONFIG_CONSOLE_MUX is not set
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_MISC_INIT_R=y
 CONFIG_SPL_MAX_SIZE=0x20000
diff --git a/configs/px30-core-ctouch2-px30_defconfig b/configs/px30-core-ctouch2-px30_defconfig
index aa6e44f5348..fc9f9e6d1f0 100644
--- a/configs/px30-core-ctouch2-px30_defconfig
+++ b/configs/px30-core-ctouch2-px30_defconfig
@@ -19,7 +19,6 @@ CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/px30-engicam-px30-core-ctouch2.dtb"
 # CONFIG_CONSOLE_MUX is not set
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_MISC_INIT_R=y
 CONFIG_SPL_MAX_SIZE=0x20000
diff --git a/configs/px30-core-edimm2.2-px30_defconfig b/configs/px30-core-edimm2.2-px30_defconfig
index fcc27ce8761..cac8f114158 100644
--- a/configs/px30-core-edimm2.2-px30_defconfig
+++ b/configs/px30-core-edimm2.2-px30_defconfig
@@ -19,7 +19,6 @@ CONFIG_FIT_VERBOSE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/px30-engicam-px30-core-edimm2.2.dtb"
 # CONFIG_CONSOLE_MUX is not set
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_MISC_INIT_R=y
 CONFIG_SPL_MAX_SIZE=0x20000
diff --git a/configs/qnap-ts433-rk3568_defconfig b/configs/qnap-ts433-rk3568_defconfig
index 63833196675..b14463a4aff 100644
--- a/configs/qnap-ts433-rk3568_defconfig
+++ b/configs/qnap-ts433-rk3568_defconfig
@@ -18,7 +18,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-qnap-ts433.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/quartz64-a-rk3566_defconfig b/configs/quartz64-a-rk3566_defconfig
index 780fd581f0a..0472f8d04bb 100644
--- a/configs/quartz64-a-rk3566_defconfig
+++ b/configs/quartz64-a-rk3566_defconfig
@@ -24,7 +24,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-quartz64-a.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/quartz64-b-rk3566_defconfig b/configs/quartz64-b-rk3566_defconfig
index 4d92a67cd73..0675c2db190 100644
--- a/configs/quartz64-b-rk3566_defconfig
+++ b/configs/quartz64-b-rk3566_defconfig
@@ -23,7 +23,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-quartz64-b.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/quartzpro64-rk3588_defconfig b/configs/quartzpro64-rk3588_defconfig
index 0ad74e8bbef..c2bafb39ad6 100644
--- a/configs/quartzpro64-rk3588_defconfig
+++ b/configs/quartzpro64-rk3588_defconfig
@@ -18,7 +18,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-quartzpro64.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/radxa-cm3-io-rk3566_defconfig b/configs/radxa-cm3-io-rk3566_defconfig
index 875f0b76fa5..0404af39cd2 100644
--- a/configs/radxa-cm3-io-rk3566_defconfig
+++ b/configs/radxa-cm3-io-rk3566_defconfig
@@ -15,7 +15,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-radxa-cm3-io.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/radxa-e20c-rk3528_defconfig b/configs/radxa-e20c-rk3528_defconfig
index 3d86ac51c9b..7d47a8d4a25 100644
--- a/configs/radxa-e20c-rk3528_defconfig
+++ b/configs/radxa-e20c-rk3528_defconfig
@@ -10,7 +10,6 @@ CONFIG_DEBUG_UART_BASE=0xFF9F0000
 CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_DEBUG_UART=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3528-radxa-e20c.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_BOARD_RNG_SEED=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/radxa-e25-rk3568_defconfig b/configs/radxa-e25-rk3568_defconfig
index 779d540e22d..3a3d18798eb 100644
--- a/configs/radxa-e25-rk3568_defconfig
+++ b/configs/radxa-e25-rk3568_defconfig
@@ -17,7 +17,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-radxa-e25.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/radxa-zero-3-rk3566_defconfig b/configs/radxa-zero-3-rk3566_defconfig
index f5cf09a5e4a..994e852d101 100644
--- a/configs/radxa-zero-3-rk3566_defconfig
+++ b/configs/radxa-zero-3-rk3566_defconfig
@@ -17,7 +17,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-radxa-zero-3w.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/ringneck-px30_defconfig b/configs/ringneck-px30_defconfig
index 75646935105..b0d79d84d47 100644
--- a/configs/ringneck-px30_defconfig
+++ b/configs/ringneck-px30_defconfig
@@ -22,7 +22,6 @@ CONFIG_SPL_LOAD_FIT=y
 CONFIG_BOOTSTD_FULL=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/px30-ringneck-haikou.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_MISC_INIT_R=y
 CONFIG_SPL_MAX_SIZE=0x20000
diff --git a/configs/roc-cc-rk3308_defconfig b/configs/roc-cc-rk3308_defconfig
index b775a6e1352..9a5c2a35d36 100644
--- a/configs/roc-cc-rk3308_defconfig
+++ b/configs/roc-cc-rk3308_defconfig
@@ -15,7 +15,6 @@ CONFIG_ANDROID_BOOT_IMAGE=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3308-roc-cc.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_CMD_GPIO=y
diff --git a/configs/roc-pc-rk3576_defconfig b/configs/roc-pc-rk3576_defconfig
index 53491efcec2..f747866a157 100644
--- a/configs/roc-pc-rk3576_defconfig
+++ b/configs/roc-pc-rk3576_defconfig
@@ -10,7 +10,6 @@ CONFIG_DEBUG_UART_BASE=0x2AD40000
 CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_DEBUG_UART=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3576-roc-pc.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_CMD_GPIO=y
diff --git a/configs/roc-pc-rk3588s_defconfig b/configs/roc-pc-rk3588s_defconfig
index 226243d7977..a03b062418b 100644
--- a/configs/roc-pc-rk3588s_defconfig
+++ b/configs/roc-pc-rk3588s_defconfig
@@ -19,7 +19,6 @@ CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588s-roc-pc.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_SPL_ATF=y
diff --git a/configs/rock-2-rk3528_defconfig b/configs/rock-2-rk3528_defconfig
index 2219bc9de56..d87c518a534 100644
--- a/configs/rock-2-rk3528_defconfig
+++ b/configs/rock-2-rk3528_defconfig
@@ -10,7 +10,6 @@ CONFIG_DEBUG_UART_BASE=0xFF9F0000
 CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_DEBUG_UART=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3528-rock-2a.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_BOARD_RNG_SEED=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/rock-3a-rk3568_defconfig b/configs/rock-3a-rk3568_defconfig
index e753185610f..b780f7d3a04 100644
--- a/configs/rock-3a-rk3568_defconfig
+++ b/configs/rock-3a-rk3568_defconfig
@@ -22,7 +22,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-rock-3a.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/rock-3b-rk3568_defconfig b/configs/rock-3b-rk3568_defconfig
index c3bf48b9e34..470303653ae 100644
--- a/configs/rock-3b-rk3568_defconfig
+++ b/configs/rock-3b-rk3568_defconfig
@@ -22,7 +22,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-rock-3b.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/rock-3c-rk3566_defconfig b/configs/rock-3c-rk3566_defconfig
index 417aa33a663..413cccfe235 100644
--- a/configs/rock-3c-rk3566_defconfig
+++ b/configs/rock-3c-rk3566_defconfig
@@ -22,7 +22,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-rock-3c.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/rock-4d-rk3576_defconfig b/configs/rock-4d-rk3576_defconfig
index 93faf09962c..ae97d7071c0 100644
--- a/configs/rock-4d-rk3576_defconfig
+++ b/configs/rock-4d-rk3576_defconfig
@@ -17,7 +17,6 @@ CONFIG_SPL_SPI=y
 CONFIG_PCI=y
 CONFIG_DEBUG_UART=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3576-rock-4d.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_SPL_DM_RESET=y
diff --git a/configs/rock-5-itx-rk3588_defconfig b/configs/rock-5-itx-rk3588_defconfig
index cb014de4188..4950f66e00d 100644
--- a/configs/rock-5-itx-rk3588_defconfig
+++ b/configs/rock-5-itx-rk3588_defconfig
@@ -24,7 +24,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-rock-5-itx.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/rock-5c-rk3588s_defconfig b/configs/rock-5c-rk3588s_defconfig
index 3d044a81498..008c5cd1974 100644
--- a/configs/rock-5c-rk3588s_defconfig
+++ b/configs/rock-5c-rk3588s_defconfig
@@ -19,7 +19,6 @@ CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_OF_SYSTEM_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588s-rock-5c.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_SPL_ATF=y
diff --git a/configs/rock-pi-s-rk3308_defconfig b/configs/rock-pi-s-rk3308_defconfig
index a62afd05c4c..7aaa0344e29 100644
--- a/configs/rock-pi-s-rk3308_defconfig
+++ b/configs/rock-pi-s-rk3308_defconfig
@@ -15,7 +15,6 @@ CONFIG_ANDROID_BOOT_IMAGE=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3308-rock-pi-s.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_CMD_GPIO=y
diff --git a/configs/rock-s0-rk3308_defconfig b/configs/rock-s0-rk3308_defconfig
index f8633961495..39ee5a83d55 100644
--- a/configs/rock-s0-rk3308_defconfig
+++ b/configs/rock-s0-rk3308_defconfig
@@ -16,7 +16,6 @@ CONFIG_ANDROID_BOOT_IMAGE=y
 CONFIG_FIT=y
 CONFIG_FIT_VERBOSE=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3308-rock-s0.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_CMD_GPIO=y
diff --git a/configs/rock5a-rk3588s_defconfig b/configs/rock5a-rk3588s_defconfig
index 24b2eef35f2..948e0ac3457 100644
--- a/configs/rock5a-rk3588s_defconfig
+++ b/configs/rock5a-rk3588s_defconfig
@@ -16,7 +16,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588s-rock-5a.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/rock5b-rk3588_defconfig b/configs/rock5b-rk3588_defconfig
index da5fb3a2c30..06985dd89a4 100644
--- a/configs/rock5b-rk3588_defconfig
+++ b/configs/rock5b-rk3588_defconfig
@@ -25,7 +25,6 @@ CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-rock-5b.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/sige1-rk3528_defconfig b/configs/sige1-rk3528_defconfig
index 150e0fcc718..c199a08a10e 100644
--- a/configs/sige1-rk3528_defconfig
+++ b/configs/sige1-rk3528_defconfig
@@ -9,7 +9,6 @@ CONFIG_DEBUG_UART_BASE=0xFF9F0000
 CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_DEBUG_UART=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3528-armsom-sige1.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_BOARD_RNG_SEED=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/sige5-rk3576_defconfig b/configs/sige5-rk3576_defconfig
index be46f63798b..1f9c54eba99 100644
--- a/configs/sige5-rk3576_defconfig
+++ b/configs/sige5-rk3576_defconfig
@@ -10,7 +10,6 @@ CONFIG_DEBUG_UART_CLOCK=24000000
 CONFIG_PCI=y
 CONFIG_DEBUG_UART=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3576-armsom-sige5.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
 CONFIG_CMD_MEMINFO=y
diff --git a/configs/sige7-rk3588_defconfig b/configs/sige7-rk3588_defconfig
index 00b9759715b..c2da8aeb3cc 100644
--- a/configs/sige7-rk3588_defconfig
+++ b/configs/sige7-rk3588_defconfig
@@ -19,7 +19,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-armsom-sige7.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/soquartz-blade-rk3566_defconfig b/configs/soquartz-blade-rk3566_defconfig
index 7de159a8881..ac2a73af348 100644
--- a/configs/soquartz-blade-rk3566_defconfig
+++ b/configs/soquartz-blade-rk3566_defconfig
@@ -17,7 +17,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-soquartz-blade.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/soquartz-cm4-rk3566_defconfig b/configs/soquartz-cm4-rk3566_defconfig
index 4455ee5b5aa..0b04341a2c0 100644
--- a/configs/soquartz-cm4-rk3566_defconfig
+++ b/configs/soquartz-cm4-rk3566_defconfig
@@ -17,7 +17,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-soquartz-cm4.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/soquartz-model-a-rk3566_defconfig b/configs/soquartz-model-a-rk3566_defconfig
index abdab514496..100a419b4fa 100644
--- a/configs/soquartz-model-a-rk3566_defconfig
+++ b/configs/soquartz-model-a-rk3566_defconfig
@@ -17,7 +17,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-soquartz-model-a.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/tiger-rk3588_defconfig b/configs/tiger-rk3588_defconfig
index 105e8e10e0b..45248eacd1e 100644
--- a/configs/tiger-rk3588_defconfig
+++ b/configs/tiger-rk3588_defconfig
@@ -24,7 +24,6 @@ CONFIG_SPL_LOAD_FIT=y
 # CONFIG_BOOTMETH_VBE is not set
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-tiger-haikou.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_CYCLIC=y
 CONFIG_SPL_MAX_SIZE=0x40000
diff --git a/configs/toybrick-rk3588_defconfig b/configs/toybrick-rk3588_defconfig
index 14b231ae3e2..5ab792ff29b 100644
--- a/configs/toybrick-rk3588_defconfig
+++ b/configs/toybrick-rk3588_defconfig
@@ -16,7 +16,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-toybrick-x0.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
diff --git a/configs/turing-rk1-rk3588_defconfig b/configs/turing-rk1-rk3588_defconfig
index 0b3efec23e6..f7aba44bf3d 100644
--- a/configs/turing-rk1-rk3588_defconfig
+++ b/configs/turing-rk1-rk3588_defconfig
@@ -18,7 +18,6 @@ CONFIG_SPL_FIT_SIGNATURE=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_LEGACY_IMAGE_FORMAT=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3588-turing-rk1.dtb"
-# CONFIG_DISPLAY_CPUINFO is not set
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_MAX_SIZE=0x40000
 # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set

-- 
2.34.1


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

* Re: [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts
  2026-09-20 14:15 [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Massimo Pegorer
                   ` (10 preceding siblings ...)
  2026-09-20 14:15 ` [PATCH RFC 11/11] configs: rockchip: add DISPLAY_CPUINFO to keep SoC info print Massimo Pegorer
@ 2026-09-20 15:49 ` Jonas Karlman
  2026-09-21 16:51   ` Massimo Pegorer
  11 siblings, 1 reply; 15+ messages in thread
From: Jonas Karlman @ 2026-09-20 15:49 UTC (permalink / raw)
  To: Massimo Pegorer, Quentin Schulz; +Cc: Tom Rini, Kever Yang, u-boot

Hi Massimo,

On 9/20/2026 4:15 PM, Massimo Pegorer wrote:
> Looking to provide a way to print reset cause on a board equipped with
> a PX30 SoC I ran into the following existing issues related to Rockchip
> SoCs:
> 
> 1. It is not possible to select DISPLAY_CPUINFO configuration option
>    with ARCH_ROCKCHIP, except for RK3399 RK3288 RK3568 RK3588 SoCs, due
>    to incomplete definition of type 'struct rockchip_cru' caused by
>    Rockchip common implementation of print_cpuinfo() function: see
>    0f9872c4db11 for the RK3588 SoC "workaround", which I feel not
>    optimal. Note that DISPLAY_CPUINFO has default y if ARM; therefore,
>    it is deselected in each Rockchip defconfig except for listed SoCs.
> 
> 2. It is not possible to deselect DISPLAY_CPUINFO configuration option
>    with TARGET_ROC_PC_RK3399 due to missing get_reset_cause() symbol
>    caused by mach-rockchip/Makefile skipping cpu-info.c. I do not see
>    how e230c579a3f6 commit separated the reset cause from displaying
>    cpuinfo as proposed.

Please see the series "rockchip: Add and use rockchip_sysreset_bind()
helper" [1] that already should resolve above issues.

That series has some loose depends for a clean apply, but the idea is to
fully move the resets status handling into the sysreset driver and start
cleanup of 'struct rockchip_cru' use.

Please try, review and possible build on top of that :-)

[1] https://patch.msgid.link/20260805174509.2968252-1-jonas@kwiboo.se/

Regards,
Jonas

> 
> 3. For the most recent Rockchip SoCs (RK3588 RK3576 RK3568 RK3528 RK3506
>    RK3308 PX30) the checkboard() function is implemented at mach level
>    to print SoC information: it overrides the weak empty implementation
>    called by show_board_info() when DISPLAY_BOARDINFO(_LATE) option is
>    selected.
> 
>    Most of the other machs do not provide a checkboard() implementation
>    leaving symbol available for overriding at board level. I did not
>    find any "regulatory" definition in the documentation, but SoC info
>    sounds to me more related to CPUINFO than to BOARDINFO, and other
>    machs approach in my opinion seems more consistent with the function
>    and configuration option names (checkboard and DISPLAY_BOARDINFO).
>    Moreover, this approach has the advantage of allowing each board to
>    implement its own checkboard() if needed (other hooks exist for
>    board specific printout, of course).
> 
> 4. Implementation of get_reset_cause() cannot be common in Rockchip mach
>    due to different CRU_GLB_RST_ST register definitions from SoC to SoC:
>    RK3288 and RK3399 share the same one, but RK3568 and RK3588 ones have
>    more bit flags defined (and not all of them seem mutually exclusive),
>    and PX30 and RK3308 common one differs again having WDT and TSADC bit
>    flags swapped.
> 
> Here is my proposal, awaiting your comments and feedback:
> 
> 1. Create a Rockchip common print_cpuinfo() suitable for any SoC/board,
>    making possible DISPLAY_CPUINFO selection without build issues.
> 
> 2. Avoid DISPLAY_CPUINFO deselection causes build issues for any board.
> 
> 3. Make print_cpuinfo() to execute code that is currently in function
>    named checkboard() at SoC level (if implemented), which prints more
>    info than CONFIG_SYS_SOC. Of course, keep printing CONFIG_SYS_SOC if
>    function is unavailable and on returning error.
> 
> 4. Make print_cpuinfo() to execute code to get the SoC reset cause and
>    to print its description if the reset cause is available.
> 
> 5. Avoid DISPLAY_BOARDINFO(_LATE) printing the same SoC info now printed
>    by DISPLAY_CPUINFO too: it seems redundant and quite misleading. This
>    makes checkboard() implementation at Rockchip mach level unnecessary:
>    remove it and leave the overriding option available for board level
>    implementation if needed.
> 
> 6. Select DISPLAY_CPUINFO in all Rockchip board configurations related
>    to PX30 RK3308 and any RK35xx (all the SoCs that were providing a
>    checkboard() implementation) that already have the DISPLAY_BOARDINFO
>    and/or the DISPLAY_BOARDINFO_LATE option selected, to keep SoC info
>    printout. BTW they are all of PX30 RK3308 and RK35xx board configs.
> 
> The whole series has been built with buildman for all of the involved
> board configurations, i.e. those related to PX30 RK3288 RK3308 RK3399
> RK35xx.
> 
> ---
> Massimo Pegorer (11):
>       arm: rockchip: include SoC-specific CRU header file
>       rockchip: cru: move code from header to source file
>       rockchip: cru: remove unnecessary common cru.h file
>       rockchip: cru: improve and simplify reset cause handling
>       arm: rockchip: support DISPLAY_CPUINFO on all Rockchip SoC
>       arm: rockchip: unbind cpu-info.c from DISPLAY_CPUINFO
>       arm: rockchip: print SoC detailed info with DISPLAY_CPUINFO
>       arm: rockchip: print reset cause only when available
>       arm: rockchip: do not print SoC info with DISPLAY_BOARDINFO
>       configs: rockchip: resync Anbernic RG-DS with savedefconfig
>       configs: rockchip: add DISPLAY_CPUINFO to keep SoC info print
> 
>  arch/arm/include/asm/arch-rockchip/clock.h      | 11 +++++
>  arch/arm/include/asm/arch-rockchip/cru.h        | 39 ----------------
>  arch/arm/include/asm/arch-rockchip/cru_rk3399.h |  1 +
>  arch/arm/mach-rockchip/Makefile                 |  2 +-
>  arch/arm/mach-rockchip/cpu-info.c               | 61 ++++++++++++-------------
>  arch/arm/mach-rockchip/px30/px30.c              | 12 ++---
>  arch/arm/mach-rockchip/rk3288/clk_rk3288.c      | 37 ++++++++++++++-
>  arch/arm/mach-rockchip/rk3288/rk3288.c          |  2 +-
>  arch/arm/mach-rockchip/rk3308/rk3308.c          |  2 +-
>  arch/arm/mach-rockchip/rk3399/clk_rk3399.c      | 37 ++++++++++++++-
>  arch/arm/mach-rockchip/rk3399/rk3399.c          |  2 +-
>  arch/arm/mach-rockchip/rk3506/rk3506.c          | 10 ++--
>  arch/arm/mach-rockchip/rk3528/rk3528.c          | 10 ++--
>  arch/arm/mach-rockchip/rk3568/clk_rk3568.c      | 35 ++++++++++++++
>  arch/arm/mach-rockchip/rk3568/rk3568.c          | 12 ++---
>  arch/arm/mach-rockchip/rk3576/rk3576.c          | 10 ++--
>  arch/arm/mach-rockchip/rk3588/clk_rk3588.c      | 35 ++++++++++++++
>  arch/arm/mach-rockchip/rk3588/rk3588.c          | 10 ++--
>  board/firefly/roc-pc-rk3399/roc-pc-rk3399.c     |  4 +-
>  configs/9tripod-x3568-v4-rk3568_defconfig       |  1 -
>  configs/anbernic-rg-ds-rk3568_defconfig         |  6 ---
>  configs/anbernic-rgxx3-rk3566_defconfig         |  1 -
>  configs/bpi-r2-pro-rk3568_defconfig             |  1 -
>  configs/cm3588-nas-rk3588_defconfig             |  1 -
>  configs/coolpi-4b-rk3588s_defconfig             |  1 -
>  configs/coolpi-cm5-evb-rk3588_defconfig         |  1 -
>  configs/coolpi-cm5-genbook-rk3588_defconfig     |  1 -
>  configs/easepi-r1-rk3568_defconfig              |  1 -
>  configs/evb-px30_defconfig                      |  1 -
>  configs/evb-rk3308_defconfig                    |  1 -
>  configs/evb-rk3568_defconfig                    |  1 -
>  configs/evb-rk3588_defconfig                    |  1 -
>  configs/fastrhino-r66s-rk3568_defconfig         |  1 -
>  configs/firefly-px30_defconfig                  |  1 -
>  configs/gameforce-ace-rk3588s_defconfig         |  1 -
>  configs/generic-rk3528_defconfig                |  1 -
>  configs/generic-rk3568_defconfig                |  1 -
>  configs/generic-rk3576_defconfig                |  1 -
>  configs/generic-rk3588_defconfig                |  1 -
>  configs/jaguar-rk3588_defconfig                 |  1 -
>  configs/khadas-edge2-rk3588s_defconfig          |  1 -
>  configs/lckfb-tspi-rk3566_defconfig             |  1 -
>  configs/lubancat-2-rk3568_defconfig             |  1 -
>  configs/mnt-reform2-rk3588_defconfig            |  1 -
>  configs/nanopc-t6-rk3588_defconfig              |  1 -
>  configs/nanopi-m5-rk3576_defconfig              |  1 -
>  configs/nanopi-r3s-rk3566_defconfig             |  1 -
>  configs/nanopi-r5c-rk3568_defconfig             |  1 -
>  configs/nanopi-r5s-rk3568_defconfig             |  1 -
>  configs/nanopi-r6c-rk3588s_defconfig            |  1 -
>  configs/nanopi-r6s-rk3588s_defconfig            |  1 -
>  configs/nanopi-r76s-rk3576_defconfig            |  1 -
>  configs/nanopi-zero2-rk3528_defconfig           |  1 -
>  configs/neu6a-io-rk3588_defconfig               |  1 -
>  configs/neu6b-io-rk3588_defconfig               |  1 -
>  configs/nova-rk3588s_defconfig                  |  1 -
>  configs/odroid-go2_defconfig                    |  1 -
>  configs/odroid-m1-rk3568_defconfig              |  1 -
>  configs/odroid-m1s-rk3566_defconfig             |  1 -
>  configs/odroid-m2-rk3588s_defconfig             |  1 -
>  configs/omni3576-rk3576_defconfig               |  1 -
>  configs/orangepi-3b-rk3566_defconfig            |  1 -
>  configs/orangepi-5-max-rk3588_defconfig         |  1 -
>  configs/orangepi-5-plus-rk3588_defconfig        |  1 -
>  configs/orangepi-5-rk3588s_defconfig            |  1 -
>  configs/orangepi-5-ultra-rk3588_defconfig       |  1 -
>  configs/pinetab2-rk3566_defconfig               |  1 -
>  configs/powkiddy-x55-rk3566_defconfig           |  1 -
>  configs/px30-core-ctouch2-of10-px30_defconfig   |  1 -
>  configs/px30-core-ctouch2-px30_defconfig        |  1 -
>  configs/px30-core-edimm2.2-px30_defconfig       |  1 -
>  configs/qnap-ts433-rk3568_defconfig             |  1 -
>  configs/quartz64-a-rk3566_defconfig             |  1 -
>  configs/quartz64-b-rk3566_defconfig             |  1 -
>  configs/quartzpro64-rk3588_defconfig            |  1 -
>  configs/radxa-cm3-io-rk3566_defconfig           |  1 -
>  configs/radxa-e20c-rk3528_defconfig             |  1 -
>  configs/radxa-e25-rk3568_defconfig              |  1 -
>  configs/radxa-zero-3-rk3566_defconfig           |  1 -
>  configs/ringneck-px30_defconfig                 |  1 -
>  configs/roc-cc-rk3308_defconfig                 |  1 -
>  configs/roc-pc-rk3576_defconfig                 |  1 -
>  configs/roc-pc-rk3588s_defconfig                |  1 -
>  configs/rock-2-rk3528_defconfig                 |  1 -
>  configs/rock-3a-rk3568_defconfig                |  1 -
>  configs/rock-3b-rk3568_defconfig                |  1 -
>  configs/rock-3c-rk3566_defconfig                |  1 -
>  configs/rock-4d-rk3576_defconfig                |  1 -
>  configs/rock-5-itx-rk3588_defconfig             |  1 -
>  configs/rock-5c-rk3588s_defconfig               |  1 -
>  configs/rock-pi-s-rk3308_defconfig              |  1 -
>  configs/rock-s0-rk3308_defconfig                |  1 -
>  configs/rock5a-rk3588s_defconfig                |  1 -
>  configs/rock5b-rk3588_defconfig                 |  1 -
>  configs/sige1-rk3528_defconfig                  |  1 -
>  configs/sige5-rk3576_defconfig                  |  1 -
>  configs/sige7-rk3588_defconfig                  |  1 -
>  configs/soquartz-blade-rk3566_defconfig         |  1 -
>  configs/soquartz-cm4-rk3566_defconfig           |  1 -
>  configs/soquartz-model-a-rk3566_defconfig       |  1 -
>  configs/tiger-rk3588_defconfig                  |  1 -
>  configs/toybrick-rk3588_defconfig               |  1 -
>  configs/turing-rk1-rk3588_defconfig             |  1 -
>  drivers/clk/rockchip/clk_rk3288.c               |  2 +-
>  drivers/clk/rockchip/clk_rk3399.c               |  2 +-
>  drivers/ram/rockchip/sdram_rk3288.c             |  2 +-
>  drivers/ram/rockchip/sdram_rk3399.c             |  2 +-
>  drivers/video/rockchip/rk3288_mipi.c            |  2 +-
>  drivers/video/rockchip/rk3399_mipi.c            |  2 +-
>  drivers/video/rockchip/rk_mipi.c                |  2 +-
>  110 files changed, 229 insertions(+), 206 deletions(-)
> ---
> base-commit: b8e0086b585791a771416ce51b58ce0097bc0b28
> change-id: 20260908-reset-e69a40d3f5c6
> 
> Best regards,
> --  
> Massimo Pegorer <massimo.pegorer+oss@gmail.com>


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

* Re: [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts
  2026-09-20 15:49 ` [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Jonas Karlman
@ 2026-09-21 16:51   ` Massimo Pegorer
  2026-09-21 16:58     ` Quentin Schulz
  0 siblings, 1 reply; 15+ messages in thread
From: Massimo Pegorer @ 2026-09-21 16:51 UTC (permalink / raw)
  To: Jonas Karlman; +Cc: Quentin Schulz, Tom Rini, Kever Yang, u-boot

Hi Jonas,

Il giorno dom 20 set 2026 alle ore 17:49 Jonas Karlman
<jonas@kwiboo.se> ha scritto:
>
> Hi Massimo,
>
> On 9/20/2026 4:15 PM, Massimo Pegorer wrote:
> > Looking to provide a way to print reset cause on a board equipped with
> > a PX30 SoC I ran into the following existing issues related to Rockchip
> > SoCs:
> >
> > 1. It is not possible to select DISPLAY_CPUINFO configuration option
> >    with ARCH_ROCKCHIP, except for RK3399 RK3288 RK3568 RK3588 SoCs, due
> >    to incomplete definition of type 'struct rockchip_cru' caused by
> >    Rockchip common implementation of print_cpuinfo() function: see
> >    0f9872c4db11 for the RK3588 SoC "workaround", which I feel not
> >    optimal. Note that DISPLAY_CPUINFO has default y if ARM; therefore,
> >    it is deselected in each Rockchip defconfig except for listed SoCs.
> >
> > 2. It is not possible to deselect DISPLAY_CPUINFO configuration option
> >    with TARGET_ROC_PC_RK3399 due to missing get_reset_cause() symbol
> >    caused by mach-rockchip/Makefile skipping cpu-info.c. I do not see
> >    how e230c579a3f6 commit separated the reset cause from displaying
> >    cpuinfo as proposed.
>
> Please see the series "rockchip: Add and use rockchip_sysreset_bind()
> helper" [1] that already should resolve above issues.
>
> That series has some loose depends for a clean apply, but the idea is to
> fully move the resets status handling into the sysreset driver and start
> cleanup of 'struct rockchip_cru' use.
>
> Please try, review and possible build on top of that :-)

Thanks, I will. I missed it as I re-joined U-Boot mailing list just a month ago.

What's the status of that series? Is it going to be applied to u-boot/next?

Regards,
Massimo

>
> [1] https://patch.msgid.link/20260805174509.2968252-1-jonas@kwiboo.se/
>
> Regards,
> Jonas
>
> >
> > 3. For the most recent Rockchip SoCs (RK3588 RK3576 RK3568 RK3528 RK3506
> >    RK3308 PX30) the checkboard() function is implemented at mach level
> >    to print SoC information: it overrides the weak empty implementation
> >    called by show_board_info() when DISPLAY_BOARDINFO(_LATE) option is
> >    selected.
> >
> >    Most of the other machs do not provide a checkboard() implementation
> >    leaving symbol available for overriding at board level. I did not
> >    find any "regulatory" definition in the documentation, but SoC info
> >    sounds to me more related to CPUINFO than to BOARDINFO, and other
> >    machs approach in my opinion seems more consistent with the function
> >    and configuration option names (checkboard and DISPLAY_BOARDINFO).
> >    Moreover, this approach has the advantage of allowing each board to
> >    implement its own checkboard() if needed (other hooks exist for
> >    board specific printout, of course).
> >
> > 4. Implementation of get_reset_cause() cannot be common in Rockchip mach
> >    due to different CRU_GLB_RST_ST register definitions from SoC to SoC:
> >    RK3288 and RK3399 share the same one, but RK3568 and RK3588 ones have
> >    more bit flags defined (and not all of them seem mutually exclusive),
> >    and PX30 and RK3308 common one differs again having WDT and TSADC bit
> >    flags swapped.
> >
> > Here is my proposal, awaiting your comments and feedback:
> >
> > 1. Create a Rockchip common print_cpuinfo() suitable for any SoC/board,
> >    making possible DISPLAY_CPUINFO selection without build issues.
> >
> > 2. Avoid DISPLAY_CPUINFO deselection causes build issues for any board.
> >
> > 3. Make print_cpuinfo() to execute code that is currently in function
> >    named checkboard() at SoC level (if implemented), which prints more
> >    info than CONFIG_SYS_SOC. Of course, keep printing CONFIG_SYS_SOC if
> >    function is unavailable and on returning error.
> >
> > 4. Make print_cpuinfo() to execute code to get the SoC reset cause and
> >    to print its description if the reset cause is available.
> >
> > 5. Avoid DISPLAY_BOARDINFO(_LATE) printing the same SoC info now printed
> >    by DISPLAY_CPUINFO too: it seems redundant and quite misleading. This
> >    makes checkboard() implementation at Rockchip mach level unnecessary:
> >    remove it and leave the overriding option available for board level
> >    implementation if needed.
> >
> > 6. Select DISPLAY_CPUINFO in all Rockchip board configurations related
> >    to PX30 RK3308 and any RK35xx (all the SoCs that were providing a
> >    checkboard() implementation) that already have the DISPLAY_BOARDINFO
> >    and/or the DISPLAY_BOARDINFO_LATE option selected, to keep SoC info
> >    printout. BTW they are all of PX30 RK3308 and RK35xx board configs.
> >
> > The whole series has been built with buildman for all of the involved
> > board configurations, i.e. those related to PX30 RK3288 RK3308 RK3399
> > RK35xx.
> >
> > ---
> > Massimo Pegorer (11):
> >       arm: rockchip: include SoC-specific CRU header file
> >       rockchip: cru: move code from header to source file
> >       rockchip: cru: remove unnecessary common cru.h file
> >       rockchip: cru: improve and simplify reset cause handling
> >       arm: rockchip: support DISPLAY_CPUINFO on all Rockchip SoC
> >       arm: rockchip: unbind cpu-info.c from DISPLAY_CPUINFO
> >       arm: rockchip: print SoC detailed info with DISPLAY_CPUINFO
> >       arm: rockchip: print reset cause only when available
> >       arm: rockchip: do not print SoC info with DISPLAY_BOARDINFO
> >       configs: rockchip: resync Anbernic RG-DS with savedefconfig
> >       configs: rockchip: add DISPLAY_CPUINFO to keep SoC info print
> >
> >  arch/arm/include/asm/arch-rockchip/clock.h      | 11 +++++
> >  arch/arm/include/asm/arch-rockchip/cru.h        | 39 ----------------
> >  arch/arm/include/asm/arch-rockchip/cru_rk3399.h |  1 +
> >  arch/arm/mach-rockchip/Makefile                 |  2 +-
> >  arch/arm/mach-rockchip/cpu-info.c               | 61 ++++++++++++-------------
> >  arch/arm/mach-rockchip/px30/px30.c              | 12 ++---
> >  arch/arm/mach-rockchip/rk3288/clk_rk3288.c      | 37 ++++++++++++++-
> >  arch/arm/mach-rockchip/rk3288/rk3288.c          |  2 +-
> >  arch/arm/mach-rockchip/rk3308/rk3308.c          |  2 +-
> >  arch/arm/mach-rockchip/rk3399/clk_rk3399.c      | 37 ++++++++++++++-
> >  arch/arm/mach-rockchip/rk3399/rk3399.c          |  2 +-
> >  arch/arm/mach-rockchip/rk3506/rk3506.c          | 10 ++--
> >  arch/arm/mach-rockchip/rk3528/rk3528.c          | 10 ++--
> >  arch/arm/mach-rockchip/rk3568/clk_rk3568.c      | 35 ++++++++++++++
> >  arch/arm/mach-rockchip/rk3568/rk3568.c          | 12 ++---
> >  arch/arm/mach-rockchip/rk3576/rk3576.c          | 10 ++--
> >  arch/arm/mach-rockchip/rk3588/clk_rk3588.c      | 35 ++++++++++++++
> >  arch/arm/mach-rockchip/rk3588/rk3588.c          | 10 ++--
> >  board/firefly/roc-pc-rk3399/roc-pc-rk3399.c     |  4 +-
> >  configs/9tripod-x3568-v4-rk3568_defconfig       |  1 -
> >  configs/anbernic-rg-ds-rk3568_defconfig         |  6 ---
> >  configs/anbernic-rgxx3-rk3566_defconfig         |  1 -
> >  configs/bpi-r2-pro-rk3568_defconfig             |  1 -
> >  configs/cm3588-nas-rk3588_defconfig             |  1 -
> >  configs/coolpi-4b-rk3588s_defconfig             |  1 -
> >  configs/coolpi-cm5-evb-rk3588_defconfig         |  1 -
> >  configs/coolpi-cm5-genbook-rk3588_defconfig     |  1 -
> >  configs/easepi-r1-rk3568_defconfig              |  1 -
> >  configs/evb-px30_defconfig                      |  1 -
> >  configs/evb-rk3308_defconfig                    |  1 -
> >  configs/evb-rk3568_defconfig                    |  1 -
> >  configs/evb-rk3588_defconfig                    |  1 -
> >  configs/fastrhino-r66s-rk3568_defconfig         |  1 -
> >  configs/firefly-px30_defconfig                  |  1 -
> >  configs/gameforce-ace-rk3588s_defconfig         |  1 -
> >  configs/generic-rk3528_defconfig                |  1 -
> >  configs/generic-rk3568_defconfig                |  1 -
> >  configs/generic-rk3576_defconfig                |  1 -
> >  configs/generic-rk3588_defconfig                |  1 -
> >  configs/jaguar-rk3588_defconfig                 |  1 -
> >  configs/khadas-edge2-rk3588s_defconfig          |  1 -
> >  configs/lckfb-tspi-rk3566_defconfig             |  1 -
> >  configs/lubancat-2-rk3568_defconfig             |  1 -
> >  configs/mnt-reform2-rk3588_defconfig            |  1 -
> >  configs/nanopc-t6-rk3588_defconfig              |  1 -
> >  configs/nanopi-m5-rk3576_defconfig              |  1 -
> >  configs/nanopi-r3s-rk3566_defconfig             |  1 -
> >  configs/nanopi-r5c-rk3568_defconfig             |  1 -
> >  configs/nanopi-r5s-rk3568_defconfig             |  1 -
> >  configs/nanopi-r6c-rk3588s_defconfig            |  1 -
> >  configs/nanopi-r6s-rk3588s_defconfig            |  1 -
> >  configs/nanopi-r76s-rk3576_defconfig            |  1 -
> >  configs/nanopi-zero2-rk3528_defconfig           |  1 -
> >  configs/neu6a-io-rk3588_defconfig               |  1 -
> >  configs/neu6b-io-rk3588_defconfig               |  1 -
> >  configs/nova-rk3588s_defconfig                  |  1 -
> >  configs/odroid-go2_defconfig                    |  1 -
> >  configs/odroid-m1-rk3568_defconfig              |  1 -
> >  configs/odroid-m1s-rk3566_defconfig             |  1 -
> >  configs/odroid-m2-rk3588s_defconfig             |  1 -
> >  configs/omni3576-rk3576_defconfig               |  1 -
> >  configs/orangepi-3b-rk3566_defconfig            |  1 -
> >  configs/orangepi-5-max-rk3588_defconfig         |  1 -
> >  configs/orangepi-5-plus-rk3588_defconfig        |  1 -
> >  configs/orangepi-5-rk3588s_defconfig            |  1 -
> >  configs/orangepi-5-ultra-rk3588_defconfig       |  1 -
> >  configs/pinetab2-rk3566_defconfig               |  1 -
> >  configs/powkiddy-x55-rk3566_defconfig           |  1 -
> >  configs/px30-core-ctouch2-of10-px30_defconfig   |  1 -
> >  configs/px30-core-ctouch2-px30_defconfig        |  1 -
> >  configs/px30-core-edimm2.2-px30_defconfig       |  1 -
> >  configs/qnap-ts433-rk3568_defconfig             |  1 -
> >  configs/quartz64-a-rk3566_defconfig             |  1 -
> >  configs/quartz64-b-rk3566_defconfig             |  1 -
> >  configs/quartzpro64-rk3588_defconfig            |  1 -
> >  configs/radxa-cm3-io-rk3566_defconfig           |  1 -
> >  configs/radxa-e20c-rk3528_defconfig             |  1 -
> >  configs/radxa-e25-rk3568_defconfig              |  1 -
> >  configs/radxa-zero-3-rk3566_defconfig           |  1 -
> >  configs/ringneck-px30_defconfig                 |  1 -
> >  configs/roc-cc-rk3308_defconfig                 |  1 -
> >  configs/roc-pc-rk3576_defconfig                 |  1 -
> >  configs/roc-pc-rk3588s_defconfig                |  1 -
> >  configs/rock-2-rk3528_defconfig                 |  1 -
> >  configs/rock-3a-rk3568_defconfig                |  1 -
> >  configs/rock-3b-rk3568_defconfig                |  1 -
> >  configs/rock-3c-rk3566_defconfig                |  1 -
> >  configs/rock-4d-rk3576_defconfig                |  1 -
> >  configs/rock-5-itx-rk3588_defconfig             |  1 -
> >  configs/rock-5c-rk3588s_defconfig               |  1 -
> >  configs/rock-pi-s-rk3308_defconfig              |  1 -
> >  configs/rock-s0-rk3308_defconfig                |  1 -
> >  configs/rock5a-rk3588s_defconfig                |  1 -
> >  configs/rock5b-rk3588_defconfig                 |  1 -
> >  configs/sige1-rk3528_defconfig                  |  1 -
> >  configs/sige5-rk3576_defconfig                  |  1 -
> >  configs/sige7-rk3588_defconfig                  |  1 -
> >  configs/soquartz-blade-rk3566_defconfig         |  1 -
> >  configs/soquartz-cm4-rk3566_defconfig           |  1 -
> >  configs/soquartz-model-a-rk3566_defconfig       |  1 -
> >  configs/tiger-rk3588_defconfig                  |  1 -
> >  configs/toybrick-rk3588_defconfig               |  1 -
> >  configs/turing-rk1-rk3588_defconfig             |  1 -
> >  drivers/clk/rockchip/clk_rk3288.c               |  2 +-
> >  drivers/clk/rockchip/clk_rk3399.c               |  2 +-
> >  drivers/ram/rockchip/sdram_rk3288.c             |  2 +-
> >  drivers/ram/rockchip/sdram_rk3399.c             |  2 +-
> >  drivers/video/rockchip/rk3288_mipi.c            |  2 +-
> >  drivers/video/rockchip/rk3399_mipi.c            |  2 +-
> >  drivers/video/rockchip/rk_mipi.c                |  2 +-
> >  110 files changed, 229 insertions(+), 206 deletions(-)
> > ---
> > base-commit: b8e0086b585791a771416ce51b58ce0097bc0b28
> > change-id: 20260908-reset-e69a40d3f5c6
> >
> > Best regards,
> > --
> > Massimo Pegorer <massimo.pegorer+oss@gmail.com>
>

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

* Re: [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts
  2026-09-21 16:51   ` Massimo Pegorer
@ 2026-09-21 16:58     ` Quentin Schulz
  0 siblings, 0 replies; 15+ messages in thread
From: Quentin Schulz @ 2026-09-21 16:58 UTC (permalink / raw)
  To: Massimo Pegorer, Jonas Karlman; +Cc: Tom Rini, Kever Yang, u-boot

Hi Massimo,

On 9/21/26 6:51 PM, Massimo Pegorer wrote:
> Hi Jonas,
> 
> Il giorno dom 20 set 2026 alle ore 17:49 Jonas Karlman
> <jonas@kwiboo.se> ha scritto:
>>
>> Hi Massimo,
>>
>> On 9/20/2026 4:15 PM, Massimo Pegorer wrote:
>>> Looking to provide a way to print reset cause on a board equipped with
>>> a PX30 SoC I ran into the following existing issues related to Rockchip
>>> SoCs:
>>>
>>> 1. It is not possible to select DISPLAY_CPUINFO configuration option
>>>     with ARCH_ROCKCHIP, except for RK3399 RK3288 RK3568 RK3588 SoCs, due
>>>     to incomplete definition of type 'struct rockchip_cru' caused by
>>>     Rockchip common implementation of print_cpuinfo() function: see
>>>     0f9872c4db11 for the RK3588 SoC "workaround", which I feel not
>>>     optimal. Note that DISPLAY_CPUINFO has default y if ARM; therefore,
>>>     it is deselected in each Rockchip defconfig except for listed SoCs.
>>>
>>> 2. It is not possible to deselect DISPLAY_CPUINFO configuration option
>>>     with TARGET_ROC_PC_RK3399 due to missing get_reset_cause() symbol
>>>     caused by mach-rockchip/Makefile skipping cpu-info.c. I do not see
>>>     how e230c579a3f6 commit separated the reset cause from displaying
>>>     cpuinfo as proposed.
>>
>> Please see the series "rockchip: Add and use rockchip_sysreset_bind()
>> helper" [1] that already should resolve above issues.
>>
>> That series has some loose depends for a clean apply, but the idea is to
>> fully move the resets status handling into the sysreset driver and start
>> cleanup of 'struct rockchip_cru' use.
>>
>> Please try, review and possible build on top of that :-)
> 
> Thanks, I will. I missed it as I re-joined U-Boot mailing list just a month ago.
> 

Welcome back!

> What's the status of that series? Is it going to be applied to u-boot/next?
> 

The status is that it needs people reviewing and/or testing the series. 
I'm the sole maintainer at the moment for Rockchip and I have a day job 
so I put as much time as I can/want to in it but it's limited, but I'll 
eventually get to it.

You don't need any permission to review or test patches on the mailing 
list so please feel free to spend some time reviewing other people's 
patches, any help is welcome :)

Cheers,
Quentin

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

end of thread, other threads:[~2026-09-21 16:58 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-20 14:15 [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Massimo Pegorer
2026-09-20 14:15 ` [PATCH RFC 01/11] arm: rockchip: include SoC-specific CRU header file Massimo Pegorer
2026-09-20 14:15 ` [PATCH RFC 02/11] rockchip: cru: move code from header to source file Massimo Pegorer
2026-09-20 14:15 ` [PATCH RFC 03/11] rockchip: cru: remove unnecessary common cru.h file Massimo Pegorer
2026-09-20 14:15 ` [PATCH RFC 04/11] rockchip: cru: improve and simplify reset cause handling Massimo Pegorer
2026-09-20 14:15 ` [PATCH RFC 05/11] arm: rockchip: support DISPLAY_CPUINFO on all Rockchip SoC Massimo Pegorer
2026-09-20 14:15 ` [PATCH RFC 06/11] arm: rockchip: unbind cpu-info.c from DISPLAY_CPUINFO Massimo Pegorer
2026-09-20 14:15 ` [PATCH RFC 07/11] arm: rockchip: print SoC detailed info with DISPLAY_CPUINFO Massimo Pegorer
2026-09-20 14:15 ` [PATCH RFC 08/11] arm: rockchip: print reset cause only when available Massimo Pegorer
2026-09-20 14:15 ` [PATCH RFC 09/11] arm: rockchip: do not print SoC info with DISPLAY_BOARDINFO Massimo Pegorer
2026-09-20 14:15 ` [PATCH RFC 10/11] configs: rockchip: resync Anbernic RG-DS with savedefconfig Massimo Pegorer
2026-09-20 14:15 ` [PATCH RFC 11/11] configs: rockchip: add DISPLAY_CPUINFO to keep SoC info print Massimo Pegorer
2026-09-20 15:49 ` [PATCH RFC 00/11] rockchip: SoC info and reset cause printouts Jonas Karlman
2026-09-21 16:51   ` Massimo Pegorer
2026-09-21 16:58     ` Quentin Schulz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.