mirror of
				https://github.com/oplus-giulia-dev/android_kernel_oneplus_sm8650-devicetrees
				synced 2025-11-04 06:44:04 +08:00 
			
		
		
		
	Add Goodix touch driver device node on blair for CDP platform. Change-Id: I99c6e9e1539c1c9bd2e7566563fc19f453ef1ffd
		
			
				
	
	
		
			391 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			391 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#include <dt-bindings/gpio/gpio.h>
 | 
						|
#include <dt-bindings/clock/qcom,gcc-blair.h>
 | 
						|
#include <dt-bindings/input/linux-event-codes.h>
 | 
						|
#include "blair-pmic-overlay-pm6125.dtsi"
 | 
						|
#include "holi-pm7250b.dtsi"
 | 
						|
#include <dt-bindings/iio/qti_power_supply_iio.h>
 | 
						|
 | 
						|
 | 
						|
&ufsphy_mem {
 | 
						|
	compatible = "qcom,ufs-phy-qmp-v4-blair";
 | 
						|
 | 
						|
	/* VDDA_UFS_CORE */
 | 
						|
	vdda-phy-supply = <&L7A>;
 | 
						|
	vdda-phy-max-microamp = <85700>;
 | 
						|
 | 
						|
	/* VDDA_UFS_0_1P2 */
 | 
						|
	vdda-pll-supply = <&L4A>;
 | 
						|
	vdda-pll-max-microamp = <18300>;
 | 
						|
 | 
						|
	status = "ok";
 | 
						|
};
 | 
						|
 | 
						|
&ufshc_mem {
 | 
						|
	vdd-hba-supply = <&gcc_ufs_phy_gdsc>;
 | 
						|
	vdd-hba-fixed-regulator;
 | 
						|
 | 
						|
	vcc-supply = <&L24A>;
 | 
						|
	vcc-max-microamp = <800000>;
 | 
						|
 | 
						|
	vccq2-supply = <&L11A>;
 | 
						|
	vccq2-max-microamp = <800000>;
 | 
						|
 | 
						|
	/* VDD_PX10 is voted for the ufs_reset_n */
 | 
						|
	qcom,vddp-ref-clk-supply = <&L4A>;
 | 
						|
	qcom,vddp-ref-clk-max-microamp = <100>;
 | 
						|
 | 
						|
	reset-gpios = <&tlmm 156 GPIO_ACTIVE_LOW>;
 | 
						|
	resets = <&gcc GCC_UFS_PHY_BCR>;
 | 
						|
	reset-names = "rst";
 | 
						|
 | 
						|
	status = "ok";
 | 
						|
};
 | 
						|
 | 
						|
&sdhc_1 {
 | 
						|
	status = "ok";
 | 
						|
 | 
						|
	pinctrl-names = "default", "sleep";
 | 
						|
	pinctrl-0 = <&sdc1_on>;
 | 
						|
	pinctrl-1 = <&sdc1_off>;
 | 
						|
 | 
						|
	vdd-supply = <&L24A>;
 | 
						|
	qcom,vdd-voltage-level = <2960000 2960000>;
 | 
						|
	qcom,vdd-current-level = <0 570000>;
 | 
						|
 | 
						|
	vdd-io-supply = <&L11A>;
 | 
						|
	qcom,vdd-io-always-on;
 | 
						|
	qcom,vdd-io-lpm-sup;
 | 
						|
	qcom,vdd-io-voltage-level = <1800000 1800000>;
 | 
						|
	qcom,vdd-io-current-level = <0 325000>;
 | 
						|
};
 | 
						|
 | 
						|
&sdhc_2 {
 | 
						|
	status = "ok";
 | 
						|
 | 
						|
	pinctrl-names = "default", "sleep";
 | 
						|
	pinctrl-0 = <&sdc2_on>;
 | 
						|
	pinctrl-1 = <&sdc2_off>;
 | 
						|
 | 
						|
	vdd-supply = <&L22A>;
 | 
						|
	qcom,vdd-voltage-level = <2960000 2960000>;
 | 
						|
	qcom,vdd-current-level = <0 800000>;
 | 
						|
 | 
						|
	vdd-io-supply = <&L5A>;
 | 
						|
	qcom,vdd-io-voltage-level = <1800000 2960000>;
 | 
						|
	qcom,vdd-io-current-level = <0 22000>;
 | 
						|
 | 
						|
	cd-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
 | 
						|
};
 | 
						|
 | 
						|
