/* Copyright (c) 2019-2020, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and * only version 2 as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #include #include #include #include #include "atoll-sde-display.dtsi" #include "sdmmagpie-thermal-overlay.dtsi" &soc { mtp_batterydata: qcom,battery-data { qcom,batt-id-range-pct = <15>; #include "qg-batterydata-alium-3600mah.dtsi" }; }; &pm6150l_vadc { pa_therm1 { reg = ; label = "pa_therm1"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; }; &pm6150l_adc_tm { io-channels = <&pm6150l_vadc ADC_AMUX_THM1_PU2>, <&pm6150l_vadc ADC_AMUX_THM2_PU2>, <&pm6150l_vadc ADC_AMUX_THM3_PU2>, <&pm6150l_vadc ADC_GPIO1_PU2>; pa_therm1 { reg = ; qcom,ratiometric; qcom,hw-settle-time = <200>; }; }; /* &usb0 { extcon = <&pm6150_pdphy>, <&pm6150_charger>, <&eud>; }; &usb_qmp_dp_phy { extcon = <&pm6150_pdphy>; }; */ &ufsphy_mem { compatible = "qcom,ufs-phy-qmp-v3"; vdda-phy-supply = <&pm6150_l4>; /* 0.9v */ vdda-pll-supply = <&pm6150l_l3>; /* 1.2v */ vdda-phy-max-microamp = <62900>; vdda-pll-max-microamp = <18300>; status = "ok"; }; &ufshc_mem { vdd-hba-supply = <&ufs_phy_gdsc>; vdd-hba-fixed-regulator; vcc-supply = <&pm6150_l19>; vcc-voltage-level = <2960000 2960000>; vcc-max-microamp = <600000>; vccq2-supply = <&pm6150_l12>; vccq2-voltage-level = <1750000 1950000>; vccq2-max-microamp = <600000>; qcom,vddp-ref-clk-supply = <&pm6150l_l3>; /* PX10 */ qcom,vddp-ref-clk-max-microamp = <100>; status = "ok"; }; &sdhc_1 { vdd-supply = <&pm6150_l19>; qcom,vdd-voltage-level = <2960000 2960000>; qcom,vdd-current-level = <0 570000>; vdd-io-supply = <&pm6150_l12>; qcom,vdd-io-always-on; qcom,vdd-io-lpm-sup; qcom,vdd-io-voltage-level = <1800000 1800000>; qcom,vdd-io-current-level = <0 325000>; pinctrl-names = "active", "sleep"; pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>; pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>; status = "ok"; }; &sdhc_2 { vdd-supply = <&pm6150l_l9>; qcom,vdd-voltage-level = <2960000 2960000>; qcom,vdd-current-level = <0 800000>; vdd-io-supply = <&pm6150l_l6>; qcom,vdd-io-voltage-level = <1800000 2950000>; qcom,vdd-io-current-level = <0 22000>; pinctrl-names = "active", "sleep"; pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>; pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>; cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>; status = "ok"; }; &thermal_zones { pa-therm1 { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&pm6150l_adc_tm ADC_AMUX_THM3_PU2>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; quiet-therm-step { status = "disabled"; }; }; &pm6150a_amoled { status = "ok"; }; &pm6150_qg { qcom,battery-data = <&mtp_batterydata>; qcom,qg-iterm-ma = <100>; qcom,hold-soc-while-full; qcom,linearize-soc; qcom,cl-feedback-on; }; &pm6150_charger { io-channels = <&pm6150_vadc ADC_USB_IN_V_16>, <&pm6150_vadc ADC_USB_IN_I>, <&pm6150_vadc ADC_CHG_TEMP>, <&pm6150_vadc ADC_DIE_TEMP>, <&pm6150_vadc ADC_AMUX_THM3_PU2>, <&pm6150_vadc ADC_SBUx>, <&pm6150_vadc ADC_VPH_PWR>; io-channel-names = "usb_in_voltage", "usb_in_current", "chg_temp", "die_temp", "conn_temp", "sbux_res", "vph_voltage"; qcom,battery-data = <&mtp_batterydata>; qcom,auto-recharge-soc = <98>; qcom,step-charging-enable; qcom,sw-jeita-enable; qcom,fcc-stepping-enable; qcom,suspend-input-on-debug-batt; qcom,sec-charger-config = <3>; qcom,thermal-mitigation = <4200000 3500000 3000000 2500000 2000000 1500000 1000000 500000>; dpdm-supply = <&qusb_phy0>; qcom,charger-temp-max = <800>; qcom,smb-temp-max = <800>; qcom,fcc-step-delay-ms = <100>; qcom,fcc-step-size-ua = <100000>; qcom,disable-sw-thermal-regulation; qcom,disable-fcc-restriction; qcom,smb-internal-pull-kohm = <0>; }; &pm6150l_gpios { key_vol_up { key_vol_up_default: key_vol_up_default { pins = "gpio2"; function = "normal"; input-enable; bias-pull-up; power-source = <0>; }; }; }; &soc { gpio_key:gpio_keys { compatible = "gpio-keys"; label = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&key_vol_up_default>; vol_up { label = "volume_up"; gpios = <&pm6150l_gpios 2 GPIO_ACTIVE_LOW>; linux,input-type = <1>; linux,code = ; linux,can-disable; debounce-interval = <15>; gpio-key,wakeup; }; }; }; &qupv3_se7_i2c { status = "ok"; qcom,i2c-touch-active = "synaptics,tcm-i2c"; synaptics_tcm@20 { compatible = "synaptics,tcm-i2c"; reg = <0x20>; interrupt-parent = <&tlmm>; interrupts = <9 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 = <&ts_release>; vdd-supply = <&pm6150_l10>; avdd-supply = <&pm6150l_l7>; synaptics,pwr-reg-name = "avdd"; synaptics,bus-reg-name = "vdd"; synaptics,irq-gpio = <&tlmm 9 0x2008>; synaptics,irq-on-state = <0>; synaptics,reset-gpio = <&tlmm 8 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>; }; atmel_mxt_ts@4a { compatible = "atmel,maxtouch"; reg = <0x4a>; interrupt-parent = <&tlmm>; interrupts = <9 0x2008>; avdd-supply = <&pm6150l_l7>; vdd-supply = <&pm6150_l10>; pinctrl-names = "pmx_ts_active", "pmx_ts_suspend"; pinctrl-0 = <&ts_active>; pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; reset-gpios = <&tlmm 8 0x00>; irq-gpios = <&tlmm 9 0x2008>; atmel,xy_switch; atmel,panel-coords = <0 0 479 799>; atmel,display-coords = <0 0 339 769>; }; }; &dsi_rm69299_visionox_amoled_video { qcom,panel-supply-entries = <&dsi_panel_pwr_supply_labibb_amoled>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <255>; qcom,platform-te-gpio = <&tlmm 10 0>; qcom,platform-reset-gpio = <&pm6150l_gpios 3 0>; }; &dsi_rm69299_visionox_amoled_cmd { qcom,panel-supply-entries = <&dsi_panel_pwr_supply_labibb_amoled>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <255>; qcom,platform-te-gpio = <&tlmm 10 0>; qcom,platform-reset-gpio = <&pm6150l_gpios 3 0>; }; &dsi_sim_vid { qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,platform-reset-gpio = <&pm6150l_gpios 3 0>; }; &dsi_nt36672c_video { qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <255>; qcom,platform-te-gpio = <&tlmm 10 0>; qcom,platform-reset-gpio = <&pm6150l_gpios 3 0>; qcom,platform-bklight-en-gpio = <&pm6150l_gpios 10 0>; qcom,platform-en-gpio = <&pm6150l_gpios 4 0>; }; &qupv3_se0_i2c { status = "ok"; qcom,clk-freq-out = <1000000>; #address-cells = <1>; #size-cells = <0>; nq@28 { compatible = "qcom,nq-nci"; reg = <0x28>; qcom,nq-irq = <&tlmm 37 0x00>; qcom,nq-ven = <&tlmm 12 0x00>; qcom,nq-firm = <&tlmm 36 0x00>; qcom,nq-clkreq = <&tlmm 31 0x00>; interrupt-parent = <&tlmm>; interrupts = <37 0>; interrupt-names = "nfc_irq"; pinctrl-names = "nfc_active", "nfc_suspend"; pinctrl-0 = <&nfc_int_active &nfc_enable_active &nfc_clk_req_active>; pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend &nfc_clk_req_suspend>; }; }; &sde_dp{ qcom,dp-aux-switch = <&fsa4480>; };