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

Commit 18bfefb9 authored by Jishnu Prakash's avatar Jishnu Prakash
Browse files

ARM: dts: msm: Add platform-specific PMIC changes for yupik

Add PMIC support for yupik ATP, IDP and QRD platforms, including
PM7325B for IDP and PM8350B for ATP and QRD. Include platform-specific
changes for some devices like VADC, ADC_TM, battery_charger and
volume up key.

Change-Id: Ia9709a39b1412daffb0cf1df683dfd5a2b90fc92
parent 30e6c72a
Loading
Loading
Loading
Loading
+164 −0
Original line number Diff line number Diff line
#include <dt-bindings/gpio/gpio.h>
#include "yupik-pmic-overlay.dtsi"
#include "pm8350b.dtsi"

&soc {
	gpio_keys {
		compatible = "gpio-keys";
		label = "gpio-keys";

		pinctrl-names = "default";
		pinctrl-0 = <&key_vol_up_default>;

		vol_up {
			label = "volume_up";
			gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
			linux,input-type = <1>;
			linux,code = <KEY_VOLUMEUP>;
			gpio-key,wakeup;
			debounce-interval = <15>;
			linux,can-disable;
		};
	};
};

&pmk8350_vadc {
	pm8350b_ref_gnd {
		reg = <PM8350B_ADC7_REF_GND>;
		label = "pm8350b_ref_gnd";
		qcom,pre-scaling = <1 1>;
	};

	pm8350b_vref_1p25 {
		reg = <PM8350B_ADC7_1P25VREF>;
		label = "pm8350b_vref_1p25";
		qcom,pre-scaling = <1 1>;
	};

	pm8350b_die_temp {
		reg = <PM8350B_ADC7_DIE_TEMP>;
		label = "pm8350b_die_temp";
		qcom,pre-scaling = <1 1>;
	};

	pm8350b_vph_pwr {
		reg = <PM8350B_ADC7_VPH_PWR>;
		label = "pm8350b_vph_pwr";
		qcom,pre-scaling = <1 3>;
	};

	pm8350b_vbat_sns {
		reg = <PM8350B_ADC7_VBAT_SNS>;
		label = "pm8350b_vbat_sns";
		qcom,pre-scaling = <1 3>;
	};

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

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

&pmk8350_adc_tm {
	io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>,
			<&pmk8350_vadc PM7325_ADC7_AMUX_THM2_100K_PU>,
			<&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>,
			<&pmk8350_vadc PM7325_ADC7_AMUX_THM4_100K_PU>,
			<&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>,
			<&pmk8350_vadc PM8350B_ADC7_AMUX_THM4_100K_PU>,
			<&pmk8350_vadc PM8350B_ADC7_GPIO2_100K_PU>;

	pm8350b_usb_conn_therm {
		reg = <PM8350B_ADC7_AMUX_THM4_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};

	pm8350b_chg_skin_therm {
		reg = <PM8350B_ADC7_GPIO2_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};
};

&thermal_zones {
	conn-therm-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pmk8350_adc_tm PM8350B_ADC7_AMUX_THM4_100K_PU>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	charger-therm-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pmk8350_adc_tm PM8350B_ADC7_GPIO2_100K_PU>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};
};

&spmi_debug_bus {
	status = "ok";
};

&spmi_glink_debug {
	status = "ok";
};

&pm8350b_haptics {
	status = "ok";
};

&battery_charger {
	qcom,thermal-mitigation = <3000000 1500000 1000000 500000>;
};

&pm8350b_tz {
	io-channels = <&pmk8350_vadc PM8350B_ADC7_DIE_TEMP>;
	io-channel-names = "thermal";
};

&pm8008i_chip {
	status = "disabled";
};

&pm8008i_ldo {
	status = "disabled";
};

&pm8008j_chip {
	status = "disabled";
};

&pm8008j_ldo {
	status = "disabled";
};

&pm8350c_flash {
	status = "disabled";
};
+191 −0
Original line number Diff line number Diff line
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/iio/qcom,spmi-adc7-pm7325b.h>
#include <dt-bindings/iio/qcom,spmi-adc7-smb139x.h>
#include "yupik-pmic-overlay.dtsi"
#include "pm7325b.dtsi"

