[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