1. 30 8月, 2013 1 次提交
    • S
      gpio: add GPIO support for F71882FG and F71889F · 6c17aa01
      Simon Guinot 提交于
      This patch adds support for the GPIOs found on the Fintek super-I/O
      chips F71882FG and F71889F.
      
      A super-I/O is a legacy I/O controller embedded on x86 motherboards. It
      is used to connect the low-bandwidth devices. Among others functions the
      F71882FG/F71889F provides: a parallel port, two serial ports, a keyboard
      controller, an hardware monitoring controller and some GPIO pins.
      
      Note that this super-I/Os are embedded on some Atom-based LaCie NASes.
      The GPIOs are used to control the LEDs and the hard drive power.
      
      Changes since v3:
      - Use request_muxed_region to protect the I/O ports against concurrent
        accesses.
      
      Changes since v2:
      - Remove useless NULL setters for driver data.
      
      Changes since v1:
      - Enhance the commit message by describing what is a Super-I/O.
      - Use self-explanatory names for the GPIO register macros.
      - Add a comment to explain the platform device and driver registration.
      - Fix gpio_get when GPIO is configured in input mode. I only had
        the hardware to check this mode recently...
      Signed-off-by: NSimon Guinot <simon.guinot@sequanux.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      6c17aa01
  2. 26 8月, 2013 1 次提交
  3. 21 7月, 2013 3 次提交
    • G
      gpio: Kontron PLD gpio driver · d22fcde0
      Guenter Roeck 提交于
      Add gpio support for the on-board PLD found on some Kontron embedded modules.
      
      Originally-from: Michael Brunner <michael.brunner@kontron.com>
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NKevin Strasser <kevin.strasser@linux.intel.com>
      Acked-by: NDarren Hart <dvhart@linux.intel.com>
      Reviewed-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      d22fcde0
    • J
      gpio-tz1090-pdc: add TZ1090 PDC gpio driver · 79bb6460
      James Hogan 提交于
      Add a GPIO driver for the low-power Powerdown Controller GPIOs in the
      TZ1090 SoC.
      
      The driver is instantiated by device tree and supports interrupts for
      the SysWake GPIOs only.
      
      Changes in v4:
       - fix typos in DT bindings compatible properties
       - reference Documentation/devicetree/bindings/gpio/gpio.txt in
         gpio-ranges description in DT bindings
       - fix gpio-ranges examples in DT bindings (it must now have 3 cells)
      
      Changes in v3:
       - separated from irq-imgpdc and removed arch/metag changes to allow
         these patches to go upstream separately via the pinctrl[/gpio] trees
         (particularly the pinctrl drivers depend on the new pinconf DT
         bindings).
       - some s/unsigned/unsigned int/.
       - gpio-tz1090*: refer to <dt-bindings/gpio/gpio.h> and
         <dt-bindings/interrupt-controller/irq.h> flags in bindings.
       - gpio-tz1090*: move initcall from postcore to subsys.
      
      Changes in v2:
       - gpio-tz1090-pdc: remove references to Linux flags in dt bindings
       - gpio-tz1090-pdc: make use of BIT() from linux/bitops.h
       - gpio-tz1090-pdc: make register accessors inline to match pinctrl
       - gpio-tz1090-pdc: update gpio-ranges to use 3 cells after recent ABI
         breakage
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Cc: Rob Landley <rob@landley.net>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: linux-doc@vger.kernel.org
      Cc: devicetree-discuss@lists.ozlabs.org
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      79bb6460
    • J
      gpio-tz1090: add TZ1090 gpio driver · 9caf1f22
      James Hogan 提交于
      Add a GPIO driver for the main GPIOs found in the TZ1090 (Comet) SoC.
      This doesn't include low-power GPIOs as they're controlled separately
      via the Powerdown Controller (PDC) registers.
      
      The driver is instantiated by device tree and supports interrupts for
      all GPIOs.
      
      Changes in v4:
       - fix typos in DT bindings compatible properties
       - reference Documentation/devicetree/bindings/gpio/gpio.txt in
         gpio-ranges description in DT bindings
       - fix gpio-ranges examples in DT bindings (it must now have 3 cells)
       - gpio-tz1090: use of_property_read_u32 instead of of_get_property
      
      Changes in v3:
       - separated from irq-imgpdc and removed arch/metag changes to allow
         these patches to go upstream separately via the pinctrl[/gpio] trees
         (particularly the pinctrl drivers depend on the new pinconf DT
         bindings).
       - some s/unsigned/unsigned int/.
       - some s/unsigned int/bool/ and use of BIT().
       - gpio-tz1090*: refer to <dt-bindings/gpio/gpio.h> and
         <dt-bindings/interrupt-controller/irq.h> flags in bindings.
       - gpio-tz1090*: move initcall from postcore to subsys.
       - gpio-tz1090: add REG_ prefix to some constants for consistency.
       - gpio-tz1090: add comment to explain tz1090_gpio_irq_next_edge
         cunningness.
      
      Changes in v2:
       - gpio-tz1090: remove references to Linux flags in dt bindings
       - gpio-tz1090: make use of BIT() from linux/bitops.h
       - gpio-tz1090: make register accessors inline to match pinctrl
       - gpio-tz1090: update gpio-ranges to use 3 cells after recent ABI
         breakage
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Cc: Rob Landley <rob@landley.net>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: linux-doc@vger.kernel.org
      Cc: devicetree-discuss@lists.ozlabs.org
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      9caf1f22
  4. 19 6月, 2013 1 次提交
  5. 27 4月, 2013 1 次提交
    • O
      Revert "ARM: exynos: enable multiplatform support" · 4923ee44
      Olof Johansson 提交于
      This reverts commit bd51de53.
      
      Turns out that multiplatform breaks some uses cases, such as when you
      have an existing defconfig, since it adds the new EXYNOS_SINGLE config
      option as a dependecy. As a result, nearly all exynos config options
      will be disabled by default.
      
      Reverting instead of rebasing since this branch is pulled in as a
      dependency elsewhere.
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      4923ee44
  6. 26 4月, 2013 1 次提交
  7. 19 4月, 2013 1 次提交
    • A
      ARM: exynos: enable multiplatform support · bd51de53
      Arnd Bergmann 提交于
      This makes it possible to enable the exynos platform as part of a
      multiplatform kernel, in addition to keeping the single-platform
      exynos support.
      
      The multiplatform variant has a number of limitations at the moment:
      
      * It only supports DT-enabled machines. This is not a problem in
        the long run, as non-DT machines for exynos are going away.
        The main problem here is that the gpio code and the exynos_eint
        irqchip are not multiplatform capable but still required for
        ATAGS based boot.
      * The watchdog driver is still missing a conversion.
      * sparsemem and memory_holes are currently not supported in
        multiplatform.
      
      The the multiplatform aware ARCH_EXYNOS Kconfig symbol is disabled
      for now, as dependent patches are still pending in other
      subsystem trees. We will enable it once everything comes together.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      bd51de53
  8. 04 4月, 2013 1 次提交
  9. 03 4月, 2013 1 次提交
    • M
      gpio: Renesas R-Car GPIO driver V3 · 119f5e44
      Magnus Damm 提交于
      This patch is V3 of a GPIO driver for the R-Car series of
      SoCs from Renesas. This driver is designed to be reusable
      between multiple SoCs that share the same basic building block,
      but so far it has only been used on R-Car H1 (r8a7779).
      
      Each driver instance handles 32 GPIOs with individually
      maskable IRQs. The driver operates on a single I/O memory
      range and the 32 GPIOs are hooked up a single interrupt.
      
      In the case of R-Car H1 either external IRQ pins or GPIOs
      with interrupts can be used for on-board interupts. For
      external IRQs 4 pins are supported, and in the case of GPIO
      there are 202 GPIOS as 202 interrupts hooked up via 6 driver
      instances and to the GIC and the Cortex-A9 Quad.
      
      At this point this driver is interfacing as a regular
      platform device driver. In the future DT support will be
      submitted as an incremental feature patch.
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      Reviewed-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NSimon Horman <horms+renesas@verge.net.au>
      119f5e44
  10. 14 2月, 2013 1 次提交
  11. 05 2月, 2013 1 次提交
  12. 31 1月, 2013 1 次提交
  13. 22 1月, 2013 1 次提交
    • S
      gpio: devm_gpio_* support should not depend on GPIOLIB · 6a89a314
      Shawn Guo 提交于
      Some architectures (e.g. blackfin) provide gpio API without requiring
      GPIOLIB support (ARCH_WANT_OPTIONAL_GPIOLIB).  devm_gpio_* functions
      should also work for these architectures, since they do not really
      depend on GPIOLIB.
      
      Add a new option GPIO_DEVRES (enabled by default) to control the build
      of devres.c.  It also removes the empty version of devm_gpio_*
      functions for !GENERIC_GPIO build from linux/gpio.h, and moves the
      function declarations from asm-generic/gpio.h into linux/gpio.h.
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      6a89a314
  14. 10 12月, 2012 1 次提交
  15. 30 11月, 2012 1 次提交
  16. 20 11月, 2012 1 次提交
  17. 18 11月, 2012 1 次提交
  18. 16 10月, 2012 2 次提交
  19. 22 9月, 2012 1 次提交
    • T
      gpio: introduce gpio-mvebu driver for Marvell SoCs · fefe7b09
      Thomas Petazzoni 提交于
      This driver aims at replacing the arch/arm/plat-orion/gpio.c driver,
      and is designed to be compatible with all Marvell EBU SoCs: Orion,
      Kirkwood, Dove, Armada 370/XP and Discovery.
      
      It has been successfully tested on Dove and Armada XP at the moment.
      
      Compared to the plat-orion driver, this new driver has the following
      added benefits:
      
       *) Support for Armada 370 and Armada XP
       *) It is integrated with the mvebu pinctrl driver so that GPIO pins
          are properly muxed, and the GPIO driver knows which GPIO pins are
          output-only or input-only.
       *) Properly placed in drivers/gpio
       *) More extensible mechanism to support platform differences. The
          plat-orion driver uses a simple mask-offset DT property, which
          works fine for Discovery MV78200 but not for Armada XP. The new
          driver uses different compatible strings to identify the different
          variants of the GPIO controllers.
      Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Linus Walleij <linus.walleij@stericsson.com>
      Cc: Andrew Lunn <andrew@lunn.ch>
      Cc: Jason Cooper <jason@lakedaemon.net>
      Cc: Gregory Clement <gregory.clement@free-electrons.com>
      Tested-by: NSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
      Reviewed-by: NLinus Walleij <linus.walleij@linaro.org>
      Tested-by: NAndrew Lunn <andrew@lunn.ch>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NJason Cooper <jason@lakedaemon.net>
      fefe7b09
  20. 21 9月, 2012 1 次提交
  21. 19 9月, 2012 2 次提交
    • P
      gpio: Add basic support for TWL6040 GPOs · 70ffd691
      Peter Ujfalusi 提交于
      TWL6040 provides GPO lines to be used for controlling external devices.The number
      of lines different between versions: twl6040 have 3 GPO while TWL6041 have 1.
      Signed-off-by: NSergio Aguirre <saaguirre@ti.com>
      Signed-off-by: NPeter Ujfalusi <peter.ujfalusi@ti.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
      70ffd691
    • T
      gpio: Add Avionic Design N-bit GPIO expander support · 5e969a40
      Thierry Reding 提交于
      This commit adds a driver for the Avionic Design N-bit GPIO expander.
      The expander provides a variable number of GPIO pins with interrupt
      support.
      
      Changes in v2:
      - allow building the driver as a module
      - assign of_node unconditionally
      - use linear mapping IRQ domain
      - properly cleanup IRQ domain
      - add OF device table and annotate device tables
      - emulate rising and falling edge triggers
      - increase #gpio-cells to 2
      - drop support for !OF
      - use IS_ENABLED to conditionalize DEBUG_FS code
      
      Changes in v3:
      - make IRQ support runtime configurable (interrupt-controller property)
      - drop interrupt-controller and #interrupt-cells from DT binding
      - add inline to_adnp() function to wrap container_of() macro
      - consistently use adnp as name for struct adnp variables
      - remove irq_mask_cur and rename irq_mask to irq_enable
      - fix a subtle deadlock in adnp_gpio_direction_output()
      - remove dynamic allocations from debugfs code
      - rename regs to num_regs to avoid confusion
      - annotate non-trivial code with comments
      - don't acquire mutex in adnp_gpio_get()
      - assume NO_IRQ == 0
      
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: devicetree-discuss@lists.ozlabs.org
      Cc: Linus Walleij <linus.walleij@stericsson.com>
      Cc: linux-kernel@vger.kernel.org
      Acked-by: NRob Herring <rob.herring@calxeda.com>
      Signed-off-by: NThierry Reding <thierry.reding@avionic-design.de>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      5e969a40
  22. 25 7月, 2012 1 次提交
  23. 18 7月, 2012 1 次提交
  24. 12 7月, 2012 1 次提交
  25. 21 5月, 2012 1 次提交
  26. 19 5月, 2012 1 次提交
  27. 18 5月, 2012 1 次提交
    • M
      gpio: Emma Mobile GPIO driver V2 · a07e103e
      Magnus Damm 提交于
      This patch is V2 of the Emma Mobile GPIO driver. This
      driver is designed to be reusable between multiple SoCs
      that share the same basic building block, but so far it
      has only been used on Emma Mobile EV2.
      
      Each driver instance handles 32 GPIOs with individually
      maskable IRQs. The driver operates on two I/O memory
      ranges and the 32 GPIOs are hooked up to two interrupts.
      
      In the case of Emma Mobile EV2 this GPIO building block
      is used as main external interrupt controller hooking up
      159 GPIOS as 159 interrupts via 5 driver instances and
      10 interrupts to the GIC and the Cortex-A9 Dual.
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      a07e103e
  28. 12 5月, 2012 1 次提交
  29. 11 5月, 2012 1 次提交
  30. 09 5月, 2012 1 次提交
  31. 01 5月, 2012 1 次提交
  32. 08 4月, 2012 1 次提交
  33. 17 3月, 2012 1 次提交
  34. 04 2月, 2012 1 次提交
    • S
      gpio: Add a driver for Sodaville GPIO controller · b43ab901
      Sebastian Andrzej Siewior 提交于
      Sodaville has GPIO controller behind the PCI bus. To my suprissed it is
      not the same as on PXA.
      
      The interrupt & gpio chip can be referenced from the device tree like
      from any other driver. Unfortunately the driver which uses the gpio
      interrupt has to use irq_of_parse_and_map() instead of
      platform_get_irq(). The problem is that the platform device (which is
      created from the device tree) is most likely created before the
      interrupt chip is registered and therefore irq_of_parse_and_map() fails.
      
      In theory the driver works as module. In reality most of the irq
      functions are not exported to modules and it is possible that _this_
      module is unloaded while the provided irqs are still in use.
      Signed-off-by: NHans J. Koch <hjk@linutronix.de>
      [torbenh@linutronix.de: make it work after the irq namespace cleanup,
      	                add some device tree entries.]
      Signed-off-by: NTorben Hohn <torbenh@linutronix.de>
      [bigeasy@linutronix.de: convert to generic irq & gpio chip]
      Signed-off-by: NSebastian Andrzej Siewior <bigeasy@linutronix.de>
      [grant.likely@secretlab.ca: depend on x86 to avoid irq_domain breakage]
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      b43ab901
  35. 30 1月, 2012 1 次提交
  36. 05 1月, 2012 1 次提交