arm: mach-omap2: am33xx: Init pinmux before clock
authorMarek Vasut <marex@denx.de>
Sat, 25 May 2019 20:40:35 +0000 (22:40 +0200)
committerTom Rini <trini@konsulko.com>
Thu, 11 Jul 2019 18:11:20 +0000 (14:11 -0400)
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

index 5507348981b9f4ebd6992f930fd4bee4354a0816..03460c3eb7e78240d7492978973b8bacbba883eb 100644 (file)
@@ -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