&soc {
 | 
						|
	touch_avdd: touch_avdd_stub {
 | 
						|
		/*
 | 
						|
		 * Touch eLDO controlled by gpio#53 is always ON.
 | 
						|
		 * Using dummy regulator.
 | 
						|
		 */
 | 
						|
		compatible = "qcom,stub-regulator";
 | 
						|
		regulator-name = "touch_avdd_stub";
 | 
						|
		qcom,hpm-min-load = <10000>;
 | 
						|
		regulator-min-microvolt = <2700000>;
 | 
						|
		regulator-max-microvolt = <3544000>;
 | 
						|
	};
 | 
						|
 | 
						|
	gpio_keys {
 | 
						|
		compatible = "gpio-keys";
 | 
						|
		label = "gpio-keys";
 | 
						|
 | 
						|
		pinctrl-names = "default";
 | 
						|
		pinctrl-0 = <&key_vol_up_default>;
 | 
						|
 | 
						|
		vol_up {
 | 
						|
			label = "volume_up";
 | 
						|
			gpios = <&pmr735a_gpios 1 GPIO_ACTIVE_LOW>;
 | 
						|
			linux,input-type = <1>;
 | 
						|
			linux,code = <KEY_VOLUMEUP>;
 | 
						|
			gpio-key,wakeup;
 | 
						|
			debounce-interval = <15>;
 | 
						|
			linux,can-disable;
 | 
						|
		};
 | 
						|
	};
 | 
						|
};
 | 
						|
 | 
						|
