mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-29 16:10:58 +00:00
imx: imx8mq: handle ESDHC in mxc_get_clock
fsl_esdhc_imx driver will call "mxc_get_clock(MXC_ESDHC_CLK + dev->seq)", however mxc_get_clock wrongly handle MXC_ESDHC_CLK as root clk and cause sd card could not be detected in U-Boot proper, as below: "Loading Environment from MMC... unable to select a mode" Handle MXC_ESDHC_CLK in mxc_get_clock to fix the issue. Signed-off-by: Peng Fan <peng.fan@nxp.com> Tested-by: Baruch Siach <baruch@tkos.co.il> Tested-by: Fabio Estevam <festevam@gmail.com>
This commit is contained in:
parent
279d0ab352
commit
392a4e6dd3
1 changed files with 9 additions and 5 deletions
|
@ -326,16 +326,20 @@ unsigned int mxc_get_clock(enum mxc_clock clk)
|
||||||
{
|
{
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
if (clk == MXC_ARM_CLK)
|
switch(clk) {
|
||||||
|
case MXC_ARM_CLK:
|
||||||
return get_root_clk(ARM_A53_CLK_ROOT);
|
return get_root_clk(ARM_A53_CLK_ROOT);
|
||||||
|
case MXC_IPG_CLK:
|
||||||
if (clk == MXC_IPG_CLK) {
|
|
||||||
clock_get_target_val(IPG_CLK_ROOT, &val);
|
clock_get_target_val(IPG_CLK_ROOT, &val);
|
||||||
val = val & 0x3;
|
val = val & 0x3;
|
||||||
return get_root_clk(AHB_CLK_ROOT) / (val + 1);
|
return get_root_clk(AHB_CLK_ROOT) / (val + 1);
|
||||||
}
|
case MXC_ESDHC_CLK:
|
||||||
|
return get_root_clk(USDHC1_CLK_ROOT);
|
||||||
|
case MXC_ESDHC2_CLK:
|
||||||
|
return get_root_clk(USDHC2_CLK_ROOT);
|
||||||
|
default:
|
||||||
return get_root_clk(clk);
|
return get_root_clk(clk);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 imx_get_uartclk(void)
|
u32 imx_get_uartclk(void)
|
||||||
|
|
Loading…
Reference in a new issue