1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/regulator/richtek,rt5190a-regulator.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Richtek RT5190A PMIC Regulator
8
9maintainers:
10  - ChiYuan Huang <cy_huang@richtek.com>
11
12description: |
13  The RT5190A integrates 1 channel buck controller, 3 channels high efficiency
14  synchronous buck converters, 1 LDO, I2C control interface and peripherial
15  logical control.
16
17  It also supports mute AC OFF depop sound and quick setting storage while
18  input power is removed.
19
20properties:
21  compatible:
22    enum:
23      - richtek,rt5190a
24
25  reg:
26    maxItems: 1
27
28  interrupts:
29    maxItems: 1
30
31  vin2-supply:
32    description: phandle to buck2 input voltage.
33
34  vin3-supply:
35    description: phandle to buck3 input voltage.
36
37  vin4-supply:
38    description: phandle to buck4 input voltage.
39
40  vinldo-supply:
41    description: phandle to ldo input voltage
42
43  richtek,mute-enable:
44    description: |
45      The mute function uses 'mutein', 'muteout', and 'vdet' pins as the control
46      signal. When enabled, The normal behavior is to bypass the 'mutein' signal
47      'muteout'. But if the power source removal is detected from 'vdet',
48      whatever the 'mutein' signal is, it will pull down the 'muteout' to force
49      speakers mute. this function is commonly used to prevent the speaker pop
50      noise during AC power turned off in the modern TV system design.
51    type: boolean
52
53  regulators:
54    type: object
55
56    patternProperties:
57      "^buck[1-4]$|^ldo$":
58        type: object
59        $ref: regulator.yaml#
60        description: |
61          regulator description for buck1 to buck4, and ldo.
62
63        properties:
64          regulator-allowed-modes:
65            description: |
66             buck operating mode, only buck1/4 support mode operating.
67              0: auto mode
68              1: force pwm mode
69            items:
70              enum: [0, 1]
71
72          richtek,latchup-enable:
73            type: boolean
74            description: |
75              If specified, undervolt protection mode changes from the default
76              hiccup to latchup.
77
78        unevaluatedProperties: false
79
80    additionalProperties: false
81
82required:
83  - compatible
84  - reg
85  - regulators
86
87additionalProperties: false
88
89examples:
90  - |
91    #include <dt-bindings/interrupt-controller/irq.h>
92    #include <dt-bindings/regulator/richtek,rt5190a-regulator.h>
93
94    i2c {
95      #address-cells = <1>;
96      #size-cells = <0>;
97
98      pmic@64 {
99        compatible = "richtek,rt5190a";
100        reg = <0x64>;
101        interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
102        vin2-supply = <&rt5190_buck1>;
103        vin3-supply = <&rt5190_buck1>;
104        vin4-supply = <&rt5190_buck1>;
105
106        regulators {
107          rt5190_buck1: buck1 {
108            regulator-name = "rt5190a-buck1";
109            regulator-min-microvolt = <5090000>;
110            regulator-max-microvolt = <5090000>;
111            regulator-allowed-modes = <RT5190A_OPMODE_AUTO RT5190A_OPMODE_FPWM>;
112            regulator-boot-on;
113          };
114          buck2 {
115            regulator-name = "rt5190a-buck2";
116            regulator-min-microvolt = <600000>;
117            regulator-max-microvolt = <1400000>;
118            regulator-boot-on;
119          };
120          buck3 {
121            regulator-name = "rt5190a-buck3";
122            regulator-min-microvolt = <600000>;
123            regulator-max-microvolt = <1400000>;
124            regulator-boot-on;
125          };
126          buck4 {
127            regulator-name = "rt5190a-buck4";
128            regulator-min-microvolt = <850000>;
129            regulator-max-microvolt = <850000>;
130            regulator-allowed-modes = <RT5190A_OPMODE_AUTO RT5190A_OPMODE_FPWM>;
131            regulator-boot-on;
132          };
133          ldo {
134            regulator-name = "rt5190a-ldo";
135            regulator-min-microvolt = <1200000>;
136            regulator-max-microvolt = <1200000>;
137            regulator-boot-on;
138          };
139        };
140      };
141    };
142