> -----Original Message----- > From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap-owner@xxxxxxxxxxxxxxx] On Behalf Of Eduardo > Valentin > Sent: Monday, April 26, 2010 1:55 PM > To: ext Kevin Hilman; ext Tony Lindgren > Cc: \"De-Schrijver Peter (Nokia-D/Helsinki)\"; Linux-OMAP; Eduardo Valentin > Subject: [PATCH 4/4] OMAP3: PM: export chip IDCODE, Production ID and Die ID > > From: Eduardo Valentin <eduardo.valentin@xxxxxxxxx> > > This patch exports the OMAP3 IDCODE, Production ID and Die ID to userspace > via /proc/cpuinfo using the system_soc_info. > > This can be used to track down silicon specific issues. The info is > exported via /proc/cpuinfo because then it can be possible to include this > in corematic dumps. > > This is based on Peter De Schrijver patch, which export same info via sysfs. > > Signed-off-by: Eduardo Valentin <eduardo.valentin@xxxxxxxxx> > --- > arch/arm/mach-omap2/id.c | 20 ++++++++++++++++++++ > 1 files changed, 20 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c > index 75e36a5..887787d 100644 > --- a/arch/arm/mach-omap2/id.c > +++ b/arch/arm/mach-omap2/id.c > @@ -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)); > } Just a query here. Since we have already code to decode all above information And convert it into a meaningful data like , OMAP3430 ES2.0 , OMAP3630 ES1.0 , OMAP4430 ES1.0 etc. Can we export that itself. Ofcourse with above data also some one can refer TRM and do the decoding. > > /* > -- > 1.7.0.4.361.g8b5fe.dirty > > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html