<?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: MX6 and PCIE implementation question? in i.MX Processors</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210700#M12571</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks, Greg.&amp;nbsp; I get the sense that the resistor change to terminate the PCIe reference clock may apply to our design.&amp;nbsp; The PCIe clock has a requirement for differential impedance that is slightly more strict than we anticipated.&amp;nbsp; Perhaps we aren't meeting the requirement.&amp;nbsp; Also, we added an external clock to drive the PCIe, but I'm not positive that I'm configuring the i.MX6 properly to use it.&amp;nbsp; The method I used to tell the i.MX6 to use the external reference (at the CLK1_N and CLK1_P pins) is as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static void __init set_pcie_external_reference(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void __iomem *pmu_reg = IO_ADDRESS(0x020C8000);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u32 tmpdata;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BUG_ON(0xDEADBEEF == (u32)pmu_reg);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmpdata = readl(pmu_reg + 0x160); /* PMU_MISC1n */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmpdata &amp;amp;= ~(0x1F);&amp;nbsp; /* clear clock 1 select */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmpdata |= (0xA);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* CLK1: select PCIe Reference */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmpdata &amp;amp;= ~(1&amp;lt;&amp;lt;10); /* CLK1: disable output */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmpdata |= (1&amp;lt;&amp;lt;12);&amp;nbsp; /* CLK1: enable input */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(tmpdata, pmu_reg + 0x160);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;Do you have something similar?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;-Charlie&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 03 Dec 2012 16:12:33 GMT</pubDate>
    <dc:creator>kitz36</dc:creator>
    <dc:date>2012-12-03T16:12:33Z</dc:date>
    <item>
      <title>MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210695#M12566</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Has anyone got this working?&amp;nbsp; I have the NOVPEK board from NOVTECH and built their kernel with PCIE enabled.&amp;nbsp; We connected a switch (PEX 8604BA-AIC1U1D RDK from PLX) up to it but do not see anything with the "lspci" command.&amp;nbsp; Should I see something?&amp;nbsp; Where would I look?&amp;nbsp; In the /sys or /proc trees?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did plug the switch into a Windows XP machine and it recognized it under System Devices so I don't think it is the switch.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Greg&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Oct 2012 20:08:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210695#M12566</guid>
      <dc:creator>GregT</dc:creator>
      <dc:date>2012-10-05T20:08:22Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210696#M12567</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've got the PCIe working on the NOVPEK board.&amp;nbsp; We had to add 12V supply to the connector, put a couple of resistors to terminate a clock and change the Linux kernel to use a different clock source.&amp;nbsp; Ask and I can send the details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have been able to connect end point devices to the PCIe connector including a PCIe to USB card and an Altera FPGA development card.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We still have a problem with switches.&amp;nbsp; The kernel crashes trying to access the configuration space of the ports of the switch.&amp;nbsp; The switch itself is recognized and enumerated but when the first connection port of the switch configuration space is read it crashes.&amp;nbsp; It is trying to access 0x01F10000.&amp;nbsp; FYI, the switch configuration space is at 0x01F00000.&amp;nbsp; This offset scheme somewhat conflicts with the reference manual that seems to indicate that a new bus should be at 1M offset (1 &amp;lt;&amp;lt; 20) rather than 64k offset (1 &amp;lt;&amp;lt; 16).&amp;nbsp; (1 &amp;lt;&amp;lt; 16) is the PCI standard.&amp;nbsp; Anybody looking into this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Greg&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 03 Nov 2012 13:51:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210696#M12567</guid>
      <dc:creator>GregT</dc:creator>
      <dc:date>2012-11-03T13:51:25Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210697#M12568</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;PCIe switch functionality is validated. For more details check the below link:&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.iwavesystems.com/?q=node/299" title="http://www.iwavesystems.com/?q=node/299"&gt;PCIe Switch Functionality on i.MX6 Board | iWave Systems&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;iWave Systems&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Nov 2012 10:45:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210697#M12568</guid>
      <dc:creator>iWave</dc:creator>
      <dc:date>2012-11-16T10:45:35Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210698#M12569</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would be interested in hearing what specifically you had to do to get PCIE working.&amp;nbsp; I'm working on a design that connects an i.MX6 to a single endpoint, an FPGA.&amp;nbsp; I've compiled Freescale's Linux kernel to enable PCIE.&amp;nbsp; We are also sourcing the clock externally.&amp;nbsp; When the board comes up, it reports that the PCIE link is down.&amp;nbsp; "lspci" does not return any output - not even the root complex - which sounds similar to what you experienced initially.&amp;nbsp; I am particularly interested in what resistors you had to place.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;-Charlie&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Nov 2012 19:49:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210698#M12569</guid>
      <dc:creator>kitz36</dc:creator>
      <dc:date>2012-11-28T19:49:24Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210699#M12570</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I believe the resistors were put in to terminate the ref clock lines for the PCIe interface on the development board.  This was suggested by the maker of the develoment board, Novtech.  There was also a clock change in the BSP source.  I can get you details of the BSP change as well as a pic of the terminating resistors on Monday.  The pic and BSP change may not help if you don't have the Novtech board.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Greg&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 01 Dec 2012 18:22:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210699#M12570</guid>
      <dc:creator>GregT</dc:creator>
      <dc:date>2012-12-01T18:22:39Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210700#M12571</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks, Greg.&amp;nbsp; I get the sense that the resistor change to terminate the PCIe reference clock may apply to our design.&amp;nbsp; The PCIe clock has a requirement for differential impedance that is slightly more strict than we anticipated.&amp;nbsp; Perhaps we aren't meeting the requirement.&amp;nbsp; Also, we added an external clock to drive the PCIe, but I'm not positive that I'm configuring the i.MX6 properly to use it.&amp;nbsp; The method I used to tell the i.MX6 to use the external reference (at the CLK1_N and CLK1_P pins) is as follows:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static void __init set_pcie_external_reference(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; void __iomem *pmu_reg = IO_ADDRESS(0x020C8000);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; u32 tmpdata;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BUG_ON(0xDEADBEEF == (u32)pmu_reg);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmpdata = readl(pmu_reg + 0x160); /* PMU_MISC1n */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmpdata &amp;amp;= ~(0x1F);&amp;nbsp; /* clear clock 1 select */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmpdata |= (0xA);&amp;nbsp;&amp;nbsp;&amp;nbsp; /* CLK1: select PCIe Reference */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmpdata &amp;amp;= ~(1&amp;lt;&amp;lt;10); /* CLK1: disable output */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmpdata |= (1&amp;lt;&amp;lt;12);&amp;nbsp; /* CLK1: enable input */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writel(tmpdata, pmu_reg + 0x160);&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;Do you have something similar?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;-Charlie&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Dec 2012 16:12:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210700#M12571</guid>
      <dc:creator>kitz36</dc:creator>
      <dc:date>2012-12-03T16:12:33Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210701#M12572</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The resistors we put in were 49.9 Ohm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We are using the MX6 generated clock rather than having an external clock.   We did modify the PMU_MISC1 register but modified the LVDS_CLK2 configurations, not the LVDS_CLK1 configurations as you have below.   I would try modifying the LVDS2 configurations in your function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FYI, below is our code for setting up the MX6 to generate the PCIe clock.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static int &lt;U&gt;clk&lt;/U&gt;pcie_enable(struct clk *clk)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;        unsigned int reg;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        /* Activate LVDS CLK2 (the PCIe clock input) */&lt;/P&gt;&lt;P&gt;        /* Disable the clock first */&lt;/P&gt;&lt;P&gt;        reg = __raw_readl(ANADIG_MISC1_REG);&lt;/P&gt;&lt;P&gt;        reg &amp;amp;= ~ANATOP_LVDS_CLK2_IBEN_MASK;&lt;/P&gt;&lt;P&gt;        __raw_writel(reg, ANADIG_MISC1_REG);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        reg = __raw_readl(ANADIG_MISC1_REG);&lt;/P&gt;&lt;P&gt;        reg |= (ANATOP_LVDS_CLK1_SRC_SATA &amp;lt;&amp;lt; 5); /* shift over to LVDS_CLK2 */&lt;/P&gt;&lt;P&gt;        __raw_writel(reg, ANADIG_MISC1_REG);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        reg = __raw_readl(ANADIG_MISC1_REG);&lt;/P&gt;&lt;P&gt;        reg |= ANATOP_LVDS_CLK2_OBEN_MASK;&lt;/P&gt;&lt;P&gt;        __raw_writel(reg, ANADIG_MISC1_REG);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        /* Enable PCIE ref clock */&lt;/P&gt;&lt;P&gt;        reg = __raw_readl(PLL8_ENET_BASE_ADDR);&lt;/P&gt;&lt;P&gt;        reg |= ANADIG_PLL_ENET_EN_PCIE;&lt;/P&gt;&lt;P&gt;        __raw_writel(reg, PLL8_ENET_BASE_ADDR);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        &lt;U&gt;clk&lt;/U&gt;enable(clk);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        return 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Greg Topmiller&lt;/P&gt;&lt;P&gt;Staff Software Engineer&lt;/P&gt;&lt;P&gt;240-404-2620&lt;/P&gt;&lt;P&gt;Greg.topmiller@jdsu.com&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Dec 2012 16:56:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210701#M12572</guid>
      <dc:creator>GregT</dc:creator>
      <dc:date>2012-12-03T16:56:22Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210702#M12573</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the help, Greg.&amp;nbsp; We're still trying to figure this out, but I wanted to check in.&amp;nbsp; I expect that part of our problem is dealing with the PCIe reference clock, which is affected by the source code above.&amp;nbsp; I don't have access to the NOVPEK schematics, but I expect it routes a clock from the i.MX6 CLK2 pins to the PCIe switch reference clock pins.&amp;nbsp; I'm guessing the PCIe switch wants a 100MHz clock.&amp;nbsp; Your source code routes the SATA reference clock out the CLK2 pins.&amp;nbsp; Since the PCIe reference clock (125MHz) and the SATA reference (100MHz) have the ENET_PLL as a clock parent, this is valid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Our design uses a common external 100MHz reference for both the i.MX6 and the PCIe endpoint.&amp;nbsp; For us, the trick is getting the reference from the CLK1 pins to the PCIe PHY, then applying the right PLL multipliers.&amp;nbsp; Right now I think we have the reference getting to the PCIe PHY, but I'm having trouble getting the PCIe PHY PLL to lock.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, that's my current story.&amp;nbsp; If anyone has any experience using an external reference to drive the i.MX6 PCIe PHY, I'd love to hear about it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Charlie&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Dec 2012 16:39:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210702#M12573</guid>
      <dc:creator>kitz36</dc:creator>
      <dc:date>2012-12-07T16:39:29Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210703#M12574</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We have the PCIe switch working now with the MX6 as root, a Pericom switch, and three end points (two altera FPGAs and one USB controller).&amp;nbsp; We had help from Nils who got us past the Cfg Type 1 problem using the ATU.&amp;nbsp; The code is attached. It is hard coded for this specific bus topology. You will have to modify it fit your topology.&amp;nbsp; It also still has debug code in it that is commented out.&amp;nbsp; Here is the lspci output:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;root@freescale ~$ lspci&lt;/P&gt;&lt;P&gt;00:00.0 Class 0604: 16c3:abcd&lt;/P&gt;&lt;P&gt;01:00.0 Class 0604: 12d8:2404&lt;/P&gt;&lt;P&gt;02:01.0 Class 0604: 12d8:2404&lt;/P&gt;&lt;P&gt;02:02.0 Class 0604: 12d8:2404&lt;/P&gt;&lt;P&gt;02:03.0 Class 0604: 12d8:2404&lt;/P&gt;&lt;P&gt;03:00.0 Class ff00: 1172:e001&lt;/P&gt;&lt;P&gt;04:00.0 Class 0c03: 1b21:1042&lt;/P&gt;&lt;P&gt;05:00.0 Class ff00: 1172:e001&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To get the driver to handle multiple bus topologies a data abort handler is needed so when a device doesn't exist the Linux kernel will return all F's and the PCI driver system will not enumerate it. I'm going to try calling hook_fault_code for the specific fault code I am seeing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Greg&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Dec 2012 13:30:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210703#M12574</guid>
      <dc:creator>GregT</dc:creator>
      <dc:date>2012-12-12T13:30:02Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210704#M12575</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm also working on getting PCI-E to work for our setup. And when reading the current BSP source and those lines you posted I am wondering why the LVDS1 (CLK1_P/N) or in your case CLK2_P/N needs the SATA reference clock output when the intention is to clock a PCI-E card on another end. I was thinking of using the *SRC_PCIE macro (which is 0xa 0b1010) but that didn't work but the *SRC_SATA macro (which is 0xb 0b1011) works.&lt;/P&gt;&lt;P&gt;What's the reason for using *SATA here?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Dec 2012 13:35:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210704#M12575</guid>
      <dc:creator>danielmi</dc:creator>
      <dc:date>2012-12-17T13:35:20Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210705#M12576</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This code was given to me by Novtech who I believe got it directly from Freescale.  The clocking architecture is not well documented and we rely on Freescale to provide support.  That can be difficult to get and usually no explanation (this case) is given.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Greg Topmiller&lt;/P&gt;&lt;P&gt;Staff Software Engineer&lt;/P&gt;&lt;P&gt;240-404-2620&lt;/P&gt;&lt;P&gt;Greg.topmiller@jdsu.com&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Dec 2012 13:55:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210705#M12576</guid>
      <dc:creator>GregT</dc:creator>
      <dc:date>2012-12-17T13:55:31Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210706#M12577</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Maybe some Freescale member could drop in and provide us with an explanation here. :smileyhappy:&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Dec 2012 13:59:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210706#M12577</guid>
      <dc:creator>danielmi</dc:creator>
      <dc:date>2012-12-17T13:59:59Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210707#M12578</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The i.MX6DQ reference manual sort of uses the terms "PCIe clock" and "SATA clock" interchangeably with "125MHz clock" and "100MHz clock", respectively.&amp;nbsp; Reference the following sections in th IMX6DQ reference manual (revision O):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- 18.5.1.3.6&amp;nbsp; Ethernet PLL: "...Ref_PCIe = 125MHz, Ref_SATA=100MHz..."&lt;/P&gt;&lt;P&gt;- 18.7.15&amp;nbsp; Analog ENET PLL Control Register (CCM_ANALOG_PLL_ENETn): clock enable bits are called "ENABLE_100M" and "ENABLE_125M"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've had this confirmed by Freescale.&amp;nbsp; Basically, the external PCIe clock can configured to be either 125MHz or 100MHz, corresponding to the 125MHz and 100MHz outputs of the ENET PLL.&amp;nbsp; Freescale's BSP defaults to routing the 100MHz clock (a.k.a. the SATA clock) to the CLK1 pins for output to the PCIe link partner.&amp;nbsp; It sounds like the NOVPEK wants to use the CLK2 pins instead of CLK1, but still wants a 100MHz reference clock.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Changing the source in PMU_MISC1n from SATA to PCIe would result in changing the reference clock output by the i.MX6 from 100MHz to 125MHz.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Charlie&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Dec 2012 15:40:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210707#M12578</guid>
      <dc:creator>kitz36</dc:creator>
      <dc:date>2012-12-17T15:40:53Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210708#M12579</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yep, I was aware of the fact that SATA is a 100Mhz clock and PCI-E is a 125Mhz clock. I was just thinking that the PCI-E standard requires a 125Mhz clock at the slot. Though, as I don't have access to that document, I'm merely guessing.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Dec 2012 16:56:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210708#M12579</guid>
      <dc:creator>danielmi</dc:creator>
      <dc:date>2012-12-17T16:56:57Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210709#M12580</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;On the NOVPEK the 100Mhz is for the downstream pcie devices not the board.&amp;nbsp; In the 2.1 PCIe spec in section 4.3.7.4 it refers to a Refclk of 100 MHz +- 300 ppm.&amp;nbsp; In 3.0 PCIe spec section 4.3.8.4 it mentions the Refclk with nominal frequency of 100 MHza nd +- 300 ppm offset.&amp;nbsp; I don't see any mention of a Refclk of 125 MHz.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Dec 2012 21:08:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210709#M12580</guid>
      <dc:creator>GregT</dc:creator>
      <dc:date>2012-12-17T21:08:38Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210710#M12581</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm guessing the Freescale documentation calls the 125MHz clock "PCIe" because it's the reference clock for the PCIe PHY in the i.MX6.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 Dec 2012 21:14:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210710#M12581</guid>
      <dc:creator>kitz36</dc:creator>
      <dc:date>2012-12-17T21:14:07Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210711#M12582</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, then it makes perfect sense. Thank you for looking that up.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Dec 2012 04:33:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210711#M12582</guid>
      <dc:creator>danielmi</dc:creator>
      <dc:date>2012-12-18T04:33:51Z</dc:date>
    </item>
    <item>
      <title>Re: MX6 and PCIE implementation question?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210712#M12583</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for posting the answer Greg, it will surely help someone else in the near future!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Sep 2014 13:49:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX6-and-PCIE-implementation-question/m-p/210712#M12583</guid>
      <dc:creator>SergioSolis</dc:creator>
      <dc:date>2014-09-25T13:49:51Z</dc:date>
    </item>
  </channel>
</rss>

