File Index
Files and directories
Sign in
FILE

fsl,mc13xxx.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/mfd/fsl,mc13xxx.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/mfd/fsl,mc13xxx.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Freescale MC13xxx Power Management Integrated Circuits (PMIC)
  8
  9maintainers:
 10  - Alexander Kurz <akurz@blala.de>
 11
 12description: >
 13  The MC13xxx PMIC series consists of the three models MC13783, MC13892
 14  and MC34708 and provide regulators and other features like RTC, ADC,
 15  LED, touchscreen, codec and input buttons.
 16
 17  Link to datasheets
 18    https://www.nxp.com/docs/en/data-sheet/MC13783.pdf
 19    https://www.nxp.com/docs/en/data-sheet/MC13892.pdf
 20    https://www.nxp.com/docs/en/data-sheet/MC34708.pdf
 21
 22properties:
 23  compatible:
 24    enum:
 25      - fsl,mc13783
 26      - fsl,mc13892
 27      - fsl,mc34708
 28
 29  reg:
 30    description: I2C slave address or SPI chip select number.
 31    maxItems: 1
 32
 33  spi-max-frequency: true
 34
 35  spi-cs-high: true
 36
 37  system-power-controller: true
 38
 39  interrupts:
 40    maxItems: 1
 41
 42  buttons:
 43    type: object
 44    properties:
 45      "#address-cells":
 46        const: 1
 47
 48      "#size-cells":
 49        const: 0
 50
 51    patternProperties:
 52      "^onkey@[0-2]$":
 53        $ref: /schemas/input/input.yaml#
 54        unevaluatedProperties: false
 55        type: object
 56
 57        properties:
 58          reg:
 59            description: |
 60              One of
 61              MC13783 BUTTON IDs:
 62                0: ONOFD1
 63                1: ONOFD2
 64                2: ONOFD3
 65
 66              MC13892 BUTTON IDs:
 67                0: PWRON1
 68                1: PWRON2
 69                2: PWRON3
 70
 71              MC34708 BUTTON IDs:
 72                0: PWRON1
 73                1: PWRON2
 74            maximum: 2
 75
 76          debounce-delay-ms:
 77            enum: [0, 30, 150, 750]
 78            default: 30
 79            description:
 80              Sets the debouncing delay in milliseconds.
 81
 82          active-low:
 83            description: Set active when pin is pulled low.
 84
 85          linux,code: true
 86
 87          fsl,enable-reset:
 88            description:
 89              Setting of the global reset option.
 90            type: boolean
 91
 92    unevaluatedProperties: false
 93
 94  leds:
 95    type: object
 96    additionalProperties: false
 97
 98    properties:
 99      '#address-cells':
