[U-Boot] [PATCH 12/16] ARM: omap4/5: Add device type to CPU string

Andreas Dannenberg dannenberg at ti.com
Tue Apr 19 18:26:30 CEST 2016


On Mon, Apr 11, 2016 at 06:37:14PM -0500, Daniel Allred wrote:
> Update the CPU string output so that the device
> type is now included as part of the CPU string that
> is printed as the SPL or u-boot comes up. This update
> adds a suffix of the form "-GP" or "-HS" for production
> devices, so that general purpose (GP) and high security
> (HS) can be distiguished. Applies to all OMAP5 variants.

When I'm building for AM437x HS and running on the device I don't see
that output. It seems like there is something funny going on with
CONFIG_SPL_DISPLAY_PRINT. Even though this definition is activated in
ti_omap4_common.h and ti_omap5_common.h it is not seen by
preloader_console_init() in spl.c, hence the function that prints the
chip-type/rev specifics never gets invoked.

Madan,
can you please confirm that behavior on your end?

Thanks,

--
Andreas Dannenberg
Texas Instruments Inc



> 
> Signed-off-by: Daniel Allred <d-allred at ti.com>
> Signed-off-by: Madan Srinivas <madans at ti.com>
> ---
>  arch/arm/cpu/armv7/omap-common/hwinit-common.c | 22 ++++++++++++++++++++--
>  arch/arm/include/asm/arch-omap4/cpu.h          |  7 +++++++
>  arch/arm/include/asm/arch-omap5/cpu.h          |  7 +++++++
>  3 files changed, 34 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv7/omap-common/hwinit-common.c b/arch/arm/cpu/armv7/omap-common/hwinit-common.c
> index 01c2d57..078bdd8 100644
> --- a/arch/arm/cpu/armv7/omap-common/hwinit-common.c
> +++ b/arch/arm/cpu/armv7/omap-common/hwinit-common.c
> @@ -65,12 +65,30 @@ static void omap_rev_string(void)
>  	u32 major_rev = (omap_rev & 0x00000F00) >> 8;
>  	u32 minor_rev = (omap_rev & 0x000000F0) >> 4;
>  
> +	const char *sec_s;
> +
> +	switch (get_device_type()) {
> +	case TST_DEVICE:
> +		sec_s = "TST";
> +		break;
> +	case EMU_DEVICE:
> +		sec_s = "EMU";
> +		break;
> +	case HS_DEVICE:
> +		sec_s = "HS";
> +		break;
> +	case GP_DEVICE:
> +		sec_s = "GP";
> +		break;
> +	default:
> +		sec_s = "?";
> +	}
> +
>  	if (soc_variant)
>  		printf("OMAP");
>  	else
>  		printf("DRA");
> -	printf("%x ES%x.%x\n", omap_variant, major_rev,
> -	       minor_rev);
> +	printf("%x-%s ES%x.%x\n", omap_variant, sec_s, major_rev, minor_rev);
>  }
>  
>  #ifdef CONFIG_SPL_BUILD
> diff --git a/arch/arm/include/asm/arch-omap4/cpu.h b/arch/arm/include/asm/arch-omap4/cpu.h
> index f7595ae..34609b9 100644
> --- a/arch/arm/include/asm/arch-omap4/cpu.h
> +++ b/arch/arm/include/asm/arch-omap4/cpu.h
> @@ -59,6 +59,13 @@ struct watchdog {
>  #define TCLR_AR			(0x1 << 1)
>  #define TCLR_PRE		(0x1 << 5)
>  
> +/* device type */
> +#define DEVICE_MASK         (BIT(8) | BIT(9) | BIT(10))
> +#define TST_DEVICE          0x0
> +#define EMU_DEVICE          0x1
> +#define HS_DEVICE           0x2
> +#define GP_DEVICE           0x3
> +
>  /* I2C base */
>  #define I2C_BASE1		(OMAP44XX_L4_PER_BASE + 0x70000)
>  #define I2C_BASE2		(OMAP44XX_L4_PER_BASE + 0x72000)
> diff --git a/arch/arm/include/asm/arch-omap5/cpu.h b/arch/arm/include/asm/arch-omap5/cpu.h
> index b1513e9..1d53da6 100644
> --- a/arch/arm/include/asm/arch-omap5/cpu.h
> +++ b/arch/arm/include/asm/arch-omap5/cpu.h
> @@ -63,6 +63,13 @@ struct watchdog {
>  #define TCLR_AR			(0x1 << 1)
>  #define TCLR_PRE		(0x1 << 5)
>  
> +/* device type */
> +#define DEVICE_MASK         (BIT(8) | BIT(9) | BIT(10))
> +#define TST_DEVICE          0x0
> +#define EMU_DEVICE          0x1
> +#define HS_DEVICE           0x2
> +#define GP_DEVICE           0x3
> +
>  /* I2C base */
>  #define I2C_BASE1		(OMAP54XX_L4_PER_BASE + 0x70000)
>  #define I2C_BASE2		(OMAP54XX_L4_PER_BASE + 0x72000)
> -- 
> 1.9.1
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot


More information about the U-Boot mailing list