[U-Boot] [PATCH v4 1/3] fdt: fix bcm283x dm-pre-reloc definitions

From: Matthias Brugger mbrugger@suse.com
In commmit 143256b353 ("fdt: update bcm283x device tree sources to Linux 5.1-rc6 state") we deleted the label for the node soc from bcm283x.dtsi
As we don't need to add the property dm-pre-reloc to the soc node, we can delete it from bcm283x-uboot.dtsi
Tested-by: Tom Rini trini@konsulko.com [RPi 3, 32b and 64b modes] Signed-off-by: Matthias Brugger mbrugger@suse.com
---
Changes in v4: - fix commit message
Changes in v3: - add tested-by tag
Changes in v2: - node soc, does not need a label - dm-pre-reloc not needed for node soc
arch/arm/dts/bcm283x-uboot.dtsi | 4 ---- 1 file changed, 4 deletions(-)
diff --git a/arch/arm/dts/bcm283x-uboot.dtsi b/arch/arm/dts/bcm283x-uboot.dtsi index 6cc1aa3f93..36548dad62 100644 --- a/arch/arm/dts/bcm283x-uboot.dtsi +++ b/arch/arm/dts/bcm283x-uboot.dtsi @@ -6,10 +6,6 @@ * (C) Copyright 2016 Fabian Vogt fvogt@suse.com */
-&soc { - u-boot,dm-pre-reloc; -}; - &uart0 { skip-init; u-boot,dm-pre-reloc;

From: Matthias Brugger mbrugger@suse.com
Rename the file bcm283x-uboot.dtsi so that it get automatically include through the scripts/Makefile.lib using $(CONFIG_SYS_SOC))-u-boot.dtsi
Without this uarts and pincontroller miss the property dm-pre-reloc and the first call to bcm283x_mu_serial_ofdata_to_platdata() fails as the pins are not set correctly. As a result the U-Boot banner isn't shown on boot.
Before commmit 143256b353 ("fdt: update bcm283x device tree sources to Linux 5.1-rc6 state") we included bcm283x-uboot.dtsi directly in the device-tree file. Which got deleted by the metioned commit. This is a much robuster solution.
Reported-by: Tom Rini trini@konsulko.com Reported-by: Heinrich Schuchardt xypron.glpk@gmx.de Tested-by: Tom Rini trini@konsulko.com [RPi 3, 32b and 64b modes] Signed-off-by: Matthias Brugger mbrugger@suse.com
---
Changes in v4: None Changes in v3: - add tested-by tag
Changes in v2: None
arch/arm/dts/{bcm283x-uboot.dtsi => bcm283x-u-boot.dtsi} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename arch/arm/dts/{bcm283x-uboot.dtsi => bcm283x-u-boot.dtsi} (100%)
diff --git a/arch/arm/dts/bcm283x-uboot.dtsi b/arch/arm/dts/bcm283x-u-boot.dtsi similarity index 100% rename from arch/arm/dts/bcm283x-uboot.dtsi rename to arch/arm/dts/bcm283x-u-boot.dtsi

From: Matthias Brugger mbrugger@suse.com
U-Boot support on Raspberry Pi 4 relies on the device-tree provided by the firmware. The blob does not contain the U-Boot specific pre-loc-rel properties. The result is, that the U-Boot banner is not printed.
We fix this by setting the DM_FLAG_PRE_RELOC flag in the driver, if we rely on a device-tree provided by the firmware.
Reported-by: Heinrich Schuchardt xypron.glpk@gmx.de Signed-off-by: Matthias Brugger mbrugger@suse.com
---
Changes in v4: None Changes in v3: None Changes in v2: - add DM_FLAG_PRE_RELOC for RPi4 case
drivers/pinctrl/broadcom/pinctrl-bcm283x.c | 2 +- drivers/serial/serial_bcm283x_mu.c | 2 +- drivers/serial/serial_bcm283x_pl011.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/pinctrl/broadcom/pinctrl-bcm283x.c b/drivers/pinctrl/broadcom/pinctrl-bcm283x.c index 3be080d29e..1bb91d6eed 100644 --- a/drivers/pinctrl/broadcom/pinctrl-bcm283x.c +++ b/drivers/pinctrl/broadcom/pinctrl-bcm283x.c @@ -148,7 +148,7 @@ U_BOOT_DRIVER(pinctrl_bcm283x) = { .priv_auto_alloc_size = sizeof(struct bcm283x_pinctrl_priv), .ops = &bcm283x_pinctrl_ops, .probe = bcm283x_pinctl_probe, -#if !CONFIG_IS_ENABLED(OF_CONTROL) +#if !CONFIG_IS_ENABLED(OF_CONTROL) || CONFIG_IS_ENABLED(OF_BOARD) .flags = DM_FLAG_PRE_RELOC, #endif }; diff --git a/drivers/serial/serial_bcm283x_mu.c b/drivers/serial/serial_bcm283x_mu.c index bd1d89ec83..a6ffc84b96 100644 --- a/drivers/serial/serial_bcm283x_mu.c +++ b/drivers/serial/serial_bcm283x_mu.c @@ -199,7 +199,7 @@ U_BOOT_DRIVER(serial_bcm283x_mu) = { .platdata_auto_alloc_size = sizeof(struct bcm283x_mu_serial_platdata), .probe = bcm283x_mu_serial_probe, .ops = &bcm283x_mu_serial_ops, -#if !CONFIG_IS_ENABLED(OF_CONTROL) +#if !CONFIG_IS_ENABLED(OF_CONTROL) || CONFIG_IS_ENABLED(OF_BOARD) .flags = DM_FLAG_PRE_RELOC, #endif .priv_auto_alloc_size = sizeof(struct bcm283x_mu_priv), diff --git a/drivers/serial/serial_bcm283x_pl011.c b/drivers/serial/serial_bcm283x_pl011.c index 2527bb8b1c..7d8ab7b716 100644 --- a/drivers/serial/serial_bcm283x_pl011.c +++ b/drivers/serial/serial_bcm283x_pl011.c @@ -90,7 +90,7 @@ U_BOOT_DRIVER(bcm283x_pl011_uart) = { .platdata_auto_alloc_size = sizeof(struct pl01x_serial_platdata), .probe = pl01x_serial_probe, .ops = &bcm283x_pl011_serial_ops, -#if !CONFIG_IS_ENABLED(OF_CONTROL) +#if !CONFIG_IS_ENABLED(OF_CONTROL) || CONFIG_IS_ENABLED(OF_BOARD) .flags = DM_FLAG_PRE_RELOC, #endif .priv_auto_alloc_size = sizeof(struct pl01x_priv),
participants (1)
-
matthias.bgg@kernel.org