PCI Express
Posted: Sat Sep 08, 2018 3:11 am
Hello,
Has anybody been able to use PCI Express on Vocore 2? I've tried it recently on my board I bought from the indiegogo campaign and I'm unable to get the LinkUp Status in 0x10142050 register (page 423 of MT7628AK datasheet).
The board is connected as follows:
The driver I'm using a standard kernel driver originating from openwrt or I'm using just a direct register access by devmem for observing the LinkUp Status register.
It may be possible my connection setup is too noisy, but when I'm using the same PCIe port extender connected by a longer (2m) usb cable to a manually made express card in my notebook, everything works. It seems to me it can only be a problem with FFC stuff, interconnection with USB connector or something with vocore itself. My ideas are: a much weaker transmitter than in notebook - BTW what is the longest FFC cable allowed? or an incomplete register documentation - at least in the kernel driver there are lines like:
.. and RALINK_PCIEPHY_P0_CTL_OFFSET isn't documented anywhere (maybe the PCIe link can be disabled by some LnkCtl in the PCI configuration space?)
BTW it seems there aren't DC coupling capacitors on the vocore, are the not required?
Anyway it will be probably some problem I overlooked but: Thanks for any help![Wink ;-)](./images/smilies/icon_e_wink.gif)
Has anybody been able to use PCI Express on Vocore 2? I've tried it recently on my board I bought from the indiegogo campaign and I'm unable to get the LinkUp Status in 0x10142050 register (page 423 of MT7628AK datasheet).
The board is connected as follows:
- Vocore 2 board
- FH19SC FFC connector
- 10cm long FFC cable
- some generic FFC connector with interconnection to USB connector
- 0.6m USB superspeed cable
- PCIe power extender with independent power
The driver I'm using a standard kernel driver originating from openwrt or I'm using just a direct register access by devmem for observing the LinkUp Status register.
It may be possible my connection setup is too noisy, but when I'm using the same PCIe port extender connected by a longer (2m) usb cable to a manually made express card in my notebook, everything works. It seems to me it can only be a problem with FFC stuff, interconnection with USB connector or something with vocore itself. My ideas are: a much weaker transmitter than in notebook - BTW what is the longest FFC cable allowed? or an incomplete register documentation - at least in the kernel driver there are lines like:
- Code: Select all
/* voodoo from the SDK driver */
pcie_m32(~0xff, 0x5, RALINK_PCIEPHY_P0_CTL_OFFSET);
.. and RALINK_PCIEPHY_P0_CTL_OFFSET isn't documented anywhere (maybe the PCIe link can be disabled by some LnkCtl in the PCI configuration space?)
BTW it seems there aren't DC coupling capacitors on the vocore, are the not required?
Anyway it will be probably some problem I overlooked but: Thanks for any help
![Wink ;-)](./images/smilies/icon_e_wink.gif)