&soc {
	gpio_keys {
		compatible = "gpio-keys";
		label = "gpio-keys";

		pinctrl-names = "default";
		pinctrl-0 = <&key_vol_up_default>;

		vol_up {
			label = "volume_up";
			gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
			linux,input-type = <1>;
			linux,code = <KEY_VOLUMEUP>;
			gpio-key,wakeup;
			debounce-interval = <15>;
			linux,can-disable;
		};
	};
};

&pmk8350_vadc {
	pm7325b_ref_gnd {
		reg = <PM7325B_ADC7_REF_GND>;
		label = "pm7325b_ref_gnd";
		qcom,pre-scaling = <1 1>;
	};

	pm7325b_vref_1p25 {
		reg = <PM7325B_ADC7_1P25VREF>;
		label = "pm7325b_vref_1p25";
		qcom,pre-scaling = <1 1>;
	};

	pm7325b_die_temp {
		reg = <PM7325B_ADC7_DIE_TEMP>;
		label = "pm7325b_die_temp";
		qcom,pre-scaling = <1 1>;
	};

	pm7325b_vph_pwr {
		reg = <PM7325B_ADC7_VPH_PWR>;
		label = "pm7325b_vph_pwr";
		qcom,pre-scaling = <1 3>;
	};

	pm7325b_vbat_sns {
		reg = <PM7325B_ADC7_VBAT_SNS>;
		label = "pm7325b_vbat_sns";
		qcom,pre-scaling = <1 3>;
	};

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

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

	pm7325b_chg_temp {
		reg = <PM7325B_ADC7_CHG_TEMP>;
		label = "pm7325b_chg_temp";
		qcom,pre-scaling = <1 1>;
	};

	pm7325b_ichg_fb {
		reg = <PM7325B_ADC7_ICHG_FB>;
		label = "pm7325b_ichg_fb";
		qcom,pre-scaling = <1000 305185>;
	};

	smb139x_1_smb_temp {
		reg = <SMB139x_1_ADC7_SMB_TEMP>;
		label = "smb139x_1_smb_temp";
		qcom,pre-scaling = <1 1>;
	};

	smb139x_2_smb_temp {
		reg = <SMB139x_2_ADC7_SMB_TEMP>;
		label = "smb139x_2_smb_temp";
		qcom,pre-scaling = <1 1>;
	};

	pm7325b_iin_fb {
		reg = <PM7325B_ADC7_SMB_IIN_IN>;
		label = "pm7325b_iin_fb";
		qcom,pre-scaling = <32 100>;
	};
};

&pmk8350_adc_tm {
	io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>,
			<&pmk8350_vadc PM7325_ADC7_AMUX_THM2_100K_PU>,
			<&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>,
			<&pmk8350_vadc PM7325_ADC7_AMUX_THM4_100K_PU>,
			<&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>,
			<&pmk8350_vadc PM7325B_ADC7_AMUX_THM4_100K_PU>,
			<&pmk8350_vadc PM7325B_ADC7_GPIO2_100K_PU>;

	pm7325b_usb_conn_therm {
		reg = <PM7325B_ADC7_AMUX_THM4_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};

	pm7325b_chg_skin_therm {
		reg = <PM7325B_ADC7_GPIO2_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};
};

&thermal_zones {
	conn-therm-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pmk8350_adc_tm PM7325B_ADC7_AMUX_THM4_100K_PU>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	charger-therm-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pmk8350_adc_tm PM7325B_ADC7_GPIO2_100K_PU>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};
};

&spmi_debug_bus {
	status = "ok";
};

&spmi_glink_debug {
	status = "ok";
};

&pm8350c_switch0 {
	qcom,led-mask = <9>; /* Channels 1 & 4 */
	qcom,symmetry-en;
};

&pm8350c_switch1 {
	qcom,led-mask = <6>; /* Channels 2 & 3 */
	qcom,symmetry-en;
};

&pm8350c_switch2 {
	qcom,led-mask = <15>; /* All Channels */
	qcom,symmetry-en;
};

&pm8350c_flash {
	status = "ok";
};

&battery_charger {
	qcom,thermal-mitigation = <3000000 1500000 1000000 500000>;
};

