Closed DiogoSilva014 closed 3 months ago
I don't have a imx8QM. I can try to reproduce on a imx8MM only, but both boards are 2 different families and I'm sure they don't share dts
Hi @MrCry0 ,
I saw your PR only reverted the sdhci lpcg's, so I created one with the remaining lpcg's that were affected by that change:
@DiogoSilva014 Thanks for handling this! I'm on the battle line now and don't have enough time to focus on fslc issues, sorry.
No problem, happy to contribute!
I'm still getting 6.6 to run smoothly on the I.MX8QM so I might have some more suggestions.
Thanks
Hi,
I was trying to boot an I.MX8QM-EVK board with 6.6-1.0.x-imx and getting problems due to the MMC not getting probed, thus being unable to mount rootfs. The kernel output was the following:
The lines that seem to be related to the issue are these:
It seemed like the mmc clock has an index problem. From further investigation and comparing this repo with linux-imx I found that the clk index's were changed on the usdhc* devices. For example, usdhc1 on the file imx8-ss-conn.dtsi:
linux-imx:
linux-fslc:
Both repo's have the IMX_LPCG_CLK* defines in the file include/dt-bindings/clock/imx8-lpcg.h. Changing the index's to match imx's made it so the MMC got correctly probed and the board booted. Comparing with mainline, I noticed that linux-fslc seems to be missing these index's in the lpcg's. Example:
linux-fslc:
linux:
From what I can see mainline opt's to use clock-indices and IMX_LPCG_CLK defines while NXP uses bit-offset's and no IMX_LPCG_CLK defines. But in this repo a mixture of both is used, thus not working properly. I am not very familiar with the clock subsystem on Linux and thus, could be misinterpreting the way this is working, but reverting the macros made the board boot again, so something must be wrong.
PS: The issue happens in every device that uses the IMX_LPCG_CLK* macros, although none beside the mmc prevent the board from booting.