[RESEND PATCH 0/6] arm: dts: k3-am64 / k3-am62: Fix boot

Hi,
(Apologies for resend as I missed the u-boot list the last time. Thanks Vignesh for catching this :) )
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not availble at u-boot proper before relocation.
To fix this we mark all nodes in sk-u-boot.dtsi as 'bootph-all'.
Move cbass_mcu node to -r5-sk.dts as it is only required for R5 SPL.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
In addition to this we also fix some dts warnings related to CPSW nodes in R5 SPL DTBs.
cheers, -roger
Roger Quadros (6): arm: dts: k3-am64-evm: Fix boot arm: dts: k3-am64-evm: Mark dependent nodes for pre-relocation phase arm: dts: k3-am642-sk: Fix boot arm: dts: k3-am642-sk: Mark dependent nodes for pre-relocation phase arm: dts: k3-am625-sk: Fix boot arm: dts: k3-am625-sk: Mark dependent nodes for pre-relocation phase
arch/arm/dts/k3-am625-sk-u-boot.dtsi | 93 ++++++++++++++------- arch/arm/dts/k3-am642-evm-u-boot.dtsi | 104 ++++++++++++++++-------- arch/arm/dts/k3-am642-r5-evm.dts | 16 ++++ arch/arm/dts/k3-am642-r5-sk.dts | 4 + arch/arm/dts/k3-am642-sk-u-boot.dtsi | 112 +++++++++++++++++--------- 5 files changed, 230 insertions(+), 99 deletions(-)
base-commit: 90c81f407dd4a7747385b10f9b8f732202c45cde

Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation.
To fix this we mark all nodes in sk-u-boot.dtsi as 'bootph-all'.
Move vtt_supply and cbass_mcu node to -r5-evm.dts as it is only required for R5 SPL.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
Signed-off-by: Roger Quadros rogerq@kernel.org --- arch/arm/dts/k3-am642-evm-u-boot.dtsi | 56 ++++++++++++--------------- arch/arm/dts/k3-am642-r5-evm.dts | 8 ++++ 2 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/arch/arm/dts/k3-am642-evm-u-boot.dtsi b/arch/arm/dts/k3-am642-evm-u-boot.dtsi index c85f57d40f..d06955dfbc 100644 --- a/arch/arm/dts/k3-am642-evm-u-boot.dtsi +++ b/arch/arm/dts/k3-am642-evm-u-boot.dtsi @@ -11,109 +11,101 @@ };
memory@80000000 { - bootph-pre-ram; + bootph-all; }; };
-&vtt_supply { - bootph-pre-ram; -}; - &cbass_main { - bootph-pre-ram; -}; - -&cbass_mcu { - bootph-pre-ram; + bootph-all; };
&main_timer0 { - bootph-pre-ram; + bootph-all; clock-frequency = <200000000>; };
&main_conf { - bootph-pre-ram; + bootph-all; chipid@14 { - bootph-pre-ram; + bootph-all; }; };
&main_pmx0 { - bootph-pre-ram; + bootph-all; };
&main_i2c0_pins_default { - bootph-pre-ram; + bootph-all; };
&main_i2c0 { - bootph-pre-ram; + bootph-all; };
&main_uart0_pins_default { - bootph-pre-ram; + bootph-all; };
&main_uart0 { - bootph-pre-ram; + bootph-all; };
&usb0 { dr_mode="peripheral"; - bootph-pre-ram; + bootph-all; };
&usbss0 { - bootph-pre-ram; + bootph-all; };
&main_mmc1_pins_default { - bootph-pre-ram; + bootph-all; };
&main_usb0_pins_default { - bootph-pre-ram; + bootph-all; };
&dmss { - bootph-pre-ram; + bootph-all; };
&secure_proxy_main { - bootph-pre-ram; + bootph-all; };
&dmsc { - bootph-pre-ram; + bootph-all; k3_sysreset: sysreset-controller { compatible = "ti,sci-sysreset"; - bootph-pre-ram; + bootph-all; }; };
&k3_pds { - bootph-pre-ram; + bootph-all; };
&k3_clks { - bootph-pre-ram; + bootph-all; };
&k3_reset { - bootph-pre-ram; + bootph-all; };
&sdhci0 { - bootph-pre-ram; + bootph-all; };
&sdhci1 { - bootph-pre-ram; + bootph-all; };
&cpsw3g { - bootph-pre-ram; + bootph-all; };
&cpsw_port2 { diff --git a/arch/arm/dts/k3-am642-r5-evm.dts b/arch/arm/dts/k3-am642-r5-evm.dts index 73461f8f6c..696735d8e2 100644 --- a/arch/arm/dts/k3-am642-r5-evm.dts +++ b/arch/arm/dts/k3-am642-r5-evm.dts @@ -40,6 +40,10 @@ }; };
+&vtt_supply { + bootph-pre-ram; +}; + &cbass_main { sysctrler: sysctrler { compatible = "ti,am654-system-controller"; @@ -53,6 +57,10 @@ bootph-pre-ram; };
+&cbass_mcu { + bootph-pre-ram; +}; + &mcu_esm { bootph-pre-ram; };

On 16:46-20230929, Roger Quadros wrote:
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation.
To fix this we mark all nodes in sk-u-boot.dtsi as 'bootph-all'.
Move vtt_supply and cbass_mcu node to -r5-evm.dts as it is only required for R5 SPL.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
Signed-off-by: Roger Quadros rogerq@kernel.org
arch/arm/dts/k3-am642-evm-u-boot.dtsi | 56 ++++++++++++--------------- arch/arm/dts/k3-am642-r5-evm.dts | 8 ++++ 2 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/arch/arm/dts/k3-am642-evm-u-boot.dtsi b/arch/arm/dts/k3-am642-evm-u-boot.dtsi index c85f57d40f..d06955dfbc 100644 --- a/arch/arm/dts/k3-am642-evm-u-boot.dtsi +++ b/arch/arm/dts/k3-am642-evm-u-boot.dtsi @@ -11,109 +11,101 @@ };
memory@80000000 {
bootph-pre-ram;
};bootph-all;
};
-&vtt_supply {
- bootph-pre-ram;
-};
&cbass_main {
- bootph-pre-ram;
-};
-&cbass_mcu {
- bootph-pre-ram;
- bootph-all;
};
&main_timer0 {
- bootph-pre-ram;
- bootph-all; clock-frequency = <200000000>;
};
&main_conf {
- bootph-pre-ram;
- bootph-all; chipid@14 {
bootph-pre-ram;
};bootph-all;
};
&main_pmx0 {
- bootph-pre-ram;
- bootph-all;
};
&main_i2c0_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&main_i2c0 {
- bootph-pre-ram;
- bootph-all;
};
&main_uart0_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&main_uart0 {
- bootph-pre-ram;
- bootph-all;
};
&usb0 { dr_mode="peripheral";
- bootph-pre-ram;
- bootph-all;
};
&usbss0 {
- bootph-pre-ram;
- bootph-all;
};
&main_mmc1_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&main_usb0_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&dmss {
- bootph-pre-ram;
- bootph-all;
};
&secure_proxy_main {
- bootph-pre-ram;
- bootph-all;
};
&dmsc {
- bootph-pre-ram;
- bootph-all; k3_sysreset: sysreset-controller { compatible = "ti,sci-sysreset";
bootph-pre-ram;
};bootph-all;
};
&k3_pds {
- bootph-pre-ram;
- bootph-all;
};
&k3_clks {
- bootph-pre-ram;
- bootph-all;
};
&k3_reset {
- bootph-pre-ram;
- bootph-all;
};
&sdhci0 {
- bootph-pre-ram;
- bootph-all;
};
&sdhci1 {
- bootph-pre-ram;
- bootph-all;
};
&cpsw3g {
- bootph-pre-ram;
- bootph-all;
};
&cpsw_port2 { diff --git a/arch/arm/dts/k3-am642-r5-evm.dts b/arch/arm/dts/k3-am642-r5-evm.dts index 73461f8f6c..696735d8e2 100644 --- a/arch/arm/dts/k3-am642-r5-evm.dts +++ b/arch/arm/dts/k3-am642-r5-evm.dts @@ -40,6 +40,10 @@ }; };
+&vtt_supply {
- bootph-pre-ram;
+};
&cbass_main { sysctrler: sysctrler { compatible = "ti,am654-system-controller"; @@ -53,6 +57,10 @@ bootph-pre-ram; };
+&cbass_mcu {
- bootph-pre-ram;
+};
A bit superfluous, but ok - we just need this atm for esm.
&mcu_esm { bootph-pre-ram; }; -- 2.34.1
Reviewed-by: Nishanth Menon nm@ti.com

Nishanth,
On 02/10/2023 18:19, Nishanth Menon wrote:
On 16:46-20230929, Roger Quadros wrote:
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation.
To fix this we mark all nodes in sk-u-boot.dtsi as 'bootph-all'.
Move vtt_supply and cbass_mcu node to -r5-evm.dts as it is only required for R5 SPL.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
Signed-off-by: Roger Quadros rogerq@kernel.org
arch/arm/dts/k3-am642-evm-u-boot.dtsi | 56 ++++++++++++--------------- arch/arm/dts/k3-am642-r5-evm.dts | 8 ++++ 2 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/arch/arm/dts/k3-am642-evm-u-boot.dtsi b/arch/arm/dts/k3-am642-evm-u-boot.dtsi index c85f57d40f..d06955dfbc 100644 --- a/arch/arm/dts/k3-am642-evm-u-boot.dtsi +++ b/arch/arm/dts/k3-am642-evm-u-boot.dtsi @@ -11,109 +11,101 @@ };
memory@80000000 {
bootph-pre-ram;
};bootph-all;
};
-&vtt_supply {
- bootph-pre-ram;
-};
&cbass_main {
- bootph-pre-ram;
-};
-&cbass_mcu {
- bootph-pre-ram;
- bootph-all;
};
&main_timer0 {
- bootph-pre-ram;
- bootph-all; clock-frequency = <200000000>;
};
&main_conf {
- bootph-pre-ram;
- bootph-all; chipid@14 {
bootph-pre-ram;
};bootph-all;
};
&main_pmx0 {
- bootph-pre-ram;
- bootph-all;
};
&main_i2c0_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&main_i2c0 {
- bootph-pre-ram;
- bootph-all;
};
&main_uart0_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&main_uart0 {
- bootph-pre-ram;
- bootph-all;
};
&usb0 { dr_mode="peripheral";
- bootph-pre-ram;
- bootph-all;
};
&usbss0 {
- bootph-pre-ram;
- bootph-all;
};
&main_mmc1_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&main_usb0_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&dmss {
- bootph-pre-ram;
- bootph-all;
};
&secure_proxy_main {
- bootph-pre-ram;
- bootph-all;
};
&dmsc {
- bootph-pre-ram;
- bootph-all; k3_sysreset: sysreset-controller { compatible = "ti,sci-sysreset";
bootph-pre-ram;
};bootph-all;
};
&k3_pds {
- bootph-pre-ram;
- bootph-all;
};
&k3_clks {
- bootph-pre-ram;
- bootph-all;
};
&k3_reset {
- bootph-pre-ram;
- bootph-all;
};
&sdhci0 {
- bootph-pre-ram;
- bootph-all;
};
&sdhci1 {
- bootph-pre-ram;
- bootph-all;
};
&cpsw3g {
- bootph-pre-ram;
- bootph-all;
};
&cpsw_port2 { diff --git a/arch/arm/dts/k3-am642-r5-evm.dts b/arch/arm/dts/k3-am642-r5-evm.dts index 73461f8f6c..696735d8e2 100644 --- a/arch/arm/dts/k3-am642-r5-evm.dts +++ b/arch/arm/dts/k3-am642-r5-evm.dts @@ -40,6 +40,10 @@ }; };
+&vtt_supply {
- bootph-pre-ram;
+};
&cbass_main { sysctrler: sysctrler { compatible = "ti,am654-system-controller"; @@ -53,6 +57,10 @@ bootph-pre-ram; };
+&cbass_mcu {
- bootph-pre-ram;
+};
A bit superfluous, but ok - we just need this atm for esm.
Just moved it from -uboot.dtsi to -r5-evm.dts.
&mcu_esm { bootph-pre-ram; }; -- 2.34.1
Reviewed-by: Nishanth Menon nm@ti.com
Please see suggestion by Massimo here https://lore.kernel.org/all/CAC928HY2rZoz6L8za+L20GAsbJCBYOe+k75L_N3aE-78smn...
Do you agree we should change this series to use bootph-some-ram instead?

On 19:14-20231002, Roger Quadros wrote: [...]
Please see suggestion by Massimo here https://lore.kernel.org/all/CAC928HY2rZoz6L8za+L20GAsbJCBYOe+k75L_N3aE-78smn...
Do you agree we should change this series to use bootph-some-ram instead?
Actually I dont like usage of bootph-some-ram as a hack. We dont have any DDR in the initial stages of R5 SPL. I'd rather stick with bootph-all and pre-ram which is accurate for the staged boot sequence we are following.
Further, boot-ph-all and pre-ram is already the direction we are moving in kernel dts to make syncs easier in the future. unless there is a strong reasoning on an alternate rationale, i'd rather not mess with the flow in play already.
Personally though, I am miffed at a breaking change of this form :(

On Fri, Sep 29, 2023 at 04:46:41PM +0300, Roger Quadros wrote:
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation.
To fix this we mark all nodes in sk-u-boot.dtsi as 'bootph-all'.
Move vtt_supply and cbass_mcu node to -r5-evm.dts as it is only required for R5 SPL.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
Signed-off-by: Roger Quadros rogerq@kernel.org Reviewed-by: Nishanth Menon nm@ti.com
For the series, applied to u-boot/master, thanks!

CPSW node needs PHY, MDIO, pinmux, DMA and INTC nodes. USB and MMC nodes need pinmux.
Mark them as 'bootph-all' so they are available in all pre-relocation phases.
Fixes below dts warning:
<stdout>: Warning (dmas_property): /bus@f4000/ethernet@8000000:dmas: Could not get phandle node for (cell 0)
Signed-off-by: Roger Quadros rogerq@kernel.org --- arch/arm/dts/k3-am642-evm-u-boot.dtsi | 48 +++++++++++++++++++++++++++ arch/arm/dts/k3-am642-r5-evm.dts | 8 +++++ 2 files changed, 56 insertions(+)
diff --git a/arch/arm/dts/k3-am642-evm-u-boot.dtsi b/arch/arm/dts/k3-am642-evm-u-boot.dtsi index d06955dfbc..953bbe9aaf 100644 --- a/arch/arm/dts/k3-am642-evm-u-boot.dtsi +++ b/arch/arm/dts/k3-am642-evm-u-boot.dtsi @@ -51,6 +51,10 @@ bootph-all; };
+&main_usb0_pins_default { + bootph-all; +}; + &usb0 { dr_mode="peripheral"; bootph-all; @@ -100,12 +104,56 @@ bootph-all; };
+&main_mmc1_pins_default { + bootph-all; +}; + &sdhci1 { bootph-all; };
+&inta_main_dmss { + bootph-all; +}; + +&main_pktdma { + bootph-all; +}; + +&mdio1_pins_default { + bootph-all; +}; + +&cpsw3g_mdio { + bootph-all; +}; + +&cpsw3g_phy0 { + bootph-all; +}; + +&rgmii1_pins_default { + bootph-all; +}; + +&rgmii2_pins_default { + bootph-all; +}; + &cpsw3g { bootph-all; + + ethernet-ports { + bootph-all; + }; +}; + +&phy_gmii_sel { + bootph-all; +}; + +&cpsw_port1 { + bootph-all; };
&cpsw_port2 { diff --git a/arch/arm/dts/k3-am642-r5-evm.dts b/arch/arm/dts/k3-am642-r5-evm.dts index 696735d8e2..64b3c3af63 100644 --- a/arch/arm/dts/k3-am642-r5-evm.dts +++ b/arch/arm/dts/k3-am642-r5-evm.dts @@ -74,6 +74,14 @@ ti,secure-host; };
+&vtt_supply { + bootph-pre-ram; +}; + +&memorycontroller { + vtt-supply = <&vtt_supply>; +}; + &sdhci0 { clocks = <&clk_200mhz>; clock-names = "clk_xin";

On 16:46-20230929, Roger Quadros wrote:
CPSW node needs PHY, MDIO, pinmux, DMA and INTC nodes. USB and MMC nodes need pinmux.
Mark them as 'bootph-all' so they are available in all pre-relocation phases.
Fixes below dts warning:
<stdout>: Warning (dmas_property): /bus@f4000/ethernet@8000000:dmas: Could not get phandle node for (cell 0)
Signed-off-by: Roger Quadros rogerq@kernel.org
arch/arm/dts/k3-am642-evm-u-boot.dtsi | 48 +++++++++++++++++++++++++++ arch/arm/dts/k3-am642-r5-evm.dts | 8 +++++ 2 files changed, 56 insertions(+)
diff --git a/arch/arm/dts/k3-am642-evm-u-boot.dtsi b/arch/arm/dts/k3-am642-evm-u-boot.dtsi index d06955dfbc..953bbe9aaf 100644 --- a/arch/arm/dts/k3-am642-evm-u-boot.dtsi +++ b/arch/arm/dts/k3-am642-evm-u-boot.dtsi @@ -51,6 +51,10 @@ bootph-all; };
+&main_usb0_pins_default {
- bootph-all;
+};
&usb0 { dr_mode="peripheral"; bootph-all; @@ -100,12 +104,56 @@ bootph-all; };
+&main_mmc1_pins_default {
- bootph-all;
+};
&sdhci1 { bootph-all; };
+&inta_main_dmss {
- bootph-all;
+};
+&main_pktdma {
- bootph-all;
+};
+&mdio1_pins_default {
- bootph-all;
+};
+&cpsw3g_mdio {
- bootph-all;
+};
+&cpsw3g_phy0 {
- bootph-all;
+};
+&rgmii1_pins_default {
- bootph-all;
+};
+&rgmii2_pins_default {
- bootph-all;
+};
&cpsw3g { bootph-all;
- ethernet-ports {
bootph-all;
- };
+};
+&phy_gmii_sel {
- bootph-all;
+};
+&cpsw_port1 {
- bootph-all;
};
&cpsw_port2 { diff --git a/arch/arm/dts/k3-am642-r5-evm.dts b/arch/arm/dts/k3-am642-r5-evm.dts index 696735d8e2..64b3c3af63 100644 --- a/arch/arm/dts/k3-am642-r5-evm.dts +++ b/arch/arm/dts/k3-am642-r5-evm.dts @@ -74,6 +74,14 @@ ti,secure-host; };
+&vtt_supply {
- bootph-pre-ram;
+};
+&memorycontroller {
- vtt-supply = <&vtt_supply>;
+};
&sdhci0 { clocks = <&clk_200mhz>; clock-names = "clk_xin"; -- 2.34.1
Reviewed-by: Nishanth Menon nm@ti.com

Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation.
To fix this we mark all nodes in sk-u-boot.dtsi as 'bootph-all'.
Move cbass_mcu node to -r5-sk.dts as it is only required for R5 SPL.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
Signed-off-by: Roger Quadros rogerq@kernel.org --- arch/arm/dts/k3-am642-r5-sk.dts | 4 ++ arch/arm/dts/k3-am642-sk-u-boot.dtsi | 76 +++++++++++++--------------- 2 files changed, 40 insertions(+), 40 deletions(-)
diff --git a/arch/arm/dts/k3-am642-r5-sk.dts b/arch/arm/dts/k3-am642-r5-sk.dts index def4622ff1..daa483a781 100644 --- a/arch/arm/dts/k3-am642-r5-sk.dts +++ b/arch/arm/dts/k3-am642-r5-sk.dts @@ -53,6 +53,10 @@ bootph-pre-ram; };
+&cbass_mcu { + bootph-pre-ram; +}; + &mcu_esm { bootph-pre-ram; }; diff --git a/arch/arm/dts/k3-am642-sk-u-boot.dtsi b/arch/arm/dts/k3-am642-sk-u-boot.dtsi index c277ef8aba..5599977f6c 100644 --- a/arch/arm/dts/k3-am642-sk-u-boot.dtsi +++ b/arch/arm/dts/k3-am642-sk-u-boot.dtsi @@ -11,129 +11,125 @@ };
memory@80000000 { - bootph-pre-ram; + bootph-all; }; };
&cbass_main{ - bootph-pre-ram; -}; - -&cbass_mcu { - bootph-pre-ram; + bootph-all; };
&main_timer0 { - bootph-pre-ram; + bootph-all; clock-frequency = <200000000>; };
&main_conf { - bootph-pre-ram; + bootph-all; chipid@14 { - bootph-pre-ram; + bootph-all; }; };
&main_pmx0 { - bootph-pre-ram; + bootph-all; };
&main_i2c0_pins_default { - bootph-pre-ram; + bootph-all; };
&main_i2c0 { - bootph-pre-ram; + bootph-all; };
&main_uart0_pins_default { - bootph-pre-ram; + bootph-all; };
&main_uart0 { - bootph-pre-ram; + bootph-all; };
&dmss { - bootph-pre-ram; + bootph-all; };
&secure_proxy_main { - bootph-pre-ram; + bootph-all; };
&dmsc { - bootph-pre-ram; + bootph-all; k3_sysreset: sysreset-controller { compatible = "ti,sci-sysreset"; - bootph-pre-ram; + bootph-all; }; };
&k3_pds { - bootph-pre-ram; + bootph-all; };
&k3_clks { - bootph-pre-ram; + bootph-all; };
&k3_reset { - bootph-pre-ram; + bootph-all; };
&sdhci0 { status = "disabled"; - bootph-pre-ram; + bootph-all; };
&sdhci1 { - bootph-pre-ram; + bootph-all; };
&main_mmc1_pins_default { - bootph-pre-ram; + bootph-all; };
&cpsw3g { - bootph-pre-ram; + bootph-all;
ethernet-ports { - bootph-pre-ram; + bootph-all; }; };
&cpsw_port2 { - bootph-pre-ram; + bootph-all; };
&main_bcdma { - bootph-pre-ram; + bootph-all; };
&main_pktdma { - bootph-pre-ram; + bootph-all; };
&rgmii1_pins_default { - bootph-pre-ram; + bootph-all; };
&rgmii2_pins_default { - bootph-pre-ram; + bootph-all; };
&mdio1_pins_default { - bootph-pre-ram; + bootph-all; };
&cpsw3g_phy1 { - bootph-pre-ram; + bootph-all; };
&main_usb0_pins_default { - bootph-pre-ram; + bootph-all; };
&serdes_ln_ctrl { @@ -141,25 +137,25 @@ };
&usbss0 { - bootph-pre-ram; + bootph-all; };
&usb0 { - bootph-pre-ram; + bootph-all; };
&serdes_wiz0 { - bootph-pre-ram; + bootph-all; };
&serdes0_usb_link { - bootph-pre-ram; + bootph-all; };
&serdes0 { - bootph-pre-ram; + bootph-all; };
&serdes_refclk { - bootph-pre-ram; + bootph-all; };

