|
|
Subscribe / Log in / New account

Support Nvidia BlueField-3 GPIO driver and pin controller

From:  Asmaa Mnebhi <asmaa-AT-nvidia.com>
To:  <andy.shevchenko-AT-gmail.com>, <linus.walleij-AT-linaro.org>, <bgolaszewski-AT-baylibre.com>, <linux-gpio-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org>, <linux-acpi-AT-vger.kernel.org>
Subject:  [PATCH v5 0/2] Support Nvidia BlueField-3 GPIO driver and pin controller
Date:  Tue, 14 Mar 2023 18:16:07 -0400
Message-ID:  <20230314221609.22433-1-asmaa@nvidia.com>
Cc:  Asmaa Mnebhi <asmaa-AT-nvidia.com>
Archive-link:  Article

Support the BlueField-3 SoC GPIO driver for handling interrupts and
providing the option to change the direction and value of a GPIO.
Support the BlueField-3 SoC pin controller driver for allowing a
select number of GPIO pins to be manipulated from userspace or
the kernel.

The gpio-mlxbf3.c driver handles hardware registers and logic
that are different from gpio-mlxbf.c and gpio-mlxbf2.c.
For that reason, we have separate drivers for each generation.

Changes from v4->v5:

gpio-mlxbf3.c:
- Update Kconfig dependency in gpio
- remove version.h header
- use irq_hw_number_t
- release lock in mlxbf3_gpio_irq_set_type
- add IRQCHIP_IMMUTABLE and GPIOCHIP_IRQ_RESOURCE_HELPERS
- remove npins property to use ngpios instead
- Assign handle_bad_irq() in probe
- Use handle_edge_irq instead  

pinctrl-mlxbf3.c:
- change the driver name to pinctrl-mlxbf3
- alignment cleanup
- use PINCTRL_PINFUNCTION
- use pinctrl_add_gpio_ranges
- use devm_platform_ioremap_resource


Asmaa Mnebhi (2):
  gpio: gpio-mlxbf3: Add gpio driver support
  pinctrl: pinctrl-mlxbf: Add pinctrl driver support

 drivers/gpio/Kconfig             |  13 ++
 drivers/gpio/Makefile            |   1 +
 drivers/gpio/gpio-mlxbf3.c       | 245 ++++++++++++++++++++++++
 drivers/pinctrl/Kconfig          |  13 ++
 drivers/pinctrl/Makefile         |   1 +
 drivers/pinctrl/pinctrl-mlxbf3.c | 318 +++++++++++++++++++++++++++++++
 6 files changed, 591 insertions(+)
 create mode 100644 drivers/gpio/gpio-mlxbf3.c
 create mode 100644 drivers/pinctrl/pinctrl-mlxbf3.c

-- 
2.30.1



Copyright © 2023, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds