[PATCH RFC v2 00/23] Enable display cpuinfo to get the reset cause

All the Rockchip SoC support reset cauee like POR_RST, GLB_RST, TSADC_RST, WD_RST by reading the clock reset unit register.
V2: with the feedback from Jonas Karlman and Quentin Schulz drop the inply for CONFIG_DISPLAY_CPUINFO as it defaault enabled. re-organized the code.
As pointed only as of now RK3328, RK3399 supports this feature for POR and RST.
On RK3568 and RK3588 SoC it only return POR, for all the case of reboot and poweroff. I have tried to debug this issue, found Clock Reset Unit will bind to rockchip_sysreset to determine the reset cause. if there is ant input on this please share.
I have update two new patches from u-boot-radxa, but with no success.
[0] https://elixir.bootlin.com/u-boot/v2024.07-rc3/source/drivers/clk/rockchip/c...
# dm tree # RK3568 clk 5 [ + ] rockchip_rk3588_cru |-- clock-controller@fd7c0000 sysreset 0 [ ] rockchip_sysreset | |-- sysreset reset 0 [ + ] rockchip_reset | `-- reset
[1] https://elixir.bootlin.com/u-boot/v2024.07-rc3/source/drivers/clk/rockchip/c...
# dm tree # RK3588 clk 5 [ + ] rockchip_rk3588_cru |-- clock-controller@fd7c0000 sysreset 0 [ ] rockchip_sysreset | |-- sysreset reset 0 [ ] rockchip_reset | `-- reset
Tested on Rock64, Rock-3a, Rock-5b boards.
I have update few Rockchip SoC to verify this feature, Only Build to since I dont have the hardware.
Thanks -Anand
Anand Moon (21): rockchip: RK3328: Read the reset cause from clock reset unit for RK3328 SoC rockchip: RK3328: Enable display cpuinfo support on all boards rockchip: RK3399: Read the reset cause from clock reset unit for RK3399 SoC rockchip: RK3399: Enable display cpuinfo support on all boards arm: rockchip: Enable display cpuinfo to be build with SPL_BUILD rockchip: RK3568: Read the reset cause from clock reset unit for RK356x SoC rockchip: RK3568: Enable display cpuinfo support on all boards rockchip: RK3588: Read the reset cause from clock reset unit for RK3588 SoC rockchip: RK3588: Enable display cpuinfo support on all boards rockchip: PX30: Read the reset cause from clock reset unit for PX30 SoC rockchip: PX30: Enable display cpuinfo support on all boards rockchip: RK3288: Read the reset cause from clock reset unit for RK3288 SoC rockchip: RK3288: Enable display cpuinfo support on all boards rockchip: RK3308: Read the reset cause from clock reset unit for RK3308 SoC rockchip: RK3308: Enable display cpuinfo support on all boards rockchip: RK3368: Read the reset cause from clock reset unit for RK3368 SoC rockchip: RK3368: Enable display cpuinfo support on all boards rockchip: RV1108: Read the reset cause from clock reset unit for RV1108 SoC rockchip: RV1108: Enable display cpuinfo support on all boards rockchip: RV1126: Read the reset cause from clock reset unit for RV1126 SoC rockchip: RV1126: Enable display cpuinfo support on all boards
Andy Yan (1): sysreset: rockchip: use dev_read_addr_ptr get cru base
Kever Yang (1): sysreset: rockchip: use fst reset for ARM64 SOC
arch/arm/include/asm/arch-rockchip/cru.h | 14 +++++++++++++ arch/arm/mach-rockchip/Makefile | 3 --- arch/arm/mach-rockchip/cpu-info.c | 20 +++++++++++++++++++ configs/anbernic-rgxx3-rk3566_defconfig | 1 - configs/bpi-r2-pro-rk3568_defconfig | 1 - configs/chromebit_mickey_defconfig | 1 - configs/chromebook_bob_defconfig | 1 - configs/chromebook_jerry_defconfig | 1 - configs/chromebook_kevin_defconfig | 1 - configs/chromebook_minnie_defconfig | 1 - configs/chromebook_speedy_defconfig | 1 - configs/coolpi-4b-rk3588s_defconfig | 1 - configs/coolpi-cm5-evb-rk3588_defconfig | 1 - configs/elgin-rv1108_defconfig | 1 - configs/evb-px30_defconfig | 1 - configs/evb-px5_defconfig | 1 - configs/evb-rk3308_defconfig | 1 - configs/evb-rk3328_defconfig | 1 - configs/evb-rk3568_defconfig | 1 - configs/evb-rk3588_defconfig | 1 - configs/evb-rv1108_defconfig | 1 - configs/firefly-px30_defconfig | 1 - configs/geekbox_defconfig | 1 - configs/generic-rk3568_defconfig | 1 - configs/generic-rk3588_defconfig | 1 - configs/jaguar-rk3588_defconfig | 1 - configs/lion-rk3368_defconfig | 1 - configs/lubancat-2-rk3568_defconfig | 1 - configs/nanopc-t6-rk3588_defconfig | 1 - configs/nanopi-r2c-plus-rk3328_defconfig | 1 - configs/nanopi-r2c-rk3328_defconfig | 1 - configs/nanopi-r2s-rk3328_defconfig | 1 - configs/nanopi-r5c-rk3568_defconfig | 1 - configs/nanopi-r5s-rk3568_defconfig | 1 - configs/neu2-io-rv1126_defconfig | 1 - configs/neu6a-io-rk3588_defconfig | 1 - configs/neu6b-io-rk3588_defconfig | 1 - configs/odroid-m1-rk3568_defconfig | 1 - configs/orangepi-5-plus-rk3588_defconfig | 1 - configs/orangepi-5-rk3588s_defconfig | 1 - configs/orangepi-r1-plus-lts-rk3328_defconfig | 1 - configs/orangepi-r1-plus-rk3328_defconfig | 1 - configs/pinetab2-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/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-e25-rk3568_defconfig | 1 - configs/ringneck-px30_defconfig | 1 - configs/roc-cc-rk3308_defconfig | 1 - configs/roc-cc-rk3328_defconfig | 1 - configs/rock-3a-rk3568_defconfig | 1 - configs/rock-pi-e-rk3328_defconfig | 1 - configs/rock-pi-s-rk3308_defconfig | 1 - configs/rock5a-rk3588s_defconfig | 1 - configs/rock5b-rk3588_defconfig | 1 - configs/rock64-rk3328_defconfig | 1 - configs/sheep-rk3368_defconfig | 1 - configs/sonoff-ihost-rv1126_defconfig | 1 - configs/soquartz-blade-rk3566_defconfig | 1 - configs/soquartz-cm4-rk3566_defconfig | 1 - configs/soquartz-model-a-rk3566_defconfig | 1 - configs/toybrick-rk3588_defconfig | 1 - configs/turing-rk1-rk3588_defconfig | 1 - drivers/sysreset/sysreset_rockchip.c | 9 +++++++-- 68 files changed, 41 insertions(+), 69 deletions(-)
participants (1)
-
Anand Moon