[GIT PULL] pin control changes for v6.12

From: Linus Walleij
Date: Sat Sep 21 2024 - 18:16:20 EST


Hi Linus,

this is the bulk of pin control changes for v6.12, not a lot this time
but the Sophgo SoC is a bit interesting RISC-V thing for image analysis,
and the Mobil EyeQ5 automotive SoC is interesting because it is *new*
MIPS stuff.

Details are in the signed tag.

I managed to pull some Intel ACPI ID patch into the devel branch first
and then sent the same as fix, so it appears in the diffstat but the
commit IDs should be the same and resolve just fine.

Please pull it in!

Yours,
Linus Walleij

The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git
tags/pinctrl-v6.12-1

for you to fetch changes up to 264c13114bd71ddfd7b25c7b94f6cda4587eca25:

Merge tag 'intel-pinctrl-v6.12-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel into devel
(2024-09-11 10:27:30 +0200)

----------------------------------------------------------------
This is the bulk of pin control changes for the v6.12 kernel cycle:

Core changes:

- Add support for "input-schmitt-microvolt" property, as used in the
Sophgo SoC.

New drivers:

- Mobileye EyeQ5 pin controller, I think this is an automotive SoC.

- Rockchip rk3576 pin control support.

- Sophgo CV1800 series pin controllers: CV1800B, CV1812H and SG2000.

Improvements:

- Gradual improvements to Renesas, Samsung, Qualcomm, Nuvoton
and a few other drivers.

----------------------------------------------------------------
Andrei Stefanescu (3):
pinctrl: s32cc: enable the input buffer for a GPIO
pinctrl: s32cc: configure PIN_CONFIG_DRIVE_PUSH_PULL
pinctrl: s32cc: add update and overwrite options when setting pinconf

Andy Shevchenko (11):
pinctrl: intel: Move debounce validation out of the lock
pinctrl: intel: Refactor __intel_gpio_set_direction() to be more useful
pinctrl: intel: Add __intel_gpio_get_direction() helper
pinctrl: intel: Implement high impedance support
pinctrl: intel: Constify intel_get_community() returned object
pinctrl: intel: Introduce for_each_intel_gpio_group() helper et al.
pinctrl: stmfx: Use string_choices API instead of ternary operator
pinctrl: renesas: rzg2l: Replace of_node_to_fwnode() with more
suitable API
pinctrl: intel: Inline intel_gpio_community_irq_handler()
pinctrl: baytrail: Drop duplicate return statement
pinctrl: intel: Constify struct intel_pinctrl parameter

Biju Das (1):
pinctrl: renesas: rzg2l: Use dev_err_probe()

Christophe JAILLET (3):
pinctrl: ti: ti-iodelay: Fix some error handling paths
pinctrl: ti: ti-iodelay: Constify struct ti_iodelay_reg_data
pinctrl: meson: Constify some structures

Detlev Casanova (1):
dt-bindings: pinctrl: Add rk3576 pinctrl support

Fabio Estevam (1):
pinctrl: imx: Switch to LATE_SYSTEM_SLEEP_PM_OPS()

Geert Uytterhoeven (1):
pinctrl: Join split messages and remove double whitespace

Inochi Amaoto (8):
dt-bindings: pincfg-node: Add "input-schmitt-microvolt" property
pinctrl: pinconf-generic: Add support for
"input-schmitt-microvolt" property
dt-bindings: pinctrl: Add pinctrl for Sophgo CV1800 series SoC.
pinctrl: sophgo: add support for CV1800B SoC
pinctrl: sophgo: add support for CV1812H SoC
pinctrl: sophgo: add support for SG2000 SoC
pinctrl: sophgo: add support for SG2002 SoC
pinctrl: sophgo: cv18xx: fix missed __iomem type identifier

Javier Carrasco (2):
pinctrl: ti-iodelay: Constify struct regmap_config
pinctrl: realtek: Constify struct regmap_config

Krzysztof Kozlowski (1):
dt-bindings: pinctrl: qcom: add missing type to GPIO hogs

Lad Prabhakar (3):
pinctrl: renesas: rzg2l: Return -EINVAL if the pin doesn't
support PIN_CFG_OEN
pinctrl: renesas: rzg2l: Introduce single macro for digital
noise filter configuration
pinctrl: renesas: rzg2l: Move pinconf_to_config_argument() call
outside of switch cases

