
On Tue, 30 Jan 2024 at 19:35, Caleb Connolly caleb.connolly@linaro.org wrote:
Drop the U-Boot specific dragonboard410c.dts in favour of the upstream msm8916-sbc.dts. No additional changes are needed to this DTS for U-Boot support.
Taken from kernel tag v6.7
Reviewed-by: Neil Armstrong neil.armstrong@linaro.org Signed-off-by: Caleb Connolly caleb.connolly@linaro.org
arch/arm/dts/Makefile | 2 +- arch/arm/dts/apq8016-sbc-u-boot.dtsi | 11 + arch/arm/dts/apq8016-sbc.dts | 729 +++++++++ arch/arm/dts/dragonboard410c-uboot.dtsi | 44 - arch/arm/dts/dragonboard410c.dts | 221 --- arch/arm/dts/msm8916.dtsi | 2702 +++++++++++++++++++++++++++++++ configs/dragonboard410c_defconfig | 2 +- 7 files changed, 3444 insertions(+), 267 deletions(-)
diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index 92a4465f5f41..4c8b29b983a4 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -628,7 +628,7 @@ dtb-$(CONFIG_TARGET_SL28) += fsl-ls1028a-kontron-sl28.dtb \
dtb-$(CONFIG_TARGET_TEN64) += fsl-ls1088a-ten64.dtb
-dtb-$(CONFIG_ARCH_SNAPDRAGON) += dragonboard410c.dtb \ +dtb-$(CONFIG_ARCH_SNAPDRAGON) += apq8016-sbc.dtb \ dragonboard820c.dtb \ sdm845-db845c.dtb \ sdm845-samsung-starqltechn.dtb \ diff --git a/arch/arm/dts/apq8016-sbc-u-boot.dtsi b/arch/arm/dts/apq8016-sbc-u-boot.dtsi new file mode 100644 index 000000000000..838e629a8ade --- /dev/null +++ b/arch/arm/dts/apq8016-sbc-u-boot.dtsi @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: GPL-2.0 +/*
- Copyright (c) 2024, Linaro Ltd.
- */
+/ {
/* When running as a first-stage bootloader this isn't filled in automatically */
memory@80000000 {
reg = <0 0x80000000 0 0x3da00000>;
};
+};
With U-Boot booting as the first stage bootloader, we have to enable the serial driver prior to relocation. Although we have DM_FLAG_PRE_RELOC for clock and the serial driver, what about the pinctrl driver required to configure UART specific pins prior to relocation? Without following change we get broken U-Boot log without header prints:
diff --git a/arch/arm/dts/apq8016-sbc-u-boot.dtsi b/arch/arm/dts/apq8016-sbc-u-boot.dtsi index 838e629a8ade..0a21732be6cb 100644 --- a/arch/arm/dts/apq8016-sbc-u-boot.dtsi +++ b/arch/arm/dts/apq8016-sbc-u-boot.dtsi @@ -9,3 +9,11 @@ reg = <0 0x80000000 0 0x3da00000>; }; }; + +&tlmm { + bootph-all; + + blsp-uart2-default-state { + bootph-all; + }; +};
Fixes broken U-Boot log:
S - Flash Throughput, 82000 KB/s (1503304 Bytes, 18330 us) S - DDR Frequency, 400 MHz Core: 135 devices, 20 uclasses, devicetree: board MMC: mmc@7824900: 0, mmc@7864900: 1 Loading Environment from MMC... OK In: serial@78b0000 Out: serial@78b0000 Err: serial@78b0000 ## Error: Can't overwrite "serial#" ## Error inserting "serial#" variable, errno=1 Net: No ethernet found. Hit any key to stop autoboot: 0 dragonboard410c =>
-Sumit