diff options
Diffstat (limited to 'qcom/pm8916.dtsi')
-rw-r--r-- | qcom/pm8916.dtsi | 400 |
1 files changed, 96 insertions, 304 deletions
diff --git a/qcom/pm8916.dtsi b/qcom/pm8916.dtsi index 45cc99ac..2ceae733 100644 --- a/qcom/pm8916.dtsi +++ b/qcom/pm8916.dtsi @@ -1,9 +1,13 @@ +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/spmi/spmi.h> + &spmi_bus { - qcom,pm8916@0 { - reg = <0x0>; - #address-cells = <1>; - #size-cells = <1>; + pm8916_0: pm8916@0 { + compatible = "qcom,pm8916", "qcom,spmi-pmic"; + reg = <0 SPMI_USID>; + #address-cells = <2>; + #size-cells = <0>; pm8916_revid: qcom,revid@100 { compatible = "qcom,qpnp-revid"; @@ -13,8 +17,8 @@ pm8916_pon: qcom,power-on@800 { compatible = "qcom,qpnp-power-on"; reg = <0x800 0x100>; - interrupts = <0x0 0x8 0x0>, - <0x0 0x8 0x1>; + interrupts = <0x0 0x8 0x0 IRQ_TYPE_NONE>, + <0x0 0x8 0x1 IRQ_TYPE_NONE>; interrupt-names = "kpdpwr", "resin"; qcom,pon-dbc-delay = <15625>; qcom,system-reset; @@ -38,77 +42,35 @@ }; }; - pm8916_mpps: mpps { + pm8916_gpios: pinctrl@c000 { + compatible = "qcom,pm8916-gpio"; + reg = <0xc000 0x400>; gpio-controller; #gpio-cells = <2>; - #address-cells = <1>; - #size-cells = <1>; - label = "pm8916-mpp"; - - mpp@a000 { - reg = <0xa000 0x100>; - qcom,pin-num = <1>; - }; - - mpp@a100 { - reg = <0xa100 0x100>; - qcom,pin-num = <2>; - }; - - mpp@a200 { - reg = <0xa200 0x100>; - qcom,pin-num = <3>; - }; - - mpp@a300 { - reg = <0xa300 0x100>; - qcom,pin-num = <4>; - }; + interrupts = <0 0xc0 0 IRQ_TYPE_NONE>, + <0 0xc1 0 IRQ_TYPE_NONE>, + <0 0xc2 0 IRQ_TYPE_NONE>, + <0 0xc3 0 IRQ_TYPE_NONE>; + interrupt-names = "pm8916_gpio1", "pm8916_gpio2", + "pm8916_gpio3", "pm8916_gpio4"; }; - pm8916_gpios: gpios { + pm8916_mpps: mpps@a000 { + compatible = "qcom,pm8916-mpp"; + reg = <0xa000 0x400>; gpio-controller; #gpio-cells = <2>; - #address-cells = <1>; - #size-cells = <1>; - label = "pm8916-gpio"; - - gpio@c000 { - reg = <0xc000 0x100>; - qcom,pin-num = <1>; - }; - - gpio@c100 { - reg = <0xc100 0x100>; - qcom,pin-num = <2>; - }; - - gpio@c200 { - reg = <0xc200 0x100>; - qcom,pin-num = <3>; - }; - - gpio@c300 { - reg = <0xc300 0x100>; - qcom,pin-num = <4>; - }; + interrupts = <0 0xa0 0 IRQ_TYPE_NONE>, + <0 0xa1 0 IRQ_TYPE_NONE>, + <0 0xa2 0 IRQ_TYPE_NONE>, + <0 0xa3 0 IRQ_TYPE_NONE>; + interrupt-names = "pm8916_mpp1", "pm8916_mpp2", + "pm8916_mpp3", "pm8916_mpp4"; }; pm8916_rtc: qcom,pm8916_rtc { - compatible = "qcom,qpnp-rtc"; - #address-cells = <1>; - #size-cells = <1>; - qcom,qpnp-rtc-write = <0>; - qcom,qpnp-rtc-alarm-pwrup = <0>; - - qcom,pm8916_rtc_rw@6000 { - reg = <0x6000 0x100>; - }; - - qcom,pm8916_rtc_alarm@6100 { - reg = <0x6100 0x100>; - interrupts = <0x0 0x61 0x1>; - }; + compatible = "qcom,pm8916-rtc"; + interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>; }; pm8916_vadc: vadc@3100 { @@ -116,12 +78,13 @@ reg = <0x3100 0x100>; #address-cells = <1>; #size-cells = <0>; - interrupts = <0x0 0x31 0x0>; + interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>; interrupt-names = "eoc-int-en-set"; qcom,adc-bit-resolution = <15>; qcom,adc-vdd-reference = <1800>; qcom,vadc-poll-eoc; qcom,pmic-revid = <&pm8916_revid>; + #thermal-sensor-cells = <1>; chan@8 { label = "die_temp"; @@ -160,23 +123,25 @@ pm8916_tz: qcom,temp-alarm@2400 { compatible = "qcom,spmi-temp-alarm"; reg = <0x2400 0x100>; - interrupts = <0x0 0x24 0x0>; + interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>; label = "pm8916_tz"; qcom,channel-num = <8>; qcom,threshold-set = <0>; qcom,temp_alarm-vadc = <&pm8916_vadc>; + #thermal-sensor-cells = <0>; }; pm8916_adc_tm: vadc@3400 { + compatible = "qcom,adc-tm-rev2"; reg = <0x3400 0x100>; #address-cells = <1>; #size-cells = <0>; - interrupts = <0x0 0x34 0x0>, - <0x0 0x34 0x3>, - <0x0 0x34 0x4>; - interrupt-names = "eoc-int-en-set", - "high-thr-en-set", - "low-thr-en-set"; + interrupts = <0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>, + <0x0 0x34 0x3 IRQ_TYPE_EDGE_RISING>, + <0x0 0x34 0x4 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "eoc-int-en-set", + "high-thr-en-set", + "low-thr-en-set"; qcom,adc-bit-resolution = <15>; qcom,adc-vdd-reference = <1800>; qcom,adc_tm-vadc = <&pm8916_vadc>; @@ -184,8 +149,10 @@ }; pm8916_chg: qcom,charger { + compatible = "qcom,qpnp-linear-charger"; #address-cells = <1>; #size-cells = <1>; + #cooling-cells = <2>; qcom,vddmax-mv = <4200>; qcom,vddsafe-mv = <4200>; @@ -201,6 +168,7 @@ qcom,batt-hot-percentage = <25>; qcom,batt-cold-percentage = <80>; qcom,tchg-mins = <232>; + qcom,resume-soc = <99>; qcom,chg-vadc = <&pm8916_vadc>; qcom,chg-adc_tm = <&pm8916_adc_tm>; @@ -208,32 +176,34 @@ qcom,chgr@1000 { reg = <0x1000 0x100>; - interrupts = <0x0 0x10 0x7>, - <0x0 0x10 0x6>, - <0x0 0x10 0x5>, - <0x0 0x10 0x0>; - interrupt-names = "chg-done", - "chg-failed", - "fast-chg-on", - "vbat-det-lo"; + interrupts = + <0x0 0x10 0x7 IRQ_TYPE_EDGE_RISING>, + <0x0 0x10 0x6 IRQ_TYPE_EDGE_RISING>, + <0x0 0x10 0x5 IRQ_TYPE_EDGE_BOTH>, + <0x0 0x10 0x0 IRQ_TYPE_EDGE_FALLING>; + interrupt-names = "chg-done", + "chg-failed", + "fast-chg-on", + "vbat-det-lo"; }; qcom,bat-if@1200 { reg = <0x1200 0x100>; - interrupts = <0x0 0x12 0x1>, - <0x0 0x12 0x0>; - interrupt-names = "bat-temp-ok", - "batt-pres"; + interrupts = <0x0 0x12 0x1 IRQ_TYPE_EDGE_BOTH>, + <0x0 0x12 0x0 IRQ_TYPE_EDGE_BOTH>; + interrupt-names = "bat-temp-ok", + "batt-pres"; }; qcom,usb-chgpth@1300 { reg = <0x1300 0x100>; - interrupts = <0 0x13 0x4>, - <0 0x13 0x2>, - <0 0x13 0x1>; - interrupt-names = "usb-over-temp", - "chg-gone", - "usbin-valid"; + interrupts = + <0 0x13 0x4 IRQ_TYPE_EDGE_BOTH>, + <0 0x13 0x2 IRQ_TYPE_EDGE_RISING>, + <0 0x13 0x1 IRQ_TYPE_EDGE_BOTH>; + interrupt-names = "usb-over-temp", + "chg-gone", + "usbin-valid"; }; qcom,chg-misc@1600 { @@ -242,6 +212,7 @@ }; pm8916_bms: qcom,vmbms { + compatible = "qcom,qpnp-vm-bms"; #address-cells = <1>; #size-cells = <1>; status = "disabled"; @@ -266,7 +237,6 @@ qcom,force-s3-on-suspend; qcom,force-s2-in-charging; qcom,report-charger-eoc; - qcom,resume-soc = <99>; qcom,batt-pres-status@1208 { reg = <0x1208 0x1>; @@ -278,12 +248,12 @@ qcom,vm-bms@4000 { reg = <0x4000 0x100>; - interrupts = <0x0 0x40 0x0>, - <0x0 0x40 0x1>, - <0x0 0x40 0x2>, - <0x0 0x40 0x3>, - <0x0 0x40 0x4>, - <0x0 0x40 0x5>; + interrupts = <0x0 0x40 0x0 IRQ_TYPE_NONE>, + <0x0 0x40 0x1 IRQ_TYPE_NONE>, + <0x0 0x40 0x2 IRQ_TYPE_NONE>, + <0x0 0x40 0x3 IRQ_TYPE_NONE>, + <0x0 0x40 0x4 IRQ_TYPE_NONE>, + <0x0 0x40 0x5 IRQ_TYPE_NONE>; interrupt-names = "leave_cv", "enter_cv", @@ -295,192 +265,24 @@ }; pm8916_leds: qcom,leds@a100 { + compatible = "qcom,leds-qpnp"; reg = <0xa100 0x100>; label = "mpp"; }; }; - qcom,pm8916@1 { - reg = <0x1>; - #address-cells = <1>; - #size-cells = <1>; - - regulator@1400 { - regulator-name = "8916_s1"; - #address-cells = <1>; - #size-cells = <1>; - reg = <0x1700 0x300>; - status = "disabled"; - - qcom,ctl@1700 { - reg = <0x1700 0x100>; - }; - - qcom,ps@1800 { - reg = <0x1800 0x100>; - }; - - qcom,freq@1900 { - reg = <0x1900 0x100>; - }; - }; - - regulator@1a00 { - regulator-name = "8916_s3"; - #address-cells = <1>; - #size-cells = <1>; - reg = <0x1a00 0x300>; - status = "disabled"; - - qcom,ctl@1a00 { - reg = <0x1a00 0x100>; - }; - - qcom,ps@1b00 { - reg = <0x1b00 0x100>; - }; - - qcom,freq@1c00 { - reg = <0x1c00 0x100>; - }; - }; - - regulator@1d00 { - regulator-name = "8916_s4"; - #address-cells = <1>; - #size-cells = <1>; - reg = <0x1d00 0x300>; - status = "disabled"; - - qcom,ctl@1d00 { - reg = <0x1d00 0x100>; - }; - - qcom,ps@1e00 { - reg = <0x1e00 0x100>; - }; - - qcom,freq@1f00 { - reg = <0x1f00 0x100>; - }; - - }; - - regulator@4000 { - regulator-name = "8916_l1"; - reg = <0x4000 0x100>; - status = "disabled"; - }; - - regulator@4100 { - regulator-name = "8916_l2"; - reg = <0x4100 0x100>; - status = "disabled"; - }; - - regulator@4200 { - regulator-name = "8916_l3"; - reg = <0x4200 0x100>; - status = "disabled"; - }; - - regulator@4300 { - regulator-name = "8916_l4"; - reg = <0x4300 0x100>; - status = "disabled"; - }; - - regulator@4400 { - regulator-name = "8916_l5"; - reg = <0x4400 0x100>; - status = "disabled"; - }; - - regulator@4500 { - regulator-name = "8916_l6"; - reg = <0x4500 0x100>; - status = "disabled"; - }; - - regulator@4600 { - regulator-name = "8916_l7"; - reg = <0x4600 0x100>; - status = "disabled"; - }; - - regulator@4700 { - regulator-name = "8916_l8"; - reg = <0x4700 0x100>; - status = "disabled"; - }; - - regulator@4800 { - regulator-name = "8916_l9"; - reg = <0x4800 0x100>; - status = "disabled"; - }; - - regulator@4900 { - regulator-name = "8916_l10"; - reg = <0x4900 0x100>; - status = "disabled"; - }; - - regulator@4a00 { - regulator-name = "8916_l11"; - reg = <0x4a00 0x100>; - status = "disabled"; - }; - - regulator@4b00 { - regulator-name = "8916_l12"; - reg = <0x4b00 0x100>; - status = "disabled"; - }; - - regulator@4c00 { - regulator-name = "8916_l13"; - reg = <0x4c00 0x100>; - status = "disabled"; - }; - - regulator@4d00 { - regulator-name = "8916_l14"; - reg = <0x4d00 0x100>; - status = "disabled"; - }; - - regulator@4e00 { - regulator-name = "8916_l15"; - reg = <0x4e00 0x100>; - status = "disabled"; - }; - - regulator@4f00 { - regulator-name = "8916_l16"; - reg = <0x4f00 0x100>; - status = "disabled"; - }; - - regulator@5000 { - regulator-name = "8916_l17"; - reg = <0x5000 0x100>; - status = "disabled"; - }; - - regulator@5100 { - regulator-name = "8916_l18"; - reg = <0x5100 0x100>; - status = "disabled"; - }; + pm8916_1: pm8916@1 { + compatible = "qcom,pm8916", "qcom,spmi-pmic"; + reg = <1 SPMI_USID>; + #address-cells = <2>; + #size-cells = <0>; pm8916_pwm: qcom,pwms@bc00 { compatible = "qcom,pwm-lpg"; reg = <0xbc00 0x100>; - reg-names = "qpnp-lpg-channel-base"; - qcom,channel-id = <0>; - qcom,supported-sizes = <6>, <9>; + reg-names = "lpg-base"; #pwm-cells = <2>; + qcom,num-lpg-channels = <1>; }; pm8916_vib: qcom,vibrator@c000 { @@ -491,16 +293,17 @@ }; pm8916_tombak_dig: msm8x16_wcd_codec@f000 { + compatible = "qcom,msm8x16_wcd_codec"; reg = <0xf000 0x100>; interrupt-parent = <&spmi_bus>; - interrupts = <0x1 0xf0 0x0>, - <0x1 0xf0 0x1>, - <0x1 0xf0 0x2>, - <0x1 0xf0 0x3>, - <0x1 0xf0 0x4>, - <0x1 0xf0 0x5>, - <0x1 0xf0 0x6>, - <0x1 0xf0 0x7>; + interrupts = <0x1 0xf0 0x0 IRQ_TYPE_NONE>, + <0x1 0xf0 0x1 IRQ_TYPE_NONE>, + <0x1 0xf0 0x2 IRQ_TYPE_NONE>, + <0x1 0xf0 0x3 IRQ_TYPE_NONE>, + <0x1 0xf0 0x4 IRQ_TYPE_NONE>, + <0x1 0xf0 0x5 IRQ_TYPE_NONE>, + <0x1 0xf0 0x6 IRQ_TYPE_NONE>, + <0x1 0xf0 0x7 IRQ_TYPE_NONE>; interrupt-names = "spk_cnp_int", "spk_clip_int", "spk_ocp_int", @@ -538,17 +341,19 @@ "cdc-vdda-cp"; qcom,cdc-on-demand-supplies = "cdc-vdd-mic-bias"; + qcom,subsys-name = "modem"; }; pm8916_tombak_analog: msm8x16_wcd_codec@f100 { + compatible = "qcom,msm8x16_wcd_codec"; reg = <0xf100 0x100>; interrupt-parent = <&spmi_bus>; - interrupts = <0x1 0xf1 0x0>, - <0x1 0xf1 0x1>, - <0x1 0xf1 0x2>, - <0x1 0xf1 0x3>, - <0x1 0xf1 0x4>, - <0x1 0xf1 0x5>; + interrupts = <0x1 0xf1 0x0 IRQ_TYPE_NONE>, + <0x1 0xf1 0x1 IRQ_TYPE_NONE>, + <0x1 0xf1 0x2 IRQ_TYPE_NONE>, + <0x1 0xf1 0x3 IRQ_TYPE_NONE>, + <0x1 0xf1 0x4 IRQ_TYPE_NONE>, + <0x1 0xf1 0x5 IRQ_TYPE_NONE>; interrupt-names = "ear_ocp_int", "hphr_ocp_int", "hphl_ocp_det", @@ -556,18 +361,5 @@ "hphr_cnp_int", "hphl_cnp_int"; }; - - pm8916_bcm: qpnp-buck-current-monitor@1800 { - reg = <0x1800 0x100>; - interrupts = <1 0x18 0>, <1 0x18 1>; - interrupt-names = "iwarning", "icritical"; - qcom,enable-current-monitor; - qcom,icrit-init-threshold-pc = <90>; - qcom,iwarn-init-threshold-pc = <70>; - qcom,icrit-polling-delay-msec = <1000>; - qcom,iwarn-polling-delay-msec = <2000>; - - status = "disabled"; - }; }; }; |