drivers: bcm283x: Set pre-location flag for OF_BOARD
authorMatthias Brugger <mbrugger@suse.com>
Fri, 8 Nov 2019 13:49:48 +0000 (14:49 +0100)
committerMatthias Brugger <mbrugger@suse.com>
Sun, 24 Nov 2019 09:46:27 +0000 (10:46 +0100)
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>
drivers/pinctrl/broadcom/pinctrl-bcm283x.c
drivers/serial/serial_bcm283x_mu.c
drivers/serial/serial_bcm283x_pl011.c

index 8d9074e0c16b11eeab28e3a3060ba76acedf7bcf..eb720f09f8e4180c16f717b41870d2cb0c6c9e46 100644 (file)
@@ -149,7 +149,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
 };
index bd1d89ec8393493cafc838318f238d43d18100f6..a6ffc84b963e8468d2691bd5927132f50f68d2b3 100644 (file)
@@ -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),
index 2527bb8b1c850e01c76d13a1d5f9b0c5e15ded6e..7d8ab7b71613a13c07446ba47a3faa59682320d0 100644 (file)
@@ -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),