summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAlexander Shiyan <shc_work@mail.ru>2012-04-10 23:44:14 +0400
committerSascha Hauer <s.hauer@pengutronix.de>2012-04-11 09:51:01 +0200
commitcacee0da048a10068ecdbdfeae125eba22e48d8d (patch)
tree3cabdcf842d7865cdc2a88c3f855d7cb86aa6477 /drivers
parente77e71d9572737a45ad784bd6bcd29bea4ded24f (diff)
downloadbarebox-cacee0da048a10068ecdbdfeae125eba22e48d8d.tar.gz
barebox-cacee0da048a10068ecdbdfeae125eba22e48d8d.tar.xz
Add support for MC13783 to mc13xxx driver
Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mfd/mc13xxx.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/mfd/mc13xxx.c b/drivers/mfd/mc13xxx.c
index cffb5a9fa8..ad7cb7eceb 100644
--- a/drivers/mfd/mc13xxx.c
+++ b/drivers/mfd/mc13xxx.c
@@ -241,6 +241,16 @@ static int mc13xxx_query_revision(struct mc13xxx *mc13xxx)
/* Determine chip type by decode ICID bits */
switch ((rev_id >> 6) & 0x7) {
+ case 2:
+ chipname = "MC13783";
+ rev = (((rev_id & 0x18) >> 3) << 4) | (rev_id & 0x7);
+ /* Ver 0.2 is actually 3.2a. Report as 3.2 */
+ if (rev == 0x02) {
+ rev = 0x32;
+ revstr = "3.2a";
+ } else
+ revstr = asprintf("%d.%d", rev / 0x10, rev % 10);
+ break;
case 7:
chipname = "MC13892";
for (i = 0; i < ARRAY_SIZE(mc13892_revisions); i++)