100        const: 1
101
102      '#size-cells':
103        const: 0
104
105      led-control:
106        $ref: /schemas/types.yaml#/definitions/uint32-array
107        description: |
108          Setting for LED-Control register array length depends on model,
109          mc13783: 6, mc13892: 4, mc34708: 1
110
111    patternProperties:
112      '^led@[0-9a-b]$':
113        $ref: /schemas/leds/common.yaml#
114        unevaluatedProperties: false
115
116        properties:
117          reg:
118            description: |
119              One of
120              MC13783 LED IDs
121                0: Main display
122                1: AUX display
123                2: Keypad
124                3: Red 1
125                4: Green 1
126                5: Blue 1
127                6: Red 2
128                7: Green 2
129                8: Blue 2
130                9: Red 3
131                10: Green 3
132                11: Blue 3
133
134              MC13892 LED IDs
135                0: Main display
136                1: AUX display
137                2: Keypad
138                3: Red
139                4: Green
140                5: Blue
141
142              MC34708 LED IDs
143                0: Charger Red
144                1: Charger Green
145            maxItems: 1
146
147  regulators:
148    type: object
149
150    additionalProperties:
151      type: object
152
153    description: |
154      List of child nodes specifying the regulators, depending on chip variant.
155      Each child node is defined using the standard binding for regulators and
156      the optional regulator properties defined below.
157
158  fsl,mc13xxx-uses-adc:
159    type: boolean
160    description: Indicate the ADC is being used
161
162  fsl,mc13xxx-uses-codec:
163    type: boolean
164    description: Indicate the Audio Codec is being used
165
166  fsl,mc13xxx-uses-rtc:
167    type: boolean
168    description: Indicate the RTC is being used
169
170  fsl,mc13xxx-uses-touch:
171    type: boolean
172    description: Indicate the touchscreen controller is being used
173
174required:
175  - compatible
176  - reg
177
178allOf:
179  - if:
180      properties:
181        compatible:
182          contains:
183            const: fsl,mc13783
184    then:
185      properties:
186        leds:
187          properties:
188            led-control:
189              minItems: 6
190              maxItems: 6
191        regulators:
192          patternProperties:
193            "^gpo[1-4]|pwgt[12]spi|sw[12][ab]|sw3|vaudio|vcam|vdig|vesim|vgen|viohi|violo|vmmc[12]|vrf[12]|vrfbg|vrfcp|vrfdig|vrfref|vsim|vvib$":
194              type: object
195              $ref: /schemas/regulator/regulator.yaml#
196
197              unevaluatedProperties: false
198
199  - if:
200      properties:
201        compatible:
202          contains:
203            const: fsl,mc13892
204    then:
205      properties:
206        leds:
207          properties:
208            led-control:
209              minItems: 4
210              maxItems: 4
211        regulators:
212          patternProperties:
213            "^gpo[1-4]|pwgt[12]spi|sw[1-4]|swbst|vaudio|vcam|vcoincell|vdig|vgen[1-3]|viohi|vpll|vsd|vusb|vusb2|vvideo$":
214              type: object
215              $ref: /schemas/regulator/regulator.yaml#
216
217              unevaluatedProperties: false
218
219  - if:
220      properties:
221        compatible:
222          contains:
223            const: fsl,mc34708
224    then:
225      properties:
226        buttons:
227          patternProperties:
228            "^onkey@[0-2]$":
229              properties:
230                reg:
231                  maximum: 1
232        leds:
233          properties:
234            led-control:
235              minItems: 1
236              maxItems: 1
237
238additionalProperties: false
239
240examples:
241  - |
242    #include <dt-bindings/gpio/gpio.h>
243    #include <dt-bindings/interrupt-controller/irq.h>
244    #include <dt-bindings/leds/common.h>
245
246    spi {
247        #address-cells = <1>;
248        #size-cells = <0>;
249
250        pmic: mc13892@0 {
251            compatible = "fsl,mc13892";
252            reg = <0>;
253            spi-max-frequency = <1000000>;
254            spi-cs-high;
255            interrupt-parent = <&gpio0>;
256            interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
257            fsl,mc13xxx-uses-rtc;
258            fsl,mc13xxx-uses-adc;
259
260            buttons {
261                #address-cells = <1>;
262                #size-cells = <0>;
263
264                onkey@0 {
265                    reg = <0>;
266                    debounce-delay-ms = <30>;
267                    active-low;
268                    fsl,enable-reset;
269                };
270            };
271
272            leds {
273                #address-cells = <1>;
274                #size-cells = <0>;
275                led-control = <0x000 0x000 0x0e0 0x000>;
276
277                led@3 {
278                    reg = <3>;
279                    label = "system:red:live";
280                    linux,default-trigger = "heartbeat";
281                };
282            };
283
284            regulators {
285                sw1_reg: sw1 {
286                    regulator-min-microvolt = <600000>;
287                    regulator-max-microvolt = <1375000>;
288                    regulator-boot-on;
289                    regulator-always-on;
290                };
291
292                sw2_reg: sw2 {
293                    regulator-min-microvolt = <900000>;
294                    regulator-max-microvolt = <1850000>;
295                    regulator-boot-on;
296                    regulator-always-on;
297                };
298            };
299        };
300    };
~/ Read-only file preview.