-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Far End Test Loop and MDIO #1
Comments
Thanks for the write up! I had noticed the same sentence in the datasheet and hoped that simply re-linking the device would "just work," but alas.
Oh, really? The datasheet lists the reset value of that register as 0x0001, not 0x0003—could that be an off-by-one in the MDIO implementation?
"Hmm" intensifies: definitely seems sus that we'd write |
Ok, some ideas:
Footnotes
|
I think the current state of this issue is that:
But what we have done is:
So as a result, we're fairly confident in our "write" implementation, and that the error for (2) lies in the "read" side and that (1) is due to an undocumented constraint or pre-requisite on the "far end test loop." Does that all sound right to you? |
I'm attempting to follow the instructions written by @sethp in TEST.md to perform the Far End Test loop.
So I have
l2perf
locally and built, and ran the l2perf commands under the Far End Test loop heading as well as ran the MDIO code under thejtag
directory to set the 0x13 register to0b010_0_0000_0000_0001
putting the PHY in the "far end test loop" (FETL) mode.The l2perf Rx test did not show anything appearing, although the Orange LED blinks when the Tx test occurs, perhaps indicating that the PHY is in fact at least receiving the data.
Reading the GPY111 datasheet slightly more carefully I saw that the PHY will put itself in FETL mode after it re-links with another device. Taking that to mean that I should try unplugging the ethernet cable and pluugging it back in I did that, but again to no avail.
Then I wanted to verify the contents of the register at 0x13, and reading the value I see 0x8003: or "RJTL RL45 connector test loop".
Reading the contents during the reset state yields 0xFFFF (expected), and after reset is allowed to get pulled high and the GPY111 chip runs again, before writing the value of the register is 0x0003 (Or no testing mode enabled).
This makes think that the GPY is genuinely not in FETL mode when we're doing the above
l2perf
tests. And that means:More likely something fishy is up with the MDIO implementation and we should investigate that.
The text was updated successfully, but these errors were encountered: