u-boot/arch/arm/include/asm/arch-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
..
boot0.h rockchip: boot0: update CONFIG_ROCKCHIP_SPL_RESERVE_IRAM for SPL only 2019-05-08 17:34:12 +08:00
boot_mode.h rockchip: add support for enter to bootrom download mode 2017-11-21 23:57:23 +01:00
bootrom.h rockchip: rk3588-rock-5b: Enable boot from SPI NOR flash 2023-05-19 08:50:44 +08:00
clock.h reset: rockchip: implement rk3588 lookup table 2023-05-17 17:36:18 +08:00
cpu_rk3288.h rockchip: Add rk3288 SoC detection helper 2020-07-22 20:55:13 +08:00
cru.h rockchip: Separate the reset cause from display cpuinfo 2020-07-22 20:55:13 +08:00
cru_px30.h rockchip: px30: support debug uart on UART0 2022-10-19 19:30:48 +08:00
cru_rk322x.h arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
cru_rk3036.h arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
cru_rk3066.h rockchip: rk3066: add clock driver for rk3066 soc 2022-04-18 11:25:13 +08:00
cru_rk3128.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
cru_rk3188.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
cru_rk3288.h rockchip: Add common reset cause 2020-01-30 11:44:01 +08:00
cru_rk3328.h arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
cru_rk3368.h WS cleanup: remove SPACE(s) followed by TAB 2021-09-30 09:08:16 -04:00
cru_rk3399.h arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
cru_rk3568.h clk: rockchip: rk3568: update clks 2021-10-15 20:57:31 +08:00
cru_rk3588.h rockchip: rk3588: Add support for sdmmc clocks in SPL 2023-04-21 15:16:01 +08:00
cru_rv1108.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
cru_rv1126.h arch: rockchip: Add cru header for rv1126 2023-01-16 18:01:11 +08:00
ddr_rk3188.h rockchip: use 'arch-rockchip' as header file path 2019-05-01 00:00:05 +02:00
ddr_rk3288.h global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
ddr_rk3368.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
dram_spec_timing.h ram: rockchip: Add rv1126 ddr driver support 2023-01-16 18:01:10 +08:00
edp_rk3288.h Rockchip: video: edp: Change interrupt polarity configuration 2021-04-10 11:52:43 +02:00
f_rockusb.h WS cleanup: remove trailing empty lines 2021-09-30 08:08:56 -04:00
gpio.h rockchip: Implement spl_gpio in the GPIO driver 2019-02-01 16:59:13 +01:00
grf_px30.h arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
grf_rk322x.h arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
grf_rk3036.h arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
grf_rk3066.h rockchip: rk3066: add grf header file 2022-04-18 11:25:13 +08:00
grf_rk3128.h arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
grf_rk3188.h rockchip: rk3188: add support for usb-uart functionality 2018-11-30 19:03:16 +01:00
grf_rk3288.h rockchip: Move pull-up/down enum into a common file 2019-02-01 16:59:13 +01:00
grf_rk3328.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
grf_rk3368.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
grf_rk3399.h rockchip: pinctrl: rk3399: Add support for UART3. 2019-05-30 18:22:35 +08:00
grf_rk3568.h rockchip: Add rk3568 architecture core 2021-06-18 14:36:24 +08:00
grf_rk3588.h arm: rockchip: Add grf header for rk3588 2023-02-28 18:07:27 +08:00
grf_rv1108.h arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
grf_rv1126.h arm: rockchip: Add grf header for rv1126 2023-01-16 18:01:11 +08:00
hardware.h rockchip: arm: remove no use macro 2019-05-01 00:00:05 +02:00
i2c.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ioc_rk3588.h arm: rockchip: Add ioc header for rk3588 2023-02-28 18:07:28 +08:00
lvds_rk3288.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
misc.h rockpi4: board: Add firmware image information for capsule updates 2022-12-19 10:56:12 +08:00
periph.h rockchip: rk3288: Add i2s pinctrl and clock support 2019-02-01 16:59:10 +01:00
pmu_rk3188.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pmu_rk3288.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pmu_rk3399.h arm: include: rockchip: Add rk3399 pmu file 2019-07-21 00:00:13 +08:00
pwm.h pwm: rk_pwm: Make PWM driver to support all Rockchip Socs 2019-12-06 00:06:23 +08:00
qos_rk3288.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
rockchip_mipi_dsi.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sdram.h rockchip: sdram: add basic support for sdram reg info version 3 2023-02-28 18:07:26 +08:00
sdram_common.h ram: rockchip: Add rv1126 ddr driver support 2023-01-16 18:01:10 +08:00
sdram_msch.h ram: rockchip: Add rv1126 ddr driver support 2023-01-16 18:01:10 +08:00
sdram_pctl_px30.h ram: rockchip: Update ddr pctl regs for px30 2023-01-16 18:01:10 +08:00
sdram_phy_px30.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
sdram_phy_ron_rtt_px30.h ram: rockchip: add phy driver code for PX30 2019-11-17 16:23:56 +08:00
sdram_phy_rv1126.h ram: rockchip: Add rv1126 ddr driver support 2023-01-16 18:01:10 +08:00
sdram_px30.h ram: px30: add sdram driver 2019-11-17 16:23:56 +08:00
sdram_rk322x.h global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
sdram_rk3036.h arm: Don't include common.h in header files 2020-05-18 14:54:24 -04:00
sdram_rk3288.h ram: rockchip: rename sdram.h to sdram_rk3288.h 2019-11-17 16:23:56 +08:00
sdram_rk3328.h ram: rk3328: use common sdram driver 2019-11-17 16:23:56 +08:00
sdram_rk3399.h common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
sdram_rv1126.h ram: rockchip: Add rv1126 ddr driver support 2023-01-16 18:01:10 +08:00
sys_proto.h rockchip: rk3399: move chromebook bob specific flow to its board file 2019-07-29 10:25:27 +08:00
timer.h rockchip: remove rk_timer 2019-07-20 23:59:44 +08:00
uart.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
vop_rk3288.h rockchip: video: vop: Use endpoint compatible string to find VOP mode 2021-04-10 11:51:13 +02:00