Li Zetao (1):
pinctrl: Remove redundant null pointer checks in
pinctrl_remove_device_debugfs()

Liao Chen (2):
pinctrl: pinctrl-zynq: fix module autoloading
pinctrl: bcm2835: fix module autoloading

Linus Walleij (6):
Merge tag 'intel-pinctrl-v6.11-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel into devel
Merge tag 'renesas-pinctrl-for-v6.12-tag1' of
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
into devel
Merge branch 'ib-sophgo-pintrl' into devel
Merge tag 'samsung-pinctrl-6.12' of
https://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung into
devel
Merge tag 'renesas-pinctrl-for-v6.12-tag2' of
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers
into devel
Merge tag 'intel-pinctrl-v6.12-1' of
git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel into devel

Mika Westerberg (1):
pinctrl: meteorlake: Add Arrow Lake-H/U ACPI ID

Oliver Rhodes (1):
dt-bindings: pinctrl: renesas: Document RZ/G2M v3.0 (r8a774a3) PFC support

Peng Fan (1):
pinctrl: samsung: Use scope based of_node_put() cleanups

Rayyan Ansari (4):
dt-bindings: pinctrl: qcom,apq8064-pinctrl: convert to dtschema
dt-bindings: pinctrl: qcom,ipq8064-pinctrl: convert to dtschema
dt-bindings: pinctrl: qcom,ipq4019-pinctrl: convert to dtschema
dt-bindings: pinctrl: qcom,apq8084-pinctrl: convert to dtschema

Rob Herring (Arm) (2):
pinctrl: samsung: Use of_property_present()
pinctrl: mediatek: Use of_property_read_bool()

Shen Lichuan (4):
pinctrl: samsung: Use kmemdup_array instead of kmemdup for
multiple allocation
pinctrl: renesas: Switch to use kmemdup_array()
drivers/pinctrl: Switch to use kmemdup_array()
pinctrl: freescale: imx-scmi: Use kmemdup_array instead of
kmemdup for multiple allocation

Steven Liu (1):
pinctrl: rockchip: Add rk3576 pinctrl support

Théo Lebrun (2):
Revert "dt-bindings: pinctrl: mobileye,eyeq5-pinctrl: add bindings"
pinctrl: eyeq5: add platform driver

Tomer Maimon (7):
dt-bindings: pinctrl: npcm8xx: remove non-existent groups and functions
pinctrl: nuvoton: npcm8xx: remove non-existent pins, groups, functions
pinctrl: nuvoton: npcm8xx: clear polarity before set both edge
pinctrl: nuvoton: npcm8xx: add gpi35 and gpi36
pinctrl: nuvoton: npcm8xx: add pin 250 to DDR pins group
pinctrl: nuvoton: npcm8xx: modify clkrun and serirq pin configuration
pinctrl: nuvoton: npcm8xx: modify pins flags

Vishnu Reddy (1):
pinctrl: samsung: Add support for pull-up and pull-down

Wang Jianzheng (3):
pinctrl: sunxi: Use devm_clk_get_enabled() helpers
pinctrl: mvebu: Fix devinit_dove_pinctrl_probe function
pinctrl: k210: Use devm_clk_get_enabled() helpers

Yan Zhen (1):
pinctrl: madera: Simplify with dev_err_probe()

Yang Yingliang (1):
pinctrl: single: fix missing error code in pcs_probe()

Yu Jiaoliang (1):
pinctrl: nomadik: Use kmemdup_array instead of kmemdup for
multiple allocation

