summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/regulator/mps,mpq7920.yaml
blob: 6de5b027f990389b9cf734d67245e5efdf02487b (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
# 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

    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:
        $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

      ldortc:
        type: object
        $ref: regulator.yaml#
        unevaluatedProperties: false

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

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

        properties:
          mps,buck-softstart:
            $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:
            $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>;
            };
         };
       };
     };
...