1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/regulator/mps,mpq7920.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Monolithic Power System MPQ7920 PMIC
8
9maintainers:
10  - Saravanan Sekar <sravanhome@gmail.com>
11
12properties:
13  $nodename:
14    pattern: "pmic@[0-9a-f]{1,2}"
15  compatible:
16    enum:
17      - mps,mpq7920
18
19  reg:
20    maxItems: 1
21
22  regulators:
23    type: object
24    allOf:
25      - $ref: regulator.yaml#
26    description: |
27      list of regulators provided by this controller, must be named
28      after their hardware counterparts BUCK[1-4], one LDORTC, and LDO[2-5]
29
30    properties:
31      mps,switch-freq:
32        allOf:
33          - $ref: "/schemas/types.yaml#/definitions/uint8"
34        enum: [ 0, 1, 2, 3 ]
35        default: 2
36        description: |
37          switching frequency must be one of following corresponding value
38          1.1MHz, 1.65MHz, 2.2MHz, 2.75MHz
39
40    patternProperties:
41      "^ldo[1-4]$":
42        type: object
43        allOf:
44          - $ref: regulator.yaml#
45
46      "^ldortc$":
47        type: object
48        allOf:
49          - $ref: regulator.yaml#
50
51      "^buck[1-4]$":
52        type: object
53        allOf:
54          - $ref: regulator.yaml#
55
56        properties:
57          mps,buck-softstart:
58            allOf:
59              - $ref: "/schemas/types.yaml#/definitions/uint8"
60            enum: [ 0, 1, 2, 3 ]
61            description: |
62              defines the soft start time of this buck, must be one of the following
63              corresponding values 150us, 300us, 610us, 920us
64
65          mps,buck-phase-delay:
66            allOf:
67              - $ref: "/schemas/types.yaml#/definitions/uint8"
68            enum: [ 0, 1, 2, 3 ]
69            description: |
70              defines the phase delay of this buck, must be one of the following
71              corresponding values 0deg, 90deg, 180deg, 270deg
72
73          mps,buck-ovp-disable:
74            type: boolean
75            description: |
76              disables over voltage protection of this buck
77
78      additionalProperties: false
79    additionalProperties: false
80
81required:
82  - compatible
83  - reg
84  - regulators
85
86additionalProperties: false
87
88examples:
89  - |
90    i2c {
91        #address-cells = <1>;
92        #size-cells = <0>;
93
94        pmic@69 {
95          compatible = "mps,mpq7920";
96          reg = <0x69>;
97
98          regulators {
99            mps,switch-freq = /bits/ 8 <1>;
100
101            buck1 {
102             regulator-name = "buck1";
103             regulator-min-microvolt = <400000>;
104             regulator-max-microvolt = <3587500>;
105             regulator-min-microamp  = <460000>;
106             regulator-max-microamp  = <7600000>;
107             regulator-boot-on;
108             mps,buck-ovp-disable;
109             mps,buck-phase-delay = /bits/ 8 <2>;
110             mps,buck-softstart = /bits/ 8 <1>;
111            };
112
113            ldo2 {
114             regulator-name = "ldo2";
115             regulator-min-microvolt = <650000>;
116             regulator-max-microvolt = <3587500>;
117            };
118         };
119       };
120     };
121...
122