1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/regulator/maxim,max8952.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Maxim MAX8952 voltage regulator
8
9maintainers:
10  - Krzysztof Kozlowski <krzk@kernel.org>
11
12allOf:
13  - $ref: regulator.yaml#
14
15properties:
16  compatible:
17    const: maxim,max8952
18
19  max8952,default-mode:
20    $ref: /schemas/types.yaml#/definitions/uint32
21    enum: [0, 1, 2, 3]
22    description: |
23      index of default DVS voltage
24
25  max8952,dvs-mode-microvolt:
26    minItems: 4
27    maxItems: 4
28    items:
29      minimum: 770000
30      maximum: 1400000
31    description: |
32      Array of 4 integer values defining DVS voltages in microvolts. All values
33      must be from range <770000, 1400000>.
34
35  max8952,en-gpio:
36    maxItems: 1
37    description: |
38      GPIO used to control enable status of regulator
39
40  max8952,ramp-speed:
41    $ref: /schemas/types.yaml#/definitions/uint32
42    enum: [0, 1, 2, 3, 4, 5, 6, 7]
43    default: 0
44    description: |
45      Voltage ramp speed, values map to:
46       - 0: 32mV/us
47       - 1: 16mV/us
48       - 2: 8mV/us
49       - 3: 4mV/us
50       - 4: 2mV/us
51       - 5: 1mV/us
52       - 6: 0.5mV/us
53       - 7: 0.25mV/us
54      Defaults to 32mV/us if not specified.
55
56  max8952,sync-freq:
57    $ref: /schemas/types.yaml#/definitions/uint32
58    enum: [0, 1, 2]
59    default: 0
60    description: |
61      Sync frequency, values map to:
62       - 0: 26 MHz
63       - 1: 13 MHz
64       - 2: 19.2 MHz
65      Defaults to 26 MHz if not specified.
66
67  max8952,vid-gpios:
68    minItems: 2
69    maxItems: 2
70    description: |
71      Array of two GPIO pins used for DVS voltage selection
72
73  reg:
74    maxItems: 1
75
76required:
77  - compatible
78  - max8952,dvs-mode-microvolt
79  - reg
80
81unevaluatedProperties: false
82
83examples:
84  - |
85    #include <dt-bindings/gpio/gpio.h>
86
87    i2c {
88        #address-cells = <1>;
89        #size-cells = <0>;
90
91        pmic@60 {
92            compatible = "maxim,max8952";
93            reg = <0x60>;
94
95            max8952,vid-gpios = <&gpx0 3 GPIO_ACTIVE_HIGH>,
96                                <&gpx0 4 GPIO_ACTIVE_HIGH>;
97            max8952,default-mode = <0>;
98            max8952,dvs-mode-microvolt = <1250000>, <1200000>,
99                                         <1050000>, <950000>;
100            max8952,sync-freq = <0>;
101            max8952,ramp-speed = <0>;
102
103            regulator-name = "VARM_1.2V_C210";
104            regulator-min-microvolt = <770000>;
105            regulator-max-microvolt = <1400000>;
106            regulator-always-on;
107            regulator-boot-on;
108        };
109    };
110