xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/ti,tps65086.yaml (revision 8ddb146abcdf061be9f2c0db7e391697dafad85c)
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
7title: TPS65086 Power Management Integrated Circuit (PMIC)
8
9maintainers:
10  - Emil Renner Berthing <kernel@esmil.dk>
11
12properties:
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
85additionalProperties: false
86
87required:
88  - compatible
89  - reg
90  - gpio-controller
91  - '#gpio-cells'
92  - regulators
93
94examples:
95  - |
96    #include <dt-bindings/interrupt-controller/irq.h>
97    i2c0 {
98        #address-cells = <1>;
99        #size-cells = <0>;
100
101        pmic: pmic@5e {
102            compatible = "ti,tps65086";
103            reg = <0x5e>;
104            interrupt-parent = <&gpio1>;
105            interrupts = <28 IRQ_TYPE_LEVEL_LOW>;
106            interrupt-controller;
107            #interrupt-cells = <2>;
108            gpio-controller;
109            #gpio-cells = <2>;
110
111            regulators {
112                buck1 {
113                    regulator-name = "vcc1";
114                    regulator-min-microvolt = <1600000>;
115                    regulator-max-microvolt = <1600000>;
116                    regulator-boot-on;
117                    ti,regulator-decay;
118                    ti,regulator-step-size-25mv;
119                };
120            };
121        };
122    };
123
124...
125