AnsweredAssumed Answered

i.MX6Q SATA PLL failure

Question asked by Pavel Nakonechny on Oct 9, 2014
Latest reply on Jan 15, 2015 by Pavel Nakonechny

Hi, all!

 

We have our custom board with i.MQX6 Quad on it. This board significantly based on SABRE Lite D one.

 

When Linux kernel boots, we see following messages:

[    2.368995] Wait for CR ACK error!

[    2.393698] Wait for CR ACK error!

[    2.418597] Wait for CR ACK error!

[    2.443331] Wait for CR ACK error!

[    2.470046] Wait for CR ACK error!

[    2.494640] Wait for CR ACK error!

[    2.521353] Wait for CR ACK error!

[    2.546059] Wait for CR ACK error!

[    2.572772] Wait for CR ACK error!

[    2.597462] Wait for CR ACK error!

[    2.624175] Wait for CR ACK error!

[    2.648866] Wait for CR ACK error!

[    2.675538] Wait for CR ACK error!

[    2.700164] Wait for CR ACK error!

[    2.703592] Wating for RX_PLL lock time out

 

And further...

[    3.722579] ahci ahci: AHCI 0000.0000 1 slots 1 ports ? Gbps 0x1 impl platform mode

[    3.730249] ahci ahci: flags:

[    3.734678] scsi0 : ahci_platform

[    3.738240] ata1: SATA max UDMA/133 mmio [mem 0x02200000-0x02203fff] port 0x100 irq 71

 

And finally..

[    4.811475] ata1: failed to resume link (SControl 0)

[    4.816466] ata1: SATA link down (SStatus 0 SControl 0)

 

So, SATA did not work.

 

What might be the cause of this?

 

We have tried exactly the same kernel binary image with HummingBoard (the only one development kit that we have) and SATA works fine there.

 

So we think, that it is hardware issue, but we did not know where to look for the reason of it.

 

Our assumption was that something wrong with ENET PLL (PLL6). It constructs it own clock (500 MHz) from external 24 MHz, then divides it to 100 MHz for SATA and 125 MHz for PCIe. So, if 24 MHz is broken, then SATA and PCIe and Ethernet would not work. However, we have double checked this and found nothing wrong.

 

We have tried to bring up PCIe and catched some problems with it:

- We can observe 100 MHz clock on CLK1_N/CLK2_P pins.

- Rarely we even got link with PCIe card.

- Almost all time Linux kernel hangs while trying to access PCIe.

 

Ethernet works fine, but it takes it clock from AR8031 phy.

Outcomes