Commit 350d9ab7 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull regulator updates from Mark Brown:
 "This is a very quiet release, there was no work on the core and a good
  chunk of the updates were the result of conversions to use newer GPIO
  APIs.

  We did gain support for Analog ADP5055 and TI TPS65214 devices, and
  there's a new restart handler for the PCA9450 which allows devices
  using it to be properly power cycled on reboot, but otherwise it's
  minor fixes and API updates"

* tag 'regulator-v6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (24 commits)
  regulator: qcom_spmi: Constify struct spmi_voltage_range
  regulator: max8952: Correct Samsung "Electronics" spelling in copyright headers
  regulator: dt-bindings: mt6357: Drop fixed compatible requirement
  regulator: gpio: Use dev_err_probe
  regulator: pca9450: Add restart handler
  regulator: da9121: Fix Wvoid-pointer-to-enum-cast warning
  regulator: tps65219: Add TI TPS65214 Regulator Support
  regulator: tps65219: Add support for TPS65215 Regulator IRQs
  regulator: tps65219: Add support for TPS65215 regulator resources
  regulator: tps65219: Update struct names
  regulator: pf9453: convert to use maple tree register cache
  regulator: max20086: Change enable gpio to optional
  regulator: max20086: Fix MAX200086 chip id
  regulator: adp5055: Remove unneeded semicolon
  regulator: adp5055: remove duplicate device table
  regulator: adp5055: Add driver for adp5055
  regulator: dt-bindings: adi,adp5055-regulator: Add adp5055 support
  regulator: don't compare raw GPIO descriptor pointers
  regulator: rpi-panel-attiny: use new GPIO line value setter callbacks
  regulator: rpi-panel-attiny: use lock guards for the state mutex
  ...
parents c971f11d dcd71102
Loading
Loading
Loading
Loading
+157 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/regulator/adi,adp5055-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analog Devices ADP5055 Triple Buck Regulator

maintainers:
  - Alexis Czezar Torreno <alexisczezar.torreno@analog.com>

description: |
  The ADP5055 combines three high performance buck regulator. The device enables
  direct connection to high input voltages up to 18 V with no preregulators.
  https://www.analog.com/media/en/technical-documentation/data-sheets/adp5055.pdf

properties:
  compatible:
    enum:
      - adi,adp5055

  reg:
    enum:
      - 0x70
      - 0x71

  adi,tset-us:
    description:
      Setting time used by the device. This is changed via soldering specific
      resistor values on the CFG2 pin.
    enum: [2600, 20800]
    default: 2600

  adi,ocp-blanking:
    description:
      If present, overcurrent protection (OCP) blanking for all regulator is on.
    type: boolean

  adi,delay-power-good:
    description:
      Configures delay timer of the power good (PWRGD) pin. Delay is based on
      Tset which can be 2.6 ms or 20.8 ms.
    type: boolean

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

