[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