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 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>; }; diff --git a/qcom/Makefile b/qcom/Makefile index 9bf6676f0f1e..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 @@ -144,19 +147,28 @@ 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-mtp-nopmi-overlay.dtbo \ + blair-qrd-nopmi-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 +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-qrd.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-atp.dtsi b/qcom/blair-atp.dtsi index f4363bcfac46..7b8d509b9815 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,9 +379,305 @@ }; }; -#include "holi-atp.dtsi" -&qusb_phy0 { + +&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 = <&usb2_phy0>; + + smb5_vbus: qcom,smb5-vbus { + regulator-name = "smb5-vbus"; + }; + + smb5_vconn: qcom,smb5-vconn { + regulator-name = "smb5-vconn"; + }; +}; + +&pm7250b_pdphy { + vdd-pdphy-supply = <&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"; +}; + +&usb2_phy0 { vdd-supply = <&L18A>; vdda18-supply = <&L2A>; vdda33-supply = <&L3A>; diff --git a/qcom/blair-cdp.dtsi b/qcom/blair-cdp.dtsi index 4d96032681ca..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" @@ -26,7 +27,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"; /* @@ -235,6 +236,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 { @@ -331,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 new file mode 100644 index 000000000000..a879373f8d08 --- /dev/null +++ b/qcom/blair-mtp-nopmi-overlay.dts @@ -0,0 +1,14 @@ +/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>; + 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 new file mode 100644 index 000000000000..d6bc812200b8 --- /dev/null +++ b/qcom/blair-mtp-nopmi.dts @@ -0,0 +1,13 @@ +/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>; + 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 new file mode 100644 index 000000000000..a00189357ba1 --- /dev/null +++ b/qcom/blair-mtp-nopmi.dtsi @@ -0,0 +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-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 @@ +/ { +}; 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 57cfbb5efe4b..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" @@ -24,7 +23,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"; /* @@ -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,226 +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,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-nopmi-overlay.dts b/qcom/blair-qrd-nopmi-overlay.dts new file mode 100644 index 000000000000..242b301e2408 --- /dev/null +++ b/qcom/blair-qrd-nopmi-overlay.dts @@ -0,0 +1,14 @@ +/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>; + 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 new file mode 100644 index 000000000000..b4cf4fdeb04c --- /dev/null +++ b/qcom/blair-qrd-nopmi.dts @@ -0,0 +1,13 @@ +/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>; + 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 new file mode 100644 index 000000000000..23729e5a518c --- /dev/null +++ b/qcom/blair-qrd-nopmi.dtsi @@ -0,0 +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 b43bf1b23542..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>; @@ -23,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"; /* @@ -224,234 +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,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 { @@ -570,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>; - }; }; }; @@ -730,5 +476,3 @@ &dsi_r66451_amoled_cmd &dsi_r66451_amoled_video>; }; }; - -#include "camera/blair-camera-sensor-mtp.dtsi" 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/blair.dtsi b/qcom/blair.dtsi index 9aecadb2f753..c894e2a21202 100644 --- a/qcom/blair.dtsi +++ b/qcom/blair.dtsi @@ -1537,6 +1537,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) >, @@ -1580,6 +1581,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) >, @@ -3739,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>; @@ -3753,11 +3756,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-cdp-pm6125.dtsi b/qcom/holi-cdp-pm6125.dtsi index e85d061a45f3..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" @@ -22,7 +23,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"; /* @@ -148,6 +149,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 { @@ -230,6 +238,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-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"; }; 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 5138898ec886..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 { @@ -22,7 +21,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"; /* @@ -149,11 +148,11 @@ }; }; - 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"; + reg = <0x3ed000 0xe010>; + status = "ok"; }; }; @@ -205,224 +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,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/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 04eb38e0137e..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" @@ -22,7 +23,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"; /* @@ -174,6 +175,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 { @@ -329,9 +337,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-pm6125-overlay.dtsi b/qcom/holi-pm6125-overlay.dtsi index 4d9a2a267dfc..c16a7a01358d 100644 --- a/qcom/holi-pm6125-overlay.dtsi +++ b/qcom/holi-pm6125-overlay.dtsi @@ -12,16 +12,20 @@ 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>; }; &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 { @@ -63,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 50e4b105d44f..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 = < @@ -66,6 +28,8 @@ &rfc_cam_therm_default &rear_cam_flash_therm_default>; + /delete-node/ xo_therm; + pa_therm1 { reg = ; label = "pa_therm1"; @@ -178,7 +142,7 @@ }; &spmi_bus { - qcom,pm6125@4 { + qcom,pm6125@0 { pm6125_adc_tm_iio: adc_tm@3400 { compatible = "qcom,adc-tm5-iio"; reg = <0x3400>; @@ -232,6 +196,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 { @@ -246,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>; @@ -497,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 30a10fef5c41..0bd1d18cc474 100644 --- a/qcom/holi-qrd-pm6125.dtsi +++ b/qcom/holi-qrd-pm6125.dtsi @@ -4,7 +4,7 @@ #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 { cdc-vdd-rxtx-supply = <&L9A>; @@ -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"; /* @@ -219,234 +216,15 @@ }; }; - 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"; + reg = <0x3ed000 0xe010>; + 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>, - <&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"; -}; +#include "camera/holi-camera-sensor-pm6125-mtp.dtsi" &thermal_zones { quiet-therm-step { @@ -564,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>; - }; }; }; @@ -696,16 +449,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>; }; }; 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-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>; 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>; - }; - }; - }; }; 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-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 { 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"; + }; + +}; diff --git a/qcom/sdx-audio-lpass.dtsi b/qcom/sdx-audio-lpass.dtsi index 2369bfe586b0..fdbf5d95c4e0 100644 --- a/qcom/sdx-audio-lpass.dtsi +++ b/qcom/sdx-audio-lpass.dtsi @@ -16,7 +16,7 @@ qcom,msm-audio-ion { compatible = "qcom,msm-audio-ion-cma"; qcom,scm-mp-enabled; - memory-region = <&audio_mem>; + memory-region = <&audio_heap_mem>; }; pcm0: qcom,msm-pcm { 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>; + }; +}; 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..ae1ce3979e3f 100644 --- a/qcom/sdxlemur-ion.dtsi +++ b/qcom/sdxlemur-ion.dtsi @@ -11,10 +11,14 @@ 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"; + /* + * 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 */ 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"; +}; 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>; +}; 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>; 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>; };