Documentation / devicetree / bindings / regulator / richtek,rt5190a-regulator.yaml


Based on kernel version 6.11. Page generated on 2024-09-24 08:21 EST.

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;
          };
        };
      };
    };