On 16:46-20230929, Roger Quadros wrote:
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation.
To fix this we mark all nodes in sk-u-boot.dtsi as 'bootph-all'.
Move cbass_mcu node to -r5-sk.dts as it is only required for R5 SPL.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
Signed-off-by: Roger Quadros rogerq@kernel.org
arch/arm/dts/k3-am642-r5-sk.dts | 4 ++ arch/arm/dts/k3-am642-sk-u-boot.dtsi | 76 +++++++++++++--------------- 2 files changed, 40 insertions(+), 40 deletions(-)
diff --git a/arch/arm/dts/k3-am642-r5-sk.dts b/arch/arm/dts/k3-am642-r5-sk.dts index def4622ff1..daa483a781 100644 --- a/arch/arm/dts/k3-am642-r5-sk.dts +++ b/arch/arm/dts/k3-am642-r5-sk.dts @@ -53,6 +53,10 @@ bootph-pre-ram; };
+&cbass_mcu {
- bootph-pre-ram;
+};
&mcu_esm { bootph-pre-ram; }; diff --git a/arch/arm/dts/k3-am642-sk-u-boot.dtsi b/arch/arm/dts/k3-am642-sk-u-boot.dtsi index c277ef8aba..5599977f6c 100644 --- a/arch/arm/dts/k3-am642-sk-u-boot.dtsi +++ b/arch/arm/dts/k3-am642-sk-u-boot.dtsi @@ -11,129 +11,125 @@ };
memory@80000000 {
bootph-pre-ram;
};bootph-all;
};
&cbass_main{
- bootph-pre-ram;
-};
-&cbass_mcu {
- bootph-pre-ram;
- bootph-all;
};
&main_timer0 {
- bootph-pre-ram;
- bootph-all; clock-frequency = <200000000>;
};
&main_conf {
- bootph-pre-ram;
- bootph-all; chipid@14 {
bootph-pre-ram;
};bootph-all;
};
&main_pmx0 {
- bootph-pre-ram;
- bootph-all;
};
&main_i2c0_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&main_i2c0 {
- bootph-pre-ram;
- bootph-all;
};
&main_uart0_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&main_uart0 {
- bootph-pre-ram;
- bootph-all;
};
&dmss {
- bootph-pre-ram;
- bootph-all;
};
&secure_proxy_main {
- bootph-pre-ram;
- bootph-all;
};
&dmsc {
- bootph-pre-ram;
- bootph-all; k3_sysreset: sysreset-controller { compatible = "ti,sci-sysreset";
bootph-pre-ram;
};bootph-all;
};
&k3_pds {
- bootph-pre-ram;
- bootph-all;
};
&k3_clks {
- bootph-pre-ram;
- bootph-all;
};
&k3_reset {
- bootph-pre-ram;
- bootph-all;
};
&sdhci0 { status = "disabled";
- bootph-pre-ram;
- bootph-all;
};
&sdhci1 {
- bootph-pre-ram;
- bootph-all;
};
&main_mmc1_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&cpsw3g {
- bootph-pre-ram;
bootph-all;
ethernet-ports {
bootph-pre-ram;
};bootph-all;
};
&cpsw_port2 {
- bootph-pre-ram;
- bootph-all;
};
&main_bcdma {
- bootph-pre-ram;
- bootph-all;
};
&main_pktdma {
- bootph-pre-ram;
- bootph-all;
};
&rgmii1_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&rgmii2_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&mdio1_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&cpsw3g_phy1 {
- bootph-pre-ram;
- bootph-all;
};
&main_usb0_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&serdes_ln_ctrl { @@ -141,25 +137,25 @@ };
&usbss0 {
- bootph-pre-ram;
- bootph-all;
};
&usb0 {
- bootph-pre-ram;
- bootph-all;
};
&serdes_wiz0 {
- bootph-pre-ram;
- bootph-all;
};
&serdes0_usb_link {
- bootph-pre-ram;
- bootph-all;
};
&serdes0 {
- bootph-pre-ram;
- bootph-all;
};
&serdes_refclk {
- bootph-pre-ram;
- bootph-all;
};
2.34.1
Reviewed-by: Nishanth Menon nm@ti.com

