[PATCH V4 0/3] gpio: modepin: Add driver support for modepin GPIO controller

From: Piyush Mehta
Date: Wed Sep 22 2021 - 09:54:00 EST


This patch adds support for the zynqmp modepin GPIO controller and
documented for the same. GPIO modepin driver set and get the value and
status of the PS_MODE pin, based on device-tree pin configuration.
These four-bits boot-mode pins are dedicated configurable as input/output.
After the stabilization of the system,these mode pins are sampled.

To access GPIO pins, added Xilinx ZynqMP firmware MDIO API support to
set and get PS_MODE pins value and status. These APIs are interface
APIs, between the mode pin controller driver and low-level API.

---
Changes in v2:
- Added Xilinx ZynqMP firmware MMIO API support to set and get pin
value and status.
- DT Documentation- Addressed review comments: Update commit message
- Modepin driver- Addressed review comments:
- Update APIs
- Removed unwanted variables
- Handle return path for probe function

Review Comments:
https://lore.kernel.org/linux-arm-kernel/20210624205055.GA1961487@xxxxxxxxxxxxxxxxxx/T/#u

Changes in v3:
- Update example in dt-bindings documentation
- Update probe function return value
- Remove unnecessary print and header file

Review Comments:
https://lore.kernel.org/linux-arm-kernel/20210805174219.3000667-1-piyush.mehta@xxxxxxxxxx/#t

Changes in v4:
- Added input pin read status in modepin_gpio_get_value.
- Updated modepin control bit for out configuration.

Review Comments:
https://lore.kernel.org/linux-arm-kernel/554508f5-8cb5-3840-9f61-f6cd6e5745d2@xxxxxxxxxx/T/#u
---

Piyush Mehta (3):
firmware: zynqmp: Add MMIO read and write support for PS_MODE pin
dt-bindings: gpio: zynqmp: Add binding documentation for modepin
gpio: modepin: Add driver support for modepin GPIO controller

.../bindings/gpio/xlnx,zynqmp-gpio-modepin.yaml | 43 ++++++
drivers/firmware/xilinx/zynqmp.c | 46 ++++++
drivers/gpio/Kconfig | 12 ++
drivers/gpio/Makefile | 1 +
drivers/gpio/gpio-zynqmp-modepin.c | 162 +++++++++++++++++++++
include/linux/firmware/xlnx-zynqmp.h | 14 ++
6 files changed, 278 insertions(+)
create mode 100644 Documentation/devicetree/bindings/gpio/xlnx,zynqmp-gpio-modepin.yaml
create mode 100644 drivers/gpio/gpio-zynqmp-modepin.c

--
2.7.4