On October 14, 2016 7:25:14 PM CEST, Andrew Lunn [off-list ref] wrote:
quoted
So after calling BMCR_PDOWN, the PHYSID1 and PHYSID2 registers are
no longer readable. Is that expected?
You are making two changes here. Is it the SGMII power down which is
causing the id registers to return 0xffff, or the BMCR_PDOWN.
I would be curious to know about that as well.
The generic suspend code sets the PDOWN bit, so it is assuming the PHY
will respond afterwards.
After reading the spec again, it does not appear to me that a PHY with PDOWN set is guaranteed or even required to respond to other register reads such as MII_PHYID1/2, in which case we may have to implement a MDIO bus reset routine which clears PDOWN for all PHYs that we detect(ed), or as Andrew suggested, utilize the matching by compatible string with the PHY OUI in it.
--
Florian