Hi,
On a sabrelite-like board with rel_imx_3.10.17_1.0.2_ga, I have got a freeze when rebooting.
This is very reproducible.
The freeze does not happen when cold booting,
as long as the power is kept off for more than about 15 seconds.
With earlyprink enabled, and by adding some printascii, I have been able to find out
the place where the freeze happens.
It is in imx6q_clocks_init,
when doing
writel_relaxed(1 << CCM_CCGR_OFFSET(0), base + 0x7c); |
... nothing happens after.
The only way to be able to boot is to power off the board for about 15 seconds
Does anyone have an idea of what may happen ?
Best regards
Thierry
Hi,
Just had the same issue which was fixed with the given patch.
I wonder however the real explanation of this? Because we have two very
similar prototypes and only one require this patch!
Michaël
For the record, I found out that it's related to PCIe ASPM support.
Once disabled in Kernel, all went fine (without the above patch).
I just commented that particular line in source code. Then I can able to keep moving and executing the other stuff. But I didn't explore what is that settings and how it is working even after commented.
Regards,
Dooty.
I just had this very same problem, solution was to also keep uart clock enabled.
change the write to:
writel_relaxed(1 << CCM_CCGR_OFFSET(0) |
1 << CCM_CCGR_OFFSET(12) |
1 << CCM_CCGR_OFFSET(13), base + 0x7c);
hi Thierry:
now i have the same problem with you.
have you fixed it?
or is there a workaround for this problem ?
my board work well with 1GB ram.
but if i set the RAM size to 512MB in dtb and uboot,
kernel boot will hang at :writel_relaxed(1 << CCM_CCGR_OFFSET(0), base + 0x7c);
this reproduce very boot.
Hi Thierry,
I am also facing the same freeze issue in our imx6q custom board (No PMIC) using 3,10.17 kernel. I am running continuously ON/OFF testing(H/W power down) . If the board is powered ON after 7 sec booting is proper without no issue but If the board is Powered OFF/ON lessthan 2 sec the booting of the kernel hangs very rarely.
It is hanging in the starting kernel....
Tried disabling the PCI in Linux kernel and tried the same test case with time off delay 2 sec. I observed it is running properly without freeze.
I have tried by enabling the earlyprintk in Linux kernel and boot arguments to trace the hanging issue. Still I am not able to trace the exact hanging place .
Earlyprintk enabled the below option
==========================
[*] Kernel low-level debugging functions (read help!)
[*] Early printk
and Boot arguments.
Can you please tell me how to enable printascii to find the exact hanging place.
Regards,
Dooty.
Hi Thierry
on Freescale boards reboot is done as cold reset.
I am not aware how it is done on sabrelite board, suggest to post that
on boundary devices forum. Without resetting whole system (PMIC+processor)
there may be implications with ldo bypass/ldo enable modes, for example
if the i.MX6 was put in LDO bypass mode, then reset the i.MX6 but not the PMIC, and
subsequently the i.MX6 would not be guaranteed to boot because the PMIC
voltages would then not be correct. Also one needs to check that
MMDC was not initialized twice, since at warm reset it is put in self-refresh.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------