1. 04 3月, 2008 1 次提交
    • D
      atmel_tc library · 2a341f5c
      David Brownell 提交于
      Create <linux/atmel_tc.h> based on <asm-arm/arch-at91/at91-tc.h> and the
      at91sam9263 and at32ap7000 datasheets.  Most AT91 and AT32 SOCs have one
      or two of these TC blocks, which include three 16-bit timers that can be
      interconnected in various ways.
      
      These TC blocks can be used for external interfacing (such as PWM and
      measurement), or used as somewhat quirky sixteen-bit timers.
      
      Changes relative to the original version:
        * Drop unneeded inclusion of <linux/mutex.h>
        * Support an arbitrary number of TC blocks
        * Return a struct with information about a TC block from
          atmel_tc_alloc() instead of using a combination of return values
          and "out" parameters.
        * ioremap() the I/O registers on allocation
        * Look up clocks and irqs for all channels
        * Add "name" parameter to atmel_tc_alloc() and use this when
          requesting the iomem resource.
        * Check if the platform provided the necessary resources at probe()
          time instead of when the TCB is allocated.
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      2a341f5c