> -----Oorspronkelijk bericht-----
> Van: Sergei Shtylyov [mailto:sshtylyov@ru.mvista.com]
> Verzonden: vrijdag 28 maart 2008 16:15
> Aan: Atsushi Nemoto
> CC: ralf@linux-mips.org; linux-mips@linux-mips.org; Nico Coesel
> Onderwerp: Re: Alchemy power managment code.
>
> Hello.
>
> Atsushi Nemoto wrote:
>
> >>>Correct - and cevt-r4k won't be usable either. I guess that means
> >>>you leave the user the choice between either these two or
> using wait.
> >>>Not nice but ...
>
> >> The Alchemy code doesn't even try to use CP0 counter when
> >>CONFIG_PM=y if you look into
> arch/mips/au1000/common/time.c... or at
> >>least it didn't before Atsushi removed do_fast_pm_gettimeoffset().
>
> > Oh, yes. At that time I tried to implement clocksource drivers for
> > non-standard timers, but it seems I had missied Alchemy PM=y case.
>
> > The driver would be something like this? Completely untested ;-)
>
> > static cycle_t au1000_hpt_read(void)
> > {
> > return au_readl(SYS_TOYREAD);
> > }
>
> > struct clocksource au1000_clocksource = {
> > .name = "au1000-counter",
> > .rating = 200,
>
> Rating should be greater than that of CP0 counter...
>
> > .read = au1000_hpt_read,
> > .mask = CLOCKSOURCE_MASK(32),
> > .flags = CLOCK_SOURCE_IS_CONTINUOUS,
> > };
>
> > void __init au1000_clocksource_init(unsinged long cpu_speed) {
> > struct clocksource *cs = &au1000_clocksource;
> >
> > clocksource_set_clock(cs, cpu_speed);
>
> Not really, it's clocked by 32768 Hz input, so probably
> not very good as a clocksource.
Why not? If a 32768Hz watch crystal is connected then you'll have a
stable clocksource. IIRC watch crystals are more precise than the
crystals used to generate the core frequency.
Nico Coesel
|