&qupv3_se8_i2c {
 | 
						|
	#address-cells = <1>;
 | 
						|
	#size-cells = <0>;
 | 
						|
	status = "okay";
 | 
						|
	qcom,i2c-touch-active= "synaptics,tcm-i2c";
 | 
						|
 | 
						|
	synaptics_tcm@20 {
 | 
						|
		compatible = "synaptics,tcm-i2c";
 | 
						|
		reg = <0x20>;
 | 
						|
		interrupt-parent = <&tlmm>;
 | 
						|
		interrupts = <22 0x2008>;
 | 
						|
		pinctrl-names = "pmx_ts_active","pmx_ts_suspend",
 | 
						|
					"pmx_ts_release";
 | 
						|
		pinctrl-0 = <&ts_active>;
 | 
						|
		pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
 | 
						|
		pinctrl-2 = <&pmx_ts_release>;
 | 
						|
		vdd-supply = <&L9A>;
 | 
						|
		avdd-supply = <&touch_avdd>;
 | 
						|
		synaptics,pwr-reg-name = "avdd";
 | 
						|
		synaptics,bus-reg-name = "vdd";
 | 
						|
		synaptics,irq-gpio = <&tlmm 22 0x2008>;
 | 
						|
		synaptics,irq-on-state = <0>;
 | 
						|
		synaptics,reset-gpio = <&tlmm 21 0x00>;
 | 
						|
		synaptics,reset-on-state = <0>;
 | 
						|
		synaptics,reset-active-ms = <20>;
 | 
						|
		synaptics,reset-delay-ms = <200>;
 | 
						|
		synaptics,power-delay-ms = <200>;
 | 
						|
		synaptics,ubl-i2c-addr = <0x20>;
 | 
						|
		synaptics,extend_report;
 | 
						|
		synaptics,firmware-name = "synaptics_firmware.img";
 | 
						|
	};
 | 
						|
 | 
						|
	focaltech@38 {
 | 
						|
		compatible = "focaltech,fts_ts";
 | 
						|
		reg = <0x38>;
 | 
						|
		interrupt-parent = <&tlmm>;
 | 
						|
		interrupts = <22 0x2008>;
 | 
						|
		focaltech,reset-gpio = <&tlmm 21 0x00>;
 | 
						|
		focaltech,irq-gpio = <&tlmm 22 0x2008>;
 | 
						|
		focaltech,max-touch-number = <5>;
 | 
						|
		focaltech,display-coords = <0 0 1080 2340>;
 | 
						|
		focaltech,touch-type = "primary";
 | 
						|
 | 
						|
		vdd-supply = <&touch_avdd>;
 | 
						|
 | 
						|
		pinctrl-names = "pmx_ts_active", "pmx_ts_suspend",
 | 
						|
				"pmx_ts_release";
 | 
						|
		pinctrl-0 = <&ts_active>;
 | 
						|
		pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
 | 
						|
		pinctrl-2 = <&pmx_ts_release>;
 | 
						|
	};
 | 
						|
 | 
						|
	novatek@62 {
 | 
						|
		compatible = "novatek,NVT-ts";
 | 
						|
		reg = <0x62>;
 | 
						|
 | 
						|
		interrupt-parent = <&tlmm>;
 | 
						|
		interrupts = <22 0x2008>;
 | 
						|
 | 
						|
		pinctrl-names = "pmx_ts_active","pmx_ts_suspend",
 | 
						|
			"pmx_ts_release";
 | 
						|
		pinctrl-0 = <&ts_active>;
 | 
						|
		pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
 | 
						|
		pinctrl-2 = <&pmx_ts_release>;
 | 
						|
 | 
						|
		novatek,reset-gpio = <&tlmm 21 0x00>;
 | 
						|
		novatek,irq-gpio = <&tlmm 22 0x2008>;
 | 
						|
	};
 | 
						|
 | 
						|
	goodix-berlin@5d {
 | 
						|
		compatible = "goodix,gt9916";
 | 
						|
		reg = <0x5d>;
 | 
						|
		interrupt-parent = <&tlmm>;
 | 
						|
		interrupts = <22 0x2008>;
 | 
						|
		goodix,reset-gpio = <&tlmm 21 0x00>;
 | 
						|
		goodix,irq-gpio = <&tlmm 22 0x2008>;
 | 
						|
		goodix,irq-flags = <2>;
 | 
						|
		goodix,panel-max-x = <1080>;
 | 
						|
		goodix,panel-max-y = <2400>;
 | 
						|
		goodix,panel-max-w = <255>;
 | 
						|
		goodix,panel-max-p = <4096>;
 | 
						|
		goodix,firmware-name = "goodix_firmware_i2c.bin";
 | 
						|
		goodix,config-name = "goodix_cfg_group_i2c.bin";
 | 
						|
		invert_xy;
 | 
						|
		goodix,touch-type = "primary";
 | 
						|
		goodix,qts_en;
 | 
						|
	};
 | 
						|
};
 | 
						|
 | 
						|
