This series adds support for the system pin and GPIO controller on the IMG Pistachio SoC. Pistachio's system pin controller manages 99 pins, 90 of which are MFIOs which can be muxed between multiple functions or used as GPIOs. The GPIO control for the 90 MFIOs is broken up into banks of 16. Pistachio also has a second pin controller, the RPU pin controller, which will be supported by a future patchset through an extension to this driver. Test on an IMG Pistachio BuB. Based on mips-for-linux-next which inluces my series adding Pistachio platform support [1]. A branch with this series is available at [2]. Changes from v1: - Documented pin + function generic binding. - Changed compatible string to "img,pistachio-system-pinctrl". - Addressed some review comments. - A couple of bug fixes. Cc: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxx> Cc: James Hartley <james.hartley@xxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> [1] https://lkml.org/lkml/2015/3/16/1130 [2] https://github.com/abrestic/linux/tree/pistachio-pinctrl-v2 Andrew Bresticker (3): pinctrl: Document "function" + "pins" pinmux binding pinctrl: Add Pistachio SoC pin control binding document pinctrl: Add Pistachio SoC pin control driver .../bindings/pinctrl/img,pistachio-pinctrl.txt | 217 +++ .../bindings/pinctrl/pinctrl-bindings.txt | 7 + drivers/pinctrl/Kconfig | 6 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/pinctrl-pistachio.c | 1528 ++++++++++++++++++++ 5 files changed, 1759 insertions(+) create mode 100644 Documentation/devicetree/bindings/pinctrl/img,pistachio-pinctrl.txt create mode 100644 drivers/pinctrl/pinctrl-pistachio.c -- 2.2.0.rc0.207.ga3a616c