summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Karlman <[email protected]>2024-02-17 00:22:34 +0000
committerKever Yang <[email protected]>2024-03-14 11:40:48 +0800
commit1e21f569304573759b61ca8ee38087c5509ef070 (patch)
treed112f37488a417c9bf42ba0919e8543e8a8d6c5f
parentf652b25feea6cb55548660575e23b1418b7aaa30 (diff)
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 <[email protected]> Reviewed-by: Kever Yang <[email protected]>
-rw-r--r--arch/arm/dts/rk3328-evb-u-boot.dtsi4
-rw-r--r--arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi13
-rw-r--r--arch/arm/dts/rk3328-orangepi-r1-plus-lts-u-boot.dtsi25
-rw-r--r--arch/arm/dts/rk3328-orangepi-r1-plus-u-boot.dtsi25
-rw-r--r--arch/arm/dts/rk3328-roc-cc-u-boot.dtsi17
-rw-r--r--arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi17
-rw-r--r--arch/arm/dts/rk3328-rock64-u-boot.dtsi25
-rw-r--r--arch/arm/dts/rk3328-u-boot.dtsi91
8 files changed, 107 insertions, 110 deletions
diff --git a/arch/arm/dts/rk3328-evb-u-boot.dtsi b/arch/arm/dts/rk3328-evb-u-boot.dtsi
index 12b68df1ac6..38ad3cc16d0 100644
--- a/arch/arm/dts/rk3328-evb-u-boot.dtsi
+++ b/arch/arm/dts/rk3328-evb-u-boot.dtsi
@@ -44,3 +44,7 @@
/* Integrated PHY unsupported by U-Boot */
status = "broken";
};
+
+&vcc_sd {
+ bootph-pre-ram;
+};
diff --git a/arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi b/arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi
index 0a1152e8b52..cca4f06145c 100644
--- a/arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi
+++ b/arch/arm/dts/rk3328-nanopi-r2s-u-boot.dtsi
@@ -7,23 +7,18 @@
#include "rk3328-u-boot.dtsi"
#include "rk3328-sdram-ddr4-666.dtsi"
-&gpio0 {
+&gpio1 {
bootph-pre-ram;
};
-&pinctrl {
- bootph-pre-ram;
-};
-
-&sdmmc0m1_pin {
- bootph-pre-ram;
+&sdio_vcc_pin {
+ bootph-all;
};
-&pcfg_pull_up_4ma {
+&vcc_io_sdio {
bootph-pre-ram;
};
-/* Need this and all the pinctrl/gpio stuff above to set pinmux */
&vcc_sd {
bootph-pre-ram;
};
diff --git a/arch/arm/dts/rk3328-orangepi-r1-plus-lts-u-boot.dtsi b/arch/arm/dts/rk3328-orangepi-r1-plus-lts-u-boot.dtsi
index 8a4189c6f1c..7cdf6913795 100644
--- a/arch/arm/dts/rk3328-orangepi-r1-plus-lts-u-boot.dtsi
+++ b/arch/arm/dts/rk3328-orangepi-r1-plus-lts-u-boot.dtsi
@@ -7,29 +7,16 @@
#include "rk3328-u-boot.dtsi"
#include "rk3328-sdram-lpddr3-666.dtsi"
-&gpio0 {
- bootph-pre-ram;
-};
-
-&pinctrl {
- bootph-pre-ram;
-};
-
-&sdmmc0m1_pin {
+&spi0 {
bootph-pre-ram;
-};
+ bootph-some-ram;
-&pcfg_pull_up_4ma {
- bootph-pre-ram;
+ flash@0 {
+ bootph-pre-ram;
+ bootph-some-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;
- };
-};
diff --git a/arch/arm/dts/rk3328-orangepi-r1-plus-u-boot.dtsi b/arch/arm/dts/rk3328-orangepi-r1-plus-u-boot.dtsi
index 2e3b6a77a26..35baeb2464b 100644
--- a/arch/arm/dts/rk3328-orangepi-r1-plus-u-boot.dtsi
+++ b/arch/arm/dts/rk3328-orangepi-r1-plus-u-boot.dtsi
@@ -7,29 +7,16 @@
#include "rk3328-u-boot.dtsi"
#include "rk3328-sdram-ddr4-666.dtsi"
-&gpio0 {
- bootph-pre-ram;
-};
-
-&pinctrl {
- bootph-pre-ram;
-};
-
-&sdmmc0m1_pin {
+&spi0 {
bootph-pre-ram;
-};
+ bootph-some-ram;
-&pcfg_pull_up_4ma {
- bootph-pre-ram;
+ flash@0 {
+ bootph-pre-ram;
+ bootph-some-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;
- };
-};
diff --git a/arch/arm/dts/rk3328-roc-cc-u-boot.dtsi b/arch/arm/dts/rk3328-roc-cc-u-boot.dtsi
index 8bc2f134f8f..47d74964fd0 100644
--- a/arch/arm/dts/rk3328-roc-cc-u-boot.dtsi
+++ b/arch/arm/dts/rk3328-roc-cc-u-boot.dtsi
@@ -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;
};
diff --git a/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi b/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi
index 1f220c6dcd0..9ed0aef1ecc 100644
--- a/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi
+++ b/arch/arm/dts/rk3328-rock-pi-e-u-boot.dtsi
@@ -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;
};
diff --git a/arch/arm/dts/rk3328-rock64-u-boot.dtsi b/arch/arm/dts/rk3328-rock64-u-boot.dtsi
index bfe506fd224..9de645d8d7a 100644
--- a/arch/arm/dts/rk3328-rock64-u-boot.dtsi
+++ b/arch/arm/dts/rk3328-rock64-u-boot.dtsi
@@ -29,29 +29,16 @@
};
};
-&gpio0 {
- bootph-pre-ram;
-};
-
-&pinctrl {
- bootph-pre-ram;
-};
-
-&sdmmc0m1_pin {
+&spi0 {
bootph-pre-ram;
-};
+ bootph-some-ram;
-&pcfg_pull_up_4ma {
- bootph-pre-ram;
+ flash@0 {
+ bootph-pre-ram;
+ bootph-some-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;
- };
-};
diff --git a/arch/arm/dts/rk3328-u-boot.dtsi b/arch/arm/dts/rk3328-u-boot.dtsi
index a12be7876db..687c16da513 100644
--- a/arch/arm/dts/rk3328-u-boot.dtsi
+++ b/arch/arm/dts/rk3328-u-boot.dtsi
@@ -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;
};
-&uart2 {
+&pcfg_pull_none {
bootph-all;
- clock-frequency = <24000000>;
};
-&emmc {
+&pcfg_pull_none_8ma {
+ bootph-pre-ram;
+};
+
+&pcfg_pull_none_12ma {
+ bootph-pre-ram;
+};
+
+&pcfg_pull_up {
bootph-all;
+};
- /* mmc to sram can't do dma, prevent aborts transfering TF-A parts */
- u-boot,spl-fifo-mode;
+&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-all;
+ bootph-pre-ram;
+ bootph-some-ram;
- /* mmc to sram can't do dma, prevent aborts transfering TF-A parts */
+ /* mmc to sram can't do dma, prevent aborts transferring TF-A parts */
u-boot,spl-fifo-mode;
};
-&usb20_otg {
- hnp-srp-disable;
+&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>;
};
-&spi0 {
+&uart2m1_xfer {
bootph-all;
};
+
+&usb20_otg {
+ hnp-srp-disable;
+};