// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
 */

/dts-v1/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sm8150.dtsi"
#include "pm8150.dtsi"
#include "pm8150b.dtsi"
#include "pm8150l.dtsi"

/delete-node/ &cdsp_mem;
/delete-node/ &gpu_mem;
/delete-node/ &ipa_fw_mem;
/delete-node/ &ipa_gsi_mem;
/delete-node/ &mpss_mem;
/delete-node/ &slpi_mem;
/delete-node/ &spss_mem;
/delete-node/ &venus_mem;

/ {
	qcom,msm-id = <339 0x20000>; /* SM8150 v2 */
	qcom,board-id = <8 0>;

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

		framebuffer: framebuffer@9c000000 {
			compatible = "simple-framebuffer";
			reg = <0 0x9c000000 0 0x2300000>;
			width = <1644>;
			height = <3840>;
			stride = <(1644 * 4)>;
			format = "a8r8g8b8";
			/*
			 * That's (going to be) a lot of clocks, but it's necessary due
			 * to unused clk cleanup & no panel driver yet (& no dispcc either)..
			 */
			clocks = <&gcc GCC_DISP_HF_AXI_CLK>,
				 <&gcc GCC_DISP_SF_AXI_CLK>;
		};
	};

	vph_pwr: vph-pwr-regulator {
		compatible = "regulator-fixed";
		regulator-name = "vph_pwr";
		regulator-min-microvolt = <3700000>;
		regulator-max-microvolt = <3700000>;
	};

	/*
	 * Apparently RPMh does not provide support for PM8150 S4 because it
	 * is always-on; model it as a fixed regulator.
	 */
	vreg_s4a_1p8: pm8150-s4 {
		compatible = "regulator-fixed";
		regulator-name = "vreg_s4a_1p8";

		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;

		regulator-always-on;
		regulator-boot-on;

		vin-supply = <&vph_pwr>;
	};

	reserved-memory {
		mpss_mem: memory@8dc00000 {
			reg = <0x0 0x8dc00000 0x0 0x9600000>;
			no-map;
		};

		venus_mem: memory@97200000 {
			reg = <0x0 0x97200000 0x0 0x500000>;
			no-map;
		};

		slpi_mem: memory@97700000 {
			reg = <0x0 0x97700000 0x0 0x1400000>;
			no-map;
		};

		ipa_fw_mem: memory@98b00000 {
			reg = <0x0 0x98b00000 0x0 0x10000>;
			no-map;
		};

		ipa_gsi_mem: memory@98b10000 {
			reg = <0x0 0x98b10000 0x0 0x5000>;
			no-map;
		};

		gpu_mem: memory@98b15000 {
			reg = <0x0 0x98b15000 0x0 0x2000>;
			no-map;
		};

		spss_mem: memory@98c00000 {
			reg = <0x0 0x98c00000 0x0 0x100000>;
			no-map;
		};

		cdsp_mem: memory@98d00000 {
			reg = <0x0 0x98d00000 0x0 0x1400000>;
			no-map;
		};

		cont_splash_mem: memory@9c000000 {
			reg = <0x0 0x9c000000 0x0 0x2400000>;
			no-map;
		};

		cdsp_sec_mem: memory@a4c00000 {
			reg = <0x0 0xa4c00000 0x0 0x3c00000>;
			no-map;
		};

		ramoops@ffc00000 {
			compatible = "ramoops";
			reg = <0x0 0xffc00000 0x0 0x100000>;
			record-size = <0x1000>;
			console-size = <0x40000>;
			msg-size = <0x20000 0x20000>;
			ecc-size = <16>;
			no-map;
		};
	};
};

&adsp_mem {
	reg = <0x0 0x8be00000 0x0 0x1e00000>;
};

