xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/maxim,max5970.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1fac71e4eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2fac71e4eSEmmanuel Vadot%YAML 1.2
3fac71e4eSEmmanuel Vadot---
4fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/mfd/maxim,max5970.yaml#
5fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6fac71e4eSEmmanuel Vadot
7fac71e4eSEmmanuel Vadottitle: Regulator for MAX5970 Smart Switch from Maxim Integrated
8fac71e4eSEmmanuel Vadot
9fac71e4eSEmmanuel Vadotmaintainers:
10fac71e4eSEmmanuel Vadot  - Patrick Rudolph <patrick.rudolph@9elements.com>
11fac71e4eSEmmanuel Vadot
12fac71e4eSEmmanuel Vadotdescription: |
13fac71e4eSEmmanuel Vadot  The smart switch provides no output regulation, but independent fault protection
14fac71e4eSEmmanuel Vadot  and voltage and current sensing.
15fac71e4eSEmmanuel Vadot  Programming is done through I2C bus.
16fac71e4eSEmmanuel Vadot
17fac71e4eSEmmanuel Vadot  Datasheets:
18fac71e4eSEmmanuel Vadot    https://datasheets.maximintegrated.com/en/ds/MAX5970.pdf
19fac71e4eSEmmanuel Vadot    https://datasheets.maximintegrated.com/en/ds/MAX5978.pdf
20fac71e4eSEmmanuel Vadot
21fac71e4eSEmmanuel Vadotproperties:
22fac71e4eSEmmanuel Vadot  compatible:
23fac71e4eSEmmanuel Vadot    enum:
24fac71e4eSEmmanuel Vadot      - maxim,max5970
25fac71e4eSEmmanuel Vadot      - maxim,max5978
26fac71e4eSEmmanuel Vadot
27fac71e4eSEmmanuel Vadot  reg:
28fac71e4eSEmmanuel Vadot    maxItems: 1
29fac71e4eSEmmanuel Vadot
30fac71e4eSEmmanuel Vadot  interrupts:
31fac71e4eSEmmanuel Vadot    maxItems: 1
32fac71e4eSEmmanuel Vadot
33fac71e4eSEmmanuel Vadot  leds:
34fac71e4eSEmmanuel Vadot    type: object
35fac71e4eSEmmanuel Vadot    description:
36fac71e4eSEmmanuel Vadot      Properties for four LEDS.
37fac71e4eSEmmanuel Vadot
38fac71e4eSEmmanuel Vadot    properties:
39fac71e4eSEmmanuel Vadot      "#address-cells":
40fac71e4eSEmmanuel Vadot        const: 1
41fac71e4eSEmmanuel Vadot
42fac71e4eSEmmanuel Vadot      "#size-cells":
43fac71e4eSEmmanuel Vadot        const: 0
44fac71e4eSEmmanuel Vadot
45fac71e4eSEmmanuel Vadot    patternProperties:
46fac71e4eSEmmanuel Vadot      "^led@[0-3]$":
47fac71e4eSEmmanuel Vadot        $ref: /schemas/leds/common.yaml#
48*84943d6fSEmmanuel Vadot        unevaluatedProperties: false
49fac71e4eSEmmanuel Vadot        type: object
50fac71e4eSEmmanuel Vadot
51*84943d6fSEmmanuel Vadot        properties:
52*84943d6fSEmmanuel Vadot          reg:
53*84943d6fSEmmanuel Vadot            maximum: 3
54*84943d6fSEmmanuel Vadot
55fac71e4eSEmmanuel Vadot    additionalProperties: false
56fac71e4eSEmmanuel Vadot
57fac71e4eSEmmanuel Vadot  vss1-supply:
58fac71e4eSEmmanuel Vadot    description: Supply of the first channel.
59fac71e4eSEmmanuel Vadot
60fac71e4eSEmmanuel Vadot  vss2-supply:
61fac71e4eSEmmanuel Vadot    description: Supply of the second channel.
62fac71e4eSEmmanuel Vadot
63fac71e4eSEmmanuel Vadot  regulators:
64fac71e4eSEmmanuel Vadot    type: object
65fac71e4eSEmmanuel Vadot    description:
66fac71e4eSEmmanuel Vadot      Properties for both hot swap control/switch.
67fac71e4eSEmmanuel Vadot
68fac71e4eSEmmanuel Vadot    patternProperties:
69fac71e4eSEmmanuel Vadot      "^sw[0-1]$":
70fac71e4eSEmmanuel Vadot        $ref: /schemas/regulator/regulator.yaml#
71fac71e4eSEmmanuel Vadot        type: object
72fac71e4eSEmmanuel Vadot        properties:
73fac71e4eSEmmanuel Vadot          shunt-resistor-micro-ohms:
74fac71e4eSEmmanuel Vadot            description: |
75fac71e4eSEmmanuel Vadot              The value of current sense resistor in microohms.
76fac71e4eSEmmanuel Vadot
77fac71e4eSEmmanuel Vadot        required:
78fac71e4eSEmmanuel Vadot          - shunt-resistor-micro-ohms
79fac71e4eSEmmanuel Vadot
80fac71e4eSEmmanuel Vadot        unevaluatedProperties: false
81fac71e4eSEmmanuel Vadot
82fac71e4eSEmmanuel Vadot    additionalProperties: false
83fac71e4eSEmmanuel Vadot
84fac71e4eSEmmanuel Vadotrequired:
85fac71e4eSEmmanuel Vadot  - compatible
86fac71e4eSEmmanuel Vadot  - reg
87fac71e4eSEmmanuel Vadot  - regulators
88fac71e4eSEmmanuel Vadot  - vss1-supply
89fac71e4eSEmmanuel Vadot
90fac71e4eSEmmanuel VadotallOf:
91fac71e4eSEmmanuel Vadot  - if:
92fac71e4eSEmmanuel Vadot      properties:
93fac71e4eSEmmanuel Vadot        compatible:
94fac71e4eSEmmanuel Vadot          enum:
95fac71e4eSEmmanuel Vadot            - maxim,max5970
96fac71e4eSEmmanuel Vadot    then:
97fac71e4eSEmmanuel Vadot      required:
98fac71e4eSEmmanuel Vadot        - vss2-supply
99fac71e4eSEmmanuel Vadot
100fac71e4eSEmmanuel VadotadditionalProperties: false
101fac71e4eSEmmanuel Vadot
102fac71e4eSEmmanuel Vadotexamples:
103fac71e4eSEmmanuel Vadot  - |
104fac71e4eSEmmanuel Vadot    i2c {
105fac71e4eSEmmanuel Vadot        #address-cells = <1>;
106fac71e4eSEmmanuel Vadot        #size-cells = <0>;
107fac71e4eSEmmanuel Vadot        regulator@3a {
108fac71e4eSEmmanuel Vadot            compatible = "maxim,max5978";
109fac71e4eSEmmanuel Vadot            reg = <0x3a>;
110fac71e4eSEmmanuel Vadot            vss1-supply = <&p3v3>;
111fac71e4eSEmmanuel Vadot
112fac71e4eSEmmanuel Vadot            regulators {
113fac71e4eSEmmanuel Vadot                sw0_ref_0: sw0 {
114fac71e4eSEmmanuel Vadot                    shunt-resistor-micro-ohms = <12000>;
115fac71e4eSEmmanuel Vadot                };
116fac71e4eSEmmanuel Vadot            };
117fac71e4eSEmmanuel Vadot
118fac71e4eSEmmanuel Vadot            leds {
119fac71e4eSEmmanuel Vadot                #address-cells = <1>;
120fac71e4eSEmmanuel Vadot                #size-cells = <0>;
121fac71e4eSEmmanuel Vadot                led@0 {
122fac71e4eSEmmanuel Vadot                    reg = <0>;
123fac71e4eSEmmanuel Vadot                    label = "led0";
124fac71e4eSEmmanuel Vadot                    default-state = "on";
125fac71e4eSEmmanuel Vadot                };
126fac71e4eSEmmanuel Vadot                led@1 {
127fac71e4eSEmmanuel Vadot                    reg = <1>;
128fac71e4eSEmmanuel Vadot                    label = "led1";
129fac71e4eSEmmanuel Vadot                    default-state = "on";
130fac71e4eSEmmanuel Vadot                };
131fac71e4eSEmmanuel Vadot            };
132fac71e4eSEmmanuel Vadot        };
133fac71e4eSEmmanuel Vadot    };
134fac71e4eSEmmanuel Vadot
135fac71e4eSEmmanuel Vadot  - |
136fac71e4eSEmmanuel Vadot    i2c {
137fac71e4eSEmmanuel Vadot        #address-cells = <1>;
138fac71e4eSEmmanuel Vadot        #size-cells = <0>;
139fac71e4eSEmmanuel Vadot
140fac71e4eSEmmanuel Vadot        regulator@3a {
141fac71e4eSEmmanuel Vadot            compatible = "maxim,max5970";
142fac71e4eSEmmanuel Vadot            reg = <0x3a>;
143fac71e4eSEmmanuel Vadot            vss1-supply = <&p3v3>;
144fac71e4eSEmmanuel Vadot            vss2-supply = <&p5v>;
145fac71e4eSEmmanuel Vadot
146fac71e4eSEmmanuel Vadot            regulators {
147fac71e4eSEmmanuel Vadot                sw0_ref_1: sw0 {
148fac71e4eSEmmanuel Vadot                    shunt-resistor-micro-ohms = <12000>;
149fac71e4eSEmmanuel Vadot                };
150fac71e4eSEmmanuel Vadot                sw1_ref_1: sw1 {
151fac71e4eSEmmanuel Vadot                    shunt-resistor-micro-ohms = <10000>;
152fac71e4eSEmmanuel Vadot                };
153fac71e4eSEmmanuel Vadot            };
154fac71e4eSEmmanuel Vadot        };
155fac71e4eSEmmanuel Vadot    };
156fac71e4eSEmmanuel Vadot...
157