1. 06 11月, 2013 1 次提交
  2. 29 10月, 2013 2 次提交
  3. 16 10月, 2013 1 次提交
  4. 10 10月, 2013 1 次提交
  5. 23 9月, 2013 1 次提交
  6. 19 9月, 2013 1 次提交
    • S
      pinctrl: ADI PIN control driver for the GPIO controller on bf54x and bf60x. · e9a03add
      Sonic Zhang 提交于
      The new ADI GPIO2 controller was introduced since the BF548 and BF60x
      processors. It differs a lot from the old one on BF5xx processors. So,
      create a pinctrl driver under the pinctrl framework.
      
      - Define gpio ports and pin interrupt controllers as individual platform
        devices.
      - Register a pinctrl driver for the whole GPIO ports and pin interrupt
        devices.
      - Probe pint devices before port devices. Put device instances into
        the global gpio and pint lists.
      - Define peripheral, irq and gpio reservation bit masks for each gpio
        port as runtime resources.
      - Save and restore gpio port and pint status MMRs in syscore PM functions.
      - Create the plug-in subdrivers to hold the pinctrl soc data for bf54x
        and bf60x. Add soc data into struct adi_pinctrl. Initialize the soc data
        in pin controller probe function. Get the pin groups and functions via
        the soc data reference.
      - Call gpiochip_add_pin_range() in gpio device probe function to register
        range cross reference between gpio device and pin control device.
      - Get range by pinctrl_find_gpio_range_from_pin(), find gpio_port object
        by container_of() and find adi_pinctrl by pin control device name.
      - Handle peripheral and gpio requests in pinctrl operation functions.
      - Demux gpio IRQs via the irq_domain created by each GPIO port.
      
      v2-changes:
      - Remove unlinke() directive.
      
      v3-changes:
      - Rename struct adi_pmx to adi_pinctrl.
      - Fix the comments of struct gpio_pint.
      - Remove unused pin_base in struct gpio_port.
      - Change pint_assign into bool type.
      - Add comments about the relationship between pint device and port device
      to the driver header.
      - Use BIT macro to shift bit.
      - Remove all bitmap reservation help functions. Inline reservation functions
      into the actual code.
      - Remove gpio and offset mutual reference help functions.
      - Remove all help functions to find gpio_port and adi_pinctrl structs. Get
      range by pinctrl_find_gpio_range_from_pin(), find gpio_port object by
      container_of() and find adi_pinctrl by pin control device name.
      - Pass bool type usage variable to port_setup help function.
      - Separate long bit operations into several lines and add comments.
      - Use debugfs to output all GPIO request information.
      - Avoid to set drvdata to NULL
      - Add explanation to function adi_gpio_init_int()
      - Call gpiochip_add_pin_range() in gpio device probe function to register
      range cross reference between gpio device and pin control device.
      - Remove the reference to pin control device from the gpio_port struct.
      Remove the reference list to gpio device from the adi_pinctrl struct.
      Replace the global adi_pinctrl list with adi_gpio_port_list. Walk through
      the gpio list to do power suspend and resume operations.
      - Remove the global GPIO base from struct adi_pinctrl, define pin base in
      the platform data for each GPIO port device.
      - Initialize adi_pinctrl_setup in arch_initcall().
      - print the status of triggers, whether it is in GPIO mode, if it is
      flagged to be used as IRQ, etc in adi_pin_dbg_show().
      - Create the plug-in subdrivers to hold the pinctrl soc data for bf54x
      and bf60x. Add soc data into struct adi_pinctrl. Initialize the soc data
      in pin controller probe function. Get the pin groups and functions via
      the soc data reference.
      
      v4-changes:
      - remove useless system_state checking.
      - replace dev_err with dev_warn in both irq and gpio pin cases.
      - comment on relationship between irq type and invert operation.
      - It is not necessary to check the reservation mode of the requested
      pin in IRQ chip operation. Remove the reservation map.
      - Use existing gpio/pinctrl subsystem debugfs files. Remove pinctrl-adi2
      driver specific debugfs output.
      - Add linkport group and function information for bf60x.
      - Separate uart and ctsrts pins into 2 groups.
      - Separate APAPI and alternative ATAPI pins into 2 groups.
      Signed-off-by: NSonic Zhang <sonic.zhang@analog.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      e9a03add
  7. 28 8月, 2013 2 次提交
    • M
      pinctrl: Add s5pv210 support to pinctrl-exynos · 608a26a7
      Mateusz Krawczuk 提交于
      This patch implements pinctrl support and adds device tree bindings
      for s5pv210.
      Signed-off-by: NMateusz Krawczuk <m.krawczuk@partner.samsung.com>
      Acked-by: NSylwester Nawrocki <s.nawrocki@samsung.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      608a26a7
    • A
      pinctrl: palmas: PINCTRL_PALMAS needs to select PINMUX · 63ca8db7
      Axel Lin 提交于
      Fix below build error if !PINMUX.
      
        CC      drivers/pinctrl/pinctrl-palmas.o
      drivers/pinctrl/pinctrl-palmas.c:741:21: error: variable 'palmas_pinmux_ops' has initializer but incomplete type
      drivers/pinctrl/pinctrl-palmas.c:742:2: error: unknown field 'get_functions_count' specified in initializer
      drivers/pinctrl/pinctrl-palmas.c:742:2: warning: excess elements in struct initializer [enabled by default]
      drivers/pinctrl/pinctrl-palmas.c:742:2: warning: (near initialization for 'palmas_pinmux_ops') [enabled by default]
      drivers/pinctrl/pinctrl-palmas.c:743:2: error: unknown field 'get_function_name' specified in initializer
      drivers/pinctrl/pinctrl-palmas.c:743:2: warning: excess elements in struct initializer [enabled by default]
      drivers/pinctrl/pinctrl-palmas.c:743:2: warning: (near initialization for 'palmas_pinmux_ops') [enabled by default]
      drivers/pinctrl/pinctrl-palmas.c:744:2: error: unknown field 'get_function_groups' specified in initializer
      drivers/pinctrl/pinctrl-palmas.c:744:2: warning: excess elements in struct initializer [enabled by default]
      drivers/pinctrl/pinctrl-palmas.c:744:2: warning: (near initialization for 'palmas_pinmux_ops') [enabled by default]
      drivers/pinctrl/pinctrl-palmas.c:745:2: error: unknown field 'enable' specified in initializer
      drivers/pinctrl/pinctrl-palmas.c:745:2: warning: excess elements in struct initializer [enabled by default]
      drivers/pinctrl/pinctrl-palmas.c:745:2: warning: (near initialization for 'palmas_pinmux_ops') [enabled by default]
      make[2]: *** [drivers/pinctrl/pinctrl-palmas.o] Error 1
      make[1]: *** [drivers/pinctrl] Error 2
      make: *** [drivers] Error 2
      Signed-off-by: NAxel Lin <axel.lin@ingics.com>
      Acked-by: NLaxman Dewangan <ldewangan@nvidia.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      63ca8db7
  8. 23 8月, 2013 1 次提交
  9. 15 8月, 2013 1 次提交
    • L
      pinctrl: palmas: add pincontrol driver · 0a8d3e24
      Laxman Dewangan 提交于
      TI Palmas series Power Management IC have multiple pins which can be
      configured for different functionality. This pins can be configured
      for different function. Also their properties like pull up/down,
      open drain enable/disable are configurable.
      
      Add support for pincontrol driver Palmas series device like TPS65913,
      TPS80036. The driver supports to be register from DT only.
      
      Changes from V1:
      - Add generic property for pins and functions in pinconf-generic.
      - Add APIs to map the DT and subnode.
      - Move common utils APIs to the pinctrl-utils from this file.
      - Update the binding document accordingly.
      Changes from V2:
      - Add ack by Lee.
      - Correct the binding docs.
      Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com>
      Acked-by: NLee Jones <lee.jones@linaro.org>
      Reviewed-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      0a8d3e24
  10. 23 7月, 2013 1 次提交
  11. 25 6月, 2013 1 次提交
    • S
      pinctrl: st: Add pinctrl and pinconf support. · 701016c0
      Srinivas KANDAGATLA 提交于
      This patch add pinctrl support to ST SoCs.
      
      About hardware:
      ST Set-Top-Box parts have two blocks called PIO and PIO-mux which handle
      pin configurations.
      
      Each multi-function pin is controlled, driven and routed through the PIO
      multiplexing block. Each pin supports GPIO functionality (ALT0) and
      multiple alternate functions(ALT1 - ALTx) that directly connect the pin
      to different hardware blocks. When a pin is in GPIO mode, Output Enable
      (OE), Open Drain(OD), and Pull Up (PU) are driven by the related PIO
      block. Otherwise the PIO multiplexing block configures these parameters
      and retiming the signal.
      
      About driver:
      This pinctrl driver manages both PIO and PIO-mux block using pinctrl,
      pinconf, pinmux, gpio subsystems. All the pinctrl related config
      information can only come from device trees.
      Signed-off-by: NSrinivas Kandagatla <srinivas.kandagatla@st.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      701016c0
  12. 24 6月, 2013 2 次提交
    • J
      pinctrl-tz1090-pdc: add TZ1090 PDC pinctrl driver · b58f0273
      James Hogan 提交于
      Add a pin control driver for the TZ1090's low power pins via the
      powerdown controller SOC_GPIO_CONTROL registers.
      
      These pins have individually controlled pull-up, and group controlled
      schmitt, slew-rate, drive-strength, and power-on-start (pos).
      
      The pdc_gpio0 and pdc_gpio1 pins can also be muxed onto the
      ir_mod_stable_out and ir_mod_power_out functions respectively. If no
      function is set they remain in GPIO mode. These muxes can be overridden
      by requesting them as GPIOs.
      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>
      b58f0273
    • J
      pinctrl-tz1090: add TZ1090 pinctrl driver · d5025f9f
      James Hogan 提交于
      Add a pin control driver for the main pins on the TZ1090 SoC. This
      doesn't include the low-power pins as they're controlled separately via
      the Powerdown Controller (PDC) registers.
      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>
      d5025f9f
  13. 19 6月, 2013 1 次提交
  14. 18 6月, 2013 1 次提交
  15. 16 6月, 2013 2 次提交
  16. 20 5月, 2013 1 次提交
    • H
      pinctrl: Add pinctrl-s3c24xx driver · af99a750
      Heiko Stuebner 提交于
      The s3c24xx pins follow a similar pattern as the other Samsung SoCs and
      can therefore reuse the already introduced infrastructure.
      
      The s3c24xx SoCs have one design oddity in that the first 4 external
      interrupts do not reside in the eint pending register but in the main
      interrupt controller instead. We solve this by forwarding the external
      interrupt from the main controller into the irq domain of the pin bank.
      The masking/acking of these interrupts is handled in the same way.
      
      Furthermore the S3C2412/2413 SoCs contain another oddity in that they
      keep the same 4 eints in the main interrupt controller and eintpend
      register and requiring ack operations to happen in both. This is solved
      by using different compatible properties for the wakeup eint node which
      set a property accordingly.
      Signed-off-by: NHeiko Stuebner <heiko@sntech.de>
      Reviewed-by: NTomasz Figa <t.figa@samsung.com>
      Reviewed-by: NSylwester Nawrocki <s.nawrocki@samsung.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      af99a750
  17. 09 4月, 2013 3 次提交
  18. 04 4月, 2013 1 次提交
  19. 28 3月, 2013 1 次提交
  20. 07 3月, 2013 1 次提交
  21. 05 2月, 2013 4 次提交
  22. 31 1月, 2013 2 次提交
  23. 25 1月, 2013 1 次提交
  24. 22 1月, 2013 1 次提交
  25. 19 1月, 2013 1 次提交
  26. 18 1月, 2013 2 次提交
  27. 02 12月, 2012 1 次提交
  28. 22 11月, 2012 1 次提交
  29. 15 11月, 2012 1 次提交