All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/7] Add support for pinctrl/gpio on Armada 37xx
@ 2017-04-05 15:18 ` Gregory CLEMENT
  0 siblings, 0 replies; 55+ messages in thread
From: Gregory CLEMENT @ 2017-04-05 15:18 UTC (permalink / raw)
  To: Linus Walleij, linux-gpio
  Cc: Thomas Petazzoni, Andrew Lunn, Hua Jing, Jason Cooper,
	devicetree, linux-kernel, Nadav Haklai, Rob Herring,
	Neta Zur Hershkovits, Gregory CLEMENT, Victor Gu, Marcin Wojtas,
	Wilson Ding, linux-arm-kernel, Sebastian Hesselbarth

Hi,

In this forth version I improved the driver based on the review from
Linus Walleij and I fixed a configuration issue with uart2. For the
record, this series adds support for the pin and gpio controllers
present on the Armada 37xx SoCs.

Each Armada 37xx SoC comes with 2 pin controllers: one on the south
bridge (managing 28 pins) and one on the north bridge (managing 36 pins).

At the hardware level the controller configure the pins by group and not
pin by pin.

The gpio controller is also capable to handle interrupt from gpio.

Changelog

v3 -> v4
- Some group are configured by several bits in the register:
  extend the armada_37xx_pin_group struct to manage it.

- Fix the uart2 and cspi2/3 configuration

- Document the armada_37xx_add_function(), armada_37xx_fill_group()
  and armada_37xx_fill_funcs().

- Use devm_gpiochip_add_data()

- Use irq_find_mapping instead of irq_linear_revmap

- Use handle_edge_irq instead of the wrong handle_level_irq

- Add comment about the fact the we have multiple parent interrupt

- Add comment about the mask usage of the irq_data struct

- Use BIT() macro when possible

- Select more CONFIG symbol needed for GPIO and interrupt support

v2 -> v3
 - use gpio-ranges (patch 4)

 - Document gpio-ranges usage (patch 1)

 - do not use anymore a global pin index (patch 3)

v1 -> v2:
- Update binding documentation making clear that mfd and syscon must
  be used (patch 1).

- Split the fist patch adding pin controller support for Armada 37xx
  in arm64 part (for kconfig) and pinctrl part (patch 2 and 3)

- Add MFD_SYSCON dependency (patch 3)

- Add kerneldoc for the armada_37xx_pin_group struct (patch 3)

- Rename _add_function() to armada_37xx_add_function() (patch 3)

- Use an inline function to update the reg offset (patch 4)

- Rename gpiolib_register to gpiochip_register (patch 4)

- Add a comment about the two registers limit (patch 4)

- Add explicit gpio node in the device tree (patch 4)

- Convert the driver to use GPIOLIB_IRQCHIP (patch 5)

- Add a critical section when accessing the hardware registers (patch 5)

- Use the gpio subnode (patch 5)

Thanks,

Gregory

Gregory CLEMENT (7):
  pinctrl: dt-bindings: Add documentation for Armada 37xx pin controllers
  arm64: marvell: enable the Armada 37xx pinctrl driver
  pinctrl: armada-37xx: Add pin controller support for Armada 37xx
  pinctrl: armada-37xx: Add gpio support
  pinctrl: aramda-37xx: Add irqchip support
  ARM64: dts: marvell: Add pinctrl nodes for Armada 3700
  ARM64: dts: marvell: armada37xx: add pinctrl definition

 Documentation/devicetree/bindings/clock/armada3700-xtal-clock.txt         |   7 +-
 Documentation/devicetree/bindings/pinctrl/marvell,armada-37xx-pinctrl.txt | 183 ++++++++++++++-
 arch/arm64/Kconfig.platforms                                              |   5 +-
 arch/arm64/boot/dts/marvell/armada-3720-db.dts                            |   8 +-
 arch/arm64/boot/dts/marvell/armada-37xx.dtsi                              |  73 ++++-
 drivers/pinctrl/Makefile                                                  |   2 +-
 drivers/pinctrl/mvebu/Kconfig                                             |   7 +-
 drivers/pinctrl/mvebu/Makefile                                            |   3 +-
 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c                               | 969 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 9 files changed, 1249 insertions(+), 8 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/pinctrl/marvell,armada-37xx-pinctrl.txt
 create mode 100644 drivers/pinctrl/mvebu/pinctrl-armada-37xx.c

base-commit: c1ae3cfa0e89fa1a7ecc4c99031f5e9ae99d9201
-- 
git-series 0.9.1

^ permalink raw reply	[flat|nested] 55+ messages in thread

end of thread, other threads:[~2017-04-26 13:12 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-05 15:18 [PATCH v4 0/7] Add support for pinctrl/gpio on Armada 37xx Gregory CLEMENT
2017-04-05 15:18 ` Gregory CLEMENT
2017-04-05 15:18 ` Gregory CLEMENT
2017-04-05 15:18 ` [PATCH v4 1/7] pinctrl: dt-bindings: Add documentation for Armada 37xx pin controllers Gregory CLEMENT
2017-04-05 15:18   ` Gregory CLEMENT
2017-04-05 15:18   ` Gregory CLEMENT
2017-04-10 18:15   ` Rob Herring
2017-04-10 18:15     ` Rob Herring
2017-04-11 16:09     ` Gregory CLEMENT
2017-04-11 16:09       ` Gregory CLEMENT
     [not found]   ` <941d03c9a3bdfd5e789aada29b35184ec9fed9fe.1491405475.git-series.gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-04-24  9:29     ` Linus Walleij
