[U-Boot] [PATCH 25/37] arm: rmobile: Add support TMU base timer function

Kim Phillips kim.phillips at freescale.com
Tue Aug 21 02:18:59 CEST 2012


On Mon, 20 Aug 2012 00:21:10 +0900
Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj at renesas.com> wrote:

> On Tue, Aug 14, 2012 at 8:26 AM, Kim Phillips
> <kim.phillips at freescale.com> wrote:
> > On Fri, 10 Aug 2012 16:16:12 +0900
> > Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj at renesas.com> wrote:
> >
> >> Some rmobile SoC has TMU base timer function. This supports TMU.
> >>
> >> Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj at renesas.com>
> >> ---
> >>  V2: Set COBJS one object per line, and sort the list.
> >>
> >>  arch/arm/cpu/armv7/rmobile/Makefile           |    4 +-
> >>  arch/arm/cpu/armv7/rmobile/timer_tmu.c        |  161 +++++++++++++++++++++++++
> >
> > this is a copy of arch/sh/lib/time.c but with proper struct tmu_regs
> > instead of #defines; is it not possible to refactor & merge the two?
> 
> I am going to merge next work.

not sure what this means, but usually u-boot development favours
initially refactoring common code rather than duplicating it, and
then refactoring it (although I wouldn't know where common timer code
across arches could live).

> >> +int timer_init(void)
> >> +{
> >> +     /* Divide clock by CONFIG_SYS_TMU_CLK_DIV */
> >> +     u16 bit = 0;
> >> +
> >> +     switch (CONFIG_SYS_TMU_CLK_DIV) {
> >> +     case 1024:
> >> +             bit = 4;
> >> +             break;
> >> +     case 256:
> >> +             bit = 3;
> >> +             break;
> >> +     case 64:
> >> +             bit = 2;
> >> +             break;
> >> +     case 16:
> >> +             bit = 1;
> >> +             break;
> >> +     case 4:
> >> +     default:
> >> +             break;
> >> +     }
> >
> > Can this be broken down into a shift operation?
> 
> Sorry, I can not understand this.
> This means not using swtich but using shift operation?

Sorry, I meant this: (ffs(CONFIG_SYS_TMU_CLK_DIV) >> 1) - 1

Kim



More information about the U-Boot mailing list