Page 1 of 2

schematics & sources

PostPosted: Thu Oct 09, 2014 6:48 am
by vubber
Hello,

i'm trying to get the 3.14 linaro kernel up and running on the MoiPro which works for the most part, with the exception of the PCIe bus.

It sees the PCIe root complex, the pericom switch/bridge, but any cards attached to the switch only show after a bus rescan, and don't work (Tried a TBS6985, and an intel gigE adaptor)

In the 3.0.35 logs i can see some tbs modifications to the standard pci driver
Code: Select All Code
new added delay time for Pericom bridge start
new added delay time for Pericom bridge end


Would it be possible to release the kernel/uboot sources used? and the schematics so I can wire up the correct pins in the devicetree?

Thanks

Re: schematics & sources

PostPosted: Thu Oct 09, 2014 11:19 am
by updatelee
All are currently opensource and openhardware already.

UDL

Re: schematics & sources

PostPosted: Thu Oct 09, 2014 3:50 pm
by vubber
I know the imx6 base sources are available from freescale, linaro or even mainline (I tried them all to get the PCIe working), but TBS made some changes to support the specific HW (PCIe switch)

Also, although the MoiPro cpu board is probably related to matrixtv, it is not entirely the same thing (no audio codec, sd card slot, ... but a PCIe switch)

I'm mainly interested in the changes they made to PCIe sources, and the schematics

Re: schematics & sources

PostPosted: Thu Oct 09, 2014 9:31 pm
by updatelee

Re: schematics & sources

PostPosted: Fri Oct 10, 2014 4:18 am
by vubber
MoiPro != matrixtv

They are related though, and I did use the info you reference to get the board up with the 3.14 kernel. On any kernel other than the stock moipro 3.0.35 kernel PCIe does not work (also the 3.0.35 stock matrixtv kernel does not magically make PCIe work, nor does freescale 3.10.17 :( ).

The 3.0.35 MoiPro kernel spits out some messages that cannot be found by grepping the matrixtv kernel sources, so some unpublished changes were made that make the devices behind the PCIe switch work.

Basically the PCIe bus layout is one of the key differences between the moipro (PCIe switch+ 2 regular PCIe 1-lane slots) and the matrixtv (1 Mini-PCIe slot, no PCIe switch), so there are physical differences

MoiPro binary images: http://sourceforge.net/projects/moipro
More info: http://www.tbsdtv.com/products/tbs2911-moi-pro.html

PCIe Riser Card (Contains a Pericom PI7C9X2G304SL PCIe switch)
Image
Board shots of the MoiPro (TBS2911) (Older h/w version, my board does not have the barrel connector, minisd slot .. anymore)
download/file.php?id=2281&mode=view
Image
Image

Re: schematics & sources

PostPosted: Fri Oct 10, 2014 3:18 pm
by steven
Hi vubber

Yea,if you want to use Pericom switch,need to change some code in kernel.but how you let our tuner work with
3.14 kernel ?

we are plan to make the 3.14 kernel support,if you do not mind can you share your last 3.14 kernel ? we will try to add
the Pericom switch and our tuner support.

Thanks

Kind Regards

steven

Re: schematics & sources

PostPosted: Fri Oct 10, 2014 4:45 pm
by vubber
Hi Steven,

for the driver I'm using the ljalves/CrazyCat linux_media tree (https://github.com/ljalves/linux_media) as I also would like to use a DVB-T dongle that needs a fairly recent kernel. These drivers do require MSI interrupts to be functional, which according to some sources does not fully work on 3.14 for imx6.

Sure, I'd be happy to share my 3.14 kernel, although I haven't done much changes yet beyond the sabresd defconfig other than wiring up the PCI reset and power-on GPIOs (from the matrixtv v2.1 schematic, I hope they are the same pins on MoiPro). I took the kernel from https://github.com/linux4kix/linux-linaro-stable-mx6

At bootup the stock 3.14 kernel sees the PCI root complex and the bridge, after a pci rescan, the TB6985 is detected, but it looks to me the memory/BAR area's are not setup correctly. I'll get you a dmesg.

I'll clean my buildroot tree up a bit over the weekend as I tried to do a backport of the linux-pci dev tree https://git.kernel.org/cgit/linux/kernel/git/helgaas/pci.git ( pci/host-designware , pci/host-imx6 and pci/msi branches)

Thanks

Re: schematics & sources

PostPosted: Fri Oct 10, 2014 9:52 pm
by updatelee
vubber: wow, I clearly was having a massive brain fart. I apologize, I completely miss read your post and thought we were talking about the Matrix TV. Sorry about that.

UDL

Re: schematics & sources

PostPosted: Fri Oct 10, 2014 11:13 pm
by vubber
no worries, no offence taken :) You were only trying to help

as an avid linux media/dvb tinkerer, I have come across your linux-media trees and deeply respect your efforts

Now maybe I need to start taking up feedhunting ... :D

kind regards

Re: schematics & sources

PostPosted: Mon Oct 13, 2014 5:26 am
by vubber
Hi Steven,

I've attached a patch what I've changed to the 3.14 kernel, without any luck so far. I've also added a dmesg and a lspci

It's really hard to find a datasheet for the pcie switch, I only managed to find datasheet for similar devices.

From looking at those I have a couple of questions
    * do we need to toggle gpios to handle card resets?
    * does the switch auto configure? are the config registers set over SMBUS? (I did note the PCI config registers are set differently from 3.0.35)

It would be really handy to get an idea of how the switch is wired physically, and of the changes done to the 3.0.35 pcie driver. Without these it's like working in the dark

thx