CPSW node needs PHY, MDIO, pinmux, DMA and INTC nodes. Mark them as 'bootph-all' so they are available in all pre-relocation phases.
Fixes below dts warnings:
<stdout>: Warning (reg_format): /bus@f4000/ethernet@8000000/mdio@f00/ethernet-phy@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1) <stdout>: Warning (unit_address_vs_reg): /bus@f4000/ethernet@8000000/mdio@f00: node has a unit name, but no reg or ranges property <stdout>: Warning (pci_device_reg): Failed prerequisite 'reg_format' <stdout>: Warning (pci_device_bus_num): Failed prerequisite 'reg_format' <stdout>: Warning (simple_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (i2c_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (spi_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (avoid_default_addr_size): /bus@f4000/ethernet@8000000/mdio@f00/ethernet-phy@1: Relying on default #address-cells value <stdout>: Warning (avoid_default_addr_size): /bus@f4000/ethernet@8000000/mdio@f00/ethernet-phy@1: Relying on default #size-cells value <stdout>: Warning (avoid_unnecessary_addr_size): Failed prerequisite 'avoid_default_addr_size' <stdout>: Warning (unique_unit_address): Failed prerequisite 'avoid_default_addr_size' <stdout>: Warning (msi_parent_property): /bus@f4000/bus@48000000/dma-controller@485c0100:msi-parent: Could not get phandle node for (cell 0) <stdout>: Warning (msi_parent_property): /bus@f4000/bus@48000000/dma-controller@485c0000:msi-parent: Could not get phandle node for (cell 0) <stdout>: Warning (phys_property): /bus@f4000/ethernet@8000000/ethernet-ports/port@2:phys: Could not get phandle node for (cell 0)
Signed-off-by: Roger Quadros rogerq@kernel.org --- arch/arm/dts/k3-am642-sk-u-boot.dtsi | 36 ++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+)
diff --git a/arch/arm/dts/k3-am642-sk-u-boot.dtsi b/arch/arm/dts/k3-am642-sk-u-boot.dtsi index 5599977f6c..40a53df0b0 100644 --- a/arch/arm/dts/k3-am642-sk-u-boot.dtsi +++ b/arch/arm/dts/k3-am642-sk-u-boot.dtsi @@ -92,6 +92,38 @@ bootph-all; };
+&inta_main_dmss { + bootph-all; +}; + +&main_pktdma { + bootph-all; +}; + +&mdio1_pins_default { + bootph-all; +}; + +&cpsw3g_mdio { + bootph-all; +}; + +&cpsw3g_phy0 { + bootph-all; +}; + +&cpsw3g_phy1 { + bootph-all; +}; + +&rgmii1_pins_default { + bootph-all; +}; + +&rgmii2_pins_default { + bootph-all; +}; + &cpsw3g { bootph-all;
@@ -100,6 +132,10 @@ }; };
+&phy_gmii_sel { + bootph-all; +}; + &cpsw_port2 { bootph-all; };

