diff mbox series

[U-Boot] IMX: serial: dm: Set DM_FLAG_PRE_RELOC in the IMX uart driver

Message ID 20190604134204.30266-1-lukma@denx.de
State Accepted
Commit 1b8c986b684c481d2a3a87200e80421129abe32e
Delegated to: Stefano Babic
Headers show
Series [U-Boot] IMX: serial: dm: Set DM_FLAG_PRE_RELOC in the IMX uart driver | expand

Commit Message

Lukasz Majewski June 4, 2019, 1:42 p.m. UTC
The DM_FLAG_PRE_RELOC shall be set unconditionally as this driver is going
to be re-used in both early SPL and U-Boot proper's pre-reloc.

For i.MX based devices it is crucial to have available the serial console
before relocation (otherwise the board may hand).

The device definition may be provided either via device tree description or
with U_BOOT_DEVICE(mxc_serial) definition. In the latter case the device
will not bind in U-Boot proper when DM_FLAG_PRE_RELOC is not set.

The !CONFIG_IS_ENABLED(OF_CONTROL) #if check was set as a "workaround" for
DM problem described in following commit 4687919684e0
("serial: Remove DM_FLAG_PRE_RELOC flag in various drivers").

Let's look on this check more thoroughly - we add this flag if the board
doesn't support OF_CONTROL. This is a bit strange as the serial_mxc.c can
be used with CONFIG_DM_SERIAL but without corresponding device tree
description (OF_CONTROL). In such case the aforementioned
U_BOOT_DEVICE(mxc_serial) definition is used.

Other boards/SoCs have this flag set unconditionally for serial driver.

Signed-off-by: Lukasz Majewski <lukma@denx.de>
---

 drivers/serial/serial_mxc.c | 2 --
 1 file changed, 2 deletions(-)

Comments

Stefano Babic July 20, 2019, 8:45 a.m. UTC | #1
> The DM_FLAG_PRE_RELOC shall be set unconditionally as this driver is going
> to be re-used in both early SPL and U-Boot proper's pre-reloc.
> For i.MX based devices it is crucial to have available the serial console
> before relocation (otherwise the board may hand).
> The device definition may be provided either via device tree description or
> with U_BOOT_DEVICE(mxc_serial) definition. In the latter case the device
> will not bind in U-Boot proper when DM_FLAG_PRE_RELOC is not set.
> The !CONFIG_IS_ENABLED(OF_CONTROL) #if check was set as a "workaround" for
> DM problem described in following commit 4687919684e0
> ("serial: Remove DM_FLAG_PRE_RELOC flag in various drivers").
> Let's look on this check more thoroughly - we add this flag if the board
> doesn't support OF_CONTROL. This is a bit strange as the serial_mxc.c can
> be used with CONFIG_DM_SERIAL but without corresponding device tree
> description (OF_CONTROL). In such case the aforementioned
> U_BOOT_DEVICE(mxc_serial) definition is used.
> Other boards/SoCs have this flag set unconditionally for serial driver.
> Signed-off-by: Lukasz Majewski <lukma@denx.de>

Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic
diff mbox series

Patch

diff --git a/drivers/serial/serial_mxc.c b/drivers/serial/serial_mxc.c
index c9e7bddb7a..3996ddcf3a 100644
--- a/drivers/serial/serial_mxc.c
+++ b/drivers/serial/serial_mxc.c
@@ -366,9 +366,7 @@  U_BOOT_DRIVER(serial_mxc) = {
 #endif
 	.probe = mxc_serial_probe,
 	.ops	= &mxc_serial_ops,
-#if !CONFIG_IS_ENABLED(OF_CONTROL)
 	.flags = DM_FLAG_PRE_RELOC,
-#endif
 };
 #endif