Subject: Re: [PATCH 1/4 v2] powerpc: document max-speed and interface-type properties

From: Segher Boessenkool <[email-masked]>
Date: Wed, 18 Apr 2007 12:34:27 +0200

>>> sorry, I disagree; for me, a compatible entry in the PHY node would
>>> look
>>> something like "marvell"
>>
>> which would be completely wrong
>>
> that depends on what degree the manufacturer's PHYs are compatible.

No, if all there PHYs are compatible (and you have some
guarantee that all there future PHYs will be as well!)
it should read "marvell-phy" (or better, "MRVL,ethernet-phy"
or something similar).

>>> or "m88e11x1".
>>
>> It should be something like "m88e11x1\0m88e1xxx\0rgmii" instead.
>
> m88e11x1 implies rgmii, including all the other interfaces the PHY
> supports (gmii, mii, tbi, etc.).

If you don't put the less-specific entries there, only clients
(OSes) that know about the exact name can use that PHY.  So if
there is a minor upgrade of you board and it has a m88e11x2
instead, your OS needs an update to work with your new device
tree.  Not an ideal situation.

> ..but I'm not interested in specifying what interfaces the PHY 
> supports.

But you *have* to.  The device tree describes the hardware,
it is not a configuration file for Linux to use as it sees fit.

>>>> max-speed of connection = min(max-speed of enet, max-speed
>>>> of PHY) -- and both of those are implied by their respective
>>>> "compatible" properties.
>>>
>>> Again, max-speed is exclusively for configuring the UCC itself,
>>> regardless of the connection speed.
>>
>> If that is really true, and the value of that property
>> has nothing to do with the MAC<->PHY data channel, it should
>> have a different (not that generic) name.
>
> can you elaborate on why, including an example of what you'd think 
> would
> be a better one?

Very generic names should only be used by very generic bindings.
If a very specific device binding (like yours) uses a property
name like that, there is a high chance it will clash with a more
generic binding it uses (PCI, ethernet, network, ...) -- perhaps
with a *future* version of such a binding.

Also, it isn't a great name /an sich/: "max-speed" -- maximum
speed of what?

Segher