[U-Boot] [PATCH v3 3/4] ARM: DRA7: Set serial number environment variable
Lukasz Majewski
l.majewski at samsung.com
Wed Mar 4 14:23:37 CET 2015
Hi Dileep,
> Adds the registers to get the serial number of dra7xx boards.
> Serial# environment variable will be set if not done already.
> This will be useful to show correct information in
> "fastboot devices" commands.
>
> Signed-off-by: Angela Stegmaier <angelabaker at ti.com>
> Signed-off-by: Dileep Katta <dileep.katta at linaro.org>
> ---
> arch/arm/cpu/armv7/omap5/prcm-regs.c | 2 ++
> arch/arm/include/asm/omap_common.h | 2 ++
> board/ti/dra7xx/evm.c | 11 +++++++++++
> 3 files changed, 15 insertions(+)
>
> diff --git a/arch/arm/cpu/armv7/omap5/prcm-regs.c
> b/arch/arm/cpu/armv7/omap5/prcm-regs.c index 0745d42..020a964 100644
> --- a/arch/arm/cpu/armv7/omap5/prcm-regs.c
> +++ b/arch/arm/cpu/armv7/omap5/prcm-regs.c
> @@ -440,6 +440,8 @@ struct omap_sys_ctrl_regs const dra7xx_ctrl = {
> .control_emif1_sdram_config_ext = 0x4AE0C144,
> .control_emif2_sdram_config_ext = 0x4AE0C148,
> .control_wkup_ldovbb_mpu_voltage_ctrl = 0x4AE0C158,
> + .control_std_fuse_die_id_3 = 0x4AE0C210,
> + .control_std_fuse_prod_id_0 = 0x4AE0C214,
> .control_padconf_mode = 0x4AE0C5A0,
> .control_xtal_oscillator = 0x4AE0C5A4,
> .control_i2c_2 = 0x4AE0C5A8,
> diff --git a/arch/arm/include/asm/omap_common.h
> b/arch/arm/include/asm/omap_common.h index 323952f..b329803 100644
> --- a/arch/arm/include/asm/omap_common.h
> +++ b/arch/arm/include/asm/omap_common.h
> @@ -362,6 +362,8 @@ struct omap_sys_ctrl_regs {
> u32 control_core_control_io1;
> u32 control_core_control_io2;
> u32 control_id_code;
> + u32 control_std_fuse_die_id_3;
> + u32 control_std_fuse_prod_id_0;
> u32 control_std_fuse_opp_bgap;
> u32 control_ldosram_iva_voltage_ctrl;
> u32 control_ldosram_mpu_voltage_ctrl;
> diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c
> index 6522241..e20d950 100644
> --- a/board/ti/dra7xx/evm.c
> +++ b/board/ti/dra7xx/evm.c
> @@ -88,10 +88,21 @@ int board_init(void)
> int board_late_init(void)
> {
> #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
> + char serialno[72];
> + uint32_t serialno_lo, serialno_hi;
> +
> if (omap_revision() == DRA722_ES1_0)
> setenv("board_name", "dra72x");
> else
> setenv("board_name", "dra7xx");
> +
> + if (!getenv("serial#")) {
> + printf("serial# not set, setting...\n");
> + serialno_lo =
> readl((*ctrl)->control_std_fuse_die_id_3);
> + serialno_hi =
> readl((*ctrl)->control_std_fuse_prod_id_0);
> + sprintf(serialno, "%08x%08x", serialno_hi,
> serialno_lo);
> + setenv("serial#", serialno);
> + }
> #endif
> return 0;
> }
Reviewed-by: Lukasz Majewski <l.majewski at samsung.com>
--
Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
More information about the U-Boot
mailing list