From 8dfd69beccc1c582fba134825df65f7e5d2f17ad Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 21 Mar 2018 16:04:18 +0000
Subject: [PATCH 258/454] BCM27XX_DT: Set LED modes from Device Tree

The new default values for LAN7515 (LAN7800) are:

  LED0 = 1 (link1000/activity)
  LED1 = 6 (link10/link100/activity)

Also add two dtparams - eth_led0 and eth_led1 - to provide user control
over the LEDs.

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
 arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi |  7 +++++++
 arch/arm/boot/dts/overlays/README          | 10 ++++++++++
 2 files changed, 17 insertions(+)

--- a/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi
+++ b/arch/arm/boot/dts/bcm283x-rpi-lan7515.dtsi
@@ -22,6 +22,11 @@
 				reg = <1>;
 				microchip,eee-enabled;
 				microchip,tx-lpi-timer = <600>; /* non-aggressive*/
+				/*
+				 * led0 = 1:link1000/activity
+				 * led1 = 6:link10/100/activity
+				 */
+				microchip,led-modes = <1 6>;
 			};
 		};
 	};
@@ -32,5 +37,7 @@
 	__overrides__ {
 		eee = <&ethernet>,"microchip,eee-enabled?";
 		tx_lpi_timer = <&ethernet>,"microchip,tx-lpi-timer:0";
+		eth_led0 = <&ethernet>,"microchip,led-modes:0";
+		eth_led1 = <&ethernet>,"microchip,led-modes:4";
 	};
 };
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -93,6 +93,16 @@ Params:
                                 compatible devices (default "on"). See also
                                 "tx_lpi_timer".
 
+        eth_led0                Set mode of LED0 (usually orange) (default
+                                "1"). The legal values are:
+                                0=link/activity          1=link1000/activity
+                                2=link100/activity       3=link10/activity
+                                4=link100/1000/activity  5=link10/1000/activity
+                                6=link10/100/activity    14=off    15=on
+
+        eth_led1                Set mode of LED1 (usually green) (default
+                                "6"). See eth_led0 for legal values.
+
         i2c_arm                 Set to "on" to enable the ARM's i2c interface
                                 (default "off")
 
