Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 37a6644b authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: Add ADC support for sm6150-pm6125-interposer-trinket"

parents 3160991f d56fad20
Loading
Loading
Loading
Loading
+278 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
 * GNU General Public License for more details.
 */
#include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/iio/qcom,spmi-vadc.h>

&spmi_bus {
	/delete-node/ qcom,pm6150@0;
@@ -441,3 +442,280 @@
	/delete-property/ clocks;
	clocks = <&clock_rpmh RPMH_CXO_CLK>;
};

&pm6125_vadc {
	pinctrl-names = "default";
	pinctrl-0 = <&camera_therm_default &emmc_therm_default>;

	rf_pa0_therm {
		reg = <ADC_AMUX_THM1_PU2>;
		label = "rf_pa0_therm";
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
		qcom,pre-scaling = <1 1>;
	};

	quiet_therm {
		reg = <ADC_AMUX_THM2_PU2>;
		label = "quiet_therm";
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
		qcom,pre-scaling = <1 1>;
	};

	camera_flash_therm {
		reg = <ADC_GPIO1_PU2>;
		label = "camera_flash_therm";
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
		qcom,pre-scaling = <1 1>;
	};

	emmc_ufs_therm {
		reg = <ADC_GPIO3_PU2>;
		label = "emmc_ufs_therm";
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
		qcom,pre-scaling = <1 1>;
	};
};

&pm6125_gpios {
	camera_therm {
		camera_therm_default: camera_therm_default {
			pins = "gpio3";
			bias-high-impedance;
		};
	};

	emmc_therm {
		emmc_therm_default: emmc_therm_default {
			pins = "gpio6";
			bias-high-impedance;
		};
	};
};

&spmi_bus {
	qcom,pm6125@0 {
		pm6125_adc_tm_iio: adc_tm@3400 {
			compatible = "qcom,adc-tm5-iio";
			reg = <0x3400 0x100>;
			#thermal-sensor-cells = <1>;
			io-channels = <&pm6125_vadc ADC_GPIO1_PU2>,
					<&pm6125_vadc ADC_GPIO3_PU2>;

			emmc_ufs_therm {
				reg = <ADC_GPIO1_PU2>;
				qcom,ratiometric;
				qcom,hw-settle-time = <200>;
			};

			camera_flash_therm {
				reg = <ADC_GPIO3_PU2>;
				qcom,ratiometric;
				qcom,hw-settle-time = <200>;
			};
		};
	};
};

&pm6125_adc_tm {
	io-channels = <&pm6125_vadc ADC_AMUX_THM1_PU2>,
			<&pm6125_vadc ADC_AMUX_THM2_PU2>,
			<&pm6125_vadc ADC_XO_THERM_PU2>;

	/* Channel nodes */
	rf_pa0_therm {
		reg = <ADC_AMUX_THM1_PU2>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};

	quiet_therm {
		reg = <ADC_AMUX_THM2_PU2>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};

	xo_therm {
		reg = <ADC_XO_THERM_PU2>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};
};

&pmi632_vadc {
	pinctrl-names = "default";
	pinctrl-0 = <&conn_therm_default &skin_therm_default>;

	xo_therm {
		status = "disabled";
	};

	bat_therm {
		qcom,lut-index = <1>;
	};

	bat_therm_30k {
		qcom,lut-index = <1>;
	};

	bat_therm_400k {
		qcom,lut-index = <1>;
	};

	conn_therm {
		reg = <ADC_GPIO1_PU2>;
		label = "conn_therm";
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
		qcom,pre-scaling = <1 1>;
	};

	skin_therm {
		reg = <ADC_GPIO2_PU2>;
		label = "skin_therm";
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
		qcom,pre-scaling = <1 1>;
	};
};

&pmi632_gpios {
	conn_therm {
		conn_therm_default: conn_therm_default {
			pins = "gpio1";
			bias-high-impedance;
		};
	};

	skin_therm {
		skin_therm_default: skin_therm_default {
			pins = "gpio3";
			bias-high-impedance;
		};
	};
};

&pmi632_adc_tm {
	io-channels = <&pmi632_vadc ADC_GPIO1_PU2>,
			<&pmi632_vadc ADC_VBAT_SNS>,
			<&pmi632_vadc ADC_GPIO2_PU2>;

	/* Channel nodes */
	conn_therm {
		reg = <ADC_GPIO1_PU2>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};

	vbat_sns {
		reg = <ADC_VBAT_SNS>;
		qcom,kernel-client;
		qcom,scale-type = <0>;
		qcom,prescaling = <3>;
	};

	skin_therm {
		reg = <ADC_GPIO2_PU2>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};
};

&thermal_zones {

	/delete-node/ sdm-therm;
	/delete-node/ conn-therm;
	/delete-node/ xo-therm;
	/delete-node/ emmc_ufs-therm;
	/delete-node/ rf_pa0_therm-therm;
	/delete-node/ camera_flash-therm;
	/delete-node/ quiet-therm;

	rf-pa0-therm-adc {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pm6125_adc_tm ADC_AMUX_THM1_PU2>;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	quiet-therm-adc {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pm6125_adc_tm ADC_AMUX_THM2_PU2>;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	xo-therm-adc {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pm6125_adc_tm ADC_XO_THERM_PU2>;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	conn-therm-adc {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pmi632_adc_tm ADC_GPIO1_PU2>;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	skin-therm-adc {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pmi632_adc_tm ADC_GPIO2_PU2>;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	emmc-ufs-therm-adc {
		polling-delay-passive = <0>;
		polling-delay = <5000>;
		thermal-governor = "user_space";
		thermal-sensors = <&pm6125_adc_tm_iio ADC_GPIO1_PU2>;
	};

	camera-ftherm-adc {
		polling-delay-passive = <0>;
		polling-delay = <5000>;
		thermal-governor = "user_space";
		thermal-sensors = <&pm6125_adc_tm_iio ADC_GPIO3_PU2>;
	};

};