xref: /linux/Documentation/devicetree/bindings/leds/brcm,bcm6358-leds.yaml (revision 67f8bc848ee31831336bd478e57d2f993551902e)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/leds/brcm,bcm6358-leds.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: LEDs connected to Broadcom BCM6358 controller
8
9description: |
10  This controller is present on BCM6358 and BCM6368.
11  In these SoCs there are Serial LEDs (LEDs connected to a 74x164 controller),
12  which can either be controlled by software (exporting the 74x164 as spi-gpio.
13  See Documentation/devicetree/bindings/gpio/fairchild,74hc595.yaml), or
14  by hardware using this driver.
15
16maintainers:
17  - Álvaro Fernández Rojas <noltari@gmail.com>
18
19properties:
20  compatible:
21    const: brcm,bcm6358-leds
22
23  reg:
24    maxItems: 1
25
26  "#address-cells":
27    const: 1
28
29  "#size-cells":
30    const: 0
31
32  brcm,clk-div:
33    description: SCK signal divider.
34    default: 1
35    $ref: /schemas/types.yaml#/definitions/uint32
36    enum: [1, 2, 4, 8]
37
38  brcm,clk-dat-low:
39    description: Makes clock and data signals active low.
40    type: boolean
41
42patternProperties:
43  "^led@1?[0-9a-f]$":
44    type: object
45    $ref: common.yaml#
46    unevaluatedProperties: false
47    description: Each LED is represented as a sub-node of
48      this device.
49
50    properties:
51      reg:
52        description: LED pin number (0 to 31).
53        maxItems: 1
54
55    required:
56      - reg
57
58required:
59  - compatible
60  - reg
61  - "#address-cells"
62  - "#size-cells"
63
64additionalProperties: false
65
66examples:
67  - |
68    #include <dt-bindings/leds/common.h>
69    led-controller@fffe00d0 {
70        compatible = "brcm,bcm6358-leds";
71        #address-cells = <1>;
72        #size-cells = <0>;
73        reg = <0xfffe00d0 0x8>;
74
75        led@0 {
76            reg = <0>;
77            active-low;
78            label = "white:alarm";
79        };
80        led@2 {
81            reg = <2>;
82            active-low;
83            label = "white:tv";
84        };
85        led@3 {
86            reg = <3>;
87            active-low;
88            label = "white:tel";
89        };
90        led@4 {
91            reg = <4>;
92            active-low;
93            label = "white:adsl";
94        };
95    };
96...
97