[PATCH 7/7] commands: Add mdio_read and mdio_write

Andrey Smirnov andrew.smirnov at gmail.com
Thu Jan 28 10:00:00 PST 2016

On Tue, Jan 26, 2016 at 11:26 PM, Sascha Hauer <s.hauer at pengutronix.de> wrote:
> On Tue, Jan 26, 2016 at 06:09:00PM -0800, Andrey Smirnov wrote:
>> On Tue, Jan 26, 2016 at 1:55 PM, Sascha Hauer <s.hauer at pengutronix.de> wrote:
>> > On Mon, Jan 25, 2016 at 09:55:58PM -0800, Andrey Smirnov wrote:
>> >> Add commands for low-level access to MDIO bus.
>> >
>> > Do we really need this? We can already read/write phy registers using
>> > /dev/phyx which imo is quite convenient since it can be accessed with
>> > regular md/mw commands.
>> >
>> > This of course is currently limited to the phys that are actually
>> > registered, you can't just bang on MDIO addresses on which no phys are
>> > registered. Maybe we could register all phys on a MDIO bus instead of
>> > only the used ones?
>> Just to explain the purpose of this patch -- there are number of
>> reasons we might want to be able to access "unregistered" PHYs:
>> - Not all MDIO attached devices would have PHYSID1,2 registers
>> available which might cause mdiobus_scan() to not detect those PHYs
>> - MDIO bus troubleshooting
>> As for registering all PHYs on a bus, correct me if I am wrong but
>> that would result in 32*N number of entries in /dev, where N is number
>> of MDIO buses in the system. The device I am working with right now
>> has 3 MDIO buses which would mean that I'd end up with 96 additional
>> entries in /dev, which might be a little bit overwhelming from UI
>> point of view. The other UI problem with that approach is that
>> /dev/phy's are numbered linearly so in order to figure out how to
>> access device on bus N at address M, user would have to perform N*32 +
>> M in their head.
> We could register the phys with name like:
>         "mdio%d-phy%02x", dev->bus->dev.id, mdev->addr
> That would make it clear which phy belongs to which bus.

Fair enough, I'll update the v2 to implement your and Trent's suggestions.

Thank you,

More information about the barebox mailing list