[U-Boot] [PATCH] arm: mach-omap2: am33xx: Init pinmux before clock

The board_early_init_f() inits clock before initing pinmux. However, the clock configuration code might need to adjust PMIC settings of a PMIC on I2C bus (e.g. board/ti/am335x/board.c does that). If the I2C bus pin muxing is not configured before attempting to communicate with the PMIC, the communication will silently fail and the prcm_init() may configure fast enough CPU clock that the default voltage provided by the PMIC would be insufficient and the platform would become unstable.
Signed-off-by: Marek Vasut marex@denx.de Cc: Jean-Jacques Hiblot jjhiblot@ti.com Cc: Tom Rini trini@konsulko.com --- arch/arm/mach-omap2/am33xx/board.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/mach-omap2/am33xx/board.c b/arch/arm/mach-omap2/am33xx/board.c index 5507348981..03460c3eb7 100644 --- a/arch/arm/mach-omap2/am33xx/board.c +++ b/arch/arm/mach-omap2/am33xx/board.c @@ -375,8 +375,8 @@ void update_rtc_magic(void) */ int board_early_init_f(void) { - prcm_init(); set_mux_conf_regs(); + prcm_init(); #if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_RTC_DDR_SUPPORT) update_rtc_magic(); #endif

On Sat, May 25, 2019 at 10:40:35PM +0200, Marek Vasut wrote:
The board_early_init_f() inits clock before initing pinmux. However, the clock configuration code might need to adjust PMIC settings of a PMIC on I2C bus (e.g. board/ti/am335x/board.c does that). If the I2C bus pin muxing is not configured before attempting to communicate with the PMIC, the communication will silently fail and the prcm_init() may configure fast enough CPU clock that the default voltage provided by the PMIC would be insufficient and the platform would become unstable.
Signed-off-by: Marek Vasut marex@denx.de Cc: Jean-Jacques Hiblot jjhiblot@ti.com Cc: Tom Rini trini@konsulko.com
Applied to u-boot/master, thanks!
participants (2)
-
Marek Vasut
-
Tom Rini