MediaTek MT6359P Regulator

All voltage regulators provided by the MT6359P PMIC are described as the
subnodes of the MT6359P 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_vs1, buck_vgpu11, buck_vmodem, buck_vpu, buck_vcore, buck_vs2, buck_vpa,
  buck_vproc2, buck_vproc1, buck_vcore_sshub
LDO:
  ldo_vaud18, ldo_vsim1, ldo_vibr, ldo_vrf12, ldo_vusb, ldo_vsram_proc2,
  ldo_vio18, ldo_vcamio, ldo_vcn18, ldo_vfe28, ldo_vcn13, ldo_vcn33_1_bt,
  ldo_vcn33_1_wifi, ldo_vaux18, ldo_vsram_others, ldo_vefuse, ldo_vxo22,
  ldo_vrfck, ldo_vbif28, ldo_vio28, ldo_vemc, ldo_vcn33_2_bt, ldo_vcn33_2_wifi,
  ldo_va12, ldo_va09, ldo_vrf18, ldo_vsram_md, ldo_vufs, ldo_vm18, ldo_vbbck,
  ldo_vsram_proc1, ldo_vsim2, ldo_vsram_others_sshub

Example:

	pmic {
		compatible = "mediatek,mt6359p";

		mt6359pregulator: mt6359pregulator {
			compatible = "mediatek,mt6359p-regulator";

			mt6359p_vs1_reg: buck_vs1 {
				regulator-name = "vs1";
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <2200000>;
				regulator-enable-ramp-delay = <0>;
				regulator-always-on;
			};

			mt6359p_vgpu11_reg: buck_vgpu11 {
				regulator-name = "vgpu11";
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1193750>;
				regulator-ramp-delay = <5000>;
				regulator-enable-ramp-delay = <200>;
				regulator-allowed-modes = <0 1 2>;
			};

			mt6359p_vmodem_reg: buck_vmodem {
				regulator-name = "vmodem";
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1100000>;
				regulator-ramp-delay = <10760>;
				regulator-enable-ramp-delay = <200>;
			};

			mt6359p_vpu_reg: buck_vpu {
				regulator-name = "vpu";
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1193750>;
				regulator-ramp-delay = <5000>;
				regulator-enable-ramp-delay = <200>;
				regulator-allowed-modes = <0 1 2>;
			};

			mt6359p_vcore_reg: buck_vcore {
				regulator-name = "vcore";
				regulator-min-microvolt = <506250>;
				regulator-max-microvolt = <1300000>;
				regulator-ramp-delay = <5000>;
				regulator-enable-ramp-delay = <200>;
				regulator-allowed-modes = <0 1 2>;
			};

			mt6359p_vs2_reg: buck_vs2 {
				regulator-name = "vs2";
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1600000>;
				regulator-enable-ramp-delay = <0>;
				regulator-always-on;
			};

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

			mt6359p_vproc2_reg: buck_vproc2 {
				regulator-name = "vproc2";
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1193750>;
				regulator-ramp-delay = <7500>;
				regulator-enable-ramp-delay = <200>;
				regulator-allowed-modes = <0 1 2>;
			};

			mt6359p_vproc1_reg: buck_vproc1 {
				regulator-name = "vproc1";
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1193750>;
				regulator-ramp-delay = <7500>;
				regulator-enable-ramp-delay = <200>;
				regulator-allowed-modes = <0 1 2>;
			};

			mt6359p_vcore_sshub_reg: buck_vcore_sshub {
				regulator-name = "vcore_sshub";
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1193750>;
			};

			mt6359p_vaud18_reg: ldo_vaud18 {
				regulator-name = "vaud18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <240>;
			};

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

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

			mt6359p_vrf12_reg: ldo_vrf12 {
				regulator-name = "vrf12";
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1300000>;
				regulator-enable-ramp-delay = <480>;
			};

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

			mt6359p_vsram_proc2_reg: ldo_vsram_proc2 {
				regulator-name = "vsram_proc2";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <1293750>;
				regulator-ramp-delay = <7500>;
				regulator-enable-ramp-delay = <240>;
				regulator-always-on;
			};

			mt6359p_vio18_reg: ldo_vio18 {
				regulator-name = "vio18";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <1900000>;
				regulator-enable-ramp-delay = <960>;
				regulator-always-on;
			};

			mt6359p_vcamio_reg: ldo_vcamio {
				regulator-name = "vcamio";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <1900000>;
				regulator-enable-ramp-delay = <1920>;
			};

			mt6359p_vcn18_reg: ldo_vcn18 {
				regulator-name = "vcn18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <240>;
			};

			mt6359p_vfe28_reg: ldo_vfe28 {
				regulator-name = "vfe28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-enable-ramp-delay = <120>;
			};

			mt6359p_vcn13_reg: ldo_vcn13 {
				regulator-name = "vcn13";
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <1300000>;
				regulator-enable-ramp-delay = <240>;
			};

			mt6359p_vcn33_1_bt_reg: ldo_vcn33_1_bt {
				regulator-name = "vcn33_1_bt";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <3500000>;
				regulator-enable-ramp-delay = <240>;
			};

			mt6359p_vcn33_1_wifi_reg: ldo_vcn33_1_wifi {
				regulator-name = "vcn33_1_wifi";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <3500000>;
				regulator-enable-ramp-delay = <240>;
			};

			mt6359p_vaux18_reg: ldo_vaux18 {
				regulator-name = "vaux18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <240>;
				regulator-always-on;
			};

			mt6359p_vsram_others_reg: ldo_vsram_others {
				regulator-name = "vsram_others";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <1293750>;
				regulator-ramp-delay = <5000>;
				regulator-enable-ramp-delay = <240>;
			};

			mt6359p_vefuse_reg: ldo_vefuse {
				regulator-name = "vefuse";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <2000000>;
				regulator-enable-ramp-delay = <240>;
			};

			mt6359p_vxo22_reg: ldo_vxo22 {
				regulator-name = "vxo22";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <2200000>;
				regulator-enable-ramp-delay = <480>;
				regulator-always-on;
			};

			mt6359p_vrfck_reg: ldo_vrfck {
				regulator-name = "vrfck";
				regulator-min-microvolt = <1240000>;
				regulator-max-microvolt = <1600000>;
				regulator-enable-ramp-delay = <480>;
			};

			mt6359p_vbif28_reg: ldo_vbif28 {
				regulator-name = "vbif28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-enable-ramp-delay = <240>;
			};

			mt6359p_vio28_reg: ldo_vio28 {
				regulator-name = "vio28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <1920>;
				regulator-always-on;
			};

			mt6359p_vemc_reg: ldo_vemc {
				regulator-name = "vemc";
				regulator-min-microvolt = <2500000>;
				regulator-max-microvolt = <3300000>;
				regulator-enable-ramp-delay = <240>;
			};

			mt6359p_vcn33_2_bt_reg: ldo_vcn33_2_bt {
				regulator-name = "vcn33_2_bt";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <3500000>;
				regulator-enable-ramp-delay = <240>;
			};

			mt6359p_vcn33_2_wifi_reg: ldo_vcn33_2_wifi {
				regulator-name = "vcn33_2_wifi";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <3500000>;
				regulator-enable-ramp-delay = <240>;
			};

			mt6359p_va12_reg: ldo_va12 {
				regulator-name = "va12";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1300000>;
				regulator-enable-ramp-delay = <960>;
				regulator-always-on;
			};

			mt6359p_va09_reg: ldo_va09 {
				regulator-name = "va09";
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1200000>;
				regulator-enable-ramp-delay = <960>;
			};

			mt6359p_vrf18_reg: ldo_vrf18 {
				regulator-name = "vrf18";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <1810000>;
				regulator-enable-ramp-delay = <240>;
			};

			mt6359p_vsram_md_reg: ldo_vsram_md {
				regulator-name = "vsram_md";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <1293750>;
				regulator-ramp-delay = <10760>;
				regulator-enable-ramp-delay = <240>;
			};

			mt6359p_vufs_reg: ldo_vufs {
				regulator-name = "vufs";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <1900000>;
				regulator-enable-ramp-delay = <1920>;
			};

			mt6359p_vm18_reg: ldo_vm18 {
				regulator-name = "vm18";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <1900000>;
				regulator-enable-ramp-delay = <1920>;
				regulator-always-on;
			};

			mt6359p_vbbck_reg: ldo_vbbck {
				regulator-name = "vbbck";
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1200000>;
				regulator-enable-ramp-delay = <480>;
			};

			mt6359p_vsram_proc1_reg: ldo_vsram_proc1 {
				regulator-name = "vsram_proc1";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <1293750>;
				regulator-ramp-delay = <7500>;
				regulator-enable-ramp-delay = <240>;
				regulator-always-on;
			};

			mt6359p_vsim2_reg: ldo_vsim2 {
				regulator-name = "vsim2";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <3100000>;
				regulator-enable-ramp-delay = <480>;
			};

			mt6359p_vsram_others_sshub_ldo: ldo_vsram_others_sshub {
				regulator-name = "vsram_others_sshub";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <1193750>;
			};
		};
	};