&pm7250b_charger {
 | 
						|
	status = "ok";
 | 
						|
	#io-channel-cells = <1>;
 | 
						|
	io-channels = <&pm7250b_vadc ADC5_USB_IN_V_16>,
 | 
						|
		      <&pm7250b_vadc ADC5_USB_IN_I>,
 | 
						|
		      <&pm7250b_vadc ADC5_CHG_TEMP>,
 | 
						|
		      <&pm7250b_vadc ADC5_DIE_TEMP>,
 | 
						|
		      <&pm7250b_vadc ADC5_AMUX_THM3_100K_PU>,
 | 
						|
		      <&pm7250b_vadc ADC5_SBUx>,
 | 
						|
		      <&pm7250b_vadc ADC5_VPH_PWR>,
 | 
						|
		      <&pm7250b_vadc ADC5_AMUX_THM1_100K_PU>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_RESISTANCE_ID>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_VOLTAGE_NOW>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_TEMP>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_CAPACITY>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_VOLTAGE_OCV>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_VOLTAGE_AVG>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_DEBUG_BATTERY>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_REAL_CAPACITY>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_CC_SOC>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_CURRENT_NOW>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_VOLTAGE_MAX>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_CHARGE_FULL>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_CHARGE_COUNTER>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_CYCLE_COUNT>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_CHARGE_FULL_DESIGN>,
 | 
						|
		      <&pm7250b_qg PSY_IIO_TIME_TO_FULL_NOW>;
 | 
						|
	io-channel-names = "usb_in_voltage",
 | 
						|
			   "usb_in_current",
 | 
						|
			   "chg_temp",
 | 
						|
			   "die_temp",
 | 
						|
			   "conn_temp",
 | 
						|
			   "sbux_res",
 | 
						|
			   "vph_voltage",
 | 
						|
			   "skin_temp",
 | 
						|
			   "resistance_id",
 | 
						|
			   "voltage_now",
 | 
						|
			   "temp",
 | 
						|
			   "capacity",
 | 
						|
			   "voltage_ocv",
 | 
						|
			   "voltage_avg",
 | 
						|
			   "debug_battery",
 | 
						|
			   "real_capacity",
 | 
						|
			   "cc_soc",
 | 
						|
			   "current_now",
 | 
						|
			   "voltage_max",
 | 
						|
			   "charge_full",
 | 
						|
			   "charge_counter",
 | 
						|
			   "cycle_count",
 | 
						|
			   "charge_full_design",
 | 
						|
			   "time_to_full_now";
 | 
						|
	qcom,batteryless-platform;
 | 
						|
	qcom,sec-charger-config = <0>;
 | 
						|
	qcom,auto-recharge-soc = <98>;
 | 
						|
	qcom,step-charging-enable;
 | 
						|
	qcom,sw-jeita-enable;
 | 
						|
	qcom,charger-temp-max = <800>;
 | 
						|
	qcom,smb-temp-max = <800>;
 | 
						|
	qcom,suspend-input-on-debug-batt;
 | 
						|
};
 | 
						|
 | 
						|
&pm7250b_qg {
 | 
						|
	status = "ok";
 | 
						|
	#io-channel-cells = <1>;
 | 
						|
	io-channels = <&pm7250b_vadc ADC5_BAT_THERM_100K_PU>,
 | 
						|
		      <&pm7250b_vadc ADC5_BAT_ID_100K_PU>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_INPUT_CURRENT_LIMITED>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_RECHARGE_SOC>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_FORCE_RECHARGE>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_CHARGE_DONE>;
 | 
						|
	io-channel-names = "batt-therm",
 | 
						|
			   "batt-id",
 | 
						|
			   "input_current_limited",
 | 
						|
			   "recharge_soc",
 | 
						|
			   "force_recharge",
 | 
						|
			   "charge_done";
 | 
						|
	qcom,qg-iterm-ma = <100>;
 | 
						|
	qcom,hold-soc-while-full;
 | 
						|
	qcom,linearize-soc;
 | 
						|
	qcom,cl-feedback-on;
 | 
						|
	qcom,vbatt-cutoff-mv = <3400>;
 | 
						|
	qcom,vbatt-empty-mv = <3200>;
 | 
						|
	qcom,vbatt-empty-cold-mv = <3100>;
 | 
						|
	qcom,vbatt-low-mv = <3500>;
 | 
						|
	qcom,fvss-vbatt-mv = <3500>;
 | 
						|
};
 | 
						|
 | 
						|
&pm7250b_charger {
 | 
						|
	dpdm-supply = <&usb2_phy0>;
 | 
						|
 | 
						|
	smb5_vbus: qcom,smb5-vbus {
 | 
						|
		regulator-name = "smb5-vbus";
 | 
						|
	};
 | 
						|
 | 
						|
	smb5_vconn: qcom,smb5-vconn {
 | 
						|
		regulator-name = "smb5-vconn";
 | 
						|
	};
 | 
						|
};
 | 
						|
 | 
						|
