mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From edbca40eeaf66da9d448b1da974b0a95a03902bc Mon Sep 17 00:00:00 2001
 | |
| From: James Hughes <james.hughes@raspberrypi.org>
 | |
| Date: Thu, 31 Oct 2019 14:39:44 +0000
 | |
| Subject: [PATCH] net:phy:2711 Allow ethernet LED mode to be set via device
 | |
|  tree
 | |
| 
 | |
| Add device tree entries and code to allow the specification of
 | |
| the lighting modes for the LED's on the ethernet connector.
 | |
| 
 | |
| Signed-off-by: James Hughes <james.hughes@raspberrypi.org>
 | |
| 
 | |
| net:phy:2711 Change the default ethernet LED actions
 | |
| 
 | |
| This should return default behaviour back to that of previous
 | |
| releases.
 | |
| ---
 | |
|  drivers/net/phy/broadcom.c | 11 +++++++----
 | |
|  1 file changed, 7 insertions(+), 4 deletions(-)
 | |
| 
 | |
| --- a/drivers/net/phy/broadcom.c
 | |
| +++ b/drivers/net/phy/broadcom.c
 | |
| @@ -337,6 +337,9 @@ static void bcm54xx_ptp_config_init(stru
 | |
|  static int bcm54xx_config_init(struct phy_device *phydev)
 | |
|  {
 | |
|  	int reg, err, val;
 | |
| +	u32 led_modes[] = {BCM_LED_MULTICOLOR_LINK_ACT,
 | |
| +			   BCM_LED_MULTICOLOR_LINK};
 | |
| +	struct device_node *np = phydev->mdio.dev.of_node;
 | |
|  
 | |
|  	reg = phy_read(phydev, MII_BCM54XX_ECR);
 | |
|  	if (reg < 0)
 | |
| @@ -392,10 +395,10 @@ static int bcm54xx_config_init(struct ph
 | |
|  
 | |
|  	bcm54xx_phydsp_config(phydev);
 | |
|  
 | |
| +	of_property_read_u32_array(np, "led-modes", led_modes, 2);
 | |
| +
 | |
|  	/* For non-SFP setups, encode link speed into LED1 and LED3 pair
 | |
|  	 * (green/amber).
 | |
| -	 * Also flash these two LEDs on activity. This means configuring
 | |
| -	 * them for MULTICOLOR and encoding link/activity into them.
 | |
|  	 * Don't do this for devices on an SFP module, since some of these
 | |
|  	 * use the LED outputs to control the SFP LOS signal, and changing
 | |
|  	 * these settings will cause LOS to malfunction.
 | |
| @@ -406,8 +409,8 @@ static int bcm54xx_config_init(struct ph
 | |
|  		bcm_phy_write_shadow(phydev, BCM5482_SHD_LEDS1, val);
 | |
|  
 | |
|  		val = BCM_LED_MULTICOLOR_IN_PHASE |
 | |
| -			BCM5482_SHD_LEDS1_LED1(BCM_LED_MULTICOLOR_LINK_ACT) |
 | |
| -			BCM5482_SHD_LEDS1_LED3(BCM_LED_MULTICOLOR_LINK_ACT);
 | |
| +			BCM5482_SHD_LEDS1_LED1(led_modes[0]) |
 | |
| +			BCM5482_SHD_LEDS1_LED3(led_modes[1]);
 | |
|  		bcm_phy_write_exp(phydev, BCM_EXP_MULTICOLOR, val);
 | |
|  	}
 | |
|  
 |