mirror of
				https://source.denx.de/u-boot/u-boot.git
				synced 2025-10-31 00:11:51 +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;
 | |
| 	};
 | |
| 	...
 | |
| };
 |