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