126 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 13344f8ce8a0d98aa7f5d69ce3b47393c73a343b Mon Sep 17 00:00:00 2001
 | 
						|
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
 | 
						|
Date: Mon, 27 Dec 2021 15:59:04 +0100
 | 
						|
Subject: [PATCH] dt-bindings: leds: add Broadcom's BCM63138 controller
 | 
						|
MIME-Version: 1.0
 | 
						|
Content-Type: text/plain; charset=UTF-8
 | 
						|
Content-Transfer-Encoding: 8bit
 | 
						|
 | 
						|
Broadcom used 2 LEDs hardware blocks for their BCM63xx SoCs:
 | 
						|
1. Older one (BCM6318, BCM6328, BCM6362, BCM63268, BCM6838)
 | 
						|
2. Newer one (BCM6848, BCM6858, BCM63138, BCM63148, BCM63381, BCM68360)
 | 
						|
 | 
						|
The newer one was also later also used on BCM4908 SoC.
 | 
						|
 | 
						|
Old block is already documented in the leds-bcm6328.yaml. This binding
 | 
						|
documents the new one which uses different registers & programming. It's
 | 
						|
first used in BCM63138 thus the binding name.
 | 
						|
 | 
						|
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
 | 
						|
Reviewed-by: Rob Herring <robh@kernel.org>
 | 
						|
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
 | 
						|
Signed-off-by: Pavel Machek <pavel@ucw.cz>
 | 
						|
---
 | 
						|
 .../bindings/leds/leds-bcm63138.yaml          | 95 +++++++++++++++++++
 | 
						|
 1 file changed, 95 insertions(+)
 | 
						|
 create mode 100644 Documentation/devicetree/bindings/leds/leds-bcm63138.yaml
 | 
						|
 | 
						|
--- /dev/null
 | 
						|
+++ b/Documentation/devicetree/bindings/leds/leds-bcm63138.yaml
 | 
						|
@@ -0,0 +1,95 @@
 | 
						|
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
 | 
						|
+%YAML 1.2
 | 
						|
+---
 | 
						|
+$id: http://devicetree.org/schemas/leds/leds-bcm63138.yaml#
 | 
						|
+$schema: http://devicetree.org/meta-schemas/core.yaml#
 | 
						|
+
 | 
						|
+title: Broadcom's BCM63138 LEDs controller
 | 
						|
+
 | 
						|
+maintainers:
 | 
						|
+  - Rafał Miłecki <rafal@milecki.pl>
 | 
						|
+
 | 
						|
+description: |
 | 
						|
+  This LEDs controller was first used on BCM63138 and later reused on BCM4908,
 | 
						|
+  BCM6848, BCM6858, BCM63138, BCM63148, BCM63381 and BCM68360 SoCs.
 | 
						|
+
 | 
						|
+  It supports up to 32 LEDs that can be connected parallelly or serially. It
 | 
						|
+  also includes limited support for hardware blinking.
 | 
						|
+
 | 
						|
+  Binding serially connected LEDs isn't documented yet.
 | 
						|
+
 | 
						|
+properties:
 | 
						|
+  compatible:
 | 
						|
+    oneOf:
 | 
						|
+      - items:
 | 
						|
+          - enum:
 | 
						|
+              - brcm,bcm4908-leds
 | 
						|
+              - brcm,bcm6848-leds
 | 
						|
+              - brcm,bcm6858-leds
 | 
						|
+              - brcm,bcm63148-leds
 | 
						|
+              - brcm,bcm63381-leds
 | 
						|
+              - brcm,bcm68360-leds
 | 
						|
+          - const: brcm,bcm63138-leds
 | 
						|
+      - const: brcm,bcm63138-leds
 | 
						|
+
 | 
						|
+  reg:
 | 
						|
+    maxItems: 1
 | 
						|
+
 | 
						|
+  "#address-cells":
 | 
						|
+    const: 1
 | 
						|
+
 | 
						|
+  "#size-cells":
 | 
						|
+    const: 0
 | 
						|
+
 | 
						|
+patternProperties:
 | 
						|
+  "^led@[a-f0-9]+$":
 | 
						|
+    type: object
 | 
						|
+
 | 
						|
+    $ref: common.yaml#
 | 
						|
+
 | 
						|
+    properties:
 | 
						|
+      reg:
 | 
						|
+        maxItems: 1
 | 
						|
+        description: LED pin number
 | 
						|
+
 | 
						|
+      active-low:
 | 
						|
+        type: boolean
 | 
						|
+        description: Makes LED active low.
 | 
						|
+
 | 
						|
+    required:
 | 
						|
+      - reg
 | 
						|
+
 | 
						|
+    unevaluatedProperties: false
 | 
						|
+
 | 
						|
+required:
 | 
						|
+  - reg
 | 
						|
+  - "#address-cells"
 | 
						|
+  - "#size-cells"
 | 
						|
+
 | 
						|
+additionalProperties: false
 | 
						|
+
 | 
						|
+examples:
 | 
						|
+  - |
 | 
						|
+    #include <dt-bindings/leds/common.h>
 | 
						|
+
 | 
						|
+    leds@ff800800 {
 | 
						|
+        compatible = "brcm,bcm4908-leds", "brcm,bcm63138-leds";
 | 
						|
+        reg = <0xff800800 0xdc>;
 | 
						|
+
 | 
						|
+        #address-cells = <1>;
 | 
						|
+        #size-cells = <0>;
 | 
						|
+
 | 
						|
+        led@0 {
 | 
						|
+            reg = <0x0>;
 | 
						|
+            function = LED_FUNCTION_POWER;
 | 
						|
+            color = <LED_COLOR_ID_GREEN>;
 | 
						|
+            default-state = "on";
 | 
						|
+        };
 | 
						|
+
 | 
						|
+        led@3 {
 | 
						|
+            reg = <0x3>;
 | 
						|
+            function = LED_FUNCTION_STATUS;
 | 
						|
+            color = <LED_COLOR_ID_GREEN>;
 | 
						|
+            active-low;
 | 
						|
+        };
 | 
						|
+    };
 |