rockchip: rk3328: Fix loading FIT from SD-card when booting from eMMC

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

  U-Boot SPL 2024.04-rc1 (Feb 05 2024 - 22:18:22 +0000)
  Trying to boot from MMC1
  mmc_load_image_raw_sector: mmc block read error
  Trying to boot from MMC2
  Card did not respond to voltage select! : -110
  spl: mmc init failed with error: -95
  Trying to boot from MMC1
  mmc_load_image_raw_sector: mmc block read error
  SPL: failed to boot from all boot devices
  ### 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.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
Jonas Karlman 2024-02-17 00:22:34 +00:00 committed by Kever Yang
parent f652b25fee
commit 1e21f56930
8 changed files with 117 additions and 120 deletions

View File

@ -44,3 +44,7 @@
/* Integrated PHY unsupported by U-Boot */
status = "broken";
};
&vcc_sd {
bootph-pre-ram;
};

View File

@ -7,23 +7,18 @@
#include "rk3328-u-boot.dtsi"
#include "rk3328-sdram-ddr4-666.dtsi"
&gpio0 {
&gpio1 {
bootph-pre-ram;
};
&pinctrl {
&sdio_vcc_pin {
bootph-all;
};
&vcc_io_sdio {
bootph-pre-ram;
};
&sdmmc0m1_pin {
bootph-pre-ram;
};
&pcfg_pull_up_4ma {
bootph-pre-ram;
};
/* Need this and all the pinctrl/gpio stuff above to set pinmux */
&vcc_sd {
bootph-pre-ram;
};

View File

@ -7,29 +7,16 @@
#include "rk3328-u-boot.dtsi"
#include "rk3328-sdram-lpddr3-666.dtsi"
&gpio0 {
&spi0 {
bootph-pre-ram;
bootph-some-ram;
flash@0 {
bootph-pre-ram;
bootph-some-ram;
};
};
&pinctrl {
bootph-pre-ram;
};
&sdmmc0m1_pin {
bootph-pre-ram;
};
&pcfg_pull_up_4ma {
bootph-pre-ram;
};
/* Need this and all the pinctrl/gpio stuff above to set pinmux */
&vcc_sd {
bootph-pre-ram;
};
&spi0 {
spi_flash: spiflash@0 {
bootph-all;
};
};

View File

@ -7,29 +7,16 @@
#include "rk3328-u-boot.dtsi"
#include "rk3328-sdram-ddr4-666.dtsi"
&gpio0 {
&spi0 {
bootph-pre-ram;
bootph-some-ram;
flash@0 {
bootph-pre-ram;
bootph-some-ram;
};
};
&pinctrl {
bootph-pre-ram;
};
&sdmmc0m1_pin {
bootph-pre-ram;
};
&pcfg_pull_up_4ma {
bootph-pre-ram;
};
/* Need this and all the pinctrl/gpio stuff above to set pinmux */
&vcc_sd {
bootph-pre-ram;
};
&spi0 {
spi_flash: spiflash@0 {
bootph-all;
};
};

View File

@ -29,23 +29,6 @@
};
};
&gpio0 {
bootph-pre-ram;
};
&pinctrl {
bootph-pre-ram;
};
&sdmmc0m1_pin {
bootph-pre-ram;
};
&pcfg_pull_up_4ma {
bootph-pre-ram;
};
/* Need this and all the pinctrl/gpio stuff above to set pinmux */
&vcc_sd {
bootph-pre-ram;
};

View File

@ -29,23 +29,6 @@
};
};
&gpio0 {
bootph-pre-ram;
};
&pinctrl {
bootph-pre-ram;
};
&sdmmc0m1_pin {
bootph-pre-ram;
};
&pcfg_pull_up_4ma {
bootph-pre-ram;
};
/* Need this and all the pinctrl/gpio stuff above to set pinmux */
&vcc_sd {
bootph-pre-ram;
};

View File

@ -29,29 +29,16 @@
};
};
&gpio0 {
&spi0 {
bootph-pre-ram;
bootph-some-ram;
flash@0 {
bootph-pre-ram;
bootph-some-ram;
};
};
&pinctrl {
bootph-pre-ram;
};
&sdmmc0m1_pin {
bootph-pre-ram;
};
&pcfg_pull_up_4ma {
bootph-pre-ram;
};
/* Need this and all the pinctrl/gpio stuff above to set pinmux */
&vcc_sd {
bootph-pre-ram;
};
&spi0 {
spi_flash: flash@0 {
bootph-all;
};
};

View File

@ -38,33 +38,104 @@
bootph-all;
};
&emmc {
bootph-pre-ram;
bootph-some-ram;
/* mmc to sram can't do dma, prevent aborts transferring TF-A parts */
u-boot,spl-fifo-mode;
};
&emmc_bus8 {
bootph-pre-ram;
};
&emmc_clk {
bootph-pre-ram;
};
&emmc_cmd {
bootph-pre-ram;
};
&gpio0 {
bootph-pre-ram;
};
&grf {
bootph-all;
};
&pcfg_pull_none {
bootph-all;
};
&pcfg_pull_none_8ma {
bootph-pre-ram;
};
&pcfg_pull_none_12ma {
bootph-pre-ram;
};
&pcfg_pull_up {
bootph-all;
};
&pcfg_pull_up_4ma {
bootph-pre-ram;
};
&pcfg_pull_up_8ma {
bootph-pre-ram;
};
&pcfg_pull_up_12ma {
bootph-pre-ram;
};
&pinctrl {
bootph-pre-ram;
bootph-some-ram;
};
&sdmmc {
bootph-pre-ram;
bootph-some-ram;
/* mmc to sram can't do dma, prevent aborts transferring TF-A parts */
u-boot,spl-fifo-mode;
};
&sdmmc0_bus4 {
bootph-pre-ram;
};
&sdmmc0_clk {
bootph-pre-ram;
};
&sdmmc0_cmd {
bootph-pre-ram;
};
&sdmmc0_dectn {
bootph-pre-ram;
};
&sdmmc0m1_pin {
bootph-pre-ram;
};
&uart2 {
bootph-all;
clock-frequency = <24000000>;
};
&emmc {
&uart2m1_xfer {
bootph-all;
/* mmc to sram can't do dma, prevent aborts transfering TF-A parts */
u-boot,spl-fifo-mode;
};
&sdmmc {
bootph-all;
/* mmc to sram can't do dma, prevent aborts transfering TF-A parts */
u-boot,spl-fifo-mode;
};
&usb20_otg {
hnp-srp-disable;
};
&spi0 {
bootph-all;
};