[U-Boot] [PATCH] omap3evm: Add board revision function

Gupta, Ajay Kumar ajay.gupta at ti.com
Fri Nov 13 11:00:46 CET 2009


Somehow the local patch got sent to the list. 
Apologies for it.

Please find the correct patch attached.

Regards,
Ajay 

> -----Original Message-----
> From: Gupta, Ajay Kumar
> Sent: Friday, November 13, 2009 3:24 PM
> To: u-boot at lists.denx.de
> Cc: Gupta, Ajay Kumar; Hiremath, Vaibhav; Premi, Sanjeev
> Subject: [PATCH] omap3evm: Add board revision function
> 
> Hi Vaibhav/Sanjeev,
> 
> Please review this which I plan to submit today.
> 
> It almost same as submited on lo.
> 
> Regards,
> Ajay
> 
> Added function to differentiate between the OMAP3EVM revisions. The
> chip-id of the ethernet PHY is being used for this purpose.
> 
> Rev A to D : 0x01150000
> Rev >= E   : 0x92200000
> 
> Signed-off-by: Vaibhav Hiremath <hvaibhav at ti.com>
> Signed-off-by: Sanjeev Premi <premi at ti.com>
> Signed-off-by: Ajay Kumar Gupta <ajay.gupta at ti.com>
> ---
> Created against denx's u-boot master branch.
>  board/ti/evm/evm.c |   29 +++++++++++++++++++++++++++++
>  board/ti/evm/evm.h |   14 ++++++++++++++
>  2 files changed, 43 insertions(+), 0 deletions(-)
> 
> diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c
> index 0718a08..6eacc00 100644
> --- a/board/ti/evm/evm.c
> +++ b/board/ti/evm/evm.c
> @@ -37,6 +37,33 @@
>  #include <asm/mach-types.h>
>  #include "evm.h"
> 
> +static u8 omap3_evm_version;
> +
> +u8 get_omap3_evm_rev(void)
> +{
> +	return omap3_evm_version;
> +}
> +
> +static void omap3_evm_get_revision(void)
> +{
> +	unsigned int smsc_id;
> +
> +	/* Ethernet PHY ID is stored at ID_REV register */
> +	smsc_id = readl(CONFIG_SMC911X_BASE + 0x50) & 0xFFFF0000;
> +	printf("Read back SMSC id 0x%x\n", smsc_id);
> +
> +	switch (smsc_id) {
> +	/* SMSC9115 chipset */
> +	case 0x01150000:
> +		omap3_evm_version = OMAP3EVM_BOARD_GEN_1;
> +		break;
> +	/* SMSC 9220 chipset */
> +	case 0x92200000:
> +	default:
> +		omap3_evm_version = OMAP3EVM_BOARD_GEN_2;
> +       }
> +}
> +
>  /*
>   * Routine: board_init
>   * Description: Early hardware init.
> @@ -45,6 +72,8 @@ int board_init(void)
>  {
>  	DECLARE_GLOBAL_DATA_PTR;
> 
> +	omap3_evm_get_revision();
> +
>  	gpmc_init(); /* in SRAM or SDRAM, finish GPMC */
>  	/* board id for Linux */
>  	gd->bd->bi_arch_number = MACH_TYPE_OMAP3EVM;
> diff --git a/board/ti/evm/evm.h b/board/ti/evm/evm.h
> index 37da29d..e2581f6 100644
> --- a/board/ti/evm/evm.h
> +++ b/board/ti/evm/evm.h
> @@ -33,6 +33,20 @@ const omap3_sysinfo sysinfo = {
>  #endif
>  };
> 
> +/*
> + * OMAP35x EVM revision
> + * Run time detection of EVM revision is done by reading Ethernet
> + * PHY ID -
> + *      GEN_1   = 0x01150000
> + *      GEN_2   = 0x92200000
> + */
> +enum {
> +	OMAP3EVM_BOARD_GEN_1 = 0,	/* EVM Rev between  A - D */
> +	OMAP3EVM_BOARD_GEN_2,		/* EVM Rev >= Rev E */
> +};
> +
> +u8 get_omap3_evm_rev(void);
> +
>  static void setup_net_chip(void);
> 
>  /*
> --
> 1.6.2.4

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-omap3evm-Add-board-revision-function.patch
Type: application/octet-stream
Size: 2366 bytes
Desc: 0001-omap3evm-Add-board-revision-function.patch
Url : http://lists.denx.de/pipermail/u-boot/attachments/20091113/cbe34ba3/attachment.obj 


More information about the U-Boot mailing list