Commit d6ccf451 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull regulator updates from Mark Brown:
 "Quite a quiet release for the regulator API, mainly a few new drivers
  plus a lot of fixes for the Raspberry Pi panel driver.

  There's also a SPI commit in here which I managed to apply to the
  wrong tree and then didn't notice until there were too many commits on
  top of it, sorry about that.

   - Make it easier to use the virtual consumer test driver with DT
     systems.

   - Substantial overhaul providing various fixes and robustness
     improvements for the Raspberry Pi panel driver.

   - Support for Qualcomm PMX65 and SDX65, Richtek RT5190A, and Texas
     Instruments TPS62864x"

* tag 'regulator-v5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (26 commits)
  regulator: qcom-rpmh: Add support for SDX65
  regulator: dt-bindings: Add PMX65 compatibles
  regulator: vctrl: Use min() instead of doing it manually
  regulator: rt5190a: Add support for Richtek RT5190A PMIC
  regulator: Add bindings for Richtek RT5190A PMIC
  regulator: Convert TPS62360 binding to json-schema
  regulator: cleanup comments
  regulator: virtual: add devicetree support
  regulator: virtual: warn against production use
  regulator: virtual: use dev_err_probe()
  regulator: tps62864: Fix bindings for SW property
  regulator: Add support for TPS6286x
  regulator: Add bindings for TPS62864x
  regulator/rpi-panel-attiny: Use two transactions for I2C read
  regulator/rpi-panel-attiny: Use the regmap cache
  regulator: rpi-panel: Remove get_brightness hook
  regulator: rpi-panel: Add GPIO control for panel and touch resets
  regulator: rpi-panel: Convert to drive lines directly
  regulator: rpi-panel: Ensure the backlight is off during probe.
  regulator: rpi-panel: Serialise operations.
  ...
parents a50a8c38 5999f85d
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -113,7 +113,7 @@ examples:
    };

  - |
    #include <dt-bindings/gpio/tegra-gpio.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>

    i2c {
@@ -123,8 +123,7 @@ examples:
        regulator@1b {
            compatible = "maxim,max77621";
            reg = <0x1b>;
            interrupt-parent = <&gpio>;
            interrupts = <TEGRA_GPIO(Y, 1) IRQ_TYPE_LEVEL_LOW>;
            interrupts = <1 IRQ_TYPE_LEVEL_LOW>;

            regulator-always-on;
            regulator-boot-on;
+5 −1
Original line number Diff line number Diff line
@@ -70,7 +70,11 @@ properties:
        $ref: "regulator.yaml#"
        type: object

      "^(vsnvs|vref|vrefddr|swbst|coin)$":
      "^vldo[1-4]$":
        $ref: "regulator.yaml#"
        type: object

      "^(vsnvs|vref|vrefddr|swbst|coin|v33|vccsd)$":
        $ref: "regulator.yaml#"
        type: object

+2 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ description: |
      For PMI8998, bob
      For PMR735A, smps1 - smps3, ldo1 - ldo7
      For PMX55, smps1 - smps7, ldo1 - ldo16
      For PMX65, smps1 - smps8, ldo1 - ldo21

properties:
  compatible:
@@ -70,6 +71,7 @@ properties:
      - qcom,pmm8155au-rpmh-regulators
      - qcom,pmr735a-rpmh-regulators
      - qcom,pmx55-rpmh-regulators
      - qcom,pmx65-rpmh-regulators

  qcom,pmic-id:
    description: |
+141 −0
Original line number Diff line number Diff line
# 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 peripherial
  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 and buck4.

        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;
          };
        };
      };
    };
+98 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/ti,tps62360.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments TPS6236x Voltage Regulators

maintainers:
  - Laxman Dewangan <ldewangan@nvidia.com>

description: |
  The TPS6236x are a family of step down dc-dc converter with
  an input voltage range of 2.5V to 5.5V. The devices provide
  up to 3A peak load current, and an output voltage range of
  0.77V to 1.4V (TPS62360/62) and 0.5V to 1.77V (TPS62361B/63).

  Datasheet is available at:
  https://www.ti.com/lit/gpn/tps62360

allOf:
  - $ref: "regulator.yaml#"

properties:
  compatible:
    enum:
      - ti,tps62360
      - ti,tps62361
      - ti,tps62362
      - ti,tps62363

  reg:
    maxItems: 1

  ti,vsel0-gpio:
    description: |
      GPIO for controlling VSEL0 line. If this property
      is missing, then assume that there is no GPIO for
      VSEL0 control.
    maxItems: 1

  ti,vsel1-gpio:
    description: |
      GPIO for controlling VSEL1 line. If this property
      is missing, then assume that there is no GPIO for
      VSEL1 control.
    maxItems: 1

  ti,enable-vout-discharge:
    description: Enable output discharge.
    type: boolean

  ti,enable-pull-down:
    description: Enable pull down.
    type: boolean

  ti,vsel0-state-high:
    description: |
      Initial state of VSEL0 input is high. If this property
      is missing, then assume the state as low.
    type: boolean

  ti,vsel1-state-high:
    description: |
      Initial state of VSEL1 input is high. If this property
      is missing, then assume the state as low.
    type: boolean

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        regulator@60 {
            compatible = "ti,tps62361";
            reg = <0x60>;
            regulator-name = "tps62361-vout";
            regulator-min-microvolt = <500000>;
            regulator-max-microvolt = <1500000>;
            regulator-boot-on;
            ti,vsel0-gpio = <&gpio1 16 GPIO_ACTIVE_HIGH>;
            ti,vsel1-gpio = <&gpio1 17 GPIO_ACTIVE_HIGH>;
            ti,vsel0-state-high;
            ti,vsel1-state-high;
            ti,enable-pull-down;
            ti,enable-vout-discharge;
        };
    };

...
Loading