@mntmn Hey! I assume you're familiar with PCIE at the hardware level with all your MNT work? I'm trying to understand PCIE design with an ARM chip for a project I have in mind, but I can't find a definitive guide for splitting PCIE lanes and how different generations can be split for best performance. Would you have any suggestions for where I could look?
@aphistic hey, i'm not a pcie expert but i thought that pcie lane splitting or merging is a feature of the specific chip's root controller. i've only seen it on layerscape and rk3588 so far where it's handled differently. on rk3588 the 3.0 controller has several split options for its 4 lanes that can be setup in the device tree. i guess it depends on the bandwidth needs of your downstream devices?
@mntmn Ahh, gotcha! The rk3588 was actually one of the chips I was looking at. The general idea is a device that can transfer CFexpress (or SD UHS-II+) as fast as possible to an m.2 NVMe drive. This is really fast for modern embedded chips, so I was also looking at something like an N150. I'm mainly trying to figure out if I can connect a 3.0 x4 to a 4.0 x2 since it's the same bandwidth but different generations.
@aphistic interesting challenge! if you connect a 4.0 x2 device to a 3.0 x4 controller, or the other way around, the best connection it'll make will be 3.0 x2. if you had a 4.0 x4 controller, you'd get the most bandwidth, but i don't know any arm socs that have a bunch of gen 4 lanes. so intel sounds like a better bet for this yeah
@mntmn Ah, ok. I think that answers another part of my question. You can't go from a newer-gen controller to an older-gen device using fewer lanes on the newer-gen controller...? Since each lane is a physical pair of wires? Like, 4.0 x2 -> 3.0 x4 is not possible directly? Are there ICs you're aware of (or some name) that would allow you to do that type of conversion?
@aphistic correct, a lane is 4 wires (rx pair and tx pair), and a ref clock pair per controller. if you have 4 gen 4 lanes, you can saturate anything that has up to 4 lanes and any gen up to gen 4 ^^ regarding conversion, the only thing that could theoretically do it are pcie packet switches, but i didn't check if they really can.