[U-Boot] [PATCH] cmd: mdio: Fix access to arbitrary PHY addresses

Joe Hershberger 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 mailing list