1. 16 2月, 2010 3 次提交
  2. 30 1月, 2010 1 次提交
  3. 09 1月, 2010 2 次提交
    • T
      omap: Remove uninitialized warning for gpio.c · 4cc6420c
      Tony Lindgren 提交于
      Flags is not used on 15xx.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      4cc6420c
    • C
      omap: gpio: Simultaneously requested rising and falling edge · 4318f36b
      Cory Maccarrone 提交于
      Some chips, namely any OMAP1 chips using METHOD_MPUIO,
      OMAP15xx and OMAP7xx, cannot be setup to respond to on-chip GPIO
      interrupts in both rising and falling edge directions -- they can
      only respond to one direction or the other, depending on how the
      ICR is configured.
      
      Additionally, current code forces rising edge detection if both
      flags are specified:
      
              if (trigger & IRQ_TYPE_EDGE_RISING)
                      l |= 1 << gpio;
              else if (trigger & IRQ_TYPE_EDGE_FALLING)
                      l &= ~(1 << gpio);
              else
                      goto bad;
      
      This change implements a toggle function that will modify the ICR
      to flip the direction of interrupt for IRQs that are requested with
      both rising and falling flags.  The toggle function is not called
      for chips and GPIOs it does not apply to through the use of a flip_mask
      that's added on a per-bank basis.  The mask is only set for those
      GPIOs where a toggle is necessary.  Edge detection starts out the
      same as above with FALLING mode first.
      
      The toggle happens on EACH interrupt; without it, we have the
      following sequence of actions on GPIO transition:
      
        ICR    GPIO               Result
        0x1    0 -> 1 (rising)    Interrupt
        0x1    1 -> 0 (falling)   No interrupt
      
        (set ICR to 0x0 manually)
        0x0    0 -> 1 (rising)    No interrupt
        0x0    1 -> 0 (falling)   Interrupt
      
      That is, with the ICR set to 1 for a gpio, only rising edge interrupts
      are caught, and with it set to 0, only falling edge interrupts are
      caught.  If we add in the toggle, we get this:
      
        ICR    GPIO               Result
        0x1    0 -> 1 (rising)    Interrupt (ICR set to 0x0)
        0x0    1 -> 0 (falling)   Interrupt (ICR set to 0x1)
        0x1    0 -> 1 ...
      
      so, both rising and falling are caught, per the request for both
      (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING).
      Signed-off-by: NCory Maccarrone <darkstar6262@gmail.com>
      Acked-by: NKevin Hilman <khilman@deeprootsystems.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      4318f36b
  4. 16 12月, 2009 1 次提交
  5. 23 11月, 2009 1 次提交
    • C
      omap: GPIO module enable/disable · 058af1ea
      Charulatha V 提交于
      This patch disables a GPIO module when all pins of a GPIO
      module are inactive (clock gating forced at module level) and
      enables the module when any gpio in the module is requested.
      
      The module is enabled only when "mod_usage" indicates that no GPIO
      in that  module is currently active and the GPIO being requested
      is the 1st one to be active in that module.
      
      Each module would be disabled in omap_gpio_free() API when all
      GPIOs in a particular module becomes inactive. The module is
      re-enabled in omap_gpio_request() API when a GPIO is requested
      from the module that was previously disabled.
      
      Since individual GPIO's bookkeeping is added in this patch
      via "mod_usage", the same is used in omap_set_gpio_debounce()
      & omap_set_gpio_debounce_time() APIs to ensure that the gpio being
      used is actually "requested" prior to being used (Nishant Menon's
      <nm@ti.comSuggestion)
      
      GPIO module level details are specific to hardware and hence
      introducing this patch in low level layer (plat-omap/gpio.c)
      Signed-off-by: NCharulatha V <charu@ti.com>
      Acked-by: NNishanth Menon <nm@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      058af1ea
  6. 19 11月, 2009 1 次提交
  7. 12 11月, 2009 1 次提交
  8. 20 10月, 2009 1 次提交
  9. 08 10月, 2009 3 次提交
  10. 25 9月, 2009 1 次提交
  11. 29 8月, 2009 3 次提交
  12. 06 8月, 2009 1 次提交
  13. 05 8月, 2009 1 次提交
  14. 28 7月, 2009 1 次提交
  15. 22 7月, 2009 1 次提交
  16. 23 6月, 2009 1 次提交
  17. 29 5月, 2009 1 次提交
  18. 16 5月, 2009 1 次提交
  19. 24 4月, 2009 2 次提交
  20. 24 3月, 2009 1 次提交
  21. 15 1月, 2009 1 次提交
    • T
      ARM: OMAP: Fix gpio.c compile on 15xx with CONFIG_DEBUGFS · 3a26e331
      Tony Lindgren 提交于
      There are no wakeup registers on 15xx, and suspend_wakeup
      does not exist in the struct gpio_bank.
      
      Without this fix we'll get "arch/arm/plat-omap/gpio.c:1792:
      error: 'struct gpio_bank' has no member named 'suspend_wakeup'"
      as noted by Russell King.
      
      Note that the ifdefs will be cleaned up once the omap gpio
      code gets split into omap1 and omap2 specific parts.
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      
      
      3a26e331
  22. 11 12月, 2008 7 次提交
  23. 27 11月, 2008 1 次提交
  24. 09 10月, 2008 1 次提交
  25. 06 9月, 2008 2 次提交