// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2023, Linaro Limited
 */

/dts-v1/;

#include <dt-bindings/regulator/qcom,rpmh-regulator.h>

#include "sa8775p.dtsi"
#include "sa8775p-pmics.dtsi"

/ {
	model = "Qualcomm SA8775P Ride";
	compatible = "qcom,sa8775p-ride", "qcom,sa8775p";

	aliases {
		serial0 = &uart10;
		serial1 = &uart12;
		serial2 = &uart17;
		i2c18 = &i2c18;
		spi16 = &spi16;
	};

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

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

		vreg_s4a: smps4 {
			regulator-name = "vreg_s4a";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1816000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s5a: smps5 {
			regulator-name = "vreg_s5a";
			regulator-min-microvolt = <1850000>;
			regulator-max-microvolt = <1996000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s9a: smps9 {
			regulator-name = "vreg_s9a";
			regulator-min-microvolt = <535000>;
			regulator-max-microvolt = <1120000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l4a: ldo4 {
			regulator-name = "vreg_l4a";
			regulator-min-microvolt = <788000>;
			regulator-max-microvolt = <1050000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l5a: ldo5 {
			regulator-name = "vreg_l5a";
			regulator-min-microvolt = <870000>;
			regulator-max-microvolt = <950000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6a: ldo6 {
			regulator-name = "vreg_l6a";
			regulator-min-microvolt = <870000>;
			regulator-max-microvolt = <970000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l7a: ldo7 {
			regulator-name = "vreg_l7a";
			regulator-min-microvolt = <720000>;
			regulator-max-microvolt = <950000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l8a: ldo8 {
			regulator-name = "vreg_l8a";
			regulator-min-microvolt = <2504000>;
			regulator-max-microvolt = <3300000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l9a: ldo9 {
			regulator-name = "vreg_l9a";
			regulator-min-microvolt = <2970000>;
			regulator-max-microvolt = <3544000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};
	};

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

		vreg_l1c: ldo1 {
			regulator-name = "vreg_l1c";
			regulator-min-microvolt = <1140000>;
			regulator-max-microvolt = <1260000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2c: ldo2 {
			regulator-name = "vreg_l2c";
			regulator-min-microvolt = <900000>;
			regulator-max-microvolt = <1100000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3c: ldo3 {
			regulator-name = "vreg_l3c";
			regulator-min-microvolt = <1100000>;
			regulator-max-microvolt = <1300000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l4c: ldo4 {
			regulator-name = "vreg_l4c";
			regulator-min-microvolt = <1100000>;
			regulator-max-microvolt = <1300000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			/*
			 * FIXME: This should have regulator-allow-set-load but
			 * we're getting an over-current fault from the PMIC
			 * when switching to LPM.
			 */
		};

		vreg_l5c: ldo5 {
			regulator-name = "vreg_l5c";
			regulator-min-microvolt = <1100000>;
			regulator-max-microvolt = <1300000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6c: ldo6 {
			regulator-name = "vreg_l6c";
			regulator-min-microvolt = <1620000>;
			regulator-max-microvolt = <1980000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l7c: ldo7 {
			regulator-name = "vreg_l7c";
			regulator-min-microvolt = <1620000>;
			regulator-max-microvolt = <2000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l8c: ldo8 {
			regulator-name = "vreg_l8c";
			regulator-min-microvolt = <2400000>;
			regulator-max-microvolt = <3300000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l9c: ldo9 {
			regulator-name = "vreg_l9c";
			regulator-min-microvolt = <1650000>;
			regulator-max-microvolt = <2700000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};
	};

	regulators-2 {
		compatible = "qcom,pmm8654au-rpmh-regulators";
		qcom,pmic-id = "e";

		vreg_s4e: smps4 {
			regulator-name = "vreg_s4e";
			regulator-min-microvolt = <970000>;
			regulator-max-microvolt = <1520000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s7e: smps7 {
			regulator-name = "vreg_s7e";
			regulator-min-microvolt = <1010000>;
			regulator-max-microvolt = <1170000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_s9e: smps9 {
			regulator-name = "vreg_s9e";
			regulator-min-microvolt = <300000>;
			regulator-max-microvolt = <570000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6e: ldo6 {
			regulator-name = "vreg_l6e";
			regulator-min-microvolt = <1280000>;
			regulator-max-microvolt = <1450000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l8e: ldo8 {
			regulator-name = "vreg_l8e";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1950000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-allow-set-load;
			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
						   RPMH_REGULATOR_MODE_HPM>;
		};
	};
};

&i2c18 {
	clock-frequency = <400000>;
	pinctrl-0 = <&qup_i2c18_default>;
	pinctrl-names = "default";
	status = "okay";
};

&pmm8654au_0_gpios {
	gpio-line-names = "DS_EN",
			  "POFF_COMPLETE",
			  "UFS0_VER_ID",
			  "FAST_POFF",
			  "DBU1_PON_DONE",
			  "AOSS_SLEEP",
			  "CAM_DES0_EN",
			  "CAM_DES1_EN",
			  "CAM_DES2_EN",
			  "CAM_DES3_EN",
			  "UEFI",
			  "ANALOG_PON_OPT";
};

&pmm8654au_1_gpios {
	gpio-line-names = "PMIC_C_ID0",
			  "PMIC_C_ID1",
			  "UFS1_VER_ID",
			  "IPA_PWR",
			  "",
			  "WLAN_DBU4_EN",
			  "WLAN_EN",
			  "BT_EN",
			  "USB2_PWR_EN",
			  "USB2_FAULT";
};

&pmm8654au_2_gpios {
	gpio-line-names = "PMIC_E_ID0",
			  "PMIC_E_ID1",
			  "USB0_PWR_EN",
			  "USB0_FAULT",
			  "SENSOR_IRQ_1",
			  "SENSOR_IRQ_2",
			  "SENSOR_RST",
			  "SGMIIO0_RST",
			  "SGMIIO1_RST",
			  "USB1_PWR_ENABLE",
			  "USB1_FAULT",
			  "VMON_SPX8";
};

&pmm8654au_3_gpios {
	gpio-line-names = "PMIC_G_ID0",
			  "PMIC_G_ID1",
			  "GNSS_RST",
			  "GNSS_EN",
			  "GNSS_BOOT_MODE";
};

&qupv3_id_1 {
	status = "okay";
};

&qupv3_id_2 {
	status = "okay";
};

&sleep_clk {
	clock-frequency = <32764>;
};

&spi16 {
	pinctrl-0 = <&qup_spi16_default>;
	pinctrl-names = "default";
	status = "okay";
};

&tlmm {
	qup_uart10_default: qup-uart10-state {
		pins = "gpio46", "gpio47";
		function = "qup1_se3";
	};

	qup_spi16_default: qup-spi16-state {
		pins = "gpio86", "gpio87", "gpio88", "gpio89";
		function = "qup2_se2";
		drive-strength = <6>;
		bias-disable;
	};

	qup_i2c18_default: qup-i2c18-state {
		pins = "gpio95", "gpio96";
		function = "qup2_se4";
		drive-strength = <2>;
		bias-pull-up;
	};

	qup_uart12_default: qup-uart12-state {
		qup_uart12_cts: qup-uart12-cts-pins {
			pins = "gpio52";
			function = "qup1_se5";
			bias-disable;
		};

		qup_uart12_rts: qup-uart12-rts-pins {
			pins = "gpio53";
			function = "qup1_se5";
			bias-pull-down;
		};

		qup_uart12_tx: qup-uart12-tx-pins {
			pins = "gpio54";
			function = "qup1_se5";
			bias-pull-up;
		};

		qup_uart12_rx: qup-uart12-rx-pins {
			pins = "gpio55";
			function = "qup1_se5";
			bias-pull-down;
		};
	};

	qup_uart17_default: qup-uart17-state {
		qup_uart17_cts: qup-uart17-cts-pins {
			pins = "gpio91";
			function = "qup2_se3";
			bias-disable;
		};

		qup_uart17_rts: qup0-uart17-rts-pins {
			pins = "gpio92";
			function = "qup2_se3";
			bias-pull-down;
		};

		qup_uart17_tx: qup0-uart17-tx-pins {
			pins = "gpio93";
			function = "qup2_se3";
			bias-pull-up;
		};

		qup_uart17_rx: qup0-uart17-rx-pins {
			pins = "gpio94";
			function = "qup2_se3";
			bias-pull-down;
		};
	};
};

&uart10 {
	compatible = "qcom,geni-debug-uart";
	pinctrl-0 = <&qup_uart10_default>;
	pinctrl-names = "default";
	status = "okay";
};

&uart12 {
	pinctrl-0 = <&qup_uart12_default>;
	pinctrl-names = "default";
	status = "okay";
};

&uart17 {
	pinctrl-0 = <&qup_uart17_default>;
	pinctrl-names = "default";
	status = "okay";
};

&xo_board_clk {
	clock-frequency = <38400000>;
};
