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