| From: |
| Lars Povlsen <lars.povlsen-AT-microchip.com> |
| To: |
| Linus Walleij <linus.walleij-AT-linaro.org> |
| Subject: |
| [PATCH v5 0/3] pinctrl: Adding support for Microchip/Microsemi serial GPIO controller |
| Date: |
| Thu, 08 Oct 2020 15:05:12 +0200 |
| Message-ID: |
| <20201008130515.2385825-1-lars.povlsen@microchip.com> |
| Cc: |
| Lars Povlsen <lars.povlsen-AT-microchip.com>, Microchip Linux Driver Support <UNGLinuxDriver-AT-microchip.com>, devicetree-AT-vger.kernel.org, linux-gpio-AT-vger.kernel.org, linux-arm-kernel-AT-lists.infradead.org, linux-kernel-AT-vger.kernel.org, Alexandre Belloni <alexandre.belloni-AT-bootlin.com> |
| Archive-link: |
| Article |
The series add support for the serial GPIO controller used by
Microchip Sparx5, as well as (MSCC) ocelot/jaguar2 SoCs.
v5 changes (driver comments from Linus):
- Collect bank data in sgpio_bank struct
- Add is_input boolean to sgpio_bank struct
- Use single-bit bitmasks in sgpio_output_set() and sgpio_output_get()
- Eliminate superfluous struct pinctrl_dev *pctl_dev in bank data
- Fix wrong ngpio consistency check
v4 changes (binding comments from Rob):
- microchip,sgpio-port-ranges changed to uint32-matrix so tuples can
be represented properly.
- gpio controller node name changed to "gpio@[0-1]"
- whitespace fixes
- DT files updated as per schema changes
v3 changes:
- Renamed all usage of "mchp" abbrevation with "microchip".
- Split the in/output directions into (two) separate banks.
- Eliminated the bindings include file (from above)
- Changed SPDX license to "GPL-2.0-or-later"
- Change -ENOTSUPP to -EOPNOTSUPP
- Minor type/symbol naming changes
v2 changes:
- Adds both in and output modes.
- Use direct adressing of the individual banks (#gpio-cells = <4>),
also osoleting need for addressing macros in bindings include file.
- Property 'microchip,sgpio-ports' (uint32, bitmask) replaced by
proper range set (array of [start,end]) 'microchip,sgpio-port-ranges'.
- Fixes whitespace issues in Kconfig file
Lars Povlsen (3):
dt-bindings: pinctrl: Add bindings for pinctrl-microchip-sgpio driver
pinctrl: pinctrl-microchip-sgpio: Add pinctrl driver for Microsemi
Serial GPIO
arm64: dts: sparx5: Add SGPIO devices
.../pinctrl/microchip,sparx5-sgpio.yaml | 140 ++++
MAINTAINERS | 1 +
arch/arm64/boot/dts/microchip/sparx5.dtsi | 91 +++
.../boot/dts/microchip/sparx5_pcb125.dts | 5 +
.../dts/microchip/sparx5_pcb134_board.dtsi | 258 +++++++
.../dts/microchip/sparx5_pcb135_board.dtsi | 55 ++
drivers/pinctrl/Kconfig | 18 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/pinctrl-microchip-sgpio.c | 665 ++++++++++++++++++
9 files changed, 1234 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pinctrl/microchip,sparx5-sgpio.yaml
create mode 100644 drivers/pinctrl/pinctrl-microchip-sgpio.c
--
2.25.1