[PATCH 1/2] dt-bindings: leds: add Broadcom's BCM63xxx controller

Rafał Miłecki zajec5 at gmail.com
Mon Nov 15 01:11:06 PST 2021


From: Rafał Miłecki <rafal at milecki.pl>

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
most commonly used in BCM63138 thus the binding name 63xxx.

Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
 .../bindings/leds/leds-bcm63xxx.yaml          | 94 +++++++++++++++++++
 1 file changed, 94 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/leds/leds-bcm63xxx.yaml

diff --git a/Documentation/devicetree/bindings/leds/leds-bcm63xxx.yaml b/Documentation/devicetree/bindings/leds/leds-bcm63xxx.yaml
new file mode 100644
index 000000000000..3910dd607f3f
--- /dev/null
+++ b/Documentation/devicetree/bindings/leds/leds-bcm63xxx.yaml
@@ -0,0 +1,94 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/leds/leds-bcm63xxx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Broadcom's BCM63xxx LEDs controller
+
+maintainers:
+  - Rafał Miłecki <rafal at milecki.pl>
+
+description: |
+  This LEDs controller is used on BCM4908, BCM6848, BCM6858, BCM63138, BCM63148,
+  BCM63381 and BCM68360.
+
+  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:
+    items:
+      - enum:
+          - brcm,bcm4908-leds
+          - brcm,bcm6848-leds
+          - brcm,bcm6858-leds
+          - brcm,bcm63138-leds
+          - brcm,bcm63148-leds
+          - brcm,bcm63381-leds
+          - brcm,bcm68360-leds
+      - const: brcm,bcm63xxx-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 at ff800800 {
+        compatible = "brcm,bcm4908-leds", "brcm,bcm63xxx-leds";
+        reg = <0xff800800 0xdc>;
+
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        led at 0 {
+            reg = <0x0>;
+            function = LED_FUNCTION_POWER;
+            color = <LED_COLOR_ID_GREEN>;
+            default-state = "on";
+        };
+
+        led at 3 {
+            reg = <0x3>;
+            function = LED_FUNCTION_STATUS;
+            color = <LED_COLOR_ID_GREEN>;
+            active-low;
+        };
+    };
-- 
2.31.1




More information about the linux-arm-kernel mailing list