The GENI SE QUP wrapper driver (geni-se-qup) needs to be bound during
pre-relocation to allow its child devices (such as the debug UART) to
be discovered and probed before relocation.

Without DM_FLAG_PRE_RELOC, the qupv3 device is skipped during the
pre-relocation DM scan, which prevents early serial devices from
being bound. This causes serial_find_console_or_panic() to fail with
"No serial driver found" during serial_init().

Add DM_FLAG_PRE_RELOC to the geni_se_qup driver so that the GENI SE
QUP wrapper and its children are bound during pre-relocation, enabling
the serial console to be initialized correctly.

Signed-off-by: Gurumoorthy Santhakumar <[email protected]>
---
 drivers/misc/qcom_geni.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/misc/qcom_geni.c b/drivers/misc/qcom_geni.c
index a62ae6a2478..cbad7bd3bd2 100644
--- a/drivers/misc/qcom_geni.c
+++ b/drivers/misc/qcom_geni.c
@@ -576,5 +576,5 @@ U_BOOT_DRIVER(geni_se_qup) = {
        .of_match = geni_ids,
        .of_to_plat = geni_se_of_to_plat,
        .plat_auto = sizeof(struct geni_se_plat),
-       .flags = DM_FLAG_DEFAULT_PD_CTRL_OFF,
+       .flags = DM_FLAG_PRE_RELOC | DM_FLAG_DEFAULT_PD_CTRL_OFF,
 };
-- 
2.34.1

Reply via email to