* [PATCH 1/4] ARM: Introduce SoC Info into /proc/cpuinfo
2010-04-26 8:24 [PATCH 0/4] Adding soc related info into /proc/cpuinfo Eduardo Valentin
@ 2010-04-26 8:24 ` Eduardo Valentin
2010-04-26 8:24 ` [PATCH 2/4] mach-omap2: Add SoC info data for OMAP2,3,4 " Eduardo Valentin
` (2 subsequent siblings)
3 siblings, 0 replies; 10+ messages in thread
From: Eduardo Valentin @ 2010-04-26 8:24 UTC (permalink / raw)
To: ext Kevin Hilman, ext Tony Lindgren
Cc: \"De-Schrijver Peter (Nokia-D/Helsinki)\", Linux-OMAP,
Eduardo Valentin
From: Eduardo Valentin <eduardo.valentin@nokia.com>
This patch extends the ARM /proc/cpuinfo to include soc info data.
It is implemented via the same way which is done for
system_rev, system_serial_low and system_serial_high.
Then, now we have system_soc_info, which is printed only
if there is something useful there.
Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
---
arch/arm/include/asm/system.h | 2 ++
arch/arm/kernel/setup.c | 5 +++++
2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h
index 4ace45e..53a9645 100644
--- a/arch/arm/include/asm/system.h
+++ b/arch/arm/include/asm/system.h
@@ -71,6 +71,8 @@ struct task_struct;
extern unsigned int system_rev;
extern unsigned int system_serial_low;
extern unsigned int system_serial_high;
+#define SYSTEM_SOC_INFO_SIZE 128
+extern char system_soc_info[SYSTEM_SOC_INFO_SIZE];
extern unsigned int mem_fclk_21285;
struct pt_regs;
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index c91c77b..025d795 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -85,6 +85,9 @@ EXPORT_SYMBOL(system_serial_low);
unsigned int system_serial_high;
EXPORT_SYMBOL(system_serial_high);
+char system_soc_info[SYSTEM_SOC_INFO_SIZE];
+EXPORT_SYMBOL(system_soc_info);
+
unsigned int elf_hwcap;
EXPORT_SYMBOL(elf_hwcap);
@@ -847,6 +850,8 @@ static int c_show(struct seq_file *m, void *v)
seq_printf(m, "Revision\t: %04x\n", system_rev);
seq_printf(m, "Serial\t\t: %08x%08x\n",
system_serial_high, system_serial_low);
+ if (strlen(system_soc_info))
+ seq_printf(m, "SoC Info\t: %s\n", system_soc_info);
return 0;
}
--
1.7.0.4.361.g8b5fe.dirty
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 2/4] mach-omap2: Add SoC info data for OMAP2,3,4 into /proc/cpuinfo
2010-04-26 8:24 [PATCH 0/4] Adding soc related info into /proc/cpuinfo Eduardo Valentin
2010-04-26 8:24 ` [PATCH 1/4] ARM: Introduce SoC Info " Eduardo Valentin
@ 2010-04-26 8:24 ` Eduardo Valentin
2010-04-26 8:24 ` [PATCH 3/4] mach-omap1: Add SoC info data for OMAP into /proc/cpuinfo1 Eduardo Valentin
2010-04-26 8:24 ` [PATCH 4/4] OMAP3: PM: export chip IDCODE, Production ID and Die ID Eduardo Valentin
3 siblings, 0 replies; 10+ messages in thread
From: Eduardo Valentin @ 2010-04-26 8:24 UTC (permalink / raw)
To: ext Kevin Hilman, ext Tony Lindgren
Cc: \"De-Schrijver Peter (Nokia-D/Helsinki)\", Linux-OMAP,
Eduardo Valentin
From: Eduardo Valentin <eduardo.valentin@nokia.com>
Report OMAP2,3,4 data into system_soc_info. Now we get omap
information under /proc/cpuinfo.
Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
---
arch/arm/mach-omap2/id.c | 21 +++++++++++++++------
1 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index 37b8a1a..75e36a5 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -152,10 +152,15 @@ void __init omap24xx_check_revision(void)
j = i;
}
- pr_info("OMAP%04x", omap_rev() >> 16);
- if ((omap_rev() >> 8) & 0x0f)
- pr_info("ES%x", (omap_rev() >> 12) & 0xf);
- pr_info("\n");
+ snprintf(system_soc_info, SYSTEM_SOC_INFO_SIZE, "OMAP%04x",
+ omap_rev() >> 16);
+ if ((omap_rev() >> 8) & 0x0f) {
+ int sz = strlen(system_soc_info);
+
+ snprintf(system_soc_info + sz, SYSTEM_SOC_INFO_SIZE - sz,
+ "ES%x", (omap_rev() >> 12) & 0xf);
+ }
+ pr_info("%s\n", system_soc_info);
}
#define OMAP3_CHECK_FEATURE(status,feat) \
@@ -286,7 +291,9 @@ void __init omap4_check_revision(void)
if ((hawkeye == 0xb852) && (rev == 0x0)) {
omap_revision = OMAP4430_REV_ES1_0;
omap_chip.oc |= CHIP_IS_OMAP4430ES1;
- pr_info("OMAP%04x %s\n", omap_rev() >> 16, rev_name);
+ snprintf(system_soc_info, SYSTEM_SOC_INFO_SIZE, "OMAP%04x %s\n",
+ omap_rev() >> 16, rev_name);
+ pr_info("%s\n", system_soc_info);
return;
}
@@ -356,7 +363,9 @@ void __init omap3_cpuinfo(void)
}
/* Print verbose information */
- pr_info("%s ES%s (", cpu_name, cpu_rev);
+ snprintf(system_soc_info, SYSTEM_SOC_INFO_SIZE, "%s ES%s", cpu_name,
+ cpu_rev);
+ pr_info("%s (", system_soc_info);
OMAP3_SHOW_FEATURE(l2cache);
OMAP3_SHOW_FEATURE(iva);
--
1.7.0.4.361.g8b5fe.dirty
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 3/4] mach-omap1: Add SoC info data for OMAP into /proc/cpuinfo1
2010-04-26 8:24 [PATCH 0/4] Adding soc related info into /proc/cpuinfo Eduardo Valentin
2010-04-26 8:24 ` [PATCH 1/4] ARM: Introduce SoC Info " Eduardo Valentin
2010-04-26 8:24 ` [PATCH 2/4] mach-omap2: Add SoC info data for OMAP2,3,4 " Eduardo Valentin
@ 2010-04-26 8:24 ` Eduardo Valentin
2010-04-26 8:24 ` [PATCH 4/4] OMAP3: PM: export chip IDCODE, Production ID and Die ID Eduardo Valentin
3 siblings, 0 replies; 10+ messages in thread
From: Eduardo Valentin @ 2010-04-26 8:24 UTC (permalink / raw)
To: ext Kevin Hilman, ext Tony Lindgren
Cc: \"De-Schrijver Peter (Nokia-D/Helsinki)\", Linux-OMAP,
Eduardo Valentin
From: Eduardo Valentin <eduardo.valentin@nokia.com>
Report OMAP data into system_soc_info. Now we get omap
information under /proc/cpuinfo.
Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
---
arch/arm/mach-omap1/id.c | 18 ++++++++++++------
1 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/arch/arm/mach-omap1/id.c b/arch/arm/mach-omap1/id.c
index a0e3560..9622e9f 100644
--- a/arch/arm/mach-omap1/id.c
+++ b/arch/arm/mach-omap1/id.c
@@ -194,11 +194,17 @@ void __init omap_check_revision(void)
printk(KERN_INFO "Unknown OMAP cpu type: 0x%02x\n", cpu_type);
}
- printk(KERN_INFO "OMAP%04x", omap_revision >> 16);
- if ((omap_revision >> 8) & 0xff)
- printk(KERN_INFO "%x", (omap_revision >> 8) & 0xff);
- printk(KERN_INFO " revision %i handled as %02xxx id: %08x%08x\n",
- die_rev, omap_revision & 0xff, system_serial_low,
- system_serial_high);
+ snprintf(system_soc_info, SYSTEM_SOC_INFO_SIZE, "OMAP%04x",
+ omap_revision >> 16);
+ if ((omap_revision >> 8) & 0xff) {
+ int sz = strlen(system_soc_info);
+
+ snprintf(system_soc_info + sz, SYSTEM_SOC_INFO_SIZE - sz,
+ "%x", (omap_revision >> 8) & 0xff);
+ }
+ pr_info("%s revision %i handled as %02xxx id: %08x%08x\n",
+ system_soc_info, die_rev, omap_revision & 0xff,
+ system_serial_low, system_serial_high);
+
}
--
1.7.0.4.361.g8b5fe.dirty
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 4/4] OMAP3: PM: export chip IDCODE, Production ID and Die ID
2010-04-26 8:24 [PATCH 0/4] Adding soc related info into /proc/cpuinfo Eduardo Valentin
` (2 preceding siblings ...)
2010-04-26 8:24 ` [PATCH 3/4] mach-omap1: Add SoC info data for OMAP into /proc/cpuinfo1 Eduardo Valentin
@ 2010-04-26 8:24 ` Eduardo Valentin
2010-04-26 8:33 ` Shilimkar, Santosh
2010-04-26 18:28 ` Tony Lindgren
3 siblings, 2 replies; 10+ messages in thread
From: Eduardo Valentin @ 2010-04-26 8:24 UTC (permalink / raw)
To: ext Kevin Hilman, ext Tony Lindgren
Cc: \"De-Schrijver Peter (Nokia-D/Helsinki)\", Linux-OMAP,
Eduardo Valentin
From: Eduardo Valentin <eduardo.valentin@nokia.com>
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@nokia.com>
---
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));
}
/*
--
1.7.0.4.361.g8b5fe.dirty
^ permalink raw reply related [flat|nested] 10+ messages in thread* RE: [PATCH 4/4] OMAP3: PM: export chip IDCODE, Production ID and Die ID
2010-04-26 8:24 ` [PATCH 4/4] OMAP3: PM: export chip IDCODE, Production ID and Die ID Eduardo Valentin
@ 2010-04-26 8:33 ` Shilimkar, Santosh
2010-04-26 8:35 ` Shilimkar, Santosh
2010-04-26 18:28 ` Tony Lindgren
1 sibling, 1 reply; 10+ messages in thread
From: Shilimkar, Santosh @ 2010-04-26 8:33 UTC (permalink / raw)
To: Eduardo Valentin, ext Kevin Hilman, ext Tony Lindgren
Cc: \"De-Schrijver Peter (Nokia-D/Helsinki)\", Linux-OMAP
> -----Original Message-----
> From: linux-omap-owner@vger.kernel.org [mailto:linux-omap-owner@vger.kernel.org] 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@nokia.com>
>
> 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@nokia.com>
> ---
> 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@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 10+ messages in thread* RE: [PATCH 4/4] OMAP3: PM: export chip IDCODE, Production ID and Die ID
2010-04-26 8:33 ` Shilimkar, Santosh
@ 2010-04-26 8:35 ` Shilimkar, Santosh
0 siblings, 0 replies; 10+ messages in thread
From: Shilimkar, Santosh @ 2010-04-26 8:35 UTC (permalink / raw)
To: Shilimkar, Santosh, Eduardo Valentin, ext Kevin Hilman,
ext Tony Lindgren
Cc: \"De-Schrijver Peter (Nokia-D/Helsinki)\", Linux-OMAP
> > + /* 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.
>
Ignore the previous comment since looks like you are already doing that.
Regards,
Santosh
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 4/4] OMAP3: PM: export chip IDCODE, Production ID and Die ID
2010-04-26 8:24 ` [PATCH 4/4] OMAP3: PM: export chip IDCODE, Production ID and Die ID Eduardo Valentin
2010-04-26 8:33 ` Shilimkar, Santosh
@ 2010-04-26 18:28 ` Tony Lindgren
2010-04-27 10:13 ` Eduardo Valentin
1 sibling, 1 reply; 10+ messages in thread
From: Tony Lindgren @ 2010-04-26 18:28 UTC (permalink / raw)
To: Eduardo Valentin
Cc: ext Kevin Hilman, De-Schrijver Peter (Nokia-D/Helsinki),
Linux-OMAP
* Eduardo Valentin <eduardo.valentin@nokia.com> [100426 01:20]:
> From: Eduardo Valentin <eduardo.valentin@nokia.com>
>
> 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@nokia.com>
> ---
> 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));
> }
>
> /*
We should not expose the Die ID info unless specifically compiled in
with some Kconfig option. Please search for "pentium serial number privacy"
or similar.
Also, this whole series should be discussed on linux-arm-kernel.
Tony
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH 4/4] OMAP3: PM: export chip IDCODE, Production ID and Die ID
2010-04-26 18:28 ` Tony Lindgren
@ 2010-04-27 10:13 ` Eduardo Valentin
2010-04-27 14:51 ` Tony Lindgren
0 siblings, 1 reply; 10+ messages in thread
From: Eduardo Valentin @ 2010-04-27 10:13 UTC (permalink / raw)
To: ext Tony Lindgren
Cc: Valentin Eduardo (Nokia-D/Helsinki), ext Kevin Hilman,
De-Schrijver Peter (Nokia-D/Helsinki), Linux-OMAP
Hello Tony,
On Mon, Apr 26, 2010 at 08:28:12PM +0200, ext Tony Lindgren wrote:
> * Eduardo Valentin <eduardo.valentin@nokia.com> [100426 01:20]:
> > From: Eduardo Valentin <eduardo.valentin@nokia.com>
> >
> > 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@nokia.com>
> > ---
> > 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));
> > }
> >
> > /*
>
> We should not expose the Die ID info unless specifically compiled in
> with some Kconfig option. Please search for "pentium serial number privacy"
> or similar.
Yeah, I remember now that you actually have already asked to do it. I'll
repost this series again with this change. It will couple with the same
protection mechanism there is for x86 pn. it is not a compilation config,
but a kernel parameter:
static int __init x86_serial_nr_setup(char *s)
{
disable_x86_serial_nr = 0;
return 1;
}
__setup("serialnumber", x86_serial_nr_setup);
>
> Also, this whole series should be discussed on linux-arm-kernel.
Yeah, will post v2 there as well,
>
> Tony
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH 4/4] OMAP3: PM: export chip IDCODE, Production ID and Die ID
2010-04-27 10:13 ` Eduardo Valentin
@ 2010-04-27 14:51 ` Tony Lindgren
0 siblings, 0 replies; 10+ messages in thread
From: Tony Lindgren @ 2010-04-27 14:51 UTC (permalink / raw)
To: Eduardo Valentin
Cc: ext Kevin Hilman, De-Schrijver Peter (Nokia-D/Helsinki),
Linux-OMAP
* Eduardo Valentin <eduardo.valentin@nokia.com> [100427 03:08]:
> Hello Tony,
>
> On Mon, Apr 26, 2010 at 08:28:12PM +0200, ext Tony Lindgren wrote:
> > * Eduardo Valentin <eduardo.valentin@nokia.com> [100426 01:20]:
> > > +
> > > + /* 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));
> > > }
> > >
> > > /*
> >
> > We should not expose the Die ID info unless specifically compiled in
> > with some Kconfig option. Please search for "pentium serial number privacy"
> > or similar.
>
> Yeah, I remember now that you actually have already asked to do it. I'll
> repost this series again with this change. It will couple with the same
> protection mechanism there is for x86 pn. it is not a compilation config,
> but a kernel parameter:
>
>
> static int __init x86_serial_nr_setup(char *s)
> {
> disable_x86_serial_nr = 0;
> return 1;
> }
> __setup("serialnumber", x86_serial_nr_setup);
Sounds good to me.
Tony
^ permalink raw reply [flat|nested] 10+ messages in thread