@@ -76,6 +76,10 @@ EXPORT_SYMBOL(omap_type);
/*----------------------------------------------------------------------------*/
#define OMAP_TAP_IDCODE 0x0204
+#define OMAP_TAP_PROD_ID_0 0x0208
+#define OMAP_TAP_PROD_ID_1 0x020c
+#define OMAP_TAP_PROD_ID_2 0x0210
+#define OMAP_TAP_PROD_ID_3 0x0214
#define OMAP_TAP_DIE_ID_0 0x0218
#define OMAP_TAP_DIE_ID_1 0x021C
#define OMAP_TAP_DIE_ID_2 0x0220
@@ -306,6 +310,7 @@ void __init omap4_check_revision(void)
void __init omap3_cpuinfo(void)
{
+ int sz;
u8 rev = GET_OMAP_REVISION();
char cpu_name[16], cpu_rev[16];
@@ -375,6 +380,21 @@ void __init omap3_cpuinfo(void)
OMAP3_SHOW_FEATURE(192mhz_clk);
printk(")\n");
+
+ /* Append OMAP3 IDCODE, Production ID and Die ID to system_soc_info */
+ sz = strlen(system_soc_info);
+ snprintf(system_soc_info + sz, SYSTEM_SOC_INFO_SIZE - sz,
+ "\n\tIDCODE\t: %08x\n\tPr. ID\t: %08x %08x %08x %08x\n"
+ "\tDie ID\t: %08x %08x %08x %08x\n",
+ read_tap_reg(OMAP_TAP_IDCODE),
+ read_tap_reg(OMAP_TAP_PROD_ID_0),
+ read_tap_reg(OMAP_TAP_PROD_ID_1),
+ read_tap_reg(OMAP_TAP_PROD_ID_2),
+ read_tap_reg(OMAP_TAP_PROD_ID_3),
+ read_tap_reg(OMAP_TAP_DIE_ID_0),
+ read_tap_reg(OMAP_TAP_DIE_ID_1),
+ read_tap_reg(OMAP_TAP_DIE_ID_2),
+ read_tap_reg(OMAP_TAP_DIE_ID_3));
}
/*