From d361aa2ebd040019507f6c3539808e90e454b3b6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
Date: Sun, 24 May 2020 20:17:34 +0200
Subject: [PATCH] bcm63xx: ar-5387un: expose LEDs through controller
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Exposing LEDs through LED controller instead of gpio-leds takes
advantage of HW blinking.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
 .../dts/bcm6328-comtrend-ar-5387un.dts        | 68 ++++++++++++-------
 1 file changed, 42 insertions(+), 26 deletions(-)

diff --git a/target/linux/bcm63xx/dts/bcm6328-comtrend-ar-5387un.dts b/target/linux/bcm63xx/dts/bcm6328-comtrend-ar-5387un.dts
index 0501d237e2d..76c9dd8ba4e 100644
--- a/target/linux/bcm63xx/dts/bcm6328-comtrend-ar-5387un.dts
+++ b/target/linux/bcm63xx/dts/bcm6328-comtrend-ar-5387un.dts
@@ -33,32 +33,6 @@
 			debounce-interval = <60>;
 		};
 	};
-
-	leds {
-		compatible = "gpio-leds";
-
-		inet_red {
-			label = "AR-5387un:red:inet";
-			gpios = <&pinctrl 1 0>;
-		};
-		power_red {
-			label = "AR-5387un:red:power";
-			gpios = <&pinctrl 4 0>;
-		};
-		inet_green {
-			label = "AR-5387un:green:inet";
-			gpios = <&pinctrl 7 0>;
-		};
-		led_power_green: power_green {
-			label = "AR-5387un:green:power";
-			gpios = <&pinctrl 8 0>;
-			default-state = "on";
-		};
-		dsl_green {
-			label = "AR-5387un:green:dsl";
-			gpios = <&pinctrl 11 1>;
-		};
-	};
 };
 
 &hsspi {
@@ -99,6 +73,48 @@
 	};
 };
 
+&leds {
+	status = "okay";
+
+	pinctrl-names = "default";
+	pinctrl-0 = <&pinctrl_leds>;
+
+	led@1 {
+		reg = <1>;
+		label = "AR-5387un:red:inet";
+	};
+
+	led@4 {
+		reg = <4>;
+		label = "AR-5387un:red:power";
+	};
+
+	led@7 {
+		reg = <7>;
+		label = "AR-5387un:green:inet";
+	};
+
+	led_power_green: led@8 {
+		reg = <8>;
+		label = "AR-5387un:green:power";
+		default-state = "on";
+	};
+
+	led@11 {
+		reg = <11>;
+		active-low;
+		label = "AR-5387un:green:dsl";
+	};
+};
+
+&pinctrl {
+	pinctrl_leds: leds {
+		function = "led";
+		pins = "gpio1", "gpio4", "gpio7",
+		       "gpio8", "gpio11";
+	};
+};
+
 &uart0 {
 	status = "okay";
 };
-- 
GitLab