// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
 */

/dts-v1/;

/* PM7250B is configured to use SID8/9 */
#define PM7250B_SID 8
#define PM7250B_SID1 9

#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sc7280.dtsi"
#include "pm7250b.dtsi"
#include "pm7325.dtsi"
#include "pm8350c.dtsi"
#include "pmk8350.dtsi"

/delete-node/ &ipa_fw_mem;
/delete-node/ &remoteproc_mpss;
/delete-node/ &rmtfs_mem;
/delete-node/ &adsp_mem;
/delete-node/ &cdsp_mem;
/delete-node/ &video_mem;
/delete-node/ &wlan_ce_mem;
/delete-node/ &wpss_mem;
/delete-node/ &xbl_mem;

/ {
	model = "Qualcomm Technologies, Inc. Robotics RB3gen2";
	compatible = "qcom,qcs6490-rb3gen2", "qcom,qcm6490";
	chassis-type = "embedded";

	aliases {
		serial0 = &uart5;
	};

	chosen {
		stdout-path = "serial0:115200n8";
	};

	reserved-memory {
		xbl_mem: xbl@80700000 {
			reg = <0x0 0x80700000 0x0 0x100000>;
			no-map;
		};

		cdsp_secure_heap_mem: cdsp-secure-heap@81800000 {
			reg = <0x0 0x81800000 0x0 0x1e00000>;
			no-map;
		};

		camera_mem: camera@84300000 {
			reg = <0x0 0x84300000 0x0 0x500000>;
			no-map;
		};

		wpss_mem: wpss@84800000 {
			reg = <0x0 0x84800000 0x0 0x1900000>;
			no-map;
		};

		adsp_mem: adsp@86100000 {
			reg = <0x0 0x86100000 0x0 0x2800000>;
			no-map;
		};

		cdsp_mem: cdsp@88900000 {
			reg = <0x0 0x88900000 0x0 0x1e00000>;
			no-map;
		};

		video_mem: video@8a700000 {
			reg = <0x0 0x8a700000 0x0 0x700000>;
			no-map;
		};

		cvp_mem: cvp@8ae00000 {
			reg = <0x0 0x8ae00000 0x0 0x500000>;
			no-map;
		};

		ipa_fw_mem: ipa-fw@8b300000 {
			reg = <0x0 0x8b300000 0x0 0x10000>;
			no-map;
		};

		ipa_gsi_mem: ipa-gsi@8b310000 {
			reg = <0x0 0x8b310000 0x0 0xa000>;
			no-map;
		};

		gpu_microcode_mem: gpu-microcode@8b31a000 {
			reg = <0x0 0x8b31a000 0x0 0x2000>;
			no-map;
		};

		tz_stat_mem: tz-stat@c0000000 {
			reg = <0x0 0xc0000000 0x0 0x100000>;
			no-map;
		};

		tags_mem: tags@c0100000 {
			reg = <0x0 0xc0100000 0x0 0x1200000>;
			no-map;
		};

		qtee_mem: qtee@c1300000 {
			reg = <0x0 0xc1300000 0x0 0x500000>;
			no-map;
		};

		trusted_apps_mem: trusted_apps@c1800000 {
			reg = <0x0 0xc1800000 0x0 0x1c00000>;
			no-map;
		};

		debug_vm_mem: debug-vm@d0600000 {
			reg = <0x0 0xd0600000 0x0 0x100000>;
			no-map;
		};
	};

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

&apps_rsc {
	regulators-0 {
		compatible = "qcom,pm7325-rpmh-regulators";
		qcom,pmic-id = "b";

		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-l4-l12-l15-supply = <&vreg_s7b_0p972>;
		vdd-l2-l7-supply = <&vreg_bob_3p296>;
		vdd-l3-supply = <&vreg_s2b_0p876>;
		vdd-l5-supply = <&vreg_s2b_0p876>;
		vdd-l6-l9-l10-supply = <&vreg_s8b_1p272>;
		vdd-l8-supply = <&vreg_s7b_0p972>;
		vdd-l11-l17-l18-l19-supply = <&vreg_s1b_1p872>;
		vdd-l13-supply = <&vreg_s7b_0p972>;
		vdd-l14-l16-supply = <&vreg_s8b_1p272>;

		vreg_s1b_1p872: smps1 {
			regulator-min-microvolt = <1840000>;
			regulator-max-microvolt = <2040000>;
		};

		vreg_s2b_0p876: smps2 {
			regulator-min-microvolt = <570070>;
			regulator-max-microvolt = <1050000>;
		};

		vreg_s7b_0p972: smps7 {
			regulator-min-microvolt = <535000>;
			regulator-max-microvolt = <1120000>;
		};

		vreg_s8b_1p272: smps8 {
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1500000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_RET>;
		};

		vreg_l1b_0p912: ldo1 {
			regulator-min-microvolt = <825000>;
			regulator-max-microvolt = <925000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2b_3p072: ldo2 {
			regulator-min-microvolt = <2700000>;
			regulator-max-microvolt = <3544000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3b_0p504: ldo3 {
			regulator-min-microvolt = <312000>;
			regulator-max-microvolt = <910000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l4b_0p752: ldo4 {
			regulator-min-microvolt = <752000>;
			regulator-max-microvolt = <820000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		reg_l5b_0p752: ldo5 {
			regulator-min-microvolt = <552000>;
			regulator-max-microvolt = <832000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6b_1p2: ldo6 {
			regulator-min-microvolt = <1140000>;
			regulator-max-microvolt = <1260000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l7b_2p952: ldo7 {
			regulator-min-microvolt = <2400000>;
			regulator-max-microvolt = <3544000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l8b_0p904: ldo8 {
			regulator-min-microvolt = <870000>;
			regulator-max-microvolt = <970000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

		vreg_l11b_1p504: ldo11 {
			regulator-min-microvolt = <1504000>;
			regulator-max-microvolt = <2000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l12b_0p751: ldo12 {
			regulator-min-microvolt = <751000>;
			regulator-max-microvolt = <824000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l13b_0p53: ldo13 {
			regulator-min-microvolt = <530000>;
			regulator-max-microvolt = <824000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l14b_1p08: ldo14 {
			regulator-min-microvolt = <1080000>;
			regulator-max-microvolt = <1304000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l15b_0p765: ldo15 {
			regulator-min-microvolt = <765000>;
			regulator-max-microvolt = <1020000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l16b_1p1: ldo16 {
			regulator-min-microvolt = <1100000>;
			regulator-max-microvolt = <1300000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l17b_1p7: ldo17 {
			regulator-min-microvolt = <1700000>;
			regulator-max-microvolt = <1900000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l18b_1p8: ldo18 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l19b_1p8: ldo19 {
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-1 {
		compatible = "qcom,pm8350c-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-s9-supply = <&vph_pwr>;
		vdd-s10-supply = <&vph_pwr>;
		vdd-l1-l12-supply = <&vreg_s1b_1p872>;
		vdd-l2-l8-supply = <&vreg_s1b_1p872>;
		vdd-l3-l4-l5-l7-l13-supply = <&vreg_bob_3p296>;
		vdd-l6-l9-l11-supply = <&vreg_bob_3p296>;
		vdd-l10-supply = <&vreg_s7b_0p972>;
		vdd-bob-supply = <&vph_pwr>;

		vreg_s1c_2p19: smps1 {
			regulator-min-microvolt = <2190000>;
			regulator-max-microvolt = <2210000>;
		};

		vreg_s2c_0p752: smps2 {
			regulator-min-microvolt = <750000>;
			regulator-max-microvolt = <800000>;
		};

		vreg_s5c_0p752: smps5 {
			regulator-min-microvolt = <465000>;
			regulator-max-microvolt = <1050000>;
		};

		vreg_s7c_0p752: smps7 {
			regulator-min-microvolt = <465000>;
			regulator-max-microvolt = <800000>;
		};

		vreg_s9c_1p084: smps9 {
			regulator-min-microvolt = <1010000>;
			regulator-max-microvolt = <1170000>;
		};

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

		vreg_l2c_1p62: ldo2 {
			regulator-min-microvolt = <1620000>;
			regulator-max-microvolt = <1980000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3c_2p8: ldo3 {
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <3540000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l4c_1p62: ldo4 {
			regulator-min-microvolt = <1620000>;
			regulator-max-microvolt = <3300000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l5c_1p62: ldo5 {
			regulator-min-microvolt = <1620000>;
			regulator-max-microvolt = <3300000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6c_2p96: ldo6 {
			regulator-min-microvolt = <1650000>;
			regulator-max-microvolt = <3544000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

		vreg_l8c_1p62: ldo8 {
			regulator-min-microvolt = <1620000>;
			regulator-max-microvolt = <2000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l9c_2p96: ldo9 {
			regulator-min-microvolt = <2700000>;
			regulator-max-microvolt = <35440000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l10c_0p88: ldo10 {
			regulator-min-microvolt = <720000>;
			regulator-max-microvolt = <1050000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l11c_2p8: ldo11 {
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <3544000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l12c_1p65: ldo12 {
			regulator-min-microvolt = <1650000>;
			regulator-max-microvolt = <2000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l13c_2p7: ldo13 {
			regulator-min-microvolt = <2700000>;
			regulator-max-microvolt = <3544000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_bob_3p296: bob {
			regulator-min-microvolt = <3008000>;
			regulator-max-microvolt = <3960000>;
		};
	};
};

&qupv3_id_0 {
	status = "okay";
};

&tlmm {
	gpio-reserved-ranges = <32 2>, /* ADSP */
			       <48 4>; /* NFC */
};

&uart5 {
	compatible = "qcom,geni-debug-uart";
	status = "okay";
};

&usb_1 {
	status = "okay";
};

&usb_1_dwc3 {
	dr_mode = "peripheral";
};

&usb_1_hsphy {
	vdda-pll-supply = <&vreg_l10c_0p88>;
	vdda33-supply = <&vreg_l2b_3p072>;
	vdda18-supply = <&vreg_l1c_1p8>;

	status = "okay";
};

&usb_1_qmpphy {
	vdda-phy-supply = <&vreg_l6b_1p2>;
	vdda-pll-supply = <&vreg_l1b_0p912>;

	status = "okay";
};

&wifi {
	memory-region = <&wlan_fw_mem>;
};
