mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-14 04:46:01 +01:00
brppt1: Fix SPL boot stage
Commit 6337d53fdf45 ("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>
This commit is contained in:
parent
6dfc1f4c51
commit
b0a18f1f9f
80
arch/arm/dts/am335x-brppt1-mmc-u-boot.dtsi
Normal file
80
arch/arm/dts/am335x-brppt1-mmc-u-boot.dtsi
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
// 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";
|
||||||
|
};
|
@ -90,7 +90,7 @@ CONFIG_NETCONSOLE=y
|
|||||||
CONFIG_DM=y
|
CONFIG_DM=y
|
||||||
CONFIG_SPL_DM=y
|
CONFIG_SPL_DM=y
|
||||||
CONFIG_SPL_DM_SEQ_ALIAS=y
|
CONFIG_SPL_DM_SEQ_ALIAS=y
|
||||||
# CONFIG_OF_TRANSLATE is not set
|
CONFIG_SPL_OF_TRANSLATE=y
|
||||||
CONFIG_BOOTCOUNT_LIMIT=y
|
CONFIG_BOOTCOUNT_LIMIT=y
|
||||||
CONFIG_DM_I2C=y
|
CONFIG_DM_I2C=y
|
||||||
CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
|
CONFIG_I2C_SET_DEFAULT_BUS_NUM=y
|
||||||
|
Loading…
x
Reference in New Issue
Block a user