]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ARM: OMAP1: Fix DEBUG_LL and earlyprintk on OMAP16XX
authorAaro Koskinen <aaro.koskinen@iki.fi>
Fri, 27 Mar 2026 17:15:10 +0000 (19:15 +0200)
committerKevin Hilman <khilman@baylibre.com>
Mon, 30 Mar 2026 21:19:54 +0000 (14:19 -0700)
On OMAP16XX, the UART enable bit shifts are written instead of the actual
bits. This breaks the boot when DEBUG_LL and earlyprintk is enabled;
the UART gets disabled and some random bits get enabled. Fix that.

Fixes: 34c86239b184 ("ARM: OMAP1: clock: Fix early UART rate issues")
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Link: https://patch.msgid.link/aca7HnXZ-aCSJPW7@darkstar.musicnaut.iki.fi
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
arch/arm/mach-omap1/clock_data.c

index c58d200e4816b81abe41aecc4afcbce6e52a515b..5203b047deac8102bf1a94acd28bb52a5efde499 100644 (file)
@@ -700,8 +700,8 @@ int __init omap1_clk_init(void)
        /* Make sure UART clocks are enabled early */
        if (cpu_is_omap16xx())
                omap_writel(omap_readl(MOD_CONF_CTRL_0) |
-                           CONF_MOD_UART1_CLK_MODE_R |
-                           CONF_MOD_UART3_CLK_MODE_R, MOD_CONF_CTRL_0);
+                           (1 << CONF_MOD_UART1_CLK_MODE_R) |
+                           (1 << CONF_MOD_UART3_CLK_MODE_R), MOD_CONF_CTRL_0);
 #endif
 
        /* USB_REQ_EN will be disabled later if necessary (usb_dc_ck) */