u-boot/arch/arm/mach-rockchip
Jonas Karlman fd6e425be2 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>
2023-05-19 08:50:44 +08:00
..
px30 rockchip: add support for PX30 Ringneck SoM on Haikou Devkit 2023-01-16 18:01:11 +08:00
rk322x Convert CONFIG_SPL_PAD_TO et al to Kconfig 2022-06-06 12:09:06 -04:00
rk3036 global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
rk3066 rockchip: rk3066: add Rikomagic MK808 board 2022-04-18 11:25:13 +08:00
rk3128 rockchip: move ROCKCHIP_STIMER_BASE to Kconfig 2022-04-18 11:25:12 +08:00
rk3188 rockchip: fix boot_devices constants 2022-04-18 11:25:13 +08:00
rk3288 rockchip: rk3288: syscon_rk3288: store syscon platdata in regmap 2023-05-06 17:28:18 +08:00
rk3308 rockchip: rk3308: fix same-as-spl boot order 2022-09-04 20:00:38 +08:00
rk3328 Convert CONFIG_SPL_PAD_TO et al to Kconfig 2022-06-06 12:09:06 -04:00
rk3368 arm: rk3368: Select ARCH_EARLY_INIT_R when used 2023-03-02 15:32:25 -05:00
rk3399 rockchip: Add initial support for the PINE64 Pinephone Pro 2023-01-16 18:01:11 +08:00
rk3568 board: rockchip: add Anbernic RGXX3 Series Devices 2023-05-06 17:45:05 +08:00
rk3588 rockchip: rk3588-rock-5b: Enable boot from SPI NOR flash 2023-05-19 08:50:44 +08:00
rv1108 dm: Rename DM_GET_DRIVER() to DM_DRIVER_GET() 2021-01-05 12:26:35 -07:00
rv1126 board: rockchip: Add Edgeble Neu2 IO Board 2023-01-16 18:01:11 +08:00
board.c rockchip: handle peripheral as well as otg dr_mode 2023-05-09 22:50:01 +08:00
boot_mode.c rockchip: boot_mode: fix fastboot command 2021-12-24 15:17:51 +08:00
bootrom.c common: Drop net.h from common header 2020-05-18 17:33:31 -04:00
cpu-info.c Correct SPL use of DISPLAY_CPUINFO 2023-02-09 16:32:26 -05:00
Kconfig rockchip: rk3588: Select DM_RESET and DM_REGULATOR_FIXED in arch Kconfig 2023-05-18 08:44:05 +08:00
Makefile arm: rockchip: Add RK3588 arch core support 2023-02-28 18:07:28 +08:00
misc.c rockchip: misc: fix misc_read() return check 2023-04-21 15:16:01 +08:00
px30-board-tpl.c Remove #include <version.h> from files which do not need it 2021-09-17 12:10:44 -04:00
rk3036-board-spl.c arm: set cntfrq_el0 if CONFIG_COUNTER_FREQUENCY is valid 2022-04-21 15:27:18 -04:00
sdram.c rockchip: sdram: add dram bank with usable memory beyond 4GB 2023-02-28 18:07:26 +08:00
spl-boot-order.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
spl.c arm: set cntfrq_el0 if CONFIG_COUNTER_FREQUENCY is valid 2022-04-21 15:27:18 -04:00
tpl.c rockchip: Enable bootstage on rockpro64 2023-01-18 11:49:13 -07:00
u-boot-tpl-v8.lds linker_lists: Rename sections to remove . prefix 2022-06-23 12:58:18 -04:00