u-boot/arch/arm/dts/am335x-brppt1-mmc-u-boot.dtsi
Bernhard Messerklinger b0a18f1f9f brppt1: Fix SPL boot stage
Commit 6337d53fdf ("arm: dts: sync am33xx with Linux 5.9-rc7") syncs
the am335x device tree with the latest linux kernel am335x device tree.
That causes problems with device tree in SPL stage.
To fix the issues CONFIG_SPL_OF_TRANSLATE must be set to handle the
synced bus addresses correctly.
A custom U-Boot device tree is also needed since the SPL build removes
bus properties from bus nodes which are not explicitly marked with the
u-boot,dm-spl or u-boot,dm-pre-reloc flag. Therefore all parent buses of
the in the SPL needed devices must be marked with u-boot,dm-pre-reloc.
Also since there is no driver for "ti,sysc" compatible property in SPL
the buses marked with this compatible string must also be marked with
compatible = "simple-bus" to make the underlying devices visible in
SPL. Otherwise the matching device drivers aren't found and the uclass
drivers are dropped.

Signed-off-by: Bernhard Messerklinger <bernhard.messerklinger@br-automation.com>
Reviewed-by: Wolfgang Wallner <wolfgang.wallner@br-automation.com>
2022-09-15 14:22:08 -04:00

80 lines
1.2 KiB
Text

// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2022 B&R Industrial Automation GmbH -
* https://www.br-automation.com/
*/
/ {
ocp {
u-boot,dm-pre-reloc;
};
};
&l4_wkup {
u-boot,dm-pre-reloc;
segment@200000 {
u-boot,dm-pre-reloc;
target-module@0
{
u-boot,dm-pre-reloc;
compatible = "simple-bus";
};
target-module@7000 {
u-boot,dm-pre-reloc;
compatible = "simple-bus";
};
target-module@9000 {
u-boot,dm-pre-reloc;
compatible = "simple-bus";
};
};
};
&wkup_cm {
u-boot,dm-pre-reloc;
};
&l4_wkup_clkctrl {
u-boot,dm-pre-reloc;
};
&l4_per {
u-boot,dm-pre-reloc;
segment@0 {
u-boot,dm-pre-reloc;
compatible = "simple-bus";
target-module@4c000 {
u-boot,dm-pre-reloc;
compatible = "simple-bus";
};
};
segment@100000 {
u-boot,dm-pre-reloc;
compatible = "simple-bus";
target-module@ac000 {
u-boot,dm-pre-reloc;
compatible = "simple-bus";
};
target-module@ae000 {
u-boot,dm-pre-reloc;
compatible = "simple-bus";
};
};
};
&prcm {
u-boot,dm-pre-reloc;
};
&gpio0_target {
u-boot,dm-pre-reloc;
};
&prcm_clocks {
compatible = "simple-bus";
};
&scm_clocks {
compatible = "simple-bus";
};