// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2020, Linaro Ltd.
 */

/dts-v1/;

#include <dt-bindings/leds/common.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/sound/qcom,q6afe.h>
#include <dt-bindings/sound/qcom,q6asm.h>
#include "sm8250.dtsi"
#include "pm8150.dtsi"
#include "pm8150b.dtsi"
#include "pm8150l.dtsi"

/ {
	model = "Qualcomm Technologies, Inc. Robotics RB5";
	compatible = "qcom,qrb5165-rb5", "qcom,sm8250";
	qcom,msm-id = <455 0x20001>;
	qcom,board-id = <11 3>;

	aliases {
		serial0 = &uart12;
		sdhc2 = &sdhc_2;
	};

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

	/* Fixed crystal oscillator dedicated to MCP2518FD */
	clk40M: can-clock {
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <40000000>;
	};

	dc12v: dc12v-regulator {
		compatible = "regulator-fixed";
		regulator-name = "DC12V";
		regulator-min-microvolt = <12000000>;
		regulator-max-microvolt = <12000000>;
		regulator-always-on;
	};

	hdmi-out {
		compatible = "hdmi-connector";
		type = "a";

		port {
			hdmi_con: endpoint {
				remote-endpoint = <&lt9611_out>;
			};
		};
	};

	leds {
		compatible = "gpio-leds";

		led-user4 {
			label = "green:user4";
			function = LED_FUNCTION_INDICATOR;
			color = <LED_COLOR_ID_GREEN>;
			gpios = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "panic-indicator";
			default-state = "off";
		};

		led-wlan {
			label = "yellow:wlan";
			function = LED_FUNCTION_WLAN;
			color = <LED_COLOR_ID_YELLOW>;
			gpios = <&pm8150_gpios 9 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "phy0tx";
			default-state = "off";
		};

		led-bt {
			label = "blue:bt";
			function = LED_FUNCTION_BLUETOOTH;
			color = <LED_COLOR_ID_BLUE>;
			gpios = <&pm8150_gpios 7 GPIO_ACTIVE_HIGH>;
			linux,default-trigger = "bluetooth-power";
			default-state = "off";
		};
	};

	lt9611_1v2: lt9611-vdd12-regulator {
		compatible = "regulator-fixed";
		regulator-name = "LT9611_1V2";

		vin-supply = <&vdc_3v3>;
		regulator-min-microvolt = <1200000>;
		regulator-max-microvolt = <1200000>;
	};

	lt9611_3v3: lt9611-3v3 {
		compatible = "regulator-fixed";
		regulator-name = "LT9611_3V3";

		vin-supply = <&vdc_3v3>;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-boot-on;
		regulator-always-on;
	};

	thermal-zones {
		conn-thermal {
			polling-delay-passive = <0>;
			polling-delay = <0>;
			thermal-sensors = <&pm8150b_adc_tm 0>;

			trips {
				active-config0 {
					temperature = <125000>;
					hysteresis = <1000>;
					type = "critical";
				};
			};
		};

		pm8150l-thermal {
			polling-delay-passive = <0>;
			polling-delay = <0>;
			thermal-sensors = <&pm8150l_adc_tm 1>;

			trips {
				active-config0 {
					temperature = <50000>;
					hysteresis = <4000>;
					type = "passive";
				};
			};
		};

		skin-msm-thermal {
			polling-delay-passive = <0>;
			polling-delay = <0>;
			thermal-sensors = <&pm8150l_adc_tm 0>;

			trips {
				active-config0 {
					temperature = <50000>;
					hysteresis = <4000>;
					type = "passive";
				};
			};
		};

		wifi-thermal {
			polling-delay-passive = <0>;
			polling-delay = <0>;
			thermal-sensors = <&pm8150_adc_tm 1>;

			trips {
				active-config0 {
					temperature = <52000>;
					hysteresis = <4000>;
					type = "passive";
				};
			};
		};

		xo-thermal {
			polling-delay-passive = <0>;
			polling-delay = <0>;
			thermal-sensors = <&pm8150_adc_tm 0>;

			trips {
				active-config0 {
					temperature = <50000>;
					hysteresis = <4000>;
					type = "passive";
				};
			};
		};
	};

	vbat: vbat-regulator {
		compatible = "regulator-fixed";
		regulator-name = "VBAT";
		vin-supply = <&vreg_l11c_3p3>;
		regulator-min-microvolt = <4200000>;
		regulator-max-microvolt = <4200000>;
		regulator-always-on;
	};

	vbat_som: vbat-som-regulator {
		compatible = "regulator-fixed";
		regulator-name = "VBAT_SOM";
		vin-supply = <&dc12v>;
		regulator-min-microvolt = <4200000>;
		regulator-max-microvolt = <4200000>;
		regulator-always-on;
	};

	vdc_3v3: vdc-3v3-regulator {
		compatible = "regulator-fixed";
		regulator-name = "VDC_3V3";
		vin-supply = <&vreg_l11c_3p3>;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		regulator-always-on;
	};

	vdc_5v: vdc-5v-regulator {
		compatible = "regulator-fixed";
		regulator-name = "VDC_5V";

		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
		regulator-always-on;
		vin-supply = <&vreg_l11c_3p3>;
	};

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

	vreg_s4a_1p8: vreg-s4a-1p8 {
		compatible = "regulator-fixed";
		regulator-name = "vreg_s4a_1p8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-always-on;
	};
};

