From f9b14578c92eff3705d6d6d55f81f3933fa7b066 Mon Sep 17 00:00:00 2001 From: Abhijeet Dharmapurikar Date: Mon, 13 Feb 2017 17:41:47 -0800 Subject: [PATCH] ARM: dts: msm: configure interrupt types for charger for pmi8998 Currently the interrupt trigger type is configured as NONE. This causes a level handler to be assigned to these interrupts. However, all of them are edge triggered interrupts with varying falling/rising/both edge flavors. Update the device tree to use their correct trigger types thereby preventing missed interrupt storms because of incorrect handler types. Change-Id: I6b5cddc8281ca7f6810dcb754d7dd2e6ae6f339c Signed-off-by: Abhijeet Dharmapurikar --- arch/arm/boot/dts/qcom/msm-pmi8998.dtsi | 81 +++++++++++++------------ 1 file changed, 43 insertions(+), 38 deletions(-) diff --git a/arch/arm/boot/dts/qcom/msm-pmi8998.dtsi b/arch/arm/boot/dts/qcom/msm-pmi8998.dtsi index 72f9f9ea9b2d..932757fa0bb4 100644 --- a/arch/arm/boot/dts/qcom/msm-pmi8998.dtsi +++ b/arch/arm/boot/dts/qcom/msm-pmi8998.dtsi @@ -164,11 +164,12 @@ qcom,chgr@1000 { reg = <0x1000 0x100>; - interrupts = <0x2 0x10 0x0 IRQ_TYPE_NONE>, - <0x2 0x10 0x1 IRQ_TYPE_NONE>, - <0x2 0x10 0x2 IRQ_TYPE_NONE>, - <0x2 0x10 0x3 IRQ_TYPE_NONE>, - <0x2 0x10 0x4 IRQ_TYPE_NONE>; + interrupts = + <0x2 0x10 0x0 IRQ_TYPE_EDGE_RISING>, + <0x2 0x10 0x1 IRQ_TYPE_EDGE_RISING>, + <0x2 0x10 0x2 IRQ_TYPE_EDGE_RISING>, + <0x2 0x10 0x3 IRQ_TYPE_EDGE_RISING>, + <0x2 0x10 0x4 IRQ_TYPE_EDGE_RISING>; interrupt-names = "chg-error", "chg-state-change", @@ -179,10 +180,10 @@ qcom,otg@1100 { reg = <0x1100 0x100>; - interrupts = <0x2 0x11 0x0 IRQ_TYPE_NONE>, - <0x2 0x11 0x1 IRQ_TYPE_NONE>, - <0x2 0x11 0x2 IRQ_TYPE_NONE>, - <0x2 0x11 0x3 IRQ_TYPE_NONE>; + interrupts = <0x2 0x11 0x0 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x11 0x1 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x11 0x2 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x11 0x3 IRQ_TYPE_EDGE_BOTH>; interrupt-names = "otg-fail", "otg-overcurrent", @@ -192,12 +193,13 @@ qcom,bat-if@1200 { reg = <0x1200 0x100>; - interrupts = <0x2 0x12 0x0 IRQ_TYPE_NONE>, - <0x2 0x12 0x1 IRQ_TYPE_NONE>, - <0x2 0x12 0x2 IRQ_TYPE_NONE>, - <0x2 0x12 0x3 IRQ_TYPE_NONE>, - <0x2 0x12 0x4 IRQ_TYPE_NONE>, - <0x2 0x12 0x5 IRQ_TYPE_NONE>; + interrupts = + <0x2 0x12 0x0 IRQ_TYPE_EDGE_RISING>, + <0x2 0x12 0x1 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x12 0x2 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x12 0x3 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x12 0x4 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x12 0x5 IRQ_TYPE_EDGE_BOTH>; interrupt-names = "bat-temp", "bat-ocp", @@ -209,14 +211,15 @@ qcom,usb-chgpth@1300 { reg = <0x1300 0x100>; - interrupts = <0x2 0x13 0x0 IRQ_TYPE_NONE>, - <0x2 0x13 0x1 IRQ_TYPE_NONE>, - <0x2 0x13 0x2 IRQ_TYPE_NONE>, - <0x2 0x13 0x3 IRQ_TYPE_NONE>, - <0x2 0x13 0x4 IRQ_TYPE_NONE>, - <0x2 0x13 0x5 IRQ_TYPE_NONE>, - <0x2 0x13 0x6 IRQ_TYPE_NONE>, - <0x2 0x13 0x7 IRQ_TYPE_NONE>; + interrupts = + <0x2 0x13 0x0 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x13 0x1 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x13 0x2 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x13 0x3 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x13 0x4 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x13 0x5 IRQ_TYPE_EDGE_RISING>, + <0x2 0x13 0x6 IRQ_TYPE_EDGE_RISING>, + <0x2 0x13 0x7 IRQ_TYPE_EDGE_RISING>; interrupt-names = "usbin-collapse", "usbin-lt-3p6v", @@ -230,13 +233,14 @@ qcom,dc-chgpth@1400 { reg = <0x1400 0x100>; - interrupts = <0x2 0x14 0x0 IRQ_TYPE_NONE>, - <0x2 0x14 0x1 IRQ_TYPE_NONE>, - <0x2 0x14 0x2 IRQ_TYPE_NONE>, - <0x2 0x14 0x3 IRQ_TYPE_NONE>, - <0x2 0x14 0x4 IRQ_TYPE_NONE>, - <0x2 0x14 0x5 IRQ_TYPE_NONE>, - <0x2 0x14 0x6 IRQ_TYPE_NONE>; + interrupts = + <0x2 0x14 0x0 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x14 0x1 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x14 0x2 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x14 0x3 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x14 0x4 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x14 0x5 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x14 0x6 IRQ_TYPE_EDGE_RISING>; interrupt-names = "dcin-collapse", "dcin-lt-3p6v", @@ -249,14 +253,15 @@ qcom,chgr-misc@1600 { reg = <0x1600 0x100>; - interrupts = <0x2 0x16 0x0 IRQ_TYPE_NONE>, - <0x2 0x16 0x1 IRQ_TYPE_NONE>, - <0x2 0x16 0x2 IRQ_TYPE_NONE>, - <0x2 0x16 0x3 IRQ_TYPE_NONE>, - <0x2 0x16 0x4 IRQ_TYPE_NONE>, - <0x2 0x16 0x5 IRQ_TYPE_NONE>, - <0x2 0x16 0x6 IRQ_TYPE_NONE>, - <0x2 0x16 0x7 IRQ_TYPE_NONE>; + interrupts = + <0x2 0x16 0x0 IRQ_TYPE_EDGE_RISING>, + <0x2 0x16 0x1 IRQ_TYPE_EDGE_RISING>, + <0x2 0x16 0x2 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x16 0x3 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x16 0x4 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x16 0x5 IRQ_TYPE_EDGE_BOTH>, + <0x2 0x16 0x6 IRQ_TYPE_EDGE_FALLING>, + <0x2 0x16 0x7 IRQ_TYPE_EDGE_BOTH>; interrupt-names = "wdog-snarl", "wdog-bark",