&pm7250b_pdphy {
 | 
						|
	vdd-pdphy-supply = <&L7E>;
 | 
						|
	vbus-supply = <&smb5_vbus>;
 | 
						|
	vconn-supply = <&smb5_vconn>;
 | 
						|
 | 
						|
	#io-channel-cells = <1>;
 | 
						|
	io-channels = <&pm7250b_charger PSY_IIO_PD_ACTIVE>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_TYPEC_CC_ORIENTATION>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_CONNECTOR_TYPE>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_TYPEC_POWER_ROLE>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_PD_USB_SUSPEND_SUPPORTED>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_TYPEC_SRC_RP>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_PD_IN_HARD_RESET>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_PR_SWAP>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_PD_VOLTAGE_MIN>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_PD_VOLTAGE_MAX>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_TYPEC_MODE>,
 | 
						|
		      <&pm7250b_charger PSY_IIO_PE_START>;
 | 
						|
	io-channel-names = "pd_active",
 | 
						|
			   "typec_cc_orientation",
 | 
						|
			   "connector_type",
 | 
						|
			   "typec_power_role",
 | 
						|
			   "pd_usb_suspend_supported",
 | 
						|
			   "typec_src_rp",
 | 
						|
			   "pd_in_hard_reset",
 | 
						|
			   "pr_current_max",
 | 
						|
			   "pr_swap",
 | 
						|
			   "pd_voltage_min",
 | 
						|
			   "pd_voltage_max",
 | 
						|
			   "real_type",
 | 
						|
			   "typec_mode",
 | 
						|
			   "pe_start";
 | 
						|
};
 | 
						|
 | 
						|
&qupv3_se10_i2c {
 | 
						|
	awinic@64 {
 | 
						|
		compatible = "awinic,aw2016_led";
 | 
						|
		reg = <0x64>;
 | 
						|
 | 
						|
		awinic,red {
 | 
						|
			awinic,name = "red";
 | 
						|
			awinic,id = <0>;
 | 
						|
			awinic,imax = <2>;
 | 
						|
			awinic,led-current = <3>;
 | 
						|
			awinic,max-brightness = <255>;
 | 
						|
			awinic,rise-time-ms = <6>;
 | 
						|
			awinic,hold-time-ms = <0>;
 | 
						|
			awinic,fall-time-ms = <6>;
 | 
						|
			awinic,off-time-ms = <4>;
 | 
						|
		};
 | 
						|
 | 
						|
		awinic,green {
 | 
						|
			awinic,name = "green";
 | 
						|
			awinic,id = <1>;
 | 
						|
			awinic,imax = <2>;
 | 
						|
			awinic,led-current = <3>;
 | 
						|
			awinic,max-brightness = <255>;
 | 
						|
			awinic,rise-time-ms = <6>;
 | 
						|
			awinic,hold-time-ms = <0>;
 | 
						|
			awinic,fall-time-ms = <6>;
 | 
						|
			awinic,off-time-ms = <4>;
 | 
						|
		};
 | 
						|
 | 
						|
		awinic,blue {
 | 
						|
			awinic,name = "blue";
 | 
						|
			awinic,id = <2>;
 | 
						|
			awinic,imax = <2>;
 | 
						|
			awinic,led-current = <3>;
 | 
						|
			awinic,max-brightness = <255>;
 | 
						|
			awinic,rise-time-ms = <6>;
 | 
						|
			awinic,hold-time-ms = <0>;
 | 
						|
			awinic,fall-time-ms = <6>;
 | 
						|
			awinic,off-time-ms = <4>;
 | 
						|
		};
 | 
						|
 | 
						|
	};
 | 
						|
};
 | 
						|
 | 
						|
&usb0 {
 | 
						|
	extcon = <&pm7250b_pdphy>, <&pm7250b_charger>, <&eud>;
 | 
						|
	#io-channel-cells = <1>;
 | 
						|
	io-channels= <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>;
 | 
						|
	io-channel-names = "chg_type";
 | 
						|
 | 
						|
	dwc3@4e00000 {
 | 
						|
		dr_mode = "otg";
 | 
						|
	};
 | 
						|
 | 
						|
};
 |