summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAndy Green <andy.green@linaro.org>2011-12-02 09:56:56 +0800
committerSebastien Jan <s-jan@ti.com>2011-12-05 11:20:20 +0100
commit0de97897e0e2e4cf5bf3299449fdb3cdbbd6790b (patch)
tree46399ab25cd8f885d44713560e5709e935f58f46 /drivers
parent7a3e24dc9105f070386b1e9a69ae9ef1c9882558 (diff)
mfd: twl - twl6030 enable all irq sources (temp fix)
This patch enables all twl6030 interrupt sources by default, allowing boards seeing a marginal overcurrent to acknowledge it. The correct solution is to find the cause of high current from one of the regulators seen on all Panda boards probably and reduce the load, but this patch will get around the spontaneous OFF seen on Panda for now. Signed-off-by: Andy Green <andy.green@linaro.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mfd/twl6030-irq.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/mfd/twl6030-irq.c b/drivers/mfd/twl6030-irq.c
index eb3b5f88e566..ad779d366950 100644
--- a/drivers/mfd/twl6030-irq.c
+++ b/drivers/mfd/twl6030-irq.c
@@ -127,6 +127,7 @@ static int twl6030_irq_thread(void *data)
sts.bytes[3] = 0; /* Only 24 bits are valid*/
+ pr_info("twl6030: Interrupt status 0x%06x\n", sts.int_sts);
/*
* Since VBUS status bit is not reliable for VBUS disconnect
@@ -300,13 +301,18 @@ int twl6030_init_irq(int irq_num, unsigned irq_base, unsigned irq_end)
u8 mask[4];
static struct irq_chip twl6030_irq_chip;
- mask[1] = 0xFF;
- mask[2] = 0xFF;
- mask[3] = 0xFF;
+ mask[1] = 0;
+ mask[2] = 0;
+ mask[3] = 0;
ret = twl_i2c_write(TWL_MODULE_PIH, &mask[0],
REG_INT_MSK_LINE_A, 3); /* MASK ALL INT LINES */
ret = twl_i2c_write(TWL_MODULE_PIH, &mask[0],
REG_INT_MSK_STS_A, 3); /* MASK ALL INT STS */
+
+ mask[1] = 0xFF;
+ mask[2] = 0xFF;
+ mask[3] = 0xFF;
+
ret = twl_i2c_write(TWL_MODULE_PIH, &mask[0],
REG_INT_STS_A, 3); /* clear INT_STS_A,B,C */