Kernel 5.10 receives the complete set of improvements from 5.11/5.12. While we are at it, move the patches accepted upstream to the 0xx series. Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
		
			
				
	
	
		
			161 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			161 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 91dd42d0e30fdbb250c61d1192af569f07e6ada4 Mon Sep 17 00:00:00 2001
 | 
						|
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@kernel.org>
 | 
						|
Date: Sun, 15 Nov 2020 14:59:21 +0100
 | 
						|
Subject: ARM: dts: turris-omnia: add LED controller node
 | 
						|
MIME-Version: 1.0
 | 
						|
Content-Type: text/plain; charset=UTF-8
 | 
						|
Content-Transfer-Encoding: 8bit
 | 
						|
 | 
						|
Linux now has incomplete support for the LED controller on Turris Omnia:
 | 
						|
it can set brightness and colors for each LED.
 | 
						|
 | 
						|
The controller can also put these LEDs into HW controlled mode, in which
 | 
						|
the LEDs are controlled by HW: for example the WAN LED is connected via
 | 
						|
MCU to the WAN PHY LED pin.
 | 
						|
 | 
						|
The driver does not support these HW controlled modes yet, and on probe
 | 
						|
puts the LEDs into SW controlled mode.
 | 
						|
 | 
						|
Add node describing the LED controller, but disable it for now.
 | 
						|
 | 
						|
Signed-off-by: Marek Behún <kabel@kernel.org>
 | 
						|
Cc: linux-arm-kernel@lists.infradead.org
 | 
						|
Cc: Uwe Kleine-König <uwe@kleine-koenig.org>
 | 
						|
Cc: Jason Cooper <jason@lakedaemon.net>
 | 
						|
Cc: Gregory CLEMENT <gregory.clement@bootlin.com>
 | 
						|
Cc: Andreas Färber <afaerber@suse.de>
 | 
						|
Cc: Rob Herring <robh+dt@kernel.org>
 | 
						|
Cc: devicetree@vger.kernel.org
 | 
						|
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
 | 
						|
---
 | 
						|
 arch/arm/boot/dts/armada-385-turris-omnia.dts | 111 +++++++++++++++++++++++++-
 | 
						|
 1 file changed, 110 insertions(+), 1 deletion(-)
 | 
						|
 | 
						|
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
 | 
						|
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
 | 
						|
@@ -12,6 +12,7 @@
 | 
						|
 
 | 
						|
 #include <dt-bindings/gpio/gpio.h>
 | 
						|
 #include <dt-bindings/input/input.h>
 | 
						|