patternProperties:
  '^buck[0-2]$':
    type: object
    $ref: regulator.yaml#
    unevaluatedProperties: false

    properties:
      enable-gpios:
        maxItems: 1
        description:
          GPIO specifier to enable the GPIO control for each regulator. The
          driver supports two modes of enable, hardware only (GPIOs) or software
          only (Registers). Pure hardware enabling requires each regulator to
          contain this property. If at least one regulator does not have this,
          the driver automatically switches to software only mode.

      adi,dvs-limit-upper-microvolt:
        description:
          Configure the allowable upper side limit of the voltage output of each
          regulator in microvolt. Relative to the default Vref trimming value.
          Vref = 600 mV. Voltages are in 12 mV steps, value is autoadjusted.
          Vout_high = Vref_trim + dvs-limit-upper.
        minimum: 12000
        maximum: 192000
        default: 192000

      adi,dvs-limit-lower-microvolt:
        description:
          Configure the allowable lower side limit of the voltage output of each
          regulator in microvolt. Relative to the default Vref trimming value.
          Vref = 600 mV. Voltages are in 12 mV steps, value is autoadjusted.
          Vout_low = Vref_trim + dvs-limit-lower.
        minimum: -190500
        maximum: -10500
        default: -190500

      adi,fast-transient:
        description:
          Configures the fast transient sensitivity for each regulator.
          "none"    - No fast transient.
          "3G_1.5%" - 1.5% window with 3*350uA/V
          "5G_1.5%" - 1.5% window with 5*350uA/V
          "5G_2.5%" - 2.5% window with 5*350uA/V
        enum: [none, 3G_1.5%, 5G_1.5%, 5G_2.5%]
        default: 5G_2.5%

      adi,mask-power-good:
        description:
          If present, masks individual regulators PWRGD signal to the external
          PWRGD hardware pin.
        type: boolean

    required:
      - regulator-name

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        regulator@70 {
            compatible = "adi,adp5055";
            reg = <0x70>;
            #address-cells = <1>;
            #size-cells = <0>;

            adi,tset-us = <2600>;
            adi,ocp-blanking;
            adi,delay-power-good;

            buck0 {
                regulator-name = "buck0";
                enable-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
                adi,dvs-limit-upper-microvolt = <192000>;
                adi,dvs-limit-lower-microvolt = <(-190500)>;
                adi,fast-transient = "5G_2.5%";
                adi,mask-power-good;
            };

            buck1 {
                regulator-name = "buck1";
                enable-gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
                adi,dvs-limit-upper-microvolt = <192000>;
                adi,dvs-limit-lower-microvolt = <(-190500)>;
                adi,fast-transient = "5G_2.5%";
                adi,mask-power-good;
            };

            buck2 {
                regulator-name = "buck2";
                enable-gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
                adi,dvs-limit-upper-microvolt = <192000>;
                adi,dvs-limit-lower-microvolt = <(-190500)>;
                adi,fast-transient = "5G_2.5%";
                adi,mask-power-good;
            };
        };
    };
+1 −11
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ patternProperties:

  "^ldo-v(camio18|aud28|aux18|io18|io28|rf12|rf18|cn18|cn28|fe28)$":
    type: object
    $ref: fixed-regulator.yaml#
    $ref: regulator.yaml#
    unevaluatedProperties: false
    description:
      Properties for single fixed LDO regulator.
