Freeze at boot when initializing clock gate status

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Freeze at boot when initializing clock gate status

1,831 Views
thierrybultel
Contributor II

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

Labels (3)
7 Replies

997 Views
michaëlburtin
Contributor II

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

0 Kudos

997 Views
michaëlburtin
Contributor II

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).

0 Kudos

997 Views
Embedding
Contributor II

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.

0 Kudos

997 Views
emilmyhrman
Contributor IV

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);

0 Kudos

997 Views
hushange
Contributor I

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.

0 Kudos

997 Views
Embedding
Contributor II

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.

0 Kudos

997 Views
igorpadykov
NXP Employee
NXP Employee

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!

-----------------------------------------------------------------------------------------------------------------------