[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,
Andrey
More information about the barebox
mailing list