]> git.dujemihanovic.xyz Git - u-boot.git/commit
rockchip: rk3308: Fix loading FIT from SD-card when booting from eMMC
authorJonas Karlman <jonas@kwiboo.se>
Mon, 8 Apr 2024 18:14:03 +0000 (18:14 +0000)
committerKever Yang <kever.yang@rock-chips.com>
Fri, 26 Apr 2024 07:47:03 +0000 (15:47 +0800)
commit314992516ff23fcd0159f1c24a5c0416f12b66ac
treed36f323bb40c694d6099584a6aa878cb6737c01e
parenteaea9b48168f4e9be405f64be8fd7afc934525fa
rockchip: rk3308: Fix loading FIT from SD-card when booting from eMMC

When RK3308 boards run SPL from eMMC and fail to load FIT from eMMC due
to it being missing or checksum validation fails there can be a fallback
to read FIT from SD-card. However, without proper pinctrl configuration
reading FIT from SD-card may fail:

  U-Boot SPL 2024.04-rc4 (Mar 16 2024 - 12:36:12 +0000)
  Trying to boot from MMC2
  mmc_load_image_raw_sector: mmc block read error
  Trying to boot from MMC1
  Card did not respond to voltage select! : -110
  mmc_init: -95, time 12
  spl: mmc init failed with error: -95
  Trying to boot from MMC2
  mmc_load_image_raw_sector: mmc block read error
  SPL: failed to boot from all boot devices (err=-6)
  ### ERROR ### Please RESET the board ###

Fix this by tagging related emmc and sdmmc pinctrl nodes with bootph
props. Also sort and move common nodes shared by all boards to the SoC
u-boot.dtsi.

Imply SPL_PINCTRL and SPL_DM_SEQ_ALIAS to apply correct pinconf before
trying to load FIT from a device.

Move u-boot,spl-boot-order to soc u-boot.dtsi and define both sdmmc and
emmc nodes as fallback.

Also fix boot from eMMC (SD NAND) on ROCK Pi S by using correct pinctrl.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
arch/arm/dts/rk3308-evb-u-boot.dtsi
arch/arm/dts/rk3308-roc-cc-u-boot.dtsi
arch/arm/dts/rk3308-rock-pi-s-u-boot.dtsi
arch/arm/dts/rk3308-u-boot.dtsi
arch/arm/mach-rockchip/Kconfig
configs/evb-rk3308_defconfig
configs/roc-cc-rk3308_defconfig
configs/rock-pi-s-rk3308_defconfig