@@ -112,7 +112,6 @@ examples:
          regulator-enable-ramp-delay = <220>;
        };
        mt6357_vfe28_reg: ldo-vfe28 {
          compatible = "regulator-fixed";
          regulator-name = "vfe28";
          regulator-min-microvolt = <2800000>;
          regulator-max-microvolt = <2800000>;
@@ -125,14 +124,12 @@ examples:
          regulator-enable-ramp-delay = <110>;
        };
        mt6357_vrf18_reg: ldo-vrf18 {
          compatible = "regulator-fixed";
          regulator-name = "vrf18";
          regulator-min-microvolt = <1800000>;
          regulator-max-microvolt = <1800000>;
          regulator-enable-ramp-delay = <110>;
        };
        mt6357_vrf12_reg: ldo-vrf12 {
          compatible = "regulator-fixed";
          regulator-name = "vrf12";
          regulator-min-microvolt = <1200000>;
          regulator-max-microvolt = <1200000>;
@@ -157,14 +154,12 @@ examples:
          regulator-enable-ramp-delay = <264>;
        };
        mt6357_vcn28_reg: ldo-vcn28 {
          compatible = "regulator-fixed";
          regulator-name = "vcn28";
          regulator-min-microvolt = <2800000>;
          regulator-max-microvolt = <2800000>;
          regulator-enable-ramp-delay = <264>;
        };
        mt6357_vcn18_reg: ldo-vcn18 {
          compatible = "regulator-fixed";
          regulator-name = "vcn18";
          regulator-min-microvolt = <1800000>;
          regulator-max-microvolt = <1800000>;
@@ -183,7 +178,6 @@ examples:
          regulator-enable-ramp-delay = <264>;
        };
        mt6357_vcamio_reg: ldo-vcamio18 {
          compatible = "regulator-fixed";
          regulator-name = "vcamio";
          regulator-min-microvolt = <1800000>;
          regulator-max-microvolt = <1800000>;
@@ -212,28 +206,24 @@ examples:
          regulator-always-on;
        };
        mt6357_vaux18_reg: ldo-vaux18 {
          compatible = "regulator-fixed";
          regulator-name = "vaux18";
          regulator-min-microvolt = <1800000>;
          regulator-max-microvolt = <1800000>;
          regulator-enable-ramp-delay = <264>;
        };
        mt6357_vaud28_reg: ldo-vaud28 {
          compatible = "regulator-fixed";
          regulator-name = "vaud28";
          regulator-min-microvolt = <2800000>;
          regulator-max-microvolt = <2800000>;
          regulator-enable-ramp-delay = <264>;
        };
        mt6357_vio28_reg: ldo-vio28 {
          compatible = "regulator-fixed";
          regulator-name = "vio28";
          regulator-min-microvolt = <2800000>;
          regulator-max-microvolt = <2800000>;
          regulator-enable-ramp-delay = <264>;
        };
        mt6357_vio18_reg: ldo-vio18 {
          compatible = "regulator-fixed";
          regulator-name = "vio18";
          regulator-min-microvolt = <1800000>;
          regulator-max-microvolt = <1800000>;
+7 −0
Original line number Diff line number Diff line
@@ -1567,6 +1567,13 @@ W: https://ez.analog.com/linux-software-drivers
F:	Documentation/devicetree/bindings/iio/filter/adi,admv8818.yaml
F:	drivers/iio/filter/admv8818.c
ANALOG DEVICES INC ADP5055 DRIVER
M:	Alexis Czezar Torreno <alexisczezar.torreno@analog.com>
S:	Supported
W:	https://ez.analog.com/linux-software-drivers
F:	Documentation/devicetree/bindings/regulator/adi,adp5055-regulator.yaml
F:	drivers/regulator/adp5055-regulator.c
ANALOG DEVICES INC ADP5061 DRIVER
M:	Michael Hennerich <Michael.Hennerich@analog.com>
L:	linux-pm@vger.kernel.org
+20 −3
Original line number Diff line number Diff line
@@ -122,6 +122,17 @@ config REGULATOR_AD5398
	  This driver supports AD5398 and AD5821 current regulator chips.
	  If building into module, its name is ad5398.ko.

config REGULATOR_ADP5055
	tristate "Analog Devices ADP5055 Triple Buck Regulator"
	depends on I2C
	select REGMAP_I2C
	help
	  This driver controls an Analog Devices ADP5055 with triple buck
	  regulators using an I2C interface.

	  Say M here if you want to include support for the regulator as a
	  module.

config REGULATOR_ANATOP
	tristate "Freescale i.MX on-chip ANATOP LDO regulators"
	depends on ARCH_MXC || COMPILE_TEST
@@ -1579,10 +1590,16 @@ config REGULATOR_TPS65219
	tristate "TI TPS65219 Power regulators"
	depends on MFD_TPS65219 && OF
	help
	  This driver supports TPS65219 voltage regulator chips.
	  This driver supports TPS65219, TPS65215, and TPS65214 voltage
	  regulator chips.
	  TPS65219 series of PMICs have 3 single phase BUCKs & 4 LDOs
	  voltage regulators. It supports software based voltage control
	  for different voltage domains.
	  voltage regulators.
	  TPS65215 PMIC has 3 single phase BUCKs & 2 LDOs.
	  TPS65214 PMIC has 3 synchronous stepdown DC-DC converters & 2
	  LDOs. One LDO supports a maximum output current of 300 mA and the
	  other a maximum of 500 mA
	  All 3 PMICs support software based voltage control for different
	  voltage domains.

config REGULATOR_TPS6594
	tristate "TI TPS6594 Power regulators"
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ obj-$(CONFIG_REGULATOR_AB8500) += ab8500-ext.o ab8500.o
obj-$(CONFIG_REGULATOR_ACT8865) += act8865-regulator.o
obj-$(CONFIG_REGULATOR_ACT8945A) += act8945a-regulator.o
obj-$(CONFIG_REGULATOR_AD5398) += ad5398.o
obj-$(CONFIG_REGULATOR_ADP5055) += adp5055-regulator.o
obj-$(CONFIG_REGULATOR_ANATOP) += anatop-regulator.o
obj-$(CONFIG_REGULATOR_ARIZONA_LDO1) += arizona-ldo1.o
obj-$(CONFIG_REGULATOR_ARIZONA_MICSUPP) += arizona-micsupp.o
Loading