/* Copyright (c) 2017-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 "sm8150-pmic-overlay.dtsi" #include "sm8150-sde-display.dtsi" #include "sm8150-camera-sensor-cdp.dtsi" #include "sm8150-thermal-overlay.dtsi" &qupv3_se12_2uart { status = "ok"; }; &vendor { bluetooth: bt_wcn3990 { compatible = "qca,wcn3990"; qca,bt-vdd-core-supply = <&pm8150_l7>; qca,bt-vdd-pa-supply = <&pm8150l_l2>; qca,bt-vdd-ldo-supply = <&pm8150l_l11>; qca,bt-vdd-core-voltage-level = <1800000 1800000>; qca,bt-vdd-pa-voltage-level = <1304000 1304000>; qca,bt-vdd-ldo-voltage-level = <3312000 3312000>; qca,bt-vdd-core-current-level = <0>; /* LPM/PFM */ qca,bt-vdd-pa-current-level = <0>; /* LPM/PFM */ qca,bt-vdd-ldo-current-level = <0>; /* LPM/PFM */ }; extcon_usb1: extcon_usb1 { compatible = "linux,extcon-usb-gpio"; vbus-gpio = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>; id-gpio = <&tlmm 101 GPIO_ACTIVE_HIGH>; vbus-out-gpio = <&pm8150_gpios 9 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&usb2_vbus_det_default &usb2_id_det_default &usb2_vbus_boost_default>; }; }; &qupv3_se13_4uart { status = "ok"; }; &qupv3_se3_spi { status = "ok"; }; &qupv3_se4_i2c { status = "ok"; }; &soc { gpio_keys { compatible = "gpio-keys"; label = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&key_home_default &key_vol_up_default>; home { label = "home"; gpios = <&pm8150_gpios 1 GPIO_ACTIVE_LOW>; linux,input-type = <1>; linux,code = ; gpio-key,wakeup; debounce-interval = <15>; linux,can-disable; }; 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; }; }; qcom,qbt1000 { compatible = "qcom,qbt1000"; clock-names = "core", "iface"; clock-frequency = <25000000>; qcom,ipc-gpio = <&tlmm 118 0>; qcom,finger-detect-gpio = <&pm8150_gpios 1 0>; status = "disabled"; }; }; &dsi_panel_pwr_supply_vdd_no_labibb { qcom,panel-supply-entry@1 { qcom,supply-min-voltage = <1800000>; qcom,supply-max-voltage = <1800000>; }; }; &dsi_sharp_4k_dsc_cmd { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-dsi-mode-sel-gpio-state = "dual_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-te-gpio = <&tlmm 8 0>; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_sharp_4k_dsc_video { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-dsi-mode-sel-gpio-state = "dual_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-te-gpio = <&tlmm 8 0>; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_sim_cmd { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_sim_vid { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_dual_sim_cmd { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_dual_sim_vid { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_dual_nt35597_truly_video { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-dsi-mode-sel-gpio-state = "dual_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-te-gpio = <&tlmm 8 0>; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_dual_nt35597_truly_cmd { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-dsi-mode-sel-gpio-state = "dual_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-te-gpio = <&tlmm 8 0>; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_sim_dsc_375_cmd { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_dual_sim_dsc_375_cmd { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_nt35597_truly_dsc_cmd { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-dsi-mode-sel-gpio-state = "single_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-te-gpio = <&tlmm 8 0>; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_nt35597_truly_dsc_video { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-dsi-mode-sel-gpio-state = "single_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-te-gpio = <&tlmm 8 0>; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_sharp_1080_cmd { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-dsi-mode-sel-gpio-state = "dual_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-te-gpio = <&tlmm 8 0>; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_nt35695b_truly_fhd_cmd { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,panel-sec-supply-entries = <&dsi_panel_pwr_supply_vdd_no_labibb>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; qcom,mdss-dsi-sec-bl-pmic-control-type = "bl_ctrl_external"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-dsi-mode-sel-gpio-state = "single_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-reset-gpio = <&tlmm 6 0>; qcom,panel-sec-mode-gpio = <&tlmm 77 0>; qcom,platform-sec-reset-gpio = <&tlmm 66 0>; }; &dsi_sim_sec_hd_cmd { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,panel-sec-supply-entries = <&dsi_panel_pwr_supply_vdd_no_labibb>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; qcom,mdss-dsi-sec-bl-pmic-control-type = "bl_ctrl_external"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-dsi-mode-sel-gpio-state = "single_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-reset-gpio = <&tlmm 6 0>; qcom,panel-sec-mode-gpio = <&tlmm 77 0>; qcom,platform-sec-reset-gpio = <&tlmm 66 0>; }; &dsi_nt35695b_truly_fhd_video { qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; qcom,panel-sec-supply-entries = <&dsi_panel_pwr_supply_vdd_no_labibb>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; qcom,mdss-dsi-sec-bl-pmic-control-type = "bl_ctrl_external"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-dsi-mode-sel-gpio-state = "single_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-reset-gpio = <&tlmm 6 0>; qcom,panel-sec-mode-gpio = <&tlmm 77 0>; qcom,platform-sec-reset-gpio = <&tlmm 66 0>; }; &qupv3_se9_i2c { status = "ok"; #address-cells = <1>; #size-cells = <0>; nq@28 { compatible = "qcom,nq-nci"; reg = <0x28>; qcom,nq-irq = <&tlmm 47 0x00>; qcom,nq-ven = <&tlmm 41 0x00>; qcom,nq-firm = <&tlmm 48 0x00>; qcom,nq-clkreq = <&tlmm 113 0x00>; qcom,nq-esepwr = <&tlmm 42 0x00>; interrupt-parent = <&tlmm>; interrupts = <47 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>; }; }; &ufsphy_mem { compatible = "qcom,ufs-phy-qmp-v4"; vdda-phy-supply = <&pm8150_l5>; vdda-phy-always-on; vdda-pll-supply = <&pm8150l_l3>; vdda-phy-max-microamp = <90200>; vdda-pll-max-microamp = <19000>; status = "ok"; }; &ufshc_mem { vdd-hba-supply = <&ufs_phy_gdsc>; vdd-hba-fixed-regulator; vcc-supply = <&pm8150_l10>; vcc-voltage-level = <2504000 2950000>; vcc-low-voltage-sup; vccq-supply = <&pm8150_l9>; vccq2-supply = <&pm8150_s4>; vcc-max-microamp = <750000>; vccq-max-microamp = <700000>; vccq2-max-microamp = <750000>; qcom,vddp-ref-clk-supply = <&pm8150_l9>; qcom,vddp-ref-clk-max-microamp = <100>; qcom,vccq-parent-supply = <&pm8150l_s8>; qcom,vccq-parent-max-microamp = <210000>; status = "ok"; }; &sdhc_2 { vdd-supply = <&pm8150l_l9>; qcom,vdd-voltage-level = <2950000 2960000>; qcom,vdd-current-level = <200 800000>; vdd-io-supply = <&pm8150l_l6>; qcom,vdd-io-voltage-level = <1808000 2960000>; qcom,vdd-io-current-level = <200 22000>; pinctrl-names = "active", "sleep"; pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &storage_cd>; pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &storage_cd>; cd-gpios = <&tlmm 96 GPIO_ACTIVE_LOW>; status = "ok"; }; &spmi_debug_bus { status = "ok"; }; &pm8150l_wled { qcom,string-cfg= <7>; qcom,leds-per-string = <6>; status = "ok"; }; &pm8150l_lcdb { status = "ok"; }; &pm8150b_charger { qcom,batteryless-platform; io-channels = <&pm8150b_vadc ADC_USB_IN_V_16>, <&pm8150b_vadc ADC_USB_IN_I>, <&pm8150b_vadc ADC_CHG_TEMP>; io-channel-names = "usb_in_voltage", "usb_in_current", "chg_temp"; }; &pm8150b_vadc { vph_pwr { reg = ; label = "vph_pwr"; qcom,pre-scaling = <1 3>; }; wp_therm { reg = ; label = "wp_therm"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; vcoin { reg = ; label = "vcoin"; qcom,pre-scaling = <1 3>; }; conn_therm { reg = ; label = "conn_therm"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; chg_sbux { reg = ; label = "chg_sbux"; qcom,pre-scaling = <1 3>; }; mid_chg_div6 { reg = ; label = "chg_mid"; qcom,pre-scaling = <1 6>; }; usb_in_i_uv { reg = ; label = "usb_in_i_uv"; qcom,pre-scaling = <1 1>; }; usb_in_v_div_16 { reg = ; label = "usb_in_v_div_16"; qcom,pre-scaling = <1 16>; }; }; &pm8150_vadc { vph_pwr { reg = ; label = "vph_pwr"; qcom,pre-scaling = <1 3>; }; vcoin { reg = ; label = "vcoin"; qcom,pre-scaling = <1 3>; }; xo_therm { reg = ; label = "xo_therm"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; skin_therm { reg = ; label = "skin_therm"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; pa_therm1 { reg = ; label = "pa_therm1"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; }; &pm8150l_vadc { vph_pwr { reg = ; label = "vph_pwr"; qcom,pre-scaling = <1 3>; }; camera_flash_therm { reg = ; label = "camera_flash_therm"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; skin_msm_therm { reg = ; label = "skin_msm_therm"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; pa_therm2 { reg = ; label = "pa_therm2"; qcom,ratiometric; qcom,hw-settle-time = <200>; qcom,pre-scaling = <1 1>; }; }; &wil6210 { status = "ok"; }; &mhi_0 { mhi,fw-name = "debug.mbn"; }; &pm8150b_adc_tm { wp_therm { reg = ; qcom,ratiometric; qcom,hw-settle-time = <200>; }; }; &pm8150_adc_tm { xo_therm { reg = ; qcom,ratiometric; qcom,hw-settle-time = <200>; }; skin_therm { reg = ; qcom,ratiometric; qcom,hw-settle-time = <200>; }; pa_therm1 { reg = ; qcom,ratiometric; qcom,hw-settle-time = <200>; }; }; &pm8150l_adc_tm { camera_flash_therm { reg = ; qcom,ratiometric; qcom,hw-settle-time = <200>; }; skin_msm_therm { reg = ; qcom,ratiometric; qcom,hw-settle-time = <200>; }; pa_therm2 { reg = ; qcom,ratiometric; qcom,hw-settle-time = <200>; }; }; &thermal_zones { wp-therm { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&pm8150b_adc_tm ADC_AMUX_THM1_PU2>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; xo-therm { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&pm8150_adc_tm ADC_XO_THERM_PU2>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; skin-therm { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&pm8150_adc_tm ADC_AMUX_THM1_PU2>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; pa-therm1 { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&pm8150_adc_tm ADC_AMUX_THM2_PU2>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; camera-flash-therm { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&pm8150l_adc_tm ADC_AMUX_THM1_PU2>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; skin-msm-therm { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&pm8150l_adc_tm ADC_AMUX_THM2_PU2>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; pa-therm2 { polling-delay-passive = <0>; polling-delay = <0>; thermal-governor = "user_space"; thermal-sensors = <&pm8150l_adc_tm ADC_AMUX_THM3_PU2>; wake-capable-sensor; trips { active-config0 { temperature = <125000>; hysteresis = <1000>; type = "passive"; }; }; }; }; &usb1 { extcon = <&extcon_usb1>; status = "ok"; }; &usb2_phy1 { status = "ok"; }; &usb_qmp_phy { status = "ok"; };