我想把c6455 srio配置为1P4X的模式,是不是这种模式下只使用一个port,那么我在设置寄存器SERDES_CFGRXn_CNTL和SERDES_CFGTXn_CNTL的时候,只使能port0,其余的应该禁止,是这样吗?不过我看别人的例程时候好像四个port口都使能了。
我想应该这么来设置
SRIO_REGS->SERDES_CFGRX_CNTL[0] = 0x00081121; // enable rx, half rate
SRIO_REGS->SERDES_CFGRX_CNTL[1] = 0x00081120; // 禁止port1
SRIO_REGS->SERDES_CFGRX_CNTL[2] = 0x00081120; // 禁止port2
SRIO_REGS->SERDES_CFGRX_CNTL[3] = 0x00081120; // 禁止port3
SRIO_REGS->SERDES_CFGTX_CNTL[0] = 0x00010821; // enable tx, half rate
SRIO_REGS->SERDES_CFGTX_CNTL[1] = 0x00010820; // 禁止port1
SRIO_REGS->SERDES_CFGTX_CNTL[2] = 0x00010820; // 禁止port2
SRIO_REGS->SERDES_CFGTX_CNTL[3] = 0x00010820; // 禁止port3
但是例程中是这么来设置的:
SRIO_REGS->SERDES_CFGRX_CNTL[0] = 0x00081121; // enable rx, half rate
SRIO_REGS->SERDES_CFGRX_CNTL[1] = 0x00081121; // enable rx, half rate
SRIO_REGS->SERDES_CFGRX_CNTL[2] = 0x00081121; // enable rx, half rate
SRIO_REGS->SERDES_CFGRX_CNTL[3] = 0x00081121; // enable rx, half rate
SRIO_REGS->SERDES_CFGTX_CNTL[0] = 0x00010821; // enable tx, half rate
SRIO_REGS->SERDES_CFGTX_CNTL[1] = 0x00010821; // enable tx, half rate
SRIO_REGS->SERDES_CFGTX_CNTL[2] = 0x00010821; // enable tx, half rate
SRIO_REGS->SERDES_CFGTX_CNTL[3] = 0x00010821; // enable tx, half rate
请问为什么这么设置啊?
另外SP_CTL也应该这么设置吗?
SRIO_REGS->PORT[0].SP_CTL = 0x00600000; // enable i/o
SRIO_REGS->PORT[1].SP_CTL = 0x00000000; // 禁止 i/o
SRIO_REGS->PORT[2].SP_CTL = 0x00000000; // 禁止 i/o
SRIO_REGS->PORT[3].SP_CTL = 0x00000000; //禁止 i/o
以上的寄存器都是用来配置port口的,另外那些寄存器用来配置1x或4x模式?
2019-1-21 15:54:49
需要设置SP_IP_MODE 和 PER_SET_CNTL寄存器,具体怎么设置,在手册中有例子,很详尽
需要设置SP_IP_MODE 和 PER_SET_CNTL寄存器,具体怎么设置,在手册中有例子,很详尽
举报