// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2022, Julian Braha <julianbraha@gmail.com>
 */
/dts-v1/;

#include "sdm450.dtsi"
#include "pm8953.dtsi"
#include "pmi8950.dtsi"

/delete-node/ &qseecom_mem;

/ {
	model = "Motorola Moto G6";
	compatible = "motorola,ali", "qcom,sdm450";
	chassis-type = "handset";
	qcom,msm-id = <338 0>;
	qcom,board-id = <0x43 0xc200>;

	gpio-keys {
		compatible = "gpio-keys";

		key-volume-up {
			label = "volume_up";
			gpios = <&tlmm 85 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_VOLUMEUP>;
		};
	};

	reserved-memory {
		qseecom_mem: qseecom@84300000 {
			reg = <0x0 0x84300000 0x0 0x2000000>;
			no-map;
		};

		ramoops@ef000000 {
			compatible = "ramoops";
			reg = <0x0 0xef000000 0x0 0xc0000>;
			console-size = <0x40000>;
		};
	};

	vph_pwr: vph-pwr-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vph_pwr";
		regulator-always-on;
		regulator-boot-on;
	};
};

&hsusb_phy {
	vdd-supply = <&pm8953_l3>;
	vdda-pll-supply = <&pm8953_l7>;
	vdda-phy-dpdm-supply = <&pm8953_l13>;

	status = "okay";
};

&i2c_3 {
	status = "okay";

	touchscreen@38 {
		compatible = "edt,edt-ft5406";
		reg = <0x38>;
		interrupt-parent = <&tlmm>;
		interrupts = <65 IRQ_TYPE_EDGE_FALLING>;
		vcc-supply = <&pm8953_l10>;

		pinctrl-names = "default";
		pinctrl-0 = <&ts_int_active &ts_reset_active>;

		reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>;
		touchscreen-size-x = <1080>;
		touchscreen-size-y = <2160>;
	};
};

&pm8953_resin {
	linux,code = <KEY_VOLUMEDOWN>;
	status = "okay";
};

&pmi8950_wled {
	qcom,num-strings = <3>;
	qcom,external-pfet;
	qcom,cabc;

	status = "okay";
};

&rpm_requests {
	regulators {
		compatible = "qcom,rpm-pm8953-regulators";

		vdd_s1-supply = <&vph_pwr>;
		vdd_s2-supply = <&vph_pwr>;
		vdd_s3-supply = <&vph_pwr>;
		vdd_s4-supply = <&vph_pwr>;
		vdd_s5-supply = <&vph_pwr>;
		vdd_s6-supply = <&vph_pwr>;
		vdd_s7-supply = <&vph_pwr>;
		vdd_l1-supply = <&pm8953_s3>;
		vdd_l2_l3-supply = <&pm8953_s3>;
		vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>;
		vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>;
		vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>;

		pm8953_s1: s1 {
			regulator-min-microvolt = <795000>;
			regulator-max-microvolt = <1081000>;
		};

		pm8953_s3: s3 {
			regulator-min-microvolt = <1224000>;
			regulator-max-microvolt = <1224000>;
		};

		pm8953_s4: s4 {
			regulator-min-microvolt = <1900000>;
			regulator-max-microvolt = <2050000>;
		};

		pm8953_l1: l1 {
			regulator-min-microvolt = <1000000>;
			regulator-max-microvolt = <1100000>;
		};

		pm8953_l2: l2 {
			regulator-min-microvolt = <975000>;
			regulator-max-microvolt = <1225000>;
		};

		pm8953_l3: l3 {
			regulator-min-microvolt = <925000>;
			regulator-max-microvolt = <925000>;
		};

		pm8953_l5: l5 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};

		pm8953_l6: l6 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};

		pm8953_l7: l7 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1900000>;
		};

		pm8953_l8: l8 {
			regulator-min-microvolt = <2900000>;
			regulator-max-microvolt = <2900000>;
		};

		pm8953_l9: l9 {
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3300000>;
		};

		pm8953_l10: l10 {
			regulator-min-microvolt = <2850000>;
			regulator-max-microvolt = <2850000>;
		};

		pm8953_l11: l11 {
			regulator-min-microvolt = <2950000>;
			regulator-max-microvolt = <2950000>;
		};

		pm8953_l12: l12 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2950000>;
		};

		pm8953_l13: l13 {
			regulator-min-microvolt = <3125000>;
			regulator-max-microvolt = <3125000>;
		};

		pm8953_l16: l16 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};

		pm8953_l17: l17 {
			regulator-min-microvolt = <2850000>;
			regulator-max-microvolt = <2850000>;
		};

		pm8953_l19: l19 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1350000>;
		};

		pm8953_l22: l22 {
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2850000>;
		};

		pm8953_l23: l23 {
			regulator-min-microvolt = <975000>;
			regulator-max-microvolt = <1225000>;
		};
	};
};

&sdhc_1 {
	vmmc-supply = <&pm8953_l8>;
	vqmmc-supply = <&pm8953_l5>;

	status = "okay";
};

&sdhc_2 {
	vmmc-supply = <&pm8953_l11>;
	vqmmc-supply = <&pm8953_l12>;

	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_off>;
	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;

	status = "okay";
};

&tlmm {
	gpio-reserved-ranges = <95 5>, <111 1>, <126 1>;

	ts_int_active: ts-int-active-state {
		pins = "gpio65";
		function = "gpio";
		drive-strength = <8>;
		bias-pull-up;
	};

	ts_reset_active: ts-reset-active-state {
		pins = "gpio64";
		function = "gpio";
		drive-strength = <0x08>;
		bias-pull-up;
	};
};

&usb3 {
	status = "okay";
};

&usb3_dwc3 {
	dr_mode = "peripheral";
};
