AnsweredAssumed Answered

PCIe of i.MX6 don’t work with external clock

Question asked by mas sohy on Oct 3, 2018
Latest reply on Oct 10, 2018 by mas sohy

Dear Community Member,


I am trying PCIe with new original board. Its PCIe is driven by external clock.  

PCIe use input clock from CLK_1N/P. Its clock is 100MHz and LVDS level.


I modified clk-imx6.c, pci-imx6.c and dts file in tune with inputting external clock in reference to this thread. i.MX6q PCIe with external clock and SATA


    clocks {

        anaclk1 {

                compatible = "fixed-clock";

                reg = <0>;

                #clock-cells = <0>;

                clock-frequency = <100000000>;  /* 100MHz */




&pcie {

    status = "okay";

    clocks = <&clks IMX6QDL_CLK_PCIE_AXI>,

             <&clks IMX6QDL_CLK_LVDS1_IN>,

             <&clks IMX6QDL_CLK_PCIE_REF_125M>,

             <&clks IMX6QDL_PLL6_BYPASS>,

             <&clks IMX6QDL_PLL6_BYPASS_SRC>;


    clock-names = "pcie", "pcie_bus", "pcie_phy", "pcie_ext", "pcie_ext_src";

    ext_osc = <1>;



&clks {

        assigned-clocks = <&clks IMX6QDL_PLL6_BYPASS_SRC>,

                          <&clks IMX6QDL_PLL6_BYPASS>;

        assigned-clock-parents = <&clks IMX6QDL_CLK_LVDS1_IN>,

                                 <&clks IMX6QDL_PLL6_BYPASS_SRC>;

        assigned-clock-rates = <100000000>, <100000000>;



And I added this line in *.cfg file of u-boot in reference to this thread. Setting the iMX6 PCIe Clocks

DATA 4, 0x020c80e4, 0x00010501


But I encountered these messages at booting kernel.


1ffc000.pcie supply pcie-bus not found, using dummy regulator

imx6q-pcie 1ffc000.pcie: phy link never came up

imx6q-pcie 1ffc000.pcie: Failed to bring link up!

imx6q-pcie 1ffc000.pcie: failed to initialize host

imx6q-pcie: probe of 1ffc000.pcie failed with error -22


Please tell me where I should check and modify.