[PATCH v2 00/18] rockchip: rk3399: Fix loading FIT from SD-card when booting from eMMC
Jonas Karlman
jonas at kwiboo.se
Tue Apr 30 17:30:07 CEST 2024
This series enables use of FIT signature check for checksum validation
in SPL and fixes loading FIT from SD-card when loading FIT from eMMC or
SPI flash fails.
Changes in v2:
- Split series in two, this is the first part, second part will follow
- Split a big patch into smaller and more reviewable parts
- Change rk3399-puma to use common bss and stack addresses
- Skip UART related pinctrl nodes at pre-reloc phase to not slow down
boot for i.e. rk3399-puma
- Rebase on latest master branch
- Collect r-b tags
I have runtime tested this series on following devices:
- 96boards Rock960
- Khadas Edge Captain
- Pine64 PineBook Pro
- Pine64 RockPro64
- Radxa ROCK 4C+
- Radxa ROCK 4SE
- Radxa ROCK Pi 4A
- Radxa ROCK Pi 4B+
Boot times before this series using rock-pi-4-rk3399:
=> bootstage report
Timer summary in microseconds (11 records):
Mark Elapsed Stage
204,349 SPL
494,212 289,863 end phase
8,637 8,637 board_init_f
1,314,991 1,306,354 board_init_r
3,483,389 2,168,398 eth_common_init
3,814,525 331,136 eth_initialize
3,814,762 237 main_loop
3,823,030 8,268 cli_loop
Accumulated time:
22,295 dm_spl
852,152 dm_f
60,268 dm_r
After this series the boot time have improved, mostly thanks to the use
of ARMv8 crypto, OF_LIVE and reduced clutter in FDT:
=> bootstage report
Timer summary in microseconds (12 records):
Mark Elapsed Stage
165,322 SPL
419,002 253,680 end phase
8,620 8,620 board_init_f
1,314,364 1,305,744 board_init_r
2,234,295 919,931 eth_common_init
2,399,375 165,080 eth_initialize
2,406,203 6,828 main_loop
2,406,499 296 cli_loop
Accumulated time:
28,365 dm_spl
864,210 dm_f
11,943 of_live
13,085 dm_r
After this the board still spend a long time waiting for timeout during
probe of display/hdmi driver (~1200 ms) or reading FDT during pre-reloc
phase (~600ms).
A copy of this series can be found at [1].
[1] https://github.com/Kwiboo/u-boot-rockchip/commits/rk3399-dt-sync-v2-part1
Jonas Karlman (18):
rockchip: rk3399-gru: Fix max SPL size on bob and kevin
rockchip: rk3399-puma: Update SPL_PAD_TO Kconfig option
rockchip: rk3399-puma: Use common bss and stack addresses
rockchip: rk3399-ficus: Enable TPL and use common bss and stack addr
rockchip: rk3399: Sort imply statements alphabetically
rockchip: rk3399: Enable ARMv8 crypto and FIT checksum validation
rockchip: rk3399: Enable random generator on all boards
rockchip: rk3399: Imply support for GbE PHY
rockchip: rk3399: Enable DT overlay support on all boards
rockchip: rk3399: Remove use of xPL_MISC_DRIVERS options
rockchip: rk3399: Add a default spl-boot-order prop
rockchip: rk3399: Remove inherited bootph-all props
rockchip: rk3399: Sort nodes in u-boot.dtsi files
rockchip: rk3399: Fix bootph prop for vop nodes
rockchip: rk3399-puma: Move uart0 bootph to board u-boot.dtsi
rockchip: rk3399: Include uart related pinctrl nodes in TPL/SPL
rockchip: rk3399: Fix loading FIT from SD-card when booting from eMMC
rockchip: rk3399: Configure sdmmc regulator pinctrl in SPL
arch/arm/dts/rk3399-eaidk-610-u-boot.dtsi | 1 -
arch/arm/dts/rk3399-evb-u-boot.dtsi | 26 +++--
arch/arm/dts/rk3399-ficus-u-boot.dtsi | 12 ++-
arch/arm/dts/rk3399-firefly-u-boot.dtsi | 6 --
arch/arm/dts/rk3399-gru-u-boot.dtsi | 24 +++++
arch/arm/dts/rk3399-khadas-edge-u-boot.dtsi | 6 --
arch/arm/dts/rk3399-leez-p710-u-boot.dtsi | 6 --
arch/arm/dts/rk3399-nanopi4-u-boot.dtsi | 14 ++-
arch/arm/dts/rk3399-orangepi-u-boot.dtsi | 12 +++
arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi | 23 ++--
arch/arm/dts/rk3399-pinephone-pro-u-boot.dtsi | 12 ---
arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi | 25 ++---
arch/arm/dts/rk3399-roc-pc-u-boot.dtsi | 31 ++++--
arch/arm/dts/rk3399-rock-4c-plus-u-boot.dtsi | 10 ++
arch/arm/dts/rk3399-rock-pi-4-u-boot.dtsi | 6 --
arch/arm/dts/rk3399-rock960-u-boot.dtsi | 13 ++-
arch/arm/dts/rk3399-rockpro64-u-boot.dtsi | 22 ++--
arch/arm/dts/rk3399-u-boot.dtsi | 101 +++++++++++++-----
.../arm/dts/rk3399pro-rock-pi-n10-u-boot.dtsi | 6 --
arch/arm/mach-rockchip/Kconfig | 36 ++++---
configs/chromebook_bob_defconfig | 6 +-
configs/chromebook_kevin_defconfig | 6 +-
configs/eaidk-610-rk3399_defconfig | 2 +-
configs/evb-rk3399_defconfig | 4 +-
configs/ficus-rk3399_defconfig | 16 +--
configs/firefly-rk3399_defconfig | 4 +-
configs/khadas-edge-captain-rk3399_defconfig | 2 +-
configs/khadas-edge-rk3399_defconfig | 2 +-
configs/khadas-edge-v-rk3399_defconfig | 2 +-
configs/leez-rk3399_defconfig | 3 +-
configs/nanopc-t4-rk3399_defconfig | 4 +-
configs/nanopi-m4-2gb-rk3399_defconfig | 4 +-
configs/nanopi-m4-rk3399_defconfig | 4 +-
configs/nanopi-m4b-rk3399_defconfig | 4 +-
configs/nanopi-neo4-rk3399_defconfig | 4 +-
configs/nanopi-r4s-rk3399_defconfig | 4 +-
configs/orangepi-rk3399_defconfig | 4 +-
configs/pinebook-pro-rk3399_defconfig | 7 +-
configs/pinephone-pro-rk3399_defconfig | 5 +-
configs/puma-rk3399_defconfig | 14 +--
configs/roc-pc-mezzanine-rk3399_defconfig | 4 +-
configs/roc-pc-rk3399_defconfig | 6 +-
configs/rock-4c-plus-rk3399_defconfig | 3 +-
configs/rock-4se-rk3399_defconfig | 5 +-
configs/rock-pi-4-rk3399_defconfig | 5 +-
configs/rock-pi-4c-rk3399_defconfig | 3 +-
configs/rock-pi-n10-rk3399pro_defconfig | 2 +-
configs/rock960-rk3399_defconfig | 4 +-
configs/rockpro64-rk3399_defconfig | 9 +-
49 files changed, 298 insertions(+), 236 deletions(-)
--
2.43.2
More information about the U-Boot
mailing list