[U-Boot] [PATCH v2] arm: dts: am33xx: introduce 'am33xx-u-boot.dtsi'

commit fdce9d35dc36 ("arm: dts: am33xx: Sync dts with Linux 4.20.0") did remove the "u-boot,dm-spl" flag from the 'ocp' bus which was introduced with commit 19aa4ac09db9 ("dts: am33xx: add u-boot, dm-spl to ocp bus")
Due to this all boards having CONFIG_SPL_OF_CONTROL enabled are broken because they cannot bind/probe the boot-media interface during SPL stage.
This commit introduces the 'am33xx-u-boot.dtsi' which is included with the auto include mechanism. The am33xx-u-boot-dtsi adds the important "u-boot,dm-pre-reloc" to the 'ocp bus' (the root bus of almost all peripherals, at least the bootable ones).
The peripherials (mmc, spi, ...) needed during SPL stage need to be equipped with the 'u-boot,dm-pre-reloc' in their responsible dts file.
Signed-off-by: Hannes Schmelzer hannes.schmelzer@br-automation.com
---
Changes in v2: - use u-boot,dm-pre-reloc instead u-boot,dm-spl - add am33xx-u-boot.dtsi instead modifying the am33xx.dtsi
arch/arm/dts/am33xx-u-boot.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 arch/arm/dts/am33xx-u-boot.dtsi
diff --git a/arch/arm/dts/am33xx-u-boot.dtsi b/arch/arm/dts/am33xx-u-boot.dtsi new file mode 100644 index 0000000..78f5e2c --- /dev/null +++ b/arch/arm/dts/am33xx-u-boot.dtsi @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2019 B&R Industrial Automation GmbH - + * https://www.br-automation.com/ + */ + +/ { + ocp { + u-boot,dm-pre-reloc; + }; +};

Hi Hannes,
On 06.02.19 12:49, Hannes Schmelzer wrote:
commit fdce9d35dc36 ("arm: dts: am33xx: Sync dts with Linux 4.20.0") did remove the "u-boot,dm-spl" flag from the 'ocp' bus which was introduced with commit 19aa4ac09db9 ("dts: am33xx: add u-boot, dm-spl to ocp bus")
Due to this all boards having CONFIG_SPL_OF_CONTROL enabled are broken because they cannot bind/probe the boot-media interface during SPL stage.
Not all boards were broken, only those not having set that property in their proper -u-boot.dtsi or dts file (like am335x-pdu001-u-boot.dtsi).
This commit introduces the 'am33xx-u-boot.dtsi' which is included with the auto include mechanism. The am33xx-u-boot-dtsi adds the important "u-boot,dm-pre-reloc" to the 'ocp bus' (the root bus of almost all peripherals, at least the bootable ones).
If the new am33xx-u-boot.dtsi file gets include automatically then setting the same property in the board specific dts/dtsi file is redundant. Hence please remove the property from those files (like from am335x-pdu001-u-boot.dtsi) and add those modified files to your patch. Thus we have one single patch fixing this issue. Many thanks!
retards Felix
The peripherials (mmc, spi, ...) needed during SPL stage need to be equipped with the 'u-boot,dm-pre-reloc' in their responsible dts file.
Signed-off-by: Hannes Schmelzer hannes.schmelzer@br-automation.com
Changes in v2:
- use u-boot,dm-pre-reloc instead u-boot,dm-spl
- add am33xx-u-boot.dtsi instead modifying the am33xx.dtsi
arch/arm/dts/am33xx-u-boot.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 arch/arm/dts/am33xx-u-boot.dtsi
diff --git a/arch/arm/dts/am33xx-u-boot.dtsi b/arch/arm/dts/am33xx-u-boot.dtsi new file mode 100644 index 0000000..78f5e2c --- /dev/null +++ b/arch/arm/dts/am33xx-u-boot.dtsi @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: GPL-2.0+ +/*
- Copyright (C) 2019 B&R Industrial Automation GmbH -
- */
+/ {
- ocp {
u-boot,dm-pre-reloc;
- };
+};

On 2/7/19 5:47 PM, Felix Brack wrote:
Hi Hannes,
Hi Felix,
On 06.02.19 12:49, Hannes Schmelzer wrote:
commit fdce9d35dc36 ("arm: dts: am33xx: Sync dts with Linux 4.20.0") did remove the "u-boot,dm-spl" flag from the 'ocp' bus which was introduced with commit 19aa4ac09db9 ("dts: am33xx: add u-boot, dm-spl to ocp bus")
Due to this all boards having CONFIG_SPL_OF_CONTROL enabled are broken because they cannot bind/probe the boot-media interface during SPL stage.
Not all boards were broken, only those not having set that property in their proper -u-boot.dtsi or dts file (like am335x-pdu001-u-boot.dtsi).
true.
This commit introduces the 'am33xx-u-boot.dtsi' which is included with the auto include mechanism. The am33xx-u-boot-dtsi adds the important "u-boot,dm-pre-reloc" to the 'ocp bus' (the root bus of almost all peripherals, at least the bootable ones).
If the new am33xx-u-boot.dtsi file gets include automatically then setting the same property in the board specific dts/dtsi file is redundant. Hence please remove the property from those files (like from am335x-pdu001-u-boot.dtsi) and add those modified files to your patch. Thus we have one single patch fixing this issue. Many thanks!
retards Felix
Nope. If i understood the mechanism correctly the mechanism searches this way:
<dts>-u-boot.dtsi where <dts> is the base name of the .dts file <CONFIG_SYS_SOC>-u-boot.dtsi <CONFIG_SYS_CPU>-u-boot.dtsi <CONFIG_SYS_VENDOR>-u-boot.dtsi u-boot.dtsi
and stops after the first match. In your case: *am335x-pdu001*-u-boot.dtsi
Have a look, to: tools/binman/README
So i still think, that my patch is on the right track.
The peripherials (mmc, spi, ...) needed during SPL stage need to be equipped with the 'u-boot,dm-pre-reloc' in their responsible dts file.
Signed-off-by: Hannes Schmelzer hannes.schmelzer@br-automation.com
Changes in v2:
use u-boot,dm-pre-reloc instead u-boot,dm-spl
add am33xx-u-boot.dtsi instead modifying the am33xx.dtsi
arch/arm/dts/am33xx-u-boot.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 arch/arm/dts/am33xx-u-boot.dtsi
diff --git a/arch/arm/dts/am33xx-u-boot.dtsi b/arch/arm/dts/am33xx-u-boot.dtsi new file mode 100644 index 0000000..78f5e2c --- /dev/null +++ b/arch/arm/dts/am33xx-u-boot.dtsi @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: GPL-2.0+ +/*
- Copyright (C) 2019 B&R Industrial Automation GmbH -
- */
+/ {
- ocp {
u-boot,dm-pre-reloc;
- };
+};
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot

