GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / mfd / ti,tps65086.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/ti,tps65086.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: TPS65086 Power Management Integrated Circuit (PMIC)
8
9 maintainers:
10   - Emil Renner Berthing <kernel@esmil.dk>
11
12 properties:
13   compatible:
14     const: ti,tps65086
15
16   reg:
17     const: 0x5e
18     description: I2C slave address
19
20   interrupts:
21     maxItems: 1
22
23   interrupt-controller: true
24
25   '#interrupt-cells':
26     const: 2
27     description: |
28       The first cell is the IRQ number. The second cell is the flags,
29       encoded as trigger masks from ../interrupt-controller/interrupts.txt.
30
31   gpio-controller: true
32
33   '#gpio-cells':
34     const: 2
35     description: |
36       The first cell is the pin number and the second cell is used to specify
37       flags.  See ../gpio/gpio.txt for more information.
38
39   regulators:
40     type: object
41     additionalProperties: false
42     description: |
43       List of child nodes that specify the regulator initialization data.
44       Child nodes must be named after their hardware counterparts:
45       buck[1-6], ldoa[1-3], swa1, swb[1-2], and vtt.
46       Each child node is defined using the standard binding for regulators and
47       the optional regulator properties defined below.
48
49     patternProperties:
50       "^buck[1-6]$":
51         type: object
52         $ref: ../regulator/regulator.yaml
53
54         properties:
55           regulator-name: true
56           regulator-boot-on: true
57           regulator-always-on: true
58           regulator-min-microvolt: true
59           regulator-max-microvolt: true
60           ti,regulator-step-size-25mv:
61             type: boolean
62             description: |
63               Set this if the regulator is factory set with a 25mv step voltage
64               mapping.
65           ti,regulator-decay:
66             type: boolean
67             description: |
68               Set this if the output needs to decay, default is for the output
69               to slew down.
70
71         additionalProperties: false
72
73       "^(ldoa[1-3]|swa1|swb[1-2]|vtt)$":
74         type: object
75         $ref: ../regulator/regulator.yaml
76
77         properties:
78           regulator-name: true
79           regulator-boot-on: true
80           regulator-always-on: true
81           regulator-min-microvolt: true
82           regulator-max-microvolt: true
83
84         additionalProperties: false
85
86 additionalProperties: false
87
88 required:
89   - compatible
90   - reg
91   - gpio-controller
92   - '#gpio-cells'
93   - regulators
94
95 examples:
96   - |
97     #include <dt-bindings/interrupt-controller/irq.h>
98     i2c {
99         #address-cells = <1>;
100         #size-cells = <0>;
101
102         pmic: pmic@5e {
103             compatible = "ti,tps65086";
104             reg = <0x5e>;
105             interrupt-parent = <&gpio1>;
106             interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
107             interrupt-controller;
108             #interrupt-cells = <2>;
109             gpio-controller;
110             #gpio-cells = <2>;
111
112             regulators {
113                 buck1 {
114                     regulator-name = "vcc1";
115                     regulator-min-microvolt = <1600000>;
116                     regulator-max-microvolt = <1600000>;
117                     regulator-boot-on;
118                     ti,regulator-decay;
119                     ti,regulator-step-size-25mv;
120                 };
121             };
122         };
123     };
124
125 ...