162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/regulator/richtek,rt5190a-regulator.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Richtek RT5190A PMIC Regulator
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - ChiYuan Huang <cy_huang@richtek.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  The RT5190A integrates 1 channel buck controller, 3 channels high efficiency
1462306a36Sopenharmony_ci  synchronous buck converters, 1 LDO, I2C control interface and peripheral
1562306a36Sopenharmony_ci  logical control.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci  It also supports mute AC OFF depop sound and quick setting storage while
1862306a36Sopenharmony_ci  input power is removed.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciproperties:
2162306a36Sopenharmony_ci  compatible:
2262306a36Sopenharmony_ci    enum:
2362306a36Sopenharmony_ci      - richtek,rt5190a
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci  reg:
2662306a36Sopenharmony_ci    maxItems: 1
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci  interrupts:
2962306a36Sopenharmony_ci    maxItems: 1
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci  vin2-supply:
3262306a36Sopenharmony_ci    description: phandle to buck2 input voltage.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci  vin3-supply:
3562306a36Sopenharmony_ci    description: phandle to buck3 input voltage.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci  vin4-supply:
3862306a36Sopenharmony_ci    description: phandle to buck4 input voltage.
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci  vinldo-supply:
4162306a36Sopenharmony_ci    description: phandle to ldo input voltage
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci  richtek,mute-enable:
4462306a36Sopenharmony_ci    description: |
4562306a36Sopenharmony_ci      The mute function uses 'mutein', 'muteout', and 'vdet' pins as the control
4662306a36Sopenharmony_ci      signal. When enabled, The normal behavior is to bypass the 'mutein' signal
4762306a36Sopenharmony_ci      'muteout'. But if the power source removal is detected from 'vdet',
4862306a36Sopenharmony_ci      whatever the 'mutein' signal is, it will pull down the 'muteout' to force
4962306a36Sopenharmony_ci      speakers mute. this function is commonly used to prevent the speaker pop
5062306a36Sopenharmony_ci      noise during AC power turned off in the modern TV system design.
5162306a36Sopenharmony_ci    type: boolean
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci  regulators:
5462306a36Sopenharmony_ci    type: object
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci    patternProperties:
5762306a36Sopenharmony_ci      "^buck[1-4]$|^ldo$":
5862306a36Sopenharmony_ci        type: object
5962306a36Sopenharmony_ci        $ref: regulator.yaml#
6062306a36Sopenharmony_ci        description: |
6162306a36Sopenharmony_ci          regulator description for buck1 to buck4, and ldo.
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci        properties:
6462306a36Sopenharmony_ci          regulator-allowed-modes:
6562306a36Sopenharmony_ci            description: |
6662306a36Sopenharmony_ci             buck operating mode, only buck1/4 support mode operating.
6762306a36Sopenharmony_ci              0: auto mode
6862306a36Sopenharmony_ci              1: force pwm mode
6962306a36Sopenharmony_ci            items:
7062306a36Sopenharmony_ci              enum: [0, 1]
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ci          richtek,latchup-enable:
7362306a36Sopenharmony_ci            type: boolean
7462306a36Sopenharmony_ci            description: |
7562306a36Sopenharmony_ci              If specified, undervolt protection mode changes from the default
7662306a36Sopenharmony_ci              hiccup to latchup.
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ci        unevaluatedProperties: false
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci    additionalProperties: false
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_cirequired:
8362306a36Sopenharmony_ci  - compatible
8462306a36Sopenharmony_ci  - reg
8562306a36Sopenharmony_ci  - regulators
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ciadditionalProperties: false
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ciexamples:
9062306a36Sopenharmony_ci  - |
9162306a36Sopenharmony_ci    #include <dt-bindings/interrupt-controller/irq.h>
9262306a36Sopenharmony_ci    #include <dt-bindings/regulator/richtek,rt5190a-regulator.h>
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci    i2c {
9562306a36Sopenharmony_ci      #address-cells = <1>;
9662306a36Sopenharmony_ci      #size-cells = <0>;
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci      pmic@64 {
9962306a36Sopenharmony_ci        compatible = "richtek,rt5190a";
10062306a36Sopenharmony_ci        reg = <0x64>;
10162306a36Sopenharmony_ci        interrupts-extended = <&gpio26 0 IRQ_TYPE_LEVEL_LOW>;
10262306a36Sopenharmony_ci        vin2-supply = <&rt5190_buck1>;
10362306a36Sopenharmony_ci        vin3-supply = <&rt5190_buck1>;
10462306a36Sopenharmony_ci        vin4-supply = <&rt5190_buck1>;
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci        regulators {
10762306a36Sopenharmony_ci          rt5190_buck1: buck1 {
10862306a36Sopenharmony_ci            regulator-name = "rt5190a-buck1";
10962306a36Sopenharmony_ci            regulator-min-microvolt = <5090000>;
11062306a36Sopenharmony_ci            regulator-max-microvolt = <5090000>;
11162306a36Sopenharmony_ci            regulator-allowed-modes = <RT5190A_OPMODE_AUTO RT5190A_OPMODE_FPWM>;
11262306a36Sopenharmony_ci            regulator-boot-on;
11362306a36Sopenharmony_ci          };
11462306a36Sopenharmony_ci          buck2 {
11562306a36Sopenharmony_ci            regulator-name = "rt5190a-buck2";
11662306a36Sopenharmony_ci            regulator-min-microvolt = <600000>;
11762306a36Sopenharmony_ci            regulator-max-microvolt = <1400000>;
11862306a36Sopenharmony_ci            regulator-boot-on;
11962306a36Sopenharmony_ci          };
12062306a36Sopenharmony_ci          buck3 {
12162306a36Sopenharmony_ci            regulator-name = "rt5190a-buck3";
12262306a36Sopenharmony_ci            regulator-min-microvolt = <600000>;
12362306a36Sopenharmony_ci            regulator-max-microvolt = <1400000>;
12462306a36Sopenharmony_ci            regulator-boot-on;
12562306a36Sopenharmony_ci          };
12662306a36Sopenharmony_ci          buck4 {
12762306a36Sopenharmony_ci            regulator-name = "rt5190a-buck4";
12862306a36Sopenharmony_ci            regulator-min-microvolt = <850000>;
12962306a36Sopenharmony_ci            regulator-max-microvolt = <850000>;
13062306a36Sopenharmony_ci            regulator-allowed-modes = <RT5190A_OPMODE_AUTO RT5190A_OPMODE_FPWM>;
13162306a36Sopenharmony_ci            regulator-boot-on;
13262306a36Sopenharmony_ci          };
13362306a36Sopenharmony_ci          ldo {
13462306a36Sopenharmony_ci            regulator-name = "rt5190a-ldo";
13562306a36Sopenharmony_ci            regulator-min-microvolt = <1200000>;
13662306a36Sopenharmony_ci            regulator-max-microvolt = <1200000>;
13762306a36Sopenharmony_ci            regulator-boot-on;
13862306a36Sopenharmony_ci          };
13962306a36Sopenharmony_ci        };
14062306a36Sopenharmony_ci      };
14162306a36Sopenharmony_ci    };
142