Tool/software:
Not receiving packets on ports connected to channel 2 and 6.
Transmit Retimer channels 0,2,4,6 inputs are from Broadcom switch . Output channels 0,2,4,6 are connected to SFP+ connectors. On the connector side, output side channels 2,6 ports _P & _N are swapped at connector side (within port only).
We are inverting the polarity using the code below
Code Invert Polarity based on Table 7-15. Invert the Polarity of the Output Data
UInt32 val3 = 0,val1 = 0, val2 = 0;
ReTimerDev[3]->set32(0xFC, 0x20);
usleep(1000);
ReTimerDev[3]->set32(0x3D, 0x80);
usleep(1000000);
ReTimerDev[3]->get32(0x3D, val1);
usleep(1000);
ReTimerDev[3]->get32(0x3E, val2);
usleep(1000);
ReTimerDev[3]->get32(0x3F, val3);
LOG(THIS_BLOCK<<"Prashant K Before inverting val1 "<<val1 << " val2 " << val2 << " val3 " << val3);
usleep(1000000);
val1 ^= (1 << 6);
val2 ^= (1 << 6);
val3 ^= (1 << 6);
LOG(THIS_BLOCK<<"Prashant K after inverting val1 "<<val1 << " val2 " << val2 << " val3 " << val3);
ReTimerDev[3]->set32(0x3D, val1);
usleep(1000000);
ReTimerDev[3]->set32(0x3E, val2);
usleep(1000000);
ReTimerDev[3]->set32(0x3F, val3);
usleep(1000000);
LOG(THIS_BLOCK<<" val1 "<<val1 << " val2 " << val2 << " val3 " << val3);
val1 = 0;
val2 = 0;
val3 = 0;
ReTimerDev[3]->set32(0xFC, 0x80);
usleep(1000);
ReTimerDev[3]->set32(0x3D, 0x80);
usleep(1000000);
ReTimerDev[3]->get32(0x3D, val1);
usleep(1000);
ReTimerDev[3]->get32(0x3E, val2);
usleep(1000);
ReTimerDev[3]->get32(0x3F, val3);
usleep(1000);
LOG(THIS_BLOCK<<"Prashant K Before inverting val1 "<<val1 << " val2 " << val2 << " val3 " << val3);
val1 ^= (1 << 6);
val2 ^= (1 << 6);
val3 ^= (1 << 6);
LOG(THIS_BLOCK<<"Prashant K After inverting val1 "<<val1 << " val2 " << val2 << " val3 " << val3);
ReTimerDev[3]->set32(0x3D, val1);
usleep(1000000);
ReTimerDev[3]->set32(0x3E, val2);
usleep(1000000);
ReTimerDev[3]->set32(0x3F, val3);
usleep(1000000);
LOG(THIS_BLOCK<<" val1 "<<val1 << " val2 " << val2 << " val3 " << val3);
Is there any issue with the code, with this code ports connected to channel 2 and 6 started working but ports 5 and 6 stopped working.