This is ported this from Broadcom's XLDK (now heavily modified). There seem to be 3 different IP blocks for 3 separate banks of GPIOs in the iProc chips. I've dropped everything except support for the Chip Common A GPIO controller because the other blocks actually seem to be supportable with other drivers. The driver itself is halfway between pinctrl-nsp-gpio.c and pinctrl-iproc-gpio.c. Chris Packham (2): dt-bindings: gpio: brcm: Add bindings for xgs-iproc gpio: Add xgs-iproc driver .../bindings/gpio/brcm,xgs-iproc.yaml | 70 ++++ drivers/gpio/Kconfig | 9 + drivers/gpio/Makefile | 1 + drivers/gpio/gpio-xgs-iproc.c | 321 ++++++++++++++++++ 4 files changed, 401 insertions(+) create mode 100644 Documentation/devicetree/bindings/gpio/brcm,xgs-iproc.yaml create mode 100644 drivers/gpio/gpio-xgs-iproc.c -- 2.23.0