[PATCH v3 0/2] pinctrl: add ACPI support to pin controller

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a proposal for adding ACPI support to pin controller.

The patch supports following resources introduced in ACPI from v6.2

- PinFunction
- PinConfig
- PinGroupFunction
- PinGroupConfig
- PinGroup

The patch has been tested on NXP I.MX8MP platform with ACPI. Please checkout [1]
and [2] to see prototype driver and firmware implementation.

--
V3: 1, Reworked interface between pinctrl-acpi subsystem and driver
    2, Dropped API to get ACPI pin groups as they are no longer required
    3, Fix styling issues pointed out by Mika Westerberg
    4, Added helper functions and refactored code for simplicity
    5, Added documentation

V2: 1, Fix styling issues pointed out by Mika Westerberg
    2, Added a new interface to free pin group descriptor
    3, Added vendor length to the descriptors
    4, Reworked map_config_acpi_to_general to pass an error value
    5, Few refactoring to keep functions shorter
    6, Dropped new generic pinconf types added in v1

[1] https://github.com/nsait-linaro/linux-patches/blob/main/0001-imx8mp-add-ACPI-support-for-pin-controller.patch
[2] https://github.com/nsait-linaro/linux-patches/blob/main/0001-add-acpi-pinctrl-support-for-i2c-controllers.patch

Niyas Sait (2):
  pinctrl: add support for ACPI pin function and config resources
  pinctrl: add support for ACPI pin groups

 Documentation/driver-api/index.rst            |   1 +
 Documentation/driver-api/pin-control-acpi.rst | 297 ++++++++
 drivers/pinctrl/Makefile                      |   1 +
 drivers/pinctrl/core.c                        |  18 +-
 drivers/pinctrl/core.h                        |   3 +
 drivers/pinctrl/pinctrl-acpi.c                | 672 ++++++++++++++++++
 drivers/pinctrl/pinctrl-acpi.h                |  77 ++
 include/linux/pinctrl/pinctrl.h               |  15 +
 8 files changed, 1080 insertions(+), 4 deletions(-)
 create mode 100644 Documentation/driver-api/pin-control-acpi.rst
 create mode 100644 drivers/pinctrl/pinctrl-acpi.c
 create mode 100644 drivers/pinctrl/pinctrl-acpi.h

-- 
2.25.1




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux