Hello,
I'm currently in the process of updating the DP83867 driver to incorporate Time Domain Reflectometry (TDR) functionality. However, I've encountered an issue during testing. Regardless of how many times I run the test using 'ethtool --cable-test eno1', the results retrieved from the registers remain consistent, even after trying different cables.
Here's a snippet of the code I'm working with:
ret = phy_read(phydev, DP83867_TDR_PEAKS_LOC_8);
if(ret < 0)
return ret;
printk("DP83867_TDR_PEAKS_LOC_8: %d", ret);
matrix[0][0] = (ret & DP83867_TDR_PEAKS_LOC_8_D_0_MASK) >> DP83867_TDR_PEAKS_LOC_8_D_0_SHIFT;
ret = phy_read(phydev, DP83867_TDR_PEAKS_LOC_9);
if (ret < 0)
return ret;
printk("DP83867_TDR_PEAKS_LOC_9: %d", ret);
matrix[1][0] = ret & DP83867_TDR_PEAKS_LOC_9_D_1_MASK;
matrix[2][0] = (ret & DP83867_TDR_PEAKS_LOC_9_D_2_MASK) >> DP83867_TDR_PEAKS_LOC_9_D_2_SHIFT;
ret = phy_read(phydev, DP83867_TDR_PEAKS_LOC_10);
if (ret < 0)
return ret;
Any insights or suggestions on resolving this issue would be greatly appreciated. Thank you in advance for your help.
kind regards,
Mart

