From 4089b68ce13c06a0c9c5c98efdbfd67eea4fe0f5 Mon Sep 17 00:00:00 2001 From: Devender Kaushik Date: Tue, 1 Jun 2021 21:19:30 +0530 Subject: [PATCH 01/46] ARM: dts: msm: add remote debugger support Add remote debugger device configuration. The Remote Debugger driver allows a debugger running on a host PC to communicate with a remote stub running on peripheral subsystems. Change-Id: Ib0f7ee199881601c2611661fb442ff0e68e9ef57 --- qcom/monaco.dtsi | 12 ++++++++++++ qcom/msm-rdbg-monaco.dtsi | 15 +++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 qcom/msm-rdbg-monaco.dtsi diff --git a/qcom/monaco.dtsi b/qcom/monaco.dtsi index 18e484458924..e8d1b6027b1c 100644 --- a/qcom/monaco.dtsi +++ b/qcom/monaco.dtsi @@ -1267,6 +1267,17 @@ interrupt-controller; #interrupt-cells = <2>; }; + + smp2p_rdbg2_out: qcom,smp2p-rdbg2-out { + qcom,entry-name = "rdbg"; + #qcom,smem-state-cells = <1>; + }; + + smp2p_rdbg2_in: qcom,smp2p-rdbg2-in { + qcom,entry-name = "rdbg"; + interrupt-controller; + #interrupt-cells = <2>; + }; }; jtag_mm0: jtagmm@9040000 { @@ -1637,6 +1648,7 @@ #include "display/monaco-sde-display.dtsi" #include "camera/monaco-camera.dtsi" #include "camera/monaco-camera-sensor-idp.dtsi" +#include "msm-rdbg-monaco.dtsi" &qupv3_se6_2uart { status = "ok"; diff --git a/qcom/msm-rdbg-monaco.dtsi b/qcom/msm-rdbg-monaco.dtsi new file mode 100644 index 000000000000..758dda2c8700 --- /dev/null +++ b/qcom/msm-rdbg-monaco.dtsi @@ -0,0 +1,15 @@ +&soc { + /* smp2p information */ + qcom,smp2p_interrupt_rdbg_2_out { + compatible = "qcom,smp2p-interrupt-rdbg-2-out"; + qcom,smem-states = <&smp2p_rdbg2_out 0>; + qcom,smem-state-names = "rdbg-smp2p-out"; + }; + + qcom,smp2p_interrupt_rdbg_2_in { + compatible = "qcom,smp2p-interrupt-rdbg-2-in"; + interrupts-extended = <&smp2p_rdbg2_in 0 0>; + interrupt-names = "rdbg-smp2p-in"; + }; + +}; From 90fbdd101eb431bc1a8376c64e6f4cd8d9f56b90 Mon Sep 17 00:00:00 2001 From: Subbaraman Narayanamurthy Date: Thu, 27 May 2021 19:48:03 -0700 Subject: [PATCH 02/46] ARM: dts: msm: add PM7250B and SMB1394 to sdxlemur-mtp-mbb-emmc boards sdxlemur-mtp-mbb-emmc boards use PM7250B and SMB1394 similar to sdxlemur-mtp-mbb boards. However, sdxlemur-mtp-mbb-emmc.dtsi has sdxlemur-pmic-overlay.dtsi which only adds PMK8350 and PMX65. Add pm7250b.dtsi and smb1394.dtsi to sdxlemur-mtp-mbb-emmc.dtsi so that sdxlemur-mtp-mbb-emmc boards can now use USB VBUS detection from PM7250B charger peripheral instead of VBUS_DET peripheral from PMX65. Change-Id: I72a63eb3f6b3f2b8c779e40593da9b7499a69478 --- qcom/sdxlemur-mtp-mbb-emmc.dtsi | 317 +++++++++++++++++++++++++++++++- 1 file changed, 316 insertions(+), 1 deletion(-) diff --git a/qcom/sdxlemur-mtp-mbb-emmc.dtsi b/qcom/sdxlemur-mtp-mbb-emmc.dtsi index d1848edd40a0..ea6d71dc8fb3 100644 --- a/qcom/sdxlemur-mtp-mbb-emmc.dtsi +++ b/qcom/sdxlemur-mtp-mbb-emmc.dtsi @@ -1,7 +1,13 @@ #include "sdxlemur-pmic-overlay.dtsi" +#include "pm7250b.dtsi" +#include +#include &soc { - + mbb_batterydata: qcom,battery-data { + qcom,batt-id-range-pct = <15>; + #include "qg-batterydata-alium-3600mah.dtsi" + }; }; &sdhc_1 { @@ -34,3 +40,312 @@ status = "ok"; }; + +&spmi_debug_bus { + qcom,pm7250b-debug@2 { + compatible = "qcom,spmi-pmic"; + reg = <2 SPMI_USID>; + #address-cells = <2>; + #size-cells = <0>; + qcom,can-sleep; + }; +}; + +&pm7250b_clkdiv { + clocks = <&rpmhcc RPMH_CXO_CLK>; + clock-names = "xo"; +}; + +&pm7250b_vadc { + charger_skin_therm { + reg = ; + label = "charger_skin_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + conn_therm { + reg = ; + label = "conn_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + smb1390_therm@e { + qcom,scale-fn-type = ; + }; +}; + +&pm7250b_adc_tm { + io-channels = <&pm7250b_vadc ADC5_AMUX_THM1_100K_PU>, + <&pm7250b_vadc ADC5_AMUX_THM3_100K_PU>; + + charger_skin_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + conn_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; +}; + +&thermal_zones { + chg-skin-therm-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm7250b_adc_tm ADC5_AMUX_THM1_100K_PU>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + active-config1 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + conn-therm-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm7250b_adc_tm ADC5_AMUX_THM3_100K_PU>; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + + active-config1 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; +}; + +&pm7250b_charger { + #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>, + <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_MODE>, + <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_OUTPUT_MODE>, + <&smb1394_div2_cp_primary PSY_IIO_MIN_ICL>, + <&smb1394_div2_cp_primary PSY_IIO_CP_SWITCHER_EN>, + <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>, + <&smb1394_div2_cp_primary PSY_IIO_CP_ILIM>, + <&smb1394_div2_cp_primary PSY_IIO_CP_DIE_TEMP>; + 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", + "cp_parallel_mode", + "cp_parallel_output_mode", + "cp_min_icl", + "cp_switcher_en", + "cp_enable", + "cp_ilim", + "cp_die_temp"; + qcom,battery-data = <&mbb_batterydata>; + qcom,sec-charger-config = <1>; + 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; + qcom,fcc-stepping-enable; + qcom,fcc-step-delay-ms = <100>; + qcom,fcc-step-size-ua = <100000>; + qcom,thermal-mitigation = <3600000 3000000 1500000 1000000 500000>; + qcom,smb-internal-pull-kohm = <0>; + qcom,en-skin-therm-mitigation; + qcom,hvdcp3-standalone-config; + dpdm-supply = <&usb2_phy>; + + smb5_vbus: qcom,smb5-vbus { + regulator-name = "smb5-vbus"; + }; + + smb5_vconn: qcom,smb5-vconn { + regulator-name = "smb5-vconn"; + }; +}; + +&pm7250b_qg { + #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>, + <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>; + io-channel-names = "batt-therm", + "batt-id", + "input_current_limited", + "recharge_soc", + "force_recharge", + "charge_done", + "cp_charging_enabled"; + qcom,battery-data = <&mbb_batterydata>; + qcom,qg-iterm-ma = <150>; + qcom,hold-soc-while-full; + qcom,linearize-soc; + qcom,cl-feedback-on; + qcom,tcss-enable; + qcom,fvss-enable; + qcom,fvss-vbatt-mv = <3300>; + qcom,bass-enable; + qcom,use-cp-iin-sns; +}; + +&pm7250b_pdphy { + vdd-pdphy-supply = <&L10B>; + 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"; +}; + +&pm7250b_gpios { + smb_stat { + smb_stat_default: smb_stat_default { + pins = "gpio6"; + function = "normal"; + input-enable; + bias-pull-up; + qcom,pull-up-strength = ; + power-source = <0>; + }; + }; +}; + +&i2c_3 { + status = "ok"; + #include "smb1394.dtsi" +}; + +&smb1394 { + interrupts = <0x2 0xc5 0x0 IRQ_TYPE_LEVEL_LOW>; + interrupt-parent = <&spmi_bus>; + interrupt-names = "smb1394"; + pinctrl-names = "default"; + pinctrl-0 = <&smb_stat_default>; + status = "ok"; +}; + +&smb1394_div2_cp_primary { + io-channels = <&pm7250b_vadc ADC5_AMUX_THM2>, + <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>, + <&pm7250b_charger PSY_IIO_ADAPTER_CC_MODE>, + <&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>, + <&pm7250b_charger PSY_IIO_USB_INPUT_CURRENT_SETTLED>, + <&pm7250b_charger PSY_IIO_SMB_EN_MODE>, + <&pm7250b_charger PSY_IIO_SMB_EN_REASON>; + io-channel-names = "die_temp", + "real_type", + "adapter_cc_mode", + "pd_current_max", + "input_current_settled", + "smb_en_mode", + "smb_en_reason"; + qcom,parallel-input-mode = <1>; /* USBIN */ + qcom,parallel-output-mode = <2>; /* VBAT */ + status = "ok"; +}; + +&usb { + extcon = <&pm7250b_pdphy>, <&eud>; + + #io-channel-cells = <1>; + io-channels= <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>; + io-channel-names = "chg_type"; +}; + +&vbus_detect { + status = "disabled"; +}; From 4daf391637f9258aaeca01afe456cafa7e9bc54f Mon Sep 17 00:00:00 2001 From: Ashish Bhimanpalliwar Date: Wed, 19 May 2021 13:18:23 +0530 Subject: [PATCH 03/46] ARM: dts: msm: Add initial MTP-USBC platform device tree for Blair Add initial device tree to support blair on MTP audio over USB type-C platform. Change-Id: I5435edf16c1299d813b85144cadc198dc2dcc311 --- qcom/Makefile | 7 +++++-- qcom/blair-mtp-usbc-overlay.dts | 13 +++++++++++++ qcom/blair-mtp-usbc.dts | 10 ++++++++++ qcom/blair-mtp-usbc.dtsi | 2 ++ 4 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 qcom/blair-mtp-usbc-overlay.dts create mode 100644 qcom/blair-mtp-usbc.dts create mode 100644 qcom/blair-mtp-usbc.dtsi diff --git a/qcom/Makefile b/qcom/Makefile index 9bf6676f0f1e..97125f2b02c0 100644 --- a/qcom/Makefile +++ b/qcom/Makefile @@ -144,19 +144,22 @@ dtbo-$(CONFIG_ARCH_BLAIR) += blair-rumi-overlay.dtbo \ blair-mtp-overlay.dtbo \ blair-cdp-overlay.dtbo \ blair-atp-overlay.dtbo \ - blair-qrd-overlay.dtbo + blair-qrd-overlay.dtbo \ + blair-mtp-usbc-overlay.dtbo blair-rumi-overlay.dtbo-base := blair.dtb blair-mtp-overlay.dtbo-base := blair.dtb blair-cdp-overlay.dtbo-base := blair.dtb blair-atp-overlay.dtbo-base := blair.dtb blair-qrd-overlay.dtbo-base := blair.dtb +blair-mtp-usbc-overlay.dtbo-base := blair.dtb else dtb-$(CONFIG_ARCH_BLAIR) += blair-rumi.dtb \ blair-mtp.dtb \ blair-cdp.dtb \ blair-atp.dtb \ - blair-qrd.dtb + blair-qrd.dtb \ + blair-mtp-usbc.dtb endif ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) diff --git a/qcom/blair-mtp-usbc-overlay.dts b/qcom/blair-mtp-usbc-overlay.dts new file mode 100644 index 000000000000..f5161de1eb9b --- /dev/null +++ b/qcom/blair-mtp-usbc-overlay.dts @@ -0,0 +1,13 @@ +/dts-v1/; +/plugin/; + +#include "blair-mtp-usbc.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Blair MTP USBC audio"; + compatible = "qcom,blair-mtp", "qcom,blair", "qcom,mtp"; + qcom,msm-id = <507 0x10000>; + qcom,board-id = <8 1>; +}; + + diff --git a/qcom/blair-mtp-usbc.dts b/qcom/blair-mtp-usbc.dts new file mode 100644 index 000000000000..c68cd7fefd93 --- /dev/null +++ b/qcom/blair-mtp-usbc.dts @@ -0,0 +1,10 @@ +/dts-v1/; + +#include "blair.dtsi" +#include "blair-mtp-usbc.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. BLAIR MTP USBC audio"; + compatible = "qcom,blair-mtp", "qcom,blair", "qcom,mtp"; + qcom,board-id = <8 1>; +}; diff --git a/qcom/blair-mtp-usbc.dtsi b/qcom/blair-mtp-usbc.dtsi new file mode 100644 index 000000000000..336d7a250678 --- /dev/null +++ b/qcom/blair-mtp-usbc.dtsi @@ -0,0 +1,2 @@ +/ { +}; From dc01e295ac2e8b36f5b56074ece2c29767f8e6c0 Mon Sep 17 00:00:00 2001 From: Ashish Bhimanpalliwar Date: Thu, 27 May 2021 16:54:38 +0530 Subject: [PATCH 04/46] ARM: dts: msm: Add DT support for nopmi on Blair target Add support for nopmi version of Blair platform. Change-Id: Ib2b5440d4108e42eb1f1dfccb6e6bbee8a358768 --- qcom/Makefile | 10 ++++++++-- qcom/blair-mtp-nopmi-overlay.dts | 12 ++++++++++++ qcom/blair-mtp-nopmi.dts | 11 +++++++++++ qcom/blair-mtp-nopmi.dtsi | 2 ++ qcom/blair-qrd-nopmi-overlay.dts | 12 ++++++++++++ qcom/blair-qrd-nopmi.dts | 11 +++++++++++ qcom/blair-qrd-nopmi.dtsi | 2 ++ 7 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 qcom/blair-mtp-nopmi-overlay.dts create mode 100644 qcom/blair-mtp-nopmi.dts create mode 100644 qcom/blair-mtp-nopmi.dtsi create mode 100644 qcom/blair-qrd-nopmi-overlay.dts create mode 100644 qcom/blair-qrd-nopmi.dts create mode 100644 qcom/blair-qrd-nopmi.dtsi diff --git a/qcom/Makefile b/qcom/Makefile index 97125f2b02c0..d2843e1e640f 100644 --- a/qcom/Makefile +++ b/qcom/Makefile @@ -145,7 +145,9 @@ dtbo-$(CONFIG_ARCH_BLAIR) += blair-rumi-overlay.dtbo \ blair-cdp-overlay.dtbo \ blair-atp-overlay.dtbo \ blair-qrd-overlay.dtbo \ - blair-mtp-usbc-overlay.dtbo + blair-mtp-usbc-overlay.dtbo \ + blair-mtp-nopmi-overlay.dtbo \ + blair-qrd-nopmi-overlay.dtbo blair-rumi-overlay.dtbo-base := blair.dtb blair-mtp-overlay.dtbo-base := blair.dtb @@ -153,13 +155,17 @@ blair-cdp-overlay.dtbo-base := blair.dtb blair-atp-overlay.dtbo-base := blair.dtb blair-qrd-overlay.dtbo-base := blair.dtb blair-mtp-usbc-overlay.dtbo-base := blair.dtb +blair-mtp-nopmi-overlay.dtbo-base := blair.dtb +blair-qrd-nopmi-overlay.dtbo-base := blair.dtb else dtb-$(CONFIG_ARCH_BLAIR) += blair-rumi.dtb \ blair-mtp.dtb \ blair-cdp.dtb \ blair-atp.dtb \ blair-qrd.dtb \ - blair-mtp-usbc.dtb + blair-mtp-usbc.dtb \ + blair-mtp-nopmi.dtb \ + blair-qrd-nopmi.dtb endif ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y) diff --git a/qcom/blair-mtp-nopmi-overlay.dts b/qcom/blair-mtp-nopmi-overlay.dts new file mode 100644 index 000000000000..45f5b62a29a8 --- /dev/null +++ b/qcom/blair-mtp-nopmi-overlay.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +#include "blair-mtp-nopmi.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Blair MTP NOPMI"; + compatible = "qcom,blair-mtp", "qcom,blair", "qcom,mtp"; + qcom,msm-id = <507 0x10000>; + qcom,board-id = <8 0>; +}; + diff --git a/qcom/blair-mtp-nopmi.dts b/qcom/blair-mtp-nopmi.dts new file mode 100644 index 000000000000..aa80d9f34851 --- /dev/null +++ b/qcom/blair-mtp-nopmi.dts @@ -0,0 +1,11 @@ +/dts-v1/; + +#include "blair.dtsi" +#include "blair-mtp-nopmi.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Blair MTP NOPMI"; + compatible = "qcom,blair-mtp", "qcom,blair", "qcom,mtp"; + qcom,board-id = <8 0>; +}; + diff --git a/qcom/blair-mtp-nopmi.dtsi b/qcom/blair-mtp-nopmi.dtsi new file mode 100644 index 000000000000..336d7a250678 --- /dev/null +++ b/qcom/blair-mtp-nopmi.dtsi @@ -0,0 +1,2 @@ +/ { +}; diff --git a/qcom/blair-qrd-nopmi-overlay.dts b/qcom/blair-qrd-nopmi-overlay.dts new file mode 100644 index 000000000000..744a11f3e773 --- /dev/null +++ b/qcom/blair-qrd-nopmi-overlay.dts @@ -0,0 +1,12 @@ +/dts-v1/; +/plugin/; + +#include "blair-qrd-nopmi.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Blair QRD NOPMI"; + compatible = "qcom,blair-qrd", "qcom,blair", "qcom,qrd"; + qcom,msm-id = <507 0x10000>; + qcom,board-id = <0x1000B 0>; +}; + diff --git a/qcom/blair-qrd-nopmi.dts b/qcom/blair-qrd-nopmi.dts new file mode 100644 index 000000000000..f09f4f93d5de --- /dev/null +++ b/qcom/blair-qrd-nopmi.dts @@ -0,0 +1,11 @@ +/dts-v1/; + +#include "blair.dtsi" +#include "blair-qrd-nopmi.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Blair QRD NOPMI"; + compatible = "qcom,blair-qrd", "qcom,blair", "qcom,qrd"; + qcom,board-id = <0x1000B 0>; +}; + diff --git a/qcom/blair-qrd-nopmi.dtsi b/qcom/blair-qrd-nopmi.dtsi new file mode 100644 index 000000000000..336d7a250678 --- /dev/null +++ b/qcom/blair-qrd-nopmi.dtsi @@ -0,0 +1,2 @@ +/ { +}; From 64961993dc1f811e6001403f241458663803c901 Mon Sep 17 00:00:00 2001 From: Naina Mehta Date: Mon, 31 May 2021 12:09:58 +0530 Subject: [PATCH 05/46] ARM: dts: msm: Update board-id for PM7250B Add board-id support for IDP with PM7250B for Yupik platform. Change-Id: I166e6e2b3a3888ab358f7d49920b4d4967161e95 --- qcom/yupik-idp-pm7250b-overlay.dts | 3 +-- qcom/yupik-idp-pm7250b.dts | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/qcom/yupik-idp-pm7250b-overlay.dts b/qcom/yupik-idp-pm7250b-overlay.dts index b2c533d7738a..7bae225d5cf2 100644 --- a/qcom/yupik-idp-pm7250b-overlay.dts +++ b/qcom/yupik-idp-pm7250b-overlay.dts @@ -7,6 +7,5 @@ model = "Qualcomm Technologies, Inc. Yupik IDP + PM7250B"; compatible = "qcom,yupik-idp", "qcom,yupik", "qcom,idp"; qcom,msm-id = <475 0x10000>, <515 0x10000>; - /* Adding dummy Board subtype ID to bypass pmic protocol version check. */ - qcom,board-id = <34 0xFF>; + qcom,board-id = <34 0>; }; diff --git a/qcom/yupik-idp-pm7250b.dts b/qcom/yupik-idp-pm7250b.dts index 45ac21a01659..d487d08acc80 100644 --- a/qcom/yupik-idp-pm7250b.dts +++ b/qcom/yupik-idp-pm7250b.dts @@ -6,6 +6,5 @@ / { model = "Qualcomm Technologies, Inc. Yupik IDP + PM7250B"; compatible = "qcom,yupik-idp", "qcom,yupik", "qcom,idp"; - /* Adding dummy Board subtype ID to bypass pmic protocol version check. */ - qcom,board-id = <34 0xFF>; + qcom,board-id = <34 0>; }; From 1024b62435611052d2c563dfded768ad9cbe4910 Mon Sep 17 00:00:00 2001 From: Yuan Zhao Date: Fri, 21 May 2021 13:19:26 +0800 Subject: [PATCH 06/46] ARM: dts: msm: include display nodes for pm6125 platform of Holi qrd target Included display platform dtsi nodes for qrd platform. Change-Id: I727692996a88a0a7d939892824ec3c06d7f8748f --- qcom/holi-qrd-pm6125.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/qcom/holi-qrd-pm6125.dtsi b/qcom/holi-qrd-pm6125.dtsi index f663af22cfd8..92f333ba00fe 100644 --- a/qcom/holi-qrd-pm6125.dtsi +++ b/qcom/holi-qrd-pm6125.dtsi @@ -3,6 +3,7 @@ #include #include "holi-pmic-overlay-pm6125.dtsi" #include "holi-thermal-overlay-pm6125.dtsi" +#include "display/holi-sde-display-qrd-pm6125.dtsi" #include &wcd938x_codec { From 4a0a9bf7d06360cc71597d2c2ef31577d9d70c57 Mon Sep 17 00:00:00 2001 From: Santosh Mardi Date: Mon, 7 Jun 2021 13:17:27 +0530 Subject: [PATCH 07/46] ARM: dts: msm: add cpulist to compute mon governor in blair target Add cpulist to compute mon governor nodes to monitor specified cpulist instead of super set cpulist of complete memlat group. Change-Id: I27f905ecd01a1e7800322802a5ae75dce5f7f58c --- qcom/blair.dtsi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/qcom/blair.dtsi b/qcom/blair.dtsi index 6d3b9158511b..b2437923577e 100644 --- a/qcom/blair.dtsi +++ b/qcom/blair.dtsi @@ -1535,6 +1535,7 @@ cpu0_computemon: qcom,cpu0-computemon { compatible = "qcom,arm-compute-mon"; + qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3 &CPU4 &CPU5>; qcom,target-dev = <&cpu0_cpu_ddr_latfloor>; qcom,core-dev-table = < 691200 MHZ_TO_MBPS( 300, 4) >, @@ -1578,6 +1579,7 @@ cpu6_computemon: qcom,cpu6-computemon { compatible = "qcom,arm-compute-mon"; + qcom,cpulist = <&CPU6 &CPU7>; qcom,target-dev = <&cpu6_cpu_ddr_latfloor>; qcom,core-dev-table = < 1248800 MHZ_TO_MBPS( 547, 4) >, From 26d4b36f632f9820a259132bdd52673105466bb8 Mon Sep 17 00:00:00 2001 From: Tapas Dey Date: Thu, 3 Jun 2021 14:13:08 +0530 Subject: [PATCH 08/46] ARM: dts: msm: Add I2C NFC device node for holi pro QRD variant Device node changes required on holi pro describing the GPIO configuration for Nfc controller chip. Modified corresponding Nfc device node for QRD platform. Change-Id: I136c8a39bfe577c44503d79656ee08c8e51b23ab --- qcom/holi-qrd-pm6125.dtsi | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/qcom/holi-qrd-pm6125.dtsi b/qcom/holi-qrd-pm6125.dtsi index 92f333ba00fe..03a022f1203f 100644 --- a/qcom/holi-qrd-pm6125.dtsi +++ b/qcom/holi-qrd-pm6125.dtsi @@ -88,6 +88,29 @@ status = "ok"; }; +&qupv3_se0_i2c { + status = "ok"; + #address-cells = <1>; + #size-cells = <0>; + nq@28 { + compatible = "qcom,sn-nci"; + reg = <0x28>; + qcom,sn-irq = <&tlmm 9 0x00>; + qcom,sn-ven = <&tlmm 6 0x00>; + qcom,sn-firm = <&tlmm 8 0x00>; + qcom,sn-clkreq = <&tlmm 7 0x00>; + qcom,sn-vdd-1p8-supply = <&L9A>; + qcom,sn-vdd-1p8-voltage = <1800000 1800000>; + qcom,sn-vdd-1p8-current = <157000>; + interrupt-parent = <&tlmm>; + interrupts = <9 0>; + interrupt-names = "nfc_irq"; + pinctrl-names = "nfc_active", "nfc_suspend"; + pinctrl-0 = <&nfc_int_active &nfc_enable_active>; + pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>; + }; +}; + &wsa881x_analog_reset_gpio { compatible = "qcom,msm-cdc-pinctrl"; pinctrl-names = "aud_active", "aud_sleep"; From e288930ec668af39de90908bb9238493e9f8b4a0 Mon Sep 17 00:00:00 2001 From: Ashish Bhimanpalliwar Date: Mon, 7 Jun 2021 17:02:47 +0530 Subject: [PATCH 09/46] ARM: dts: msm: Updating platform dtb(s) for blair targetr Change to update platform (mtp, cdp and qrd) dtbs to avoid conflicts with other target platforms for blair target. Change-Id: Ic9555c52804ad4e5837df9c879b1a0f3cfd93fdd --- qcom/blair-cdp.dtsi | 366 +++++++++++++++++++++++- qcom/blair-mtp.dtsi | 431 +++++++++++++++++++++++++++- qcom/blair-qrd.dtsi | 675 +++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 1457 insertions(+), 15 deletions(-) diff --git a/qcom/blair-cdp.dtsi b/qcom/blair-cdp.dtsi index 5fd4a5cf3890..5daf868128c5 100644 --- a/qcom/blair-cdp.dtsi +++ b/qcom/blair-cdp.dtsi @@ -1,22 +1,309 @@ -#include "holi-cdp-pm6125.dtsi" +#include "holi-audio-overlay.dtsi" +#include +#include +#include "holi-pmic-overlay-pm6125.dtsi" +#include "holi-thermal-overlay-pm6125.dtsi" +#include "display/holi-sde-display-cdp-pm6125.dtsi" +#include #include "display/blair-sde-display-cdp.dtsi" -/ { -}; - -&ufsphy_mem { - compatible = "qcom,ufs-phy-qmp-v4-yupik"; - vdda-phy-max-microamp = <85700>; -}; &pm6125_pwm { status = "ok"; }; +&wcd938x_codec { + cdc-vdd-rxtx-supply = <&L9A>; + cdc-vddio-supply = <&L9A>; + qcom,cdc-static-supplies = "cdc-vdd-rxtx", + "cdc-vddio"; + /* + * Overriding cdc-vdd-mic-bias-supply to dummy value + * to avoid compilation errors as BOB is not definied + * for pm6125 + */ + cdc-vdd-mic-bias-supply = <>; +}; + +&wcd937x_codec { + cdc-vdd-rxtx-supply = <&L9A>; + cdc-vddio-supply = <&L9A>; + qcom,cdc-static-supplies = "cdc-vdd-rxtx", + "cdc-vddpx"; + /* + * Overriding cdc-vdd-mic-bias-supply to dummy value + * to avoid compilation errors as BOB is not definied + * for pm6125 + */ + cdc-vdd-mic-bias-supply = <>; +}; + +&wsa881x_i2c_e { + cdc-vdd-1p8-supply = <&L9A>; +}; + +&wsa881x_i2c_f { + cdc-vdd-1p8-supply = <&L9A>; +}; + +/* Dummy LDO reference */ +&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>; +}; + +&ufsphy_mem { + compatible = "qcom,ufs-phy-qmp-v4-yupik"; + + vdda-phy-supply = <&L7A>; + vdda-pll-supply = <&L4A>; + vdda-phy-max-microamp = <85700>; + vdda-pll-max-microamp = <18300>; + + + status = "ok"; +}; + +&ufshc_mem { + vdd-hba-supply = <&gcc_ufs_phy_gdsc>; + vdd-hba-fixed-regulator; + + vcc-supply = <&L24A>; + vcc-voltage-level = <2950000 2960000>; + vcc-max-microamp = <800000>; + + vccq2-supply = <&L11A>; + vccq2-max-microamp = <800000>; + vccq2-voltage-level = <1800000 1800000>; + + qcom,vddp-ref-clk-supply = <&L4A>; + qcom,vddp-ref-clk-max-microamp = <100>; + + status = "ok"; +}; + +&qupv3_se0_i2c { + status = "ok"; + #address-cells = <1>; + #size-cells = <0>; + nq@28 { + compatible = "qcom,sn-nci"; + reg = <0x28>; + qcom,sn-irq = <&tlmm 9 0x00>; + qcom,sn-ven = <&tlmm 6 0x00>; + qcom,sn-firm = <&tlmm 8 0x00>; + qcom,sn-clkreq = <&tlmm 7 0x00>; + qcom,sn-vdd-1p8-supply = <&L9A>; + qcom,sn-vdd-1p8-voltage = <1800000 1800000>; + qcom,sn-vdd-1p8-current = <157000>; + interrupt-parent = <&tlmm>; + interrupts = <9 0>; + interrupt-names = "nfc_irq"; + pinctrl-names = "nfc_active", "nfc_suspend"; + pinctrl-0 = <&nfc_int_active &nfc_enable_active>; + pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>; + }; +}; + +&soc { + 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 = ; + gpio-key,wakeup; + debounce-interval = <15>; + linux,can-disable; + }; + }; +}; + +&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; +}; + +&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>; + }; +}; + &qupv3_se8_i2c { #address-cells = <1>; #size-cells = <0>; + status = "okay"; + qcom,i2c-touch-active="synaptics,tcm-i2c"; - status = "ok"; + 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"; + + panel = <&dsi_rm69299_visionox_amoled_video + &dsi_rm69299_visionox_amoled_cmd>; + }; + + 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>; + + 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"; @@ -26,7 +313,7 @@ interrupts = <22 0x2008>; pinctrl-names = "pmx_ts_active","pmx_ts_suspend", - "pmx_ts_release"; + "pmx_ts_release"; pinctrl-0 = <&ts_active>; pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; @@ -40,3 +327,62 @@ &dsi_nt36672e_fhd_plus_144_video>; }; }; + +#include "camera/blair-camera-sensor-cdp.dtsi" + +&pm7250b_charger { + dpdm-supply = <&qusb_phy0>; + + smb5_vbus: qcom,smb5-vbus { + regulator-name = "smb5-vbus"; + }; + + smb5_vconn: qcom,smb5-vconn { + regulator-name = "smb5-vconn"; + }; +}; + +&pm7250b_pdphy { + vdd-pdphy-supply = <&L3A>; + 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"; +}; + +&usb0 { + + #io-channel-cells = <1>; + io-channels= <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>; + io-channel-names = "chg_type"; +}; + + diff --git a/qcom/blair-mtp.dtsi b/qcom/blair-mtp.dtsi index a6d49cabf0d7..57cfbb5efe4b 100644 --- a/qcom/blair-mtp.dtsi +++ b/qcom/blair-mtp.dtsi @@ -1,9 +1,432 @@ -#include "holi-mtp-pm6125.dtsi" +#include "holi-audio-overlay.dtsi" +#include +#include +#include "holi-pmic-overlay-pm6125.dtsi" +#include "holi-thermal-overlay-pm6125.dtsi" +#include "display/holi-sde-display-mtp-pm6125.dtsi" +#include #include "display/blair-sde-display-mtp.dtsi" -/ { + + + +&wcd938x_codec { + cdc-vdd-rxtx-supply = <&L9A>; + cdc-vddio-supply = <&L9A>; + qcom,cdc-static-supplies = "cdc-vdd-rxtx", + "cdc-vddio"; + /* + * Overriding cdc-vdd-mic-bias-supply to dummy value + * to avoid compilation errors as BOB is not definied + * for pm6125 + */ + cdc-vdd-mic-bias-supply = <>; +}; + +&wcd937x_codec { + cdc-vdd-rxtx-supply = <&L9A>; + cdc-vddio-supply = <&L9A>; + qcom,cdc-static-supplies = "cdc-vdd-rxtx", + "cdc-vddpx"; + /* + * Overriding cdc-vdd-mic-bias-supply to dummy value + * to avoid compilation errors as BOB is not definied + * for pm6125 + */ + cdc-vdd-mic-bias-supply = <>; +}; + +&wsa881x_i2c_e { + cdc-vdd-1p8-supply = <&L9A>; +}; + +&wsa881x_i2c_f { + cdc-vdd-1p8-supply = <&L9A>; +}; + +/* Dummy LDO reference */ +&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>; }; &ufsphy_mem { - compatible = "qcom,ufs-phy-qmp-v4-yupik"; - vdda-phy-max-microamp = <85700>; + compatible = "qcom,ufs-phy-qmp-v4-yupik"; + + vdda-phy-supply = <&L7A>; + vdda-pll-supply = <&L4A>; + vdda-phy-max-microamp = <85700>; + vdda-pll-max-microamp = <18300>; + + status = "ok"; }; + +&ufshc_mem { + vdd-hba-supply = <&gcc_ufs_phy_gdsc>; + vdd-hba-fixed-regulator; + + vcc-supply = <&L24A>; + vcc-voltage-level = <2950000 2960000>; + vcc-max-microamp = <800000>; + + vccq2-supply = <&L11A>; + vccq2-max-microamp = <800000>; + vccq2-voltage-level = <1800000 1800000>; + + qcom,vddp-ref-clk-supply = <&L4A>; + qcom,vddp-ref-clk-max-microamp = <100>; + + status = "ok"; +}; + +&qupv3_se0_i2c { + status = "ok"; + #address-cells = <1>; + #size-cells = <0>; + nq@28 { + compatible = "qcom,sn-nci"; + reg = <0x28>; + qcom,sn-irq = <&tlmm 9 0x00>; + qcom,sn-ven = <&tlmm 6 0x00>; + qcom,sn-firm = <&tlmm 8 0x00>; + qcom,sn-clkreq = <&tlmm 7 0x00>; + qcom,sn-vdd-1p8-supply = <&L9A>; + qcom,sn-vdd-1p8-voltage = <1800000 1800000>; + qcom,sn-vdd-1p8-current = <157000>; + interrupt-parent = <&tlmm>; + interrupts = <9 0>; + interrupt-names = "nfc_irq"; + pinctrl-names = "nfc_active", "nfc_suspend"; + pinctrl-0 = <&nfc_int_active &nfc_enable_active>; + pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>; + }; +}; + +&soc { + 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 = ; + gpio-key,wakeup; + debounce-interval = <15>; + linux,can-disable; + }; + }; + + mtp_batterydata: qcom,battery-data { + qcom,batt-id-range-pct = <15>; + #include "qg-batterydata-alium-3600mah.dtsi" + #include "qg-batterydata-atl466271_3300mAh.dtsi" + #include "qg-batterydata-atl436186020H_3780mAh.dtsi" + }; +}; + +&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>; + }; +}; + +&qupv3_se8_i2c { + 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"; + + panel = <&dsi_rm69299_visionox_amoled_video + &dsi_rm69299_visionox_amoled_cmd>; + }; +}; + +&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>, + <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_MODE>, + <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_OUTPUT_MODE>, + <&smb1394_div2_cp_primary PSY_IIO_MIN_ICL>, + <&smb1394_div2_cp_primary PSY_IIO_CP_SWITCHER_EN>, + <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>, + <&smb1394_div2_cp_primary PSY_IIO_CP_ILIM>, + <&smb1394_div2_cp_primary PSY_IIO_CP_DIE_TEMP>; + 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", + "cp_parallel_mode", + "cp_parallel_output_mode", + "cp_min_icl", + "cp_switcher_en", + "cp_enable", + "cp_ilim", + "cp_die_temp"; + qcom,battery-data = <&mtp_batterydata>; + qcom,sec-charger-config = <1>; + 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; + qcom,fcc-stepping-enable; + qcom,fcc-step-delay-ms = <100>; + qcom,fcc-step-size-ua = <100000>; + qcom,smb-internal-pull-kohm = <0>; + qcom,en-skin-therm-mitigation; + qcom,hvdcp3-standalone-config; +}; + +&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>, + <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>; + io-channel-names = "batt-therm", + "batt-id", + "input_current_limited", + "recharge_soc", + "force_recharge", + "charge_done", + "cp_charging_enabled"; + qcom,battery-data = <&mtp_batterydata>; + qcom,qg-iterm-ma = <150>; + qcom,hold-soc-while-full; + qcom,linearize-soc; + qcom,cl-feedback-on; + qcom,tcss-enable; + qcom,fvss-enable; + qcom,fvss-vbatt-mv = <3300>; + qcom,bass-enable; + qcom,use-cp-iin-sns; +}; + +&pm7250b_vadc { + smb1390_therm@e { + qcom,scale-fn-type = ; + }; +}; + +&pm7250b_gpios { + smb_stat { + smb_stat_default: smb_stat_default { + pins = "gpio6"; + function = "normal"; + input-enable; + bias-pull-up; + qcom,pull-up-strength = ; + power-source = <0>; + }; + }; +}; + +&qupv3_se10_i2c { + status = "ok"; + #include "smb1394.dtsi" +}; + +&smb1394 { + interrupts = <0x2 0xc5 0x0 IRQ_TYPE_LEVEL_LOW>; + interrupt-parent = <&spmi_bus>; + interrupt-names = "smb1394"; + pinctrl-names = "default"; + qcom,enable-toggle-stat; + pinctrl-0 = <&smb_stat_default>; + status = "ok"; +}; + +&smb1394_div2_cp_primary { + io-channels = <&pm7250b_vadc ADC5_AMUX_THM2>, + <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>, + <&pm7250b_charger PSY_IIO_ADAPTER_CC_MODE>, + <&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>, + <&pm7250b_charger PSY_IIO_USB_INPUT_CURRENT_SETTLED>, + <&pm7250b_charger PSY_IIO_SMB_EN_MODE>, + <&pm7250b_charger PSY_IIO_SMB_EN_REASON>; + io-channel-names = "die_temp", + "real_type", + "adapter_cc_mode", + "pd_current_max", + "input_current_settled", + "smb_en_mode", + "smb_en_reason"; + qcom,parallel-input-mode = <1>; /* USBIN */ + qcom,parallel-output-mode = <2>; /* VBAT */ + status = "ok"; +}; + +#include "camera/blair-camera-sensor-mtp.dtsi" + +&pm7250b_charger { + dpdm-supply = <&qusb_phy0>; + + smb5_vbus: qcom,smb5-vbus { + regulator-name = "smb5-vbus"; + }; + + smb5_vconn: qcom,smb5-vconn { + regulator-name = "smb5-vconn"; + }; +}; + +&pm7250b_pdphy { + vdd-pdphy-supply = <&L3A>; + 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"; +}; + +&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"; +}; + + diff --git a/qcom/blair-qrd.dtsi b/qcom/blair-qrd.dtsi index 0014141744c7..7d88d673165d 100644 --- a/qcom/blair-qrd.dtsi +++ b/qcom/blair-qrd.dtsi @@ -1,6 +1,679 @@ -#include "holi-qrd-pm6125.dtsi" +#include "holi-audio-overlay.dtsi" +#include +#include +#include "holi-pmic-overlay-pm6125.dtsi" +#include "display/holi-sde-display-qrd-pm6125.dtsi" +#include "holi-thermal-overlay-pm6125.dtsi" +#include + +&wcd938x_codec { + cdc-vdd-rxtx-supply = <&L9A>; + cdc-vddio-supply = <&L9A>; + qcom,cdc-static-supplies = "cdc-vdd-rxtx", + "cdc-vddio"; + /* + * Overriding cdc-vdd-mic-bias-supply to dummy value + * to avoid compilation errors as BOB is not definied + * for pm6125 + */ + cdc-vdd-mic-bias-supply = <>; +}; + +&wcd937x_codec { + status = "ok"; + /delete-property/ cdc-vdd-mic-bias-supply; + /delete-property/ qcom,cdc-vdd-mic-bias-voltage; + /delete-property/ qcom,cdc-vdd-mic-bias-current; + cdc-vdd-rxtx-supply = <&L9A>; + cdc-vddio-supply = <&L9A>; + qcom,cdc-static-supplies = "cdc-vdd-rxtx", + "cdc-vddpx"; + /* + * Overriding cdc-vdd-mic-bias-supply to dummy value + * to avoid compilation errors as BOB is not definied + * for pm6125 + */ + cdc-vdd-mic-bias-supply = <>; +}; + +&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>; +}; &ufsphy_mem { compatible = "qcom,ufs-phy-qmp-v4-yupik"; + vdda-phy-supply = <&L18A>; + vdda-pll-supply = <&L22A>; vdda-phy-max-microamp = <85700>; + vdda-pll-max-microamp = <18300>; + + status = "ok"; +}; + +&ufshc_mem { + vdd-hba-supply = <&gcc_ufs_phy_gdsc>; + vdd-hba-fixed-regulator; + + vcc-supply = <&L7E>; + vcc-voltage-level = <2950000 2960000>; + vcc-max-microamp = <800000>; + + vccq2-supply = <&L12A>; + vccq2-max-microamp = <800000>; + vccq2-voltage-level = <1800000 1800000>; + + qcom,vddp-ref-clk-supply = <&L22A>; + qcom,vddp-ref-clk-max-microamp = <100>; + + status = "ok"; +}; + +&qupv3_se0_i2c { + status = "ok"; + #address-cells = <1>; + #size-cells = <0>; + nq@28 { + compatible = "qcom,sn-nci"; + reg = <0x28>; + qcom,sn-irq = <&tlmm 9 0x00>; + qcom,sn-ven = <&tlmm 6 0x00>; + qcom,sn-firm = <&tlmm 8 0x00>; + qcom,sn-clkreq = <&tlmm 7 0x00>; + qcom,sn-vdd-1p8-supply = <&L9A>; + qcom,sn-vdd-1p8-voltage = <1800000 1800000>; + qcom,sn-vdd-1p8-current = <157000>; + interrupt-parent = <&tlmm>; + interrupts = <9 0>; + interrupt-names = "nfc_irq"; + pinctrl-names = "nfc_active", "nfc_suspend"; + pinctrl-0 = <&nfc_int_active &nfc_enable_active>; + pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>; + }; +}; + +&wsa881x_analog_reset_gpio { + compatible = "qcom,msm-cdc-pinctrl"; + pinctrl-names = "aud_active", "aud_sleep"; + pinctrl-0 = <&spkr_1_sd_n_active>; + pinctrl-1 = <&spkr_1_sd_n_sleep>; +}; + +&wsa881x_i2c_e { + status = "ok"; + cdc-vdd-1p8-supply = <&L9A>; + compatible = "qcom,wsa881x-i2c-codec"; + reg = <0x0e>; + clock-names = "wsa_mclk"; + clocks = <&wsa881x_analog_clk 0>; + qcom,wsa-analog-clk-gpio = <&wsa881x_analog_clk_gpio>; + qcom,wsa-analog-reset-gpio = <&wsa881x_analog_reset_gpio>; +}; + +&holi_snd { + qcom,model = "holi-qrd-snd-card"; + qcom,sku-model = "holi-qrdsku1-snd-card"; + qcom,msm-mi2s-master = <1>, <1>, <1>, <1>; + qcom,wcn-btfm = <1>; + qcom,audio-routing = + "AMIC1", "Analog Mic1", + "Analog Mic1", "MIC BIAS1", + "AMIC2", "Analog Mic2", + "Analog Mic2", "MIC BIAS2", + "AMIC3", "Analog Mic3", + "Analog Mic3", "MIC BIAS3", + "AMIC4", "Analog Mic4", + "Analog Mic4", "MIC BIAS3", + "TX DMIC0", "Digital Mic0", + "TX DMIC0", "MIC BIAS1", + "TX DMIC1", "Digital Mic1", + "TX DMIC1", "MIC BIAS1", + "TX DMIC2", "Digital Mic2", + "TX DMIC2", "MIC BIAS3", + "TX DMIC3", "Digital Mic3", + "TX DMIC3", "MIC BIAS3", + "IN1_HPHL", "HPHL_OUT", + "IN2_HPHR", "HPHR_OUT", + "IN3_AUX", "AUX_OUT", + "RX_TX DEC0_INP", "TX DEC0 MUX", + "RX_TX DEC1_INP", "TX DEC1 MUX", + "RX_TX DEC2_INP", "TX DEC2 MUX", + "RX_TX DEC3_INP", "TX DEC3 MUX", + "SpkrMono WSA_IN", "AUX", + "TX SWR_INPUT", "WCD_TX_OUTPUT", + "VA SWR_INPUT", "VA_SWR_CLK", + "VA SWR_INPUT", "WCD_TX_OUTPUT", + "VA_AIF1 CAP", "VA_SWR_CLK", + "VA_AIF2 CAP", "VA_SWR_CLK", + "VA_AIF3 CAP", "VA_SWR_CLK", + "VA DMIC0", "Digital Mic0", + "VA DMIC1", "Digital Mic1", + "VA DMIC2", "Digital Mic2", + "VA DMIC3", "Digital Mic3", + "VA DMIC4", "Digital Mic4", + "VA DMIC5", "Digital Mic5", + "VA DMIC0", "VA MIC BIAS1", + "VA DMIC1", "VA MIC BIAS1", + "VA DMIC2", "VA MIC BIAS3", + "VA DMIC3", "VA MIC BIAS3"; + qcom,msm-mbhc-hphl-swh = <1>; + qcom,msm-mbhc-gnd-swh = <1>; + qcom,cdc-dmic01-gpios = <&cdc_dmic01_gpios>; + qcom,cdc-dmic23-gpios = <&cdc_dmic23_gpios>; + asoc-codec = <&stub_codec>, <&bolero>, + <&wcd937x_codec>, <&wsa881x_i2c_e>; + asoc-codec-names = "msm-stub-codec.1", "bolero_codec", + "wcd937x_codec", "wsa-codec0"; + qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>, <&lpi_tlmm>, + <&bolero>; +}; + +&soc { + 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 = ; + gpio-key,wakeup; + debounce-interval = <15>; + linux,can-disable; + }; + }; + + qrd_batterydata: qcom,battery-data { + qcom,batt-id-range-pct = <15>; + #include "qg-batterydata-atl436186020H_3780mAh.dtsi" + #include "qg-batterydata-atl466271_3300mAh.dtsi" + }; +}; + +&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>, + <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_MODE>, + <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_OUTPUT_MODE>, + <&smb1394_div2_cp_primary PSY_IIO_MIN_ICL>, + <&smb1394_div2_cp_primary PSY_IIO_CP_SWITCHER_EN>, + <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>, + <&smb1394_div2_cp_primary PSY_IIO_CP_ILIM>, + <&smb1394_div2_cp_primary PSY_IIO_CP_DIE_TEMP>; + 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", + "cp_parallel_mode", + "cp_parallel_output_mode", + "cp_min_icl", + "cp_switcher_en", + "cp_enable", + "cp_ilim", + "cp_die_temp"; + qcom,battery-data = <&qrd_batterydata>; + qcom,sec-charger-config = <1>; + 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; + qcom,fcc-stepping-enable; + qcom,fcc-step-delay-ms = <100>; + qcom,fcc-step-size-ua = <100000>; + qcom,smb-internal-pull-kohm = <0>; + qcom,en-skin-therm-mitigation; + qcom,thermal-mitigation = <10000000 9500000 9000000 8500000 8000000 + 7500000 7000000 6500000 6000000 5500000 5000000 4500000 + 4000000 3500000 3000000 2500000 2000000 1500000 1000000 + 500000>; +}; + +&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>, + <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>; + io-channel-names = "batt-therm", + "batt-id", + "input_current_limited", + "recharge_soc", + "force_recharge", + "charge_done", + "cp_charging_enabled"; + qcom,qg-iterm-ma = <150>; + qcom,hold-soc-while-full; + qcom,linearize-soc; + qcom,cl-feedback-on; + qcom,tcss-enable; + qcom,fvss-enable; + qcom,fvss-vbatt-mv = <3300>; + qcom,bass-enable; + qcom,use-cp-iin-sns; +}; + +&pm7250b_charger { + dpdm-supply = <&qusb_phy0>; + + smb5_vbus: qcom,smb5-vbus { + regulator-name = "smb5-vbus"; + }; + + smb5_vconn: qcom,smb5-vconn { + regulator-name = "smb5-vconn"; + }; +}; + +&pm7250b_pdphy { + vdd-pdphy-supply = <&L3A>; + 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"; +}; + +&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"; +}; + +&pm7250b_vadc { + smb1390_therm@e { + qcom,scale-fn-type = ; + }; +}; + +&pm7250b_gpios { + smb_stat { + smb_stat_default: smb_stat_default { + pins = "gpio6"; + function = "normal"; + input-enable; + bias-pull-up; + qcom,pull-up-strength = ; + power-source = <0>; + }; + }; +}; + +&qupv3_se10_i2c { + status = "ok"; + #include "smb1394.dtsi" +}; + +&smb1394 { + interrupts = <0x2 0xc5 0x0 IRQ_TYPE_LEVEL_LOW>; + interrupt-parent = <&spmi_bus>; + interrupt-names = "smb1394"; + pinctrl-names = "default"; + qcom,enable-toggle-stat; + pinctrl-0 = <&smb_stat_default>; + status = "ok"; +}; + +&smb1394_div2_cp_primary { + io-channels = <&pm7250b_vadc ADC5_AMUX_THM2>, + <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>, + <&pm7250b_charger PSY_IIO_ADAPTER_CC_MODE>, + <&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>, + <&pm7250b_charger PSY_IIO_USB_INPUT_CURRENT_SETTLED>, + <&pm7250b_charger PSY_IIO_SMB_EN_MODE>, + <&pm7250b_charger PSY_IIO_SMB_EN_REASON>; + io-channel-names = "die_temp", + "real_type", + "adapter_cc_mode", + "pd_current_max", + "input_current_settled", + "smb_en_mode", + "smb_en_reason"; + qcom,parallel-input-mode = <1>; /* USBIN */ + qcom,parallel-output-mode = <2>; /* VBAT */ + status = "ok"; +}; + +&thermal_zones { + quiet-therm-step { + polling-delay-passive = <2000>; + polling-delay = <0>; + thermal-governor = "step_wise"; + thermal-sensors = <&pm6125_adc_tm ADC5_AMUX_THM2_100K_PU>; + trips { + battery_trip0: battery-trip0 { + temperature = <42000>; + hysteresis = <2000>; + type = "passive"; + }; + + modem_skin_trip0: modem-skin-trip0 { + temperature = <42000>; + hysteresis = <4000>; + type = "passive"; + }; + + gold_trip: gold-trip { + temperature = <43000>; + hysteresis = <0>; + type = "passive"; + }; + + battery_trip1: battery-trip1 { + temperature = <44000>; + hysteresis = <2000>; + type = "passive"; + }; + + modem_skin_trip1: modem-skin-trip1 { + temperature = <44000>; + hysteresis = <4000>; + type = "passive"; + }; + + silver_trip: silver-trip { + temperature = <45000>; + hysteresis = <0>; + type = "passive"; + }; + + battery_trip2: battery-trip2 { + temperature = <46000>; + hysteresis = <2000>; + type = "passive"; + }; + + battery_trip3: battery-trip3 { + temperature = <47000>; + hysteresis = <1000>; + type = "passive"; + }; + + battery_trip4: battery-trip4 { + temperature = <48000>; + hysteresis = <1000>; + type = "passive"; + }; + + cx_trip: cx-trip { + temperature = <55000>; + hysteresis = <5000>; + type = "passive"; + }; + }; + + cooling-maps { + cdsp-cdev { + trip = <&cx_trip>; + cooling-device = <&cdsp_sw 4 4>; + }; + + gpu-cdev0 { + trip = <&modem_skin_trip1>; + /* throttle to 650000000Hz */ + cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-4) + (THERMAL_MAX_LIMIT-4)>; + }; + + gpu-cdev1 { + trip = <&cx_trip>; + /* throttle to 565000000Hz */ + cooling-device = <&msm_gpu (THERMAL_MAX_LIMIT-3) + (THERMAL_MAX_LIMIT-3)>; + }; + + silver-cdev { + trip = <&silver_trip>; + /* throttle to 1478400KHz */ + cooling-device = <&CPU0 (THERMAL_MAX_LIMIT-6) + (THERMAL_MAX_LIMIT-6)>; + }; + + gold-cdev { + trip = <&gold_trip>; + /* throttle to 1536000KHz */ + cooling-device = <&CPU6 (THERMAL_MAX_LIMIT-5) + (THERMAL_MAX_LIMIT-5)>; + }; + + modem-skin-cdev0 { + trip = <&modem_skin_trip0>; + cooling-device = <&modem_skin 1 1>; + }; + + modem-skin-cdev1 { + trip = <&modem_skin_trip1>; + cooling-device = <&modem_skin 2 2>; + }; + + modem-skin-cdev2 { + trip = <&cx_trip>; + cooling-device = <&modem_skin 3 3>; + }; + + battery-cdev0 { + trip = <&battery_trip0>; + cooling-device = <&pm7250b_charger 6 6>; + }; + + battery-cdev1 { + trip = <&battery_trip1>; + cooling-device = <&pm7250b_charger 10 10>; + }; + + battery-cdev2 { + trip = <&battery_trip2>; + cooling-device = <&pm7250b_charger 14 14>; + }; + + battery-cdev3 { + trip = <&battery_trip3>; + cooling-device = <&pm7250b_charger 16 16>; + }; + + battery-cdev4 { + trip = <&battery_trip4>; + cooling-device = <&pm7250b_charger 18 18>; + }; + }; + }; + + pa-therm0-step { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "step_wise"; + thermal-sensors = <&pm6125_adc_tm ADC5_AMUX_THM1_100K_PU>; + trips { + modem_trip0: modem-trip0 { + temperature = <46000>; + hysteresis = <4000>; + type = "passive"; + }; + + modem_trip1: modem-trip1 { + temperature = <47000>; + hysteresis = <4000>; + type = "passive"; + }; + + modem_trip2: modem-trip2 { + temperature = <54000>; + hysteresis = <4000>; + type = "passive"; + }; + }; + + cooling-maps { + modem-cdev0 { + trip = <&modem_trip0>; + cooling-device = <&modem_pa 1 1>; + }; + + modem-cdev1 { + trip = <&modem_trip1>; + cooling-device = <&modem_pa 2 2>; + }; + + modem-cdev2 { + trip = <&modem_trip2>; + cooling-device = <&modem_pa 3 3>; + }; + }; + }; + + xo-therm-step { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "step_wise"; + thermal-sensors = <&pmk8350_adc_tm PMK8350_ADC7_AMUX_THM1_100K_PU>; + trips { + modem_pa_fr1_trip0: modem-pa-fr1-trip0 { + temperature = <45000>; + hysteresis = <4000>; + type = "passive"; + }; + + modem_pa_fr1_trip1: modem-pa-fr1-trip1 { + temperature = <46000>; + hysteresis = <4000>; + type = "passive"; + }; + + modem_pa_fr1_trip2: modem-pa-fr1-trip2 { + temperature = <56000>; + hysteresis = <4000>; + type = "passive"; + }; + }; + + cooling-maps { + modem_pa_fr1_cdev0 { + trip = <&modem_pa_fr1_trip0>; + cooling-device = <&modem_pa_fr1 1 1>; + }; + + modem_pa_fr1_cdev1 { + trip = <&modem_pa_fr1_trip1>; + cooling-device = <&modem_pa_fr1 2 2>; + }; + + modem_pa_fr1_cdev2 { + trip = <&modem_pa_fr1_trip2>; + cooling-device = <&modem_pa_fr1 3 3>; + }; + }; + }; }; From b62bff1524a030a3600a8ec45354d654acb4b1e3 Mon Sep 17 00:00:00 2001 From: Pankaj Gupta Date: Mon, 18 May 2020 13:22:18 +0530 Subject: [PATCH 10/46] dt-bindings: Add victims_table bindings for cx_ipeak driver Victim table support for client to register and throttle freq based on the cx-ipeak interrupt notifier callbacks to clients. Change-Id: I9717056e638ed70f5bf848f99f07a0b2c6919938 --- bindings/soc/qcom/qcom,cx_ipeak.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/bindings/soc/qcom/qcom,cx_ipeak.txt b/bindings/soc/qcom/qcom,cx_ipeak.txt index 42dd78ba50fe..79e99d348914 100644 --- a/bindings/soc/qcom/qcom,cx_ipeak.txt +++ b/bindings/soc/qcom/qcom,cx_ipeak.txt @@ -6,17 +6,37 @@ if it is going to cross its own threshold. If all clients are going to cross their thresholds then Cx ipeak hw module will raise an interrupt to cDSP block to throttle cDSP's fmax. +There are SOC like SCUBA where Cx ipeak HW module raised interrupt will +throttle frequency of other victim clients. + Required properties: +- #size-cells : Must be 1 + - compatible : name of the component used for driver matching, should be one "qcom,cx-ipeak-v1", "qcom,cx-ipeak-v2" - reg : physical base address and length of the register set(s), SRAM and XPU of the component. +Optional properties: + +- interrupts : Danger and Safe interrupts details having interrupt number and + type of interrupt. + +- interrupt-names : Identifier names for Danger and Safe interrupts. + +- victims_table : Victim clients details having client ID, victim ID and + limit frequency to be applied in case of danger interrupt. + Example: cx_ipeak_lm: cx_ipeak@1fe5040 { + #size-cells = <1>; compatible = "qcom,cx-ipeak-v1"; reg = <0x01fe5040 0x28>; + interrupts = <0 415 IRQ_TYPE_EDGE_RISING>, + <0 416 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "cx_ipeak_danger", "cx_ipeak_safe"; + victims_table = <1 0 844800000>; }; From ea130acc092e2c4575898218d8ac2717c0bc40d8 Mon Sep 17 00:00:00 2001 From: Manaf Meethalavalappu Pallikunhi Date: Tue, 8 Jun 2021 20:16:44 +0530 Subject: [PATCH 11/46] ARM: dts: qcom: enable cx ipeak common driver for holi-pm6125 Enable common driver to limit Cx ipeak based on voting from various clients in multimedia. Change-Id: I8e89c8acd40716936943d6e100e4cee05b9a68f6 --- qcom/holi-cdp-pm6125.dtsi | 7 +++++++ qcom/holi-mtp-pm6125.dtsi | 7 +++++++ qcom/holi-mtp-usbc-pm6125.dtsi | 7 +++++++ qcom/holi-qrd-pm6125.dtsi | 7 +++++++ 4 files changed, 28 insertions(+) diff --git a/qcom/holi-cdp-pm6125.dtsi b/qcom/holi-cdp-pm6125.dtsi index e85d061a45f3..fc52a355f145 100644 --- a/qcom/holi-cdp-pm6125.dtsi +++ b/qcom/holi-cdp-pm6125.dtsi @@ -148,6 +148,13 @@ linux,can-disable; }; }; + + cx_ipeak_lm: cx_ipeak@3ed000 { + #size-cells = <1>; + compatible = "qcom,cx-ipeak-v2"; + reg = <0x3ed000 0xe010>; + status = "ok"; + }; }; &pm7250b_charger { diff --git a/qcom/holi-mtp-pm6125.dtsi b/qcom/holi-mtp-pm6125.dtsi index 5138898ec886..d6a0c69ba746 100644 --- a/qcom/holi-mtp-pm6125.dtsi +++ b/qcom/holi-mtp-pm6125.dtsi @@ -155,6 +155,13 @@ #include "qg-batterydata-atl466271_3300mAh.dtsi" #include "qg-batterydata-atl436186020H_3780mAh.dtsi" }; + + cx_ipeak_lm: cx_ipeak@3ed000 { + #size-cells = <1>; + compatible = "qcom,cx-ipeak-v2"; + reg = <0x3ed000 0xe010>; + status = "ok"; + }; }; &soc { diff --git a/qcom/holi-mtp-usbc-pm6125.dtsi b/qcom/holi-mtp-usbc-pm6125.dtsi index 04eb38e0137e..1dc219f16ba2 100644 --- a/qcom/holi-mtp-usbc-pm6125.dtsi +++ b/qcom/holi-mtp-usbc-pm6125.dtsi @@ -174,6 +174,13 @@ #include "qg-batterydata-atl466271_3300mAh.dtsi" #include "qg-batterydata-atl436186020H_3780mAh.dtsi" }; + + cx_ipeak_lm: cx_ipeak@3ed000 { + #size-cells = <1>; + compatible = "qcom,cx-ipeak-v2"; + reg = <0x3ed000 0xe010>; + status = "ok"; + }; }; &soc { diff --git a/qcom/holi-qrd-pm6125.dtsi b/qcom/holi-qrd-pm6125.dtsi index 03a022f1203f..2fa5a875f24c 100644 --- a/qcom/holi-qrd-pm6125.dtsi +++ b/qcom/holi-qrd-pm6125.dtsi @@ -211,6 +211,13 @@ #include "qg-batterydata-atl436186020H_3780mAh.dtsi" #include "qg-batterydata-atl466271_3300mAh.dtsi" }; + + cx_ipeak_lm: cx_ipeak@3ed000 { + #size-cells = <1>; + compatible = "qcom,cx-ipeak-v2"; + reg = <0x3ed000 0xe010>; + status = "ok"; + }; }; &pm7250b_charger { From a4d06336ca3b8d2bf628f5ad567823982ecf3c80 Mon Sep 17 00:00:00 2001 From: Gopala Krishna Nuthaki Date: Tue, 8 Jun 2021 20:48:34 +0530 Subject: [PATCH 12/46] ARM: dts: msm: Enable cpufreq cooling device for BLAIR Add cooling-cells proprty to enable cpufreq cooling device for BLAIR. Change-Id: Ic1f7d703eaef8049026e1cbb3267e7d53d65ed00 --- qcom/blair.dtsi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/qcom/blair.dtsi b/qcom/blair.dtsi index b2437923577e..58f833e86eca 100644 --- a/qcom/blair.dtsi +++ b/qcom/blair.dtsi @@ -69,6 +69,7 @@ cpu-release-addr = <0x0 0x50000000>; next-level-cache = <&L2_0>; qcom,freq-domain = <&cpufreq_hw 0 6>; + #cooling-cells = <2>; L2_0: l2-cache { compatible = "arm,arch-cache"; cache-level = <2>; @@ -176,6 +177,7 @@ cpu-release-addr = <0x0 0x50000000>; next-level-cache = <&L2_6>; qcom,freq-domain = <&cpufreq_hw 1 2>; + #cooling-cells = <2>; L2_6: l2-cache { compatible = "arm,arch-cache"; cache-level = <2>; From 2dd8c8ebad05b2398ceb971212d96d8fbe22fe40 Mon Sep 17 00:00:00 2001 From: Yuanfang Zhang Date: Thu, 27 May 2021 18:26:54 +0800 Subject: [PATCH 13/46] ARM: dts: msm: increase dump entries size in blair Increse I1_i/dcache dump entries size in blair. Change-Id: I90ea8c100050e83b296e7c0e425eda7499bfbd8e --- qcom/blair.dtsi | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/qcom/blair.dtsi b/qcom/blair.dtsi index b2437923577e..108b9e577d19 100644 --- a/qcom/blair.dtsi +++ b/qcom/blair.dtsi @@ -673,32 +673,32 @@ }; l1_icache0 { - qcom,dump-size = <0x10800>; + qcom,dump-size = <0x10900>; qcom,dump-id = <0x60>; }; l1_icache1 { - qcom,dump-size = <0x10800>; + qcom,dump-size = <0x10900>; qcom,dump-id = <0x61>; }; l1_icache2 { - qcom,dump-size = <0x10800>; + qcom,dump-size = <0x10900>; qcom,dump-id = <0x62>; }; l1_icache3 { - qcom,dump-size = <0x10800>; + qcom,dump-size = <0x10900>; qcom,dump-id = <0x63>; }; l1_icache100 { - qcom,dump-size = <0x10800>; + qcom,dump-size = <0x10900>; qcom,dump-id = <0x64>; }; l1_icache101 { - qcom,dump-size = <0x10800>; + qcom,dump-size = <0x10900>; qcom,dump-id = <0x65>; }; @@ -713,32 +713,32 @@ }; l1_dcache0 { - qcom,dump-size = <0x9000>; + qcom,dump-size = <0x9100>; qcom,dump-id = <0x80>; }; l1_dcache1 { - qcom,dump-size = <0x9000>; + qcom,dump-size = <0x9100>; qcom,dump-id = <0x81>; }; l1_dcache2 { - qcom,dump-size = <0x9000>; + qcom,dump-size = <0x9100>; qcom,dump-id = <0x82>; }; l1_dcache3 { - qcom,dump-size = <0x9000>; + qcom,dump-size = <0x9100>; qcom,dump-id = <0x83>; }; l1_dcache100 { - qcom,dump-size = <0x9000>; + qcom,dump-size = <0x9100>; qcom,dump-id = <0x84>; }; l1_dcache101 { - qcom,dump-size = <0x9000>; + qcom,dump-size = <0x9100>; qcom,dump-id = <0x85>; }; From ede814a82325285a20a41ed056ed55c1a72ee758 Mon Sep 17 00:00:00 2001 From: Yuanfang Zhang Date: Tue, 1 Jun 2021 16:03:02 +0800 Subject: [PATCH 14/46] ARM: dts: msm: correct dump entry size Correct dump entry size for gold core on blair. Change-Id: I5da214817c55b76865e6dcd31a9937e1cf73286b --- qcom/blair.dtsi | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/qcom/blair.dtsi b/qcom/blair.dtsi index 108b9e577d19..3bdb5006aabc 100644 --- a/qcom/blair.dtsi +++ b/qcom/blair.dtsi @@ -663,12 +663,12 @@ }; c102_scandump: c102_scandump { - qcom,dump-size = <0x25900>; + qcom,dump-size = <0x40000>; qcom,dump-id = <0x136>; }; c103_scandump: c103_scandump { - qcom,dump-size = <0x25900>; + qcom,dump-size = <0x40000>; qcom,dump-id = <0x137>; }; @@ -703,12 +703,12 @@ }; l1_icache102 { - qcom,dump-size = <0x21000>; + qcom,dump-size = <0x15100>; qcom,dump-id = <0x66>; }; l1_icache103 { - qcom,dump-size = <0x21000>; + qcom,dump-size = <0x15100>; qcom,dump-id = <0x67>; }; @@ -743,12 +743,12 @@ }; l1_dcache102 { - qcom,dump-size = <0x12000>; + qcom,dump-size = <0x9100>; qcom,dump-id = <0x86>; }; l1_dcache103 { - qcom,dump-size = <0x12000>; + qcom,dump-size = <0x9100>; qcom,dump-id = <0x87>; }; @@ -813,12 +813,12 @@ }; l2_tlb102 { - qcom,dump-size = <0x7800>; + qcom,dump-size = <0x6100>; qcom,dump-id = <0x126>; }; l2_tlb103 { - qcom,dump-size = <0x7800>; + qcom,dump-size = <0x6100>; qcom,dump-id = <0x127>; }; From cd5e7ce128022e467f080c67647b17bea5a7d4d8 Mon Sep 17 00:00:00 2001 From: Sarthak Garg Date: Fri, 28 May 2021 14:26:37 +0530 Subject: [PATCH 15/46] ARM: dts: msm: Update DLL values as per HSR for blair Update DLL values as per HSR for blair. Also remove unnecessary property. Change-Id: I4fca5867bcb4dda3d7c7b7c729b3b457c6978d48 --- qcom/blair.dtsi | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/qcom/blair.dtsi b/qcom/blair.dtsi index b2437923577e..b42a415ece5f 100644 --- a/qcom/blair.dtsi +++ b/qcom/blair.dtsi @@ -2790,7 +2790,7 @@ 100000000 200000000 400000000 4294967295>; /* DLL HSR settings. Refer go/hsr - DLL settings */ - qcom,dll-hsr-list = <0x000f642c 0x0 0x0 0x00010800 0x80040868>; + qcom,dll-hsr-list = <0x000f642c 0x0 0x0 0x2C010800 0x80040868>; mmc-ddr-1_8v; mmc-hs200-1_8v; @@ -2805,7 +2805,6 @@ no-sd; no-sdio; - max-frequency = <192000000>; qcom,devfreq,freq-table = <50000000 200000000>; qcom,scaling-lower-bus-speed-mode = "DDR52"; @@ -2864,7 +2863,7 @@ 100000000 200000000 4294967295>; /* DLL HSR settings. Refer go/hsr - DLL settings */ - qcom,dll-hsr-list = <0x0007642c 0x0 0x0 0x00010800 0x80040868>; + qcom,dll-hsr-list = <0x0007642c 0x0 0x10 0x2C010800 0x80040868>; bus-width = <4>; @@ -2873,7 +2872,6 @@ no-mmc; no-sdio; - max-frequency = <202000000>; qcom,devfreq,freq-table = <50000000 202000000>; From 752aa460c644bbbdbb918799df2bde1a43680410 Mon Sep 17 00:00:00 2001 From: Fei Mao Date: Fri, 28 May 2021 10:59:54 +0800 Subject: [PATCH 16/46] ARM: dts: msm: Add touch for QRD Holi-pm6125 And new touch node for QRD Holi-pm6125 device. Change-Id: I5814485668823e2972cbfcb8ccb2d60e6b6620de --- qcom/holi-qrd-pm6125.dtsi | 62 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/qcom/holi-qrd-pm6125.dtsi b/qcom/holi-qrd-pm6125.dtsi index 03a022f1203f..f1514b122d80 100644 --- a/qcom/holi-qrd-pm6125.dtsi +++ b/qcom/holi-qrd-pm6125.dtsi @@ -665,3 +665,65 @@ }; }; }; + +&tlmm { + touch_avdd_default: touch_avdd_default { + mux { + pins = "gpio53"; + function = "gpio"; + }; + + config { + pins = "gpio53"; + drive-strength = <8>; + bias-disable = <0>; + output-high; + }; + }; +}; + +&soc { + touch_avdd: touch_avdd { + compatible = "regulator-fixed"; + regulator-name = "touch_avdd"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-enable-ramp-delay = <233>; + gpio = <&tlmm 53 0>; + enable-active-high; + pinctrl-names = "default"; + pinctrl-0 = <&touch_avdd_default>; + }; +}; + +&qupv3_se8_i2c { + #address-cells = <1>; + #size-cells = <0>; + + status = "ok"; + qcom,i2c-touch-active = "focaltech,fts_ts"; + + 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>; + + vcc_i2c-supply = <&L9A>; + 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>; + + panel = <&dsi_r66451_amoled_90hz_cmd + &dsi_r66451_amoled_90hz_video + &dsi_r66451_amoled_cmd &dsi_r66451_amoled_video>; + }; +}; From 2f287027249b72ff8a283a75e0a5467a92eb05dc Mon Sep 17 00:00:00 2001 From: Fei Mao Date: Fri, 28 May 2021 10:45:46 +0800 Subject: [PATCH 17/46] ARM: dts: msm: use dummy regulator for new QRD Holi The 3V eLDO controlled by gpio#53 is always ON, to avoid any conflict with the ALS sensor that is also using the same GPIO. Make use of a dummy regulator for the touch 3V supply. Change-Id: I12f9a0ffb5f2717949569d0c15a2a943bf45be69 --- qcom/holi-qrd-pm6125.dtsi | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/qcom/holi-qrd-pm6125.dtsi b/qcom/holi-qrd-pm6125.dtsi index f1514b122d80..3fe6a35823c6 100644 --- a/qcom/holi-qrd-pm6125.dtsi +++ b/qcom/holi-qrd-pm6125.dtsi @@ -683,16 +683,16 @@ }; &soc { - touch_avdd: touch_avdd { - compatible = "regulator-fixed"; - regulator-name = "touch_avdd"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-enable-ramp-delay = <233>; - gpio = <&tlmm 53 0>; - enable-active-high; - pinctrl-names = "default"; - pinctrl-0 = <&touch_avdd_default>; + 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>; }; }; From b7cfe1d499d5d26eca29f373e97e6423785fef0f Mon Sep 17 00:00:00 2001 From: Ashish Bhimanpalliwar Date: Sat, 5 Jun 2021 16:05:33 +0530 Subject: [PATCH 18/46] ARM: dts: msm: Removing signal-aop from pils on Blair Removing signal-aop property from adscp,cdsp and modem nodes on Blair as they were causing errors. Change-Id: I1b750361fd3cae746a2e61bdf030c9d74eef8115 --- qcom/blair.dtsi | 3 --- 1 file changed, 3 deletions(-) diff --git a/qcom/blair.dtsi b/qcom/blair.dtsi index b2437923577e..5c7d13d0c2c2 100644 --- a/qcom/blair.dtsi +++ b/qcom/blair.dtsi @@ -2914,7 +2914,6 @@ memory-region = <&pil_adsp_mem>; qcom,complete-ramdump; qcom,minidump-as-elf32; - qcom,signal-aop; /* Inputs from lpass */ interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>, @@ -2956,7 +2955,6 @@ memory-region = <&pil_cdsp_mem>; qcom,complete-ramdump; qcom,minidump-as-elf32; - qcom,signal-aop; /* Inputs from turing */ interrupts-extended = <&intc GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>, @@ -2998,7 +2996,6 @@ qcom,minidump-id = <3>; qcom,aux-minidump-ids = <4>; qcom,complete-ramdump; - qcom,signal-aop; /* Inputs from mss */ interrupts-extended = <&intc GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>, <&modem_smp2p_in 0 0>, From 762cecdfb840a5c26348e37630e1a39ab38862ab Mon Sep 17 00:00:00 2001 From: "Isaac J. Manjarres" Date: Fri, 7 May 2021 10:06:46 -0700 Subject: [PATCH 19/46] ARM: dts: msm: Update the memory map for 1 GB variants of sdxlemur Update the memory map for all 1 GB variants of sdxlemur to version 2 by introducing a carveout for audio usecases. Change-Id: I7a387bbcbb1e6d290625549a56315142bf7fefb3 --- qcom/sdxlemur-1024mb.dtsi | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/qcom/sdxlemur-1024mb.dtsi b/qcom/sdxlemur-1024mb.dtsi index 86fae265cfbd..e7985b5815af 100644 --- a/qcom/sdxlemur-1024mb.dtsi +++ b/qcom/sdxlemur-1024mb.dtsi @@ -7,3 +7,9 @@ &access_control_mem { reg = <0x8fd80000 0x80000>; }; + +&reserved_memory { + audio_heap_mem: audio_mem_region@8c000000 { + reg = <0x8c000000 0x400000>; + }; +}; From 13bb7b25dfcd665ad895be5123dedf9233a8bb12 Mon Sep 17 00:00:00 2001 From: "Isaac J. Manjarres" Date: Fri, 7 May 2021 18:08:55 -0700 Subject: [PATCH 20/46] ARM: dts: msm: Add an audio ION device node for the audio carveout heap Add an audio ION device node for the audio carveout heap on sdxlemur to ensure that the carveout region is hyp assigned at boot. Change-Id: I32809f50c2767a65303bc6de7e91ad8a310ba84e --- qcom/sdx-audio-lpass.dtsi | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/qcom/sdx-audio-lpass.dtsi b/qcom/sdx-audio-lpass.dtsi index 2369bfe586b0..0cf809dc3c8f 100644 --- a/qcom/sdx-audio-lpass.dtsi +++ b/qcom/sdx-audio-lpass.dtsi @@ -19,6 +19,12 @@ memory-region = <&audio_mem>; }; + qcom,msm-audio-ion-co { + compatible = "qcom,msm-audio-ion-cma"; + qcom,scm-mp-enabled; + memory-region = <&audio_heap_mem>; + }; + pcm0: qcom,msm-pcm { compatible = "qcom,msm-pcm-dsp"; qcom,msm-pcm-dsp-id = <0>; From 40fb3c8793fb83c19d2dd6eaee32cae2ed2b31c7 Mon Sep 17 00:00:00 2001 From: "Isaac J. Manjarres" Date: Wed, 28 Apr 2021 13:43:04 -0700 Subject: [PATCH 21/46] ARM: dts: msm: Add a carveout heap for audio usecases on sdxlemur Define a carveout heap for audio usecases on 1 GB variants of sdxlemur. Change-Id: I71e1904b68b85a16da7f9d95ca60363dffaf51a7 --- qcom/sdxlemur-audio.dtsi | 5 +++++ qcom/sdxlemur-ion.dtsi | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/qcom/sdxlemur-audio.dtsi b/qcom/sdxlemur-audio.dtsi index 4f3cae1c280c..189ec72a5c12 100644 --- a/qcom/sdxlemur-audio.dtsi +++ b/qcom/sdxlemur-audio.dtsi @@ -38,3 +38,8 @@ "msm-dai-q6-auxpcm.2"; }; }; + +&audio_co_heap { + status = "okay"; + memory-region = <&audio_heap_mem>; +}; diff --git a/qcom/sdxlemur-ion.dtsi b/qcom/sdxlemur-ion.dtsi index dbf4220881a9..8fb6e0abb786 100644 --- a/qcom/sdxlemur-ion.dtsi +++ b/qcom/sdxlemur-ion.dtsi @@ -17,6 +17,16 @@ qcom,ion-heap-type = "DMA"; }; + audio_co_heap: qcom,ion-heap@17 { /* AUDIO CARVEOUT HEAP */ + reg = ; + qcom,ion-heap-type = "MSM_CARVEOUT"; + /* + * memory-region must be specified when enabled here or + * when the node is overridden to be enabled elsewhere. + */ + status = "disabled"; + }; + qcom,ion-heap@27 { /* QSEECOM HEAP */ reg = ; memory-region = <&qseecom_mem>; From 4fc73ce5c56ceed3ef49fc5ebaecc349e9328b02 Mon Sep 17 00:00:00 2001 From: "Isaac J. Manjarres" Date: Fri, 7 May 2021 10:09:46 -0700 Subject: [PATCH 22/46] ARM: dts: msm: Remove the audio ION CMA heap for sdxlemur Remove the audio ION CMA heap, along with its associated memory region, and the audio device node, as they are no longer in use. Change-Id: Ifa5730b8fd6a3f2ceeea82bee8aec153f82d60e1 --- qcom/sdx-audio-lpass.dtsi | 6 ------ qcom/sdxlemur-ion.dtsi | 6 ------ qcom/sdxlemur.dtsi | 8 -------- 3 files changed, 20 deletions(-) diff --git a/qcom/sdx-audio-lpass.dtsi b/qcom/sdx-audio-lpass.dtsi index 0cf809dc3c8f..fdbf5d95c4e0 100644 --- a/qcom/sdx-audio-lpass.dtsi +++ b/qcom/sdx-audio-lpass.dtsi @@ -14,12 +14,6 @@ }; qcom,msm-audio-ion { - compatible = "qcom,msm-audio-ion-cma"; - qcom,scm-mp-enabled; - memory-region = <&audio_mem>; - }; - - qcom,msm-audio-ion-co { compatible = "qcom,msm-audio-ion-cma"; qcom,scm-mp-enabled; memory-region = <&audio_heap_mem>; diff --git a/qcom/sdxlemur-ion.dtsi b/qcom/sdxlemur-ion.dtsi index 8fb6e0abb786..ae1ce3979e3f 100644 --- a/qcom/sdxlemur-ion.dtsi +++ b/qcom/sdxlemur-ion.dtsi @@ -11,12 +11,6 @@ qcom,ion-heap-type = "MSM_SYSTEM"; }; - qcom,ion-heap@8 { /* AUDIO HEAP */ - reg = ; - memory-region = <&audio_mem>; - qcom,ion-heap-type = "DMA"; - }; - audio_co_heap: qcom,ion-heap@17 { /* AUDIO CARVEOUT HEAP */ reg = ; qcom,ion-heap-type = "MSM_CARVEOUT"; diff --git a/qcom/sdxlemur.dtsi b/qcom/sdxlemur.dtsi index b111a051ee4d..a130619ee521 100644 --- a/qcom/sdxlemur.dtsi +++ b/qcom/sdxlemur.dtsi @@ -69,14 +69,6 @@ size = <0x400000>; }; - - audio_mem: audio_region@0 { - compatible = "shared-dma-pool"; - alloc-ranges = <0x00000000 0xffffffff>; - reusable; - size = <0x400000>; - }; - llcc_tcm_mem: llcc_tcm_region { no-map; reg = <0x15800000 0x800000>; From 108e18e7fd045339acea5d35777755f6cefff7ff Mon Sep 17 00:00:00 2001 From: Ziqi Chen Date: Thu, 10 Jun 2021 15:13:49 +0800 Subject: [PATCH 23/46] ARM: dts: msm: Add UFS regulators for qrd blair This change add support for UFS regulators for qrd blair. Change-Id: I9e0856e59c326dee56c090e0b99b8b6f0eee0bf5 --- qcom/blair-qrd.dtsi | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/qcom/blair-qrd.dtsi b/qcom/blair-qrd.dtsi index 7d88d673165d..9aff69b88fcd 100644 --- a/qcom/blair-qrd.dtsi +++ b/qcom/blair-qrd.dtsi @@ -74,8 +74,8 @@ &ufsphy_mem { compatible = "qcom,ufs-phy-qmp-v4-yupik"; - vdda-phy-supply = <&L18A>; - vdda-pll-supply = <&L22A>; + vdda-phy-supply = <&L7A>; + vdda-pll-supply = <&L4A>; vdda-phy-max-microamp = <85700>; vdda-pll-max-microamp = <18300>; @@ -86,15 +86,15 @@ vdd-hba-supply = <&gcc_ufs_phy_gdsc>; vdd-hba-fixed-regulator; - vcc-supply = <&L7E>; + vcc-supply = <&L24A>; vcc-voltage-level = <2950000 2960000>; vcc-max-microamp = <800000>; - vccq2-supply = <&L12A>; + vccq2-supply = <&L11A>; vccq2-max-microamp = <800000>; vccq2-voltage-level = <1800000 1800000>; - qcom,vddp-ref-clk-supply = <&L22A>; + qcom,vddp-ref-clk-supply = <&L4A>; qcom,vddp-ref-clk-max-microamp = <100>; status = "ok"; From 186af4cedd2102b7028ce4a2ff39954d9e76c92b Mon Sep 17 00:00:00 2001 From: Fei Mao Date: Thu, 10 Jun 2021 15:55:49 +0800 Subject: [PATCH 24/46] ARM: dts: msm: Add touch for QRD Blair Add new tree node for touchscreen to support Blair platform. Change-Id: Iacb042bc1897f61d0c6e3cec8941f4bed8437976 --- qcom/blair-qrd.dtsi | 46 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/qcom/blair-qrd.dtsi b/qcom/blair-qrd.dtsi index 7d88d673165d..5bac1086d3c2 100644 --- a/qcom/blair-qrd.dtsi +++ b/qcom/blair-qrd.dtsi @@ -677,3 +677,49 @@ }; }; }; + +&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>; + }; +}; + +&qupv3_se8_i2c { + #address-cells = <1>; + #size-cells = <0>; + + status = "ok"; + qcom,i2c-touch-active = "focaltech,fts_ts"; + + 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>; + + vcc_i2c-supply = <&L9A>; + 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>; + + panel = <&dsi_r66451_amoled_90hz_cmd + &dsi_r66451_amoled_90hz_video + &dsi_r66451_amoled_cmd &dsi_r66451_amoled_video>; + }; +}; From 33e3509c7c954ef1c49f7c0f29bcc2eebd939275 Mon Sep 17 00:00:00 2001 From: Faiz Kuchay Date: Sun, 6 Jun 2021 12:38:01 +0530 Subject: [PATCH 25/46] ARM: dts: msm: Set proper wsa reset gpio Set proper wsa881x analog reset gpio for blair cdp. Change-Id: I3665d523f95fb82641d1abf270457c9d39174632 --- qcom/blair-cdp-overlay.dts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/qcom/blair-cdp-overlay.dts b/qcom/blair-cdp-overlay.dts index e4b36a584b26..c46e6e97fc86 100644 --- a/qcom/blair-cdp-overlay.dts +++ b/qcom/blair-cdp-overlay.dts @@ -9,3 +9,8 @@ qcom,msm-id = <507 0x10000>; qcom,board-id = <1 0>; }; + +&wsa881x_analog_reset_gpio { + pinctrl-0 = <&spkr_1_sd_n_active>; + pinctrl-1 = <&spkr_1_sd_n_sleep>; +}; From dcb016769fa1bea22eca3f9164f34e69c39eec08 Mon Sep 17 00:00:00 2001 From: xsang Date: Thu, 10 Jun 2021 17:07:44 +0800 Subject: [PATCH 26/46] ARM: dts: msm: change vdd supply for WSA Change vdd supply to L9A. Change-Id: I7160af184d97ea341e3ecd21eb310a0ca2190834 --- qcom/blair-qrd.dtsi | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/qcom/blair-qrd.dtsi b/qcom/blair-qrd.dtsi index 5bac1086d3c2..9a0a68891cc3 100644 --- a/qcom/blair-qrd.dtsi +++ b/qcom/blair-qrd.dtsi @@ -21,9 +21,6 @@ &wcd937x_codec { status = "ok"; - /delete-property/ cdc-vdd-mic-bias-supply; - /delete-property/ qcom,cdc-vdd-mic-bias-voltage; - /delete-property/ qcom,cdc-vdd-mic-bias-current; cdc-vdd-rxtx-supply = <&L9A>; cdc-vddio-supply = <&L9A>; qcom,cdc-static-supplies = "cdc-vdd-rxtx", @@ -36,6 +33,15 @@ cdc-vdd-mic-bias-supply = <>; }; +&wsa881x_i2c_e { + cdc-vdd-1p8-supply = <&L9A>; +}; + +&wsa881x_i2c_f { + cdc-vdd-1p8-supply = <&L9A>; +}; + + &sdhc_1 { status = "ok"; From 5d1dd23f5e1b06746f09ce95271b1a137cc3d71b Mon Sep 17 00:00:00 2001 From: Patrick Daly Date: Tue, 8 Jun 2021 15:57:33 -0700 Subject: [PATCH 27/46] ARM: dts: msm: Disable TBU halting for pcie tbu on sdxlemur Due to pcie ordering rules, halting a tbu which accepts pcie traffic can cause a deadlock. Change-Id: I3d99b04160ac28034943007764b7fa5398af875b --- qcom/msm-arm-smmu-sdxlemur.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/qcom/msm-arm-smmu-sdxlemur.dtsi b/qcom/msm-arm-smmu-sdxlemur.dtsi index 3a9d9a4535b8..87325e336ac2 100644 --- a/qcom/msm-arm-smmu-sdxlemur.dtsi +++ b/qcom/msm-arm-smmu-sdxlemur.dtsi @@ -60,6 +60,7 @@ interconnects = <&mem_noc MASTER_APPSS_PROC &system_noc SLAVE_IMEM_CFG>; qcom,active-only; + qcom,opt-out-tbu-halting; }; ipa_tbu: ipa_tbu@15049000 { From 38bd708099b3953af0fcf8394111739ae21f32b1 Mon Sep 17 00:00:00 2001 From: Rohith Kollalsi Date: Mon, 14 Jun 2021 16:21:59 +0530 Subject: [PATCH 28/46] ARM: dts: msm: Add extcon phandle for usb0 on blair cdp This change adds extcon phandle for usb0 on blair cdp target which is used by pd driver to notify usb disconnect and connect. Change-Id: I743fef112def8dbe958c4a1c228421d5df6092de --- qcom/blair-cdp.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/qcom/blair-cdp.dtsi b/qcom/blair-cdp.dtsi index 5daf868128c5..4d96032681ca 100644 --- a/qcom/blair-cdp.dtsi +++ b/qcom/blair-cdp.dtsi @@ -379,6 +379,7 @@ }; &usb0 { + extcon = <&pm7250b_pdphy>, <&pm7250b_charger>, <&eud>; #io-channel-cells = <1>; io-channels= <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>; From ac732de368ad70113cd1676c6aeab83f04c2c58c Mon Sep 17 00:00:00 2001 From: Jishnu Prakash Date: Sun, 13 Jun 2021 19:06:42 +0530 Subject: [PATCH 29/46] ARM: dts: msm: Correct SPMI node name for holi-pm6125 ADC_TM Correct PM6125 SPMI node name used for defining ADC_TM_IIO device for holi-pm6125, to ensure device gets probed. Change-Id: If9e06dab1bcf354dd3bdc9a778837a9d3f589e56 --- qcom/holi-pmic-overlay-pm6125.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qcom/holi-pmic-overlay-pm6125.dtsi b/qcom/holi-pmic-overlay-pm6125.dtsi index 50e4b105d44f..55d28a9c7adc 100644 --- a/qcom/holi-pmic-overlay-pm6125.dtsi +++ b/qcom/holi-pmic-overlay-pm6125.dtsi @@ -178,7 +178,7 @@ }; &spmi_bus { - qcom,pm6125@4 { + qcom,pm6125@0 { pm6125_adc_tm_iio: adc_tm@3400 { compatible = "qcom,adc-tm5-iio"; reg = <0x3400>; From 32efe14dbbe572c1193f4c00a64fba4a7713dba2 Mon Sep 17 00:00:00 2001 From: xsang Date: Tue, 1 Jun 2021 10:48:06 +0800 Subject: [PATCH 30/46] ARM: dts: msm: Remove unused static supply for holi-pm6125 remove unused static supply for holi-pm6125 at QRD. Change-Id: I757219345aa52f1c68f8fbd022904e2111d4b4c6 --- qcom/holi-qrd-pm6125.dtsi | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/qcom/holi-qrd-pm6125.dtsi b/qcom/holi-qrd-pm6125.dtsi index 120cf574a35a..7ad29879d30e 100644 --- a/qcom/holi-qrd-pm6125.dtsi +++ b/qcom/holi-qrd-pm6125.dtsi @@ -7,11 +7,16 @@ #include &wcd938x_codec { - /delete-property/ cdc-vdd-mic-bias-supply; - /delete-property/ qcom,cdc-vdd-mic-bias-voltage; - /delete-property/ qcom,cdc-vdd-mic-bias-current; cdc-vdd-rxtx-supply = <&L9A>; cdc-vddio-supply = <&L9A>; + qcom,cdc-static-supplies = "cdc-vdd-rxtx", + "cdc-vddio"; + /* + * Overriding cdc-vdd-mic-bias-supply to dummy value + * to avoid compilation errors as BOB is not definied + * for pm6125 + */ + cdc-vdd-mic-bias-supply = <>; }; &wcd937x_codec { @@ -21,6 +26,14 @@ /delete-property/ qcom,cdc-vdd-mic-bias-current; cdc-vdd-rxtx-supply = <&L9A>; cdc-vddio-supply = <&L9A>; + qcom,cdc-static-supplies = "cdc-vdd-rxtx", + "cdc-vddpx"; + /* + * Overriding cdc-vdd-mic-bias-supply to dummy value + * to avoid compilation errors as BOB is not definied + * for pm6125 + */ + cdc-vdd-mic-bias-supply = <>; }; &sdhc_1 { From e6ba540ac692cf6e885e88d59843839b1414ed6d Mon Sep 17 00:00:00 2001 From: Yuanfang Zhang Date: Tue, 15 Jun 2021 18:09:33 +0800 Subject: [PATCH 31/46] ARM: dts: msm: disable mss cti on holi Some clock for mss cti is not enabled from kernel side. so disable it. Change-Id: I90ee22999014d8a5c0867cf2b134e30bb7dfdd9b --- qcom/holi-coresight.dtsi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/qcom/holi-coresight.dtsi b/qcom/holi-coresight.dtsi index 964ea4bece57..f8a70456182b 100644 --- a/qcom/holi-coresight.dtsi +++ b/qcom/holi-coresight.dtsi @@ -2431,6 +2431,7 @@ coresight-name = "coresight-cti-mss_q6_cti"; + status = "disabled"; clocks = <&rpmcc RPM_SMD_QDSS_CLK>; clock-names = "apb_pclk"; }; @@ -2443,6 +2444,7 @@ coresight-name = "coresight-cti-mss_vq6_cti"; + status = "disabled"; clocks = <&rpmcc RPM_SMD_QDSS_CLK>; clock-names = "apb_pclk"; }; From c5c86b9cc832a372348844a6d81eb18b4bc6d9ce Mon Sep 17 00:00:00 2001 From: Ziqi Chen Date: Wed, 26 May 2021 09:57:29 +0800 Subject: [PATCH 32/46] ARM: dts: msm: Add UFS regulators for qrd holi-pm6125 This change add support for UFS regulators for qrd holi-pm6125 according to the new powergrid. Change-Id: Ib37f6c8290071e62a34bdc7bd046fd9f4cf93499 --- qcom/holi-qrd-pm6125.dtsi | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/qcom/holi-qrd-pm6125.dtsi b/qcom/holi-qrd-pm6125.dtsi index 7ad29879d30e..bfa05a5556cf 100644 --- a/qcom/holi-qrd-pm6125.dtsi +++ b/qcom/holi-qrd-pm6125.dtsi @@ -75,8 +75,8 @@ &ufsphy_mem { compatible = "qcom,ufs-phy-qmp-v3"; - vdda-phy-supply = <&L18A>; - vdda-pll-supply = <&L22A>; + vdda-phy-supply = <&L7A>; + vdda-pll-supply = <&L4A>; vdda-phy-max-microamp = <62900>; vdda-pll-max-microamp = <18300>; @@ -87,15 +87,15 @@ vdd-hba-supply = <&gcc_ufs_phy_gdsc>; vdd-hba-fixed-regulator; - vcc-supply = <&L7E>; + vcc-supply = <&L24A>; vcc-voltage-level = <2950000 2960000>; vcc-max-microamp = <800000>; - vccq2-supply = <&L12A>; + vccq2-supply = <&L11A>; vccq2-max-microamp = <800000>; vccq2-voltage-level = <1800000 1800000>; - qcom,vddp-ref-clk-supply = <&L22A>; + qcom,vddp-ref-clk-supply = <&L4A>; qcom,vddp-ref-clk-max-microamp = <100>; status = "ok"; From 1f1a8184875bbe340bd4a4e6ece16b1a60dc5618 Mon Sep 17 00:00:00 2001 From: Yuan Zhao Date: Thu, 10 Jun 2021 14:40:50 +0800 Subject: [PATCH 33/46] ARM: dts: msm: include display nodes for Blair qrd This change includes display DT nodes to enable display support on Blair qrd. Change-Id: I62202edccce334d99bef79f2651717739fdb398f --- qcom/blair-qrd.dtsi | 1 + 1 file changed, 1 insertion(+) diff --git a/qcom/blair-qrd.dtsi b/qcom/blair-qrd.dtsi index 9a0a68891cc3..404ad2c0eaf7 100644 --- a/qcom/blair-qrd.dtsi +++ b/qcom/blair-qrd.dtsi @@ -3,6 +3,7 @@ #include #include "holi-pmic-overlay-pm6125.dtsi" #include "display/holi-sde-display-qrd-pm6125.dtsi" +#include "display/blair-sde-display-qrd.dtsi" #include "holi-thermal-overlay-pm6125.dtsi" #include From 533d2a243c1a7b51ec51b5468df72593a14a7267 Mon Sep 17 00:00:00 2001 From: Ashish Chavan Date: Wed, 16 Jun 2021 10:23:16 +0530 Subject: [PATCH 34/46] ARM: dts: msm: Update QG cutoff/empty thresholds for blair/holi-pm6125 Update the QG cutoff and empty values to align with the system design. Primarily change vbat-cutoff to 3.4V as these platforms do not support BoB. Change-Id: I1a09217d3cebab2eb1f66b4a0a54b889a1acab3f --- qcom/blair-cdp.dtsi | 5 +++++ qcom/blair-mtp.dtsi | 6 +++++- qcom/blair-qrd.dtsi | 6 +++++- qcom/holi-cdp-pm6125.dtsi | 5 +++++ qcom/holi-mtp-pm6125.dtsi | 6 +++++- qcom/holi-mtp-usbc-pm6125.dtsi | 6 +++++- qcom/holi-qrd-pm6125.dtsi | 6 +++++- 7 files changed, 35 insertions(+), 5 deletions(-) diff --git a/qcom/blair-cdp.dtsi b/qcom/blair-cdp.dtsi index 4d96032681ca..9da96e91e159 100644 --- a/qcom/blair-cdp.dtsi +++ b/qcom/blair-cdp.dtsi @@ -235,6 +235,11 @@ 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>; }; &soc { diff --git a/qcom/blair-mtp.dtsi b/qcom/blair-mtp.dtsi index 57cfbb5efe4b..e56acffa42c9 100644 --- a/qcom/blair-mtp.dtsi +++ b/qcom/blair-mtp.dtsi @@ -312,9 +312,13 @@ qcom,cl-feedback-on; qcom,tcss-enable; qcom,fvss-enable; - qcom,fvss-vbatt-mv = <3300>; qcom,bass-enable; qcom,use-cp-iin-sns; + 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_vadc { diff --git a/qcom/blair-qrd.dtsi b/qcom/blair-qrd.dtsi index 9a0a68891cc3..b67dbe04936d 100644 --- a/qcom/blair-qrd.dtsi +++ b/qcom/blair-qrd.dtsi @@ -338,9 +338,13 @@ qcom,cl-feedback-on; qcom,tcss-enable; qcom,fvss-enable; - qcom,fvss-vbatt-mv = <3300>; qcom,bass-enable; qcom,use-cp-iin-sns; + 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 { diff --git a/qcom/holi-cdp-pm6125.dtsi b/qcom/holi-cdp-pm6125.dtsi index fc52a355f145..a55f74033b08 100644 --- a/qcom/holi-cdp-pm6125.dtsi +++ b/qcom/holi-cdp-pm6125.dtsi @@ -237,6 +237,11 @@ 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>; }; &soc { diff --git a/qcom/holi-mtp-pm6125.dtsi b/qcom/holi-mtp-pm6125.dtsi index d6a0c69ba746..0b91f6abb82d 100644 --- a/qcom/holi-mtp-pm6125.dtsi +++ b/qcom/holi-mtp-pm6125.dtsi @@ -317,9 +317,13 @@ qcom,cl-feedback-on; qcom,tcss-enable; qcom,fvss-enable; - qcom,fvss-vbatt-mv = <3300>; qcom,bass-enable; qcom,use-cp-iin-sns; + 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_vadc { diff --git a/qcom/holi-mtp-usbc-pm6125.dtsi b/qcom/holi-mtp-usbc-pm6125.dtsi index 1dc219f16ba2..2aadb8d08d33 100644 --- a/qcom/holi-mtp-usbc-pm6125.dtsi +++ b/qcom/holi-mtp-usbc-pm6125.dtsi @@ -336,9 +336,13 @@ qcom,cl-feedback-on; qcom,tcss-enable; qcom,fvss-enable; - qcom,fvss-vbatt-mv = <3300>; qcom,bass-enable; qcom,use-cp-iin-sns; + 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>; }; #include "camera/holi-camera-sensor-usbc-pm6125-mtp.dtsi" diff --git a/qcom/holi-qrd-pm6125.dtsi b/qcom/holi-qrd-pm6125.dtsi index 7ad29879d30e..9eca954836bb 100644 --- a/qcom/holi-qrd-pm6125.dtsi +++ b/qcom/holi-qrd-pm6125.dtsi @@ -340,9 +340,13 @@ qcom,cl-feedback-on; qcom,tcss-enable; qcom,fvss-enable; - qcom,fvss-vbatt-mv = <3300>; qcom,bass-enable; qcom,use-cp-iin-sns; + 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 { From 47159f5aaf2ec4766d7c6f3f15e2df872fd4f312 Mon Sep 17 00:00:00 2001 From: Jishnu Prakash Date: Mon, 14 Jun 2021 20:34:09 +0530 Subject: [PATCH 35/46] ARM: dts: msm: update ADC channels for holi-pm6125 Delete PMR735A and PMR735B ADC channels from PMK8350's list of ADC channels, and xo_therm on PM6125 VADC, as they are not used for holi-pm6125. Change-Id: Ie2252f9e31236bf794b25bef6250bbd406d327ce --- qcom/holi-pmic-overlay-pm6125.dtsi | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/qcom/holi-pmic-overlay-pm6125.dtsi b/qcom/holi-pmic-overlay-pm6125.dtsi index 50e4b105d44f..0a0f9f042c06 100644 --- a/qcom/holi-pmic-overlay-pm6125.dtsi +++ b/qcom/holi-pmic-overlay-pm6125.dtsi @@ -66,6 +66,8 @@ &rfc_cam_therm_default &rear_cam_flash_therm_default>; + /delete-node/ xo_therm; + pa_therm1 { reg = ; label = "pa_therm1"; @@ -232,6 +234,14 @@ /delete-node/ pm8350b_die_temp; /delete-node/ pm8350b_vph_pwr; /delete-node/ pm8350b_vbat_sns; + + /delete-node/ pmr735a_ref_gnd; + /delete-node/ pmr735a_vref_1p25; + /delete-node/ pmr735a_die_temp; + + /delete-node/ pmr735b_ref_gnd; + /delete-node/ pmr735b_vref_1p25; + /delete-node/ pmr735b_die_temp; }; &pmk8350_adc_tm { From e6ae0f5d2fc2545f91f36bbe01810c2561ed830c Mon Sep 17 00:00:00 2001 From: Kiran Gunda Date: Wed, 9 Jun 2021 16:04:17 +0530 Subject: [PATCH 36/46] bindings: input: qcom-hv-haptics: Add "qcom,pm5100-haptics" Add bindings for new compatible "qcom,pm5100-haptics". This compatible is used for PM5100 haptics. Change-Id: I338904950cbbd08590dafb88974396948480c231 --- bindings/input/qcom-hv-haptics.txt | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/bindings/input/qcom-hv-haptics.txt b/bindings/input/qcom-hv-haptics.txt index 805b3baedf70..8f4800b7cc0f 100644 --- a/bindings/input/qcom-hv-haptics.txt +++ b/bindings/input/qcom-hv-haptics.txt @@ -18,13 +18,15 @@ Properties: Value type: Definition: It can be one of following: "qcom,hv-haptics", - "qcom,pm8350b-haptics". + "qcom,pm8350b-haptics", + "qcom,pm5100-haptics". - reg: Usage: required Value type: Definition: Register base for following haptics modules: HAPTICS_CFG, - HAPTICS_PATTERN, HAPTICS_BOOST. + HAPTICS_PATTERN, HAPTICS_BOOST. HAPTICS_BOOST register base + is not applicable for PM5100. - interrupts: Usage: required @@ -76,9 +78,11 @@ Properties: Value type: Definition: Specifies the FIFO empty threshold. The "fifo-empty" IRQ will be triggered when the number of the samples in the FIFO is less - than the threshold. For PM8350B v1, allowed value is 1 - 103 - and the default value is 48. For PM8350B v2, allowed value is - 1 - 639 and the default value is 280. + than the threshold. For PM8350B v1, allowed value is 0 - 104 + in multiple of 4 and the default value is 48. For PM8350B v2, + allowed value is 0 - 640 in multiple of 40 and the default + value is 280. For PM5100, allowed value is 0 - 1024 in multiple + of 32 and the default value is 288. - qcom,use-erm: Usage: optional @@ -91,33 +95,36 @@ Properties: Value type: Definition: The nvmem cell name of the SDAM module where the closed-loop brake calibration settings can be stored. It must be - "hap_cl_brake". + "hap_cl_brake". Not applicable for PM5100. - nvmem-cells: Usage: optional Value type: Definition: Phandle of the nvmem cell to store the closed-loop brake calibration settings. Please refer to nvmem bindings as - described in bindings/nvmem/nvmem.txt. + described in bindings/nvmem/nvmem.txt. Not applicable + for PM5100. - nvmem-names: Usage: optional Value type: Definition: The nvmem device name of the SDAM module used for haptics - configuration. It must be "hap_cfg_sdam". + configuration. It must be "hap_cfg_sdam". Not applicable for + PM5100. - nvmem: Usage: optional Value type: Definition: Phandle of the nvmem device used for haptics configuration. Please refer to nvmem bindings as described in bindings/nvmem/nvmem.txt. + Not applicable for PM5100. - qcom,pbs-client: Usage: optional Value type: Definition: Phandle of the PBS client used for triggering PBS to configure haptics ISC (short circuit current) config during LRA impedance - detection. + detection. Not applicable for PM5100. - qcom,hpwr-supply: Usage: optional From f9831016c883b5593a128196f0ec54cbb2902f87 Mon Sep 17 00:00:00 2001 From: Rohith Kollalsi Date: Sat, 5 Jun 2021 12:07:50 +0530 Subject: [PATCH 37/46] ARM: dts: msm: Add support for usb nodes on blair Set usb mode as otg and also add support for dpdm supply, usb charger. Remove the core id as there is only 1 core being used. Change-Id: I9b3dac927bfa0eca09fb1fc783f53c029ca94fb3 --- qcom/blair-usb.dtsi | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/qcom/blair-usb.dtsi b/qcom/blair-usb.dtsi index e5d935f4bcf9..7c707b10f214 100644 --- a/qcom/blair-usb.dtsi +++ b/qcom/blair-usb.dtsi @@ -33,6 +33,8 @@ reset-names = "core_reset"; USB3_GDSC-supply = <&gcc_usb30_prim_gdsc>; + dpdm-supply = <&qusb_phy0>; + qcom,usb-charger; qcom,core-clk-rate = <133333333>; qcom,core-clk-rate-hs = <66666667>; @@ -56,14 +58,13 @@ tx-fifo-resize; linux,sysdev_is_parent; snps,disable-clk-gating; + snps,is-utmi-l1-suspend; snps,dis_u2_susphy_quirk; - snps,dis_enblslpm_quirk; snps,has-lpm-erratum; snps,hird-threshold = /bits/ 8 <0x10>; snps,usb3_lpm_capable; - usb-core-id = <0>; maximum-speed = "super-speed"; - dr_mode = "drd"; + dr_mode = "otg"; }; }; From 3490ad0759ffae48b52377869d9500893e34b9d7 Mon Sep 17 00:00:00 2001 From: Sandeep Singh Date: Mon, 7 Jun 2021 11:52:45 +0530 Subject: [PATCH 38/46] ARM: dts: msm: Vote for S5A during wlan operations This change adds regulator handler of S5A which is needed for wlan operations. Change-Id: I3ab3df1b772757e890161cfd39f2fd1044b9ffca --- qcom/blair.dtsi | 1 + qcom/holi-pm6125-overlay.dtsi | 1 + 2 files changed, 2 insertions(+) diff --git a/qcom/blair.dtsi b/qcom/blair.dtsi index 06aab9467036..e59644baa8ee 100644 --- a/qcom/blair.dtsi +++ b/qcom/blair.dtsi @@ -3741,6 +3741,7 @@ vdd-1.3-rfa-supply = <&L2A>; vdd-3.3-ch1-supply = <&L21A>; vdd-3.3-ch0-supply = <&L23A>; + vdd-smps-supply = <&S5A>; qcom,vdd-cx-mx-config = <640000 640000>; qcom,vdd-3.3-ch1-config = <3000000 3312000>; qcom,vdd-3.3-ch0-config = <3000000 3312000>; diff --git a/qcom/holi-pm6125-overlay.dtsi b/qcom/holi-pm6125-overlay.dtsi index 4d9a2a267dfc..9a75187e1932 100644 --- a/qcom/holi-pm6125-overlay.dtsi +++ b/qcom/holi-pm6125-overlay.dtsi @@ -12,6 +12,7 @@ vdd-1.3-rfa-supply = <&L2A>; vdd-3.3-ch1-supply = <&L21A>; vdd-3.3-ch0-supply = <&L23A>; + vdd-smps-supply = <&S5A>; qcom,vdd-cx-mx-config = <640000 640000>; qcom,vdd-3.3-ch1-config = <3000000 3312000>; qcom,vdd-3.3-ch0-config = <3000000 3312000>; From 71e5af97a7fa9e50740051438a298548e9ab8a09 Mon Sep 17 00:00:00 2001 From: Balakrishna Godavarthi Date: Mon, 31 May 2021 15:17:52 +0530 Subject: [PATCH 39/46] ARM: dts: msm: Vote for S5A during BT operations This change adds regulator handler of S5A which is needed for BT operations. Change-Id: I80682930806e622edc5afccac2a0bee4496f3170 --- qcom/blair.dtsi | 2 ++ qcom/holi-pm6125-overlay.dtsi | 3 +++ 2 files changed, 5 insertions(+) diff --git a/qcom/blair.dtsi b/qcom/blair.dtsi index 06aab9467036..62600f49b3b8 100644 --- a/qcom/blair.dtsi +++ b/qcom/blair.dtsi @@ -3755,11 +3755,13 @@ bluetooth: bt_wcn3990 { compatible = "qcom,wcn3990"; qcom,bt-sw-ctrl-gpio = <&tlmm 69 GPIO_ACTIVE_HIGH>; + qcom,bt-vdd-smps-supply = <&S5A>; /* SMPS */ qcom,bt-vdd-io-supply = <&L9A>; /* IO */ qcom,bt-vdd-core-supply = <&L2A>; /* RFA */ qcom,bt-vdd-pa-supply = <&L23A>; /* CH0 */ qcom,bt-vdd-xtal-supply = <&L16A>; /* XO */ + qcom,bt-vdd-smps-config = <984000 984000 1 0>; qcom,bt-vdd-io-config = <1700000 1900000 1 0>; qcom,bt-vdd-core-config = <1304000 1304000 1 0>; qcom,bt-vdd-pa-config = <3000000 3312000 1 0>; diff --git a/qcom/holi-pm6125-overlay.dtsi b/qcom/holi-pm6125-overlay.dtsi index 4d9a2a267dfc..ddbd276e35f6 100644 --- a/qcom/holi-pm6125-overlay.dtsi +++ b/qcom/holi-pm6125-overlay.dtsi @@ -18,10 +18,13 @@ }; &bluetooth { + qcom,bt-vdd-smps-supply = <&S5A>; /* SMPS */ qcom,bt-vdd-io-supply = <&L9A>; /* IO */ qcom,bt-vdd-core-supply = <&L2A>; /* RFA */ qcom,bt-vdd-pa-supply = <&L23A>; /* CH0 */ qcom,bt-vdd-xtal-supply = <&L16A>; /* XO */ + + qcom,bt-vdd-smps-config = <984000 984000 1 0>; }; &dispcc { From 7379d578806649fc1c5d8f72479e0625d21e52c9 Mon Sep 17 00:00:00 2001 From: Yulei Yao Date: Tue, 18 May 2021 16:54:06 +0800 Subject: [PATCH 40/46] ARM: dts: msm: Include camera sensor dtsi for QRD Holi-pm6125 Directly include MTP camera sensor dtsi for QRD Holi-pm6125. MTP and QRD can share the same one. CRs-Fixed: 2956799 External Impact: No. Change-Id: I09d633d8a127965e8a2ddfa8b611dbd8240b5cdb --- qcom/holi-qrd-pm6125.dtsi | 3 +++ 1 file changed, 3 insertions(+) diff --git a/qcom/holi-qrd-pm6125.dtsi b/qcom/holi-qrd-pm6125.dtsi index 7ad29879d30e..0bdd82fe03aa 100644 --- a/qcom/holi-qrd-pm6125.dtsi +++ b/qcom/holi-qrd-pm6125.dtsi @@ -5,6 +5,7 @@ #include "holi-thermal-overlay-pm6125.dtsi" #include "display/holi-sde-display-qrd-pm6125.dtsi" #include +#include "camera/holi-camera-pm6125-overlay.dtsi" &wcd938x_codec { cdc-vdd-rxtx-supply = <&L9A>; @@ -233,6 +234,8 @@ }; }; +#include "camera/holi-camera-sensor-pm6125-mtp.dtsi" + &pm7250b_charger { status = "ok"; #io-channel-cells = <1>; From c5c2180fa8faa8aa11f05b9019541a6fc01effca Mon Sep 17 00:00:00 2001 From: Ayush Kumar Date: Mon, 7 Jun 2021 15:58:26 +0530 Subject: [PATCH 41/46] ARM: dts: msm: Add camera device tree inclusions for Blair camera Include camera device tree nodes to enable camera functionality on Blair target. CRs-Fixed: 2971145 Change-Id: Ibf7273f6f94f32e652bd201425f60a562fb65fe0 --- qcom/blair.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qcom/blair.dtsi b/qcom/blair.dtsi index 06aab9467036..2840ca8c47e8 100644 --- a/qcom/blair.dtsi +++ b/qcom/blair.dtsi @@ -3350,7 +3350,7 @@ #include "holi-coresight.dtsi" #include "holi-pm.dtsi" #include "holi-vidc.dtsi" -#include "camera/holi-camera.dtsi" +#include "camera/blair-camera.dtsi" #include "holi-thermal.dtsi" #include "holi-qupv3.dtsi" #include "display/blair-sde.dtsi" From 5b209ca1ee902570f4be1bedd32b8d5d7320edfb Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Thu, 17 Jun 2021 14:49:38 -0700 Subject: [PATCH 42/46] ARM: dts: qcom: Limit PCIe to Gen3 for oculink connects on sdxlemur Force Gen3 as target link speed for oculink connects. Change-Id: I0c4e67bd67f929b5b530cf80eeaf657dc4854ca4 --- qcom/sdxlemur-mtp-mbb-pcie-rc-ep.dtsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/qcom/sdxlemur-mtp-mbb-pcie-rc-ep.dtsi b/qcom/sdxlemur-mtp-mbb-pcie-rc-ep.dtsi index c945092880d4..088efbf1ad3c 100644 --- a/qcom/sdxlemur-mtp-mbb-pcie-rc-ep.dtsi +++ b/qcom/sdxlemur-mtp-mbb-pcie-rc-ep.dtsi @@ -143,3 +143,7 @@ }; }; }; + +&pcie0 { + qcom,target-link-speed = <3>; +}; From bde83ca7f0a14ed72ae207d19b60b2ffbdaa589f Mon Sep 17 00:00:00 2001 From: Faiz Nabi Kuchay Date: Wed, 16 Jun 2021 10:28:28 +0530 Subject: [PATCH 43/46] ARM: dts: msm: Set proper vddpx supply Set proper vddpx supply in blair cdp, mtp and qrd. Set proper vddpx supply in holi-pm6125 cdp, mtp, usbc-mtp and qrd. Change-Id: Idc36bc1964ca31a43c24263eb8a4f937de9917c3 --- qcom/blair-cdp.dtsi | 2 +- qcom/blair-mtp.dtsi | 2 +- qcom/blair-qrd.dtsi | 2 +- qcom/holi-cdp-pm6125.dtsi | 2 +- qcom/holi-mtp-pm6125.dtsi | 2 +- qcom/holi-mtp-usbc-pm6125.dtsi | 2 +- qcom/holi-qrd-pm6125.dtsi | 5 +---- 7 files changed, 7 insertions(+), 10 deletions(-) diff --git a/qcom/blair-cdp.dtsi b/qcom/blair-cdp.dtsi index 4d96032681ca..145fd9db169e 100644 --- a/qcom/blair-cdp.dtsi +++ b/qcom/blair-cdp.dtsi @@ -26,7 +26,7 @@ &wcd937x_codec { cdc-vdd-rxtx-supply = <&L9A>; - cdc-vddio-supply = <&L9A>; + cdc-vddpx-supply = <&L9A>; qcom,cdc-static-supplies = "cdc-vdd-rxtx", "cdc-vddpx"; /* diff --git a/qcom/blair-mtp.dtsi b/qcom/blair-mtp.dtsi index 57cfbb5efe4b..e4283e66cf3c 100644 --- a/qcom/blair-mtp.dtsi +++ b/qcom/blair-mtp.dtsi @@ -24,7 +24,7 @@ &wcd937x_codec { cdc-vdd-rxtx-supply = <&L9A>; - cdc-vddio-supply = <&L9A>; + cdc-vddpx-supply = <&L9A>; qcom,cdc-static-supplies = "cdc-vdd-rxtx", "cdc-vddpx"; /* diff --git a/qcom/blair-qrd.dtsi b/qcom/blair-qrd.dtsi index 9a0a68891cc3..233e2c596b92 100644 --- a/qcom/blair-qrd.dtsi +++ b/qcom/blair-qrd.dtsi @@ -22,7 +22,7 @@ &wcd937x_codec { status = "ok"; cdc-vdd-rxtx-supply = <&L9A>; - cdc-vddio-supply = <&L9A>; + cdc-vddpx-supply = <&L9A>; qcom,cdc-static-supplies = "cdc-vdd-rxtx", "cdc-vddpx"; /* diff --git a/qcom/holi-cdp-pm6125.dtsi b/qcom/holi-cdp-pm6125.dtsi index fc52a355f145..58ffdc3e129a 100644 --- a/qcom/holi-cdp-pm6125.dtsi +++ b/qcom/holi-cdp-pm6125.dtsi @@ -22,7 +22,7 @@ &wcd937x_codec { cdc-vdd-rxtx-supply = <&L9A>; - cdc-vddio-supply = <&L9A>; + cdc-vddpx-supply = <&L9A>; qcom,cdc-static-supplies = "cdc-vdd-rxtx", "cdc-vddpx"; /* diff --git a/qcom/holi-mtp-pm6125.dtsi b/qcom/holi-mtp-pm6125.dtsi index d6a0c69ba746..c9d2b97e938d 100644 --- a/qcom/holi-mtp-pm6125.dtsi +++ b/qcom/holi-mtp-pm6125.dtsi @@ -22,7 +22,7 @@ &wcd937x_codec { cdc-vdd-rxtx-supply = <&L9A>; - cdc-vddio-supply = <&L9A>; + cdc-vddpx-supply = <&L9A>; qcom,cdc-static-supplies = "cdc-vdd-rxtx", "cdc-vddpx"; /* diff --git a/qcom/holi-mtp-usbc-pm6125.dtsi b/qcom/holi-mtp-usbc-pm6125.dtsi index 1dc219f16ba2..ab437101649e 100644 --- a/qcom/holi-mtp-usbc-pm6125.dtsi +++ b/qcom/holi-mtp-usbc-pm6125.dtsi @@ -22,7 +22,7 @@ &wcd937x_codec { cdc-vdd-rxtx-supply = <&L9A>; - cdc-vddio-supply = <&L9A>; + cdc-vddpx-supply = <&L9A>; qcom,cdc-static-supplies = "cdc-vdd-rxtx", "cdc-vddpx"; /* diff --git a/qcom/holi-qrd-pm6125.dtsi b/qcom/holi-qrd-pm6125.dtsi index 7ad29879d30e..7b670dbd0351 100644 --- a/qcom/holi-qrd-pm6125.dtsi +++ b/qcom/holi-qrd-pm6125.dtsi @@ -21,11 +21,8 @@ &wcd937x_codec { status = "ok"; - /delete-property/ cdc-vdd-mic-bias-supply; - /delete-property/ qcom,cdc-vdd-mic-bias-voltage; - /delete-property/ qcom,cdc-vdd-mic-bias-current; cdc-vdd-rxtx-supply = <&L9A>; - cdc-vddio-supply = <&L9A>; + cdc-vddpx-supply = <&L9A>; qcom,cdc-static-supplies = "cdc-vdd-rxtx", "cdc-vddpx"; /* From 29637f18c441082b2cbdb3892b1be59d40e7677a Mon Sep 17 00:00:00 2001 From: Ashish Bhimanpalliwar Date: Sat, 12 Jun 2021 14:01:53 +0530 Subject: [PATCH 44/46] ARM: dts: msm: Updating ATP platform dtb for blair target Change to update ATP platform dtb to avoid conflicts with other target platforms for blair target. Change-Id: I2a9faa8d4e0e3699c32b8c41d888f38d10770c94 --- qcom/blair-atp.dtsi | 311 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 305 insertions(+), 6 deletions(-) diff --git a/qcom/blair-atp.dtsi b/qcom/blair-atp.dtsi index f4363bcfac46..0626eec24cc3 100644 --- a/qcom/blair-atp.dtsi +++ b/qcom/blair-atp.dtsi @@ -1,3 +1,11 @@ +#include "holi-audio-overlay.dtsi" +#include +#include +#include "holi-pmic-overlay.dtsi" +#include "display/holi-sde-display-atp.dtsi" +#include "holi-thermal-overlay.dtsi" +#include + &rpm_bus { /* Delete all PM6125 and PMR735a rpm-regulators */ /delete-node/ rpm-regulator-smpa6; @@ -323,11 +331,6 @@ }; }; -&ufsphy_mem { - compatible = "qcom,ufs-phy-qmp-v4-yupik"; - vdda-phy-max-microamp = <85700>; -}; - #include "pm6350-rpm-regulator.dtsi" #include "pm6150l-rpm-regulator.dtsi" #include "holi-regulators-pm6350.dtsi" @@ -376,7 +379,303 @@ }; }; -#include "holi-atp.dtsi" + + +&sdhc_1 { + status = "ok"; + + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&sdc1_on>; + pinctrl-1 = <&sdc1_off>; + + vdd-supply = <&L7E>; + qcom,vdd-voltage-level = <2960000 2960000>; + qcom,vdd-current-level = <0 570000>; + + vdd-io-supply = <&L12A>; + qcom,vdd-io-always-on; + qcom,vdd-io-lpm-sup; + qcom,vdd-io-voltage-level = <1800000 1800000>; + qcom,vdd-io-current-level = <325000 325000>; +}; + +&sdhc_2 { + status = "ok"; + + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&sdc2_on>; + pinctrl-1 = <&sdc2_off>; + + vdd-supply = <&L9E>; + qcom,vdd-voltage-level = <2960000 2960000>; + qcom,vdd-current-level = <0 800000>; + + vdd-io-supply = <&L6E>; + qcom,vdd-io-voltage-level = <1800000 2960000>; + qcom,vdd-io-current-level = <0 22000>; + + cd-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>; +}; + +&ufsphy_mem { + compatible = "qcom,ufs-phy-qmp-v4-yupik"; + + vdda-phy-supply = <&L18A>; + vdda-pll-supply = <&L22A>; + vdda-phy-max-microamp = <85700>; + vdda-pll-max-microamp = <18300>; + + status = "ok"; +}; + +&ufshc_mem { + vdd-hba-supply = <&gcc_ufs_phy_gdsc>; + vdd-hba-fixed-regulator; + + vcc-supply = <&L7E>; + vcc-voltage-level = <2950000 2960000>; + vcc-max-microamp = <800000>; + + vccq2-supply = <&L12A>; + vccq2-max-microamp = <800000>; + vccq2-voltage-level = <1800000 1800000>; + + qcom,vddp-ref-clk-supply = <&L22A>; + qcom,vddp-ref-clk-max-microamp = <100>; + + status = "ok"; +}; + +&qupv3_se0_i2c { + status = "ok"; + #address-cells = <1>; + #size-cells = <0>; + nq@28 { + compatible = "qcom,sn-nci"; + reg = <0x28>; + qcom,sn-irq = <&tlmm 9 0x00>; + qcom,sn-ven = <&tlmm 6 0x00>; + qcom,sn-firm = <&tlmm 8 0x00>; + qcom,sn-clkreq = <&tlmm 7 0x00>; + qcom,sn-vdd-1p8-supply = <&L11A>; + qcom,sn-vdd-1p8-voltage = <1800000 1800000>; + qcom,sn-vdd-1p8-current = <157000>; + interrupt-parent = <&tlmm>; + interrupts = <9 0>; + interrupt-names = "nfc_irq"; + pinctrl-names = "nfc_active", "nfc_suspend"; + pinctrl-0 = <&nfc_int_active &nfc_enable_active>; + pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>; + }; +}; + +&soc { + gpio_keys { + compatible = "gpio-keys"; + label = "gpio-keys"; + + pinctrl-names = "default"; + pinctrl-0 = <&key_vol_up_default>; + + vol_up { + label = "volume_up"; + gpios = <&pm6350_gpios 2 GPIO_ACTIVE_LOW>; + linux,input-type = <1>; + linux,code = ; + gpio-key,wakeup; + debounce-interval = <15>; + linux,can-disable; + }; + }; +}; + +&qupv3_se10_i2c { + status = "disabled"; +}; + +&pm8008_8 { + status = "disabled"; +}; + +&pm8008_9 { + status = "disabled"; +}; + +&pm6150a_amoled { + status = "ok"; +}; + +&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 = <150>; + qcom,hold-soc-while-full; + qcom,linearize-soc; + qcom,cl-feedback-on; +}; + +&qupv3_se8_i2c { + 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 = <&L11A>; + avdd-supply = <&L6A>; + 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"; + + panel = <&dsi_rm69299_visionox_amoled_video + &dsi_rm69299_visionox_amoled_cmd>; + }; +}; + +&pm7250b_charger { + dpdm-supply = <&qusb_phy0>; + + smb5_vbus: qcom,smb5-vbus { + regulator-name = "smb5-vbus"; + }; + + smb5_vconn: qcom,smb5-vconn { + regulator-name = "smb5-vconn"; + }; +}; + +&pm7250b_pdphy { + vdd-pdphy-supply = <&L3A>; + 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"; +}; + +&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"; +}; &qusb_phy0 { vdd-supply = <&L18A>; From 3e6b4d3a631bf5f7c9cd4136f757926705f42d1a Mon Sep 17 00:00:00 2001 From: Ashish Chavan Date: Tue, 15 Jun 2021 13:01:54 +0530 Subject: [PATCH 45/46] ARM: dts: msm: Fix resource-name and id for holi-pm6125-regulator Fix resource-name and id for S5A in holi-pm6125-regulator.dtsi. Change-Id: Iee1d105c53808e75826b0068040d75fa1c17d80c --- qcom/holi-regulators-pm6125.dtsi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/qcom/holi-regulators-pm6125.dtsi b/qcom/holi-regulators-pm6125.dtsi index 519b66a0b9d6..652065155f87 100644 --- a/qcom/holi-regulators-pm6125.dtsi +++ b/qcom/holi-regulators-pm6125.dtsi @@ -374,6 +374,8 @@ &rpm_bus { rpm-regulator-smpa5 { + qcom,resource-name = "smpa"; + qcom,resource-id = <5>; status = "okay"; S5A: pm6125_s5: regulator-s5 { regulator-min-microvolt = <382000>; From f24830cded9ca6d17ac4faf10ea5b826e1680878 Mon Sep 17 00:00:00 2001 From: Jishnu Prakash Date: Wed, 2 Jun 2021 15:26:14 +0530 Subject: [PATCH 46/46] ARM: dts: msm: Add nopmi support for holi-pm6125 and blair Add nopmi support for holi-pm6125 and blair platforms. In addition, correct the name of usb phy used for blair. Change-Id: I06b3e2ea69562d22ec9c01014e37fbfb6019e629 --- qcom/Makefile | 7 +- qcom/blair-atp.dtsi | 4 +- qcom/blair-cdp.dtsi | 3 +- qcom/blair-mtp-nopmi-overlay.dts | 2 + qcom/blair-mtp-nopmi.dts | 2 + qcom/blair-mtp-nopmi.dtsi | 4 +- qcom/blair-mtp-overlay.dts | 6 + qcom/blair-mtp.dts | 6 + qcom/blair-mtp.dtsi | 233 ---------------------- qcom/blair-qrd-nopmi-overlay.dts | 2 + qcom/blair-qrd-nopmi.dts | 2 + qcom/blair-qrd-nopmi.dtsi | 4 +- qcom/blair-qrd-overlay.dts | 6 + qcom/blair-qrd.dts | 6 + qcom/blair-qrd.dtsi | 258 ------------------------ qcom/blair-usb.dtsi | 6 +- qcom/holi-cdp-pm6125.dtsi | 1 + qcom/holi-mtp-pm6125-nopmi-overlay.dts | 14 ++ qcom/holi-mtp-pm6125-nopmi.dts | 6 +- qcom/holi-mtp-pm6125-overlay.dts | 1 + qcom/holi-mtp-pm6125.dts | 1 + qcom/holi-mtp-pm6125.dtsi | 232 ---------------------- qcom/holi-mtp-pm7250b.dtsi | 232 ++++++++++++++++++++++ qcom/holi-mtp-usbc-pm6125.dtsi | 1 + qcom/holi-pm6125-overlay.dtsi | 12 ++ qcom/holi-pm7250b.dtsi | 151 +++++++++++++- qcom/holi-pmic-overlay-pm6125.dtsi | 79 -------- qcom/holi-qrd-pm6125-nopmi-overlay.dts | 15 ++ qcom/holi-qrd-pm6125-nopmi.dts | 14 ++ qcom/holi-qrd-pm6125-overlay.dts | 1 + qcom/holi-qrd-pm6125.dts | 1 + qcom/holi-qrd-pm6125.dtsi | 258 ------------------------ qcom/holi-qrd-pm7250b.dtsi | 264 +++++++++++++++++++++++++ qcom/holi-thermal-overlay-pm6125.dtsi | 78 -------- 34 files changed, 759 insertions(+), 1153 deletions(-) create mode 100644 qcom/holi-mtp-pm7250b.dtsi create mode 100644 qcom/holi-qrd-pm6125-nopmi-overlay.dts create mode 100644 qcom/holi-qrd-pm6125-nopmi.dts create mode 100644 qcom/holi-qrd-pm7250b.dtsi diff --git a/qcom/Makefile b/qcom/Makefile index d2843e1e640f..45654538a8d4 100644 --- a/qcom/Makefile +++ b/qcom/Makefile @@ -106,7 +106,8 @@ dtbo-$(CONFIG_ARCH_HOLI) += holi-rumi-overlay.dtbo \ holi-cdp-lcd-pm6125-overlay.dtbo \ holi-mtp-usbc-pm6125-overlay.dtbo \ holi-mtp-pm6125-nopmi-overlay.dtbo \ - holi-qrd-pm6125-overlay.dtbo + holi-qrd-pm6125-overlay.dtbo \ + holi-qrd-pm6125-nopmi-overlay.dtbo holi-rumi-overlay.dtbo-base := holi.dtb holi-mtp-overlay.dtbo-base := holi.dtb @@ -121,6 +122,7 @@ holi-cdp-lcd-pm6125-overlay.dtbo-base := holi.dtb holi-mtp-usbc-pm6125-overlay.dtbo-base := holi.dtb holi-mtp-pm6125-nopmi-overlay.dtbo-base := holi.dtb holi-qrd-pm6125-overlay.dtbo-base := holi.dtb +holi-qrd-pm6125-nopmi-overlay.dtbo-base := holi.dtb else dtb-$(CONFIG_ARCH_HOLI) += holi-rumi.dtb \ @@ -135,7 +137,8 @@ dtb-$(CONFIG_ARCH_HOLI) += holi-rumi.dtb \ holi-cdp-lcd-pm6125.dtb \ holi-mtp-usbc-pm6125.dtb \ holi-mtp-pm6125-nopmi.dtb \ - holi-qrd-pm6125.dtb + holi-qrd-pm6125.dtb \ + holi-qrd-pm6125-nopmi.dtb endif diff --git a/qcom/blair-atp.dtsi b/qcom/blair-atp.dtsi index 0626eec24cc3..7b8d509b9815 100644 --- a/qcom/blair-atp.dtsi +++ b/qcom/blair-atp.dtsi @@ -622,7 +622,7 @@ }; &pm7250b_charger { - dpdm-supply = <&qusb_phy0>; + dpdm-supply = <&usb2_phy0>; smb5_vbus: qcom,smb5-vbus { regulator-name = "smb5-vbus"; @@ -677,7 +677,7 @@ io-channel-names = "chg_type"; }; -&qusb_phy0 { +&usb2_phy0 { vdd-supply = <&L18A>; vdda18-supply = <&L2A>; vdda33-supply = <&L3A>; diff --git a/qcom/blair-cdp.dtsi b/qcom/blair-cdp.dtsi index c5b6fe5a2a76..a4432d2ea265 100644 --- a/qcom/blair-cdp.dtsi +++ b/qcom/blair-cdp.dtsi @@ -1,6 +1,7 @@ #include "holi-audio-overlay.dtsi" #include #include +#include "holi-pm7250b.dtsi" #include "holi-pmic-overlay-pm6125.dtsi" #include "holi-thermal-overlay-pm6125.dtsi" #include "display/holi-sde-display-cdp-pm6125.dtsi" @@ -336,7 +337,7 @@ #include "camera/blair-camera-sensor-cdp.dtsi" &pm7250b_charger { - dpdm-supply = <&qusb_phy0>; + dpdm-supply = <&usb2_phy0>; smb5_vbus: qcom,smb5-vbus { regulator-name = "smb5-vbus"; diff --git a/qcom/blair-mtp-nopmi-overlay.dts b/qcom/blair-mtp-nopmi-overlay.dts index 45f5b62a29a8..a879373f8d08 100644 --- a/qcom/blair-mtp-nopmi-overlay.dts +++ b/qcom/blair-mtp-nopmi-overlay.dts @@ -8,5 +8,7 @@ compatible = "qcom,blair-mtp", "qcom,blair", "qcom,mtp"; qcom,msm-id = <507 0x10000>; qcom,board-id = <8 0>; + qcom,pmic-id-size = <4>; + qcom,pmic-id = <0x2D 0x0 0x0 0x0>; }; diff --git a/qcom/blair-mtp-nopmi.dts b/qcom/blair-mtp-nopmi.dts index aa80d9f34851..d6bc812200b8 100644 --- a/qcom/blair-mtp-nopmi.dts +++ b/qcom/blair-mtp-nopmi.dts @@ -7,5 +7,7 @@ model = "Qualcomm Technologies, Inc. Blair MTP NOPMI"; compatible = "qcom,blair-mtp", "qcom,blair", "qcom,mtp"; qcom,board-id = <8 0>; + qcom,pmic-id-size = <4>; + qcom,pmic-id = <0x2D 0x0 0x0 0x0>; }; diff --git a/qcom/blair-mtp-nopmi.dtsi b/qcom/blair-mtp-nopmi.dtsi index 336d7a250678..a00189357ba1 100644 --- a/qcom/blair-mtp-nopmi.dtsi +++ b/qcom/blair-mtp-nopmi.dtsi @@ -1,2 +1,2 @@ -/ { -}; +#include "blair-mtp.dtsi" + diff --git a/qcom/blair-mtp-overlay.dts b/qcom/blair-mtp-overlay.dts index 7f1464083f57..624cb3f025ec 100644 --- a/qcom/blair-mtp-overlay.dts +++ b/qcom/blair-mtp-overlay.dts @@ -2,11 +2,17 @@ /plugin/; #include "blair-mtp.dtsi" +#include "holi-mtp-pm7250b.dtsi" / { model = "Qualcomm Technologies, Inc. Blair MTP"; compatible = "qcom,blair-mtp", "qcom,blair", "qcom,mtp"; qcom,msm-id = <507 0x10000>; qcom,board-id = <8 0>; + qcom,pmic-id-size = <4>; + qcom,pmic-id = <0x2D 0x0 0x2E 0x0>; }; +&pm7250b_charger { + dpdm-supply = <&usb2_phy0>; +}; diff --git a/qcom/blair-mtp.dts b/qcom/blair-mtp.dts index b02097f25f9d..6806d92ab64b 100644 --- a/qcom/blair-mtp.dts +++ b/qcom/blair-mtp.dts @@ -2,10 +2,16 @@ #include "blair.dtsi" #include "blair-mtp.dtsi" +#include "holi-mtp-pm7250b.dtsi" / { model = "Qualcomm Technologies, Inc. Blair MTP"; compatible = "qcom,blair-mtp", "qcom,blair", "qcom,mtp"; qcom,board-id = <8 0>; + qcom,pmic-id-size = <4>; + qcom,pmic-id = <0x2D 0x0 0x2E 0x0>; }; +&pm7250b_charger { + dpdm-supply = <&usb2_phy0>; +}; diff --git a/qcom/blair-mtp.dtsi b/qcom/blair-mtp.dtsi index 6285b1ce213e..72c09ebd187a 100644 --- a/qcom/blair-mtp.dtsi +++ b/qcom/blair-mtp.dtsi @@ -4,7 +4,6 @@ #include "holi-pmic-overlay-pm6125.dtsi" #include "holi-thermal-overlay-pm6125.dtsi" #include "display/holi-sde-display-mtp-pm6125.dtsi" -#include #include "display/blair-sde-display-mtp.dtsi" @@ -150,13 +149,6 @@ linux,can-disable; }; }; - - mtp_batterydata: qcom,battery-data { - qcom,batt-id-range-pct = <15>; - #include "qg-batterydata-alium-3600mah.dtsi" - #include "qg-batterydata-atl466271_3300mAh.dtsi" - #include "qg-batterydata-atl436186020H_3780mAh.dtsi" - }; }; &soc { @@ -207,230 +199,5 @@ }; }; -&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>, - <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_MODE>, - <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_OUTPUT_MODE>, - <&smb1394_div2_cp_primary PSY_IIO_MIN_ICL>, - <&smb1394_div2_cp_primary PSY_IIO_CP_SWITCHER_EN>, - <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>, - <&smb1394_div2_cp_primary PSY_IIO_CP_ILIM>, - <&smb1394_div2_cp_primary PSY_IIO_CP_DIE_TEMP>; - 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", - "cp_parallel_mode", - "cp_parallel_output_mode", - "cp_min_icl", - "cp_switcher_en", - "cp_enable", - "cp_ilim", - "cp_die_temp"; - qcom,battery-data = <&mtp_batterydata>; - qcom,sec-charger-config = <1>; - 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; - qcom,fcc-stepping-enable; - qcom,fcc-step-delay-ms = <100>; - qcom,fcc-step-size-ua = <100000>; - qcom,smb-internal-pull-kohm = <0>; - qcom,en-skin-therm-mitigation; - qcom,hvdcp3-standalone-config; -}; - -&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>, - <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>; - io-channel-names = "batt-therm", - "batt-id", - "input_current_limited", - "recharge_soc", - "force_recharge", - "charge_done", - "cp_charging_enabled"; - qcom,battery-data = <&mtp_batterydata>; - qcom,qg-iterm-ma = <150>; - qcom,hold-soc-while-full; - qcom,linearize-soc; - qcom,cl-feedback-on; - qcom,tcss-enable; - qcom,fvss-enable; - qcom,bass-enable; - qcom,use-cp-iin-sns; - 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_vadc { - smb1390_therm@e { - qcom,scale-fn-type = ; - }; -}; - -&pm7250b_gpios { - smb_stat { - smb_stat_default: smb_stat_default { - pins = "gpio6"; - function = "normal"; - input-enable; - bias-pull-up; - qcom,pull-up-strength = ; - power-source = <0>; - }; - }; -}; - -&qupv3_se10_i2c { - status = "ok"; - #include "smb1394.dtsi" -}; - -&smb1394 { - interrupts = <0x2 0xc5 0x0 IRQ_TYPE_LEVEL_LOW>; - interrupt-parent = <&spmi_bus>; - interrupt-names = "smb1394"; - pinctrl-names = "default"; - qcom,enable-toggle-stat; - pinctrl-0 = <&smb_stat_default>; - status = "ok"; -}; - -&smb1394_div2_cp_primary { - io-channels = <&pm7250b_vadc ADC5_AMUX_THM2>, - <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>, - <&pm7250b_charger PSY_IIO_ADAPTER_CC_MODE>, - <&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>, - <&pm7250b_charger PSY_IIO_USB_INPUT_CURRENT_SETTLED>, - <&pm7250b_charger PSY_IIO_SMB_EN_MODE>, - <&pm7250b_charger PSY_IIO_SMB_EN_REASON>; - io-channel-names = "die_temp", - "real_type", - "adapter_cc_mode", - "pd_current_max", - "input_current_settled", - "smb_en_mode", - "smb_en_reason"; - qcom,parallel-input-mode = <1>; /* USBIN */ - qcom,parallel-output-mode = <2>; /* VBAT */ - status = "ok"; -}; - #include "camera/blair-camera-sensor-mtp.dtsi" -&pm7250b_charger { - dpdm-supply = <&qusb_phy0>; - - smb5_vbus: qcom,smb5-vbus { - regulator-name = "smb5-vbus"; - }; - - smb5_vconn: qcom,smb5-vconn { - regulator-name = "smb5-vconn"; - }; -}; - -&pm7250b_pdphy { - vdd-pdphy-supply = <&L3A>; - 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"; -}; - -&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"; -}; - - diff --git a/qcom/blair-qrd-nopmi-overlay.dts b/qcom/blair-qrd-nopmi-overlay.dts index 744a11f3e773..242b301e2408 100644 --- a/qcom/blair-qrd-nopmi-overlay.dts +++ b/qcom/blair-qrd-nopmi-overlay.dts @@ -8,5 +8,7 @@ compatible = "qcom,blair-qrd", "qcom,blair", "qcom,qrd"; qcom,msm-id = <507 0x10000>; qcom,board-id = <0x1000B 0>; + qcom,pmic-id-size = <4>; + qcom,pmic-id = <0x2D 0x0 0x0 0x0>; }; diff --git a/qcom/blair-qrd-nopmi.dts b/qcom/blair-qrd-nopmi.dts index f09f4f93d5de..b4cf4fdeb04c 100644 --- a/qcom/blair-qrd-nopmi.dts +++ b/qcom/blair-qrd-nopmi.dts @@ -7,5 +7,7 @@ model = "Qualcomm Technologies, Inc. Blair QRD NOPMI"; compatible = "qcom,blair-qrd", "qcom,blair", "qcom,qrd"; qcom,board-id = <0x1000B 0>; + qcom,pmic-id-size = <4>; + qcom,pmic-id = <0x2D 0x0 0x0 0x0>; }; diff --git a/qcom/blair-qrd-nopmi.dtsi b/qcom/blair-qrd-nopmi.dtsi index 336d7a250678..23729e5a518c 100644 --- a/qcom/blair-qrd-nopmi.dtsi +++ b/qcom/blair-qrd-nopmi.dtsi @@ -1,2 +1,2 @@ -/ { -}; +#include "blair-qrd.dtsi" + diff --git a/qcom/blair-qrd-overlay.dts b/qcom/blair-qrd-overlay.dts index 04955e482053..57c75c1c53cd 100644 --- a/qcom/blair-qrd-overlay.dts +++ b/qcom/blair-qrd-overlay.dts @@ -2,11 +2,17 @@ /plugin/; #include "blair-qrd.dtsi" +#include "holi-qrd-pm7250b.dtsi" / { model = "Qualcomm Technologies, Inc. Blair QRD"; compatible = "qcom,blair-qrd", "qcom,blair", "qcom,qrd"; qcom,msm-id = <507 0x10000>; qcom,board-id = <0x1000B 0>; + qcom,pmic-id-size = <4>; + qcom,pmic-id = <0x2D 0x0 0x2E 0x0>; }; +&pm7250b_charger { + dpdm-supply = <&usb2_phy0>; +}; diff --git a/qcom/blair-qrd.dts b/qcom/blair-qrd.dts index b0bc35a9f0bb..3e1602501c4b 100644 --- a/qcom/blair-qrd.dts +++ b/qcom/blair-qrd.dts @@ -2,10 +2,16 @@ #include "blair.dtsi" #include "blair-qrd.dtsi" +#include "holi-qrd-pm7250b.dtsi" / { model = "Qualcomm Technologies, Inc. Blair QRD"; compatible = "qcom,blair-qrd", "qcom,blair", "qcom,qrd"; qcom,board-id = <0x1000B 0>; + qcom,pmic-id-size = <4>; + qcom,pmic-id = <0x2D 0x0 0x2E 0x0>; }; +&pm7250b_charger { + dpdm-supply = <&usb2_phy0>; +}; diff --git a/qcom/blair-qrd.dtsi b/qcom/blair-qrd.dtsi index fe3a584509fb..3927faa3efee 100644 --- a/qcom/blair-qrd.dtsi +++ b/qcom/blair-qrd.dtsi @@ -5,7 +5,6 @@ #include "display/holi-sde-display-qrd-pm6125.dtsi" #include "display/blair-sde-display-qrd.dtsi" #include "holi-thermal-overlay-pm6125.dtsi" -#include &wcd938x_codec { cdc-vdd-rxtx-supply = <&L9A>; @@ -224,238 +223,6 @@ linux,can-disable; }; }; - - qrd_batterydata: qcom,battery-data { - qcom,batt-id-range-pct = <15>; - #include "qg-batterydata-atl436186020H_3780mAh.dtsi" - #include "qg-batterydata-atl466271_3300mAh.dtsi" - }; -}; - -&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>, - <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_MODE>, - <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_OUTPUT_MODE>, - <&smb1394_div2_cp_primary PSY_IIO_MIN_ICL>, - <&smb1394_div2_cp_primary PSY_IIO_CP_SWITCHER_EN>, - <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>, - <&smb1394_div2_cp_primary PSY_IIO_CP_ILIM>, - <&smb1394_div2_cp_primary PSY_IIO_CP_DIE_TEMP>; - 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", - "cp_parallel_mode", - "cp_parallel_output_mode", - "cp_min_icl", - "cp_switcher_en", - "cp_enable", - "cp_ilim", - "cp_die_temp"; - qcom,battery-data = <&qrd_batterydata>; - qcom,sec-charger-config = <1>; - 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; - qcom,fcc-stepping-enable; - qcom,fcc-step-delay-ms = <100>; - qcom,fcc-step-size-ua = <100000>; - qcom,smb-internal-pull-kohm = <0>; - qcom,en-skin-therm-mitigation; - qcom,thermal-mitigation = <10000000 9500000 9000000 8500000 8000000 - 7500000 7000000 6500000 6000000 5500000 5000000 4500000 - 4000000 3500000 3000000 2500000 2000000 1500000 1000000 - 500000>; -}; - -&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>, - <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>; - io-channel-names = "batt-therm", - "batt-id", - "input_current_limited", - "recharge_soc", - "force_recharge", - "charge_done", - "cp_charging_enabled"; - qcom,qg-iterm-ma = <150>; - qcom,hold-soc-while-full; - qcom,linearize-soc; - qcom,cl-feedback-on; - qcom,tcss-enable; - qcom,fvss-enable; - qcom,bass-enable; - qcom,use-cp-iin-sns; - 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 = <&qusb_phy0>; - - smb5_vbus: qcom,smb5-vbus { - regulator-name = "smb5-vbus"; - }; - - smb5_vconn: qcom,smb5-vconn { - regulator-name = "smb5-vconn"; - }; -}; - -&pm7250b_pdphy { - vdd-pdphy-supply = <&L3A>; - 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"; -}; - -&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"; -}; - -&pm7250b_vadc { - smb1390_therm@e { - qcom,scale-fn-type = ; - }; -}; - -&pm7250b_gpios { - smb_stat { - smb_stat_default: smb_stat_default { - pins = "gpio6"; - function = "normal"; - input-enable; - bias-pull-up; - qcom,pull-up-strength = ; - power-source = <0>; - }; - }; -}; - -&qupv3_se10_i2c { - status = "ok"; - #include "smb1394.dtsi" -}; - -&smb1394 { - interrupts = <0x2 0xc5 0x0 IRQ_TYPE_LEVEL_LOW>; - interrupt-parent = <&spmi_bus>; - interrupt-names = "smb1394"; - pinctrl-names = "default"; - qcom,enable-toggle-stat; - pinctrl-0 = <&smb_stat_default>; - status = "ok"; -}; - -&smb1394_div2_cp_primary { - io-channels = <&pm7250b_vadc ADC5_AMUX_THM2>, - <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>, - <&pm7250b_charger PSY_IIO_ADAPTER_CC_MODE>, - <&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>, - <&pm7250b_charger PSY_IIO_USB_INPUT_CURRENT_SETTLED>, - <&pm7250b_charger PSY_IIO_SMB_EN_MODE>, - <&pm7250b_charger PSY_IIO_SMB_EN_REASON>; - io-channel-names = "die_temp", - "real_type", - "adapter_cc_mode", - "pd_current_max", - "input_current_settled", - "smb_en_mode", - "smb_en_reason"; - qcom,parallel-input-mode = <1>; /* USBIN */ - qcom,parallel-output-mode = <2>; /* VBAT */ - status = "ok"; }; &thermal_zones { @@ -574,31 +341,6 @@ trip = <&cx_trip>; cooling-device = <&modem_skin 3 3>; }; - - battery-cdev0 { - trip = <&battery_trip0>; - cooling-device = <&pm7250b_charger 6 6>; - }; - - battery-cdev1 { - trip = <&battery_trip1>; - cooling-device = <&pm7250b_charger 10 10>; - }; - - battery-cdev2 { - trip = <&battery_trip2>; - cooling-device = <&pm7250b_charger 14 14>; - }; - - battery-cdev3 { - trip = <&battery_trip3>; - cooling-device = <&pm7250b_charger 16 16>; - }; - - battery-cdev4 { - trip = <&battery_trip4>; - cooling-device = <&pm7250b_charger 18 18>; - }; }; }; diff --git a/qcom/blair-usb.dtsi b/qcom/blair-usb.dtsi index 7c707b10f214..4b36ba02fd8c 100644 --- a/qcom/blair-usb.dtsi +++ b/qcom/blair-usb.dtsi @@ -33,7 +33,7 @@ reset-names = "core_reset"; USB3_GDSC-supply = <&gcc_usb30_prim_gdsc>; - dpdm-supply = <&qusb_phy0>; + dpdm-supply = <&usb2_phy0>; qcom,usb-charger; qcom,core-clk-rate = <133333333>; @@ -54,7 +54,7 @@ reg = <0x4e00000 0xcd00>; interrupt-parent = <&intc>; interrupts = ; - usb-phy = <&qusb_phy0>, <&usb_qmp_dp_phy>; + usb-phy = <&usb2_phy0>, <&usb_qmp_dp_phy>; tx-fifo-resize; linux,sysdev_is_parent; snps,disable-clk-gating; @@ -69,7 +69,7 @@ }; /* Primary USB port related QUSB2 PHY */ - qusb_phy0: qusb@162b000 { + usb2_phy0: hsphy@162b000 { compatible = "qcom,usb-hsphy-snps-femto"; reg = <0x162B000 0x114>, <0x0162A000 0x1000>; diff --git a/qcom/holi-cdp-pm6125.dtsi b/qcom/holi-cdp-pm6125.dtsi index 28c2db11d99c..7106307562cd 100644 --- a/qcom/holi-cdp-pm6125.dtsi +++ b/qcom/holi-cdp-pm6125.dtsi @@ -1,6 +1,7 @@ #include "holi-audio-overlay.dtsi" #include #include +#include "holi-pm7250b.dtsi" #include "holi-pmic-overlay-pm6125.dtsi" #include "holi-thermal-overlay-pm6125.dtsi" #include "display/holi-sde-display-cdp-pm6125.dtsi" diff --git a/qcom/holi-mtp-pm6125-nopmi-overlay.dts b/qcom/holi-mtp-pm6125-nopmi-overlay.dts index 71fe2b7f1a8a..2a8758d4c7fe 100644 --- a/qcom/holi-mtp-pm6125-nopmi-overlay.dts +++ b/qcom/holi-mtp-pm6125-nopmi-overlay.dts @@ -1 +1,15 @@ /dts-v1/; +/plugin/; + +#include "holi-pm6125-overlay.dtsi" +#include "holi-regulators-pm6125.dtsi" +#include "holi-mtp-pm6125.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Holi MTP PM6125 NOPMI"; + compatible = "qcom,holi-mtp", "qcom,holi", "qcom,mtp"; + qcom,msm-id = <454 0x10000>, <472 0x10000>; + qcom,board-id = <8 0>; + qcom,pmic-id-size = <4>; + qcom,pmic-id = <0x2D 0x0 0x0 0x0>; +}; diff --git a/qcom/holi-mtp-pm6125-nopmi.dts b/qcom/holi-mtp-pm6125-nopmi.dts index ceaba4bf503e..8a247f3d5aaf 100644 --- a/qcom/holi-mtp-pm6125-nopmi.dts +++ b/qcom/holi-mtp-pm6125-nopmi.dts @@ -1,13 +1,15 @@ /dts-v1/; #include "holi.dtsi" -#include "holi-mtp-pm6125-nopmi.dtsi" +#include "holi-pm6125-overlay.dtsi" +#include "holi-regulators-pm6125.dtsi" +#include "holi-mtp-pm6125.dtsi" / { model = "Qualcomm Technologies, Inc. Holi MTP PM6125 NOPMI"; compatible = "qcom,holi-mtp", "qcom,holi", "qcom,mtp"; qcom,board-id = <8 0>; qcom,pmic-id-size = <4>; - qcom,pmic-id = <0x2D 0x0 0x00 0x0>; + qcom,pmic-id = <0x2D 0x0 0x0 0x0>; }; diff --git a/qcom/holi-mtp-pm6125-overlay.dts b/qcom/holi-mtp-pm6125-overlay.dts index 4bd5809d06ac..d87ee2930b5d 100644 --- a/qcom/holi-mtp-pm6125-overlay.dts +++ b/qcom/holi-mtp-pm6125-overlay.dts @@ -3,6 +3,7 @@ #include "holi-pm6125-overlay.dtsi" #include "holi-regulators-pm6125.dtsi" +#include "holi-mtp-pm7250b.dtsi" #include "holi-mtp-pm6125.dtsi" / { diff --git a/qcom/holi-mtp-pm6125.dts b/qcom/holi-mtp-pm6125.dts index 80145038a5ec..1cd2ecb4b406 100644 --- a/qcom/holi-mtp-pm6125.dts +++ b/qcom/holi-mtp-pm6125.dts @@ -3,6 +3,7 @@ #include "holi.dtsi" #include "holi-pm6125-overlay.dtsi" #include "holi-regulators-pm6125.dtsi" +#include "holi-mtp-pm7250b.dtsi" #include "holi-mtp-pm6125.dtsi" / { diff --git a/qcom/holi-mtp-pm6125.dtsi b/qcom/holi-mtp-pm6125.dtsi index f83f70ec3187..8dbc3454e44b 100644 --- a/qcom/holi-mtp-pm6125.dtsi +++ b/qcom/holi-mtp-pm6125.dtsi @@ -4,7 +4,6 @@ #include "holi-pmic-overlay-pm6125.dtsi" #include "holi-thermal-overlay-pm6125.dtsi" #include "display/holi-sde-display-mtp-pm6125.dtsi" -#include #include "camera/holi-camera-pm6125-overlay.dtsi" &wcd938x_codec { @@ -149,13 +148,6 @@ }; }; - mtp_batterydata: qcom,battery-data { - qcom,batt-id-range-pct = <15>; - #include "qg-batterydata-alium-3600mah.dtsi" - #include "qg-batterydata-atl466271_3300mAh.dtsi" - #include "qg-batterydata-atl436186020H_3780mAh.dtsi" - }; - cx_ipeak_lm: cx_ipeak@3ed000 { #size-cells = <1>; compatible = "qcom,cx-ipeak-v2"; @@ -212,228 +204,4 @@ }; }; -&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>, - <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_MODE>, - <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_OUTPUT_MODE>, - <&smb1394_div2_cp_primary PSY_IIO_MIN_ICL>, - <&smb1394_div2_cp_primary PSY_IIO_CP_SWITCHER_EN>, - <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>, - <&smb1394_div2_cp_primary PSY_IIO_CP_ILIM>, - <&smb1394_div2_cp_primary PSY_IIO_CP_DIE_TEMP>; - 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", - "cp_parallel_mode", - "cp_parallel_output_mode", - "cp_min_icl", - "cp_switcher_en", - "cp_enable", - "cp_ilim", - "cp_die_temp"; - qcom,battery-data = <&mtp_batterydata>; - qcom,sec-charger-config = <1>; - 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; - qcom,fcc-stepping-enable; - qcom,fcc-step-delay-ms = <100>; - qcom,fcc-step-size-ua = <100000>; - qcom,smb-internal-pull-kohm = <0>; - qcom,en-skin-therm-mitigation; - qcom,hvdcp3-standalone-config; -}; - -&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>, - <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>; - io-channel-names = "batt-therm", - "batt-id", - "input_current_limited", - "recharge_soc", - "force_recharge", - "charge_done", - "cp_charging_enabled"; - qcom,battery-data = <&mtp_batterydata>; - qcom,qg-iterm-ma = <150>; - qcom,hold-soc-while-full; - qcom,linearize-soc; - qcom,cl-feedback-on; - qcom,tcss-enable; - qcom,fvss-enable; - qcom,bass-enable; - qcom,use-cp-iin-sns; - 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_vadc { - smb1390_therm@e { - qcom,scale-fn-type = ; - }; -}; - -&pm7250b_gpios { - smb_stat { - smb_stat_default: smb_stat_default { - pins = "gpio6"; - function = "normal"; - input-enable; - bias-pull-up; - qcom,pull-up-strength = ; - power-source = <0>; - }; - }; -}; - -&qupv3_se10_i2c { - status = "ok"; - #include "smb1394.dtsi" -}; - -&smb1394 { - interrupts = <0x2 0xc5 0x0 IRQ_TYPE_LEVEL_LOW>; - interrupt-parent = <&spmi_bus>; - interrupt-names = "smb1394"; - pinctrl-names = "default"; - qcom,enable-toggle-stat; - pinctrl-0 = <&smb_stat_default>; - status = "ok"; -}; - -&smb1394_div2_cp_primary { - io-channels = <&pm7250b_vadc ADC5_AMUX_THM2>, - <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>, - <&pm7250b_charger PSY_IIO_ADAPTER_CC_MODE>, - <&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>, - <&pm7250b_charger PSY_IIO_USB_INPUT_CURRENT_SETTLED>, - <&pm7250b_charger PSY_IIO_SMB_EN_MODE>, - <&pm7250b_charger PSY_IIO_SMB_EN_REASON>; - io-channel-names = "die_temp", - "real_type", - "adapter_cc_mode", - "pd_current_max", - "input_current_settled", - "smb_en_mode", - "smb_en_reason"; - qcom,parallel-input-mode = <1>; /* USBIN */ - qcom,parallel-output-mode = <2>; /* VBAT */ - status = "ok"; -}; - #include "camera/holi-camera-sensor-pm6125-mtp.dtsi" - -&pm7250b_charger { - dpdm-supply = <&qusb_phy0>; - - smb5_vbus: qcom,smb5-vbus { - regulator-name = "smb5-vbus"; - }; - - smb5_vconn: qcom,smb5-vconn { - regulator-name = "smb5-vconn"; - }; -}; - -&pm7250b_pdphy { - vdd-pdphy-supply = <&L3A>; - 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"; -}; - -&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"; -}; diff --git a/qcom/holi-mtp-pm7250b.dtsi b/qcom/holi-mtp-pm7250b.dtsi new file mode 100644 index 000000000000..e93422af635e --- /dev/null +++ b/qcom/holi-mtp-pm7250b.dtsi @@ -0,0 +1,232 @@ +#include +#include +#include "holi-pm7250b.dtsi" + +&soc { + mtp_batterydata: qcom,battery-data { + qcom,batt-id-range-pct = <15>; + #include "qg-batterydata-alium-3600mah.dtsi" + #include "qg-batterydata-atl466271_3300mAh.dtsi" + #include "qg-batterydata-atl436186020H_3780mAh.dtsi" + }; +}; + +&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>, + <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_MODE>, + <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_OUTPUT_MODE>, + <&smb1394_div2_cp_primary PSY_IIO_MIN_ICL>, + <&smb1394_div2_cp_primary PSY_IIO_CP_SWITCHER_EN>, + <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>, + <&smb1394_div2_cp_primary PSY_IIO_CP_ILIM>, + <&smb1394_div2_cp_primary PSY_IIO_CP_DIE_TEMP>; + 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", + "cp_parallel_mode", + "cp_parallel_output_mode", + "cp_min_icl", + "cp_switcher_en", + "cp_enable", + "cp_ilim", + "cp_die_temp"; + qcom,battery-data = <&mtp_batterydata>; + qcom,sec-charger-config = <1>; + 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; + qcom,fcc-stepping-enable; + qcom,fcc-step-delay-ms = <100>; + qcom,fcc-step-size-ua = <100000>; + qcom,smb-internal-pull-kohm = <0>; + qcom,en-skin-therm-mitigation; + qcom,hvdcp3-standalone-config; +}; + +&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>, + <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>; + io-channel-names = "batt-therm", + "batt-id", + "input_current_limited", + "recharge_soc", + "force_recharge", + "charge_done", + "cp_charging_enabled"; + qcom,battery-data = <&mtp_batterydata>; + qcom,qg-iterm-ma = <150>; + qcom,hold-soc-while-full; + qcom,linearize-soc; + qcom,cl-feedback-on; + qcom,tcss-enable; + qcom,fvss-enable; + qcom,fvss-vbatt-mv = <3300>; + qcom,bass-enable; + qcom,use-cp-iin-sns; +}; + +&pm7250b_vadc { + smb1390_therm@e { + qcom,scale-fn-type = ; + }; +}; + +&pm7250b_gpios { + smb_stat { + smb_stat_default: smb_stat_default { + pins = "gpio6"; + function = "normal"; + input-enable; + bias-pull-up; + qcom,pull-up-strength = ; + power-source = <0>; + }; + }; +}; + +&qupv3_se10_i2c { + status = "ok"; + #include "smb1394.dtsi" +}; + +&smb1394 { + interrupts = <0x2 0xc5 0x0 IRQ_TYPE_LEVEL_LOW>; + interrupt-parent = <&spmi_bus>; + interrupt-names = "smb1394"; + pinctrl-names = "default"; + qcom,enable-toggle-stat; + pinctrl-0 = <&smb_stat_default>; + status = "ok"; +}; + +&smb1394_div2_cp_primary { + io-channels = <&pm7250b_vadc ADC5_AMUX_THM2>, + <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>, + <&pm7250b_charger PSY_IIO_ADAPTER_CC_MODE>, + <&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>, + <&pm7250b_charger PSY_IIO_USB_INPUT_CURRENT_SETTLED>, + <&pm7250b_charger PSY_IIO_SMB_EN_MODE>, + <&pm7250b_charger PSY_IIO_SMB_EN_REASON>; + io-channel-names = "die_temp", + "real_type", + "adapter_cc_mode", + "pd_current_max", + "input_current_settled", + "smb_en_mode", + "smb_en_reason"; + qcom,parallel-input-mode = <1>; /* USBIN */ + qcom,parallel-output-mode = <2>; /* VBAT */ + status = "ok"; +}; + +&pm7250b_charger { + dpdm-supply = <&qusb_phy0>; + + smb5_vbus: qcom,smb5-vbus { + regulator-name = "smb5-vbus"; + }; + + smb5_vconn: qcom,smb5-vconn { + regulator-name = "smb5-vconn"; + }; +}; + +&pm7250b_pdphy { + vdd-pdphy-supply = <&L3A>; + 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"; +}; + +&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"; +}; diff --git a/qcom/holi-mtp-usbc-pm6125.dtsi b/qcom/holi-mtp-usbc-pm6125.dtsi index f63bbc3aab21..78268f0c4837 100644 --- a/qcom/holi-mtp-usbc-pm6125.dtsi +++ b/qcom/holi-mtp-usbc-pm6125.dtsi @@ -1,6 +1,7 @@ #include "holi-audio-overlay.dtsi" #include #include +#include "holi-pm7250b.dtsi" #include "holi-pmic-overlay-pm6125.dtsi" #include "holi-thermal-overlay-pm6125.dtsi" #include "display/holi-sde-display-mtp-pm6125.dtsi" diff --git a/qcom/holi-pm6125-overlay.dtsi b/qcom/holi-pm6125-overlay.dtsi index 23fabe466f75..c16a7a01358d 100644 --- a/qcom/holi-pm6125-overlay.dtsi +++ b/qcom/holi-pm6125-overlay.dtsi @@ -67,3 +67,15 @@ vdd_lpi_cx-supply = <&L1A_LEVEL>; vdd_lpi_mx-supply = <&L17A_LEVEL>; }; + +&qusb_phy0 { + vdd-supply = <&L7A>; + vdda18-supply = <&L10A>; + vdda33-supply = <&L7E>; + refgen-supply = <&L4A>; +}; + +&usb_qmp_dp_phy { + vdd-supply = <&L18A>; + core-supply = <&L4A>; +}; diff --git a/qcom/holi-pm7250b.dtsi b/qcom/holi-pm7250b.dtsi index 71fe2b7f1a8a..0ac745bb9032 100644 --- a/qcom/holi-pm7250b.dtsi +++ b/qcom/holi-pm7250b.dtsi @@ -1 +1,150 @@ -/dts-v1/; +#include +#include "pm7250b.dtsi" + +&pm7250b_vadc { + charger_skin_therm { + reg = ; + label = "charger_skin_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; + + conn_therm { + reg = ; + label = "conn_therm"; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + qcom,pre-scaling = <1 1>; + }; +}; + +&pm7250b_adc_tm { + io-channels = <&pm7250b_vadc ADC5_AMUX_THM1_100K_PU>, + <&pm7250b_vadc ADC5_AMUX_THM3_100K_PU>; + + /* Channel nodes */ + charger_skin_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; + + conn_therm { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + }; +}; + +&thermal_zones { + chg-skin-therm-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm7250b_adc_tm ADC5_AMUX_THM1_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; + + conn-therm-usr { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-governor = "user_space"; + thermal-sensors = <&pm7250b_adc_tm ADC5_AMUX_THM3_100K_PU>; + wake-capable-sensor; + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "passive"; + }; + }; + }; +}; + +&pm7250b_charger { + #cooling-cells = <2>; +}; + +&thermal_zones { + socd { + cooling-maps { + socd_cpu6 { + trip = <&socd_trip>; + cooling-device = <&cpu6_isolate 1 1>; + }; + + socd_cpu7 { + trip = <&socd_trip>; + cooling-device = <&cpu7_isolate 1 1>; + }; + }; + }; + + pm7250b_tz { + cooling-maps { + battery_cdev0 { + trip = <&pm7250b_trip0>; + cooling-device = + <&pm7250b_charger (THERMAL_MAX_LIMIT-1) + (THERMAL_MAX_LIMIT-1)>; + }; + + battery_cdev1 { + trip = <&pm7250b_trip1>; + cooling-device = + <&pm7250b_charger THERMAL_MAX_LIMIT + THERMAL_MAX_LIMIT>; + }; + }; + }; + + pm7250b-bcl-lvl0 { + cooling-maps { + lbat0_cpu6 { + trip = <&b_bcl_lvl0>; + cooling-device = <&cpu6_isolate 1 1>; + }; + + lbat0_cpu7 { + trip = <&b_bcl_lvl0>; + cooling-device = <&cpu7_isolate 1 1>; + }; + }; + }; + + pm7250b-bcl-lvl1 { + cooling-maps { + lbat1_cpu6 { + trip = <&b_bcl_lvl1>; + cooling-device = <&cpu6_isolate 1 1>; + }; + + lbat1_cpu7 { + trip = <&b_bcl_lvl1>; + cooling-device = <&cpu7_isolate 1 1>; + }; + }; + }; + + pm7250b-bcl-lvl2 { + cooling-maps { + lbat2_cpu6 { + trip = <&b_bcl_lvl2>; + cooling-device = <&cpu6_isolate 1 1>; + }; + + lbat2_cpu7 { + trip = <&b_bcl_lvl2>; + cooling-device = <&cpu7_isolate 1 1>; + }; + }; + }; +}; diff --git a/qcom/holi-pmic-overlay-pm6125.dtsi b/qcom/holi-pmic-overlay-pm6125.dtsi index e9999ade5618..78a61af2db8f 100644 --- a/qcom/holi-pmic-overlay-pm6125.dtsi +++ b/qcom/holi-pmic-overlay-pm6125.dtsi @@ -1,8 +1,6 @@ #include #include -#include -#include "pm7250b.dtsi" #include "pm6125.dtsi" #include "pmr735a.dtsi" @@ -22,42 +20,6 @@ }; }; -&pm7250b_vadc { - charger_skin_therm { - reg = ; - label = "charger_skin_therm"; - qcom,ratiometric; - qcom,hw-settle-time = <200>; - qcom,pre-scaling = <1 1>; - }; - - conn_therm { - reg = ; - label = "conn_therm"; - qcom,ratiometric; - qcom,hw-settle-time = <200>; - qcom,pre-scaling = <1 1>; - }; -}; - -&pm7250b_adc_tm { - io-channels = <&pm7250b_vadc ADC5_AMUX_THM1_100K_PU>, - <&pm7250b_vadc ADC5_AMUX_THM3_100K_PU>; - - /* Channel nodes */ - charger_skin_therm { - reg = ; - qcom,ratiometric; - qcom,hw-settle-time = <200>; - }; - - conn_therm { - reg = ; - qcom,ratiometric; - qcom,hw-settle-time = <200>; - }; -}; - &pm6125_vadc { pinctrl-names = "default"; pinctrl-0 = < @@ -256,36 +218,6 @@ }; &thermal_zones { - chg-skin-therm-usr { - polling-delay-passive = <0>; - polling-delay = <0>; - thermal-governor = "user_space"; - thermal-sensors = <&pm7250b_adc_tm ADC5_AMUX_THM1_100K_PU>; - wake-capable-sensor; - trips { - active-config0 { - temperature = <125000>; - hysteresis = <1000>; - type = "passive"; - }; - }; - }; - - conn-therm-usr { - polling-delay-passive = <0>; - polling-delay = <0>; - thermal-governor = "user_space"; - thermal-sensors = <&pm7250b_adc_tm ADC5_AMUX_THM3_100K_PU>; - wake-capable-sensor; - trips { - active-config0 { - temperature = <125000>; - hysteresis = <1000>; - type = "passive"; - }; - }; - }; - sdm-skin-therm-usr { polling-delay-passive = <0>; polling-delay = <0>; @@ -507,14 +439,3 @@ }; }; -&qusb_phy0 { - vdd-supply = <&L7A>; - vdda18-supply = <&L10A>; - vdda33-supply = <&L7E>; - refgen-supply = <&L4A>; -}; - -&usb_qmp_dp_phy { - vdd-supply = <&L18A>; - core-supply = <&L4A>; -}; diff --git a/qcom/holi-qrd-pm6125-nopmi-overlay.dts b/qcom/holi-qrd-pm6125-nopmi-overlay.dts new file mode 100644 index 000000000000..dbe9c8157115 --- /dev/null +++ b/qcom/holi-qrd-pm6125-nopmi-overlay.dts @@ -0,0 +1,15 @@ +/dts-v1/; +/plugin/; + +#include "holi-pm6125-overlay.dtsi" +#include "holi-regulators-pm6125.dtsi" +#include "holi-qrd-pm6125.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Holi QRD PM6125 NOPMI"; + compatible = "qcom,holi-qrd", "qcom,holi", "qcom,qrd"; + qcom,msm-id = <454 0x10000>, <472 0x10000>; + qcom,board-id = <0xb 0>; + qcom,pmic-id-size = <4>; + qcom,pmic-id = <0x2D 0x0 0x0 0x0>; +}; diff --git a/qcom/holi-qrd-pm6125-nopmi.dts b/qcom/holi-qrd-pm6125-nopmi.dts new file mode 100644 index 000000000000..1a5cfb08078a --- /dev/null +++ b/qcom/holi-qrd-pm6125-nopmi.dts @@ -0,0 +1,14 @@ +/dts-v1/; + +#include "holi.dtsi" +#include "holi-pm6125-overlay.dtsi" +#include "holi-regulators-pm6125.dtsi" +#include "holi-qrd-pm6125.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. Holi QRD PM6125 NOPMI"; + compatible = "qcom,holi-qrd", "qcom,holi", "qcom,qrd"; + qcom,board-id = <0xb 0>; + qcom,pmic-id-size = <4>; + qcom,pmic-id = <0x2D 0x0 0x0 0x0>; +}; diff --git a/qcom/holi-qrd-pm6125-overlay.dts b/qcom/holi-qrd-pm6125-overlay.dts index afdb8ec9f9f0..892b4b9cd0f3 100644 --- a/qcom/holi-qrd-pm6125-overlay.dts +++ b/qcom/holi-qrd-pm6125-overlay.dts @@ -3,6 +3,7 @@ #include "holi-pm6125-overlay.dtsi" #include "holi-regulators-pm6125.dtsi" +#include "holi-qrd-pm7250b.dtsi" #include "holi-qrd-pm6125.dtsi" / { diff --git a/qcom/holi-qrd-pm6125.dts b/qcom/holi-qrd-pm6125.dts index 35a00d66eb1c..35b34e7636fa 100644 --- a/qcom/holi-qrd-pm6125.dts +++ b/qcom/holi-qrd-pm6125.dts @@ -3,6 +3,7 @@ #include "holi.dtsi" #include "holi-pm6125-overlay.dtsi" #include "holi-regulators-pm6125.dtsi" +#include "holi-qrd-pm7250b.dtsi" #include "holi-qrd-pm6125.dtsi" / { diff --git a/qcom/holi-qrd-pm6125.dtsi b/qcom/holi-qrd-pm6125.dtsi index d53f5f26f3a2..0bd1d18cc474 100644 --- a/qcom/holi-qrd-pm6125.dtsi +++ b/qcom/holi-qrd-pm6125.dtsi @@ -4,7 +4,6 @@ #include "holi-pmic-overlay-pm6125.dtsi" #include "holi-thermal-overlay-pm6125.dtsi" #include "display/holi-sde-display-qrd-pm6125.dtsi" -#include #include "camera/holi-camera-pm6125-overlay.dtsi" &wcd938x_codec { @@ -217,12 +216,6 @@ }; }; - qrd_batterydata: qcom,battery-data { - qcom,batt-id-range-pct = <15>; - #include "qg-batterydata-atl436186020H_3780mAh.dtsi" - #include "qg-batterydata-atl466271_3300mAh.dtsi" - }; - cx_ipeak_lm: cx_ipeak@3ed000 { #size-cells = <1>; compatible = "qcom,cx-ipeak-v2"; @@ -233,232 +226,6 @@ #include "camera/holi-camera-sensor-pm6125-mtp.dtsi" -&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>, - <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_MODE>, - <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_OUTPUT_MODE>, - <&smb1394_div2_cp_primary PSY_IIO_MIN_ICL>, - <&smb1394_div2_cp_primary PSY_IIO_CP_SWITCHER_EN>, - <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>, - <&smb1394_div2_cp_primary PSY_IIO_CP_ILIM>, - <&smb1394_div2_cp_primary PSY_IIO_CP_DIE_TEMP>; - 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", - "cp_parallel_mode", - "cp_parallel_output_mode", - "cp_min_icl", - "cp_switcher_en", - "cp_enable", - "cp_ilim", - "cp_die_temp"; - qcom,battery-data = <&qrd_batterydata>; - qcom,sec-charger-config = <1>; - 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; - qcom,fcc-stepping-enable; - qcom,fcc-step-delay-ms = <100>; - qcom,fcc-step-size-ua = <100000>; - qcom,smb-internal-pull-kohm = <0>; - qcom,en-skin-therm-mitigation; - qcom,thermal-mitigation = <10000000 9500000 9000000 8500000 8000000 - 7500000 7000000 6500000 6000000 5500000 5000000 4500000 - 4000000 3500000 3000000 2500000 2000000 1500000 1000000 - 500000>; -}; - -&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>, - <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>; - io-channel-names = "batt-therm", - "batt-id", - "input_current_limited", - "recharge_soc", - "force_recharge", - "charge_done", - "cp_charging_enabled"; - qcom,qg-iterm-ma = <150>; - qcom,hold-soc-while-full; - qcom,linearize-soc; - qcom,cl-feedback-on; - qcom,tcss-enable; - qcom,fvss-enable; - qcom,bass-enable; - qcom,use-cp-iin-sns; - 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 = <&qusb_phy0>; - - smb5_vbus: qcom,smb5-vbus { - regulator-name = "smb5-vbus"; - }; - - smb5_vconn: qcom,smb5-vconn { - regulator-name = "smb5-vconn"; - }; -}; - -&pm7250b_pdphy { - vdd-pdphy-supply = <&L3A>; - 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"; -}; - -&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"; -}; - -&pm7250b_vadc { - smb1390_therm@e { - qcom,scale-fn-type = ; - }; -}; - -&pm7250b_gpios { - smb_stat { - smb_stat_default: smb_stat_default { - pins = "gpio6"; - function = "normal"; - input-enable; - bias-pull-up; - qcom,pull-up-strength = ; - power-source = <0>; - }; - }; -}; - -&qupv3_se10_i2c { - status = "ok"; - #include "smb1394.dtsi" -}; - -&smb1394 { - interrupts = <0x2 0xc5 0x0 IRQ_TYPE_LEVEL_LOW>; - interrupt-parent = <&spmi_bus>; - interrupt-names = "smb1394"; - pinctrl-names = "default"; - qcom,enable-toggle-stat; - pinctrl-0 = <&smb_stat_default>; - status = "ok"; -}; - -&smb1394_div2_cp_primary { - io-channels = <&pm7250b_vadc ADC5_AMUX_THM2>, - <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>, - <&pm7250b_charger PSY_IIO_ADAPTER_CC_MODE>, - <&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>, - <&pm7250b_charger PSY_IIO_USB_INPUT_CURRENT_SETTLED>, - <&pm7250b_charger PSY_IIO_SMB_EN_MODE>, - <&pm7250b_charger PSY_IIO_SMB_EN_REASON>; - io-channel-names = "die_temp", - "real_type", - "adapter_cc_mode", - "pd_current_max", - "input_current_settled", - "smb_en_mode", - "smb_en_reason"; - qcom,parallel-input-mode = <1>; /* USBIN */ - qcom,parallel-output-mode = <2>; /* VBAT */ - status = "ok"; -}; - &thermal_zones { quiet-therm-step { polling-delay-passive = <2000>; @@ -575,31 +342,6 @@ trip = <&cx_trip>; cooling-device = <&modem_skin 3 3>; }; - - battery-cdev0 { - trip = <&battery_trip0>; - cooling-device = <&pm7250b_charger 6 6>; - }; - - battery-cdev1 { - trip = <&battery_trip1>; - cooling-device = <&pm7250b_charger 10 10>; - }; - - battery-cdev2 { - trip = <&battery_trip2>; - cooling-device = <&pm7250b_charger 14 14>; - }; - - battery-cdev3 { - trip = <&battery_trip3>; - cooling-device = <&pm7250b_charger 16 16>; - }; - - battery-cdev4 { - trip = <&battery_trip4>; - cooling-device = <&pm7250b_charger 18 18>; - }; }; }; diff --git a/qcom/holi-qrd-pm7250b.dtsi b/qcom/holi-qrd-pm7250b.dtsi new file mode 100644 index 000000000000..7c1b6c9e66e5 --- /dev/null +++ b/qcom/holi-qrd-pm7250b.dtsi @@ -0,0 +1,264 @@ +#include +#include +#include "holi-pm7250b.dtsi" + +&soc { + qrd_batterydata: qcom,battery-data { + qcom,batt-id-range-pct = <15>; + #include "qg-batterydata-atl436186020H_3780mAh.dtsi" + #include "qg-batterydata-atl466271_3300mAh.dtsi" + }; +}; + +&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>, + <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_MODE>, + <&smb1394_div2_cp_primary PSY_IIO_PARALLEL_OUTPUT_MODE>, + <&smb1394_div2_cp_primary PSY_IIO_MIN_ICL>, + <&smb1394_div2_cp_primary PSY_IIO_CP_SWITCHER_EN>, + <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>, + <&smb1394_div2_cp_primary PSY_IIO_CP_ILIM>, + <&smb1394_div2_cp_primary PSY_IIO_CP_DIE_TEMP>; + 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", + "cp_parallel_mode", + "cp_parallel_output_mode", + "cp_min_icl", + "cp_switcher_en", + "cp_enable", + "cp_ilim", + "cp_die_temp"; + qcom,battery-data = <&qrd_batterydata>; + qcom,sec-charger-config = <1>; + 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; + qcom,fcc-stepping-enable; + qcom,fcc-step-delay-ms = <100>; + qcom,fcc-step-size-ua = <100000>; + qcom,smb-internal-pull-kohm = <0>; + qcom,en-skin-therm-mitigation; + qcom,thermal-mitigation = <10000000 9500000 9000000 8500000 8000000 + 7500000 7000000 6500000 6000000 5500000 5000000 4500000 + 4000000 3500000 3000000 2500000 2000000 1500000 1000000 + 500000>; +}; + +&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>, + <&smb1394_div2_cp_primary PSY_IIO_CP_ENABLE>; + io-channel-names = "batt-therm", + "batt-id", + "input_current_limited", + "recharge_soc", + "force_recharge", + "charge_done", + "cp_charging_enabled"; + qcom,qg-iterm-ma = <150>; + qcom,hold-soc-while-full; + qcom,linearize-soc; + qcom,cl-feedback-on; + qcom,tcss-enable; + qcom,fvss-enable; + qcom,fvss-vbatt-mv = <3300>; + qcom,bass-enable; + qcom,use-cp-iin-sns; +}; + +&pm7250b_charger { + dpdm-supply = <&qusb_phy0>; + + smb5_vbus: qcom,smb5-vbus { + regulator-name = "smb5-vbus"; + }; + + smb5_vconn: qcom,smb5-vconn { + regulator-name = "smb5-vconn"; + }; +}; + +&pm7250b_pdphy { + vdd-pdphy-supply = <&L3A>; + 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"; +}; + +&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"; +}; + +&pm7250b_vadc { + smb1390_therm@e { + qcom,scale-fn-type = ; + }; +}; + +&pm7250b_gpios { + smb_stat { + smb_stat_default: smb_stat_default { + pins = "gpio6"; + function = "normal"; + input-enable; + bias-pull-up; + qcom,pull-up-strength = ; + power-source = <0>; + }; + }; +}; + +&qupv3_se10_i2c { + status = "ok"; + #include "smb1394.dtsi" +}; + +&smb1394 { + interrupts = <0x2 0xc5 0x0 IRQ_TYPE_LEVEL_LOW>; + interrupt-parent = <&spmi_bus>; + interrupt-names = "smb1394"; + pinctrl-names = "default"; + qcom,enable-toggle-stat; + pinctrl-0 = <&smb_stat_default>; + status = "ok"; +}; + +&smb1394_div2_cp_primary { + io-channels = <&pm7250b_vadc ADC5_AMUX_THM2>, + <&pm7250b_charger PSY_IIO_USB_REAL_TYPE>, + <&pm7250b_charger PSY_IIO_ADAPTER_CC_MODE>, + <&pm7250b_charger PSY_IIO_PD_CURRENT_MAX>, + <&pm7250b_charger PSY_IIO_USB_INPUT_CURRENT_SETTLED>, + <&pm7250b_charger PSY_IIO_SMB_EN_MODE>, + <&pm7250b_charger PSY_IIO_SMB_EN_REASON>; + io-channel-names = "die_temp", + "real_type", + "adapter_cc_mode", + "pd_current_max", + "input_current_settled", + "smb_en_mode", + "smb_en_reason"; + qcom,parallel-input-mode = <1>; /* USBIN */ + qcom,parallel-output-mode = <2>; /* VBAT */ + status = "ok"; +}; + +&thermal_zones { + quiet-therm-step { + cooling-maps { + battery-cdev0 { + trip = <&battery_trip0>; + cooling-device = <&pm7250b_charger 6 6>; + }; + + battery-cdev1 { + trip = <&battery_trip1>; + cooling-device = <&pm7250b_charger 10 10>; + }; + + battery-cdev2 { + trip = <&battery_trip2>; + cooling-device = <&pm7250b_charger 14 14>; + }; + + battery-cdev3 { + trip = <&battery_trip3>; + cooling-device = <&pm7250b_charger 16 16>; + }; + + battery-cdev4 { + trip = <&battery_trip4>; + cooling-device = <&pm7250b_charger 18 18>; + }; + }; + }; +}; diff --git a/qcom/holi-thermal-overlay-pm6125.dtsi b/qcom/holi-thermal-overlay-pm6125.dtsi index 7dd3277d4899..d69e8756cd0e 100644 --- a/qcom/holi-thermal-overlay-pm6125.dtsi +++ b/qcom/holi-thermal-overlay-pm6125.dtsi @@ -4,43 +4,7 @@ #cooling-cells = <2>; }; -&pm7250b_charger { - #cooling-cells = <2>; -}; - &thermal_zones { - socd { - cooling-maps { - socd_cpu6 { - trip = <&socd_trip>; - cooling-device = <&cpu6_isolate 1 1>; - }; - - socd_cpu7 { - trip = <&socd_trip>; - cooling-device = <&cpu7_isolate 1 1>; - }; - }; - }; - - pm7250b_tz { - cooling-maps { - battery_cdev0 { - trip = <&pm7250b_trip0>; - cooling-device = - <&pm7250b_charger (THERMAL_MAX_LIMIT-1) - (THERMAL_MAX_LIMIT-1)>; - }; - - battery_cdev1 { - trip = <&pm7250b_trip1>; - cooling-device = - <&pm7250b_charger THERMAL_MAX_LIMIT - THERMAL_MAX_LIMIT>; - }; - }; - }; - pm6125_tz { cooling-maps { trip0_cpu6 { @@ -89,46 +53,4 @@ }; }; }; - - pm7250b-bcl-lvl0 { - cooling-maps { - lbat0_cpu6 { - trip = <&b_bcl_lvl0>; - cooling-device = <&cpu6_isolate 1 1>; - }; - - lbat0_cpu7 { - trip = <&b_bcl_lvl0>; - cooling-device = <&cpu7_isolate 1 1>; - }; - }; - }; - - pm7250b-bcl-lvl1 { - cooling-maps { - lbat1_cpu6 { - trip = <&b_bcl_lvl1>; - cooling-device = <&cpu6_isolate 1 1>; - }; - - lbat1_cpu7 { - trip = <&b_bcl_lvl1>; - cooling-device = <&cpu7_isolate 1 1>; - }; - }; - }; - - pm7250b-bcl-lvl2 { - cooling-maps { - lbat2_cpu6 { - trip = <&b_bcl_lvl2>; - cooling-device = <&cpu6_isolate 1 1>; - }; - - lbat2_cpu7 { - trip = <&b_bcl_lvl2>; - cooling-device = <&cpu7_isolate 1 1>; - }; - }; - }; };