Message ID | 1343276661-22803-5-git-send-email-koba@kmckk.co.jp |
---|---|
State | Accepted |
Delegated to: | Albert ARIBAUD |
Headers | show |
Applied my rmobile branch. Thanks. Nobuhiro On Thu, Jul 26, 2012 at 1:24 PM, Tetsuyuki Kobayshi <koba@kmckk.co.jp> wrote: > From: Tetsuyuki Kobayashi <koba@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@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 >
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;