&adsp {
	status = "okay";
	firmware-name = "qcom/sm8250/adsp.mbn";
};

&apps_rsc {
	pm8009-rpmh-regulators {
		compatible = "qcom,pm8009-1-rpmh-regulators";
		qcom,pmic-id = "f";

		vdd-s1-supply = <&vph_pwr>;
		vdd-s2-supply = <&vph_pwr>;
		vdd-l2-supply = <&vreg_s8c_1p3>;
		vdd-l5-l6-supply = <&vreg_bob>;
		vdd-l7-supply = <&vreg_s4a_1p8>;

		vreg_s2f_0p95: smps2 {
			regulator-name = "vreg_s2f_0p95";
			regulator-min-microvolt = <900000>;
			regulator-max-microvolt = <952000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
		};

		vreg_l1f_1p1: ldo1 {
			regulator-name = "vreg_l1f_1p1";
			regulator-min-microvolt = <1104000>;
			regulator-max-microvolt = <1104000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l2f_1p2: ldo2 {
			regulator-name = "vreg_l2f_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l6f_2p8: ldo6 {
			regulator-name = "vreg_l6f_2p8";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

	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-l2-l10-supply = <&vreg_bob>;
		vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
		vdd-l6-l9-supply = <&vreg_s8c_1p3>;
		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
		vdd-l13-l16-l17-supply = <&vreg_bob>;

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

		vreg_l3a_0p9: ldo3 {
			regulator-name = "vreg_l3a_0p9";
			regulator-min-microvolt = <928000>;
			regulator-max-microvolt = <932000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

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

		vreg_l7a_1p7: ldo7 {
			regulator-name = "vreg_l7a_1p7";
			regulator-min-microvolt = <1704000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

		vreg_l10a_1p8: ldo10 {
			regulator-name = "vreg_l10a_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

		vreg_l13a_ts_3p0: ldo13 {
			regulator-name = "vreg_l13a_ts_3p0";
			regulator-min-microvolt = <3008000>;
			regulator-max-microvolt = <3008000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

		vreg_l15a_1p8: ldo15 {
			regulator-name = "vreg_l15a_1p8";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <1800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

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

		vreg_l18a_0p92: ldo18 {
			regulator-name = "vreg_l18a_0p92";
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <912000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

		vreg_s6a_0p95: smps6 {
			regulator-name = "vreg_s6a_0p95";
			regulator-min-microvolt = <920000>;
			regulator-max-microvolt = <1128000>;
			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>;

		vreg_bob: bob {
			regulator-name = "vreg_bob";
			regulator-min-microvolt = <3008000>;
			regulator-max-microvolt = <4000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
		};

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

		vreg_l2c_1p2: ldo2 {
			regulator-name = "vreg_l2c_1p2";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l3c_0p8: ldo3 {
			regulator-name = "vreg_l3c_0p8";
			regulator-min-microvolt = <800000>;
			regulator-max-microvolt = <800000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

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

		vreg_l6c_2p96: ldo6 {
			regulator-name = "vreg_l6c_2p96";
			regulator-min-microvolt = <1800000>;
			regulator-max-microvolt = <2960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

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

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

		vreg_l9c_2p96: ldo9 {
			regulator-name = "vreg_l9c_2p96";
			regulator-min-microvolt = <2704000>;
			regulator-max-microvolt = <2960000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l10c_3p0: ldo10 {
			regulator-name = "vreg_l10c_3p0";
			regulator-min-microvolt = <3000000>;
			regulator-max-microvolt = <3000000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
		};

		vreg_l11c_3p3: ldo11 {
			regulator-name = "vreg_l11c_3p3";
			regulator-min-microvolt = <3296000>;
			regulator-max-microvolt = <3296000>;
			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
			regulator-always-on;
		};

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

&cdsp {
	status = "okay";
	firmware-name = "qcom/sm8250/cdsp.mbn";
};

&dsi0 {
	status = "okay";
	vdda-supply = <&vreg_l9a_1p2>;

#if 0
	qcom,dual-dsi-mode;
	qcom,master-dsi;
#endif

	ports {
		port@1 {
			endpoint {
				remote-endpoint = <&lt9611_a>;
				data-lanes = <0 1 2 3>;
			};
		};
	};
};

&dsi0_phy {
	status = "okay";
	vdds-supply = <&vreg_l5a_0p88>;
};

&gmu {
	status = "okay";
};

&gpu {
	status = "okay";

	zap-shader {
		memory-region = <&gpu_mem>;
		firmware-name = "qcom/sm8250/a650_zap.mbn";
	};
};

/* LS-I2C0 */
&i2c4 {
	status = "okay";
};

&i2c5 {
	status = "okay";
	clock-frequency = <400000>;

	lt9611_codec: hdmi-bridge@2b {
		compatible = "lontium,lt9611uxc";
		reg = <0x2b>;
		#sound-dai-cells = <1>;

		interrupts-extended = <&tlmm 63 IRQ_TYPE_EDGE_FALLING>;

		reset-gpios = <&pm8150l_gpios 5 GPIO_ACTIVE_HIGH>;

		vdd-supply = <&lt9611_1v2>;
		vcc-supply = <&lt9611_3v3>;

		pinctrl-names = "default";
		pinctrl-0 = <&lt9611_irq_pin &lt9611_rst_pin>;

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;

				lt9611_a: endpoint {
					remote-endpoint = <&dsi0_out>;
				};
			};

#if 0
			port@1 {
				reg = <1>;

				lt9611_b: endpoint {
					remote-endpoint = <&dsi1_out>;
				};
			};
#endif

			port@2 {
				reg = <2>;

				lt9611_out: endpoint {
					remote-endpoint = <&hdmi_con>;
				};
			};

		};
	};
};

/* LS-I2C1 */
&i2c15 {
	status = "okay";
};

&mdss {
	status = "okay";
};

&mdss_mdp {
	status = "okay";
};

&pm8150_adc {
	xo-therm@4c {
		reg = <ADC5_XO_THERM_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};

	wifi-therm@4e {
		reg = <ADC5_AMUX_THM2_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};
};

&pm8150_adc_tm {
	status = "okay";

	xo-therm@0 {
		reg = <0>;
		io-channels = <&pm8150_adc ADC5_XO_THERM_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time-us = <200>;
	};

	wifi-therm@1 {
		reg = <1>;
		io-channels = <&pm8150_adc ADC5_AMUX_THM2_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time-us = <200>;
	};
};

&pcie0 {
	status = "okay";
};

&pcie0_phy {
	status = "okay";
	vdda-phy-supply = <&vreg_l5a_0p88>;
	vdda-pll-supply = <&vreg_l9a_1p2>;
};

&pcie1 {
	status = "okay";
};

&pcie1_phy {
	status = "okay";
	vdda-phy-supply = <&vreg_l5a_0p88>;
	vdda-pll-supply = <&vreg_l9a_1p2>;
};

&pcie2 {
	status = "okay";
};

&pcie2_phy {
	status = "okay";
	vdda-phy-supply = <&vreg_l5a_0p88>;
	vdda-pll-supply = <&vreg_l9a_1p2>;
};

&pm8150_gpios {
	gpio-reserved-ranges = <1 1>, <3 2>, <7 1>;
	gpio-line-names =
		"NC",
		"OPTION2",
		"PM_GPIO-F",
		"PM_SLP_CLK_IN",
		"OPTION1",
		"VOL_UP_N",
		"PM8250_GPIO7", /* Blue LED */
		"SP_ARI_PWR_ALARM",
		"GPIO_9_P", /* Yellow LED */
		"GPIO_10_P"; /* Green LED */
};

&pm8150b_adc {
	conn-therm@4f {
		reg = <ADC5_AMUX_THM3_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};
};

&pm8150b_adc_tm {
	status = "okay";

	conn-therm@0 {
		reg = <0>;
		io-channels = <&pm8150b_adc ADC5_AMUX_THM3_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time-us = <200>;
	};
};

&pm8150b_gpios {
	gpio-line-names =
		"NC",
		"NC",
		"NC",
		"NC",
		"HAP_BOOST_EN", /* SOM */
		"SMB_STAT", /* SOM */
		"NC",
		"NC",
		"SDM_FORCE_USB_BOOT",
		"NC",
		"NC",
		"NC";
};

&pm8150l_adc {
	skin-msm-therm@4e {
		reg = <ADC5_AMUX_THM2_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};

	pm8150l-therm@4f {
		reg = <ADC5_AMUX_THM3_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};
};

&pm8150l_adc_tm {
	status = "okay";

	skin-msm-therm@0 {
		reg = <0>;
		io-channels = <&pm8150l_adc ADC5_AMUX_THM2_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time-us = <200>;
	};

	pm8150l-therm@1 {
		reg = <1>;
		io-channels = <&pm8150l_adc ADC5_AMUX_THM3_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time-us = <200>;
	};
};

&pm8150l_gpios {
	gpio-line-names =
		"NC",
		"PM3003A_EN",
		"NC",
		"NC",
		"PM_GPIO5", /* HDMI RST_N */
		"PM_GPIO-A", /* PWM */
		"PM_GPIO7",
		"NC",
		"NC",
		"PM_GPIO-B",
		"NC",
		"PM3003A_MODE";

	lt9611_rst_pin: lt9611-rst-state {
		pins = "gpio5";
		function = "normal";

		output-high;
		input-disable;
		power-source = <0>;
	};
};

&pm8150l_lpg {
	status = "okay";

	#address-cells = <1>;
	#size-cells = <0>;

	led@1 {
		reg = <1>;
		color = <LED_COLOR_ID_GREEN>;
		function = LED_FUNCTION_HEARTBEAT;
		function-enumerator = <3>;

		linux,default-trigger = "heartbeat";
		default-state = "on";
	};

	led@2 {
		reg = <2>;
		color = <LED_COLOR_ID_GREEN>;
		function = LED_FUNCTION_INDICATOR;
		function-enumerator = <2>;
		default-state = "on";
	};

	led@3 {
		reg = <3>;
		color = <LED_COLOR_ID_GREEN>;
		function = LED_FUNCTION_INDICATOR;
		function-enumerator = <1>;
	};
};

&pon_pwrkey {
	status = "okay";
};

&pon_resin {
	status = "okay";

	linux,code = <KEY_VOLUMEDOWN>;
};

&qupv3_id_0 {
	status = "okay";
};

&qupv3_id_1 {
	status = "okay";
};

&qupv3_id_2 {
	status = "okay";
};

&q6afedai {
	dai@16 {
		reg = <PRIMARY_MI2S_RX>;
		qcom,sd-lines = <0 1 2 3>;
	};
};

/* TERT I2S Uses 1 I2S SD Lines for audio on LT9611 HDMI Bridge */
&q6afedai {
	dai@20 {
		reg = <TERTIARY_MI2S_RX>;
		qcom,sd-lines = <0>;
	};
};

&q6asmdai {
	dai@0 {
		reg = <0>;
	};

	dai@1 {
		reg = <1>;
	};

	dai@2 {
		reg = <2>;
	};
};

&sdhc_2 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
	vmmc-supply = <&vreg_l9c_2p96>;
	vqmmc-supply = <&vreg_l6c_2p96>;
	cd-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>;
	bus-width = <4>;
	no-sdio;
	no-mmc;
};

&sound {
	compatible = "qcom,qrb5165-rb5-sndcard";
	pinctrl-0 = <&tert_mi2s_active>;
	pinctrl-names = "default";
	model = "Qualcomm-RB5-WSA8815-Speakers-DMIC0";
	audio-routing =
		"SpkrLeft IN", "WSA_SPK1 OUT",
		"SpkrRight IN", "WSA_SPK2 OUT",
		"VA DMIC0", "vdd-micb",
		"VA DMIC1", "vdd-micb",
		"MM_DL1",  "MultiMedia1 Playback",
		"MM_DL2",  "MultiMedia2 Playback",
		"MultiMedia3 Capture", "MM_UL3";

	mm1-dai-link {
		link-name = "MultiMedia1";
		cpu {
			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA1>;
		};
	};

	mm2-dai-link {
		link-name = "MultiMedia2";
		cpu {
			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA2>;
		};
	};

	mm3-dai-link {
		link-name = "MultiMedia3";
		cpu {
			sound-dai = <&q6asmdai  MSM_FRONTEND_DAI_MULTIMEDIA3>;
		};
	};

	hdmi-dai-link {
		link-name = "HDMI Playback";
		cpu {
			sound-dai = <&q6afedai TERTIARY_MI2S_RX>;
		};

		platform {
			sound-dai = <&q6routing>;
		};

		codec {
			sound-dai = <&lt9611_codec 0>;
		};
	};

	dma-dai-link {
		link-name = "WSA Playback";
		cpu {
			sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
		};

		platform {
			sound-dai = <&q6routing>;
		};

		codec {
			sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 0>;
		};
	};

	va-dai-link {
		link-name = "VA Capture";
		cpu {
			sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
		};

		platform {
			sound-dai = <&q6routing>;
		};

		codec {
			sound-dai = <&vamacro 0>;
		};
	};
};

/* CAN */
&spi0 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&qup_spi0_data_clk>, <&qup_spi0_cs_gpio>;
	cs-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>;

	can@0 {
		compatible = "microchip,mcp2518fd";
		reg = <0>;
		clocks = <&clk40M>;
		interrupts-extended = <&tlmm 15 IRQ_TYPE_LEVEL_LOW>;
		spi-max-frequency = <10000000>;
		vdd-supply = <&vdc_5v>;
		xceiver-supply = <&vdc_5v>;
	};
};

&swr0 {
	left_spkr: speaker@0,3 {
		compatible = "sdw10217211000";
		reg = <0 3>;
		powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>;
		#thermal-sensor-cells = <0>;
		sound-name-prefix = "SpkrLeft";
		#sound-dai-cells = <0>;
	};

	right_spkr: speaker@0,4 {
		compatible = "sdw10217211000";
		reg = <0 4>;
		powerdown-gpios = <&tlmm 130 GPIO_ACTIVE_HIGH>;
		#thermal-sensor-cells = <0>;
		sound-name-prefix = "SpkrRight";
		#sound-dai-cells = <0>;
	};
};

&tlmm {
	gpio-reserved-ranges = <40 4>;
	gpio-line-names =
		"GPIO-MM",
		"GPIO-NN",
		"GPIO-OO",
		"GPIO-PP",
		"GPIO-A",
		"GPIO-C",
		"GPIO-E",
		"GPIO-D",
		"I2C0-SDA",
		"I2C0-SCL",
		"GPIO-TT", /* GPIO_10 */
		"NC",
		"GPIO_12_I2C_SDA",
		"GPIO_13_I2C_SCL",
		"GPIO-X",
		"GPIO_15_RGMII_INT",
		"HST_BT_UART_CTS",
		"HST_BT_UART_RFR",
		"HST_BT_UART_TX",
		"HST_BT_UART_RX",
		"HST_WLAN_EN", /* GPIO_20 */
		"HST_BT_EN",
		"GPIO-AAA",
		"GPIO-BBB",
		"GPIO-CCC",
		"GPIO-Z",
		"GPIO-DDD",
		"GPIO-BB",
		"GPIO_28_CAN_SPI_MISO",
		"GPIO_29_CAN_SPI_MOSI",
		"GPIO_30_CAN_SPI_CLK", /* GPIO_30 */
		"GPIO_31_CAN_SPI_CS",
		"GPIO-UU",
		"NC",
		"UART1_TXD_SOM",
		"UART1_RXD_SOM",
		"UART0_CTS",
		"UART0_RTS",
		"UART0_TXD",
		"UART0_RXD",
		"SPI1_MISO", /* GPIO_40 */
		"SPI1_MOSI",
		"SPI1_CLK",
		"SPI1_CS",
		"I2C1_SDA",
		"I2C1_SCL",
		"GPIO-F",
		"GPIO-JJ",
		"Board_ID1",
		"Board_ID2",
		"NC", /* GPIO_50 */
		"NC",
		"SPI0_MISO",
		"SPI0_MOSI",
		"SPI0_SCLK",
		"SPI0_CS",
		"GPIO-QQ",
		"GPIO-RR",
		"USB2LAN_RESET",
		"USB2LAN_EXTWAKE",
		"NC", /* GPIO_60 */
		"NC",
		"NC",
		"LT9611_INT",
		"GPIO-AA",
		"USB_CC_DIR",
		"GPIO-G",
		"GPIO-LL",
		"USB_DP_HPD_1P8",
		"NC",
		"NC", /* GPIO_70 */
		"SD_CMD",
		"SD_DAT3",
		"SD_SCLK",
		"SD_DAT2",
		"SD_DAT1",
		"SD_DAT0", /* BOOT_CFG3 */
		"SD_UFS_CARD_DET_N",
		"GPIO-II",
		"PCIE0_RST_N",
		"PCIE0_CLK_REQ_N", /* GPIO_80 */
		"PCIE0_WAKE_N",
		"GPIO-CC",
		"GPIO-DD",
		"GPIO-EE",
		"GPIO-FF",
		"GPIO-GG",
		"GPIO-HH",
		"GPIO-VV",
		"GPIO-WW",
		"NC", /* GPIO_90 */
		"NC",
		"GPIO-K",
		"GPIO-I",
		"CSI0_MCLK",
		"CSI1_MCLK",
		"CSI2_MCLK",
		"CSI3_MCLK",
		"GPIO-AA", /* CSI4_MCLK */
		"GPIO-BB", /* CSI5_MCLK */
		"GPIO-KK", /* GPIO_100 */
		"CCI_I2C_SDA0",
		"CCI_I2C_SCL0",
		"CCI_I2C_SDA1",
		"CCI_I2C_SCL1",
		"CCI_I2C_SDA2",
		"CCI_I2C_SCL2",
		"CCI_I2C_SDA3",
		"CCI_I2C_SCL3",
		"GPIO-L",
		"NC", /* GPIO_110 */
		"NC",
		"ACCEL_INT",
		"GYRO_INT",
		"GPIO-J",
		"GPIO-YY",
		"GPIO-H",
		"GPIO-ZZ",
		"NC",
		"NC",
		"NC", /* GPIO_120 */
		"NC",
		"MAG_INT",
		"MAG_DRDY_INT",
		"HST_SW_CTRL",
		"GPIO-M",
		"GPIO-N",
		"GPIO-O",
		"GPIO-P",
		"PS_INT",
		"WSA1_EN", /* GPIO_130 */
		"USB_HUB_RESET",
		"SDM_FORCE_USB_BOOT",
		"I2S1_CLK_HDMI",
		"I2S1_DATA0_HDMI",
		"I2S1_WS_HDMI",
		"GPIO-B",
		"GPIO_137", /* To LT9611_I2S_MCLK_3V3 */
		"PCM_CLK",
		"PCM_DI",
		"PCM_DO", /* GPIO_140 */
		"PCM_FS",
		"HST_SLIM_CLK",
		"HST_SLIM_DATA",
		"GPIO-U",
		"GPIO-Y",
		"GPIO-R",
		"GPIO-Q",
		"GPIO-S",
		"GPIO-T",
		"GPIO-V", /* GPIO_150 */
		"GPIO-W",
		"DMIC_CLK1",
		"DMIC_DATA1",
		"DMIC_CLK2",
		"DMIC_DATA2",
		"WSA_SWR_CLK",
		"WSA_SWR_DATA",
		"DMIC_CLK3",
		"DMIC_DATA3",
		"I2C4_SDA", /* GPIO_160 */
		"I2C4_SCL",
		"SPI3_CS1",
		"SPI3_CS2",
		"SPI2_MISO_LS3",
		"SPI2_MOSI_LS3",
		"SPI2_CLK_LS3",
		"SPI2_ACCEL_CS_LS3",
		"SPI2_CS1",
		"NC",
		"GPIO-SS", /* GPIO_170 */
		"GPIO-XX",
		"SPI3_MISO",
		"SPI3_MOSI",
		"SPI3_CLK",
		"SPI3_CS",
		"HST_BLE_SNS_UART_TX",
		"HST_BLE_SNS_UART_RX",
		"HST_WLAN_UART_TX",
		"HST_WLAN_UART_RX";

	lt9611_irq_pin: lt9611-irq-state {
		pins = "gpio63";
		function = "gpio";
		bias-disable;
	};

	sdc2_default_state: sdc2-default-state {
		clk-pins {
			pins = "sdc2_clk";
			bias-disable;
			drive-strength = <16>;
		};

		cmd-pins {
			pins = "sdc2_cmd";
			bias-pull-up;
			drive-strength = <10>;
		};

		data-pins {
			pins = "sdc2_data";
			bias-pull-up;
			drive-strength = <10>;
		};
	};

	sdc2_card_det_n: sd-card-det-n-state {
		pins = "gpio77";
		function = "gpio";
		bias-pull-up;
	};
};

&uart12 {
	status = "okay";
};

&ufs_mem_hc {
	status = "okay";

	vcc-supply = <&vreg_l17a_3p0>;
	vcc-max-microamp = <800000>;
	vccq-supply = <&vreg_l6a_1p2>;
	vccq-max-microamp = <800000>;
	vccq2-supply = <&vreg_s4a_1p8>;
	vccq2-max-microamp = <800000>;
};

&ufs_mem_phy {
	status = "okay";

	vdda-phy-supply = <&vreg_l5a_0p88>;
	vdda-pll-supply = <&vreg_l9a_1p2>;
};

&usb_1 {
	status = "okay";
};

&usb_1_dwc3 {
	dr_mode = "peripheral";
};

&usb_1_hsphy {
	status = "okay";

	vdda-pll-supply = <&vreg_l5a_0p88>;
	vdda33-supply = <&vreg_l2a_3p1>;
	vdda18-supply = <&vreg_l12a_1p8>;
};

&usb_1_qmpphy {
	status = "okay";

	vdda-phy-supply = <&vreg_l9a_1p2>;
	vdda-pll-supply = <&vreg_l18a_0p92>;
};

&usb_2 {
	status = "okay";
};

&usb_2_dwc3 {
	dr_mode = "host";
};

&usb_2_hsphy {
	status = "okay";

	vdda-pll-supply = <&vreg_l5a_0p88>;
	vdda33-supply = <&vreg_l2a_3p1>;
	vdda18-supply = <&vreg_l12a_1p8>;
};

&usb_2_qmpphy {
	status = "okay";

	vdda-phy-supply = <&vreg_l9a_1p2>;
	vdda-pll-supply = <&vreg_l18a_0p92>;
};

&vamacro {
	pinctrl-0 = <&dmic01_active>;
	pinctrl-names = "default";
	vdd-micb-supply = <&vreg_s4a_1p8>;
	qcom,dmic-sample-rate = <600000>;
};

&venus {
	status = "okay";
};

/* PINCTRL - additions to nodes defined in sm8250.dtsi */
&qup_spi0_cs_gpio {
	drive-strength = <6>;
	bias-disable;
};

&qup_spi0_data_clk {
	drive-strength = <6>;
	bias-disable;
};
