On Thu, Oct 19, 2017 at 10:42 AM, Fabio Estevam <feste...@gmail.com> wrote: > On Thu, Oct 19, 2017 at 9:57 AM, Fabio Estevam <feste...@gmail.com> wrote: > >> On my tests I need to force it 25MHz operation to be able to use the SD card. > > A "less ugly" workaround that affects only mx25pdk: > > --- a/board/freescale/mx25pdk/mx25pdk.c > +++ b/board/freescale/mx25pdk/mx25pdk.c > @@ -180,7 +180,7 @@ int board_mmc_init(bd_t *bis) > * to 50 MHz that can be obtained, which requires to use UPLL as the > * clock source. This actually gives 48 MHz. > */ > - imx_set_perclk(MXC_ESDHC1_CLK, true, 50000000); > + imx_set_perclk(MXC_ESDHC1_CLK, true, 25000000); > esdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC1_CLK); > return fsl_esdhc_initialize(bis, &esdhc_cfg[0]); > } > > For mx51evk this also fixes the issue: > > diff --git a/board/freescale/mx51evk/mx51evk.c > b/board/freescale/mx51evk/mx51evk.c > index 9e8a02e..72b09b5 100644 > --- a/board/freescale/mx51evk/mx51evk.c > +++ b/board/freescale/mx51evk/mx51evk.c > @@ -323,7 +323,7 @@ int board_mmc_init(bd_t *bis) > u32 index; > int ret; > > - esdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK); > + esdhc_cfg[0].sdhc_clk = 25000000; > esdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK); > > for (index = 0; index < CONFIG_SYS_FSL_ESDHC_NUM;
I think the original RFC is better as workaround as it solves the issue for other boards. This does not mean we shouldn't fix the root cause ... -- Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot