xref: /freebsd-src/sys/contrib/device-tree/Bindings/leds/backlight/qcom-wled.yaml (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/leds/backlight/qcom-wled.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Qualcomm Technologies, Inc. WLED driver
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10*01950c46SEmmanuel Vadot  - Bjorn Andersson <andersson@kernel.org>
11*01950c46SEmmanuel Vadot  - Kiran Gunda <quic_kgunda@quicinc.com>
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadotdescription: |
14c66ec88fSEmmanuel Vadot  WLED (White Light Emitting Diode) driver is used for controlling display
15c66ec88fSEmmanuel Vadot  backlight that is part of PMIC on Qualcomm Technologies, Inc. reference
16c66ec88fSEmmanuel Vadot  platforms. The PMIC is connected to the host processor via SPMI bus.
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel Vadotproperties:
19c66ec88fSEmmanuel Vadot  compatible:
20c66ec88fSEmmanuel Vadot    enum:
21c66ec88fSEmmanuel Vadot      - qcom,pm8941-wled
22cb7aa33aSEmmanuel Vadot      - qcom,pmi8950-wled
232eb4d8dcSEmmanuel Vadot      - qcom,pmi8994-wled
24c66ec88fSEmmanuel Vadot      - qcom,pmi8998-wled
25c66ec88fSEmmanuel Vadot      - qcom,pm660l-wled
26c9ccf3a3SEmmanuel Vadot      - qcom,pm6150l-wled
27c66ec88fSEmmanuel Vadot      - qcom,pm8150l-wled
28c66ec88fSEmmanuel Vadot
29c66ec88fSEmmanuel Vadot  reg:
307ef62cebSEmmanuel Vadot    minItems: 1
317ef62cebSEmmanuel Vadot    maxItems: 2
32c66ec88fSEmmanuel Vadot
33c66ec88fSEmmanuel Vadot  default-brightness:
34c66ec88fSEmmanuel Vadot    description: |
35c66ec88fSEmmanuel Vadot      brightness value on boot.
36c66ec88fSEmmanuel Vadot
37c66ec88fSEmmanuel Vadot  label: true
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot  max-brightness:
40c66ec88fSEmmanuel Vadot    description: |
41c66ec88fSEmmanuel Vadot      Maximum brightness level.
42c66ec88fSEmmanuel Vadot
43c66ec88fSEmmanuel Vadot  qcom,cs-out:
44c66ec88fSEmmanuel Vadot    description: |
45c66ec88fSEmmanuel Vadot      enable current sink output.
46c66ec88fSEmmanuel Vadot      This property is supported only for WLED3.
47c66ec88fSEmmanuel Vadot    type: boolean
48c66ec88fSEmmanuel Vadot
49c66ec88fSEmmanuel Vadot  qcom,cabc:
50c66ec88fSEmmanuel Vadot    description: |
51c66ec88fSEmmanuel Vadot      enable content adaptive backlight control.
52c66ec88fSEmmanuel Vadot    type: boolean
53c66ec88fSEmmanuel Vadot
54c66ec88fSEmmanuel Vadot  qcom,ext-gen:
55c66ec88fSEmmanuel Vadot    description: |
56c66ec88fSEmmanuel Vadot      use externally generated modulator signal to dim.
57c66ec88fSEmmanuel Vadot      This property is supported only for WLED3.
58c66ec88fSEmmanuel Vadot    type: boolean
59c66ec88fSEmmanuel Vadot
60c66ec88fSEmmanuel Vadot  qcom,current-limit:
61c66ec88fSEmmanuel Vadot    description: |
62c66ec88fSEmmanuel Vadot      mA; per-string current limit.
63c66ec88fSEmmanuel Vadot      This property is supported only for WLED3.
64c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
65c66ec88fSEmmanuel Vadot    default: 20
66c66ec88fSEmmanuel Vadot    minimum: 0
67c66ec88fSEmmanuel Vadot    maximum: 25
68c66ec88fSEmmanuel Vadot
69c66ec88fSEmmanuel Vadot  qcom,current-limit-microamp:
70c66ec88fSEmmanuel Vadot    description: |
71c66ec88fSEmmanuel Vadot      uA; per-string current limit.
72c66ec88fSEmmanuel Vadot    default: 25
73c66ec88fSEmmanuel Vadot    minimum: 0
74c66ec88fSEmmanuel Vadot    maximum: 30000
75c66ec88fSEmmanuel Vadot    multipleOf: 25
76c66ec88fSEmmanuel Vadot
77c66ec88fSEmmanuel Vadot  qcom,current-boost-limit:
78c66ec88fSEmmanuel Vadot    description: |
79c66ec88fSEmmanuel Vadot      mA; boost current limit.
80c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
81c66ec88fSEmmanuel Vadot
82c66ec88fSEmmanuel Vadot  qcom,switching-freq:
83c66ec88fSEmmanuel Vadot    description: |
84c66ec88fSEmmanuel Vadot      kHz; switching frequency.
85c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
86c66ec88fSEmmanuel Vadot    enum: [ 600, 640, 685, 738, 800, 872, 960, 1066, 1200, 1371, 1600, 1920,
87c66ec88fSEmmanuel Vadot            2400, 3200, 4800, 9600 ]
88c66ec88fSEmmanuel Vadot
89c66ec88fSEmmanuel Vadot  qcom,ovp:
90c66ec88fSEmmanuel Vadot    description: |
91c66ec88fSEmmanuel Vadot      V; Over-voltage protection limit.
92c66ec88fSEmmanuel Vadot      This property is supported only for WLED3.
93c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
94c66ec88fSEmmanuel Vadot    enum: [ 27, 29, 32, 35 ]
95c66ec88fSEmmanuel Vadot    default: 29
96c66ec88fSEmmanuel Vadot
97c66ec88fSEmmanuel Vadot  qcom,ovp-millivolt:
98c66ec88fSEmmanuel Vadot    description: |
99c66ec88fSEmmanuel Vadot      Over-voltage protection limit. This property is for WLED4 only.
100c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
101c66ec88fSEmmanuel Vadot    enum: [ 18100, 19600, 29600, 31100 ]
102c66ec88fSEmmanuel Vadot    default: 29600
103c66ec88fSEmmanuel Vadot
104c66ec88fSEmmanuel Vadot  qcom,num-strings:
105c66ec88fSEmmanuel Vadot    description: |
106c66ec88fSEmmanuel Vadot      number of led strings attached.
107c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
108c66ec88fSEmmanuel Vadot
109c66ec88fSEmmanuel Vadot  qcom,enabled-strings:
110c66ec88fSEmmanuel Vadot    description: |
111c66ec88fSEmmanuel Vadot      Array of the WLED strings numbered from 0 to 3. Each
112c66ec88fSEmmanuel Vadot      string of leds are operated individually. Specify the
113c66ec88fSEmmanuel Vadot      list of strings used by the device. Any combination of
114c66ec88fSEmmanuel Vadot      led strings can be used.
115c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
116c66ec88fSEmmanuel Vadot    minItems: 1
117c66ec88fSEmmanuel Vadot    maxItems: 4
118c66ec88fSEmmanuel Vadot
119c66ec88fSEmmanuel Vadot  qcom,external-pfet:
120c66ec88fSEmmanuel Vadot    description: |
121c66ec88fSEmmanuel Vadot      Specify if external PFET control for short circuit
122c66ec88fSEmmanuel Vadot      protection is used. This property is supported only
123c66ec88fSEmmanuel Vadot      for WLED4.
124c66ec88fSEmmanuel Vadot    type: boolean
125c66ec88fSEmmanuel Vadot
126c66ec88fSEmmanuel Vadot  qcom,auto-string-detection:
127c66ec88fSEmmanuel Vadot    description: |
128c66ec88fSEmmanuel Vadot      Enables auto-detection of the WLED string configuration.
129c66ec88fSEmmanuel Vadot      This feature is not supported for WLED3.
130c66ec88fSEmmanuel Vadot    type: boolean
131c66ec88fSEmmanuel Vadot
132c66ec88fSEmmanuel Vadot  interrupts:
133c66ec88fSEmmanuel Vadot    minItems: 1
134c66ec88fSEmmanuel Vadot    items:
135c66ec88fSEmmanuel Vadot      - description: over voltage protection interrupt.
136c66ec88fSEmmanuel Vadot      - description: short circuit interrupt.
137c66ec88fSEmmanuel Vadot
138c66ec88fSEmmanuel Vadot  interrupt-names:
139c66ec88fSEmmanuel Vadot    minItems: 1
140c66ec88fSEmmanuel Vadot    items:
141c66ec88fSEmmanuel Vadot      - const: ovp
142c66ec88fSEmmanuel Vadot      - const: short
143c66ec88fSEmmanuel Vadot
144c66ec88fSEmmanuel Vadot  qcom,modulator-sel:
145c66ec88fSEmmanuel Vadot    description: |
146c66ec88fSEmmanuel Vadot      Selects the modulator used for brightness modulation.
147c66ec88fSEmmanuel Vadot      Allowed values are,
148c66ec88fSEmmanuel Vadot           0 - Modulator A
149c66ec88fSEmmanuel Vadot           1 - Modulator B
150c66ec88fSEmmanuel Vadot      This property is applicable only to WLED5 peripheral.
151c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
152c66ec88fSEmmanuel Vadot    enum: [ 0, 1 ]
153c66ec88fSEmmanuel Vadot    default: 0
154c66ec88fSEmmanuel Vadot
155c66ec88fSEmmanuel Vadot  qcom,cabc-sel:
156c66ec88fSEmmanuel Vadot    description: |
157c66ec88fSEmmanuel Vadot      Selects the CABC pin signal used for brightness modulation.
158c66ec88fSEmmanuel Vadot      Allowed values are,
159c66ec88fSEmmanuel Vadot           0 - CABC disabled
160c66ec88fSEmmanuel Vadot           1 - CABC 1
161c66ec88fSEmmanuel Vadot           2 - CABC 2
162c66ec88fSEmmanuel Vadot           3 - External signal (e.g. LPG) is used for dimming
163c66ec88fSEmmanuel Vadot      This property is applicable only to WLED5 peripheral.
164c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
165c66ec88fSEmmanuel Vadot    enum: [ 0, 1, 2, 3 ]
166c66ec88fSEmmanuel Vadot
167c66ec88fSEmmanuel VadotallOf:
168c66ec88fSEmmanuel Vadot  - if:
169c66ec88fSEmmanuel Vadot      properties:
170c66ec88fSEmmanuel Vadot        compatible:
171c66ec88fSEmmanuel Vadot          contains:
172c66ec88fSEmmanuel Vadot            const: qcom,pm8941-wled
173c66ec88fSEmmanuel Vadot
174c66ec88fSEmmanuel Vadot    then:
175c66ec88fSEmmanuel Vadot      properties:
1767ef62cebSEmmanuel Vadot        reg:
1777ef62cebSEmmanuel Vadot          maxItems: 1
1787ef62cebSEmmanuel Vadot
179c66ec88fSEmmanuel Vadot        qcom,current-boost-limit:
180c66ec88fSEmmanuel Vadot          enum: [ 105, 385, 525, 805, 980, 1260, 1400, 1680 ]
181c66ec88fSEmmanuel Vadot          default: 805
182c66ec88fSEmmanuel Vadot
183c66ec88fSEmmanuel Vadot        qcom,switching-freq:
184c66ec88fSEmmanuel Vadot          default: 1600
185c66ec88fSEmmanuel Vadot
186c66ec88fSEmmanuel Vadot        qcom,num-strings:
187c66ec88fSEmmanuel Vadot          enum: [ 1, 2, 3 ]
188c66ec88fSEmmanuel Vadot
189c66ec88fSEmmanuel Vadot        interrupts:
190c66ec88fSEmmanuel Vadot          maxItems: 1
191c66ec88fSEmmanuel Vadot
192c66ec88fSEmmanuel Vadot        interrupt-names:
193c66ec88fSEmmanuel Vadot          maxItems: 1
194c66ec88fSEmmanuel Vadot
195c66ec88fSEmmanuel Vadot    else:
196c66ec88fSEmmanuel Vadot      properties:
1977ef62cebSEmmanuel Vadot        reg:
1987ef62cebSEmmanuel Vadot          minItems: 2
1997ef62cebSEmmanuel Vadot
200c66ec88fSEmmanuel Vadot        qcom,current-boost-limit:
201c66ec88fSEmmanuel Vadot          enum: [ 105, 280, 450, 620, 970, 1150, 1300, 1500 ]
202c66ec88fSEmmanuel Vadot          default: 970
203c66ec88fSEmmanuel Vadot
204c66ec88fSEmmanuel Vadot        qcom,switching-freq:
205c66ec88fSEmmanuel Vadot          default: 800
206c66ec88fSEmmanuel Vadot
207c66ec88fSEmmanuel Vadot        qcom,num-strings:
208c66ec88fSEmmanuel Vadot          enum: [ 1, 2, 3, 4 ]
209c66ec88fSEmmanuel Vadot
210c66ec88fSEmmanuel Vadot        interrupts:
211c66ec88fSEmmanuel Vadot          minItems: 2
212c66ec88fSEmmanuel Vadot
213c66ec88fSEmmanuel Vadot        interrupt-names:
214c66ec88fSEmmanuel Vadot          minItems: 2
215c66ec88fSEmmanuel Vadot  - if:
216c66ec88fSEmmanuel Vadot      properties:
217c66ec88fSEmmanuel Vadot        compatible:
218c66ec88fSEmmanuel Vadot          contains:
219c66ec88fSEmmanuel Vadot            enum:
220c66ec88fSEmmanuel Vadot              - qcom,pm8150l-wled
221c66ec88fSEmmanuel Vadot
222c66ec88fSEmmanuel Vadot    then:
223c66ec88fSEmmanuel Vadot      properties:
224c66ec88fSEmmanuel Vadot        default-brightness:
225c66ec88fSEmmanuel Vadot          minimum: 0
226c66ec88fSEmmanuel Vadot          maximum: 32767
227c66ec88fSEmmanuel Vadot
228c66ec88fSEmmanuel Vadot        max-brightness:
229c66ec88fSEmmanuel Vadot          minimum: 0
230c66ec88fSEmmanuel Vadot          maximum: 32767
231c66ec88fSEmmanuel Vadot
232c66ec88fSEmmanuel Vadot    else:
233c66ec88fSEmmanuel Vadot      properties:
234c66ec88fSEmmanuel Vadot        default-brightness:
235c66ec88fSEmmanuel Vadot          minimum: 0
236c66ec88fSEmmanuel Vadot          maximum: 4095
237c66ec88fSEmmanuel Vadot
238c66ec88fSEmmanuel Vadot        max-brightness:
239c66ec88fSEmmanuel Vadot          minimum: 0
240c66ec88fSEmmanuel Vadot          maximum: 4095
241c66ec88fSEmmanuel Vadot
242c66ec88fSEmmanuel Vadotrequired:
243c66ec88fSEmmanuel Vadot  - compatible
244c66ec88fSEmmanuel Vadot  - reg
245c66ec88fSEmmanuel Vadot  - label
246c66ec88fSEmmanuel Vadot
247c66ec88fSEmmanuel VadotadditionalProperties: false
248c66ec88fSEmmanuel Vadot
249c66ec88fSEmmanuel Vadotexamples:
250c66ec88fSEmmanuel Vadot  - |
251c66ec88fSEmmanuel Vadot    backlight@d800 {
252c66ec88fSEmmanuel Vadot        compatible = "qcom,pm8941-wled";
253c66ec88fSEmmanuel Vadot        reg = <0xd800 0x100>;
254c66ec88fSEmmanuel Vadot        label = "backlight";
255c66ec88fSEmmanuel Vadot
256c66ec88fSEmmanuel Vadot        qcom,cs-out;
257c66ec88fSEmmanuel Vadot        qcom,current-limit = <20>;
258c66ec88fSEmmanuel Vadot        qcom,current-boost-limit = <805>;
259c66ec88fSEmmanuel Vadot        qcom,switching-freq = <1600>;
260c66ec88fSEmmanuel Vadot        qcom,ovp = <29>;
261c66ec88fSEmmanuel Vadot        qcom,num-strings = <2>;
262c66ec88fSEmmanuel Vadot        qcom,enabled-strings = <0 1>;
263c66ec88fSEmmanuel Vadot     };
264