On Thu, Apr 24, 2025 at 11:35 PM Fabio Estevam <feste...@gmail.com> wrote:

> I haven't had a chance to debug this issue yet.

I applied this debug patch:

--- a/drivers/mmc/fsl_esdhc_imx.c
+++ b/drivers/mmc/fsl_esdhc_imx.c
@@ -1539,6 +1539,7 @@ static int fsl_esdhc_probe(struct udevice *dev)
        }

        priv->sdhc_clk = clk_get_rate(&priv->per_clk);
+       printf("****** sdhc clk is %d\n", priv->sdhc_clk);
 #else
        init_clk_usdhc(dev_seq(dev));

With the top-of-tree U-Boot, SPL calculates the wrong sdhc_clk on the
imx8mm-evk:

U-Boot SPL 2025.04-01380-ga9820e12db18-dirty (Apr 25 2025 - 09:40:45 -0300)
No pmic
WDT:   Started watchdog@30280000 with servicing every 1000ms (60s timeout)
SEC0:  RNG instantiated
Trying to boot from MMC1
****** sdhc clk is 204522251

If I revert b4734c9c333b ("clk: imx: Convert clock-osc-* back to
osc_*"), the clock is calculated correctly:

U-Boot 2025.04-01380-ga9820e12db18-dirty (Apr 25 2025 - 09:40:45 -0300)

CPU:   NXP i.MX8MMQ Rev1.0 A53 at 1200 MHz
CPU:   Consumer temperature grade (0C to 95C) at 42C
Model: FSL i.MX8MM EVK board
DRAM:  2 GiB
Core:  188 devices, 24 uclasses, devicetree: separate
WDT:   Started watchdog@30280000 with servicing every 1000ms (60s timeout)
MMC:   fsl_esdhc mmc@30b50000: no vqmmc-supply
****** sdhc clk is 200000000

If I do:

--- a/dts/upstream/src/arm64/freescale/imx8mm-evk.dtsi
+++ b/dts/upstream/src/arm64/freescale/imx8mm-evk.dtsi
@@ -614,8 +614,6 @@
 };

 &usdhc2 {
-       assigned-clocks = <&clk IMX8MM_CLK_USDHC2>;
-       assigned-clock-rates = <200000000>;
        pinctrl-names = "default", "state_100mhz", "state_200mhz";
        pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
        pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;

Then the pause is gone, but the printed clock is incorrect:

U-Boot SPL 2025.04-01380-ga9820e12db18-dirty (Apr 25 2025 - 09:52:28 -0300)
No pmic
WDT:   Started watchdog@30280000 with servicing every 1000ms (60s timeout)
SEC0:  RNG instantiated
Trying to boot from MMC1
****** sdhc clk is 1431655607

Adam, imx8mm-beacon does not have the
assigned-clocks/assigned-clock-rates properties.

Maybe this is why you haven't observed the problem?

Reply via email to