// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Copyright (c) 2023 Collabora Ltd.
 * Author: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
 */
#include <dt-bindings/input/input.h>

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

		mt6331regulator: regulators {
			compatible = "mediatek,mt6331-regulator";

			mt6331_vdvfs11_reg: buck-vdvfs11 {
				regulator-name = "vdvfs11";
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1493750>;
				regulator-ramp-delay = <12500>;
				regulator-enable-ramp-delay = <0>;
				regulator-allowed-modes = <0 1>;
				regulator-always-on;
			};

			mt6331_vdvfs12_reg: buck-vdvfs12 {
				regulator-name = "vdvfs12";
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1493750>;
				regulator-ramp-delay = <12500>;
				regulator-enable-ramp-delay = <0>;
				regulator-allowed-modes = <0 1>;
				regulator-always-on;
			};

			mt6331_vdvfs13_reg: buck-vdvfs13 {
				regulator-name = "vdvfs13";
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1493750>;
				regulator-ramp-delay = <12500>;
				regulator-enable-ramp-delay = <0>;
				regulator-allowed-modes = <0 1>;
				regulator-always-on;
			};

			mt6331_vdvfs14_reg: buck-vdvfs14 {
				regulator-name = "vdvfs14";
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1493750>;
				regulator-ramp-delay = <12500>;
				regulator-enable-ramp-delay = <0>;
				regulator-allowed-modes = <0 1>;
				regulator-always-on;
			};

			mt6331_vcore2_reg: buck-vcore2 {
				regulator-name = "vcore2";
				regulator-min-microvolt = <700000>;
				regulator-max-microvolt = <1493750>;
				regulator-ramp-delay = <12500>;
				regulator-enable-ramp-delay = <0>;
				regulator-allowed-modes = <0 1>;
				regulator-always-on;
			};

			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>;
				regulator-always-on;
			};

			mt6331_vtcxo1_reg: ldo-vtcxo1 {
				regulator-name = "vtcxo1";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
				regulator-boot-on;
			};

			mt6331_vtcxo2_reg: ldo-vtcxo2 {
				regulator-name = "vtcxo2";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
				regulator-boot-on;
			};

			mt6331_avdd32_aud_reg: ldo-avdd32aud {
				regulator-name = "avdd32_aud";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <3200000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
				regulator-boot-on;
			};

			mt6331_vauxa32_reg: ldo-vauxa32 {
				regulator-name = "vauxa32";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <3200000>;
				regulator-ramp-delay = <0>;
			};

			mt6331_vcama_reg: ldo-vcama {
				regulator-name = "vcama";
				regulator-min-microvolt = <1500000>;
				regulator-max-microvolt = <2800000>;
				regulator-ramp-delay = <0>;
			};

			mt6331_vio28_reg: ldo-vio28 {
				regulator-name = "vio28";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
				regulator-boot-on;
			};

			mt6331_vcamaf_reg: ldo-vcamaf {
				regulator-name = "vcam_af";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3300000>;
				regulator-ramp-delay = <0>;
			};

			mt6331_vmc_reg: ldo-vmc {
				regulator-name = "vmc";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-ramp-delay = <0>;
			};

			mt6331_vmch_reg: ldo-vmch {
				regulator-name = "vmch";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3300000>;
				regulator-ramp-delay = <0>;
			};

			mt6331_vemc33_reg: ldo-vemc33 {
				regulator-name = "vemc33";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
			};

			mt6331_vgp1_reg: ldo-vgp1 {
				regulator-name = "vgp1";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3300000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
			};

			mt6331_vsim1_reg: ldo-vsim1 {
				regulator-name = "vsim1";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <3100000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
			};

			mt6331_vsim2_reg: ldo-vsim2 {
				regulator-name = "vsim2";
				regulator-min-microvolt = <1700000>;
				regulator-max-microvolt = <3100000>;
				regulator-ramp-delay = <0>;
			};

			mt6331_vmipi_reg: ldo-vmipi {
				regulator-name = "vmipi";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3300000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
			};

			mt6331_vibr_reg: ldo-vibr {
				regulator-name = "vibr";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <3300000>;
				regulator-ramp-delay = <0>;
			};

			mt6331_vgp4_reg: ldo-vgp4 {
				regulator-name = "vgp4";
				regulator-min-microvolt = <1600000>;
				regulator-max-microvolt = <2200000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
			};

			mt6331_vcamd_reg: ldo-vcamd {
				regulator-name = "vcamd";
				regulator-min-microvolt = <900000>;
				regulator-max-microvolt = <1500000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
			};

			mt6331_vusb10_reg: ldo-vusb10 {
				regulator-name = "vusb";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1300000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
				regulator-boot-on;
			};

			mt6331_vcamio_reg: ldo-vcamio {
				regulator-name = "vcam_io";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1800000>;
				regulator-ramp-delay = <0>;
			};

			mt6331_vsram_reg: ldo-vsram {
				regulator-name = "vsram";
				regulator-min-microvolt = <1012500>;
				regulator-max-microvolt = <1012500>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
				regulator-boot-on;
			};

			mt6331_vgp2_reg: ldo-vgp2 {
				regulator-name = "vgp2";
				regulator-min-microvolt = <1100000>;
				regulator-max-microvolt = <1500000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
				regulator-boot-on;
			};

			mt6331_vgp3_reg: ldo-vgp3 {
				regulator-name = "vgp3";
				regulator-min-microvolt = <1200000>;
				regulator-max-microvolt = <1800000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
			};

			mt6331_vrtc_reg: ldo-vrtc {
				regulator-name = "vrtc";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
			};

			mt6331_vdig18_reg: ldo-vdig18 {
				regulator-name = "vdig18";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
			};
		};

		mt6331rtc: rtc {
			compatible = "mediatek,mt6331-rtc";
		};

		mt6331keys: keys {
			compatible = "mediatek,mt6331-keys";
			power {
				linux,keycodes = <KEY_POWER>;
				wakeup-source;
			};
			home {
				linux,keycodes = <KEY_HOME>;
			};
		};
	};
};
