diff options
author | Andy Green <andy.green@linaro.org> | 2011-12-02 09:56:56 +0800 |
---|---|---|
committer | Sebastien Jan <s-jan@ti.com> | 2011-12-05 11:20:20 +0100 |
commit | 0de97897e0e2e4cf5bf3299449fdb3cdbbd6790b (patch) | |
tree | 46399ab25cd8f885d44713560e5709e935f58f46 /drivers | |
parent | 7a3e24dc9105f070386b1e9a69ae9ef1c9882558 (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.c | 12 |
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 */ |