&apps_rsc {
	pm8150-rpmh-regulators {
		compatible = "qcom,pm8150-rpmh-regulators";
		qcom,pmic-id = "a";

		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-s8-supply = <&vph_pwr>;
		vdd-s9-supply = <&vph_pwr>;
		vdd-s10-supply = <&vph_pwr>;

		vdd-l1-l8-l11-supply = <&vreg_s6a_0p9>;
		vdd-l2-l10-supply = <&vreg_bob>;
		vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p9>;
		vdd-l6-l9-supply = <&vreg_s8c_1p3>;
		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
		vdd-l13-l16-l17-supply = <&vreg_bob>;

		vreg_s2a_0p6: smps2 {
			regulator-min-microvolt = <600000>;
			regulator-max-microvolt = <600000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s5a_1p9: smps5 {
			regulator-min-microvolt = <1904000>;
			regulator-max-microvolt = <2040000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s6a_0p9: smps6 {
			regulator-min-microvolt = <920000>;
			regulator-max-microvolt = <1128000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l1a_0p75: ldo1 {
			regulator-min-microvolt = <752000>;
			regulator-max-microvolt = <752000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2a_3p1: ldo2 {
			regulator-min-microvolt = <3072000>;
			regulator-max-microvolt = <3072000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3a_0p8: ldo3 {
			regulator-min-microvolt = <480000>;
			regulator-max-microvolt = <932000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l5a_0p875: ldo5 {
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <880000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6a_1p2: ldo6 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l7a_1p8: ldo7 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l9a_1p2: ldo9 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l10a_2p5: ldo10 {
			regulator-min-microvolt = <2504000>;
			regulator-max-microvolt = <2960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l11a_0p8: ldo11 {
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l12a_1p8: ldo12 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		/* L13 is unused. */

		vreg_l14a_1p8: ldo14 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l15a_1p7: ldo15 {
			regulator-min-microvolt = <1704000>;
			regulator-max-microvolt = <1704000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l16a_2p7: ldo16 {
			regulator-min-microvolt = <2704000>;
			regulator-max-microvolt = <2960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l17a_3p0: ldo17 {
			regulator-min-microvolt = <2856000>;
			regulator-max-microvolt = <3008000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l18a_0p8: ldo18 {
			regulator-min-microvolt = <880000>;
			regulator-max-microvolt = <912000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	pm8150l-rpmh-regulators {
		compatible = "qcom,pm8150l-rpmh-regulators";
		qcom,pmic-id = "c";

		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-s8-supply = <&vph_pwr>;

		vdd-l1-l8-supply = <&vreg_s4a_1p8>;
		vdd-l2-l3-supply = <&vreg_s8c_1p3>;
		vdd-l4-l5-l6-supply = <&vreg_bob>;
		vdd-l7-l11-supply = <&vreg_bob>;
		vdd-l9-l10-supply = <&vreg_bob>;

		vdd-bob-supply = <&vph_pwr>;
		vdd-flash-supply = <&vreg_bob>;
		vdd-rgb-supply = <&vreg_bob>;

		vreg_bob: bob {
			regulator-min-microvolt = <3350000>;
			regulator-max-microvolt = <4000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
			regulator-allow-bypass;
		};

		vreg_s1c_1p1: smps1 {
			regulator-min-microvolt = <1128000>;
			regulator-max-microvolt = <1128000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s8c_1p3: smps8 {
			regulator-min-microvolt = <1352000>;
			regulator-max-microvolt = <1352000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l1c_1p8: ldo1 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2c_1p3: ldo2 {
			regulator-min-microvolt = <1304000>;
			regulator-max-microvolt = <1304000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3c_1p2: ldo3 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l4c_1p8: ldo4 {
			regulator-min-microvolt = <1704000>;
			regulator-max-microvolt = <2928000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l5c_1p8: ldo5 {
			regulator-min-microvolt = <1704000>;
			regulator-max-microvolt = <2928000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6c_2p9: ldo6 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes =
			    <RPMH_REGULATOR_MODE_LPM
			     RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l7c_3p0: ldo7 {
			regulator-min-microvolt = <2856000>;
			regulator-max-microvolt = <3104000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l8c_1p8: ldo8 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l9c_2p9: ldo9 {
			regulator-min-microvolt = <2704000>;
			regulator-max-microvolt = <2960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes =
			    <RPMH_REGULATOR_MODE_LPM
			     RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l10c_3p3: ldo10 {
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3312000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l11c_3p3: ldo11 {
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3312000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	/* PM8009 is not present on these boards, even if downstream sources suggest so. */
};

&i2c4 {
	status = "okay";

	/* Qcom SMB1355 @ c */
	/* Qcom SMB1390 @ 10 */
	/* NXP PN553 NFC @ 28 */
	/* Qcom FSA4480 USB-C audio switch @ 43 */
};

&i2c7 {
	status = "okay";

	/* AMS TCS3490 RGB+IR color sensor @ 72 */
};

&i2c10 {
	status = "okay";

	/* Samsung touchscreen @ 48 */
};

&pon_pwrkey {
	status = "okay";
};

&qupv3_id_0 {
	status = "okay";
};

&qupv3_id_1 {
	status = "okay";
};

&tlmm {
	gpio-reserved-ranges = <126 4>;
};

&uart2 {
	status = "okay";
};

/* BIG WARNING! DO NOT TOUCH UFS, YOUR DEVICE WILL DIE! */
&ufs_mem_hc { status = "disabled"; };
&ufs_mem_phy { status = "disabled"; };

&usb_1 {
	status = "okay";
};

&usb_1_dwc3 {
	dr_mode = "peripheral";
};

&usb_1_hsphy {
	status = "okay";
	vdda-pll-supply = <&vreg_l5a_0p875>;
	vdda33-supply = <&vreg_l2a_3p1>;
	vdda18-supply = <&vreg_l12a_1p8>;
};

&usb_1_qmpphy {
	status = "okay";
	vdda-phy-supply = <&vreg_l3c_1p2>;
	vdda-pll-supply = <&vreg_l18a_0p8>;
};
