]> git.dujemihanovic.xyz Git - u-boot.git/commit
rockchip: rk3588-rock-5b: Enable boot from SPI NOR flash
authorJonas Karlman <jonas@kwiboo.se>
Thu, 18 May 2023 15:39:30 +0000 (15:39 +0000)
committerKever Yang <kever.yang@rock-chips.com>
Fri, 19 May 2023 00:50:44 +0000 (08:50 +0800)
commitfd6e425be243dce518a02710482514faccf3c211
tree92444cff8a17e4b3de6d49672c1a9ccea23ea879
parent14421e875e41005015705a7febe1e11ca2478e48
rockchip: rk3588-rock-5b: Enable boot from SPI NOR flash

Add sfc and flash node to device tree and config options to enable
support for booting from SPI NOR flash on Radxa ROCK 5 Model B.

Similar to RK3568 the BootRom in RK3588 can read all data and look for
idbloader at 0x8000, same as on SD and eMMC.

Use the rksd format and modify the mkimage offset to generate a bootable
u-boot-rockchip-spi.bin that can be written to 0x0 of SPI NOR flash. The
FIT image is loaded from 0x60000.

  => sf probe
  SF: Detected mx25u12835f with page size 256 Bytes, erase size 4 KiB, total 16 MiB

  => load mmc 1:1 10000000 u-boot-rockchip-spi.bin
  1492992 bytes read in 129 ms (11 MiB/s)

  => sf update $fileaddr 0 $filesize
  device 0 offset 0x0, size 0x16c800
  1300480 bytes written, 192512 bytes skipped in 11.103s, speed 137694 B/s

The BROM_BOOTSOURCE_ID value read back when booting from SPI flash does
not match the expected value of 3 (SPINOR) used by other SoCs. Instead a
value of 6 is read back, add a new enum value to handle this new
bootsource id.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
Tested-by: Eugen Hristev <eugen.hristev@collabora.com>
Reviewed-by: Eugen Hristev <eugen.hristev@collabora.com>
arch/arm/dts/rk3588-rock-5b-u-boot.dtsi
arch/arm/dts/rk3588s-u-boot.dtsi
arch/arm/include/asm/arch-rockchip/bootrom.h
arch/arm/mach-rockchip/rk3588/rk3588.c
configs/rock5b-rk3588_defconfig