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        unevaluatedProperties: false
79
80    additionalProperties: false
81
82required:
83  - compatible
84  - reg
85  - regulators
86
87additionalProperties: false
88
89examples:
90  - |
91    i2c {
92        #address-cells = <1>;
93        #size-cells = <0>;
94
95        pmic@69 {
96          compatible = "mps,mpq7920";
97          reg = <0x69>;
98
99          regulators {
100            mps,switch-freq = /bits/ 8 <1>;
101
102            buck1 {
103             regulator-name = "buck1";
104             regulator-min-microvolt = <400000>;
105             regulator-max-microvolt = <3587500>;
106             regulator-min-microamp  = <460000>;
107             regulator-max-microamp  = <7600000>;
108             regulator-boot-on;
109             mps,buck-ovp-disable;
110             mps,buck-phase-delay = /bits/ 8 <2>;
111             mps,buck-softstart = /bits/ 8 <1>;
112            };
113
114            ldo2 {
115             regulator-name = "ldo2";
116             regulator-min-microvolt = <650000>;
117             regulator-max-microvolt = <3587500>;
118            };
119         };
120       };
121     };
122...
123