On 12:56 Thu 03 May     , R Sricharan wrote:
> Adding the OMAP5 ES1.0, 2.0 and OMAP5432 cpu revision
> detection support.
> 
> Signed-off-by: R Sricharan <r.sricha...@ti.com>
> Signed-off-by: Santosh Shilimkar <santosh.shilim...@ti.com>
> ---
>  arch/arm/mach-omap2/control.h         |    4 +++
>  arch/arm/mach-omap2/id.c              |   47 
> +++++++++++++++++++++++++++++++++
>  arch/arm/plat-omap/include/plat/cpu.h |   23 ++++++++++++++-
>  3 files changed, 72 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/control.h b/arch/arm/mach-omap2/control.h
> index a406fd0..9daac6f 100644
> --- a/arch/arm/mach-omap2/control.h
> +++ b/arch/arm/mach-omap2/control.h
> @@ -246,6 +246,10 @@
>  /* TI81XX CONTROL_DEVCONF register offsets */
>  #define TI81XX_CONTROL_DEVICE_ID     (TI81XX_CONTROL_DEVCONF + 0x000)
>  
> +/* OMAP54XX CONTROL STATUS register */
> +#define OMAP5XXX_CONTROL_STATUS                0x134
> +#define OMAP5_DEVICETYPE_MASK          (0x7 << 6)
> +
>  /*
>   * REVISIT: This list of registers is not comprehensive - there are more
>   * that should be added.
> diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
> index 0e79b7b..d2ec323 100644
> --- a/arch/arm/mach-omap2/id.c
> +++ b/arch/arm/mach-omap2/id.c
> @@ -50,6 +50,11 @@ int omap_type(void)
>               val = omap_ctrl_readl(OMAP343X_CONTROL_STATUS);
>       } else if (cpu_is_omap44xx()) {
>               val = omap_ctrl_readl(OMAP4_CTRL_MODULE_CORE_STATUS);
> +     } else if (cpu_is_omap54xx()) {
> +             val = omap_ctrl_readl(OMAP5XXX_CONTROL_STATUS);
> +             val &= OMAP5_DEVICETYPE_MASK;
> +             val >>= 6;
> +             goto out;
>       } else {
>               pr_err("Cannot detect omap type!\n");
>               goto out;
> @@ -500,6 +505,48 @@ void __init omap4xxx_check_revision(void)
>               ((omap_rev() >> 12) & 0xf), ((omap_rev() >> 8) & 0xf));
>  }
>  
> +void __init omap5xxx_check_revision(void)
> +{
> +     u32 idcode;
> +     u16 hawkeye;
> +     u8 rev;
> +
> +     idcode = read_tap_reg(OMAP_TAP_IDCODE);
> +     hawkeye = (idcode >> 12) & 0xffff;
> +     rev = (idcode >> 28) & 0xff;
> +     switch (hawkeye) {
> +     case 0xb942:
> +             switch (rev) {
> +             case 0:
> +                     omap_revision = OMAP5430_REV_ES1_0;
why do you duplicate this
> +                     break;
> +             case 1:
> +                     omap_revision = OMAP5430_REV_ES2_0;
> +                     break;
do this

                case 0:
> +             default:
> +                     omap_revision = OMAP5430_REV_ES1_0;
> +             }
> +             break;
> +
> +     case 0xb998:
> +             switch (rev) {
> +             case 0:
> +                     omap_revision = OMAP5432_REV_ES1_0;
> +                     break;
> +             default:
ditto here
> +                     omap_revision = OMAP5432_REV_ES1_0;
> +             }
Best Regards,
J.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to