[U-Boot] [PATCH v5] mx6: Read silicon revision from register

Stefano Babic sbabic at denx.de
Tue Mar 20 07:28:16 CET 2012


On 19/03/2012 23:07, Fabio Estevam wrote:
> Instead of hardcoding the mx6 silicon revision, read it in run-time.
> 
> Also, besides the silicon version print the mx6 variant type: quad,dual/solo 
> or solo-lite.
> 
> Tested on a mx6qsabrelite, where it shows:
> 
> CPU:   Freescale i.MX6Q rev1.0 at 792 MHz  
> 
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> ---
Hi Fabio,

>  
>  #if defined(CONFIG_DISPLAY_CPUINFO)
> +
> +#ifdef CONFIG_MX6Q
> +static char *get_mx6_type(u32 mx6type)
> +{
> +	switch (mx6type) {
> +	case 0x63:
> +		return "Q";	/* Quad-core version of the mx6 */
> +	case 0x61:
> +		return "DS";	/* Dual/Solo version of the mx6 */
> +	case 0x60:
> +		return "SL";	/* Solo-Lite version of the mx6 */
> +	default:
> +		return "unknown";
> +	}
> +}
> +#endif
> +
>  int print_cpuinfo(void)
>  {
>  	u32 cpurev;
>  
>  	cpurev = get_cpu_rev();
> -	printf("CPU:   Freescale i.MX%x family rev%d.%d at %d MHz\n",
> +
> +#ifdef CONFIG_MX6Q
> +	printf("CPU:   Freescale i.MX6%s rev%d.%d at %d MHz\n",
> +		get_mx6_type((cpurev & 0xFF000) >> 12),
> +		(cpurev & 0x000F0) >> 4,
> +		(cpurev & 0x0000F) >> 0,
> +		mxc_get_clock(MXC_ARM_CLK) / 1000000);
> +#else
> +	printf("CPU:   Freescale i.MX%x rev%d.%d at %d MHz\n",
>  		(cpurev & 0xFF000) >> 12,
>  		(cpurev & 0x000F0) >> 4,
>  		(cpurev & 0x0000F) >> 0,
>  		mxc_get_clock(MXC_ARM_CLK) / 1000000);
> +#endif

What about if we modify slightly the code checking for MX6 in
get_mx6_type (that could become get_mx_type) ? Something like:

static char *get_mx6_type(u32 mx6type) {
   if ((mx6type & 0x60) != 0x60)
	return NULL;

we could drop CONFIG_MX6Q at all and also the duplication of code in
print_cpuinfo()

Best regards,
Stefano

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================


More information about the U-Boot mailing list