.../bindings/pinctrl/mobileye,eyeq5-pinctrl.yaml | 242 -------
.../bindings/pinctrl/nuvoton,npcm845-pinctrl.yaml | 70 +-
.../devicetree/bindings/pinctrl/pincfg-node.yaml | 3 +
.../bindings/pinctrl/qcom,apq8064-pinctrl.txt | 95 ---
.../bindings/pinctrl/qcom,apq8064-pinctrl.yaml | 110 +++
.../bindings/pinctrl/qcom,apq8084-pinctrl.txt | 188 -----
.../bindings/pinctrl/qcom,apq8084-pinctrl.yaml | 129 ++++
.../bindings/pinctrl/qcom,ipq4019-pinctrl.txt | 85 ---
.../bindings/pinctrl/qcom,ipq4019-pinctrl.yaml | 103 +++
.../bindings/pinctrl/qcom,ipq8064-pinctrl.txt | 101 ---
.../bindings/pinctrl/qcom,ipq8064-pinctrl.yaml | 108 +++
.../bindings/pinctrl/qcom,pmic-gpio.yaml | 1 +
.../bindings/pinctrl/qcom,sdm845-pinctrl.yaml | 1 +
.../devicetree/bindings/pinctrl/renesas,pfc.yaml | 1 +
.../bindings/pinctrl/rockchip,pinctrl.yaml | 1 +
.../bindings/pinctrl/sophgo,cv1800-pinctrl.yaml | 122 ++++
drivers/pinctrl/Kconfig | 16 +
drivers/pinctrl/Makefile | 2 +
drivers/pinctrl/bcm/pinctrl-bcm2835.c | 1 +
drivers/pinctrl/cirrus/pinctrl-madera-core.c | 9 +-
drivers/pinctrl/core.c | 2 +-
drivers/pinctrl/freescale/pinctrl-imx-scmi.c | 2 +-
drivers/pinctrl/freescale/pinctrl-imx.c | 7 +-
drivers/pinctrl/freescale/pinctrl-imx8mq.c | 2 +-
drivers/pinctrl/intel/pinctrl-baytrail.c | 7 +-
drivers/pinctrl/intel/pinctrl-intel.c | 324 +++++----
drivers/pinctrl/intel/pinctrl-intel.h | 3 +-
drivers/pinctrl/intel/pinctrl-lynxpoint.c | 2 +-
drivers/pinctrl/intel/pinctrl-meteorlake.c | 1 +
drivers/pinctrl/mediatek/pinctrl-paris.c | 7 +-
drivers/pinctrl/meson/pinctrl-amlogic-c3.c | 12 +-
drivers/pinctrl/meson/pinctrl-amlogic-t7.c | 12 +-
drivers/pinctrl/meson/pinctrl-meson-a1.c | 12 +-
drivers/pinctrl/meson/pinctrl-meson-axg-pmx.c | 12 +-
drivers/pinctrl/meson/pinctrl-meson-axg-pmx.h | 2 +-
drivers/pinctrl/meson/pinctrl-meson-axg.c | 24 +-
drivers/pinctrl/meson/pinctrl-meson-g12a.c | 24 +-
drivers/pinctrl/meson/pinctrl-meson-gxbb.c | 16 +-
drivers/pinctrl/meson/pinctrl-meson-gxl.c | 16 +-
drivers/pinctrl/meson/pinctrl-meson-s4.c | 12 +-
drivers/pinctrl/meson/pinctrl-meson.c | 25 +-
drivers/pinctrl/meson/pinctrl-meson.h | 8 +-
drivers/pinctrl/meson/pinctrl-meson8-pmx.c | 6 +-
drivers/pinctrl/meson/pinctrl-meson8.c | 16 +-
drivers/pinctrl/meson/pinctrl-meson8b.c | 16 +-
drivers/pinctrl/mvebu/pinctrl-dove.c | 42 +-
drivers/pinctrl/nomadik/pinctrl-abx500.c | 3 +-
drivers/pinctrl/nomadik/pinctrl-nomadik.c | 3 +-
drivers/pinctrl/nuvoton/pinctrl-npcm8xx.c | 64 +-
drivers/pinctrl/nxp/pinctrl-s32cc.c | 51 +-
drivers/pinctrl/pinconf-generic.c | 2 +
drivers/pinctrl/pinctrl-eyeq5.c | 575 +++++++++++++++
drivers/pinctrl/pinctrl-k210.c | 35 +-
drivers/pinctrl/pinctrl-rockchip.c | 207 ++++++
drivers/pinctrl/pinctrl-rockchip.h | 1 +
drivers/pinctrl/pinctrl-single.c | 3 +-
drivers/pinctrl/pinctrl-stmfx.c | 5 +-
drivers/pinctrl/pinctrl-utils.c | 4 +-
drivers/pinctrl/pinctrl-zynq.c | 1 +
drivers/pinctrl/pinmux.c | 7 +-
drivers/pinctrl/realtek/pinctrl-rtd.c | 2 +-
drivers/pinctrl/renesas/pinctrl-rzg2l.c | 117 ++--
drivers/pinctrl/renesas/pinctrl-rzv2m.c | 3 +-
drivers/pinctrl/renesas/pinctrl.c | 3 +-
drivers/pinctrl/samsung/pinctrl-exynos-arm.c | 14 +
drivers/pinctrl/samsung/pinctrl-exynos.c | 16 +-
drivers/pinctrl/samsung/pinctrl-s3c64xx.c | 14 +
drivers/pinctrl/samsung/pinctrl-samsung.c | 108 ++-
drivers/pinctrl/samsung/pinctrl-samsung.h | 21 +
drivers/pinctrl/sophgo/Kconfig | 54 ++
drivers/pinctrl/sophgo/Makefile | 7 +
drivers/pinctrl/sophgo/pinctrl-cv1800b.c | 462 ++++++++++++
drivers/pinctrl/sophgo/pinctrl-cv1812h.c | 771 +++++++++++++++++++++
drivers/pinctrl/sophgo/pinctrl-cv18xx.c | 765 ++++++++++++++++++++
drivers/pinctrl/sophgo/pinctrl-cv18xx.h | 155 +++++
drivers/pinctrl/sophgo/pinctrl-sg2000.c | 771 +++++++++++++++++++++
drivers/pinctrl/sophgo/pinctrl-sg2002.c | 542 +++++++++++++++
drivers/pinctrl/sunxi/pinctrl-sunxi.c | 14 +-
drivers/pinctrl/ti/pinctrl-ti-iodelay.c | 58 +-
include/dt-bindings/pinctrl/pinctrl-cv1800b.h | 63 ++
include/dt-bindings/pinctrl/pinctrl-cv1812h.h | 127 ++++
include/dt-bindings/pinctrl/pinctrl-cv18xx.h | 19 +
include/dt-bindings/pinctrl/pinctrl-sg2000.h | 127 ++++
include/dt-bindings/pinctrl/pinctrl-sg2002.h | 79 +++
include/linux/pinctrl/pinconf-generic.h | 3 +
85 files changed, 6002 insertions(+), 1274 deletions(-)
delete mode 100644
Documentation/devicetree/bindings/pinctrl/mobileye,eyeq5-pinctrl.yaml
delete mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,apq8064-pinctrl.txt
create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,apq8064-pinctrl.yaml
delete mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,apq8084-pinctrl.txt
create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,apq8084-pinctrl.yaml
delete mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,ipq4019-pinctrl.txt
create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,ipq4019-pinctrl.yaml
delete mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.txt
create mode 100644
Documentation/devicetree/bindings/pinctrl/qcom,ipq8064-pinctrl.yaml
create mode 100644
Documentation/devicetree/bindings/pinctrl/sophgo,cv1800-pinctrl.yaml
create mode 100644 drivers/pinctrl/pinctrl-eyeq5.c
create mode 100644 drivers/pinctrl/sophgo/Kconfig
create mode 100644 drivers/pinctrl/sophgo/Makefile
create mode 100644 drivers/pinctrl/sophgo/pinctrl-cv1800b.c
create mode 100644 drivers/pinctrl/sophgo/pinctrl-cv1812h.c
create mode 100644 drivers/pinctrl/sophgo/pinctrl-cv18xx.c
create mode 100644 drivers/pinctrl/sophgo/pinctrl-cv18xx.h
create mode 100644 drivers/pinctrl/sophgo/pinctrl-sg2000.c
create mode 100644 drivers/pinctrl/sophgo/pinctrl-sg2002.c
create mode 100644 include/dt-bindings/pinctrl/pinctrl-cv1800b.h
create mode 100644 include/dt-bindings/pinctrl/pinctrl-cv1812h.h
create mode 100644 include/dt-bindings/pinctrl/pinctrl-cv18xx.h
create mode 100644 include/dt-bindings/pinctrl/pinctrl-sg2000.h
create mode 100644 include/dt-bindings/pinctrl/pinctrl-sg2002.h