#include #include #include #include &vendor { kona_qrd_batterydata: qcom,battery-data { qcom,batt-id-range-pct = <15>; #include "fg-gen4-batterydata-mlp466274-3650mah.dtsi" #include "fg-gen4-batterydata-atl466274-3650mah.dtsi" }; }; &tlmm { key_camera_switch { key_camera_switch_default: key_camera_switch_default { pins = "gpio26"; function = "normal"; input-enable; bias-pull-up; }; }; key_factory_reset { key_factory_reset_default: key_factory_reset_default { pins = "gpio22"; function = "normal"; input-enable; bias-pull-up; }; }; line_out_hpd { line_out_hpd_default: line_out_hpd_default { pins = "gpio32"; function = "gpio"; input-enable; bias-pull-up; }; }; }; &soc { gpio_keys { compatible = "gpio-keys"; label = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&key_vol_up_default &key_camera_switch_default &key_home_default &key_factory_reset_default>; vol_up { label = "volume_up"; gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>; linux,input-type = <1>; linux,code = ; gpio-key,wakeup; debounce-interval = <15>; linux,can-disable; }; camera_switch { label = "camera_switch"; gpios = <&tlmm 26 GPIO_ACTIVE_LOW>; linux,input-type = <1>; linux,code = ; gpio-key,wakeup; debounce-interval = <15>; linux,can-disable; }; mute { label = "mute"; gpios = <&pm8150_gpios 1 GPIO_ACTIVE_LOW>; linux,input-type = <1>; linux,code = ; gpio-key,wakeup; debounce-interval = <15>; linux,can-disable; }; factory_reset { label = "factory_reset"; gpios = <&tlmm 22 GPIO_ACTIVE_LOW>; linux,input-type = <1>; linux,code = ; gpio-key,wakeup; debounce-interval = <15>; linux,can-disable; }; }; }; &qupv3_se12_2uart { status = "ok"; }; &qupv3_se6_4uart { status = "ok"; }; &ufsphy_mem { compatible = "qcom,ufs-phy-qmp-v4"; vdda-phy-supply = <&pm8150_l5>; vdda-pll-supply = <&pm8150_l9>; vdda-phy-max-microamp = <89900>; vdda-pll-max-microamp = <18800>; status = "ok"; }; &ufshc_mem { vdd-hba-supply = <&ufs_phy_gdsc>; vcc-supply = <&pm8150_l17>; vccq-supply = <&pm8150_l6>; vccq2-supply = <&pm8150_s4>; vcc-max-microamp = <800000>; vccq-max-microamp = <800000>; vccq2-max-microamp = <800000>; qcom,vddp-ref-clk-supply = <&pm8150_l6>; qcom,vddp-ref-clk-max-microamp = <100>; qcom,vccq-parent-supply = <&pm8150a_s8>; qcom,vccq-parent-max-microamp = <210000>; status = "ok"; }; &vreg_hap_boost { status = "ok"; }; &pm8150b_pdphy { #io-channel-cells = <1>; io-channels = <&pm8150b_charger PSY_IIO_PD_ACTIVE>, <&pm8150b_charger PSY_IIO_TYPEC_CC_ORIENTATION>, <&pm8150b_charger PSY_IIO_CONNECTOR_TYPE>, <&pm8150b_charger PSY_IIO_TYPEC_POWER_ROLE>, <&pm8150b_charger PSY_IIO_PD_USB_SUSPEND_SUPPORTED>, <&pm8150b_charger PSY_IIO_TYPEC_SRC_RP>, <&pm8150b_charger PSY_IIO_PD_IN_HARD_RESET>, <&pm8150b_charger PSY_IIO_PD_CURRENT_MAX>, <&pm8150b_charger PSY_IIO_PR_SWAP>, <&pm8150b_charger PSY_IIO_PD_VOLTAGE_MIN>, <&pm8150b_charger PSY_IIO_PD_VOLTAGE_MAX>, <&pm8150b_charger PSY_IIO_USB_REAL_TYPE>, <&pm8150b_charger PSY_IIO_TYPEC_MODE>, <&pm8150b_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"; }; &pm8150b_haptics { qcom,vmax-mv = <1697>; qcom,play-rate-us = <5882>; vdd-supply = <&vreg_hap_boost>; wf_0 { /* CLICK */ qcom,wf-play-rate-us = <5882>; qcom,wf-vmax-mv = <1697>; }; wf_1 { /* DOUBLE CLICK */ qcom,wf-play-rate-us = <5882>; qcom,wf-vmax-mv = <1697>; }; wf_2 { /* TICK */ qcom,wf-play-rate-us = <5882>; qcom,wf-vmax-mv = <1697>; }; wf_3 { /* THUD */ qcom,wf-play-rate-us = <5882>; qcom,wf-vmax-mv = <1697>; }; wf_4 { /* POP */ qcom,wf-play-rate-us = <5882>; qcom,wf-vmax-mv = <1697>; }; wf_5 { /* HEAVY CLICK */ qcom,wf-play-rate-us = <5882>; qcom,wf-vmax-mv = <1697>; }; }; &pm8150b_charger { status = "ok"; qcom,sec-charger-config = <1>; qcom,auto-recharge-soc = <98>; io-channels = <&pm8150b_vadc ADC5_USB_IN_V_16>, <&pm8150b_vadc ADC5_USB_IN_I>, <&pm8150b_vadc ADC5_SBUx>, <&pm8150b_vadc ADC5_VPH_PWR>, <&pm8150b_vadc ADC5_DIE_TEMP>, <&pm8150b_vadc ADC5_MID_CHG_DIV6>, <&pm8150b_vadc ADC5_CHG_TEMP>; io-channel-names = "usb_in_voltage", "usb_in_current", "sbux_res", "vph_voltage", "die_temp", "mid_voltage", "chg_temp"; qcom,batteryless-platform; qcom,sw-jeita-enable; qcom,wd-bark-time-secs = <16>; qcom,suspend-input-on-debug-batt; qcom,fcc-stepping-enable; qcom,smb-internal-pull-kohm = <0>; qcom,thermal-mitigation = <5325000 4500000 4000000 3500000 3000000 2500000 2000000 1500000 1000000 500000>; }; &pm8150b_fg { status = "ok"; qcom,battery-data = <&kona_qrd_batterydata>; qcom,hold-soc-while-full; qcom,linearize-soc; qcom,five-pin-battery; qcom,cl-wt-enable; qcom,soc-scale-mode-en; /* ESR fast calibration */ qcom,fg-esr-timer-chg-fast = <0 7>; qcom,fg-esr-timer-dischg-fast = <0 7>; qcom,fg-esr-timer-chg-slow = <0 96>; qcom,fg-esr-timer-dischg-slow = <0 96>; qcom,fg-esr-cal-soc-thresh = <26 230>; qcom,fg-esr-cal-temp-thresh = <10 40>; }; &pm8150l_vadc { #address-cells = <1>; #size-cells = <0>; vph_pwr@83 { reg = ; label = "vph_pwr"; qcom,pre-scaling = <1 3>; }; camera_flash_therm@4d { reg = ; label = "camera_flash_therm"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; skin_msm_therm@4e { reg = ; label = "skin_msm_therm"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; pa_therm2@4f { reg = ; label = "pa_therm2"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; }; &pm8150b_vadc { #address-cells = <1>; #size-cells = <0>; conn_therm@4f { reg = ; label = "conn_therm"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; mid_chg_div6@1e { reg = ; label = "chg_mid"; qcom,pre-scaling = <1 6>; }; }; &pm8150_vadc { #address-cells = <1>; #size-cells = <0>; vph_pwr@83 { reg = ; label = "vph_pwr"; qcom,pre-scaling = <1 3>; }; xo_therm@4c { reg = ; label = "xo_therm"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; skin_therm@4d { reg = ; label = "skin_therm"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; pa_therm1@4e { reg = ; label = "pa_therm1"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; }; &pm8150b_adc_tm { conn_therm@4f { reg = <0>; io-channels = <&pm8150b_vadc ADC5_AMUX_THM3_100K_PU>; qcom,ratiometric; qcom,hw-settle-time = <200>; }; }; &pm8150_adc_tm { xo_therm@4c { reg = <0>; io-channels = <&pm8150_vadc ADC5_XO_THERM_100K_PU>; qcom,ratiometric; qcom,hw-settle-time = <200>; }; skin_therm@4d { reg = <1>; io-channels = <&pm8150_vadc ADC5_AMUX_THM1_100K_PU>; qcom,ratiometric; qcom,hw-settle-time = <200>; }; pa_therm1@4e { reg = <2>; io-channels = <&pm8150_vadc ADC5_AMUX_THM2_100K_PU>; qcom,ratiometric; qcom,hw-settle-time = <200>; }; }; &pm8150l_adc_tm { camera_flash_therm@4d { reg = <0>; io-channels = <&pm8150l_vadc ADC5_AMUX_THM1_100K_PU>; qcom,ratiometric; qcom,hw-settle-time = <200>; }; skin_msm_therm@4e { reg = <1>; io-channels = <&pm8150l_vadc ADC5_AMUX_THM2_100K_PU>; qcom,ratiometric; qcom,hw-settle-time = <200>; }; pa_therm2@4f { reg = <2>; io-channels = <&pm8150l_vadc ADC5_AMUX_THM3_100K_PU>; qcom,ratiometric; qcom,hw-settle-time = <200>; }; }; &thermal_zones { conn-therm { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&pm8150b_adc_tm 0>; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; active-config1 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; xo-therm { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&pm8150_adc_tm 0>; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; active-config1 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; xo_lvl0: xo-config0 { temperature = <42000>; hysteresis = <2000>; type = "passive"; }; xo_lvl1: xo-config1 { temperature = <46000>; hysteresis = <2000>; type = "passive"; }; xo_lvl2: xo-config2 { temperature = <56000>; hysteresis = <6000>; type = "passive"; }; }; cooling-maps { xo_skin_lvl0 { trip = <&xo_lvl0>; cooling-device = <&modem_mmw_skin2 1 1>; }; xo_skin_lvl1 { trip = <&xo_lvl1>; cooling-device = <&modem_mmw_skin2 2 2>; }; xo_skin_lvl2 { trip = <&xo_lvl2>; cooling-device = <&modem_mmw_skin2 3 3>; }; }; }; skin-therm { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&pm8150_adc_tm 1>; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; active-config1 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; skin_therm0: skin_therm-config0 { temperature = <62000>; hysteresis = <5000>; type = "passive"; }; skin_therm1: skin_therm-config1 { temperature = <65000>; hysteresis = <5000>; type = "passive"; }; skin_therm2: skin_therm-config2 { temperature = <72000>; hysteresis = <2000>; type = "passive"; }; }; cooling-maps { skin_lvl0 { trip = <&skin_therm0>; cooling-device = <&modem_skin 1 1>; }; skin_lvl1 { trip = <&skin_therm1>; cooling-device = <&modem_skin 2 2>; }; skin_lvl2 { trip = <&skin_therm2>; cooling-device = <&modem_skin 3 3>; }; }; }; mmw-pa1 { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&pm8150_adc_tm 2>; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; active-config1 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; pa1_lvl0: mmw_pa1-config0 { temperature = <44000>; hysteresis = <5000>; type = "passive"; }; pa1_lvl1: mmw_pa1-config1 { temperature = <48000>; hysteresis = <2000>; type = "passive"; }; pa1_lvl2: mmw_pa1-config2 { temperature = <56000>; hysteresis = <6000>; type = "passive"; }; }; cooling-maps { pa1_skin_lvl0 { trip = <&pa1_lvl0>; cooling-device = <&modem_mmw_skin0 1 1>; }; pa1_skin_lvl1 { trip = <&pa1_lvl1>; cooling-device = <&modem_mmw_skin0 2 2>; }; pa1_skin_lvl2 { trip = <&pa1_lvl2>; cooling-device = <&modem_mmw_skin0 3 3>; }; }; }; camera-therm { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&pm8150l_adc_tm 0>; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; active-config1 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; skin-msm-therm { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&pm8150l_adc_tm 1>; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; active-config1 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; skin_trip: skin-config0 { temperature = <46000>; hysteresis = <0>; type = "passive"; }; }; }; mmw-pa2 { polling-delay-passive = <0>; polling-delay = <0>; thermal-sensors = <&pm8150l_adc_tm 2>; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; active-config1 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; pa2_lvl0: mmw_pa2-config0 { temperature = <42000>; hysteresis = <4000>; type = "passive"; }; pa2_lvl1: mmw_pa2-config1 { temperature = <46000>; hysteresis = <2000>; type = "passive"; }; pa2_lvl2: mmw_pa2-config2 { temperature = <56000>; hysteresis = <6000>; type = "passive"; }; }; cooling-maps { pa2_skin_lvl0 { trip = <&pa2_lvl0>; cooling-device = <&modem_mmw_skin1 1 1>; }; pa2_skin_lvl1 { trip = <&pa2_lvl1>; cooling-device = <&modem_mmw_skin1 2 2>; }; pa2_skin_lvl2 { trip = <&pa2_lvl2>; cooling-device = <&modem_mmw_skin1 3 3>; }; }; }; }; &sdhc_2 { vdd-supply = <&pm8150a_l9>; qcom,vdd-voltage-level = <2950000 2960000>; qcom,vdd-current-level = <200 800000>; vdd-io-supply = <&pm8150a_l6>; qcom,vdd-io-voltage-level = <1808000 2960000>; qcom,vdd-io-current-level = <200 22000>; pinctrl-names = "default", "sleep"; pinctrl-0 = <&sdc2_on>; pinctrl-1 = <&sdc2_off>; cd-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>; status = "ok"; };