Unverified Commit c4ad8502 authored by Mark Brown's avatar Mark Brown
Browse files

Merge branch 'regulator-5.4' into regulator-next

parents d440c4ef c82f27df
Loading
Loading
Loading
Loading
+25 −2
Original line number Diff line number Diff line
@@ -34,6 +34,9 @@ Optional input supply properties:
  - inl67-supply: The input supply for LDO_REG3 and LDO_REG4

Any standard regulator properties can be used to configure the single regulator.
regulator-initial-mode, regulator-allowed-modes and regulator-mode could be specified
for act8865 using mode values from dt-bindings/regulator/active-semi,8865-regulator.h
file.

The valid names for regulators are:
	- for act8846:
@@ -47,6 +50,8 @@ The valid names for regulators are:
Example:
--------

#include <dt-bindings/regulator/active-semi,8865-regulator.h>

		i2c1: i2c@f0018000 {
			pmic: act8865@5b {
				compatible = "active-semi,act8865";
@@ -65,9 +70,19 @@ Example:
						regulator-name = "VCC_1V2";
						regulator-min-microvolt = <1100000>;
						regulator-max-microvolt = <1300000>;
						regulator-suspend-mem-microvolt = <1150000>;
						regulator-suspend-standby-microvolt = <1150000>;
						regulator-always-on;

						regulator-allowed-modes = <ACT8865_REGULATOR_MODE_FIXED>,
									  <ACT8865_REGULATOR_MODE_LOWPOWER>;
						regulator-initial-mode = <ACT8865_REGULATOR_MODE_FIXED>;

						regulator-state-mem {
							regulator-on-in-suspend;
							regulator-suspend-min-microvolt = <1150000>;
							regulator-suspend-max-microvolt = <1150000>;
							regulator-changeable-in-suspend;
							regulator-mode = <ACT8865_REGULATOR_MODE_LOWPOWER>;
						};
					};

					vcc_3v3_reg: DCDC_REG3 {
@@ -82,6 +97,14 @@ Example:
						regulator-min-microvolt = <3300000>;
						regulator-max-microvolt = <3300000>;
						regulator-always-on;

						regulator-allowed-modes = <ACT8865_REGULATOR_MODE_NORMAL>,
									  <ACT8865_REGULATOR_MODE_LOWPOWER>;
						regulator-initial-mode = <ACT8865_REGULATOR_MODE_NORMAL>;

						regulator-state-mem {
							regulator-off-in-suspend;
						};
					};

					vddfuse_reg: LDO_REG2 {
+18 −1
Original line number Diff line number Diff line
@@ -19,9 +19,19 @@ description:
allOf:
  - $ref: "regulator.yaml#"

if:
  properties:
    compatible:
    const: regulator-fixed
      contains:
        const: regulator-fixed-clock
  required:
    - clocks

properties:
  compatible:
    enum:
      - const: regulator-fixed
      - const: regulator-fixed-clock

  regulator-name: true

@@ -29,6 +39,13 @@ properties:
    description: gpio to use for enable control
    maxItems: 1

  clocks:
    description:
      clock to use for enable control. This binding is only available if
      the compatible is chosen to regulator-fixed-clock. The clock binding
      is mandatory if compatible is chosen to regulator-fixed-clock.
    maxItems: 1

  startup-delay-us:
    description: startup time in microseconds
    $ref: /schemas/types.yaml#/definitions/uint32
+358 −0
Original line number Diff line number Diff line
MediaTek MT6358 Regulator

All voltage regulators provided by the MT6358 PMIC are described as the
subnodes of the MT6358 regulators node. Each regulator is named according
to its regulator type, buck_<name> and ldo_<name>. The definition for each
of these nodes is defined using the standard binding for regulators at
Documentation/devicetree/bindings/regulator/regulator.txt.

The valid names for regulators are::
BUCK:
  buck_vdram1, buck_vcore, buck_vpa, buck_vproc11, buck_vproc12, buck_vgpu,
  buck_vs2, buck_vmodem, buck_vs1
LDO:
  ldo_vdram2, ldo_vsim1, ldo_vibr, ldo_vrf12, ldo_vio18, ldo_vusb, ldo_vcamio,
  ldo_vcamd, ldo_vcn18, ldo_vfe28, ldo_vsram_proc11, ldo_vcn28, ldo_vsram_others,
  ldo_vsram_gpu, ldo_vxo22, ldo_vefuse, ldo_vaux18, ldo_vmch, ldo_vbif28,
  ldo_vsram_proc12, ldo_vcama1, ldo_vemc, ldo_vio28, ldo_va12, ldo_vrf18,
  ldo_vcn33_bt, ldo_vcn33_wifi, ldo_vcama2, ldo_vmc, ldo_vldo28, ldo_vaud28,
  ldo_vsim2

Example:

	pmic {
		compatible = "mediatek,mt6358";

		mt6358regulator: mt6358regulator {
			compatible = "mediatek,mt6358-regulator";

			mt6358_vdram1_reg: buck_vdram1 {
				regulator-compatible = "buck_vdram1";
				regulator-name = "vdram1";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <2087500>;
				regulator-ramp-delay = <12500>;
				regulator-enable-ramp-delay = <0>;
				regulator-always-on;
			};

			mt6358_vcore_reg: buck_vcore {
				regulator-name = "vcore";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <1293750>;
				regulator-ramp-delay = <6250>;
				regulator-enable-ramp-delay = <200>;
				regulator-always-on;
			};

			mt6358_vpa_reg: buck_vpa {
				regulator-name = "vpa";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <3650000>;
				regulator-ramp-delay = <50000>;
				regulator-enable-ramp-delay = <250>;
			};

			mt6358_vproc11_reg: buck_vproc11 {
				regulator-name = "vproc11";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <1293750>;
				regulator-ramp-delay = <6250>;
				regulator-enable-ramp-delay = <200>;
				regulator-always-on;
			};

			mt6358_vproc12_reg: buck_vproc12 {
				regulator-name = "vproc12";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <1293750>;
				regulator-ramp-delay = <6250>;
				regulator-enable-ramp-delay = <200>;
				regulator-always-on;
			};

			mt6358_vgpu_reg: buck_vgpu {
				regulator-name = "vgpu";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <1293750>;
				regulator-ramp-delay = <6250>;
				regulator-enable-ramp-delay = <200>;
			};

			mt6358_vs2_reg: buck_vs2 {
				regulator-name = "vs2";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <2087500>;
				regulator-ramp-delay = <12500>;
				regulator-enable-ramp-delay = <0>;
				regulator-always-on;
			};

			mt6358_vmodem_reg: buck_vmodem {
				regulator-name = "vmodem";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <1293750>;
				regulator-ramp-delay = <6250>;
				regulator-enable-ramp-delay = <900>;
				regulator-always-on;
			};

			mt6358_vs1_reg: buck_vs1 {
				regulator-name = "vs1";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <2587500>;
				regulator-ramp-delay = <12500>;
				regulator-enable-ramp-delay = <0>;
				regulator-always-on;
			};

			mt6358_vdram2_reg: ldo_vdram2 {
				regulator-name = "vdram2";
				regulator-min-microvolt = <600000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <3300>;
			};

			mt6358_vsim1_reg: ldo_vsim1 {
				regulator-name = "vsim1";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <3100000>;
				regulator-enable-ramp-delay = <540>;
			};

			mt6358_vibr_reg: ldo_vibr {
				regulator-name = "vibr";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <60>;
			};

			mt6358_vrf12_reg: ldo_vrf12 {
				compatible = "regulator-fixed";
				regulator-name = "vrf12";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1200000>;
				regulator-enable-ramp-delay = <120>;
			};

			mt6358_vio18_reg: ldo_vio18 {
				compatible = "regulator-fixed";
				regulator-name = "vio18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <2700>;
				regulator-always-on;
			};

			mt6358_vusb_reg: ldo_vusb {
				regulator-name = "vusb";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3100000>;
				regulator-enable-ramp-delay = <270>;
				regulator-always-on;
			};

			mt6358_vcamio_reg: ldo_vcamio {
				compatible = "regulator-fixed";
				regulator-name = "vcamio";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <270>;
			};

			mt6358_vcamd_reg: ldo_vcamd {
				regulator-name = "vcamd";
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <270>;
			};

			mt6358_vcn18_reg: ldo_vcn18 {
				compatible = "regulator-fixed";
				regulator-name = "vcn18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <270>;
			};

			mt6358_vfe28_reg: ldo_vfe28 {
				compatible = "regulator-fixed";
				regulator-name = "vfe28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-enable-ramp-delay = <270>;
			};

			mt6358_vsram_proc11_reg: ldo_vsram_proc11 {
				regulator-name = "vsram_proc11";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <1293750>;
				regulator-ramp-delay = <6250>;
				regulator-enable-ramp-delay = <240>;
				regulator-always-on;
			};

			mt6358_vcn28_reg: ldo_vcn28 {
				compatible = "regulator-fixed";
				regulator-name = "vcn28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-enable-ramp-delay = <270>;
			};

			mt6358_vsram_others_reg: ldo_vsram_others {
				regulator-name = "vsram_others";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <1293750>;
				regulator-ramp-delay = <6250>;
				regulator-enable-ramp-delay = <240>;
				regulator-always-on;
			};

			mt6358_vsram_gpu_reg: ldo_vsram_gpu {
				regulator-name = "vsram_gpu";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <1293750>;
				regulator-ramp-delay = <6250>;
				regulator-enable-ramp-delay = <240>;
			};

			mt6358_vxo22_reg: ldo_vxo22 {
				compatible = "regulator-fixed";
				regulator-name = "vxo22";
				regulator-min-microvolt = <2200000>;
				regulator-max-microvolt = <2200000>;
				regulator-enable-ramp-delay = <120>;
				regulator-always-on;
			};

			mt6358_vefuse_reg: ldo_vefuse {
				regulator-name = "vefuse";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <1900000>;
				regulator-enable-ramp-delay = <270>;
			};

			mt6358_vaux18_reg: ldo_vaux18 {
				compatible = "regulator-fixed";
				regulator-name = "vaux18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <270>;
			};

			mt6358_vmch_reg: ldo_vmch {
				regulator-name = "vmch";
				regulator-min-microvolt = <2900000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <60>;
			};

			mt6358_vbif28_reg: ldo_vbif28 {
				compatible = "regulator-fixed";
				regulator-name = "vbif28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-enable-ramp-delay = <270>;
			};

			mt6358_vsram_proc12_reg: ldo_vsram_proc12 {
				regulator-name = "vsram_proc12";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <1293750>;
				regulator-ramp-delay = <6250>;
				regulator-enable-ramp-delay = <240>;
				regulator-always-on;
			};

			mt6358_vcama1_reg: ldo_vcama1 {
				regulator-name = "vcama1";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3000000>;
				regulator-enable-ramp-delay = <270>;
			};

			mt6358_vemc_reg: ldo_vemc {
				regulator-name = "vemc";
				regulator-min-microvolt = <2900000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <60>;
				regulator-always-on;
			};

			mt6358_vio28_reg: ldo_vio28 {
				compatible = "regulator-fixed";
				regulator-name = "vio28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-enable-ramp-delay = <270>;
			};

			mt6358_va12_reg: ldo_va12 {
				compatible = "regulator-fixed";
				regulator-name = "va12";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1200000>;
				regulator-enable-ramp-delay = <270>;
				regulator-always-on;
			};

			mt6358_vrf18_reg: ldo_vrf18 {
				compatible = "regulator-fixed";
				regulator-name = "vrf18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <120>;
			};

			mt6358_vcn33_bt_reg: ldo_vcn33_bt {
				regulator-name = "vcn33_bt";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3500000>;
				regulator-enable-ramp-delay = <270>;
			};

			mt6358_vcn33_wifi_reg: ldo_vcn33_wifi {
				regulator-name = "vcn33_wifi";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3500000>;
				regulator-enable-ramp-delay = <270>;
			};

			mt6358_vcama2_reg: ldo_vcama2 {
				regulator-name = "vcama2";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3000000>;
				regulator-enable-ramp-delay = <270>;
			};

			mt6358_vmc_reg: ldo_vmc {
				regulator-name = "vmc";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <60>;
			};

			mt6358_vldo28_reg: ldo_vldo28 {
				regulator-name = "vldo28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <3000000>;
				regulator-enable-ramp-delay = <270>;
			};

			mt6358_vaud28_reg: ldo_vaud28 {
				compatible = "regulator-fixed";
				regulator-name = "vaud28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-enable-ramp-delay = <270>;
			};

			mt6358_vsim2_reg: ldo_vsim2 {
				regulator-name = "vsim2";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <3100000>;
				regulator-enable-ramp-delay = <540>;
			};
		};
	};
+11 −4
Original line number Diff line number Diff line
@@ -22,9 +22,12 @@ RPMh resource.

The names used for regulator nodes must match those supported by a given PMIC.
Supported regulator node names:
	PM8005:		smps1 - smps4
	PM8009:		smps1 - smps2, ldo1 - ldo7
	PM8150:		smps1 - smps10, ldo1 - ldo18
	PM8150L:	smps1 - smps8, ldo1 - ldo11, bob, flash, rgb
	PM8998:		smps1 - smps13, ldo1 - ldo28, lvs1 - lvs2
	PMI8998:	bob
	PM8005:		smps1 - smps4

========================
First Level Nodes - PMIC
@@ -33,9 +36,13 @@ First Level Nodes - PMIC
- compatible
	Usage:      required
	Value type: <string>
	Definition: Must be one of: "qcom,pm8998-rpmh-regulators",
		    "qcom,pmi8998-rpmh-regulators" or
		    "qcom,pm8005-rpmh-regulators".
	Definition: Must be one of below:
		    "qcom,pm8005-rpmh-regulators"
		    "qcom,pm8009-rpmh-regulators"
		    "qcom,pm8150-rpmh-regulators"
		    "qcom,pm8150l-rpmh-regulators"
		    "qcom,pm8998-rpmh-regulators"
		    "qcom,pmi8998-rpmh-regulators"

- qcom,pmic-id
	Usage:      required
+24 −0
Original line number Diff line number Diff line
SY8824C/SY8824E/SY20276 Voltage regulator

Required properties:
- compatible: Must be one of the following.
	"silergy,sy8824c"
	"silergy,sy8824e"
	"silergy,sy20276"
	"silergy,sy20278"
- reg: I2C slave address

Any property defined as part of the core regulator binding, defined in
./regulator.txt, can also be used.

Example:

	vcore: regulator@00 {
		compatible = "silergy,sy8824c";
		reg = <0x66>;
		regulator-name = "vcore";
		regulator-min-microvolt = <800000>;
		regulator-max-microvolt = <1150000>;
		regulator-boot-on;
		regulator-always-on;
	};
Loading