xref: /freebsd/sys/contrib/device-tree/Bindings/leds/allwinner,sun50i-a100-ledc.yaml (revision 5b56413d04e608379c9a306373554a8e4d321bc0)
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
7title: Allwinner A100 LED Controller
8
9maintainers:
10  - Samuel Holland <samuel@sholland.org>
11
12description:
13  The LED controller found in Allwinner sunxi SoCs uses a one-wire serial
14  interface to drive up to 1024 RGB LEDs.
15
16properties:
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
88patternProperties:
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
102required:
103  - compatible
104  - reg
105  - interrupts
106  - clocks
107  - clock-names
108  - resets
109
110additionalProperties: false
111
112examples:
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...
138