Hi Hannes,
On 07.02.19 18:14, Hannes Schmelzer wrote:
On 2/7/19 5:47 PM, Felix Brack wrote:
Hi Hannes,
Hi Felix,
On 06.02.19 12:49, Hannes Schmelzer wrote:
commit fdce9d35dc36 ("arm: dts: am33xx: Sync dts with Linux 4.20.0") did remove the "u-boot,dm-spl" flag from the 'ocp' bus which was introduced with commit 19aa4ac09db9 ("dts: am33xx: add u-boot, dm-spl to ocp bus")
Due to this all boards having CONFIG_SPL_OF_CONTROL enabled are broken because they cannot bind/probe the boot-media interface during SPL stage.
Not all boards were broken, only those not having set that property in their proper -u-boot.dtsi or dts file (like am335x-pdu001-u-boot.dtsi).
true.
This commit introduces the 'am33xx-u-boot.dtsi' which is included with the auto include mechanism. The am33xx-u-boot-dtsi adds the important "u-boot,dm-pre-reloc" to the 'ocp bus' (the root bus of almost all peripherals, at least the bootable ones).
If the new am33xx-u-boot.dtsi file gets include automatically then setting the same property in the board specific dts/dtsi file is redundant. Hence please remove the property from those files (like from am335x-pdu001-u-boot.dtsi) and add those modified files to your patch. Thus we have one single patch fixing this issue. Many thanks!
retards Felix
Nope. If i understood the mechanism correctly the mechanism searches this way:
<dts>-u-boot.dtsi where <dts> is the base name of the .dts file <CONFIG_SYS_SOC>-u-boot.dtsi <CONFIG_SYS_CPU>-u-boot.dtsi <CONFIG_SYS_VENDOR>-u-boot.dtsi u-boot.dtsi
and stops after the first match.
Agreed, you are absolutely right. I should have remembered that since I already had some problems with this mechanism ;-).
In your case: *am335x-pdu001*-u-boot.dtsi
I have decided to put the U-Boot specific properties into the above mentioned file to make sure I can keep the exact same DTS file in U-Boot and Linux, which simplifies the synchronization.
Have a look, to: tools/binman/README
So i still think, that my patch is on the right track.
The peripherials (mmc, spi, ...) needed during SPL stage need to be equipped with the 'u-boot,dm-pre-reloc' in their responsible dts file.
Signed-off-by: Hannes Schmelzer hannes.schmelzer@br-automation.com
Changes in v2:
- use u-boot,dm-pre-reloc instead u-boot,dm-spl
- add am33xx-u-boot.dtsi instead modifying the am33xx.dtsi
arch/arm/dts/am33xx-u-boot.dtsi | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 arch/arm/dts/am33xx-u-boot.dtsi
diff --git a/arch/arm/dts/am33xx-u-boot.dtsi b/arch/arm/dts/am33xx-u-boot.dtsi new file mode 100644 index 0000000..78f5e2c --- /dev/null +++ b/arch/arm/dts/am33xx-u-boot.dtsi @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: GPL-2.0+ +/*
- Copyright (C) 2019 B&R Industrial Automation GmbH -
- */
+/ {
- ocp {
u-boot,dm-pre-reloc;
- };
+};
U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
regards Felix

On Wed, Feb 06, 2019 at 12:49:50PM +0100, Hannes Schmelzer wrote:
commit fdce9d35dc36 ("arm: dts: am33xx: Sync dts with Linux 4.20.0") did remove the "u-boot,dm-spl" flag from the 'ocp' bus which was introduced with commit 19aa4ac09db9 ("dts: am33xx: add u-boot, dm-spl to ocp bus")
Due to this all boards having CONFIG_SPL_OF_CONTROL enabled are broken because they cannot bind/probe the boot-media interface during SPL stage.
This commit introduces the 'am33xx-u-boot.dtsi' which is included with the auto include mechanism. The am33xx-u-boot-dtsi adds the important "u-boot,dm-pre-reloc" to the 'ocp bus' (the root bus of almost all peripherals, at least the bootable ones).
The peripherials (mmc, spi, ...) needed during SPL stage need to be equipped with the 'u-boot,dm-pre-reloc' in their responsible dts file.
Signed-off-by: Hannes Schmelzer hannes.schmelzer@br-automation.com
Applied to u-boot/master, thanks!
participants (4)
-
Felix Brack
-
Hannes Schmelzer
-
Hannes Schmelzer
-
Tom Rini