mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-11-04 02:11:25 +01:00 
			
		
		
		
	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;
 | 
						|
	};
 | 
						|
	...
 | 
						|
};
 |