<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: PCI Express PLL cannot lock on about 5% of all IMX7D CPUs. in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/PCI-Express-PLL-cannot-lock-on-about-5-of-all-IMX7D-CPUs/m-p/650522#M99531</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;Yes the capacitors are replaced with 0R resistors.&lt;/P&gt;&lt;P&gt;The issue is that the initialization process fails before accessing the RESET GPIO pins.&lt;/P&gt;&lt;P&gt;The function that fails is:&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;static void pci_imx_phy_pll_locked(struct imx6_pcie *imx6_pcie){&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;u32 val;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;int count = 20000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (count--) {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regmap_read(imx6_pcie-&amp;gt;iomuxc_gpr, IOMUXC_GPR22, &amp;amp;val);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (val &amp;amp; BIT(31))&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;udelay(10);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (count == 0)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pr_info("pcie phy pll can't be locked.\n");&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;We inspected the voltage on pins AA9, AA10, AA11, AA12 it seems to be ok.&lt;/P&gt;&lt;P&gt;The problem is very consistent on part of the boards:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;if one board is working it is 100% working, tested in 100 power ups&lt;/LI&gt;&lt;LI&gt;If it fails then it fails, until the&amp;nbsp;imx6_pcie-&amp;gt;pcie_phy_regulator is not set to a higher level in this section:&lt;/LI&gt;&lt;/UL&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;static void imx6_pcie_init_phy(struct pcie_port *pp){&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;int ret;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;struct imx6_pcie *imx6_pcie = to_imx6_pcie(pp);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (is_imx7d_pcie(imx6_pcie)) {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Enable PCIe PHY 1P0D */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regulator_set_voltage(imx6_pcie-&amp;gt;pcie_phy_regulator,&lt;STRONG&gt;1000000&lt;/STRONG&gt;, &lt;STRONG&gt;1000000&lt;/STRONG&gt;);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret = regulator_enable(imx6_pcie-&amp;gt;pcie_phy_regulator);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (ret)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dev_err(pp-&amp;gt;dev, "failed to enable pcie regulator.\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* pcie phy ref clock select; 1? internal pll : external osc */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regmap_update_bits(imx6_pcie-&amp;gt;iomuxc_gpr, IOMUXC_GPR12,BIT(5), imx6_pcie-&amp;gt;phy_refclk ? BIT(5) : 0);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* get pcie phy out of reset to get correct clock rate */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regmap_update_bits(imx6_pcie-&amp;gt;reg_src, 0x2c, BIT(1), 0);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regmap_update_bits(imx6_pcie-&amp;gt;reg_src, 0x2c, BIT(2), 0);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regmap_update_bits(imx6_pcie-&amp;gt;reg_src, 0x2c, BIT(6), 0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;If the &lt;STRONG&gt;bold &lt;/STRONG&gt;value is changed to 1100000 than all boards are working. But 1.1V is out of spec...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Mar 2017 11:02:40 GMT</pubDate>
    <dc:creator>leonidsegal</dc:creator>
    <dc:date>2017-03-15T11:02:40Z</dc:date>
    <item>
      <title>PCI Express PLL cannot lock on about 5% of all IMX7D CPUs.</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/PCI-Express-PLL-cannot-lock-on-about-5-of-all-IMX7D-CPUs/m-p/650520#M99529</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;We assembled a large number of CPUs on our cards and in about 5% of them the PCI Express PLL cannot lock.&lt;/P&gt;&lt;P&gt;The issue can be solved by raising the 1.0V LDO to about 1.05V in part of the CPUs (this is the maximum working condition). And in part of them the voltage should be raised to 1.1V for PLL lock.&lt;/P&gt;&lt;P&gt;Is this a known issue?&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Mar 2017 14:36:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/PCI-Express-PLL-cannot-lock-on-about-5-of-all-IMX7D-CPUs/m-p/650520#M99529</guid>
      <dc:creator>leonidsegal</dc:creator>
      <dc:date>2017-03-14T14:36:25Z</dc:date>
    </item>
    <item>
      <title>Re: PCI Express PLL cannot lock on about 5% of all IMX7D CPUs.</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/PCI-Express-PLL-cannot-lock-on-about-5-of-all-IMX7D-CPUs/m-p/650521#M99530</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Leonid&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reason may be board noise, please check that C458 &amp;amp; C459 are removed. &amp;nbsp;&lt;/P&gt;&lt;P&gt;Schematics (2)&lt;BR /&gt;Design files for i.MX 7Dual (REV D) &lt;BR /&gt;Design files, including hardware schematics, Gerbers, and OrCAD files for i.MX 7Dual (REV D)&lt;BR /&gt;&lt;A href="http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-processors/i.mx-7-processors/i.mx-7dual-processors-heterogeneous-processing-with-dual-arm-cortex-a7-cores-and-cortex-m4-core:i.MX7D?fpsp=1&amp;amp;tab=Design_Tools_Tab"&gt;http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-processors/i.mx-7-processors/i.mx-7dual-processors-heterogeneous-processing-with-dual-arm-cortex-a7-cores-and-cortex-m4-core:i.MX7D?fpsp=1&amp;amp;tab=Design_Tools_Tab&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;also one can check&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/384792"&gt;PCIe link doesn't come up with XIO2001 PCI bridge on iMX6Q custom board &lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Mar 2017 00:01:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/PCI-Express-PLL-cannot-lock-on-about-5-of-all-IMX7D-CPUs/m-p/650521#M99530</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2017-03-15T00:01:34Z</dc:date>
    </item>
    <item>
      <title>Re: PCI Express PLL cannot lock on about 5% of all IMX7D CPUs.</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/PCI-Express-PLL-cannot-lock-on-about-5-of-all-IMX7D-CPUs/m-p/650522#M99531</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;Yes the capacitors are replaced with 0R resistors.&lt;/P&gt;&lt;P&gt;The issue is that the initialization process fails before accessing the RESET GPIO pins.&lt;/P&gt;&lt;P&gt;The function that fails is:&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;static void pci_imx_phy_pll_locked(struct imx6_pcie *imx6_pcie){&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;u32 val;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;int count = 20000;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (count--) {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regmap_read(imx6_pcie-&amp;gt;iomuxc_gpr, IOMUXC_GPR22, &amp;amp;val);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (val &amp;amp; BIT(31))&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;udelay(10);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (count == 0)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pr_info("pcie phy pll can't be locked.\n");&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;We inspected the voltage on pins AA9, AA10, AA11, AA12 it seems to be ok.&lt;/P&gt;&lt;P&gt;The problem is very consistent on part of the boards:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;if one board is working it is 100% working, tested in 100 power ups&lt;/LI&gt;&lt;LI&gt;If it fails then it fails, until the&amp;nbsp;imx6_pcie-&amp;gt;pcie_phy_regulator is not set to a higher level in this section:&lt;/LI&gt;&lt;/UL&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;static void imx6_pcie_init_phy(struct pcie_port *pp){&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;int ret;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;struct imx6_pcie *imx6_pcie = to_imx6_pcie(pp);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (is_imx7d_pcie(imx6_pcie)) {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Enable PCIe PHY 1P0D */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regulator_set_voltage(imx6_pcie-&amp;gt;pcie_phy_regulator,&lt;STRONG&gt;1000000&lt;/STRONG&gt;, &lt;STRONG&gt;1000000&lt;/STRONG&gt;);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ret = regulator_enable(imx6_pcie-&amp;gt;pcie_phy_regulator);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (ret)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dev_err(pp-&amp;gt;dev, "failed to enable pcie regulator.\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* pcie phy ref clock select; 1? internal pll : external osc */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regmap_update_bits(imx6_pcie-&amp;gt;iomuxc_gpr, IOMUXC_GPR12,BIT(5), imx6_pcie-&amp;gt;phy_refclk ? BIT(5) : 0);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* get pcie phy out of reset to get correct clock rate */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regmap_update_bits(imx6_pcie-&amp;gt;reg_src, 0x2c, BIT(1), 0);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regmap_update_bits(imx6_pcie-&amp;gt;reg_src, 0x2c, BIT(2), 0);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regmap_update_bits(imx6_pcie-&amp;gt;reg_src, 0x2c, BIT(6), 0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;If the &lt;STRONG&gt;bold &lt;/STRONG&gt;value is changed to 1100000 than all boards are working. But 1.1V is out of spec...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Mar 2017 11:02:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/PCI-Express-PLL-cannot-lock-on-about-5-of-all-IMX7D-CPUs/m-p/650522#M99531</guid>
      <dc:creator>leonidsegal</dc:creator>
      <dc:date>2017-03-15T11:02:40Z</dc:date>
    </item>
    <item>
      <title>Re: PCI Express PLL cannot lock on about 5% of all IMX7D CPUs.</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/PCI-Express-PLL-cannot-lock-on-about-5-of-all-IMX7D-CPUs/m-p/650523#M99532</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;is PCIe working in uboot, may be useful&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://git.denx.de/?p=u-boot.git;a=commitdiff;h=5a82e1a21d1229e7e3d1c64187735794019e9a1b" title="http://git.denx.de/?p=u-boot.git;a=commitdiff;h=5a82e1a21d1229e7e3d1c64187735794019e9a1b"&gt;git.denx.de Git - u-boot.git/commitdiff&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;~igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Mar 2017 11:45:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/PCI-Express-PLL-cannot-lock-on-about-5-of-all-IMX7D-CPUs/m-p/650523#M99532</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2017-03-15T11:45:49Z</dc:date>
    </item>
    <item>
      <title>Re: PCI Express PLL cannot lock on about 5% of all IMX7D CPUs.</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/PCI-Express-PLL-cannot-lock-on-about-5-of-all-IMX7D-CPUs/m-p/650524#M99533</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I could not find any uboot release that supports PCI on mx7...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Mar 2017 09:05:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/PCI-Express-PLL-cannot-lock-on-about-5-of-all-IMX7D-CPUs/m-p/650524#M99533</guid>
      <dc:creator>leonidsegal</dc:creator>
      <dc:date>2017-03-16T09:05:46Z</dc:date>
    </item>
    <item>
      <title>Re: PCI Express PLL cannot lock on about 5% of all IMX7D CPUs.</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/PCI-Express-PLL-cannot-lock-on-about-5-of-all-IMX7D-CPUs/m-p/650525#M99534</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;general way for such issues is to follow procedure described in AN5158&lt;/P&gt;&lt;P&gt;PCI Express® Certification Guide for the i.MX 6SoloX&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://www.nxp.com/assets/documents/data/en/application-notes/AN5158.pdf" title="http://www.nxp.com/assets/documents/data/en/application-notes/AN5158.pdf"&gt;http://www.nxp.com/assets/documents/data/en/application-notes/AN5158.pdf&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Mar 2017 10:36:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/PCI-Express-PLL-cannot-lock-on-about-5-of-all-IMX7D-CPUs/m-p/650525#M99534</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2017-03-16T10:36:52Z</dc:date>
    </item>
  </channel>
</rss>