On 16:46-20230929, Roger Quadros wrote:
CPSW node needs PHY, MDIO, pinmux, DMA and INTC nodes. Mark them as 'bootph-all' so they are available in all pre-relocation phases.
Fixes below dts warnings:
<stdout>: Warning (reg_format): /bus@f4000/ethernet@8000000/mdio@f00/ethernet-phy@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1) <stdout>: Warning (unit_address_vs_reg): /bus@f4000/ethernet@8000000/mdio@f00: node has a unit name, but no reg or ranges property <stdout>: Warning (pci_device_reg): Failed prerequisite 'reg_format' <stdout>: Warning (pci_device_bus_num): Failed prerequisite 'reg_format' <stdout>: Warning (simple_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (i2c_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (spi_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (avoid_default_addr_size): /bus@f4000/ethernet@8000000/mdio@f00/ethernet-phy@1: Relying on default #address-cells value <stdout>: Warning (avoid_default_addr_size): /bus@f4000/ethernet@8000000/mdio@f00/ethernet-phy@1: Relying on default #size-cells value <stdout>: Warning (avoid_unnecessary_addr_size): Failed prerequisite 'avoid_default_addr_size' <stdout>: Warning (unique_unit_address): Failed prerequisite 'avoid_default_addr_size' <stdout>: Warning (msi_parent_property): /bus@f4000/bus@48000000/dma-controller@485c0100:msi-parent: Could not get phandle node for (cell 0) <stdout>: Warning (msi_parent_property): /bus@f4000/bus@48000000/dma-controller@485c0000:msi-parent: Could not get phandle node for (cell 0) <stdout>: Warning (phys_property): /bus@f4000/ethernet@8000000/ethernet-ports/port@2:phys: Could not get phandle node for (cell 0)
Signed-off-by: Roger Quadros rogerq@kernel.org
arch/arm/dts/k3-am642-sk-u-boot.dtsi | 36 ++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+)
diff --git a/arch/arm/dts/k3-am642-sk-u-boot.dtsi b/arch/arm/dts/k3-am642-sk-u-boot.dtsi index 5599977f6c..40a53df0b0 100644 --- a/arch/arm/dts/k3-am642-sk-u-boot.dtsi +++ b/arch/arm/dts/k3-am642-sk-u-boot.dtsi @@ -92,6 +92,38 @@ bootph-all; };
+&inta_main_dmss {
- bootph-all;
+};
+&main_pktdma {
- bootph-all;
+};
+&mdio1_pins_default {
- bootph-all;
+};
+&cpsw3g_mdio {
- bootph-all;
+};
+&cpsw3g_phy0 {
- bootph-all;
+};
+&cpsw3g_phy1 {
- bootph-all;
+};
+&rgmii1_pins_default {
- bootph-all;
+};
+&rgmii2_pins_default {
- bootph-all;
+};
&cpsw3g { bootph-all;
@@ -100,6 +132,10 @@ }; };
+&phy_gmii_sel {
- bootph-all;
+};
&cpsw_port2 { bootph-all; }; -- 2.34.1
Reviewed-by: Nishanth Menon nm@ti.com

Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation.
To fix this we mark all nodes in sk-u-boot.dtsi as 'bootph-all'.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
Signed-off-by: Roger Quadros rogerq@kernel.org --- arch/arm/dts/k3-am625-sk-u-boot.dtsi | 54 ++++++++++++++-------------- 1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/arch/arm/dts/k3-am625-sk-u-boot.dtsi b/arch/arm/dts/k3-am625-sk-u-boot.dtsi index c1685bc9ca..c658506256 100644 --- a/arch/arm/dts/k3-am625-sk-u-boot.dtsi +++ b/arch/arm/dts/k3-am625-sk-u-boot.dtsi @@ -17,113 +17,113 @@ };
memory@80000000 { - bootph-pre-ram; + bootph-all; }; };
&cbass_main { - bootph-pre-ram; + bootph-all; };
&main_timer0 { clock-frequency = <25000000>; - bootph-pre-ram; + bootph-all; };
&dmss { - bootph-pre-ram; + bootph-all; };
&secure_proxy_main { - bootph-pre-ram; + bootph-all; };
&dmsc { - bootph-pre-ram; + bootph-all; };
&k3_pds { - bootph-pre-ram; + bootph-all; };
&k3_clks { - bootph-pre-ram; + bootph-all; };
&k3_reset { - bootph-pre-ram; + bootph-all; };
&wkup_conf { - bootph-pre-ram; + bootph-all; };
&chipid { - bootph-pre-ram; + bootph-all; };
&main_pmx0 { - bootph-pre-ram; + bootph-all; };
&main_uart0 { - bootph-pre-ram; + bootph-all; };
&main_uart0_pins_default { - bootph-pre-ram; + bootph-all; };
&cbass_mcu { - bootph-pre-ram; + bootph-all; };
&cbass_wakeup { - bootph-pre-ram; + bootph-all; };
&mcu_pmx0 { - bootph-pre-ram; + bootph-all; };
&sdhci1 { - bootph-pre-ram; + bootph-all; };
&main_mmc1_pins_default { - bootph-pre-ram; + bootph-all; };
&fss { - bootph-pre-ram; + bootph-all; };
&ospi0_pins_default { - bootph-pre-ram; + bootph-all; };
&ospi0 { - bootph-pre-ram; + bootph-all;
flash@0 { - bootph-pre-ram; + bootph-all;
partitions { - bootph-pre-ram; + bootph-all;
partition@3fc0000 { - bootph-pre-ram; + bootph-all; }; }; }; };
&cpsw3g { - bootph-pre-ram; + bootph-all; };
&cpsw_port1 { - bootph-pre-ram; + bootph-all; };
&cpsw_port2 {

On 16:46-20230929, Roger Quadros wrote:
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation.
To fix this we mark all nodes in sk-u-boot.dtsi as 'bootph-all'.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
Signed-off-by: Roger Quadros rogerq@kernel.org
arch/arm/dts/k3-am625-sk-u-boot.dtsi | 54 ++++++++++++++-------------- 1 file changed, 27 insertions(+), 27 deletions(-)
diff --git a/arch/arm/dts/k3-am625-sk-u-boot.dtsi b/arch/arm/dts/k3-am625-sk-u-boot.dtsi index c1685bc9ca..c658506256 100644 --- a/arch/arm/dts/k3-am625-sk-u-boot.dtsi +++ b/arch/arm/dts/k3-am625-sk-u-boot.dtsi @@ -17,113 +17,113 @@ };
memory@80000000 {
bootph-pre-ram;
};bootph-all;
};
&cbass_main {
- bootph-pre-ram;
- bootph-all;
};
&main_timer0 { clock-frequency = <25000000>;
- bootph-pre-ram;
- bootph-all;
};
&dmss {
- bootph-pre-ram;
- bootph-all;
};
&secure_proxy_main {
- bootph-pre-ram;
- bootph-all;
};
&dmsc {
- bootph-pre-ram;
- bootph-all;
};
&k3_pds {
- bootph-pre-ram;
- bootph-all;
};
&k3_clks {
- bootph-pre-ram;
- bootph-all;
};
&k3_reset {
- bootph-pre-ram;
- bootph-all;
};
&wkup_conf {
- bootph-pre-ram;
- bootph-all;
};
&chipid {
- bootph-pre-ram;
- bootph-all;
};
&main_pmx0 {
- bootph-pre-ram;
- bootph-all;
};
&main_uart0 {
- bootph-pre-ram;
- bootph-all;
};
&main_uart0_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&cbass_mcu {
- bootph-pre-ram;
- bootph-all;
};
&cbass_wakeup {
- bootph-pre-ram;
- bootph-all;
};
&mcu_pmx0 {
- bootph-pre-ram;
- bootph-all;
};
&sdhci1 {
- bootph-pre-ram;
- bootph-all;
};
&main_mmc1_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&fss {
- bootph-pre-ram;
- bootph-all;
};
&ospi0_pins_default {
- bootph-pre-ram;
- bootph-all;
};
&ospi0 {
- bootph-pre-ram;
bootph-all;
flash@0 {
bootph-pre-ram;
bootph-all;
partitions {
bootph-pre-ram;
bootph-all; partition@3fc0000 {
bootph-pre-ram;
}; };bootph-all; };
};
&cpsw3g {
- bootph-pre-ram;
- bootph-all;
};
&cpsw_port1 {
- bootph-pre-ram;
- bootph-all;
};
&cpsw_port2 {
2.34.1
Reviewed-by: Nishanth Menon nm@ti.com

CPSW node needs PHY, MDIO, pinmux, DMA and INTC nodes. main_conf is required for phy_gmii_sel. Mark them as 'bootph-all' so they are available in all pre-relocation phases.
Fixes the below dts warnings:
<stdout>: Warning (reg_format): /bus@f0000/syscon@100000/phy@4044:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1) <stdout>: Warning (reg_format): /bus@f0000/ethernet@8000000/ethernet-ports/port@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1) <stdout>: Warning (unit_address_vs_reg): /bus@f0000/syscon@100000: node has a unit name, but no reg or ranges property <stdout>: Warning (pci_device_reg): Failed prerequisite 'reg_format' <stdout>: Warning (pci_device_bus_num): Failed prerequisite 'reg_format' <stdout>: Warning (simple_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (i2c_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (spi_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (avoid_default_addr_size): /bus@f0000/syscon@100000/phy@4044: Relying on default #address-cells value <stdout>: Warning (avoid_default_addr_size): /bus@f0000/syscon@100000/phy@4044: Relying on default #size-cells value <stdout>: Warning (avoid_default_addr_size): /bus@f0000/ethernet@8000000/ethernet-ports/port@1: Relying on default #address-cells value <stdout>: Warning (avoid_default_addr_size): /bus@f0000/ethernet@8000000/ethernet-ports/port@1: Relying on default #size-cells value <stdout>: Warning (avoid_unnecessary_addr_size): Failed prerequisite 'avoid_default_addr_size' <stdout>: Warning (unique_unit_address): Failed prerequisite 'avoid_default_addr_size'
Signed-off-by: Roger Quadros rogerq@kernel.org --- arch/arm/dts/k3-am625-sk-u-boot.dtsi | 39 ++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+)
diff --git a/arch/arm/dts/k3-am625-sk-u-boot.dtsi b/arch/arm/dts/k3-am625-sk-u-boot.dtsi index c658506256..b78d34b459 100644 --- a/arch/arm/dts/k3-am625-sk-u-boot.dtsi +++ b/arch/arm/dts/k3-am625-sk-u-boot.dtsi @@ -21,6 +21,10 @@ }; };
+&main_conf { + bootph-all; +}; + &cbass_main { bootph-all; }; @@ -118,8 +122,43 @@ }; };
+&inta_main_dmss { + bootph-all; +}; + +&main_pktdma { + bootph-all; +}; + +&cpsw3g_mdio { + bootph-all; +}; + +&cpsw3g_phy0 { + bootph-all; +}; + +&cpsw3g_phy1 { + bootph-all; +}; + +&main_rgmii1_pins_default { + bootph-all; +}; + +&main_rgmii2_pins_default { + bootph-all; +}; + +&phy_gmii_sel { + bootph-all; +}; + &cpsw3g { bootph-all; + ethernet-ports { + bootph-all; + }; };
&cpsw_port1 {

On 16:46-20230929, Roger Quadros wrote:
CPSW node needs PHY, MDIO, pinmux, DMA and INTC nodes. main_conf is required for phy_gmii_sel. Mark them as 'bootph-all' so they are available in all pre-relocation phases.
Fixes the below dts warnings:
<stdout>: Warning (reg_format): /bus@f0000/syscon@100000/phy@4044:reg: property has invalid length (8 bytes) (#address-cells == 2, #size-cells == 1) <stdout>: Warning (reg_format): /bus@f0000/ethernet@8000000/ethernet-ports/port@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1) <stdout>: Warning (unit_address_vs_reg): /bus@f0000/syscon@100000: node has a unit name, but no reg or ranges property <stdout>: Warning (pci_device_reg): Failed prerequisite 'reg_format' <stdout>: Warning (pci_device_bus_num): Failed prerequisite 'reg_format' <stdout>: Warning (simple_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (i2c_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (spi_bus_reg): Failed prerequisite 'reg_format' <stdout>: Warning (avoid_default_addr_size): /bus@f0000/syscon@100000/phy@4044: Relying on default #address-cells value <stdout>: Warning (avoid_default_addr_size): /bus@f0000/syscon@100000/phy@4044: Relying on default #size-cells value <stdout>: Warning (avoid_default_addr_size): /bus@f0000/ethernet@8000000/ethernet-ports/port@1: Relying on default #address-cells value <stdout>: Warning (avoid_default_addr_size): /bus@f0000/ethernet@8000000/ethernet-ports/port@1: Relying on default #size-cells value <stdout>: Warning (avoid_unnecessary_addr_size): Failed prerequisite 'avoid_default_addr_size' <stdout>: Warning (unique_unit_address): Failed prerequisite 'avoid_default_addr_size'
Signed-off-by: Roger Quadros rogerq@kernel.org
arch/arm/dts/k3-am625-sk-u-boot.dtsi | 39 ++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+)
diff --git a/arch/arm/dts/k3-am625-sk-u-boot.dtsi b/arch/arm/dts/k3-am625-sk-u-boot.dtsi index c658506256..b78d34b459 100644 --- a/arch/arm/dts/k3-am625-sk-u-boot.dtsi +++ b/arch/arm/dts/k3-am625-sk-u-boot.dtsi @@ -21,6 +21,10 @@ }; };
+&main_conf {
- bootph-all;
+};
&cbass_main { bootph-all; }; @@ -118,8 +122,43 @@ }; };
+&inta_main_dmss {
- bootph-all;
+};
+&main_pktdma {
- bootph-all;
+};
+&cpsw3g_mdio {
- bootph-all;
+};
+&cpsw3g_phy0 {
- bootph-all;
+};
+&cpsw3g_phy1 {
- bootph-all;
+};
+&main_rgmii1_pins_default {
- bootph-all;
+};
+&main_rgmii2_pins_default {
- bootph-all;
+};
+&phy_gmii_sel {
- bootph-all;
+};
&cpsw3g { bootph-all;
- ethernet-ports {
bootph-all;
- };
};
&cpsw_port1 {
2.34.1
Reviewed-by: Nishanth Menon nm@ti.com

From: Jan Kiszka jan.kiszka@siemens.com
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation.
To fix this we mark all nodes as 'bootph-all'.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
Signed-off-by: Jan Kiszka jan.kiszka@siemens.com ---
This may overshoot, but at least the board boots again. Could it be that [1] broke even more boards?
arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi | 70 ++++++++++---------- arch/arm/dts/k3-am625-r5-beagleplay.dts | 12 ++-- 2 files changed, 41 insertions(+), 41 deletions(-)
diff --git a/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi b/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi index f8c04e8a300..d6c6baa5518 100644 --- a/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi +++ b/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi @@ -14,143 +14,143 @@ }; memory@80000000 { - bootph-pre-ram; + bootph-all; }; /* Keep the LEDs on by default to indicate life */ leds { - bootph-pre-ram; + bootph-all; led-0 { default-state = "on"; - bootph-pre-ram; + bootph-all; }; led-1 { default-state = "on"; - bootph-pre-ram; + bootph-all; }; led-2 { default-state = "on"; - bootph-pre-ram; + bootph-all; }; led-3 { default-state = "on"; - bootph-pre-ram; + bootph-all; }; led-4 { default-state = "on"; - bootph-pre-ram; + bootph-all; }; }; }; &cbass_main { - bootph-pre-ram; + bootph-all; }; &main_timer0 { clock-frequency = <25000000>; - bootph-pre-ram; + bootph-all; }; &dmss { - bootph-pre-ram; + bootph-all; }; &secure_proxy_main { - bootph-pre-ram; + bootph-all; }; &dmsc { - bootph-pre-ram; + bootph-all; }; &k3_pds { - bootph-pre-ram; + bootph-all; }; &k3_clks { - bootph-pre-ram; + bootph-all; }; &k3_reset { - bootph-pre-ram; + bootph-all; }; &dmsc { - bootph-pre-ram; + bootph-all; k3_sysreset: sysreset-controller { compatible = "ti,sci-sysreset"; - bootph-pre-ram; + bootph-all; }; }; &wkup_conf { - bootph-pre-ram; + bootph-all; }; &chipid { - bootph-pre-ram; + bootph-all; }; &main_pmx0 { - bootph-pre-ram; + bootph-all; }; &main_uart0 { - bootph-pre-ram; + bootph-all; }; &console_pins_default { - bootph-pre-ram; + bootph-all; }; &cbass_mcu { - bootph-pre-ram; + bootph-all; }; &cbass_wakeup { - bootph-pre-ram; + bootph-all; }; &mcu_pmx0 { - bootph-pre-ram; + bootph-all; }; &main_i2c0 { - bootph-pre-ram; + bootph-all; }; &local_i2c_pins_default { - bootph-pre-ram; + bootph-all; }; &gpio0_pins_default { - bootph-pre-ram; + bootph-all; }; &main_gpio0 { - bootph-pre-ram; + bootph-all; }; &main_gpio1 { - bootph-pre-ram; + bootph-all; }; &sdhci0 { /* EMMC */ - bootph-pre-ram; + bootph-all; }; &emmc_pins_default { - bootph-pre-ram; + bootph-all; }; &sd_pins_default { - bootph-pre-ram; + bootph-all; /* Force to use SDCD card detect pin */ pinctrl-single,pins = < AM62X_IOPAD(0x023c, PIN_INPUT, 0) /* (A21) MMC1_CMD */ @@ -164,11 +164,11 @@ }; &tps65219 { - bootph-pre-ram; + bootph-all; }; &sdhci1 { - bootph-pre-ram; + bootph-all; }; #ifdef CONFIG_TARGET_AM625_A53_EVM diff --git a/arch/arm/dts/k3-am625-r5-beagleplay.dts b/arch/arm/dts/k3-am625-r5-beagleplay.dts index 9c9d0570592..ac5461a32c0 100644 --- a/arch/arm/dts/k3-am625-r5-beagleplay.dts +++ b/arch/arm/dts/k3-am625-r5-beagleplay.dts @@ -31,7 +31,7 @@ ti,sci = <&dmsc>; ti,sci-proc-id = <32>; ti,sci-host-id = <10>; - bootph-pre-ram; + bootph-all; }; dm_tifs: dm-tifs { @@ -41,7 +41,7 @@ mbox-names = "rx", "tx"; mboxes= <&secure_proxy_main 22>, <&secure_proxy_main 23>; - bootph-pre-ram; + bootph-all; }; }; @@ -55,11 +55,11 @@ }; &mcu_esm { - bootph-pre-ram; + bootph-all; }; &secure_proxy_sa3 { - bootph-pre-ram; + bootph-all; /* We require this for boot handshake */ status = "okay"; }; @@ -69,12 +69,12 @@ compatible = "ti,am654-system-controller"; mboxes= <&secure_proxy_main 1>, <&secure_proxy_main 0>, <&secure_proxy_sa3 0>; mbox-names = "tx", "rx", "boot_notify"; - bootph-pre-ram; + bootph-all; }; }; &main_esm { - bootph-pre-ram; + bootph-all; }; &main_pktdma {

