Loading qcom/pm6125.dtsi +14 −27 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/spmi/spmi.h> #include <dt-bindings/iio/qcom,spmi-vadc.h> #include <dt-bindings/clock/qcom,rpmcc.h> &spmi_bus { #address-cells = <2>; Loading @@ -13,7 +14,7 @@ qcom,pm6125@0 { compatible = "qcom,spmi-pmic"; reg = <0x0 0x0>; #address-cells = <2>; #address-cells = <1>; #size-cells = <0>; qcom,power-on@800 { Loading @@ -29,13 +30,13 @@ qcom,pon_1 { qcom,pon-type = <PON_POWER_ON_TYPE_KPDPWR>; qcom,pull-up = <1>; qcom,pull-up; linux,code = <KEY_POWER>; }; qcom,pon_2 { qcom,pon-type = <PON_POWER_ON_TYPE_RESIN>; qcom,pull-up = <1>; qcom,pull-up; linux,code = <KEY_VOLUMEDOWN>; }; }; Loading @@ -47,43 +48,42 @@ #size-cells = <0>; interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>; interrupt-names = "eoc-int-en-set"; qcom,adc-vdd-reference = <1875>; #io-channel-cells = <1>; io-channel-ranges; /* Channel nodes */ ref_gnd { reg = <ADC_REF_GND>; reg = <ADC5_REF_GND>; label = "ref_gnd"; qcom,pre-scaling = <1 1>; }; vref_1p25 { reg = <ADC_1P25VREF>; reg = <ADC5_1P25VREF>; label = "vref_1p25"; qcom,pre-scaling = <1 1>; }; die_temp { reg = <ADC_DIE_TEMP>; reg = <ADC5_DIE_TEMP>; label = "die_temp"; qcom,pre-scaling = <1 1>; }; vph_pwr { reg = <ADC_VPH_PWR>; reg = <ADC5_VPH_PWR>; label = "vph_pwr"; qcom,pre-scaling = <1 3>; }; vcoin { reg = <ADC_VCOIN>; reg = <ADC5_VCOIN>; label = "vcoin"; qcom,pre-scaling = <1 3>; }; xo_therm { reg = <ADC_XO_THERM_PU2>; reg = <ADC5_XO_THERM_100K_PU>; label = "xo_therm"; qcom,ratiometric; qcom,hw-settle-time = <200>; Loading @@ -105,8 +105,9 @@ compatible = "qcom,spmi-temp-alarm"; reg = <0x2400>; interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_BOTH>; io-channels = <&pm6125_vadc ADC5_DIE_TEMP>; io-channel-names = "thermal"; #thermal-sensor-cells = <0>; qcom,temperature-threshold-set = <1>; }; pm6125_clkdiv: clock-controller@5b00 { Loading @@ -117,29 +118,15 @@ clock-output-names = "pm6125_div_clk1"; clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; clock-names = "xo"; assigned-clocks = <&pm6125_clkdiv 1>; assigned-clock-rates = <9600000>; }; pm6125_gpios: pinctrl@c000 { compatible = "qcom,pm6125-gpio"; reg = <0xc000>; interrupts = <0x0 0xc0 0 IRQ_TYPE_NONE>, <0x0 0xc1 0 IRQ_TYPE_NONE>, <0x0 0xc2 0 IRQ_TYPE_NONE>, <0x0 0xc3 0 IRQ_TYPE_NONE>, <0x0 0xc4 0 IRQ_TYPE_NONE>, <0x0 0xc5 0 IRQ_TYPE_NONE>, <0x0 0xc6 0 IRQ_TYPE_NONE>, <0x0 0xc7 0 IRQ_TYPE_NONE>, <0x0 0xc8 0 IRQ_TYPE_NONE>; interrupt-names = "pm6125_gpio1", "pm6125_gpio2", "pm6125_gpio3", "pm6125_gpio4", "pm6125_gpio5", "pm6125_gpio6", "pm6125_gpio7", "pm6125_gpio8", "pm6125_gpio9"; gpio-controller; #gpio-cells = <2>; interrupt-controller; interrupt-cells = <2>; }; pm6125_rtc: qcom,pm6125_rtc { Loading qcom/pmi632.dtsi +27 −54 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ qcom,pmi632@2 { compatible = "qcom,spmi-pmic"; reg = <0x2 0x0>; #address-cells = <2>; #address-cells = <1>; #size-cells = <0>; pmi632_pon: qcom,power-on@800 { Loading @@ -21,68 +21,65 @@ pmi632_vadc: vadc@3100 { compatible = "qcom,spmi-adc5-lite"; reg = <0x3100>, <0x3700>; reg-names = "adc5-usr-base", "adc5-cal-base"; reg = <0x3100>; #address-cells = <1>; #size-cells = <0>; interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>; interrupt-names = "eoc-int-en-set"; qcom,adc-vdd-reference = <1875>; #io-channel-cells = <1>; io-channel-ranges; qcom,pmic-revid = <&pmi632_revid>; /* Channel nodes */ ref_gnd { reg = <ADC_REF_GND>; reg = <ADC5_REF_GND>; label = "ref_gnd"; qcom,pre-scaling = <1 1>; }; vref_1p25 { reg = <ADC_1P25VREF>; reg = <ADC5_1P25VREF>; label = "vref_1p25"; qcom,pre-scaling = <1 1>; }; die_temp { reg = <ADC_DIE_TEMP>; reg = <ADC5_DIE_TEMP>; label = "die_temp"; qcom,pre-scaling = <1 1>; }; vph_pwr { reg = <ADC_VPH_PWR>; reg = <ADC5_VPH_PWR>; label = "vph_pwr"; qcom,pre-scaling = <1 3>; }; vbat_sns { reg = <ADC_VBAT_SNS>; reg = <ADC5_VBAT_SNS>; label = "vbat_sns"; qcom,pre-scaling = <1 3>; }; usb_in_i_uv { reg = <ADC_USB_IN_I>; reg = <ADC5_USB_IN_I>; label = "usb_in_i_uv"; qcom,pre-scaling = <1 1>; }; usb_in_v_div_16 { reg = <ADC_USB_IN_V_16>; reg = <ADC5_USB_IN_V_16>; label = "usb_in_v_div_16"; qcom,pre-scaling = <1 16>; }; chg_temp { reg = <ADC_CHG_TEMP>; reg = <ADC5_CHG_TEMP>; label = "chg_temp"; qcom,pre-scaling = <1 1>; }; bat_therm { reg = <ADC_BAT_THERM_PU2>; reg = <ADC5_BAT_THERM_100K_PU>; label = "bat_therm"; qcom,ratiometric; qcom,hw-settle-time = <200>; Loading @@ -90,7 +87,7 @@ }; bat_therm_30k { reg = <ADC_BAT_THERM_PU1>; reg = <ADC5_BAT_THERM_30K_PU>; label = "bat_therm_30k"; qcom,ratiometric; qcom,hw-settle-time = <200>; Loading @@ -98,7 +95,7 @@ }; bat_therm_400k { reg = <ADC_BAT_THERM_PU3>; reg = <ADC5_BAT_THERM_400K_PU>; label = "bat_therm_400k"; qcom,ratiometric; qcom,hw-settle-time = <200>; Loading @@ -106,7 +103,7 @@ }; bat_id { reg = <ADC_BAT_ID_PU2>; reg = <ADC5_BAT_ID_100K_PU>; label = "bat_id"; qcom,ratiometric; qcom,hw-settle-time = <200>; Loading @@ -114,23 +111,11 @@ }; i_parallel { reg = <ADC_PARALLEL_ISENSE>; reg = <ADC5_PARALLEL_ISENSE>; label = "i_parallel"; qcom,pre-scaling = <1 1>; }; v_i_int_ext { reg = <ADC_INT_EXT_ISENSE_VBAT_VDATA>; label = "v_i_int_vbat_vdata"; qcom,pre-scaling = <1 1>; }; v_i_parallel { reg = <ADC_PARALLEL_ISENSE_VBAT_VDATA>; label = "v_i_parallel_vbat_vdata"; qcom,pre-scaling = <1 1>; }; }; pmi632_adc_tm: adc_tm@3500 { Loading @@ -147,6 +132,8 @@ compatible = "qcom,spmi-temp-alarm"; reg = <0x2400>; interrupts = <0x2 0x24 0x0 IRQ_TYPE_EDGE_BOTH>; io-channels = <&pmi632_vadc ADC5_DIE_TEMP>; io-channel-names = "thermal"; #thermal-sensor-cells = <0>; qcom,temperature-threshold-set = <1>; }; Loading @@ -154,33 +141,22 @@ pmi632_gpios: pinctrl@c000 { compatible = "qcom,pmi632-gpio"; reg = <0xc000>; interrupts = <0x2 0xc0 0 IRQ_TYPE_NONE>, <0x2 0xc1 0 IRQ_TYPE_NONE>, <0x2 0xc2 0 IRQ_TYPE_NONE>, <0x2 0xc3 0 IRQ_TYPE_NONE>, <0x2 0xc4 0 IRQ_TYPE_NONE>, <0x2 0xc5 0 IRQ_TYPE_NONE>, <0x2 0xc6 0 IRQ_TYPE_NONE>, <0x2 0xc7 0 IRQ_TYPE_NONE>; interrupt-names = "pmi632_gpio1", "pmi632_gpio2", "pmi632_gpio3", "pmi632_gpio4", "pmi632_gpio5", "pmi632_gpio6", "pmi632_gpio7", "pmi632_gpio8"; gpio-controller; #gpio-cells = <2>; interrupt-controller; interrupt-cells = <2>; }; pmi632_charger: qcom,qpnp-smb5 { compatible = "qcom,qpnp-smb5"; #address-cells = <1>; #size-cells = <1>; #size-cells = <0>; #cooling-cells = <2>; qcom,pmic-revid = <&pmi632_revid>; io-channels = <&pmi632_vadc ADC_USB_IN_V_16>, <&pmi632_vadc ADC_USB_IN_I>, <&pmi632_vadc ADC_CHG_TEMP>, <&pmi632_vadc ADC_DIE_TEMP>; io-channels = <&pmi632_vadc ADC5_USB_IN_V_16>, <&pmi632_vadc ADC5_USB_IN_I>, <&pmi632_vadc ADC5_CHG_TEMP>, <&pmi632_vadc ADC5_DIE_TEMP>; io-channel-names = "usb_in_voltage", "usb_in_current", "chg_temp", Loading Loading @@ -340,11 +316,10 @@ pmi632_qg: qpnp,qg { compatible = "qcom,qpnp-qg"; #address-cells = <1>; #size-cells = <1>; #size-cells = <0>; qcom,pmic-revid = <&pmi632_revid>; io-channels = <&pmi632_vadc ADC_BAT_THERM_PU2>, <&pmi632_vadc ADC_BAT_ID_PU2>; io-channels = <&pmi632_vadc ADC5_BAT_THERM_100K_PU>, <&pmi632_vadc ADC5_BAT_ID_100K_PU>; io-channel-names = "batt-therm", "batt-id"; Loading Loading @@ -485,7 +460,6 @@ interrupts = <0x3 0xec 0x1 IRQ_TYPE_EDGE_RISING>; interrupt-names = "sc-irq"; qcom,pmic-revid = <&pmi632_revid>; qcom,voltage-step-ramp; lcdb_ldo_vreg: ldo { Loading Loading @@ -527,7 +501,6 @@ qcom,thermal-derate-en; qcom,thermal-derate-current = <200 500 1000>; qcom,isc-delay = <192>; qcom,pmic-revid = <&pmi632_revid>; pmi632_flash0: qcom,flash_0 { label = "flash"; Loading qcom/pmi632_pm6125_iio.dtsi 0 → 100644 +127 −0 Original line number Diff line number Diff line #include <dt-bindings/iio/qti_power_supply_iio.h> #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/iio/qcom,spmi-vadc.h> #include "pmi632.dtsi" #include "pm6125.dtsi" &soc { mtp_batterydata: qcom,battery-data { qcom,batt-id-range-pct = <15>; #include "qg-batterydata-alium-3600mah.dtsi" }; }; &pmi632_gpios { smb_en { smb_en_default: smb_en_default { pins = "gpio2"; function = "func1"; output-enable; }; }; pmi632_sense { /* GPIO 7 and 8 are external-sense pins for PMI632 */ pmi632_sense_default: pmi632_sense_default { pins = "gpio7", "gpio8"; bias-high-impedance; /* disable the GPIO */ bias-disable; /* no-pull */ }; }; pmi632_ctm { /* Disable GPIO1 for h/w base mitigation */ pmi632_ctm_default: pmi632_ctm_default { pins = "gpio1"; bias-high-impedance; /* disable the GPIO */ bias-disable; /* no-pull */ }; }; }; &pmi632_charger { status = "ok"; #io-channel-cells = <1>; io-channels = <&pmi632_vadc ADC5_USB_IN_V_16>, <&pmi632_vadc ADC5_USB_IN_I>, <&pmi632_vadc ADC5_CHG_TEMP>, <&pmi632_vadc ADC5_DIE_TEMP>; <&pmi632_qg PSY_IIO_RESISTANCE_ID>, <&pmi632_qg PSY_IIO_VOLTAGE_NOW>, <&pmi632_qg PSY_IIO_TEMP>, <&pmi632_qg PSY_IIO_CAPACITY>, <&pmi632_qg PSY_IIO_VOLTAGE_OCV>, <&pmi632_qg PSY_IIO_VOLTAGE_AVG>, <&pmi632_qg PSY_IIO_DEBUG_BATTERY>, <&pmi632_qg PSY_IIO_REAL_CAPACITY>, <&pmi632_qg PSY_IIO_CC_SOC>, <&pmi632_qg PSY_IIO_CURRENT_NOW>, <&pmi632_qg PSY_IIO_VOLTAGE_MAX>, <&pmi632_qg PSY_IIO_CHARGE_FULL>, <&pmi632_qg PSY_IIO_CHARGE_COUNTER>, <&pmi632_qg PSY_IIO_CYCLE_COUNT>, <&pmi632_qg PSY_IIO_CHARGE_FULL_DESIGN>, <&pmi632_qg PSY_IIO_TIME_TO_FULL_NOW>, io-channel-names = "usb_in_voltage", "usb_in_current", "chg_temp", "die_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,battery-data = <&mtp_batterydata>; qcom,suspend-input-on-debug-batt; qcom,sw-jeita-enable; qcom,step-charging-enable; qcom,hvdcp2-max-icl-ua = <2000000>; /* SMB1355 only */ qcom,sec-charger-config = <2>; dpdm-supply = <&qusb_phy0>; qcom,charger-temp-max = <800>; qcom,smb-temp-max = <800>; qcom,auto-recharge-soc = <98>; qcom,flash-disable-soc = <10>; qcom,hw-die-temp-mitigation; qcom,hw-connector-mitigation; qcom,connector-internal-pull-kohm = <100>; qcom,float-option = <1>; qcom,thermal-mitigation = <3000000 2500000 2000000 1500000 1000000 500000>; }; &pmi632_qg { status = "ok"; #io-channel-cells = <1>; io-channels = <&pmi632_vadc ADC5_BAT_THERM_100K_PU>, <&pmi632_vadc ADC5_BAT_ID_100K_PU>; <&pmi632_charger PSY_IIO_INPUT_CURRENT_LIMITED>, <&pmi632_charger PSY_IIO_RECHARGE_SOC>, <&pmi632_charger PSY_IIO_FORCE_RECHARGE>, <&pmi632_charger PSY_IIO_CHARGE_DONE>, 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 = <100>; qcom,hold-soc-while-full; qcom,linearize-soc; qcom,qg-use-s7-ocv; }; Loading
qcom/pm6125.dtsi +14 −27 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/spmi/spmi.h> #include <dt-bindings/iio/qcom,spmi-vadc.h> #include <dt-bindings/clock/qcom,rpmcc.h> &spmi_bus { #address-cells = <2>; Loading @@ -13,7 +14,7 @@ qcom,pm6125@0 { compatible = "qcom,spmi-pmic"; reg = <0x0 0x0>; #address-cells = <2>; #address-cells = <1>; #size-cells = <0>; qcom,power-on@800 { Loading @@ -29,13 +30,13 @@ qcom,pon_1 { qcom,pon-type = <PON_POWER_ON_TYPE_KPDPWR>; qcom,pull-up = <1>; qcom,pull-up; linux,code = <KEY_POWER>; }; qcom,pon_2 { qcom,pon-type = <PON_POWER_ON_TYPE_RESIN>; qcom,pull-up = <1>; qcom,pull-up; linux,code = <KEY_VOLUMEDOWN>; }; }; Loading @@ -47,43 +48,42 @@ #size-cells = <0>; interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>; interrupt-names = "eoc-int-en-set"; qcom,adc-vdd-reference = <1875>; #io-channel-cells = <1>; io-channel-ranges; /* Channel nodes */ ref_gnd { reg = <ADC_REF_GND>; reg = <ADC5_REF_GND>; label = "ref_gnd"; qcom,pre-scaling = <1 1>; }; vref_1p25 { reg = <ADC_1P25VREF>; reg = <ADC5_1P25VREF>; label = "vref_1p25"; qcom,pre-scaling = <1 1>; }; die_temp { reg = <ADC_DIE_TEMP>; reg = <ADC5_DIE_TEMP>; label = "die_temp"; qcom,pre-scaling = <1 1>; }; vph_pwr { reg = <ADC_VPH_PWR>; reg = <ADC5_VPH_PWR>; label = "vph_pwr"; qcom,pre-scaling = <1 3>; }; vcoin { reg = <ADC_VCOIN>; reg = <ADC5_VCOIN>; label = "vcoin"; qcom,pre-scaling = <1 3>; }; xo_therm { reg = <ADC_XO_THERM_PU2>; reg = <ADC5_XO_THERM_100K_PU>; label = "xo_therm"; qcom,ratiometric; qcom,hw-settle-time = <200>; Loading @@ -105,8 +105,9 @@ compatible = "qcom,spmi-temp-alarm"; reg = <0x2400>; interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_BOTH>; io-channels = <&pm6125_vadc ADC5_DIE_TEMP>; io-channel-names = "thermal"; #thermal-sensor-cells = <0>; qcom,temperature-threshold-set = <1>; }; pm6125_clkdiv: clock-controller@5b00 { Loading @@ -117,29 +118,15 @@ clock-output-names = "pm6125_div_clk1"; clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>; clock-names = "xo"; assigned-clocks = <&pm6125_clkdiv 1>; assigned-clock-rates = <9600000>; }; pm6125_gpios: pinctrl@c000 { compatible = "qcom,pm6125-gpio"; reg = <0xc000>; interrupts = <0x0 0xc0 0 IRQ_TYPE_NONE>, <0x0 0xc1 0 IRQ_TYPE_NONE>, <0x0 0xc2 0 IRQ_TYPE_NONE>, <0x0 0xc3 0 IRQ_TYPE_NONE>, <0x0 0xc4 0 IRQ_TYPE_NONE>, <0x0 0xc5 0 IRQ_TYPE_NONE>, <0x0 0xc6 0 IRQ_TYPE_NONE>, <0x0 0xc7 0 IRQ_TYPE_NONE>, <0x0 0xc8 0 IRQ_TYPE_NONE>; interrupt-names = "pm6125_gpio1", "pm6125_gpio2", "pm6125_gpio3", "pm6125_gpio4", "pm6125_gpio5", "pm6125_gpio6", "pm6125_gpio7", "pm6125_gpio8", "pm6125_gpio9"; gpio-controller; #gpio-cells = <2>; interrupt-controller; interrupt-cells = <2>; }; pm6125_rtc: qcom,pm6125_rtc { Loading
qcom/pmi632.dtsi +27 −54 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ qcom,pmi632@2 { compatible = "qcom,spmi-pmic"; reg = <0x2 0x0>; #address-cells = <2>; #address-cells = <1>; #size-cells = <0>; pmi632_pon: qcom,power-on@800 { Loading @@ -21,68 +21,65 @@ pmi632_vadc: vadc@3100 { compatible = "qcom,spmi-adc5-lite"; reg = <0x3100>, <0x3700>; reg-names = "adc5-usr-base", "adc5-cal-base"; reg = <0x3100>; #address-cells = <1>; #size-cells = <0>; interrupts = <0x2 0x31 0x0 IRQ_TYPE_EDGE_RISING>; interrupt-names = "eoc-int-en-set"; qcom,adc-vdd-reference = <1875>; #io-channel-cells = <1>; io-channel-ranges; qcom,pmic-revid = <&pmi632_revid>; /* Channel nodes */ ref_gnd { reg = <ADC_REF_GND>; reg = <ADC5_REF_GND>; label = "ref_gnd"; qcom,pre-scaling = <1 1>; }; vref_1p25 { reg = <ADC_1P25VREF>; reg = <ADC5_1P25VREF>; label = "vref_1p25"; qcom,pre-scaling = <1 1>; }; die_temp { reg = <ADC_DIE_TEMP>; reg = <ADC5_DIE_TEMP>; label = "die_temp"; qcom,pre-scaling = <1 1>; }; vph_pwr { reg = <ADC_VPH_PWR>; reg = <ADC5_VPH_PWR>; label = "vph_pwr"; qcom,pre-scaling = <1 3>; }; vbat_sns { reg = <ADC_VBAT_SNS>; reg = <ADC5_VBAT_SNS>; label = "vbat_sns"; qcom,pre-scaling = <1 3>; }; usb_in_i_uv { reg = <ADC_USB_IN_I>; reg = <ADC5_USB_IN_I>; label = "usb_in_i_uv"; qcom,pre-scaling = <1 1>; }; usb_in_v_div_16 { reg = <ADC_USB_IN_V_16>; reg = <ADC5_USB_IN_V_16>; label = "usb_in_v_div_16"; qcom,pre-scaling = <1 16>; }; chg_temp { reg = <ADC_CHG_TEMP>; reg = <ADC5_CHG_TEMP>; label = "chg_temp"; qcom,pre-scaling = <1 1>; }; bat_therm { reg = <ADC_BAT_THERM_PU2>; reg = <ADC5_BAT_THERM_100K_PU>; label = "bat_therm"; qcom,ratiometric; qcom,hw-settle-time = <200>; Loading @@ -90,7 +87,7 @@ }; bat_therm_30k { reg = <ADC_BAT_THERM_PU1>; reg = <ADC5_BAT_THERM_30K_PU>; label = "bat_therm_30k"; qcom,ratiometric; qcom,hw-settle-time = <200>; Loading @@ -98,7 +95,7 @@ }; bat_therm_400k { reg = <ADC_BAT_THERM_PU3>; reg = <ADC5_BAT_THERM_400K_PU>; label = "bat_therm_400k"; qcom,ratiometric; qcom,hw-settle-time = <200>; Loading @@ -106,7 +103,7 @@ }; bat_id { reg = <ADC_BAT_ID_PU2>; reg = <ADC5_BAT_ID_100K_PU>; label = "bat_id"; qcom,ratiometric; qcom,hw-settle-time = <200>; Loading @@ -114,23 +111,11 @@ }; i_parallel { reg = <ADC_PARALLEL_ISENSE>; reg = <ADC5_PARALLEL_ISENSE>; label = "i_parallel"; qcom,pre-scaling = <1 1>; }; v_i_int_ext { reg = <ADC_INT_EXT_ISENSE_VBAT_VDATA>; label = "v_i_int_vbat_vdata"; qcom,pre-scaling = <1 1>; }; v_i_parallel { reg = <ADC_PARALLEL_ISENSE_VBAT_VDATA>; label = "v_i_parallel_vbat_vdata"; qcom,pre-scaling = <1 1>; }; }; pmi632_adc_tm: adc_tm@3500 { Loading @@ -147,6 +132,8 @@ compatible = "qcom,spmi-temp-alarm"; reg = <0x2400>; interrupts = <0x2 0x24 0x0 IRQ_TYPE_EDGE_BOTH>; io-channels = <&pmi632_vadc ADC5_DIE_TEMP>; io-channel-names = "thermal"; #thermal-sensor-cells = <0>; qcom,temperature-threshold-set = <1>; }; Loading @@ -154,33 +141,22 @@ pmi632_gpios: pinctrl@c000 { compatible = "qcom,pmi632-gpio"; reg = <0xc000>; interrupts = <0x2 0xc0 0 IRQ_TYPE_NONE>, <0x2 0xc1 0 IRQ_TYPE_NONE>, <0x2 0xc2 0 IRQ_TYPE_NONE>, <0x2 0xc3 0 IRQ_TYPE_NONE>, <0x2 0xc4 0 IRQ_TYPE_NONE>, <0x2 0xc5 0 IRQ_TYPE_NONE>, <0x2 0xc6 0 IRQ_TYPE_NONE>, <0x2 0xc7 0 IRQ_TYPE_NONE>; interrupt-names = "pmi632_gpio1", "pmi632_gpio2", "pmi632_gpio3", "pmi632_gpio4", "pmi632_gpio5", "pmi632_gpio6", "pmi632_gpio7", "pmi632_gpio8"; gpio-controller; #gpio-cells = <2>; interrupt-controller; interrupt-cells = <2>; }; pmi632_charger: qcom,qpnp-smb5 { compatible = "qcom,qpnp-smb5"; #address-cells = <1>; #size-cells = <1>; #size-cells = <0>; #cooling-cells = <2>; qcom,pmic-revid = <&pmi632_revid>; io-channels = <&pmi632_vadc ADC_USB_IN_V_16>, <&pmi632_vadc ADC_USB_IN_I>, <&pmi632_vadc ADC_CHG_TEMP>, <&pmi632_vadc ADC_DIE_TEMP>; io-channels = <&pmi632_vadc ADC5_USB_IN_V_16>, <&pmi632_vadc ADC5_USB_IN_I>, <&pmi632_vadc ADC5_CHG_TEMP>, <&pmi632_vadc ADC5_DIE_TEMP>; io-channel-names = "usb_in_voltage", "usb_in_current", "chg_temp", Loading Loading @@ -340,11 +316,10 @@ pmi632_qg: qpnp,qg { compatible = "qcom,qpnp-qg"; #address-cells = <1>; #size-cells = <1>; #size-cells = <0>; qcom,pmic-revid = <&pmi632_revid>; io-channels = <&pmi632_vadc ADC_BAT_THERM_PU2>, <&pmi632_vadc ADC_BAT_ID_PU2>; io-channels = <&pmi632_vadc ADC5_BAT_THERM_100K_PU>, <&pmi632_vadc ADC5_BAT_ID_100K_PU>; io-channel-names = "batt-therm", "batt-id"; Loading Loading @@ -485,7 +460,6 @@ interrupts = <0x3 0xec 0x1 IRQ_TYPE_EDGE_RISING>; interrupt-names = "sc-irq"; qcom,pmic-revid = <&pmi632_revid>; qcom,voltage-step-ramp; lcdb_ldo_vreg: ldo { Loading Loading @@ -527,7 +501,6 @@ qcom,thermal-derate-en; qcom,thermal-derate-current = <200 500 1000>; qcom,isc-delay = <192>; qcom,pmic-revid = <&pmi632_revid>; pmi632_flash0: qcom,flash_0 { label = "flash"; Loading
qcom/pmi632_pm6125_iio.dtsi 0 → 100644 +127 −0 Original line number Diff line number Diff line #include <dt-bindings/iio/qti_power_supply_iio.h> #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/iio/qcom,spmi-vadc.h> #include "pmi632.dtsi" #include "pm6125.dtsi" &soc { mtp_batterydata: qcom,battery-data { qcom,batt-id-range-pct = <15>; #include "qg-batterydata-alium-3600mah.dtsi" }; }; &pmi632_gpios { smb_en { smb_en_default: smb_en_default { pins = "gpio2"; function = "func1"; output-enable; }; }; pmi632_sense { /* GPIO 7 and 8 are external-sense pins for PMI632 */ pmi632_sense_default: pmi632_sense_default { pins = "gpio7", "gpio8"; bias-high-impedance; /* disable the GPIO */ bias-disable; /* no-pull */ }; }; pmi632_ctm { /* Disable GPIO1 for h/w base mitigation */ pmi632_ctm_default: pmi632_ctm_default { pins = "gpio1"; bias-high-impedance; /* disable the GPIO */ bias-disable; /* no-pull */ }; }; }; &pmi632_charger { status = "ok"; #io-channel-cells = <1>; io-channels = <&pmi632_vadc ADC5_USB_IN_V_16>, <&pmi632_vadc ADC5_USB_IN_I>, <&pmi632_vadc ADC5_CHG_TEMP>, <&pmi632_vadc ADC5_DIE_TEMP>; <&pmi632_qg PSY_IIO_RESISTANCE_ID>, <&pmi632_qg PSY_IIO_VOLTAGE_NOW>, <&pmi632_qg PSY_IIO_TEMP>, <&pmi632_qg PSY_IIO_CAPACITY>, <&pmi632_qg PSY_IIO_VOLTAGE_OCV>, <&pmi632_qg PSY_IIO_VOLTAGE_AVG>, <&pmi632_qg PSY_IIO_DEBUG_BATTERY>, <&pmi632_qg PSY_IIO_REAL_CAPACITY>, <&pmi632_qg PSY_IIO_CC_SOC>, <&pmi632_qg PSY_IIO_CURRENT_NOW>, <&pmi632_qg PSY_IIO_VOLTAGE_MAX>, <&pmi632_qg PSY_IIO_CHARGE_FULL>, <&pmi632_qg PSY_IIO_CHARGE_COUNTER>, <&pmi632_qg PSY_IIO_CYCLE_COUNT>, <&pmi632_qg PSY_IIO_CHARGE_FULL_DESIGN>, <&pmi632_qg PSY_IIO_TIME_TO_FULL_NOW>, io-channel-names = "usb_in_voltage", "usb_in_current", "chg_temp", "die_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,battery-data = <&mtp_batterydata>; qcom,suspend-input-on-debug-batt; qcom,sw-jeita-enable; qcom,step-charging-enable; qcom,hvdcp2-max-icl-ua = <2000000>; /* SMB1355 only */ qcom,sec-charger-config = <2>; dpdm-supply = <&qusb_phy0>; qcom,charger-temp-max = <800>; qcom,smb-temp-max = <800>; qcom,auto-recharge-soc = <98>; qcom,flash-disable-soc = <10>; qcom,hw-die-temp-mitigation; qcom,hw-connector-mitigation; qcom,connector-internal-pull-kohm = <100>; qcom,float-option = <1>; qcom,thermal-mitigation = <3000000 2500000 2000000 1500000 1000000 500000>; }; &pmi632_qg { status = "ok"; #io-channel-cells = <1>; io-channels = <&pmi632_vadc ADC5_BAT_THERM_100K_PU>, <&pmi632_vadc ADC5_BAT_ID_100K_PU>; <&pmi632_charger PSY_IIO_INPUT_CURRENT_LIMITED>, <&pmi632_charger PSY_IIO_RECHARGE_SOC>, <&pmi632_charger PSY_IIO_FORCE_RECHARGE>, <&pmi632_charger PSY_IIO_CHARGE_DONE>, 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 = <100>; qcom,hold-soc-while-full; qcom,linearize-soc; qcom,qg-use-s7-ocv; };