[PATCH 1/4 v2] powerpc: document max-speed and interface-type properties
Andy Fleming
afleming at freescale.com
Tue Apr 17 04:40:09 EST 2007
On Apr 16, 2007, at 10:47, Segher Boessenkool wrote:
>
>> I believe the question is about where the information should truly
>> live.
>
> Yeah.
Agreed
>
>> It would seem to be more of a property of the phy than of the enet
>> controller.
>
> Yep. The whole reason why any property is wanted here is
> to say what type the PHY is, as the enet controller can
> be attached to several kinds. And what type the PHY is
> belongs in the PHY node, obviously. In its "compatible"
> property to be exact.
It's not saying what type the PHY is, though. It's describing the
connection. The PHY is just as flexible wrt connection type as the
ethernet controller. This is actually a property of the board. In
some cases its a fixed property of the board. In some cases it's
changeable through dip switches, or even through software.
Ethernet controllers need to know what the connection is so they can
establish a data connection with the PHYs
PHYs need to know what the connection is so they can establish a data
connection with the ethernet controllers.
There is equal flexibility on both sides, and I think the choice of
where to put this information is fairly arbitrary. The reason for
choosing the ethernet controller in this case has to do with the flow
of information.
1) The driver tells the PHY what interface to use
2) The ethernet controller is the endpoint of this connection which
is accessible by everyone else. IE data is not sent through PHYs by
any means but through the ethernet controller, and data is not
received from PHYs by any means but through the ethernet controller.
3) The UCC needs to be told the connection type, because it does not
have logic to detect it on its own.
The truth is, this is a somewhat intractable problem because of the
myriad possibilities for how board designers can hook up ethernet
controllers to PHYs. One can envision scenarios where controllers
can hook up to multiple PHYs, each of one fixed type. One can
envision scenarios where multiple controllers are hooked up to one
PHY, and each of the controllers can use different connections. If
we put the information in the PHY node, we allow for the first
scenario, but not the second. If we put it in the ethernet node, we
reverse that situation. In either case, we'd currently have to
modify our dts to specify which PHY we want to use.
Andy
More information about the Linuxppc-dev
mailing list