AnsweredAssumed Answered

Output 125MHz vs. 100MHz for PCIe

Question asked by Chris Bobek on Apr 25, 2018
Latest reply on May 4, 2018 by Yuri Muhin

Hi Community,

On our Linux 3.x kernel, our PCIe bus works and outputs 125MHz on the CLK1_P and CLK1_N pins, which is what we want.  When we migrated to the Linux 4.9 kernel, the PCIe bus works, but it outputs a 100MHz clock.

 

When we modified the clk-imx6q.c file to output the 125MHz clock, the clock was correct, but Linux hung during boot as shown below.  Does anybody have any suggestions on how to set this configuration up in Linux 4.9?

 

---------- clk-imx6q.c change ------------

    if (IS_ENABLED(CONFIG_PCI_IMX6)) {

        //clk_set_parent(clk[IMX6QDL_CLK_LVDS1_SEL], clk[IMX6QDL_CLK_SATA_REF_100M]);

        clk_set_parent(clk[IMX6QDL_CLK_LVDS1_SEL], clk[IMX6QDL_CLK_PCIE_REF_125M]);

 

---------- Linux 4.9 crash during boot -------------

...

io scheduler noop registered

io scheduler deadline registered

io scheduler cfq registered (default)

OF: PCI: host bridge /soc/pcie@0x01000000 ranges:

OF: PCI:   No bus range found for /soc/pcie@0x01000000, using [bus 00-ff]

OF: PCI:    IO 0x01f80000..0x01f8ffff -> 0x00000000

OF: PCI:   MEM 0x01000000..0x01efffff -> 0x01000000

 

Thank you,

 

Chris

Outcomes