Message ID | 20211124111952.22419-1-zajec5@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [V2,1/2] dt-bindings: leds: add Broadcom's BCM63138 controller | expand |
On Wed, 24 Nov 2021 12:19:51 +0100, Rafał Miłecki wrote: > From: Rafał Miłecki <rafal@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 > first used in BCM63138 thus the binding name. > > Signed-off-by: Rafał Miłecki <rafal@milecki.pl> > --- > V2: Rename to bcm63138 & make "brcm,bcm63138-leds" the main compatible > --- > .../bindings/leds/leds-bcm63138.yaml | 95 +++++++++++++++++++ > 1 file changed, 95 insertions(+) > create mode 100644 Documentation/devicetree/bindings/leds/leds-bcm63138.yaml > Reviewed-by: Rob Herring <robh@kernel.org>
On 11/24/2021 3:19 AM, Rafał Miłecki wrote: > From: Rafał Miłecki <rafal@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 > first used in BCM63138 thus the binding name. > > Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
diff --git a/Documentation/devicetree/bindings/leds/leds-bcm63138.yaml b/Documentation/devicetree/bindings/leds/leds-bcm63138.yaml new file mode 100644 index 000000000000..99cd4ba9b0ca --- /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; + }; + };