|
|
Log in / Subscribe / Register

misc: microchip: pci1xxxx: Add auxiliary bus driver and the GPIO driver for PIO function of pci1xxxx.

From:  Kumaravel Thiagarajan <kumaravel.thiagarajan-AT-microchip.com>
To:  <linux-gpio-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org>
Subject:  [PATCH v1 char-misc-next 0/5] misc: microchip: pci1xxxx: Add auxiliary bus driver and the GPIO driver for PIO function of pci1xxxx.
Date:  Thu, 25 Aug 2022 01:30:42 +0530
Message-ID:  <20220824200047.150308-1-kumaravel.thiagarajan@microchip.com>
Cc:  <UNGLinuxDriver-AT-microchip.com>, <gregkh-AT-linuxfoundation.org>, <arnd-AT-arndb.de>, <dragan.cvetic-AT-xilinx.com>, <derek.kiernan-AT-xilinx.com>
Archive-link:  Article

pci1xxxx is a PCIe switch with a multi-function endpoint on one of its
downstream ports. PIO function is one of the functions in the
multi-function endpoint. PIO function combines a GPIO controller and also
an interface to program pci1xxxx'x OTP & EEPROM. This patch adds an
auxiliary bus driver that enumerates separate child devices for gpio and
OTP/EEPROM interface and the gpio controller driver for the first child.

Kumaravel Thiagarajan (5):
  misc: microchip: pci1xxxx: load auxiliary bus driver for the PIO
    function in the multi-function endpoint of pci1xxxx device.
  misc: microchip: pci1xxxx: load gpio driver for the gpio controller
    auxiliary device enumerated by the auxiliary bus driver.
  misc: microchip: pci1xxxx: Add functions to configure gpio pins as
    input / output, get status, handle I/O for gpio pins.
  misc: microchip: pci1xxxx: Add gpio irq handler and irq helper
    functions irq_ack, irq_mask, irq_unmask and irq_set_type of
    irq_chip.
  misc: microchip: pci1xxxx: Add power management functions - suspend &
    resume handlers.

 MAINTAINERS                                   |   8 +
 drivers/misc/Kconfig                          |   1 +
 drivers/misc/Makefile                         |   3 +-
 drivers/misc/mchp_pci1xxxx/Kconfig            |  10 +
 drivers/misc/mchp_pci1xxxx/Makefile           |   1 +
 drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gp.c | 166 +++++++
 drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gp.h |  28 ++
 .../misc/mchp_pci1xxxx/mchp_pci1xxxx_gpio.c   | 438 ++++++++++++++++++
 8 files changed, 654 insertions(+), 1 deletion(-)
 create mode 100644 drivers/misc/mchp_pci1xxxx/Kconfig
 create mode 100644 drivers/misc/mchp_pci1xxxx/Makefile
 create mode 100644 drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gp.c
 create mode 100644 drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gp.h
 create mode 100644 drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_gpio.c

-- 
2.25.1



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