mirror of
https://github.com/torvalds/linux.git
synced 2026-05-03 14:02:43 -04:00
Pull pin control updates from Linus Walleij:
"The most interesting aspect is that we now have initial support for
the Apple pin controller as used in the M1 laptops and the iPhones
which is a step forward for using Linux efficiently on this Apple
silicon.
Core changes:
- Add infrastructure for per-parent interrupt data to support the
Apple pin controller.
New drivers:
- New combined pin control and GPIO driver for the Apple SoC. This is
used in all modern Apple silicon such as the M1 laptops but also in
at least recent iPhone variants.
- New subdriver for the Qualcomm SM6350
- New subdriver for the Qualcomm QCM2290
- New subdriver for the Qualcomm PM6350
- New subdriver for the Uniphier NX1
- New subdriver for the Samsung ExynosAutoV9
- New subdriver for the Mediatek MT7986
- New subdriver for the nVidia Tegra194
Improvements:
- Improve power management in the Mediatek driver.
- Improvements to the Renesas internal consistency checker.
- Convert the Rockchip pin control device tree bindings to YAML.
- Finally convert the Qualcomm PMIC SSBI and SPMI MPP GPIO driver to
use hierarchical interrupts.
- Convert the Qualcomm PMIC MPP device tree bindings to YAML"
* tag 'pinctrl-v5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (55 commits)
pinctrl: add pinctrl/GPIO driver for Apple SoCs
dt-bindings: pinctrl: Add apple,npins property to apple,pinctrl
dt-bindings: pinctrl: add #interrupt-cells to apple,pinctrl
gpio: Allow per-parent interrupt data
pinctrl: tegra: Fix warnings and error
pinctrl: intel: Kconfig: Add configuration menu to Intel pin control
pinctrl: tegra: Use correct offset for pin group
pinctrl: core: fix possible memory leak in pinctrl_enable()
pinctrl: bcm2835: Allow building driver as a module
pinctrl: equilibrium: Fix function addition in multiple groups
pinctrl: tegra: Add pinmux support for Tegra194
pinctrl: tegra: include lpdr pin properties
pinctrl: mediatek: add support for MT7986 SoC
dt-bindings: pinctrl: update bindings for MT7986 SoC
pinctrl: microchip sgpio: use reset driver
dt-bindings: pinctrl: pinctrl-microchip-sgpio: Add reset binding
dt-bindings: pinctrl: qcom,pmic-mpp: switch to #interrupt-cells
pinctrl: qcom: spmi-mpp: add support for hierarchical IRQ chip
pinctrl: qcom: spmi-mpp: hardcode IRQ counts
pinctrl: qcom: ssbi-mpp: add support for hierarchical IRQ chip
...
341 lines
11 KiB
Plaintext
341 lines
11 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
if (ARCH_QCOM || COMPILE_TEST)
|
|
|
|
config PINCTRL_MSM
|
|
tristate "Qualcomm core pin controller driver"
|
|
depends on GPIOLIB
|
|
select QCOM_SCM
|
|
select PINMUX
|
|
select PINCONF
|
|
select GENERIC_PINCONF
|
|
select GPIOLIB_IRQCHIP
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select IRQ_FASTEOI_HIERARCHY_HANDLERS
|
|
|
|
config PINCTRL_APQ8064
|
|
tristate "Qualcomm APQ8064 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm APQ8064 platform.
|
|
|
|
config PINCTRL_APQ8084
|
|
tristate "Qualcomm APQ8084 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm APQ8084 platform.
|
|
|
|
config PINCTRL_IPQ4019
|
|
tristate "Qualcomm IPQ4019 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm IPQ4019 platform.
|
|
|
|
config PINCTRL_IPQ8064
|
|
tristate "Qualcomm IPQ8064 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm IPQ8064 platform.
|
|
|
|
config PINCTRL_IPQ8074
|
|
tristate "Qualcomm Technologies, Inc. IPQ8074 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for
|
|
the Qualcomm Technologies Inc. TLMM block found on the
|
|
Qualcomm Technologies Inc. IPQ8074 platform. Select this for
|
|
IPQ8074.
|
|
|
|
config PINCTRL_IPQ6018
|
|
tristate "Qualcomm Technologies, Inc. IPQ6018 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for
|
|
the Qualcomm Technologies Inc. TLMM block found on the
|
|
Qualcomm Technologies Inc. IPQ6018 platform. Select this for
|
|
IPQ6018.
|
|
|
|
config PINCTRL_MSM8226
|
|
tristate "Qualcomm 8226 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc MSM8226 platform.
|
|
|
|
config PINCTRL_MSM8660
|
|
tristate "Qualcomm 8660 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm 8660 platform.
|
|
|
|
config PINCTRL_MSM8960
|
|
tristate "Qualcomm 8960 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm 8960 platform.
|
|
|
|
config PINCTRL_MDM9607
|
|
tristate "Qualcomm 9607 pin controller driver"
|
|
depends on GPIOLIB && OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm 9607 platform.
|
|
|
|
config PINCTRL_MDM9615
|
|
tristate "Qualcomm 9615 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm 9615 platform.
|
|
|
|
config PINCTRL_MSM8X74
|
|
tristate "Qualcomm 8x74 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm 8974 platform.
|
|
|
|
config PINCTRL_MSM8916
|
|
tristate "Qualcomm 8916 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found on the Qualcomm 8916 platform.
|
|
|
|
config PINCTRL_MSM8953
|
|
tristate "Qualcomm 8953 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found on the Qualcomm MSM8953 platform.
|
|
The Qualcomm APQ8053, SDM450, SDM632 platforms are also
|
|
supported by this driver.
|
|
|
|
config PINCTRL_MSM8976
|
|
tristate "Qualcomm 8976 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found on the Qualcomm MSM8976 platform.
|
|
The Qualcomm MSM8956, APQ8056, APQ8076 platforms are also
|
|
supported by this driver.
|
|
|
|
config PINCTRL_MSM8994
|
|
tristate "Qualcomm 8994 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm 8994 platform. The
|
|
Qualcomm 8992 platform is also supported by this driver.
|
|
|
|
config PINCTRL_MSM8996
|
|
tristate "Qualcomm MSM8996 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm MSM8996 platform.
|
|
|
|
config PINCTRL_MSM8998
|
|
tristate "Qualcomm MSM8998 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm TLMM block found in the Qualcomm MSM8998 platform.
|
|
|
|
config PINCTRL_QCM2290
|
|
tristate "Qualcomm QCM2290 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
TLMM block found in the Qualcomm QCM2290 platform.
|
|
|
|
config PINCTRL_QCS404
|
|
tristate "Qualcomm QCS404 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
TLMM block found in the Qualcomm QCS404 platform.
|
|
|
|
config PINCTRL_QDF2XXX
|
|
tristate "Qualcomm Technologies QDF2xxx pin controller driver"
|
|
depends on ACPI
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the GPIO driver for the TLMM block found on the
|
|
Qualcomm Technologies QDF2xxx SOCs.
|
|
|
|
config PINCTRL_QCOM_SPMI_PMIC
|
|
tristate "Qualcomm SPMI PMIC pin controller driver"
|
|
depends on OF && SPMI
|
|
select REGMAP_SPMI
|
|
select PINMUX
|
|
select PINCONF
|
|
select GENERIC_PINCONF
|
|
select GPIOLIB_IRQCHIP
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips,
|
|
which are using SPMI for communication with SoC. Example PMIC's
|
|
devices are pm8841, pm8941 and pma8084.
|
|
|
|
config PINCTRL_QCOM_SSBI_PMIC
|
|
tristate "Qualcomm SSBI PMIC pin controller driver"
|
|
depends on OF
|
|
select PINMUX
|
|
select PINCONF
|
|
select GENERIC_PINCONF
|
|
select GPIOLIB_IRQCHIP
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm GPIO and MPP blocks found in the Qualcomm PMIC's chips,
|
|
which are using SSBI for communication with SoC. Example PMIC's
|
|
devices are pm8058 and pm8921.
|
|
|
|
config PINCTRL_SC7180
|
|
tristate "Qualcomm Technologies Inc SC7180 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SC7180 platform.
|
|
|
|
config PINCTRL_SC7280
|
|
tristate "Qualcomm Technologies Inc SC7280 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SC7280 platform.
|
|
|
|
config PINCTRL_SC8180X
|
|
tristate "Qualcomm Technologies Inc SC8180x pin controller driver"
|
|
depends on (OF || ACPI)
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SC8180x platform.
|
|
|
|
config PINCTRL_SDM660
|
|
tristate "Qualcomm Technologies Inc SDM660 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SDM660 platform.
|
|
|
|
config PINCTRL_SDM845
|
|
tristate "Qualcomm Technologies Inc SDM845 pin controller driver"
|
|
depends on (OF || ACPI)
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SDM845 platform.
|
|
|
|
config PINCTRL_SDX55
|
|
tristate "Qualcomm Technologies Inc SDX55 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SDX55 platform.
|
|
|
|
config PINCTRL_SM6115
|
|
tristate "Qualcomm Technologies Inc SM6115,SM4250 pin controller driver"
|
|
depends on GPIOLIB && OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SM6115 and SM4250 platforms.
|
|
|
|
config PINCTRL_SM6125
|
|
tristate "Qualcomm Technologies Inc SM6125 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SM6125 platform.
|
|
|
|
config PINCTRL_SM6350
|
|
tristate "Qualcomm Technologies Inc SM6350 pin controller driver"
|
|
depends on GPIOLIB && OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SM6350 platform.
|
|
|
|
config PINCTRL_SM8150
|
|
tristate "Qualcomm Technologies Inc SM8150 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SM8150 platform.
|
|
|
|
config PINCTRL_SM8250
|
|
tristate "Qualcomm Technologies Inc SM8250 pin controller driver"
|
|
depends on OF
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SM8250 platform.
|
|
|
|
config PINCTRL_SM8350
|
|
tristate "Qualcomm Technologies Inc SM8350 pin controller driver"
|
|
depends on PINCTRL_MSM
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc TLMM block found on the Qualcomm
|
|
Technologies Inc SM8350 platform.
|
|
|
|
config PINCTRL_LPASS_LPI
|
|
tristate "Qualcomm Technologies Inc LPASS LPI pin controller driver"
|
|
select PINMUX
|
|
select PINCONF
|
|
select GENERIC_PINCONF
|
|
depends on GPIOLIB
|
|
help
|
|
This is the pinctrl, pinmux, pinconf and gpiolib driver for the
|
|
Qualcomm Technologies Inc LPASS (Low Power Audio SubSystem) LPI
|
|
(Low Power Island) found on the Qualcomm Technologies Inc SoCs.
|
|
|
|
endif
|