summaryrefslogtreecommitdiff
path: root/drivers/mfd
diff options
context:
space:
mode:
authorJohnny Qiu <joqiu@nvidia.com>2012-09-28 16:51:38 -0700
committerMrutyunjay Sawant <msawant@nvidia.com>2012-10-29 07:27:42 -0700
commita960a866b2f2648d2ef2f134af33d1e2eb3717e7 (patch)
treea6173b178bdeb30960c94e28a0b99c9640ebcdba /drivers/mfd
parente2888781bb27853e8b7cc5eb9b8ceeaf1057e3d4 (diff)
mfd: palmas: configure interrupt line output polarity
set interrupt line output polarity according to irq trigger level in platform data. Signed-off-by: Johnny Qiu <joqiu@nvidia.com> Reviewed-on: http://git-master/r/139856 (cherry picked from commit 540d13a543bc04a506a5031be360c6cf958a316e) Change-Id: Ief9b72eb6fd6a0e4da00c6d7055a3dd2c621b1da Signed-off-by: naveen kumar arepalli <naveenk@nvidia.com> Reviewed-on: http://git-master/r/147895 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/palmas.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/mfd/palmas.c b/drivers/mfd/palmas.c
index 2e73c5f40caa..133a3c7f38cb 100644
--- a/drivers/mfd/palmas.c
+++ b/drivers/mfd/palmas.c
@@ -584,6 +584,16 @@ static int __devinit palmas_i2c_probe(struct i2c_client *i2c,
}
}
+ /* Change interrupt line output polarity */
+ slave = PALMAS_BASE_TO_SLAVE(PALMAS_PU_PD_OD_BASE);
+ addr = PALMAS_BASE_TO_REG(PALMAS_PU_PD_OD_BASE, PALMAS_POLARITY_CTRL);
+ regmap_read(palmas->regmap[slave], addr, &reg);
+ if (pdata->irq_type & IRQ_TYPE_LEVEL_HIGH)
+ reg |= PALMAS_POLARITY_CTRL_INT_POLARITY;
+ else
+ reg &= ~PALMAS_POLARITY_CTRL_INT_POLARITY;
+ regmap_write(palmas->regmap[slave], addr, reg);
+
/* Change IRQ into clear on read mode for efficiency */
slave = PALMAS_BASE_TO_SLAVE(PALMAS_INTERRUPT_BASE);
addr = PALMAS_BASE_TO_REG(PALMAS_INTERRUPT_BASE, PALMAS_INT_CTRL);