Hi Jan,
On 03/10/2023 23:26, Jan Kiszka wrote:
From: Jan Kiszka jan.kiszka@siemens.com
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation.
To fix this we mark all nodes as 'bootph-all'.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
Signed-off-by: Jan Kiszka jan.kiszka@siemens.com
Nishanth already send a fix earlier https://lore.kernel.org/all/20231002150053.2930710-1-nm@ti.com/
This may overshoot, but at least the board boots again. Could it be that [1] broke even more boards?
arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi | 70 ++++++++++---------- arch/arm/dts/k3-am625-r5-beagleplay.dts | 12 ++-- 2 files changed, 41 insertions(+), 41 deletions(-)

On 22:26-20231003, Jan Kiszka wrote:
From: Jan Kiszka jan.kiszka@siemens.com
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation.
To fix this we mark all nodes as 'bootph-all'.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
Signed-off-by: Jan Kiszka jan.kiszka@siemens.com
This may overshoot, but at least the board boots again. Could it be that [1] broke even more boards?
Jan: https://lore.kernel.org/all/b1c62a7d-a90e-4212-8972-9b622e147975@kernel.org/
I got boot without r5-beagleplay.dts modified. and it is in line with the changes in linux-next commit 944adefc7f88 ("arm64: dts: ti: k3-am625-beagleplay: Add boot phase tags marking")
arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi | 70 ++++++++++---------- arch/arm/dts/k3-am625-r5-beagleplay.dts | 12 ++-- 2 files changed, 41 insertions(+), 41 deletions(-)
diff --git a/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi b/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi index f8c04e8a300..d6c6baa5518 100644 --- a/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi +++ b/arch/arm/dts/k3-am625-beagleplay-u-boot.dtsi @@ -14,143 +14,143 @@ }; memory@80000000 {
bootph-pre-ram;
}; /* Keep the LEDs on by default to indicate life */ leds {bootph-all;
bootph-pre-ram;
led-0 { default-state = "on";bootph-all;
bootph-pre-ram;
}; led-1 { default-state = "on";bootph-all;
bootph-pre-ram;
}; led-2 { default-state = "on";bootph-all;
bootph-pre-ram;
}; led-3 { default-state = "on";bootph-all;
bootph-pre-ram;
}; led-4 { default-state = "on";bootph-all;
bootph-pre-ram;
}; };bootph-all;
}; &cbass_main {
- bootph-pre-ram;
- bootph-all;
}; &main_timer0 { clock-frequency = <25000000>;
- bootph-pre-ram;
- bootph-all;
}; &dmss {
- bootph-pre-ram;
- bootph-all;
}; &secure_proxy_main {
- bootph-pre-ram;
- bootph-all;
}; &dmsc {
- bootph-pre-ram;
- bootph-all;
}; &k3_pds {
- bootph-pre-ram;
- bootph-all;
}; &k3_clks {
- bootph-pre-ram;
- bootph-all;
}; &k3_reset {
- bootph-pre-ram;
- bootph-all;
}; &dmsc {
- bootph-pre-ram;
- bootph-all; k3_sysreset: sysreset-controller { compatible = "ti,sci-sysreset";
bootph-pre-ram;
};bootph-all;
}; &wkup_conf {
- bootph-pre-ram;
- bootph-all;
}; &chipid {
- bootph-pre-ram;
- bootph-all;
}; &main_pmx0 {
- bootph-pre-ram;
- bootph-all;
}; &main_uart0 {
- bootph-pre-ram;
- bootph-all;
}; &console_pins_default {
- bootph-pre-ram;
- bootph-all;
}; &cbass_mcu {
- bootph-pre-ram;
- bootph-all;
}; &cbass_wakeup {
- bootph-pre-ram;
- bootph-all;
}; &mcu_pmx0 {
- bootph-pre-ram;
- bootph-all;
}; &main_i2c0 {
- bootph-pre-ram;
- bootph-all;
}; &local_i2c_pins_default {
- bootph-pre-ram;
- bootph-all;
}; &gpio0_pins_default {
- bootph-pre-ram;
- bootph-all;
}; &main_gpio0 {
- bootph-pre-ram;
- bootph-all;
}; &main_gpio1 {
- bootph-pre-ram;
- bootph-all;
}; &sdhci0 { /* EMMC */
- bootph-pre-ram;
- bootph-all;
}; &emmc_pins_default {
- bootph-pre-ram;
- bootph-all;
}; &sd_pins_default {
- bootph-pre-ram;
- bootph-all; /* Force to use SDCD card detect pin */ pinctrl-single,pins = < AM62X_IOPAD(0x023c, PIN_INPUT, 0) /* (A21) MMC1_CMD */
@@ -164,11 +164,11 @@ }; &tps65219 {
- bootph-pre-ram;
- bootph-all;
}; &sdhci1 {
- bootph-pre-ram;
- bootph-all;
}; #ifdef CONFIG_TARGET_AM625_A53_EVM diff --git a/arch/arm/dts/k3-am625-r5-beagleplay.dts b/arch/arm/dts/k3-am625-r5-beagleplay.dts index 9c9d0570592..ac5461a32c0 100644 --- a/arch/arm/dts/k3-am625-r5-beagleplay.dts +++ b/arch/arm/dts/k3-am625-r5-beagleplay.dts @@ -31,7 +31,7 @@ ti,sci = <&dmsc>; ti,sci-proc-id = <32>; ti,sci-host-id = <10>;
bootph-pre-ram;
}; dm_tifs: dm-tifs {bootph-all;
@@ -41,7 +41,7 @@ mbox-names = "rx", "tx"; mboxes= <&secure_proxy_main 22>, <&secure_proxy_main 23>;
bootph-pre-ram;
};bootph-all;
}; @@ -55,11 +55,11 @@ }; &mcu_esm {
- bootph-pre-ram;
- bootph-all;
}; &secure_proxy_sa3 {
- bootph-pre-ram;
- bootph-all; /* We require this for boot handshake */ status = "okay";
}; @@ -69,12 +69,12 @@ compatible = "ti,am654-system-controller"; mboxes= <&secure_proxy_main 1>, <&secure_proxy_main 0>, <&secure_proxy_sa3 0>; mbox-names = "tx", "rx", "boot_notify";
bootph-pre-ram;
};bootph-all;
}; &main_esm {
- bootph-pre-ram;
- bootph-all;
}; &main_pktdma { -- 2.35.3

On 04.10.23 14:15, Nishanth Menon wrote:
On 22:26-20231003, Jan Kiszka wrote:
From: Jan Kiszka jan.kiszka@siemens.com
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation.
To fix this we mark all nodes as 'bootph-all'.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
Signed-off-by: Jan Kiszka jan.kiszka@siemens.com
This may overshoot, but at least the board boots again. Could it be that [1] broke even more boards?
Jan: https://lore.kernel.org/all/b1c62a7d-a90e-4212-8972-9b622e147975@kernel.org/
I got boot without r5-beagleplay.dts modified. and it is in line with the changes in linux-next commit 944adefc7f88 ("arm64: dts: ti: k3-am625-beagleplay: Add boot phase tags marking")
Yeah, no problem, missed that.
Meanwhile, I can fix our IOT2050 because I was unfortunatenly right: more havoc in sight. Did anyone tried to look at the fallouts systematically already? Is it only affecting the TI family?
Jan

On 06:18-20231005, Jan Kiszka wrote:
On 04.10.23 14:15, Nishanth Menon wrote:
On 22:26-20231003, Jan Kiszka wrote:
From: Jan Kiszka jan.kiszka@siemens.com
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation.
To fix this we mark all nodes as 'bootph-all'.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
Signed-off-by: Jan Kiszka jan.kiszka@siemens.com
This may overshoot, but at least the board boots again. Could it be that [1] broke even more boards?
Jan: https://lore.kernel.org/all/b1c62a7d-a90e-4212-8972-9b622e147975@kernel.org/
I got boot without r5-beagleplay.dts modified. and it is in line with the changes in linux-next commit 944adefc7f88 ("arm64: dts: ti: k3-am625-beagleplay: Add boot phase tags marking")
Yeah, no problem, missed that.
Meanwhile, I can fix our IOT2050 because I was unfortunatenly right: more havoc in sight. Did anyone tried to look at the fallouts systematically already? Is it only affecting the TI family?
I know all of TI K3 platforms are broken, but I don't think (based on discussions on the list so far), anyone actually went around non-TI platforms to identify the ones that are broken.

On Thu, Oct 05, 2023 at 06:18:08AM +0200, Jan Kiszka wrote:
On 04.10.23 14:15, Nishanth Menon wrote:
On 22:26-20231003, Jan Kiszka wrote:
From: Jan Kiszka jan.kiszka@siemens.com
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation.
To fix this we mark all nodes as 'bootph-all'.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
Signed-off-by: Jan Kiszka jan.kiszka@siemens.com
This may overshoot, but at least the board boots again. Could it be that [1] broke even more boards?
Jan: https://lore.kernel.org/all/b1c62a7d-a90e-4212-8972-9b622e147975@kernel.org/
I got boot without r5-beagleplay.dts modified. and it is in line with the changes in linux-next commit 944adefc7f88 ("arm64: dts: ti: k3-am625-beagleplay: Add boot phase tags marking")
Yeah, no problem, missed that.
Meanwhile, I can fix our IOT2050 because I was unfortunatenly right: more havoc in sight. Did anyone tried to look at the fallouts systematically already? Is it only affecting the TI family?
Well, I'm pretty confused right now. The visible breakage has been traced back to a commit that was in -next and is fine on my J721E EVM and is fine on my AM65x EVM. I can't figure out where my Beagleplay ended up, so I can't check that one as easily. But given how the breakage is described, mine too should be failing. But they aren't. In both cases, I have the GP versions of the chips, and am booting the unsigned files.

On Thu, Oct 05, 2023 at 10:49:19AM -0400, Tom Rini wrote:
On Thu, Oct 05, 2023 at 06:18:08AM +0200, Jan Kiszka wrote:
On 04.10.23 14:15, Nishanth Menon wrote:
On 22:26-20231003, Jan Kiszka wrote:
From: Jan Kiszka jan.kiszka@siemens.com
Since commit [1] A53 u-boot proper is broken. This is because nodes marked as 'bootph-pre-ram' are not available at u-boot proper before relocation.
To fix this we mark all nodes as 'bootph-all'.
[1] 9e644284ab812 ("dm: core: Report bootph-pre-ram/sram node as pre-reloc after relocation")
Signed-off-by: Jan Kiszka jan.kiszka@siemens.com
This may overshoot, but at least the board boots again. Could it be that [1] broke even more boards?
Jan: https://lore.kernel.org/all/b1c62a7d-a90e-4212-8972-9b622e147975@kernel.org/
I got boot without r5-beagleplay.dts modified. and it is in line with the changes in linux-next commit 944adefc7f88 ("arm64: dts: ti: k3-am625-beagleplay: Add boot phase tags marking")
Yeah, no problem, missed that.
Meanwhile, I can fix our IOT2050 because I was unfortunatenly right: more havoc in sight. Did anyone tried to look at the fallouts systematically already? Is it only affecting the TI family?
Well, I'm pretty confused right now. The visible breakage has been traced back to a commit that was in -next and is fine on my J721E EVM and is fine on my AM65x EVM. I can't figure out where my Beagleplay ended up, so I can't check that one as easily. But given how the breakage is described, mine too should be failing. But they aren't. In both cases, I have the GP versions of the chips, and am booting the unsigned files.
OK, I think I might have solved my own unexpected success here in that it seems like I had the wrong files being copied to the device and so that somehow ended up working. I have replicated failure finally.
-- Tom
participants (4)
-
Jan Kiszka
-
Nishanth Menon
-
Roger Quadros
-
Tom Rini