+#include <dt-bindings/leds/common.h>
 | 
						|
 #include "armada-385.dtsi"
 | 
						|
 
 | 
						|
 / {
 | 
						|
@@ -181,7 +182,115 @@
 | 
						|
 			reg = <0>;
 | 
						|
 
 | 
						|
 			/* STM32F0 command interface at address 0x2a */
 | 
						|
-			/* leds device (in STM32F0) at address 0x2b */
 | 
						|
+
 | 
						|
+			led-controller@2b {
 | 
						|
+				compatible = "cznic,turris-omnia-leds";
 | 
						|
+				reg = <0x2b>;
 | 
						|
+				#address-cells = <1>;
 | 
						|
+				#size-cells = <0>;
 | 
						|
+
 | 
						|
+				/*
 | 
						|
+				 * LEDs are controlled by MCU (STM32F0) at
 | 
						|
+				 * address 0x2b.
 | 
						|
+				 *
 | 
						|
+				 * The driver does not support HW control mode
 | 
						|
+				 * for the LEDs yet. Disable the LEDs for now.
 | 
						|
+				 *
 | 
						|
+				 * Also LED functions are not stable yet:
 | 
						|
+				 * - there are 3 LEDs connected via MCU to PCIe
 | 
						|
+				 *   ports. One of these ports supports mSATA.
 | 
						|
+				 *   There is no mSATA nor PCIe function.
 | 
						|
+				 *   For now we use LED_FUNCTION_WLAN, since
 | 
						|
+				 *   in most cases users have wifi cards in
 | 
						|
+				 *   these slots
 | 
						|
+				 * - there are 2 LEDs dedicated for user: A and
 | 
						|
+				 *   B. Again there is no such function defined.
 | 
						|
+				 *   For now we use LED_FUNCTION_INDICATOR
 | 
						|
+				 */
 | 
						|
+				status = "disabled";
 | 
						|
+
 | 
						|
+				multi-led@0 {
 | 
						|
+					reg = <0x0>;
 | 
						|
+					color = <LED_COLOR_ID_RGB>;
 | 
						|
+					function = LED_FUNCTION_INDICATOR;
 | 
						|
+					function-enumerator = <2>;
 | 
						|
+				};
 | 
						|
+
 | 
						|
+				multi-led@1 {
 | 
						|
+					reg = <0x1>;
 | 
						|
+					color = <LED_COLOR_ID_RGB>;
 | 
						|
+					function = LED_FUNCTION_INDICATOR;
 | 
						|
+					function-enumerator = <1>;
 | 
						|
+				};
 | 
						|
+
 | 
						|
+				multi-led@2 {
 | 
						|
+					reg = <0x2>;
 | 
						|
+					color = <LED_COLOR_ID_RGB>;
 | 
						|
+					function = LED_FUNCTION_WLAN;
 | 
						|
+					function-enumerator = <3>;
 | 
						|
+				};
 | 
						|
+
 | 
						|
+				multi-led@3 {
 | 
						|
+					reg = <0x3>;
 | 
						|
+					color = <LED_COLOR_ID_RGB>;
 | 
						|
+					function = LED_FUNCTION_WLAN;
 | 
						|
+					function-enumerator = <2>;
 | 
						|
+				};
 | 
						|
+
 | 
						|
+				multi-led@4 {
 | 
						|
+					reg = <0x4>;
 | 
						|
+					color = <LED_COLOR_ID_RGB>;
 | 
						|
+					function = LED_FUNCTION_WLAN;
 | 
						|
+					function-enumerator = <1>;
 | 
						|
+				};
 | 
						|
+
 | 
						|
+				multi-led@5 {
 | 
						|
+					reg = <0x5>;
 | 
						|
+					color = <LED_COLOR_ID_RGB>;
 | 
						|
+					function = LED_FUNCTION_WAN;
 | 
						|
+				};
 | 
						|
+
 | 
						|
+				multi-led@6 {
 | 
						|
+					reg = <0x6>;
 | 
						|
+					color = <LED_COLOR_ID_RGB>;
 | 
						|
+					function = LED_FUNCTION_LAN;
 | 
						|
+					function-enumerator = <4>;
 | 
						|
+				};
 | 
						|
+
 | 
						|
+				multi-led@7 {
 | 
						|
+					reg = <0x7>;
 | 
						|
+					color = <LED_COLOR_ID_RGB>;
 | 
						|
+					function = LED_FUNCTION_LAN;
 | 
						|
+					function-enumerator = <3>;
 | 
						|
+				};
 | 
						|
+
 | 
						|
+				multi-led@8 {
 | 
						|
+					reg = <0x8>;
 | 
						|
+					color = <LED_COLOR_ID_RGB>;
 | 
						|
+					function = LED_FUNCTION_LAN;
 | 
						|
+					function-enumerator = <2>;
 | 
						|
+				};
 | 
						|
+
 | 
						|
+				multi-led@9 {
 | 
						|
+					reg = <0x9>;
 | 
						|
+					color = <LED_COLOR_ID_RGB>;
 | 
						|
+					function = LED_FUNCTION_LAN;
 | 
						|
+					function-enumerator = <1>;
 | 
						|
+				};
 | 
						|
+
 | 
						|
+				multi-led@a {
 | 
						|
+					reg = <0xa>;
 | 
						|
+					color = <LED_COLOR_ID_RGB>;
 | 
						|
+					function = LED_FUNCTION_LAN;
 | 
						|
+					function-enumerator = <0>;
 | 
						|
+				};
 | 
						|
+
 | 
						|
+				multi-led@b {
 | 
						|
+					reg = <0xb>;
 | 
						|
+					color = <LED_COLOR_ID_RGB>;
 | 
						|
+					function = LED_FUNCTION_POWER;
 | 
						|
+				};
 | 
						|
+			};
 | 
						|
 
 | 
						|
 			eeprom@54 {
 | 
						|
 				compatible = "atmel,24c64";
 |