diff --git a/drivers/mfd/twl6030.c b/drivers/mfd/twl6030.c index 01728fd..6b872ab 100644 --- a/drivers/mfd/twl6030.c +++ b/drivers/mfd/twl6030.c @@ -39,6 +39,27 @@ devfs_create(&(twl_dev->core.cdev)); + if (IS_ENABLED(CONFIG_DEBUG)) { + u8 i, jtag_rev, eprom_rev; + int r; + u64 dieid; + + r = twl6030_reg_read(twl_dev, TWL6030_JTAG_JTAGVERNUM, + &jtag_rev); + r |= twl6030_reg_read(twl_dev, TWL6030_JTAG_EPROM_REV, + &eprom_rev); + for (i = 0; i < 8; i++) + r |= twl6030_reg_read(twl_dev, TWL6030_DIEID_0+i, + ((u8 *)(&dieid))+i); + if (r) + dev_dbg(dev, "TWL6030 Error reading ID\n"); + else + dev_dbg(dev, "TWL6030 JTAG REV: 0x%02X, " + "EPROM REV: 0x%02X, " + "DIE ID: 0x%016llX\n", + (unsigned)jtag_rev, (unsigned)eprom_rev, dieid); + } + return 0; } diff --git a/include/mfd/twl6030.h b/include/mfd/twl6030.h index f1278d4..bb4f773 100644 --- a/include/mfd/twl6030.h +++ b/include/mfd/twl6030.h @@ -371,6 +371,14 @@ /* JTAG */ TWL6030_JTAG_JTAGVERNUM = 0x0287, TWL6030_JTAG_EPROM_REV = 0x02DF, + TWL6030_DIEID_0 = 0x02C0, + TWL6030_DIEID_1 = 0x02C1, + TWL6030_DIEID_2 = 0x02C2, + TWL6030_DIEID_3 = 0x02C3, + TWL6030_DIEID_4 = 0x02C4, + TWL6030_DIEID_5 = 0x02C5, + TWL6030_DIEID_6 = 0x02C6, + TWL6030_DIEID_7 = 0x02C7, /* GPADC Trimming */ TWL6030_GPADC_TRIM1 = 0x02CD, TWL6030_GPADC_TRIM2 = 0x02CE,