[GIT PULL] pin control changes for v5.17
From: Linus Walleij
Date: Wed Jan 12 2022 - 06:23:27 EST
Hi Linus,
this is the big pin control pull request for v5.17.
Notices:
- There will be conflicts! Kconfig and Makefile conflicts due to
some RISC-V Starfive patches getting merged through the
SoC tree while we were tidying up the Kconfig and Makefile
(to avoid merge conflicts, heh) there is a resolution in linux-next
which was discussed and reviewed to be correct.
- Some new code is added for lib/string_helpers.c by long time
lib contributor Andy Schevchenko.
- A patch affecting some broadcom device trees was ripped
out last minute and sent as a fix as its absence was causing
regressions on the Raspberry Pi, I chose not to revert it from
the devel tree as it seemed more messy than just letting git
sort out the zero textual diff to your tree, this isn't the prettiest
but, you know: it happens.
- The most interesting new driver is maybe the Intel "Thunder
Bay" SoC. In difference from what one may think this is not
some laptop x86 chip but actually an Arm64-based computer
vision (AI) chip and successor (I guess) to the previous Keem
Bay. The main SoC support for this chips is forthcoming.
Please pull it in and enjoy the conflicts!
Yours,
Linus Walleij
The following changes since commit 136057256686de39cc3a07c2e39ef6bc43003ff6:
Linux 5.16-rc2 (2021-11-21 13:47:39 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
tags/pinctrl-v5.17-1
for you to fetch changes up to 7442936633bd1906a2571116ae334b68c56c8a72:
pinctrl: imx: fix assigning groups names (2022-01-02 07:33:51 +0100)
----------------------------------------------------------------
Pin control bulk changes for the v5.17 kernel cycle
Core changes:
- New standard enumerator and corresponding device tree bindings
for output impedance pin configuration. (Implemented and used
in the Renesas rzg2l driver.)
- Cleanup of Kconfig and Makefile to be somewhat orderly and
alphabetic.
New drivers:
- Samsung Exynos 7885 pin controller.
- Ocelot LAN966x pin controller.
- Qualcomm SDX65 pin controller.
- Qualcomm SM8450 pin controller.
- Qualcomm PM8019, PM8226 and PM2250 pin controllers.
- NXP/Freescale i.MXRT1050 pin controller.
- Intel Thunder Bay pin controller.
Enhancements:
- Introduction of the string library helper function
"kasprintf_strarray()" and subsequent use in Rockchip, ST and
Armada pin control drivers, as well as the GPIO mockup driver.
- The Ocelot pin controller has been extensively rewritten to
use regmap and other modern kernel infrastructure.
- The Microchip SGPIO driver has been converted to use regmap.
- The SPEAr driver had been converted to use regmap.
- Substantial cleanups and janitorial on the Apple pin control
driver that was merged for v5.16.
- Janitorial to remove of_node assignments in the GPIO portions
that anyway get this handled in the GPIO core.
- Minor cleanups and improvements in several pin controllers.
----------------------------------------------------------------
Andy Shevchenko (23):
lib/string_helpers: Introduce kasprintf_strarray()
lib/string_helpers: Introduce managed variant of kasprintf_strarray()
pinctrl/rockchip: Drop wrong kernel doc annotation
pinctrl/rockchip: Use temporary variable for struct device
pinctrl/rockchip: Make use of the devm_platform_get_and_ioremap_resource()
pinctrl/rockchip: Convert to use dev_err_probe()
pinctrl/rockchip: Switch to use devm_kasprintf_strarray()
pinctrl: armada-37xx: Fix function name in the kernel doc
pinctrl: armada-37xx: Use temporary variable for struct device
pinctrl: armada-37xx: Make use of the devm_platform_ioremap_resource()
pinctrl: armada-37xx: Convert to use dev_err_probe()
pinctrl: armada-37xx: Switch to use devm_kasprintf_strarray()
pinctrl: st: Drop wrong kernel doc annotations
pinctrl: st: Use temporary variable for struct device
pinctrl: st: Make use of the devm_platform_ioremap_resource_byname()
pinctrl: st: Convert to use dev_err_probe()
pinctrl: st: Switch to use devm_kasprintf_strarray()
pinctrl: zynqmp: Unify pin naming
gpio: mockup: Switch to use kasprintf_strarray()
pinctrl: cherryview: Use temporary variable for struct device
pinctrl: Sort Kconfig and Makefile entries alphabetically
pinctrl: Get rid of duplicate of_node assignment in the drivers
pinctrl: Propagate firmware node from a parent device
Colin Foster (4):
pinctrl: ocelot: combine get resource and ioremap into single call
pinctrl: ocelot: update pinctrl to automatic base address
pinctrl: ocelot: convert pinctrl to regmap
pinctrl: microchip-sgpio: update to support regmap
Dan Carpenter (2):
pinctrl: mediatek: uninitialized variable in mtk_pctrl_show_one_pin()
pinctrl: mediatek: add a check for error in mtk_pinconf_bias_get_rsel()
David Virag (2):
dt-bindings: pinctrl: samsung: Document Exynos7885
pinctrl: samsung: Add Exynos7885 SoC specific data
Dominik Kobinski (1):
dt-bindings: pinctrl: qcom: pmic-gpio: Document pm8226 compatible
Geert Uytterhoeven (3):
pinctrl: renesas: rza1: Fix kerneldoc function names
pinctrl: renesas: Remove unneeded locking around sh_pfc_read() calls
pinctrl: renesas: r8a779a0: Align comments
Giulio Benetti (1):
pinctrl: freescale: Add i.MXRT1050 pinctrl driver support
Hans Verkuil (2):
pinctrl-bcm2835: don't call pinctrl_gpio_direction()
pinctrl-sunxi: don't call pinctrl_gpio_direction()
Hans de Goede (3):
pinctrl: baytrail: Set IRQCHIP_SET_TYPE_MASKED flag on the irqchip
pinctrl: cherryview: Don't use selection 0 to mark an interrupt
line as unused
pinctrl: cherryview: Do not allow the same interrupt line to be
used by 2 pins
Herve Codina (3):
pinctrl: spear: spear: Convert to regmap
pinctrl: spear: plgpio: Convert to regmap
pinctrl: spear: plgpio: Introduce regmap phandle
Jesse Taube (1):
dt-bindings: pinctrl: add i.MXRT1050 pinctrl binding doc
Joey Gouly (11):
pinctrl: apple: fix some formatting issues
pinctrl: apple: add missing comma
pinctrl: apple: use C style comment
pinctrl: apple: add missing bits.h header
pinctrl: apple: handle regmap_read errors
pinctrl: apple: make apple_gpio_get_direction more readable
pinctrl: apple: give error label a specific name
pinctrl: apple: remove gpio-controller check
pinctrl: apple: don't set gpio_chip.of_node
pinctrl: apple: use modulo rather than bitwise and
pinctrl: apple: return an error if pinmux is missing in the DT
John Keeping (1):
pinctrl/rockchip: fix gpio device creation
Julian Braha (1):
pinctrl: aspeed: fix unmet dependencies on MFD_SYSCON for PINCTRL_ASPEED
Kavyasree Kotagiri (2):
dt-bindings: pinctrl: ocelot: add lan966x SoC support
pinctrl: ocelot: Extend support for lan966x
Konrad Dybcio (2):
dt-bindings: pinctrl: qcom,pmic-gpio: Add compatible for PM8019
pinctrl: qcom-pmic-gpio: Add support for pm8019
Kunihiko Hayashi (1):
dt-bindings: pinctrl: uniphier: Add child node definitions to
describe pin mux and configuration
Lad Prabhakar (9):
dt-bindings: pincfg-node: Add "output-impedance-ohms" property
pinctrl: pinconf-generic: Add support for
"output-impedance-ohms" to be extracted from DT files
dt-bindings: pinctrl: renesas,rzg2l-pinctrl: Add
output-impedance-ohms property
pinctrl: renesas: rzg2l: Rename RZG2L_SINGLE_PIN_GET_PORT macro
pinctrl: renesas: rzg2l: Add helper functions to read/write pin config
pinctrl: renesas: rzg2l: Add support to get/set pin config for
GPIO port pins
pinctrl: renesas: rzg2l: Rename PIN_CFG_* macros to match HW manual
pinctrl: renesas: rzg2l: Add support to get/set drive-strength
and output-impedance-ohms
pinctrl: samsung: Use platform_get_irq_optional() to get the interrupt
Lakshmi Sowjanya D (2):
dt-bindings: pinctrl: Add bindings for Intel Thunderbay pinctrl driver
pinctrl: Add Intel Thunder Bay pinctrl driver
Linus Walleij (8):
Merge tag 'intel-pinctrl-v5.17-2' of
gitolite.kernel.org:pub/scm/linux/kernel/git/pinctrl/intel into devel
Merge tag 'v5.16-rc2' into devel
Revert "dt-bindings: pinctrl: qcom: Add SDX65 pinctrl bindings"
Merge tag 'renesas-pinctrl-for-v5.17-tag1' of
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
into devel
pinctrl: bcm2835: Silence uninit warning
Merge tag 'intel-pinctrl-v5.17-3' of
gitolite.kernel.org:pub/scm/linux/kernel/git/pinctrl/intel into devel
Merge tag 'renesas-pinctrl-for-v5.17-tag2' of
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
into devel
Merge tag 'samsung-pinctrl-5.17' of
https://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung into
devel
Loic Poulain (2):
pinctrl: spmi-gpio: Add support for PM2250
dt-bindings: qcom,pmic-gpio: Add pm2250 compatible string
Phil Elwell (1):
ARM: dts: gpio-ranges property is now required
Prasad Sodagudi (1):
pinctrl: qcom: Add egpio feature support
Rafał Miłecki (9):
dt-bindings: pinctrl: convert controller description to the json-schema
dt-bindings: pinctrl: use pinctrl.yaml
pinctrl: imx: prepare for making "group_names" in "function_desc" const
pinctrl: keembay: comment process of building functions a bit
pinctrl: keembay: rework loops looking for groups names
pinctrl: add one more "const" for generic function groups
pinctrl: imx: fix allocation result check
pinctrl: bcm: ns: use generic groups & functions helpers
pinctrl: imx: fix assigning groups names
Rajendra Nayak (1):
pinctrl: qcom: sc7280: Add egpio support
Tinghan Shen (1):
dt-bindings: pinctrl: mt8195: add wrapping node of pin configurations
Vamsi Krishna Lanka (3):
dt-bindings: pinctrl: qcom: Add SDX65 pinctrl bindings
pinctrl: qcom: Add SDX65 pincontrol driver
dt-bindings: pinctrl: qcom: Add SDX65 pinctrl bindings
Vinod Koul (2):
dt-bindings: pinctrl: qcom: Add SM8450 pinctrl bindings
pinctrl: qcom: Add SM8450 pinctrl driver
Wei Yongjun (1):
pinctrl: samsung: Make symbol 'exynos7885_pin_ctrl' static
kernel test robot (1):
pinctrl: apple-gpio: fix flexible_array.cocci warnings
.../bindings/pinctrl/actions,s500-pinctrl.yaml | 3 +
.../pinctrl/allwinner,sun4i-a10-pinctrl.yaml | 1 +
.../devicetree/bindings/pinctrl/apple,pinctrl.yaml | 3 +
.../bindings/pinctrl/aspeed,ast2400-pinctrl.yaml | 3 +
.../bindings/pinctrl/aspeed,ast2500-pinctrl.yaml | 3 +
.../bindings/pinctrl/aspeed,ast2600-pinctrl.yaml | 3 +
.../bindings/pinctrl/brcm,bcm6318-pinctrl.yaml | 3 +
.../bindings/pinctrl/brcm,bcm63268-pinctrl.yaml | 3 +
.../bindings/pinctrl/brcm,bcm6328-pinctrl.yaml | 3 +
.../bindings/pinctrl/brcm,bcm6358-pinctrl.yaml | 3 +
.../bindings/pinctrl/brcm,bcm6362-pinctrl.yaml | 3 +
.../bindings/pinctrl/brcm,bcm6368-pinctrl.yaml | 3 +
.../bindings/pinctrl/brcm,ns-pinmux.yaml | 3 +-
.../bindings/pinctrl/canaan,k210-fpioa.yaml | 7 +-
.../bindings/pinctrl/cirrus,lochnagar.yaml | 3 +
.../devicetree/bindings/pinctrl/cirrus,madera.yaml | 3 +
.../bindings/pinctrl/fsl,imx8mm-pinctrl.yaml | 3 +
.../bindings/pinctrl/fsl,imx8mn-pinctrl.yaml | 3 +
.../bindings/pinctrl/fsl,imx8mp-pinctrl.yaml | 3 +
.../bindings/pinctrl/fsl,imx8mq-pinctrl.yaml | 3 +
.../bindings/pinctrl/fsl,imx8ulp-pinctrl.yaml | 3 +
.../devicetree/bindings/pinctrl/fsl,imxrt1050.yaml | 79 +
.../bindings/pinctrl/ingenic,pinctrl.yaml | 8 +-
.../devicetree/bindings/pinctrl/intel,lgm-io.yaml | 3 +
.../bindings/pinctrl/intel,pinctrl-thunderbay.yaml | 119 ++
.../bindings/pinctrl/mediatek,mt65xx-pinctrl.yaml | 3 +
.../bindings/pinctrl/mediatek,mt6779-pinctrl.yaml | 3 +
.../bindings/pinctrl/mediatek,mt6797-pinctrl.yaml | 3 +
.../bindings/pinctrl/mediatek,mt7622-pinctrl.yaml | 3 +
.../bindings/pinctrl/mediatek,mt7986-pinctrl.yaml | 3 +
.../bindings/pinctrl/mediatek,mt8183-pinctrl.yaml | 3 +
.../bindings/pinctrl/mscc,ocelot-pinctrl.txt | 3 +-
.../devicetree/bindings/pinctrl/pincfg-node.yaml | 3 +
.../bindings/pinctrl/pinctrl-bindings.txt | 41 +-
.../bindings/pinctrl/pinctrl-mt8192.yaml | 3 +
.../bindings/pinctrl/pinctrl-mt8195.yaml | 341 ++--
.../devicetree/bindings/pinctrl/pinctrl.yaml | 45 +
.../bindings/pinctrl/qcom,ipq6018-pinctrl.yaml | 3 +
.../bindings/pinctrl/qcom,lpass-lpi-pinctrl.yaml | 3 +
.../bindings/pinctrl/qcom,mdm9607-pinctrl.yaml | 1 +
.../bindings/pinctrl/qcom,msm8226-pinctrl.yaml | 3 +
.../bindings/pinctrl/qcom,msm8953-pinctrl.yaml | 3 +
.../bindings/pinctrl/qcom,pmic-gpio.yaml | 3 +
.../bindings/pinctrl/qcom,qcm2290-pinctrl.yaml | 3 +
.../bindings/pinctrl/qcom,sc7280-pinctrl.yaml | 3 +
.../bindings/pinctrl/qcom,sc8180x-pinctrl.yaml | 1 +
.../bindings/pinctrl/qcom,sdx55-pinctrl.yaml | 3 +
.../bindings/pinctrl/qcom,sdx65-pinctrl.yaml | 191 +++
.../bindings/pinctrl/qcom,sm6115-pinctrl.yaml | 3 +
.../bindings/pinctrl/qcom,sm6125-pinctrl.yaml | 1 +
.../bindings/pinctrl/qcom,sm6350-pinctrl.yaml | 1 +
.../bindings/pinctrl/qcom,sm8250-pinctrl.yaml | 3 +
.../bindings/pinctrl/qcom,sm8350-pinctrl.yaml | 1 +
.../bindings/pinctrl/qcom,sm8450-pinctrl.yaml | 143 ++
.../bindings/pinctrl/qcom,tlmm-common.yaml | 3 +
.../bindings/pinctrl/ralink,rt2880-pinmux.yaml | 3 +
.../devicetree/bindings/pinctrl/renesas,pfc.yaml | 3 +
.../bindings/pinctrl/renesas,rza1-ports.yaml | 3 +
.../bindings/pinctrl/renesas,rza2-pinctrl.yaml | 3 +
.../bindings/pinctrl/renesas,rzg2l-pinctrl.yaml | 5 +
.../bindings/pinctrl/renesas,rzn1-pinctrl.yaml | 3 +
.../bindings/pinctrl/rockchip,pinctrl.yaml | 3 +
.../bindings/pinctrl/samsung-pinctrl.txt | 1 +
.../pinctrl/socionext,uniphier-pinctrl.yaml | 44 +-
.../bindings/pinctrl/st,stm32-pinctrl.yaml | 3 +
.../bindings/pinctrl/toshiba,visconti-pinctrl.yaml | 5 +-
.../bindings/pinctrl/xlnx,zynq-pinctrl.yaml | 3 +
.../bindings/pinctrl/xlnx,zynqmp-pinctrl.yaml | 3 +
MAINTAINERS | 5 +
arch/arm/boot/dts/bcm2711.dtsi | 2 +
arch/arm/boot/dts/bcm283x.dtsi | 2 +
drivers/gpio/gpio-mockup.c | 23 +-
drivers/pinctrl/Kconfig | 450 +++---
drivers/pinctrl/Makefile | 46 +-
drivers/pinctrl/actions/pinctrl-owl.c | 1 -
drivers/pinctrl/aspeed/Kconfig | 2 +-
drivers/pinctrl/bcm/Kconfig | 2 +
drivers/pinctrl/bcm/pinctrl-bcm2835.c | 15 +-
drivers/pinctrl/bcm/pinctrl-iproc-gpio.c | 1 -
drivers/pinctrl/bcm/pinctrl-ns.c | 163 +-
drivers/pinctrl/bcm/pinctrl-nsp-gpio.c | 1 -
drivers/pinctrl/cirrus/pinctrl-lochnagar.c | 3 -
drivers/pinctrl/cirrus/pinctrl-madera-core.c | 5 +-
drivers/pinctrl/freescale/Kconfig | 7 +
drivers/pinctrl/freescale/Makefile | 1 +
drivers/pinctrl/freescale/pinctrl-imx.c | 17 +-
drivers/pinctrl/freescale/pinctrl-imxrt1050.c | 349 ++++
drivers/pinctrl/intel/pinctrl-baytrail.c | 2 +-
drivers/pinctrl/intel/pinctrl-cherryview.c | 130 +-
drivers/pinctrl/mediatek/pinctrl-moore.c | 7 +-
drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c | 2 +
drivers/pinctrl/mediatek/pinctrl-paris.c | 7 +-
drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 85 +-
drivers/pinctrl/pinconf-generic.c | 2 +
drivers/pinctrl/pinctrl-amd.c | 3 -
drivers/pinctrl/pinctrl-apple-gpio.c | 105 +-
drivers/pinctrl/pinctrl-as3722.c | 13 +-
drivers/pinctrl/pinctrl-at91-pio4.c | 1 -
drivers/pinctrl/pinctrl-at91.c | 1 -
drivers/pinctrl/pinctrl-da9062.c | 6 +-
drivers/pinctrl/pinctrl-digicolor.c | 5 +-
drivers/pinctrl/pinctrl-keembay.c | 87 +-
drivers/pinctrl/pinctrl-max77620.c | 11 +-
drivers/pinctrl/pinctrl-mcp23s08.c | 1 -
drivers/pinctrl/pinctrl-microchip-sgpio.c | 45 +-
drivers/pinctrl/pinctrl-ocelot.c | 486 +++++-
drivers/pinctrl/pinctrl-oxnas.c | 1 -
drivers/pinctrl/pinctrl-pic32.c | 2 +-
drivers/pinctrl/pinctrl-rk805.c | 12 +-
drivers/pinctrl/pinctrl-rockchip.c | 161 +-
drivers/pinctrl/pinctrl-st.c | 116 +-
drivers/pinctrl/pinctrl-stmfx.c | 1 -
drivers/pinctrl/pinctrl-sx150x.c | 3 -
drivers/pinctrl/pinctrl-thunderbay.c | 1322 +++++++++++++++
drivers/pinctrl/pinctrl-xway.c | 1 -
drivers/pinctrl/pinctrl-zynqmp.c | 10 +-
drivers/pinctrl/pinmux.c | 2 +-
drivers/pinctrl/pinmux.h | 4 +-
drivers/pinctrl/qcom/Kconfig | 18 +
drivers/pinctrl/qcom/Makefile | 2 +
drivers/pinctrl/qcom/pinctrl-msm.c | 16 +-
drivers/pinctrl/qcom/pinctrl-msm.h | 10 +
drivers/pinctrl/qcom/pinctrl-sc7280.c | 75 +-
drivers/pinctrl/qcom/pinctrl-sdx65.c | 967 +++++++++++
drivers/pinctrl/qcom/pinctrl-sm8450.c | 1689 ++++++++++++++++++++
drivers/pinctrl/qcom/pinctrl-spmi-gpio.c | 2 +
drivers/pinctrl/qcom/pinctrl-ssbi-gpio.c | 1 -
drivers/pinctrl/qcom/pinctrl-ssbi-mpp.c | 1 -
drivers/pinctrl/renesas/pfc-r8a779a0.c | 4 +-
drivers/pinctrl/renesas/pinctrl-rza1.c | 6 +-
drivers/pinctrl/renesas/pinctrl-rza2.c | 1 -
drivers/pinctrl/renesas/pinctrl-rzg2l.c | 310 ++--
drivers/pinctrl/renesas/pinctrl.c | 9 +-
drivers/pinctrl/samsung/pinctrl-exynos-arm64.c | 81 +
drivers/pinctrl/samsung/pinctrl-samsung.c | 11 +-
drivers/pinctrl/samsung/pinctrl-samsung.h | 1 +
drivers/pinctrl/spear/pinctrl-plgpio.c | 149 +-
drivers/pinctrl/spear/pinctrl-spear.c | 10 +-
drivers/pinctrl/spear/pinctrl-spear.h | 12 +-
drivers/pinctrl/sunxi/pinctrl-sunxi.c | 8 +-
drivers/pinctrl/vt8500/pinctrl-wmt.c | 1 -
include/linux/pinctrl/pinconf-generic.h | 3 +
include/linux/string_helpers.h | 4 +
lib/string_helpers.c | 64 +
144 files changed, 7124 insertions(+), 1242 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pinctrl/fsl,imxrt1050.yaml
create mode 100644
Documentation/devicetree/bindings/pinctrl/intel,pinctrl-thunderbay.yaml
create mode 100644 Documentation/devicetree/bindings/pinctrl/pinctrl.yaml
create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,sdx65-pinctrl.yaml
create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,sm8450-pinctrl.yaml
create mode 100644 drivers/pinctrl/freescale/pinctrl-imxrt1050.c
create mode 100644 drivers/pinctrl/pinctrl-thunderbay.c
create mode 100644 drivers/pinctrl/qcom/pinctrl-sdx65.c
create mode 100644 drivers/pinctrl/qcom/pinctrl-sm8450.c