1. 29 5月, 2009 1 次提交
  2. 24 4月, 2009 1 次提交
    • P
      OMAP2/3 GPTIMER: allow system tick GPTIMER to be changed in board-*.c files · f248076c
      Paul Walmsley 提交于
      Add a function omap2_gp_clockevent_set_gptimer() for board-*.c files
      to use in .init_irq functions to configure the system tick GPTIMER.
      Practical choices at this point are GPTIMER1 or GPTIMER12.  Both of
      these timers are in the WKUP powerdomain, and so are unaffected by
      chip power management.  GPTIMER1 can use sys_clk as a source, for
      applications where a high-resolution timer is more important than
      power management.  GPTIMER12 has the special property that it has the
      secure 32kHz oscillator as its source clock, which may be less prone
      to glitches than the off-chip 32kHz oscillator.  But on HS devices, it
      may not be available for Linux use.
      
      It appears that most boards are fine with GPTIMER1, but BeagleBoard
      should use GPTIMER12 when using a 32KiHz timer source, due to hardware bugs
      in revisions B4 and below.  Modify board-omap3beagle.c to use GPTIMER12.
      
      This patch originally used a Kbuild config option to select the GPTIMER,
      but was changed to allow this to be specified in board-*.c files, per
      Tony's request.
      
      Kalle Vallo <kalle.valo@nokia.com> found a bug in an earlier version of
      this patch - thanks Kalle.
      
      Tested on Beagle rev B4 ES2.1, with and without CONFIG_OMAP_32K_TIMER, and
      3430SDP.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Cc: Kalle Valo <kalle.valo@nokia.com>
      f248076c
  3. 22 4月, 2009 1 次提交
  4. 30 1月, 2009 1 次提交
    • A
      ARM: OMAP: gptimer min_delta_ns corrected · df88acbb
      Aaro Koskinen 提交于
      When 32 kHz timer is used the min_delta_ns should be initialized so
      that it reflects the timer programming cost. A write to the timer
      device will be usually posted, but it takes roughly 3 cycles before
      it is effective. If the timer is reprogrammed before that, the CPU
      will stall until the previous write completes. This was pointed out by
      Richard Woodruff.
      
      Since the lower bound for min_delta_ns is 1000, the change is visible
      only with tick rates less than 3 MHz.
      
      Also note that the old value is incorrect for 32 kHz also due to
      a rounding error, and it can cause the timer queue to hang (due to
      clockevent code trying to program the timer with zero ticks).
      Signed-off-by: NAaro Koskinen <Aaro.Koskinen@nokia.com>
      Reviewed-by: NRichard Woodruff <r-woodruff2@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      
      df88acbb
  5. 13 12月, 2008 1 次提交
  6. 07 8月, 2008 1 次提交
  7. 03 7月, 2008 1 次提交
    • R
      ARM: OMAP: DMTimer: Optimize by adding load and start · 3fddd09e
      Richard Woodruff 提交于
      This patch optimizes the timer load and start sequence.  By combining the
      load and start a needless posted wait can be removed from the system timer
      execution path.
      
      * Before patch register writes are taking up .078% @ 500MHz during idle.
      
       Address                 |total  |min  |max      |avr     |count|ratio%
       old\process\default_idle|7.369s |0.0us|999.902ms|14.477ms|509. |62.661%
       ld\Global\cpu_v7_do_idle|4.265s |0.0us|375.786ms|24.374ms|175. |36.270%
                      (UNKNOWN)|17.503ms|0.us|531.080us|5.119us|3419. |0.148%
       r\omap_dm_timer_set_load|8.135ms|0.0us|79.887us|15.065us|540.  |0.069% <--
       \vmlinux-old\Global\_end|2.023ms|0.0us|4.000us|0.560us|3613.   |0.017%
       -old\Global\__raw_readsw|1.962ms|0.0us|108.610us|9.167us|214.  |0.016%
       old\smc91x\smc_interrupt|1.353ms|0.0us|10.212us|2.348us|576.   |0.011%
       s/namei\__link_path_walk|1.161ms|0.0us|4.310us|0.762us|  1524. |0.009%
       \omap_dm_timer_write_reg|1.085ms|0.0us|126.150us|2.153us|504.  |0.009% <--
      
      * After patch timer functions do not show up in top listings for long captures.
      Signed-off-by: NRichard Woodruff <r-woodruff2@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      3fddd09e
  8. 15 4月, 2008 1 次提交
    • K
      ARM: OMAP: Timer32K: Re-organize duplicated 32k-timer code · 5a3a388f
      Kevin Hilman 提交于
      On OMAP2/3, the gp-timer code can be used for a 32kHz timer simply by
      setting the source to be the 32k clock instead of sys_clk.
      
      This patch uses the mach-omap2/timer-gp.c code for 32kHz timer on
      OMAP2, moving the logic into mach-omap2/timer-gp.c, and not using
      plat-omap/timer32k.c which, for OMAP2, is redundant with the timer-gp
      code.
      
      Also, if CONFIG_OMAP_32K_TIMER is enabled, the gptimer-based
      clocksource is not used.  Instead the default 32k sync counter is used
      as the clocksource (see the clocksource in plat-omap/common.c.)  This
      is important for sleep/suspend so there is a valid counter during
      sleep.  Note that the suspend/sleep code needs fixing to check for
      overflows of this counter.
      
      In addition, the OMAP2/3 details are removed from timer32k.c leaving
      that with only OMAP1 specifics.  A follow-up patch will move it from
      plat-omap common code to mach-omap1.
      Signed-off-by: NKevin Hilman <khilman@mvista.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      
      5a3a388f
  9. 28 1月, 2008 1 次提交
  10. 20 10月, 2007 1 次提交
  11. 09 5月, 2007 1 次提交
  12. 02 3月, 2007 2 次提交
  13. 07 10月, 2006 1 次提交
  14. 03 7月, 2006 1 次提交
  15. 27 6月, 2006 2 次提交
  16. 18 1月, 2006 1 次提交
  17. 08 1月, 2006 1 次提交
  18. 10 11月, 2005 1 次提交
    • T
      [ARM] 3145/1: OMAP 3a/5: Add support for omap24xx · 1dbae815
      Tony Lindgren 提交于
      Patch from Tony Lindgren
      
      This patch adds support for omap24xx series of processors.
      The files live in arch/arm/mach-omap2, and share common
      files with omap15xx and omap16xx processors in
      arch/arm/plat-omap.
      
      Omap24xx support was originally added for 2.6.9 by TI.
      This code was then improved and integrated to share common
      code with omap15xx and omap16xx processors by various
      omap developers, such as Paul Mundt, Juha Yrjola, Imre Deak,
      Tony Lindgren, Richard Woodruff, Nishant Menon, Komal Shah
      et al.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      1dbae815