&pm7325b_tz {
	io-channels = <&pmk8350_vadc PM7325B_ADC7_DIE_TEMP>;
	io-channel-names = "thermal";
};
+284 −0
Original line number Diff line number Diff line
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/iio/qcom,spmi-adc7-smb139x.h>
#include "yupik-pmic-overlay.dtsi"
#include "pm8350b.dtsi"

&soc {
	gpio_keys {
		compatible = "gpio-keys";
		label = "gpio-keys";

		pinctrl-names = "default";
		pinctrl-0 = <&key_vol_up_default>;

		vol_up {
			label = "volume_up";
			gpios = <&pm7325_gpios 6 GPIO_ACTIVE_LOW>;
			linux,input-type = <1>;
			linux,code = <KEY_VOLUMEUP>;
			gpio-key,wakeup;
			debounce-interval = <15>;
			linux,can-disable;
		};
	};
};

&pmk8350_vadc {
	pm8350b_ref_gnd {
		reg = <PM8350B_ADC7_REF_GND>;
		label = "pm8350b_ref_gnd";
		qcom,pre-scaling = <1 1>;
	};

	pm8350b_vref_1p25 {
		reg = <PM8350B_ADC7_1P25VREF>;
		label = "pm8350b_vref_1p25";
		qcom,pre-scaling = <1 1>;
	};

	pm8350b_die_temp {
		reg = <PM8350B_ADC7_DIE_TEMP>;
		label = "pm8350b_die_temp";
		qcom,pre-scaling = <1 1>;
	};

	pm8350b_vph_pwr {
		reg = <PM8350B_ADC7_VPH_PWR>;
		label = "pm8350b_vph_pwr";
		qcom,pre-scaling = <1 3>;
	};

	pm8350b_vbat_sns {
		reg = <PM8350B_ADC7_VBAT_SNS>;
		label = "pm8350b_vbat_sns";
		qcom,pre-scaling = <1 3>;
	};

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

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

	pm8350b_chg_temp {
		reg = <PM8350B_ADC7_CHG_TEMP>;
		label = "pm8350b_chg_temp";
		qcom,pre-scaling = <1 1>;
	};

	pm8350b_iin_fb {
		reg = <PM8350B_ADC7_IIN_FB>;
		label = "pm8350b_iin_fb";
		qcom,pre-scaling = <32 100>;
	};

	pm8350b_ichg_fb {
		reg = <PM8350B_ADC7_ICHG_FB>;
		label = "pm8350b_ichg_fb";
		qcom,pre-scaling = <1000 305185>;
	};

	smb139x_1_smb_temp {
		reg = <SMB139x_1_ADC7_SMB_TEMP>;
		label = "smb139x_1_smb_temp";
		qcom,pre-scaling = <1 1>;
	};

	smb139x_1_ichg_smb {
		reg = <SMB139x_1_ADC7_ICHG_SMB>;
		label = "smb139x_1_ichg_smb";
		qcom,pre-scaling = <14 100>;
	};

	smb139x_1_ichg_smb_pt {
		reg = <SMB139x_1_ADC7_ICHG_SMB>;
		label = "smb139x_1_ichg_smb_pt";
		qcom,pre-scaling = <32 100>;
	};

	smb139x_1_iin_smb {
		reg = <SMB139x_1_ADC7_IIN_SMB>;
		label = "smb139x_1_iin_smb";
		qcom,pre-scaling = <28 100>;
	};

	smb139x_2_smb_temp {
		reg = <SMB139x_2_ADC7_SMB_TEMP>;
		label = "smb139x_2_smb_temp";
		qcom,pre-scaling = <1 1>;
	};

	smb139x_2_ichg_smb {
		reg = <SMB139x_2_ADC7_ICHG_SMB>;
		label = "smb139x_2_ichg_smb";
		qcom,pre-scaling = <14 100>;
	};

	smb139x_2_ichg_smb_pt {
		reg = <SMB139x_2_ADC7_ICHG_SMB>;
		label = "smb139x_2_ichg_smb_pt";
		qcom,pre-scaling = <32 100>;
	};

	smb139x_2_iin_smb {
		reg = <SMB139x_2_ADC7_IIN_SMB>;
		label = "smb139x_2_iin_smb";
		qcom,pre-scaling = <28 100>;
	};
};

