mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-17 11:21:05 -05:00
The Snapdragon 660 has a Low-Power Island (LPI) TLMM for configuring pins related to audio. Add the driver for this. Also, this driver uses predefined pin_offsets for each pin taken from downstream driver, which does not follow the usual 0x1000 distance between pins and uses an array with predefined offsets that do not follow any regular pattern [1]. [1] https://git.codelinaro.org/clo/la/kernel/msm-4.4/-/blob/LA.UM.7.2.c27-07400-sdm660.0/drivers/pinctrl/qcom/pinctrl-lpi.c#L107 Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Signed-off-by: Richard Acayan <mailingradian@gmail.com> Co-developed-by: Nickolay Goppen <setotau@mainlining.org> Signed-off-by: Nickolay Goppen <setotau@mainlining.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
158 lines
5.7 KiB
Plaintext
158 lines
5.7 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
|
|
# OF for pinconf_generic_dt_node_to_map_group() from GENERIC_PINCONF
|
|
depends on OF
|
|
select QCOM_SCM
|
|
select PINMUX
|
|
select GENERIC_PINMUX_FUNCTIONS
|
|
select PINCONF
|
|
select GENERIC_PINCONF
|
|
select GPIOLIB_IRQCHIP
|
|
select IRQ_DOMAIN_HIERARCHY
|
|
select IRQ_FASTEOI_HIERARCHY_HANDLERS
|
|
|
|
source "drivers/pinctrl/qcom/Kconfig.msm"
|
|
|
|
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
|
|
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
|
|
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_LPASS_LPI
|
|
tristate "Qualcomm Technologies Inc LPASS LPI pin controller driver"
|
|
select PINMUX
|
|
select PINCONF
|
|
select GENERIC_PINCONF
|
|
select GENERIC_PINCTRL_GROUPS
|
|
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.
|
|
|
|
config PINCTRL_SC7280_LPASS_LPI
|
|
tristate "Qualcomm Technologies Inc SC7280 LPASS LPI pin controller driver"
|
|
depends on ARM64 || COMPILE_TEST
|
|
depends on PINCTRL_LPASS_LPI
|
|
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 SC7280 platform.
|
|
|
|
config PINCTRL_SDM660_LPASS_LPI
|
|
tristate "Qualcomm Technologies Inc SDM660 LPASS LPI pin controller driver"
|
|
depends on GPIOLIB
|
|
depends on ARM64 || COMPILE_TEST
|
|
depends on PINCTRL_LPASS_LPI
|
|
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 SDM660 platform.
|
|
|
|
config PINCTRL_SM4250_LPASS_LPI
|
|
tristate "Qualcomm Technologies Inc SM4250 LPASS LPI pin controller driver"
|
|
depends on ARM64 || COMPILE_TEST
|
|
depends on PINCTRL_LPASS_LPI
|
|
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 SM4250 platform.
|
|
|
|
config PINCTRL_SM6115_LPASS_LPI
|
|
tristate "Qualcomm Technologies Inc SM6115 LPASS LPI pin controller driver"
|
|
depends on ARM64 || COMPILE_TEST
|
|
depends on PINCTRL_LPASS_LPI
|
|
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 SM6115 platform.
|
|
|
|
config PINCTRL_SM8250_LPASS_LPI
|
|
tristate "Qualcomm Technologies Inc SM8250 LPASS LPI pin controller driver"
|
|
depends on ARM64 || COMPILE_TEST
|
|
depends on PINCTRL_LPASS_LPI
|
|
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 SM8250 platform.
|
|
|
|
config PINCTRL_SM8350_LPASS_LPI
|
|
tristate "Qualcomm Technologies Inc SM8350 LPASS LPI pin controller driver"
|
|
depends on ARM64 || COMPILE_TEST
|
|
depends on PINCTRL_LPASS_LPI
|
|
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 SM8350
|
|
platform.
|
|
|
|
config PINCTRL_SM8450_LPASS_LPI
|
|
tristate "Qualcomm Technologies Inc SM8450 LPASS LPI pin controller driver"
|
|
depends on ARM64 || COMPILE_TEST
|
|
depends on PINCTRL_LPASS_LPI
|
|
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 SM8450 platform.
|
|
|
|
config PINCTRL_SC8280XP_LPASS_LPI
|
|
tristate "Qualcomm Technologies Inc SC8280XP LPASS LPI pin controller driver"
|
|
depends on ARM64 || COMPILE_TEST
|
|
depends on PINCTRL_LPASS_LPI
|
|
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 SC8280XP platform.
|
|
|
|
config PINCTRL_SM8550_LPASS_LPI
|
|
tristate "Qualcomm Technologies Inc SM8550 LPASS LPI pin controller driver"
|
|
depends on ARM64 || COMPILE_TEST
|
|
depends on PINCTRL_LPASS_LPI
|
|
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 SM8550
|
|
platform.
|
|
|
|
config PINCTRL_SM8650_LPASS_LPI
|
|
tristate "Qualcomm Technologies Inc SM8650 LPASS LPI pin controller driver"
|
|
depends on ARM64 || COMPILE_TEST
|
|
depends on PINCTRL_LPASS_LPI
|
|
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 SM8650
|
|
platform.
|
|
|
|
endif
|