Hello everyone,
We're doing a bring-up of a custom board that has TI TDA4 SoC and TJA1120 PHY on it. After including the nxp_c45_tja11xx driver in our Linux build, we got an error during boot inside the nxp_c45_soft_reset function. If we make a change to the phy_read_mmd_poll_timeout macro call so that its last parameter (sleep_before_read) is true instead of false as is the case by default, this issue disappears. We also tried using shorter sleep (1000 us) before phy_read_mmd_poll_timeout and this also works.
It seems that without any sleep between MDIO write and read, the software tries to read the PHY register while it's still in reset and fails. But, strangely, this wasn't noticed by anyone so far. Could this be somehow caused by our board, or is this perhaps a bug in the driver?
Note:
We are using the revision 1 of TJA1120A Phy.
Best Regards,
Dusan
已解决! 转到解答。
Hello @DusanStanisic99 ,
that might be a small bug in the driver. Your observation seems to be correct to me.
Please refer to TJA1120's application note, AN13663, page 30 - where startup timing is depicted.
Best regards,
Pavel
Hello @DusanStanisic99 ,
that might be a small bug in the driver. Your observation seems to be correct to me.
Please refer to TJA1120's application note, AN13663, page 30 - where startup timing is depicted.
Best regards,
Pavel