Commit d40c8745 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull regulator updates from Mark Brown:
 "The core work this time around has mostly been around the code to
  manage regulator modes, simplifying the interface for configuring
  modes to not take account of the voltage and as a side effect
  resolving a bootstrapping issue on systems where we can't read the
  voltage from the regulator.

  Otherwise it's been quite a quiet release with some new drivers and a
  devm helper:

   - Make the load handling in the Qualcomm RPMH regulators much more
     idiomatic and general cleanups to the handling of load
     configuration

   - devm helper for a combined get and enable operation

   - Support for MediaTek MT6331, Qualcomm PM660, 660L and PM6125, Texas
     Instruments TPS65219"

* tag 'regulator-v6.1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (45 commits)
  dt-bindings: gpio-regulator: add vin-supply property support
  regulator: gpio: Add input_supply support in gpio_regulator_config
  regulator: tps65219: Fix is_enabled checking in tps65219_set_bypass
  regulator: qcom,rpmh: add pm660 and pm660l pmics
  regulator: qcom-rpmh: add pm660 and pm660l pmics
  regulator: of: Fix kernel-doc
  regulator: of: Fix kernel-doc
  regulator: Add driver for MT6332 PMIC regulators
  regulator: Add bindings for MT6332 regulator
  regulator: Add driver for MT6331 PMIC regulators
  regulator: Add bindings for MT6331 regulator
  regulator: tps65219: Fix .bypass_val_on setting
  regulator: qcom_rpm: Fix circular deferral regression
  regulator: core: Prevent integer underflow
  regulator: dt-bindings: qcom,rpmh: Indicate regulator-allow-set-load dependencies
  regulator: bd9576: switch to using devm_fwnode_gpiod_get()
  regulator: bd71815: switch to using devm_fwnode_gpiod_get()
  regulator: core: Fix regulator supply registration with sysfs
  regulator: tps65219: change tps65219_regulator_irq_types to static
  regulator: core: Don't err if allow-set-load but no allowed-modes
  ...
parents 521d04e3 392cc0a4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ properties:

  regulators:
    type: object
    additionalProperties: false
    description: |
      List of regulators provided by the device

+3 −0
Original line number Diff line number Diff line
@@ -85,6 +85,9 @@ properties:
      - current
    default: voltage

  vin-supply:
    description: Input supply phandle.

required:
  - compatible
  - regulator-name
+1 −0
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ patternProperties:
    patternProperties:
      regulator-state-(standby|mem|disk):
        type: object
        additionalProperties: true
        properties:
          regulator-mode: false

+1 −0
Original line number Diff line number Diff line
@@ -111,6 +111,7 @@ properties:

  regulators:
    type: object
    additionalProperties: false
    description:
      List of child nodes that specify the regulators.

+273 −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/mediatek,mt6331-regulator.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: MT6331 Regulator from MediaTek Integrated

maintainers:
  - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>

description: |
  The MT6331 PMIC provides 6 BUCK and 21 LDO (Low Dropout) regulators
  and nodes are named according to the regulator type:
  buck-<name> and ldo-<name>.
  MT6331 regulators node should be sub node of the MT6397 MFD node.

patternProperties:
  "^buck-v(core2|io18|dvfs11|dvfs12|dvfs13|dvfs14)$":
    type: object
    $ref: "regulator.yaml#"

    properties:
      regulator-name:
        pattern: "^v(core2|io18|dvfs11|dvfs12|dvfs13|dvfs14)$"

    unevaluatedProperties: false

  "^ldo-v(avdd32aud|auxa32)$":
    type: object
    $ref: "regulator.yaml#"

    properties:
      regulator-name:
        pattern: "^v(avdd32aud|auxa32)$"

    unevaluatedProperties: false

  "^ldo-v(dig18|emc33|ibr|mc|mch|mipi|rtc|sram|usb10)$":
    type: object
    $ref: "regulator.yaml#"

    properties:
      regulator-name:
        pattern: "^v(dig18|emc33|ibr|mc|mch|mipi|rtc|sram|usb10)$"

    unevaluatedProperties: false

  "^ldo-vcam(a|af|d|io)$":
    type: object
    $ref: "regulator.yaml#"

    properties:
      regulator-name:
        pattern: "^vcam(a|af|d|io)$"

    unevaluatedProperties: false

  "^ldo-vtcxo[12]$":
    type: object
    $ref: "regulator.yaml#"

    properties:
      regulator-name:
        pattern: "^vtcxo[12]$"

    required:
      - regulator-name

    unevaluatedProperties: false

  "^ldo-vgp[1234]$":
    type: object
    $ref: "regulator.yaml#"

    properties:
      regulator-name:
        pattern: "^vgp[12]$"

    required:
      - regulator-name

    unevaluatedProperties: false

