dt-bindings: mfd: Convert tps65086.txt to YAML
[platform/kernel/linux-starfive.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     description: |
42       List of child nodes that specify the regulator initialization data.
43       Child nodes must be named after their hardware counterparts:
44       buck[1-6], ldoa[1-3], swa1, swb[1-2], and vtt.
45       Each child node is defined using the standard binding for regulators and
46       the optional regulator properties defined below.
47
48     patternProperties:
49       "^buck[1-6]$":
50         type: object
51         $ref: ../regulator/regulator.yaml
52
53         properties:
54           regulator-name: true
55           regulator-boot-on: true
56           regulator-always-on: true
57           regulator-min-microvolt: true
58           regulator-max-microvolt: true
59           ti,regulator-step-size-25mv:
60             type: boolean
61             description: |
62               Set this if the regulator is factory set with a 25mv step voltage
63               mapping.
64           ti,regulator-decay:
65             type: boolean
66             description: |
67               Set this if the output needs to decay, default is for the output
68               to slew down.
69
70         additionalProperties: false
71
72       "^(ldoa[1-3]|swa1|swb[1-2]|vtt)$":
73         type: object
74         $ref: ../regulator/regulator.yaml
75
76         properties:
77           regulator-name: true
78           regulator-boot-on: true
79           regulator-always-on: true
80           regulator-min-microvolt: true
81           regulator-max-microvolt: true
82
83         additionalProperties: false
84
85 additionalProperties: false
86
87 required:
88   - compatible
89   - reg
90   - interrupts
91   - interrupt-controller
92   - '#interrupt-cells'
93   - gpio-controller
94   - '#gpio-cells'
95   - regulators
96
97 examples:
98   - |
99     #include <dt-bindings/interrupt-controller/irq.h>
100     i2c0 {
101         #address-cells = <1>;
102         #size-cells = <0>;
103
104         pmic: pmic@5e {
105             compatible = "ti,tps65086";
106             reg = <0x5e>;
107             interrupt-parent = <&gpio1>;
108             interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
109             interrupt-controller;
110             #interrupt-cells = <2>;
111             gpio-controller;
112             #gpio-cells = <2>;
113
114             regulators {
115                 buck1 {
116                     regulator-name = "vcc1";
117                     regulator-min-microvolt = <1600000>;
118                     regulator-max-microvolt = <1600000>;
119                     regulator-boot-on;
120                     ti,regulator-decay;
121                     ti,regulator-step-size-25mv;
122                 };
123             };
124         };
125     };
126
127 ...