[U-Boot] [PATCH] cmd: mdio: Fix access to arbitrary PHY addresses
joe.hershberger at ni.com
Sat Jun 1 11:28:41 UTC 2019
On Wed, May 29, 2019 at 8:53 PM Vladimir Oltean <olteanv at gmail.com> wrote:
> Alex reported the following:
> I'm doing some MDIO work on a freescale/NXP platform and I bumped into
> errors with this command:
> => mdio r emdio#3 5 3
> Reading from bus emdio#3
> "Synchronous Abort" handler, esr 0x8600000e
> elr: ffffffff862b8000 lr : 000000008200cce4 (reloc)
> mdio list does not list any PHYs currently because ethernet is using DM
> and the interfaces are not probed at this time. The PHY does exist
> on the bus though.
> The above scenario works with this commit reverted:
> e55047ec51a662c12ed53ff543ec7cdf158b2137 cmd: mdio: Switch to generic
> helpers when accessing the registers
> The current code using generic helpers only works for PHYs that have
> been registered and show up in bus->phymap and crashes for arbitrary
> IDs. I find it useful to allow reading from other addresses over MDIO
> too, certainly helpful for people debugging MDIO on various boards.
> Fix this by reverting to use the raw MDIO bus operations in case there
> is no PHY probed based on DT at the specified address.
> This restores the old behavior for these PHYs, which means that the
> newly introduced MMD-over-C22 helpers won't be available for them, but
> at least they will be accessible again without crashing the system.
> Fixes: e55047ec51a6 ("cmd: mdio: Switch to generic helpers when accessing the registers")
> Reported-by: Alex Marginean <alexm.osslist at gmail.com>
> Signed-off-by: Vladimir Oltean <olteanv at gmail.com>
Acked-by: Joe Hershberger <joe.hershberger at ni.com>
More information about the U-Boot