2022-07-14 12:47:07

by Tomer Maimon

[permalink] [raw]
Subject: [PATCH v2 0/2] pinctrl: nuvoton: add pinmux and GPIO driver for NPCM8XX

This patch set adds pinmux and GPIO controller for the Arbel NPCM8XX
Baseboard Management Controller (BMC).

Arbel BMC NPCM8XX pinctrl driver based on Poleg NPCM7XX, except the
pin mux mapping difference the NPCM8XX GPIO supports adjust debounce
period time.

Arbel BMC NPCM8XX Pinmux functions accessible only for pin groups
and pin configuration parameters available only for individual pins.

Arbel BMC NPCM8XX has eight identical GPIO modules,
each module has 32 GPIO ports.

Most of the GPIO ports are multiplexed with other system functions.

The NPCM8XX pinctrl and GPIO driver were tested on NPCM845 evaluation board.

Addressed comments from:
- Andy Shevchenko : https://www.spinics.net/lists/devicetree/msg516573.html
- Krzysztof Kozlowski: https://www.spinics.net/lists/kernel/msg4368955.html

Changes since version 1:
- Pin controller driver
- Remove unnecessary debug prints and comments.
- Use fwnode functions.
- Remove Redundant 'else'.
- Use switch case instead of else if.
- Use GENMASK and BIT macros.
- Use dev_err_probe in probe error.
- Use callback GPIO range.
- Add GCR phandle property.
- Parameter order in reversed xmas

- Pin controller dt-binding
- Modify name from pin to mux.
- Add phandle property.

Tomer Maimon (2):
dt-binding: pinctrl: Add NPCM8XX pinctrl and GPIO documentation
pinctrl: nuvoton: add NPCM8XX pinctrl and GPIO driver

.../pinctrl/nuvoton,npcm845-pinctrl.yaml | 213 ++
drivers/pinctrl/nuvoton/Kconfig | 13 +
drivers/pinctrl/nuvoton/Makefile | 1 +
drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c | 2528 +++++++++++++++++
4 files changed, 2755 insertions(+)
create mode 100644 Documentation/devicetree/bindings/pinctrl/nuvoton,npcm845-pinctrl.yaml
create mode 100644 drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c

--
2.33.0