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