[GIT PULL] Pin control bulk changes for v5.16
From: Linus Walleij
Date: Fri Nov 05 2021 - 05:50:11 EST
Hi Linus,
here is the big pin control pull request for v5.16.
The details are in the signed tag as usual.
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.
Please pull it in!
Yours,
Linus Walleij
The following changes since commit 6880fa6c56601bb8ed59df6c30fd390cc5f6dd8f:
Linux 5.15-rc1 (2021-09-12 16:28:37 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
tags/pinctrl-v5.16-1
for you to fetch changes up to a0f160ffcb83de6a04fa75f9e7bdfe969f2863f7:
pinctrl: add pinctrl/GPIO driver for Apple SoCs (2021-10-27 00:16:52 +0200)
----------------------------------------------------------------
Pin control changes for the v5.16 kernel cycle
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.
----------------------------------------------------------------
Andrey Gusakov (1):
pinctrl: renesas: r8a779[56]x: Add MediaLB pins
Biju Das (1):
pinctrl: renesas: rzg2l: Fix missing port register 21h
Cai Huoqing (2):
pinctrl: nomadik: Kconfig: Remove repeated config dependency
pinctrl: intel: Kconfig: Add configuration menu to Intel pin control
Chanho Park (1):
pinctrl: samsung: support ExynosAutov9 SoC pinctrl
Colin Ian King (1):
pinctrl: Fix spelling mistake "atleast" -> "at least"
Dmitry Baryshkov (6):
dt-bindings: pinctrl: qcom,pmic-mpp: Convert qcom pmic mpp
bindings to YAML
pinctrl: qcom: ssbi-mpp: hardcode IRQ counts
pinctrl: qcom: ssbi-mpp: add support for hierarchical IRQ chip
pinctrl: qcom: spmi-mpp: hardcode IRQ counts
pinctrl: qcom: spmi-mpp: add support for hierarchical IRQ chip
dt-bindings: pinctrl: qcom,pmic-mpp: switch to #interrupt-cells
Du Huanpeng (1):
pinctrl: gemini: fix typos
Fabien Dessenne (1):
pinctrl: stm32: do not warn when 'st,package' is absent
Florian Fainelli (1):
pinctrl: bcm2835: Allow building driver as a module
Geert Uytterhoeven (5):
pinctrl: renesas: Fix save/restore on SoCs with pull-down only pins
pinctrl: renesas: checker: Fix off-by-one bug in drive register check
pinctrl: renesas: checker: Move overlapping field check
pinctrl: renesas: checker: Fix bias checks on SoCs with
pull-down only pins
pinctrl: renesas: checker: Prefix common checker output
Horatiu Vultur (2):
dt-bindings: pinctrl: pinctrl-microchip-sgpio: Add reset binding
pinctrl: microchip sgpio: use reset driver
Jason Wang (1):
pinctrl: renesas: No need to initialise global statics
Joey Gouly (3):
dt-bindings: pinctrl: add #interrupt-cells to apple,pinctrl
dt-bindings: pinctrl: Add apple,npins property to apple,pinctrl
pinctrl: add pinctrl/GPIO driver for Apple SoCs
Johan Jonker (1):
dt-bindings: pinctrl: convert rockchip,pinctrl.txt to YAML
Konrad Dybcio (2):
dt-bindings: pinctrl: qcom: Add SM6350 pinctrl bindings
pinctrl: qcom: Add SM6350 pinctrl driver
Kunihiko Hayashi (3):
pinctrl: uniphier: Add extra audio pinmux settings for LD11,
LD20 and PXs3 SoCs
dt-bindings: pinctrl: uniphier: Add NX1 pinctrl binding
pinctrl: uniphier: Add UniPhier NX1 pinctrl driver
Linus Walleij (3):
Merge tag 'renesas-pinctrl-for-v5.16-tag1' of
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
into devel
Merge tag 'renesas-pinctrl-for-v5.16-tag2' of
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
into devel
Merge branch 'ib-gpio-ppid' into devel
Luca Weiss (3):
pinctrl: qcom: msm8226: fill in more functions
dt-bindings: pinctrl: qcom,pmic-gpio: Add compatible for PM6350
pinctrl: qcom: spmi-gpio: Add compatible for PM6350
Marc Zyngier (1):
gpio: Allow per-parent interrupt data
Prathamesh Shete (3):
pinctrl: tegra: Add pinmux support for Tegra194
pinctrl: tegra: Use correct offset for pin group
pinctrl: tegra: Fix warnings and error
Rahul Tanwar (1):
pinctrl: equilibrium: Fix function addition in multiple groups
Sam Shih (3):
pinctrl: mediatek: moore: check if pin_desc is valid before use
dt-bindings: pinctrl: update bindings for MT7986 SoC
pinctrl: mediatek: add support for MT7986 SoC
Shawn Guo (2):
dt-bindings: pinctrl: qcom: Add QCM2290 pinctrl bindings
pinctrl: qcom: Add QCM2290 pinctrl driver
Subbaraman Narayanamurthy (2):
dt-bindings: pinctrl: qcom-pmic-gpio: Add
output-{enable,disable} properties
pinctrl: qcom: spmi-gpio: add support to enable/disable output
Suresh Mangipudi (1):
pinctrl: tegra: include lpdr pin properties
Yang Yingliang (1):
pinctrl: core: fix possible memory leak in pinctrl_enable()
Zhiyong Tao (6):
pinctrl: mediatek: mt8195: Add pm_ops
dt-bindings: pinctrl: mt8195: add rsel define
dt-bindings: pinctrl: mt8195: change pull up/down description
pinctrl: mediatek: fix coding style
pinctrl: mediatek: support rsel feature
pinctrl: mediatek: add rsel setting on MT8195
.../devicetree/bindings/pinctrl/apple,pinctrl.yaml | 10 +
.../bindings/pinctrl/mediatek,mt7986-pinctrl.yaml | 363 ++++
.../bindings/pinctrl/microchip,sparx5-sgpio.yaml | 7 +
.../bindings/pinctrl/pinctrl-mt8195.yaml | 86 +-
.../bindings/pinctrl/qcom,pmic-gpio.yaml | 4 +
.../devicetree/bindings/pinctrl/qcom,pmic-mpp.txt | 187 --
.../devicetree/bindings/pinctrl/qcom,pmic-mpp.yaml | 188 ++
.../bindings/pinctrl/qcom,qcm2290-pinctrl.yaml | 165 ++
.../bindings/pinctrl/qcom,sm6350-pinctrl.yaml | 148 ++
.../bindings/pinctrl/rockchip,pinctrl.txt | 114 --
.../bindings/pinctrl/rockchip,pinctrl.yaml | 184 ++
.../bindings/pinctrl/samsung-pinctrl.txt | 1 +
.../pinctrl/socionext,uniphier-pinctrl.yaml | 1 +
drivers/gpio/gpiolib.c | 9 +-
drivers/pinctrl/Kconfig | 16 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/bcm/Kconfig | 2 +-
drivers/pinctrl/bcm/pinctrl-bcm2835.c | 9 +-
drivers/pinctrl/core.c | 2 +
drivers/pinctrl/intel/Kconfig | 6 +-
drivers/pinctrl/mediatek/Kconfig | 7 +
drivers/pinctrl/mediatek/Makefile | 1 +
drivers/pinctrl/mediatek/pinctrl-moore.c | 18 +
drivers/pinctrl/mediatek/pinctrl-mt7986.c | 927 ++++++++++
drivers/pinctrl/mediatek/pinctrl-mt8195.c | 134 ++
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c | 231 ++-
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.h | 46 +
drivers/pinctrl/mediatek/pinctrl-paris.c | 68 +-
drivers/pinctrl/nomadik/Kconfig | 1 -
drivers/pinctrl/pinctrl-apple-gpio.c | 534 ++++++
drivers/pinctrl/pinctrl-equilibrium.c | 7 +-
drivers/pinctrl/pinctrl-gemini.c | 4 +-
drivers/pinctrl/pinctrl-microchip-sgpio.c | 7 +
drivers/pinctrl/pinctrl-st.c | 2 +-
drivers/pinctrl/qcom/Kconfig | 17 +
drivers/pinctrl/qcom/Makefile | 2 +
drivers/pinctrl/qcom/pinctrl-msm8226.c | 74 +-
drivers/pinctrl/qcom/pinctrl-qcm2290.c | 1129 ++++++++++++
drivers/pinctrl/qcom/pinctrl-sm6350.c | 1401 +++++++++++++++
drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 7 +
drivers/pinctrl/qcom/pinctrl-spmi-mpp.c | 111 +-
drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | 133 +-
drivers/pinctrl/renesas/core.c | 83 +-
drivers/pinctrl/renesas/pfc-r8a77950.c | 14 +
drivers/pinctrl/renesas/pfc-r8a77951.c | 22 +-
drivers/pinctrl/renesas/pfc-r8a7796.c | 22 +-
drivers/pinctrl/renesas/pfc-r8a77965.c | 22 +-
drivers/pinctrl/renesas/pinctrl-rzg2l.c | 2 +-
drivers/pinctrl/samsung/pinctrl-exynos-arm64.c | 108 ++
drivers/pinctrl/samsung/pinctrl-samsung.c | 2 +
drivers/pinctrl/samsung/pinctrl-samsung.h | 1 +
drivers/pinctrl/stm32/pinctrl-stm32.c | 16 +-
drivers/pinctrl/tegra/pinctrl-tegra.c | 32 +-
drivers/pinctrl/tegra/pinctrl-tegra.h | 2 +
drivers/pinctrl/tegra/pinctrl-tegra194.c | 1794 +++++++++++++++++++-
drivers/pinctrl/tegra/pinctrl-tegra210.c | 330 ++--
drivers/pinctrl/uniphier/Kconfig | 4 +
drivers/pinctrl/uniphier/Makefile | 1 +
drivers/pinctrl/uniphier/pinctrl-uniphier-ld11.c | 18 +
drivers/pinctrl/uniphier/pinctrl-uniphier-ld20.c | 35 +
drivers/pinctrl/uniphier/pinctrl-uniphier-nx1.c | 489 ++++++
drivers/pinctrl/uniphier/pinctrl-uniphier-pxs3.c | 40 +
include/dt-bindings/pinctrl/mt65xx.h | 9 +
include/linux/gpio/driver.h | 19 +-
64 files changed, 8720 insertions(+), 709 deletions(-)
create mode 100644
Documentation/devicetree/bindings/pinctrl/mediatek,mt7986-pinctrl.yaml
delete mode 100644 Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.txt
create mode 100644 Documentation/devicetree/bindings/pinctrl/qcom,pmic-mpp.yaml
create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,qcm2290-pinctrl.yaml
create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,sm6350-pinctrl.yaml
delete mode 100644
Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.txt
create mode 100644
Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.yaml
create mode 100644 drivers/pinctrl/mediatek/pinctrl-mt7986.c
create mode 100644 drivers/pinctrl/pinctrl-apple-gpio.c
create mode 100644 drivers/pinctrl/qcom/pinctrl-qcm2290.c
create mode 100644 drivers/pinctrl/qcom/pinctrl-sm6350.c
create mode 100644 drivers/pinctrl/uniphier/pinctrl-uniphier-nx1.c