additionalProperties: false

examples:
  - |
    pmic {
      regulators {
        mt6331_vdvfs11_reg: buck-vdvfs11 {
          regulator-name = "vdvfs11";
          regulator-min-microvolt = <700000>;
          regulator-max-microvolt = <1493750>;
          regulator-ramp-delay = <12500>;
          regulator-enable-ramp-delay = <1>;
          regulator-allowed-modes = <0 1>;
        };
        mt6331_vdvfs12_reg: buck-vdvfs12 {
          regulator-name = "vdvfs12";
          regulator-min-microvolt = <700000>;
          regulator-max-microvolt = <1493750>;
          regulator-ramp-delay = <12500>;
          regulator-enable-ramp-delay = <1>;
          regulator-allowed-modes = <0 1>;
        };
        mt6331_vdvfs13_reg: buck-vdvfs13 {
          regulator-name = "vdvfs13";
          regulator-min-microvolt = <700000>;
          regulator-max-microvolt = <1493750>;
          regulator-ramp-delay = <12500>;
          regulator-enable-ramp-delay = <1>;
          regulator-allowed-modes = <0 1>;
        };
        mt6331_vdvfs14_reg: buck-vdvfs14 {
          regulator-name = "vdvfs14";
          regulator-min-microvolt = <700000>;
          regulator-max-microvolt = <1493750>;
          regulator-ramp-delay = <12500>;
          regulator-enable-ramp-delay = <1>;
          regulator-allowed-modes = <0 1>;
        };
        mt6331_vcore2_reg: buck-vcore2 {
          regulator-name = "vcore2";
          regulator-min-microvolt = <700000>;
          regulator-max-microvolt = <1493750>;
          regulator-ramp-delay = <12500>;
          regulator-enable-ramp-delay = <1>;
          regulator-allowed-modes = <0 1>;
        };
        mt6331_vio18_reg: buck-vio18 {
          regulator-name = "vio18";
          regulator-min-microvolt = <1800000>;
          regulator-max-microvolt = <1800000>;
          regulator-ramp-delay = <12500>;
          regulator-enable-ramp-delay = <0>;
          regulator-allowed-modes = <0 1>;
        };
        mt6331_vtcxo1_reg: ldo-vtcxo1 {
          regulator-name = "vtcxo1";
          regulator-min-microvolt = <2800000>;
          regulator-max-microvolt = <2800000>;
          regulator-always-on;
          regulator-boot-on;
        };
        mt6331_vtcxo2_reg: ldo-vtcxo2 {
          regulator-name = "vtcxo2";
          regulator-min-microvolt = <2800000>;
          regulator-max-microvolt = <2800000>;
          regulator-always-on;
          regulator-boot-on;
        };
        mt6331_avdd32_aud_reg: ldo-avdd32aud {
          regulator-name = "avdd32_aud";
          regulator-min-microvolt = <2800000>;
          regulator-max-microvolt = <3200000>;
        };
        mt6331_vauxa32_reg: ldo-vauxa32 {
          regulator-name = "vauxa32";
          regulator-min-microvolt = <2800000>;
          regulator-max-microvolt = <3200000>;
        };
        mt6331_vcama_reg: ldo-vcama {
          regulator-name = "vcama";
          regulator-min-microvolt = <1500000>;
          regulator-max-microvolt = <2800000>;
          regulator-always-on;
        };
        mt6331_vio28_reg: ldo-vio28 {
          regulator-name = "vio28";
          regulator-min-microvolt = <2800000>;
          regulator-max-microvolt = <2800000>;
          regulator-always-on;
          regulator-boot-on;
        };
        mt6331_vcamaf_reg: ldo-vcamaf {
          regulator-name = "vcam_af";
          regulator-min-microvolt = <1200000>;
          regulator-max-microvolt = <3300000>;
        };
        mt6331_vmc_reg: ldo-vmc {
          regulator-name = "vmc";
          regulator-min-microvolt = <1800000>;
          regulator-max-microvolt = <3300000>;
        };
        mt6331_vmch_reg: ldo-vmch {
          regulator-name = "vmch";
          regulator-min-microvolt = <3000000>;
          regulator-max-microvolt = <3300000>;
        };
        mt6331_vemc33_reg: ldo-vemc33 {
          regulator-name = "vemc33";
          regulator-min-microvolt = <3300000>;
          regulator-max-microvolt = <3300000>;
        };
        mt6331_vgp1_reg: ldo-vgp1 {
          regulator-name = "vgp1";
          regulator-min-microvolt = <1200000>;
          regulator-max-microvolt = <3300000>;
        };
        mt6331_vsim1_reg: ldo-vsim1 {
          regulator-name = "vsim1";
          regulator-min-microvolt = <1700000>;
          regulator-max-microvolt = <3100000>;
        };
        mt6331_vsim2_reg: ldo-vsim2 {
          regulator-name = "vsim2";
          regulator-min-microvolt = <1700000>;
          regulator-max-microvolt = <3100000>;
        };
        mt6331_vmipi_reg: ldo-vmipi {
          regulator-name = "vmipi";
          regulator-min-microvolt = <1200000>;
          regulator-max-microvolt = <3300000>;
        };
        mt6331_vibr_reg: ldo-vibr {
          regulator-name = "vibr";
          regulator-min-microvolt = <1200000>;
          regulator-max-microvolt = <3300000>;
        };
        mt6331_vgp4_reg: ldo-vgp4 {
          regulator-name = "vgp4";
          regulator-min-microvolt = <1600000>;
          regulator-max-microvolt = <2200000>;
        };
        mt6331_vcamd_reg: ldo-vcamd {
          regulator-name = "vcamd";
          regulator-min-microvolt = <900000>;
          regulator-max-microvolt = <1500000>;
        };
        mt6331_vusb10_reg: ldo-vusb10 {
          regulator-name = "vusb";
          regulator-min-microvolt = <1000000>;
          regulator-max-microvolt = <1300000>;
          regulator-boot-on;
        };
        mt6331_vcamio_reg: ldo-vcamio {
          regulator-name = "vcam_io";
          regulator-min-microvolt = <1200000>;
          regulator-max-microvolt = <1800000>;
        };
        mt6331_vsram_reg: ldo-vsram {
          regulator-name = "vsram";
          regulator-min-microvolt = <1012500>;
          regulator-max-microvolt = <1012500>;
          regulator-always-on;
          regulator-boot-on;
        };
        mt6331_vgp2_reg: ldo-vgp2 {
          regulator-name = "vgp2";
          regulator-min-microvolt = <1100000>;
          regulator-max-microvolt = <1500000>;
          regulator-boot-on;
        };
        mt6331_vgp3_reg: ldo-vgp3 {
          regulator-name = "vgp3";
          regulator-min-microvolt = <1200000>;
          regulator-max-microvolt = <1800000>;
        };
        mt6331_vrtc_reg: ldo-vrtc {
          regulator-name = "vrtc";
          regulator-min-microvolt = <2800000>;
          regulator-max-microvolt = <2800000>;
          regulator-always-on;
        };
        mt6331_vdig18_reg: ldo-vdig18 {
          regulator-name = "dvdd18_dig";
          regulator-min-microvolt = <1800000>;
          regulator-max-microvolt = <1800000>;
        };
      };
    };
...
Loading