[U-Boot] PCIe on the i.MX6?

Greg Topmiller Greg.Topmiller at jdsu.com
Fri Nov 9 03:58:59 CET 2012


Carolyn,



It's an i.MX6 Quad.  Sorry the clock fix didn't help.  The clocks in the Freescale processors that we've used, i.MX51 and i.MX6, are not well documented in the reference manual so we depend on the BSP we're given.



Regards,



Greg

________________________________
From: Carolyn Smith [carolynsmi56 at gmail.com]
Sent: Thursday, November 08, 2012 7:30 PM
To: Greg Topmiller
Cc: Fabio Estevam (festevam at gmail.com); u-boot at lists.denx.de
Subject: Re: PCIe on the i.MX6?

Greg,

Thanks for the info. Unfortunately when I made that change to the PMU_MISC1 register, my PCIe link did not come up at all which is a bit mystifying given it worked for you. Are you using an i.MX6 Solo or a Dual/Quad?

I think I have got my BARs working though. The latest reference manual I got today gave me the correct PCIE_RC register map and with that, I'm now properly setting the PCIE_RC_COMMAND register with bus master enable, I/O space enable and memory space enable. That got me access to my I/O space BAR.

Carolyn

On Thu, Nov 8, 2012 at 5:07 AM, Greg Topmiller <Greg.Topmiller at jdsu.com<mailto:Greg.Topmiller at jdsu.com>> wrote:
Carolyn,

It contains 0x40000960.  Yes we did change the code to clear LVDSCLK2_IBEN and then set the LVDS_CLK2 to SATA then set LVDSCLK2_OBEN.

BTW, I made a mistake in the binary value to select SATA in the message below.  It should be 01011b.

Regards,

Greg Topmiller
Staff Software Engineer
240-404-2620<tel:240-404-2620>
Greg.topmiller at jdsu.com<mailto:Greg.topmiller at jdsu.com>

From: Carolyn Smith [mailto:carolynsmi56 at gmail.com<mailto:carolynsmi56 at gmail.com>]
Sent: Wednesday, November 07, 2012 3:03 PM
To: Greg Topmiller
Cc: Fabio Estevam (festevam at gmail.com<mailto:festevam at gmail.com>); u-boot at lists.denx.de<mailto:u-boot at lists.denx.de>
Subject: Re: PCIe on the i.MX6?

Hi Greg,

What is the exact value of your PMU_MISC1 register? Did you change the code to clear LVDSCLK2_IBEN and set LVDSCLK2_OBEN as well?

We haven't tried a PCIe switch. We just have an FPGA directly connected to the i.MX6.

Thanks,
Carolyn
On Wed, Nov 7, 2012 at 8:38 AM, Greg Topmiller <Greg.Topmiller at jdsu.com<mailto:Greg.Topmiller at jdsu.com>> wrote:
Hi Carolyn,

I saw your message on the Denx mailing list.

I have the Novpek board with the MX6 quad on it and a full PCIe interface.  I am working in the Freescale Linux kernel and to get the interface to work we had to change a clock source for the PCIe.  We had to use the LVDS2 as SATA clock source rather than LVDS1 as SATA.  This is controlled by the PMU_MISC1 register at offset 0x20c8160.  In the reference manual it's section 49.7.6, page 4413.  Set the LVDS2_CLK_SEL (bits 9-5) field to SATA (010011b).  The original code set LVDS1_CLK_SEL (bits 4-0) to SATA(010011b).  Hope this helps.

Our current problem is getting a PCIe switch to work with the MX6.  The upstream port config space is available but the down stream is not.  0x1f00000 is exposed as the upstream config space but I expected the down stream to be at 0x1f10000 but nothing there.  Let me know if you have any ideas.  Have you tried a PCIe switch yet?

Thanks,

Greg Topmiller
Staff Software Engineer
240-404-2620<tel:240-404-2620>[X]
Greg.topmiller at jdsu.com<mailto:Greg.topmiller at jdsu.com>


>Yes, I have the PCI clocks on. I can read the config space and can see the
>PCIe bus traffic using a logic analyzer when I do so. When I try reading
>memory or I/O space, I don't see any bus traffic.
>
>Thanks,
>Carolyn
>
>On Thu, Nov 1, 2012 at 11:18 AM, Fabio Estevam <festevam at gmail.com<http://gmail.com>> wrote:
>
>> On Thu, Nov 1, 2012 at 2:32 PM, Carolyn Smith <carolynsmi56 at gmail.com<http://gmail.com>>
>> wrote:
>> > Hello,
>> >
>> > Does anyone have any experience with PCIe on an i.MX6 processor (in
>> > particular the i.MX6 Solo)?
>> >
>> > I can access the config space of my PCIe device but can't seem to get its
>> > BARs mapped in properly. I thought I had the viewports set up but when I
>> > try to access the space, I just get a processor lockup.
>>
>> Have you turned on the PCI clocks?
>>




More information about the U-Boot mailing list