[Jetson TK1] Mini PCI Express version?


Can anyone tell me which PCIe version does the Mini PCIe port has?


sudo lspci -vv

it prints a line saing

LnkCap: Port #1, Speed 5GT/s, Width x1, [...]

where “5GT/s” is the theoretical maximum bandwidth of PCIe 2 version (aka Gen2).
So I guess that at least the internal PCIe is version 2.0 .

Can anyone confirm that Jetson TK1 can use the full bandwidth of a mini-PCIe gen2 card?

Wouldn’t the x1 imply single lane, i.e., PCIe x1? I am guessing when I say the 5GT/s probably applies to the standard followed for a full x16 device, and suspect that the x1 means you will achieve full speed of this subset of lanes. I wouldn’t know how to test this.

Thanks linuxdev,

Yes, x1 means single lane. But depending on the PCIe version, 1.0 or 2.0 (there are higher versions too), each lane has a throughput of 2.5 and 5 GT/s respectively. A PCIe x16 connection would imply 40 and 80 GT/s throughput, respectively.

Since it says “LnkCap: Port #1, Speed 5GT/s, Width x1, […]” I was guessing its version 2.

In the mean time I found out this post http://devblogs.nvidia.com/parallelforall/low-power-sensing-autonomy-nvidia-jetson-tk1/ that indicates that at least the Tegra K1 SoC itself has a PCIe 2 bus.

My doubt is if the mini-PCIe connector (which has to be x1 lanes by specification) is capable of version 2.0 throughputs. Right now, I would say it does.

Well…the trick is how to test this? I do have a working wired gigabit network adapter on this mini-PCIe, but I suspect expensive hardware would be required to verify throughput. The lspci -vv output does say it is v2. Perhaps more information on what depends the throughput would help, e.g., hard disk controller, mini-PCIe video card, etc, would help.

The cheapest hardware you could probably get might be a SATA 6G dual card with some SSDs hooked up.
Just RAID0 some SSDs and see if you get faster than PCIe 1x 1.0 can handle.
Might have more luck finding a desktop card and using a riser style adapter.
I’m thinking of purchasing such an adapter but until all of the driver stuff is figured out I’m holding off.

I also have a miniPCIe-PCIe adapter but I’m afraid that if it was not “electromagnetic compatibility”-designed to version 2 speeds then the transmission errors can be so high that the effective bandwidth can be lowered.

In fact I was holding off be be sure before I buy an expensive mini-PCIe Gen2 card…
I guess I’ll buy it and discover after.



Can you clarify that it is PCI 1.0 or 2.0 at miniPCIe connector?


The Tegra TRM says:

Gen1 (2.5 GT/s) and Gen2 (5.0 GT/s) speeds are supported.

Those are chip capabilities. I’m not sure how Linux configures these. It looks like the PCI bridges are configured for 5 GT/s under L4T R19.3, but my only PCIe peripherals are running 2.5 GT/s (presumably because my peripherals only run this fast). A lot can be found from “lspci -vvv” and searching for “Speed”.