// 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: mt6331 {
		compatible = "mediatek,mt6331";
		interrupt-controller;
		#interrupt-cells = <2>;

		mt6331regulator: mt6331regulator {
			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 = "dvdd18_dig";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-ramp-delay = <0>;
				regulator-always-on;
			};
		};

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

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