diff options
author | Alexander Shiyan <shc_work@mail.ru> | 2012-04-10 23:44:14 +0400 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-04-11 09:51:01 +0200 |
commit | cacee0da048a10068ecdbdfeae125eba22e48d8d (patch) | |
tree | 3cabdcf842d7865cdc2a88c3f855d7cb86aa6477 /drivers | |
parent | e77e71d9572737a45ad784bd6bcd29bea4ded24f (diff) | |
download | barebox-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.c | 10 |
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++) |