[U-Boot] [RFC PATCH] ARM: at91: Print CPU serial number in cpuinfo
Eugen.Hristev at microchip.com
Eugen.Hristev at microchip.com
Fri Nov 29 07:43:10 UTC 2019
On 27.11.2019 14:44, Alexander Dahl wrote:
> The SAMA5D2 and SAMA5D4 series SoCs have a 64-bit Serial Number (unique
> ID) burned in, which is displayed with 'print_cpuinfo()' now (in the
> same format the SAM-BA applet prints it).
>
> Example output:
>
> CPU: SAMA5D27 1G bits DDR2 SDRAM
> Serial number 0: 0x4630394b
> 1: 0x190d2750
> Crystal frequency: 24 MHz
> CPU clock : 492 MHz
> Master clock : 164 MHz
>
> Signed-off-by: Alexander Dahl <ada at thorsis.com>
> ---
>
> I looked over lots of other 'print_cpuinfo()' implementations for
> different SoCs and found none printing a unique ID at all. Is there
> another place for this? Is it just few SoCs have such a serial number
> at all? Or is it not desired to print those along with the other CPU
> info?
>
Hi Alex,
I do not have anything against it.
Nor do I have a strong opinion about which way to go. Is it better to
just have a CMD that prints out this serial or print it at boot ? Maybe
some other people have a different idea ?
Eugen
> Greets
> Alex
>
> ---
> arch/arm/mach-at91/armv7/cpu.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/arm/mach-at91/armv7/cpu.c b/arch/arm/mach-at91/armv7/cpu.c
> index 5da067cda1..6d50e1aea4 100644
> --- a/arch/arm/mach-at91/armv7/cpu.c
> +++ b/arch/arm/mach-at91/armv7/cpu.c
> @@ -13,6 +13,7 @@
> #include <asm/arch/hardware.h>
> #include <asm/arch/at91_pit.h>
> #include <asm/arch/at91_gpbr.h>
> +#include <asm/arch/at91_sfr.h>
> #include <asm/arch/clk.h>
>
> #ifndef CONFIG_SYS_AT91_MAIN_CLOCK
> @@ -42,9 +43,16 @@ void arch_preboot_os(void)
> #if defined(CONFIG_DISPLAY_CPUINFO)
> int print_cpuinfo(void)
> {
> + struct atmel_sfr *sfr = (struct atmel_sfr *)ATMEL_BASE_SFR;
> char buf[32];
>
> printf("CPU: %s\n", get_cpu_name());
> +
> +#if defined(CONFIG_SAMA5D2) || defined(CONFIG_SAMA5D4)
> + printf("Serial number 0: 0x%08x\n", sfr->sn0);
> + printf(" 1: 0x%08x\n", sfr->sn1);
> +#endif
> +
> printf("Crystal frequency: %8s MHz\n",
> strmhz(buf, get_main_clk_rate()));
> printf("CPU clock : %8s MHz\n",
> --
> 2.20.1
>
>
More information about the U-Boot
mailing list