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