基本概念:
1.宽度:PCIe标准支持X1、X2、X4、X8等链路宽度;
2.链路速率:由两个设备所支持的最高速率决定,gen1,gen2,gen3;软件可改,但是一般gen2有问题,降低速效果不大;
3.链路翻转:又叫链路反转,比如一个x4的设备,正常的接法是lan0到lan3,如下图左侧电路接法,链路反转的接法如下图右侧接法.设计链路反转的原因有多个,硬件布线,绕lan0通信故障的情况;
下面是2k上软件修改方法:
pmon文件中Targets/LS2K/ls2k/start.S,以pcie1为例子
//pcie1 port0
dli t0, 0x900000fe0800680c
li t1, 0xfff9ffff
lw t2, 0x0(t0)
and t1, t1, t2
or t1, 0x20000
sw t1, 0x0(t0)
…
dli t1, 0xff204f //最低两位为1表示开启反转功能,为0表示关闭反转功能;如果关闭反转功能则配置为0xff204c;
sw t1, 0x0(t0)
4.链路极性翻转:即差分信号中的正负信号反接,其目的也是在于方便PCB走线。
技术探索不易,有各种问题欢迎交流