* [PATCH] imx: imx8mq: handle ESDHC in mxc_get_clock
@ 2019-12-11 6:17 Peng Fan
2019-12-11 12:03 ` Baruch Siach
2019-12-11 13:38 ` Fabio Estevam
0 siblings, 2 replies; 6+ messages in thread
From: Peng Fan @ 2019-12-11 6:17 UTC (permalink / raw)
To: u-boot
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>
---
arch/arm/mach-imx/imx8m/clock_imx8mq.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/arch/arm/mach-imx/imx8m/clock_imx8mq.c b/arch/arm/mach-imx/imx8m/clock_imx8mq.c
index 2db5bde211..878f2be166 100644
--- a/arch/arm/mach-imx/imx8m/clock_imx8mq.c
+++ b/arch/arm/mach-imx/imx8m/clock_imx8mq.c
@@ -326,16 +326,20 @@ unsigned int mxc_get_clock(enum mxc_clock clk)
{
u32 val;
- if (clk == MXC_ARM_CLK)
+ switch(clk) {
+ case MXC_ARM_CLK:
return get_root_clk(ARM_A53_CLK_ROOT);
-
- if (clk == MXC_IPG_CLK) {
+ case MXC_IPG_CLK:
clock_get_target_val(IPG_CLK_ROOT, &val);
val = val & 0x3;
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)
--
2.16.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH] imx: imx8mq: handle ESDHC in mxc_get_clock
2019-12-11 6:17 [PATCH] imx: imx8mq: handle ESDHC in mxc_get_clock Peng Fan
@ 2019-12-11 12:03 ` Baruch Siach
2020-01-08 11:56 ` Baruch Siach
2019-12-11 13:38 ` Fabio Estevam
1 sibling, 1 reply; 6+ messages in thread
From: Baruch Siach @ 2019-12-11 12:03 UTC (permalink / raw)
To: u-boot
Hi Peng,
On Wed, Dec 11 2019, Peng Fan wrote:
> 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>
This fixes SD card and eMMC access on i.MX8MQ based SolidRun
Hummingboard Pulse.
Tested-by: Baruch Siach <baruch@tkos.co.il>
Thanks,
baruch
> ---
> arch/arm/mach-imx/imx8m/clock_imx8mq.c | 14 +++++++++-----
> 1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm/mach-imx/imx8m/clock_imx8mq.c b/arch/arm/mach-imx/imx8m/clock_imx8mq.c
> index 2db5bde211..878f2be166 100644
> --- a/arch/arm/mach-imx/imx8m/clock_imx8mq.c
> +++ b/arch/arm/mach-imx/imx8m/clock_imx8mq.c
> @@ -326,16 +326,20 @@ unsigned int mxc_get_clock(enum mxc_clock clk)
> {
> u32 val;
>
> - if (clk == MXC_ARM_CLK)
> + switch(clk) {
> + case MXC_ARM_CLK:
> return get_root_clk(ARM_A53_CLK_ROOT);
> -
> - if (clk == MXC_IPG_CLK) {
> + case MXC_IPG_CLK:
> clock_get_target_val(IPG_CLK_ROOT, &val);
> val = val & 0x3;
> 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)
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] imx: imx8mq: handle ESDHC in mxc_get_clock
2019-12-11 6:17 [PATCH] imx: imx8mq: handle ESDHC in mxc_get_clock Peng Fan
2019-12-11 12:03 ` Baruch Siach
@ 2019-12-11 13:38 ` Fabio Estevam
1 sibling, 0 replies; 6+ messages in thread
From: Fabio Estevam @ 2019-12-11 13:38 UTC (permalink / raw)
To: u-boot
Hi Peng,
On Wed, Dec 11, 2019 at 3:17 AM Peng Fan <peng.fan@nxp.com> wrote:
>
> 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>
Thanks for the fix:
Tested-by: Fabio Estevam <festevam@gmail.com>
Stefano,
This one is a bug fix for 2020.01
Thanks
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] imx: imx8mq: handle ESDHC in mxc_get_clock
2019-12-11 12:03 ` Baruch Siach
@ 2020-01-08 11:56 ` Baruch Siach
2020-01-08 12:19 ` Stefano Babic
0 siblings, 1 reply; 6+ messages in thread
From: Baruch Siach @ 2020-01-08 11:56 UTC (permalink / raw)
To: u-boot
Hi Stefano, Peng,
On Wed, Dec 11 2019, Baruch Siach wrote:
> On Wed, Dec 11 2019, Peng Fan wrote:
>> 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>
>
> This fixes SD card and eMMC access on i.MX8MQ based SolidRun
> Hummingboard Pulse.
>
> Tested-by: Baruch Siach <baruch@tkos.co.il>
This patch missed v2020.01 unfortunately. I see it marked as "Awaiting
Upstream" in patchwork (patch 1207464), but I could not find it queued
anywhere. Am I missing anything?
baruch
>> ---
>> arch/arm/mach-imx/imx8m/clock_imx8mq.c | 14 +++++++++-----
>> 1 file changed, 9 insertions(+), 5 deletions(-)
>>
>> diff --git a/arch/arm/mach-imx/imx8m/clock_imx8mq.c b/arch/arm/mach-imx/imx8m/clock_imx8mq.c
>> index 2db5bde211..878f2be166 100644
>> --- a/arch/arm/mach-imx/imx8m/clock_imx8mq.c
>> +++ b/arch/arm/mach-imx/imx8m/clock_imx8mq.c
>> @@ -326,16 +326,20 @@ unsigned int mxc_get_clock(enum mxc_clock clk)
>> {
>> u32 val;
>>
>> - if (clk == MXC_ARM_CLK)
>> + switch(clk) {
>> + case MXC_ARM_CLK:
>> return get_root_clk(ARM_A53_CLK_ROOT);
>> -
>> - if (clk == MXC_IPG_CLK) {
>> + case MXC_IPG_CLK:
>> clock_get_target_val(IPG_CLK_ROOT, &val);
>> val = val & 0x3;
>> 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)
--
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] imx: imx8mq: handle ESDHC in mxc_get_clock
2020-01-08 11:56 ` Baruch Siach
@ 2020-01-08 12:19 ` Stefano Babic
0 siblings, 0 replies; 6+ messages in thread
From: Stefano Babic @ 2020-01-08 12:19 UTC (permalink / raw)
To: u-boot
On 08/01/20 12:56, Baruch Siach wrote:
> Hi Stefano, Peng,
>
> On Wed, Dec 11 2019, Baruch Siach wrote:
>> On Wed, Dec 11 2019, Peng Fan wrote:
>>> 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>
>>
>> This fixes SD card and eMMC access on i.MX8MQ based SolidRun
>> Hummingboard Pulse.
>>
>> Tested-by: Baruch Siach <baruch@tkos.co.il>
>
> This patch missed v2020.01 unfortunately. I see it marked as "Awaiting
> Upstream" in patchwork (patch 1207464), but I could not find it queued
> anywhere. Am I missing anything?
I cannot see it, too. I can just pick it up and push it to -master.
Stefano
>
> baruch
>
>>> ---
>>> arch/arm/mach-imx/imx8m/clock_imx8mq.c | 14 +++++++++-----
>>> 1 file changed, 9 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/arch/arm/mach-imx/imx8m/clock_imx8mq.c b/arch/arm/mach-imx/imx8m/clock_imx8mq.c
>>> index 2db5bde211..878f2be166 100644
>>> --- a/arch/arm/mach-imx/imx8m/clock_imx8mq.c
>>> +++ b/arch/arm/mach-imx/imx8m/clock_imx8mq.c
>>> @@ -326,16 +326,20 @@ unsigned int mxc_get_clock(enum mxc_clock clk)
>>> {
>>> u32 val;
>>>
>>> - if (clk == MXC_ARM_CLK)
>>> + switch(clk) {
>>> + case MXC_ARM_CLK:
>>> return get_root_clk(ARM_A53_CLK_ROOT);
>>> -
>>> - if (clk == MXC_IPG_CLK) {
>>> + case MXC_IPG_CLK:
>>> clock_get_target_val(IPG_CLK_ROOT, &val);
>>> val = val & 0x3;
>>> 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)
>
>
> --
> http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
> =}------------------------------------------------ooO--U--Ooo------------{=
> - baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
>
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] imx: imx8mq: handle ESDHC in mxc_get_clock
@ 2019-12-28 10:48 sbabic at denx.de
0 siblings, 0 replies; 6+ messages in thread
From: sbabic at denx.de @ 2019-12-28 10:48 UTC (permalink / raw)
To: u-boot
> 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>
Applied to u-boot-imx, master, thanks !
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-01-08 12:19 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-11 6:17 [PATCH] imx: imx8mq: handle ESDHC in mxc_get_clock Peng Fan
2019-12-11 12:03 ` Baruch Siach
2020-01-08 11:56 ` Baruch Siach
2020-01-08 12:19 ` Stefano Babic
2019-12-11 13:38 ` Fabio Estevam
2019-12-28 10:48 sbabic at denx.de
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.