system will be stuck in readl_relaxed function when UUU tool flash image
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello @CoolSean
I hope you are doing well.
Could you please share the logs of issue in UUU tool?
Are you able to flash successfully without your custom functions?
Best regards,
Salas.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Could you please share the logs of issue in UUU tool?
There are no errors in log. It get stuck on readl_relaxed when system reboot to copy DTS and kernel image to /run/media/mmcblk2p1
Are you able to flash successfully without your custom functions?
Yes, it will flash successfully without readl_relaxed. There are no errors in of_find_compatible_node and of_iomap functions.
And I found the same code in sources/linux-imx/drivers/soc/imx/soc-imx8m.c, which can success to readl / writel to efuse (0x30350000)
np = of_find_compatible_node(NULL, NULL, "fsl,imx8mm-ocotp");
if (!np)
return;
ocotp_base = of_iomap(np, 0);
WARN_ON(!ocotp_base);
clk = of_clk_get_by_name(np, NULL);
if (IS_ERR(clk)) {
WARN_ON(IS_ERR(clk));
return;
}
clk_prepare_enable(clk);
soc_uid = readl_relaxed(ocotp_base + OCOTP_UID_HIGH + offset);
soc_uid <<= 32;
soc_uid |= readl_relaxed(ocotp_base + OCOTP_UID_LOW + offset);
if (offset) {
soc_uid_h = readl_relaxed(ocotp_base + IMX8MP_OCOTP_UID_HIGH + 0x10);
soc_uid_h <<= 32;
soc_uid_h |= readl_relaxed(ocotp_base + IMX8MP_OCOTP_UID_HIGH);
}
My function add in sources/linux-imx/drivers/thermal/imx8mm_thermal.c , but it cannot read efuse memory successfully
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Have any suggestion?
