summaryrefslogtreecommitdiffstats
path: root/dts/Bindings/regulator/richtek,rt5190a-regulator.yaml
blob: 89341fdaa3af97846d38fbcc33de858f39c1bab6 (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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/richtek,rt5190a-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Richtek RT5190A PMIC Regulator

maintainers:
  - ChiYuan Huang <cy_huang@richtek.com>

description: |
  The RT5190A integrates 1 channel buck controller, 3 channels high efficiency
  synchronous buck converters, 1 LDO, I2C control interface and peripheral
  logical control.

  It also supports mute AC OFF depop sound and quick setting storage while
  input power is removed.

properties:
  compatible:
    enum:
      - richtek,rt5190a

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  vin2-supply:
    description: phandle to buck2 input voltage.

  vin3-supply:
    description: phandle to buck3 input voltage.

  vin4-supply:
    description: phandle to buck4 input voltage.

  vinldo-supply:
    description: phandle to ldo input voltage

  richtek,mute-enable:
    description: |
      The mute function uses 'mutein', 'muteout', and 'vdet' pins as the control
      signal. When enabled, The normal behavior is to bypass the 'mutein' signal
      'muteout'. But if the power source removal is detected from 'vdet',
      whatever the 'mutein' signal is, it will pull down the 'muteout' to force
      speakers mute. this function is commonly used to prevent the speaker pop
      noise during AC power turned off in the modern TV system design.
    type: boolean

  regulators:
    type: object

    patternProperties:
      "^buck[1-4]$|^ldo$":
        type: object
        $ref: regulator.yaml#
        description: |
          regulator description for buck1 to buck4, and ldo.

        properties:
          regulator-allowed-modes:
            description: |
             buck operating mode, only buck1/4 support mode operating.
              0: auto mode
              1: force pwm mode
            items:
              enum: [0, 1]

          richtek,latchup-enable:
            type: boolean
            description: |
              If specified, undervolt protection mode changes from the default
              hiccup to latchup.

        unevaluatedProperties: false

    additionalProperties: false

required:
  - compatible
  - reg
  - regulators

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/regulator/richtek,rt5190a-regulator.h>

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

      pmic@64 {
        compatible = "richtek,rt5190a";
        reg = <0x64>;
        interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
        vin2-supply = <&rt5190_buck1>;
        vin3-supply = <&rt5190_buck1>;
        vin4-supply = <&rt5190_buck1>;

        regulators {
          rt5190_buck1: buck1 {
            regulator-name = "rt5190a-buck1";
            regulator-min-microvolt = <5090000>;
            regulator-max-microvolt = <5090000>;
            regulator-allowed-modes = <RT5190A_OPMODE_AUTO RT5190A_OPMODE_FPWM>;
            regulator-boot-on;
          };
          buck2 {
            regulator-name = "rt5190a-buck2";
            regulator-min-microvolt = <600000>;
            regulator-max-microvolt = <1400000>;
            regulator-boot-on;
          };
          buck3 {
            regulator-name = "rt5190a-buck3";
            regulator-min-microvolt = <600000>;
            regulator-max-microvolt = <1400000>;
            regulator-boot-on;
          };
          buck4 {
            regulator-name = "rt5190a-buck4";
            regulator-min-microvolt = <850000>;
            regulator-max-microvolt = <850000>;
            regulator-allowed-modes = <RT5190A_OPMODE_AUTO RT5190A_OPMODE_FPWM>;
            regulator-boot-on;
          };
          ldo {
            regulator-name = "rt5190a-ldo";
            regulator-min-microvolt = <1200000>;
            regulator-max-microvolt = <1200000>;
            regulator-boot-on;
          };
        };
      };
    };