// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2022, Sireesh Kodali
 */
/dts-v1/;

#include "msm8953.dtsi"
#include "pm8953.dtsi"
#include "pmi8950.dtsi"

/delete-node/ &cont_splash_mem;
/delete-node/ &qseecom_mem;

/ {
	model = "Motorola G5 Plus";
	compatible = "motorola,potter", "qcom,msm8953";
	chassis-type = "handset";
	qcom,msm-id = <293 0>;
	qcom,board-id = <0x46 0x83a0>;

	chosen {
		#address-cells = <2>;
		#size-cells = <2>;
		ranges;

		framebuffer@90001000 {
			compatible = "simple-framebuffer";
			reg = <0 0x90001000 0 (2220 * 1920 * 3)>;

			width = <1080>;
			height = <1920>;
			stride = <(1080 * 3)>;
			format = "r8g8b8";

			power-domains = <&gcc MDSS_GDSC>;

			clocks = <&gcc GCC_MDSS_AHB_CLK>,
				 <&gcc GCC_MDSS_AXI_CLK>,
				 <&gcc GCC_MDSS_VSYNC_CLK>,
				 <&gcc GCC_MDSS_MDP_CLK>,
				 <&gcc GCC_MDSS_BYTE0_CLK>,
				 <&gcc GCC_MDSS_PCLK0_CLK>,
				 <&gcc GCC_MDSS_ESC0_CLK>;
		};
	};

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

		pinctrl-names = "default";
		pinctrl-0 = <&gpio_key_default>;

		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;
		};

		cont_splash_mem: cont-splash@90001000 {
			reg = <0x0 0x90001000 0x0 (1080 * 1920 * 3)>;
			no-map;
		};

		reserved@aefd2000 {
			reg = <0x0 0xaefd2000 0x0 0x2e000>;
			no-map;
		};

		reserved@eefe4000 {
			reg = <0x0 0xeefe4000 0x0 0x1c000>;
			no-map;
		};

		ramoops@ef000000 {
			compatible = "ramoops";
			reg = <0x0 0xef000000 0x0 0x80000>;
			console-size = <0x40000>;
			ftrace-size = <0>;
			record-size = <0x3f800>;
			pmsg-size = <0x800>;
		};
	};

	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@20 {
		reg = <0x20>;
		compatible = "syna,rmi4-i2c";

		interrupt-parent = <&tlmm>;
		interrupts = <65 IRQ_TYPE_EDGE_FALLING>;

		pinctrl-names = "default";
		pinctrl-0 = <&ts_reset>;

		vdd-supply = <&pm8953_l22>;
		vio-supply = <&pm8953_l6>;

		syna,reset-delay-ms = <200>;
		syna,startup-delay-ms = <500>;
	};
};

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

&pmi8950_wled {
	qcom,current-limit-microamp = <25000>;
	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 = <863000>;
			regulator-max-microvolt = <1152000>;
		};

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

		pm8953_s4: s4 {
			regulator-min-microvolt = <1896000>;
			regulator-max-microvolt = <2048000>;
		};

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

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

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

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

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

		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 = <1800000>;
			regulator-max-microvolt = <1800000>;
		};

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

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

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

		pm8953_l15: l15 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
		};

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

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

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

		pm8953_l22: l22 {
			regulator-always-on;
			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>;

	cd-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>;

	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 = <1 2>, <96 4>, <111 1>, <126 1>;

	ts_reset: ts-reset-state {
		pins = "gpio64";
		function = "gpio";
		drive-strength = <2>;
		bias-pull-up;
	};
};

&usb3 {
	status = "okay";
};

&usb3_dwc3 {
	dr_mode = "peripheral";
};
