[U-Boot] [PATCH 4/4] arm: rmobile: kzm9g: separate cpu_rev to integer and fraction

Nobuhiro Iwamatsu iwamatsu at nigauri.org
Fri Jul 27 04:25:53 CEST 2012


Applied my rmobile branch.

Thanks.
  Nobuhiro


On Thu, Jul 26, 2012 at 1:24 PM, Tetsuyuki Kobayshi <koba at kmckk.co.jp> wrote:
> From: Tetsuyuki Kobayashi <koba at kmckk.co.jp>
>
> According to SoC document, revision info is separated to integer part and fracton part. So I separete rmobile_get_cpu_rev() to rmobile_get_cpu_rev_integer() and rmobile_get_cpu_rev_fraction().
>
> Signed-off-by: Tetsuyuki Kobayashi <koba at kmckk.co.jp>
> ---
>  arch/arm/cpu/armv7/rmobile/cpu_info-sh73a0.c |   16 ++++++++++++++--
>  arch/arm/cpu/armv7/rmobile/cpu_info.c        |   23 ++++++++++++++++-------
>  2 files changed, 30 insertions(+), 9 deletions(-)
>
> diff --git a/arch/arm/cpu/armv7/rmobile/cpu_info-sh73a0.c b/arch/arm/cpu/armv7/rmobile/cpu_info-sh73a0.c
> index a715efa..8239155 100644
> --- a/arch/arm/cpu/armv7/rmobile/cpu_info-sh73a0.c
> +++ b/arch/arm/cpu/armv7/rmobile/cpu_info-sh73a0.c
> @@ -36,14 +36,26 @@ u32 rmobile_get_cpu_type(void)
>         return type;
>  }
>
> -u32 rmobile_get_cpu_rev(void)
> +u32 rmobile_get_cpu_rev_integer(void)
>  {
>         u32 id;
>         u32 rev;
>         struct sh73a0_hpb *hpb = (struct sh73a0_hpb *)HPB_BASE;
>
>         id = readl(&hpb->cccr);
> -       rev = (id >> 4) & 0xF;
> +       rev = ((id >> 4) & 0xF) + 1;
> +
> +       return rev;
> +}
> +
> +u32 rmobile_get_cpu_rev_fraction(void)
> +{
> +       u32 id;
> +       u32 rev;
> +       struct sh73a0_hpb *hpb = (struct sh73a0_hpb *)HPB_BASE;
> +
> +       id = readl(&hpb->cccr);
> +       rev = id & 0xF;
>
>         return rev;
>  }
> diff --git a/arch/arm/cpu/armv7/rmobile/cpu_info.c b/arch/arm/cpu/armv7/rmobile/cpu_info.c
> index 957a4fc..87287ce 100644
> --- a/arch/arm/cpu/armv7/rmobile/cpu_info.c
> +++ b/arch/arm/cpu/armv7/rmobile/cpu_info.c
> @@ -46,23 +46,32 @@ static u32 __rmobile_get_cpu_type(void)
>  u32 rmobile_get_cpu_type(void)
>                 __attribute__((weak, alias("__rmobile_get_cpu_type")));
>
> -static u32 __rmobile_get_cpu_rev(void)
> +static u32 __rmobile_get_cpu_rev_integer(void)
>  {
>         return 0;
>  }
> -u32 rmobile_get_cpu_rev(void)
> -               __attribute__((weak, alias("__rmobile_get_cpu_rev")));
> +u32 rmobile_get_cpu_rev_integer(void)
> +               __attribute__((weak, alias("__rmobile_get_cpu_rev_integer")));
> +
> +static u32 __rmobile_get_cpu_rev_fraction(void)
> +{
> +       return 0;
> +}
> +u32 rmobile_get_cpu_rev_fraction(void)
> +               __attribute__((weak, alias("__rmobile_get_cpu_rev_fraction")));
>
>  int print_cpuinfo(void)
>  {
>         switch (rmobile_get_cpu_type()) {
>         case 0x37:
> -               printf("CPU: Renesas Electronics SH73A0 rev %d\n",
> -                               rmobile_get_cpu_rev());
> +               printf("CPU: Renesas Electronics SH73A0 rev %d.%d\n",
> +                      rmobile_get_cpu_rev_integer(),
> +                      rmobile_get_cpu_rev_fraction());
>                 break;
>         default:
> -               printf("CPU: Renesas Electronics CPU rev %d\n",
> -                               rmobile_get_cpu_rev());
> +               printf("CPU: Renesas Electronics CPU rev %d.%d\n",
> +                      rmobile_get_cpu_rev_integer(),
> +                      rmobile_get_cpu_rev_fraction());
>                 break;
>         }
>         return 0;
> --
> 1.7.9.5
>



-- 
Nobuhiro Iwamatsu
   iwamatsu at {nigauri.org / debian.org}
   GPG ID: 40AD1FA6


More information about the U-Boot mailing list