On Thu, Apr 14, 2022 at 10:20 AM Tim Harvey <[email protected]> wrote: > > On Tue, Apr 12, 2022 at 6:31 PM Peng Fan (OSS) <[email protected]> wrote: > > > > From: Peng Fan <[email protected]> > > > > Enable CONFIG_DM_SERIAL. uart2 and its pinmux was already > > marked with u-boot,dm-spl. > > > > Signed-off-by: Peng Fan <[email protected]> > > --- > > board/freescale/imx8mn_evk/spl.c | 12 ++---------- > > configs/imx8mn_ddr4_evk_defconfig | 1 + > > configs/imx8mn_evk_defconfig | 1 + > > 3 files changed, 4 insertions(+), 10 deletions(-) > > > > diff --git a/board/freescale/imx8mn_evk/spl.c > > b/board/freescale/imx8mn_evk/spl.c > > index 03f2a56e805..8708c93fa34 100644 > > --- a/board/freescale/imx8mn_evk/spl.c > > +++ b/board/freescale/imx8mn_evk/spl.c > > @@ -110,14 +110,8 @@ int board_fit_config_name_match(const char *name) > > } > > #endif > > > > -#define UART_PAD_CTRL (PAD_CTL_DSE6 | PAD_CTL_FSEL1) > > #define WDOG_PAD_CTRL (PAD_CTL_DSE6 | PAD_CTL_ODE | PAD_CTL_PUE | > > PAD_CTL_PE) > > > > -static iomux_v3_cfg_t const uart_pads[] = { > > - IMX8MN_PAD_UART2_RXD__UART2_DCE_RX | MUX_PAD_CTRL(UART_PAD_CTRL), > > - IMX8MN_PAD_UART2_TXD__UART2_DCE_TX | MUX_PAD_CTRL(UART_PAD_CTRL), > > -}; > > - > > static iomux_v3_cfg_t const wdog_pads[] = { > > IMX8MN_PAD_GPIO1_IO02__WDOG1_WDOG_B | MUX_PAD_CTRL(WDOG_PAD_CTRL), > > }; > > @@ -130,8 +124,6 @@ int board_early_init_f(void) > > > > set_wdog_reset(wdog); > > > > - imx_iomux_v3_setup_multiple_pads(uart_pads, ARRAY_SIZE(uart_pads)); > > - > > return 0; > > } > > > > @@ -147,8 +139,6 @@ void board_init_f(ulong dummy) > > > > timer_init(); > > > > - preloader_console_init(); > > - > > /* Clear the BSS. */ > > memset(__bss_start, 0, __bss_end - __bss_start); > > > > @@ -158,6 +148,8 @@ void board_init_f(ulong dummy) > > hang(); > > } > > > > + preloader_console_init(); > > + > > enable_tzc380(); > > > > /* DDR initialization */ > > diff --git a/configs/imx8mn_ddr4_evk_defconfig > > b/configs/imx8mn_ddr4_evk_defconfig > > index 917cdb5aa9d..474d9cfa4d2 100644 > > --- a/configs/imx8mn_ddr4_evk_defconfig > > +++ b/configs/imx8mn_ddr4_evk_defconfig > > @@ -76,6 +76,7 @@ CONFIG_PINCTRL_IMX8M=y > > CONFIG_DM_REGULATOR=y > > CONFIG_DM_REGULATOR_FIXED=y > > CONFIG_DM_REGULATOR_GPIO=y > > +CONFIG_DM_SERIAL=y > > CONFIG_MXC_UART=y > > CONFIG_SYSRESET=y > > CONFIG_SPL_SYSRESET=y > > diff --git a/configs/imx8mn_evk_defconfig b/configs/imx8mn_evk_defconfig > > index 7749ebe537e..5bc175154ba 100644 > > --- a/configs/imx8mn_evk_defconfig > > +++ b/configs/imx8mn_evk_defconfig > > @@ -83,6 +83,7 @@ CONFIG_DM_REGULATOR=y > > CONFIG_SPL_DM_REGULATOR=y > > CONFIG_DM_REGULATOR_FIXED=y > > CONFIG_DM_REGULATOR_GPIO=y > > +CONFIG_DM_SERIAL=y > > CONFIG_MXC_UART=y > > CONFIG_SYSRESET=y > > CONFIG_SPL_SYSRESET=y > > -- > > 2.35.1 > > > > Peng, > > I see you've been able to get SPL DM_SERIAL to work on IMX8M. This > patch won't apply by the way due to commit ff1c7961d813 ("ARM: imx: > imx8mn-evk: enable DM_SERIAL") so I think you need to rebase. > > I have not been able to get SPL DM_SERIAL to work on IMX8MM/IMX8MN... > it hangs my board. Is this due to moving preloader_console_init() > perhaps? Moving it didn't work for me. > > Please explain the move of preloader_console_init() and please let me > know if you have tested this on imx/master. Fabio, perhaps you can > test? >
Peng, I see my mistake now... the preloader_console_init() must come after spl_early_init(). You still need to rebase on imx/master and you should also add a comment to the commit such as: "move the preloader_console_init() call after spl_early_init() to avoid board hang" or perhaps you can come up with a reason for why the board hangs otherwise. Is it that spl_early_init() does the relocation and we need to be after that? Best Regards, Tim

