| 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; |
| + }; |
| + }; |