• Andrew Victor's avatar
    [ARM] 4989/1: [AT91] SAM9 ClockSource / ClockEvents · ad48ce74
    Andrew Victor authored
    Update AT91SAM9/CAP9 PIT driver to use generic time and clockevent
    infrastructure:
    
     - Clocksource gives sub-microsecond timestamp precision, assuming
     memory is clocked at over 16 MHz.  It's less than a 32 bit counter,
     unless it's is also generating IRQs.
    
     - Clockevent device supports periodic mode only; no oneshot
     support from this hardware.  No IRQs generated unless it's the
     active clocksource.
    
    Later, another timer (probably from a TC module) can provide a oneshot
    clockevent device to get NO_HZ and High-Res-Timer behavior.
    
    This also updates the timekeeping to use the actual master clock rate
    on the system, instead of compile-time <asm/arch/timex.h> constants
    matching what Atmel's EK boards use.  (Product boards may well differ!)
    
    Plus cleanup:  rename "*_timer*" symbols to "*_pit*" (there are other
    timers, but only one PIT); shorter lines; remove needless CPP stuff;
    make several symbols static; etc.
    Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: default avatarAndrew Victor <linux@maxim.org.za>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    ad48ce74
at91sam926x_time.c 4.68 KB