// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Copyright (C) 2022 MediaTek Inc.
 */

&pwrap {
	pmic: pmic {
		compatible = "mediatek,mt6359";
		interrupt-controller;
		#interrupt-cells = <2>;

		mt6359codec: mt6359codec {
		};

		regulators {
			mt6359_vs1_buck_reg: buck_vs1 {
				regulator-name = "vs1";
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <2200000>;
				regulator-enable-ramp-delay = <0>;
				regulator-always-on;
			};
			mt6359_vgpu11_buck_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>;
			};
			mt6359_vmodem_buck_reg: buck_vmodem {
				regulator-name = "vmodem";
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1100000>;
				regulator-ramp-delay = <10760>;
				regulator-enable-ramp-delay = <200>;
			};
			mt6359_vpu_buck_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>;
			};
			mt6359_vcore_buck_reg: buck_vcore {
				regulator-name = "vcore";
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1300000>;
				regulator-ramp-delay = <5000>;
				regulator-enable-ramp-delay = <200>;
				regulator-allowed-modes = <0 1 2>;
			};
			mt6359_vs2_buck_reg: buck_vs2 {
				regulator-name = "vs2";
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1600000>;
				regulator-enable-ramp-delay = <0>;
				regulator-always-on;
			};
			mt6359_vpa_buck_reg: buck_vpa {
				regulator-name = "vpa";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <3650000>;
				regulator-enable-ramp-delay = <300>;
			};
			mt6359_vproc2_buck_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>;
			};
			mt6359_vproc1_buck_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>;
			};
			mt6359_vcore_sshub_buck_reg: buck_vcore_sshub {
				regulator-name = "vcore_sshub";
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1193750>;
			};
			mt6359_vgpu11_sshub_buck_reg: buck_vgpu11_sshub {
				regulator-name = "vgpu11_sshub";
				regulator-min-microvolt = <400000>;
				regulator-max-microvolt = <1193750>;
			};
			mt6359_vaud18_ldo_reg: ldo_vaud18 {
				regulator-name = "vaud18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <240>;
			};
			mt6359_vsim1_ldo_reg: ldo_vsim1 {
				regulator-name = "vsim1";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <3100000>;
			};
			mt6359_vibr_ldo_reg: ldo_vibr {
				regulator-name = "vibr";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3300000>;
			};
			mt6359_vrf12_ldo_reg: ldo_vrf12 {
				regulator-name = "vrf12";
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1300000>;
			};
			mt6359_vusb_ldo_reg: ldo_vusb {
				regulator-name = "vusb";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3000000>;
				regulator-enable-ramp-delay = <960>;
				regulator-always-on;
			};
			mt6359_vsram_proc2_ldo_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;
			};
			mt6359_vio18_ldo_reg: ldo_vio18 {
				regulator-name = "vio18";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <1900000>;
				regulator-enable-ramp-delay = <960>;
				regulator-always-on;
			};
			mt6359_vcamio_ldo_reg: ldo_vcamio {
				regulator-name = "vcamio";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <1900000>;
			};
			mt6359_vcn18_ldo_reg: ldo_vcn18 {
				regulator-name = "vcn18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <240>;
			};
			mt6359_vfe28_ldo_reg: ldo_vfe28 {
				regulator-name = "vfe28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-enable-ramp-delay = <120>;
			};
			mt6359_vcn13_ldo_reg: ldo_vcn13 {
				regulator-name = "vcn13";
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <1300000>;
			};
			mt6359_vcn33_1_bt_ldo_reg: ldo_vcn33_1_bt {
				regulator-name = "vcn33_1_bt";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <3500000>;
			};
			mt6359_vcn33_1_wifi_ldo_reg: ldo_vcn33_1_wifi {
				regulator-name = "vcn33_1_wifi";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <3500000>;
			};
			mt6359_vaux18_ldo_reg: ldo_vaux18 {
				regulator-name = "vaux18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-enable-ramp-delay = <240>;
				regulator-always-on;
			};
			mt6359_vsram_others_ldo_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>;
			};
			mt6359_vefuse_ldo_reg: ldo_vefuse {
				regulator-name = "vefuse";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <2000000>;
			};
			mt6359_vxo22_ldo_reg: ldo_vxo22 {
				regulator-name = "vxo22";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <2200000>;
				regulator-always-on;
			};
			mt6359_vrfck_ldo_reg: ldo_vrfck {
				regulator-name = "vrfck";
				regulator-min-microvolt = <1500000>;
				regulator-max-microvolt = <1700000>;
			};
			mt6359_vrfck_1_ldo_reg: ldo_vrfck_1 {
				regulator-name = "vrfck";
				regulator-min-microvolt = <1240000>;
				regulator-max-microvolt = <1600000>;
			};
			mt6359_vbif28_ldo_reg: ldo_vbif28 {
				regulator-name = "vbif28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-enable-ramp-delay = <240>;
			};
			mt6359_vio28_ldo_reg: ldo_vio28 {
				regulator-name = "vio28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
			};
			mt6359_vemc_ldo_reg: ldo_vemc {
				regulator-name = "vemc";
				regulator-min-microvolt = <2900000>;
				regulator-max-microvolt = <3300000>;
			};
			mt6359_vemc_1_ldo_reg: ldo_vemc_1 {
				regulator-name = "vemc";
				regulator-min-microvolt = <2500000>;
				regulator-max-microvolt = <3300000>;
			};
			mt6359_vcn33_2_bt_ldo_reg: ldo_vcn33_2_bt {
				regulator-name = "vcn33_2_bt";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <3500000>;
			};
			mt6359_vcn33_2_wifi_ldo_reg: ldo_vcn33_2_wifi {
				regulator-name = "vcn33_2_wifi";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <3500000>;
			};
			mt6359_va12_ldo_reg: ldo_va12 {
				regulator-name = "va12";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1300000>;
				regulator-always-on;
			};
			mt6359_va09_ldo_reg: ldo_va09 {
				regulator-name = "va09";
				regulator-min-microvolt = <800000>;
				regulator-max-microvolt = <1200000>;
			};
			mt6359_vrf18_ldo_reg: ldo_vrf18 {
				regulator-name = "vrf18";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <1810000>;
			};
			mt6359_vsram_md_ldo_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>;
			};
			mt6359_vufs_ldo_reg: ldo_vufs {
				regulator-name = "vufs";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <1900000>;
			};
			mt6359_vm18_ldo_reg: ldo_vm18 {
				regulator-name = "vm18";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <1900000>;
				regulator-always-on;
			};
			mt6359_vbbck_ldo_reg: ldo_vbbck {
				regulator-name = "vbbck";
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1200000>;
			};
			mt6359_vsram_proc1_ldo_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;
			};
			mt6359_vsim2_ldo_reg: ldo_vsim2 {
				regulator-name = "vsim2";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <3100000>;
			};
			mt6359_vsram_others_sshub_ldo: ldo_vsram_others_sshub {
				regulator-name = "vsram_others_sshub";
				regulator-min-microvolt = <500000>;
				regulator-max-microvolt = <1293750>;
			};
		};

		mt6359rtc: mt6359rtc {
			compatible = "mediatek,mt6358-rtc";
		};
	};
};
