xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/ti,tps65086.yaml (revision a64729f5077d77e13b9497cb33ecb3c82e606ee8)
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    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
86additionalProperties: false
87
88required:
89  - compatible
90  - reg
91  - gpio-controller
92  - '#gpio-cells'
93  - regulators
94
95examples:
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...
126