GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / leds / allwinner,sun50i-a100-ledc.yaml
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/leds/allwinner,sun50i-a100-ledc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Allwinner A100 LED Controller
8
9 maintainers:
10   - Samuel Holland <samuel@sholland.org>
11
12 description:
13   The LED controller found in Allwinner sunxi SoCs uses a one-wire serial
14   interface to drive up to 1024 RGB LEDs.
15
16 properties:
17   compatible:
18     oneOf:
19       - const: allwinner,sun50i-a100-ledc
20       - items:
21           - enum:
22               - allwinner,sun20i-d1-ledc
23               - allwinner,sun50i-r329-ledc
24           - const: allwinner,sun50i-a100-ledc
25
26   reg:
27     maxItems: 1
28
29   "#address-cells":
30     const: 1
31
32   "#size-cells":
33     const: 0
34
35   interrupts:
36     maxItems: 1
37
38   clocks:
39     items:
40       - description: Bus clock
41       - description: Module clock
42
43   clock-names:
44     items:
45       - const: bus
46       - const: mod
47
48   resets:
49     maxItems: 1
50
51   dmas:
52     maxItems: 1
53     description: TX DMA channel
54
55   dma-names:
56     const: tx
57
58   allwinner,pixel-format:
59     description: Pixel format (subpixel transmission order), default is "grb"
60     enum:
61       - bgr
62       - brg
63       - gbr
64       - grb
65       - rbg
66       - rgb
67
68   allwinner,t0h-ns:
69     default: 336
70     description: Length of high pulse when transmitting a "0" bit
71
72   allwinner,t0l-ns:
73     default: 840
74     description: Length of low pulse when transmitting a "0" bit
75
76   allwinner,t1h-ns:
77     default: 882
78     description: Length of high pulse when transmitting a "1" bit
79
80   allwinner,t1l-ns:
81     default: 294
82     description: Length of low pulse when transmitting a "1" bit
83
84   allwinner,treset-ns:
85     default: 300000
86     description: Minimum delay between transmission frames
87
88 patternProperties:
89   "^multi-led@[0-9a-f]+$":
90     type: object
91     $ref: leds-class-multicolor.yaml#
92     unevaluatedProperties: false
93     properties:
94       reg:
95         minimum: 0
96         maximum: 1023
97         description: Index of the LED in the series (must be contiguous)
98
99     required:
100       - reg
101
102 required:
103   - compatible
104   - reg
105   - interrupts
106   - clocks
107   - clock-names
108   - resets
109
110 additionalProperties: false
111
112 examples:
113   - |
114     #include <dt-bindings/interrupt-controller/irq.h>
115     #include <dt-bindings/leds/common.h>
116
117     ledc: led-controller@2008000 {
118       compatible = "allwinner,sun20i-d1-ledc",
119                    "allwinner,sun50i-a100-ledc";
120       reg = <0x2008000 0x400>;
121       interrupts = <36 IRQ_TYPE_LEVEL_HIGH>;
122       clocks = <&ccu 12>, <&ccu 34>;
123       clock-names = "bus", "mod";
124       resets = <&ccu 12>;
125       dmas = <&dma 42>;
126       dma-names = "tx";
127       #address-cells = <1>;
128       #size-cells = <0>;
129
130       multi-led@0 {
131         reg = <0x0>;
132         color = <LED_COLOR_ID_RGB>;
133         function = LED_FUNCTION_INDICATOR;
134       };
135     };
136
137 ...