&pmk8350_adc_tm {
	io-channels = <&pmk8350_vadc PM7325_ADC7_AMUX_THM1_100K_PU>,
			<&pmk8350_vadc PM7325_ADC7_AMUX_THM2_100K_PU>,
			<&pmk8350_vadc PM7325_ADC7_AMUX_THM3_100K_PU>,
			<&pmk8350_vadc PM7325_ADC7_AMUX_THM4_100K_PU>,
			<&pmk8350_vadc PMK8350_ADC7_AMUX_THM1_100K_PU>,
			<&pmk8350_vadc PM8350B_ADC7_AMUX_THM4_100K_PU>,
			<&pmk8350_vadc PM8350B_ADC7_GPIO2_100K_PU>;

	pm8350b_usb_conn_therm {
		reg = <PM8350B_ADC7_AMUX_THM4_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};

	pm8350b_chg_skin_therm {
		reg = <PM8350B_ADC7_GPIO2_100K_PU>;
		qcom,ratiometric;
		qcom,hw-settle-time = <200>;
	};
};

&thermal_zones {
	conn-therm-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pmk8350_adc_tm PM8350B_ADC7_AMUX_THM4_100K_PU>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};

	charger-therm-usr {
		polling-delay-passive = <0>;
		polling-delay = <0>;
		thermal-governor = "user_space";
		thermal-sensors = <&pmk8350_adc_tm PM8350B_ADC7_GPIO2_100K_PU>;
		wake-capable-sensor;
		trips {
			active-config0 {
				temperature = <125000>;
				hysteresis = <1000>;
				type = "passive";
			};
		};
	};
};

&spmi_debug_bus {
	status = "ok";
};

&spmi_glink_debug {
	status = "ok";
};

&pm8350c_switch0 {
	qcom,led-mask = <9>; /* Channels 1 & 4 */
	qcom,symmetry-en;
};

&pm8350c_switch1 {
	qcom,led-mask = <6>; /* Channels 2 & 3 */
	qcom,symmetry-en;
};

&pm8350c_switch2 {
	qcom,led-mask = <15>; /* All Channels */
	qcom,symmetry-en;
};

&pm8350c_flash {
	status = "ok";
};

&pmk8350_sdam_2 {
	hap_cl_brake: cl_brake@7c {
		reg = <0x7c 0x1>;
		bits = <0 8>;
	};
};

&pm8350b_haptics {
	nvmem-cell-names = "hap_cl_brake";
	nvmem-cells = <&hap_cl_brake>;
	nvmem-names = "hap_cfg_sdam";
	nvmem = <&pmk8350_sdam_46>;
	qcom,pbs-client = <&pm8350b_pbs2>;

	qcom,vmax-mv = <1300>;
	qcom,lra-period-us = <5880>;
	status = "ok";

	effect_0 {
		/* CLICK */
		qcom,wf-vmax-mv = <1800>;
		qcom,wf-pattern-period-us = <5880>;
	};

	effect_1 {
		/* DOUBLE_CLICK */
		qcom,wf-vmax-mv = <1800>;
		qcom,wf-pattern-period-us = <5880>;
	};

	effect_2 {
		/* TICK */
		qcom,wf-vmax-mv = <1800>;
		qcom,wf-pattern-period-us = <5880>;
	};

	effect_3 {
		/* THUD */
		qcom,wf-vmax-mv = <1800>;
		qcom,wf-pattern-period-us = <5880>;
	};

	effect_4 {
		/* POP */
		qcom,wf-vmax-mv = <1800>;
		qcom,wf-pattern-period-us = <5880>;
	};

	effect_5 {
		/* HEAVY CLICK */
		qcom,wf-vmax-mv = <1800>;
		qcom,wf-pattern-period-us = <5880>;
	};
};

&battery_charger {
	qcom,thermal-mitigation = <10000000 9500000 9000000 8500000 8000000
				7500000 7000000 6500000 6000000 5500000
				5000000 4500000 4000000 3500000 3000000
				2500000 2000000 1500000 1000000 500000>;
};

&pm8350b_tz {
	io-channels = <&pmk8350_vadc PM8350B_ADC7_DIE_TEMP>;
	io-channel-names = "thermal";
};