summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/regulator/mps,mpq7920.yaml
blob: ae6e7ab36c58658c47a8cf82cc217e34bb2beb5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/mps,mpq7920.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Monolithic Power System MPQ7920 PMIC

maintainers:
  - Saravanan Sekar <sravanhome@gmail.com>

properties:
  $nodename:
    pattern: "pmic@[0-9a-f]{1,2}"
  compatible:
    enum:
      - mps,mpq7920

  reg:
    maxItems: 1

  regulators:
    type: object
    allOf:
      - $ref: regulator.yaml#
    description: |
      list of regulators provided by this controller, must be named
      after their hardware counterparts BUCK[1-4], one LDORTC, and LDO[2-5]

    properties:
      mps,switch-freq:
        allOf:
          - $ref: "/schemas/types.yaml#/definitions/uint8"
        enum: [ 0, 1, 2, 3 ]
        default: 2
        description: |
          switching frequency must be one of following corresponding value
          1.1MHz, 1.65MHz, 2.2MHz, 2.75MHz

    patternProperties:
      "^ldo[1-4]$":
        type: object
        allOf:
          - $ref: regulator.yaml#

      "^ldortc$":
        type: object
        allOf:
          - $ref: regulator.yaml#

      "^buck[1-4]$":
        type: object
        allOf:
          - $ref: regulator.yaml#

        properties:
          mps,buck-softstart:
            allOf:
              - $ref: "/schemas/types.yaml#/definitions/uint8"
            enum: [ 0, 1, 2, 3 ]
            description: |
              defines the soft start time of this buck, must be one of the following
              corresponding values 150us, 300us, 610us, 920us

          mps,buck-phase-delay:
            allOf:
              - $ref: "/schemas/types.yaml#/definitions/uint8"
            enum: [ 0, 1, 2, 3 ]
            description: |
              defines the phase delay of this buck, must be one of the following
              corresponding values 0deg, 90deg, 180deg, 270deg

          mps,buck-ovp-disable:
            type: boolean
            description: |
              disables over voltage protection of this buck

        unevaluatedProperties: false

    additionalProperties: false

required:
  - compatible
  - reg
  - regulators

additionalProperties: false

examples:
  - |
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        pmic@69 {
          compatible = "mps,mpq7920";
          reg = <0x69>;

          regulators {
            mps,switch-freq = /bits/ 8 <1>;

            buck1 {
             regulator-name = "buck1";
             regulator-min-microvolt = <400000>;
             regulator-max-microvolt = <3587500>;
             regulator-min-microamp  = <460000>;
             regulator-max-microamp  = <7600000>;
             regulator-boot-on;
             mps,buck-ovp-disable;
             mps,buck-phase-delay = /bits/ 8 <2>;
             mps,buck-softstart = /bits/ 8 <1>;
            };

            ldo2 {
             regulator-name = "ldo2";
             regulator-min-microvolt = <650000>;
             regulator-max-microvolt = <3587500>;
            };
         };
       };
     };
...