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, 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_reg: ldo_vcn33 {
				regulator-name = "vcn33";
				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>;
			};
		};
	};
