mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-21 17:38:51 +09:00
![Hannes Schmelzer](/assets/img/avatar_default.png)
This patch adds support for having a "fixed-link" to some other MAC (like some embedded switch-device). For this purpose we introduce a new phy-driver, called "Fixed PHY". Fixed PHY works only with CONFIG_DM_ETH enabled, since the fixed-link is described with a subnode below ethernet interface. Most ethernet drivers (unfortunately not all are following same scheme for searching/attaching phys) are calling "phy_connect(...)" for getting a phy-device. At this point we link in, we search here for a subnode called "fixed- link", once found we start phy_device_create(...) with the special phy- id PHY_FIXED_ID (0xa5a55a5a). During init the "Fixed PHY" driver has registered with this id and now gets probed, during probe we get all the details about fixed-link out of dts, later on the phy reports this values. Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com> Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
31 lines
856 B
Plaintext
31 lines
856 B
Plaintext
Fixed link Device Tree binding
|
|
------------------------------
|
|
|
|
Some Ethernet MACs have a "fixed link", and are not connected to a
|
|
normal MDIO-managed PHY device. For those situations, a Device Tree
|
|
binding allows to describe a "fixed link".
|
|
|
|
Such a fixed link situation is described by creating a 'fixed-link'
|
|
sub-node of the Ethernet MAC device node, with the following
|
|
properties:
|
|
|
|
* 'speed' (integer, mandatory), to indicate the link speed. Accepted
|
|
values are 10, 100 and 1000
|
|
* 'full-duplex' (boolean, optional), to indicate that full duplex is
|
|
used. When absent, half duplex is assumed.
|
|
* 'pause' (boolean, optional), to indicate that pause should be
|
|
enabled.
|
|
* 'asym-pause' (boolean, optional), to indicate that asym_pause should
|
|
be enabled.
|
|
|
|
Examples:
|
|
|
|
ethernet@0 {
|
|
...
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
};
|
|
...
|
|
};
|