summaryrefslogtreecommitdiff
path: root/qcom/pm8916.dtsi
diff options
context:
space:
mode:
Diffstat (limited to 'qcom/pm8916.dtsi')
-rw-r--r--qcom/pm8916.dtsi400
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";
- };
};
};