2017-04-24  9:29       ` Linus Walleij
2017-04-24  9:29       ` Linus Walleij
2017-04-05 15:18 ` [PATCH v4 2/7] arm64: marvell: enable the Armada 37xx pinctrl driver Gregory CLEMENT
2017-04-05 15:18   ` Gregory CLEMENT
2017-04-05 15:18   ` Gregory CLEMENT
     [not found]   ` <d5015ded3a76ae4b1d2d1ef43ab4cc2e51050a03.1491405475.git-series.gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-04-26 10:26     ` Gregory CLEMENT
2017-04-26 10:26       ` Gregory CLEMENT
2017-04-26 10:26       ` Gregory CLEMENT
2017-04-05 15:18 ` [PATCH v4 3/7] pinctrl: armada-37xx: Add pin controller support for Armada 37xx Gregory CLEMENT
2017-04-05 15:18   ` Gregory CLEMENT
2017-04-05 15:18 ` [PATCH v4 4/7] pinctrl: armada-37xx: Add gpio support Gregory CLEMENT
2017-04-05 15:18   ` Gregory CLEMENT
2017-04-24 11:48   ` Linus Walleij
2017-04-24 11:48     ` Linus Walleij
2017-04-24 11:48     ` Linus Walleij
2017-04-05 15:18 ` [PATCH v4 5/7] pinctrl: aramda-37xx: Add irqchip support Gregory CLEMENT
2017-04-05 15:18   ` Gregory CLEMENT
2017-04-05 16:03   ` Gregory CLEMENT
2017-04-05 16:03     ` Gregory CLEMENT
2017-04-05 16:03     ` Gregory CLEMENT
2017-04-24 12:14   ` Linus Walleij
2017-04-24 12:14     ` Linus Walleij
2017-04-24 12:14     ` Linus Walleij
     [not found]     ` <CACRpkdZ=mVXBbVf1iHg8nQ6pYUkvpB+egH+stoMrkD8V_vaYpg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-04-24 12:16       ` Linus Walleij
2017-04-24 12:16         ` Linus Walleij
2017-04-24 12:16         ` Linus Walleij
2017-04-26  9:23     ` Gregory CLEMENT
2017-04-26  9:23       ` Gregory CLEMENT
2017-04-26  9:23       ` Gregory CLEMENT
     [not found]       ` <87zif38qu2.fsf-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-04-26 12:03         ` Linus Walleij
2017-04-26 12:03           ` Linus Walleij
2017-04-26 12:03           ` Linus Walleij
2017-04-26 13:12           ` Gregory CLEMENT
2017-04-26 13:12             ` Gregory CLEMENT
2017-04-26 13:12             ` Gregory CLEMENT
     [not found] ` <cover.65d0e6796fecf1fe6c5d07b981160b54dc9b4acd.1491405475.git-series.gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-04-05 15:18   ` [PATCH v4 6/7] ARM64: dts: marvell: Add pinctrl nodes for Armada 3700 Gregory CLEMENT
2017-04-05 15:18     ` Gregory CLEMENT
2017-04-05 15:18     ` Gregory CLEMENT
2017-04-26 10:27     ` Gregory CLEMENT
2017-04-26 10:27       ` Gregory CLEMENT
2017-04-05 15:18 ` [PATCH v4 7/7] ARM64: dts: marvell: armada37xx: add pinctrl definition Gregory CLEMENT
2017-04-05 15:18   ` Gregory CLEMENT
2017-04-26 10:28   ` Gregory CLEMENT
2017-04-26 10:28     ` Gregory CLEMENT

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.