mirror-linux/drivers/pinctrl/mediatek
Linus Torvalds 5fb0249319 Pin control changes for the v6.18 kernel cycle:
Core changes:
 
 - Allow pins to be identified/marked as GPIO mode with
   a special callback. The pin controller core is now
   "aware" if a pin is in GPIO mode if the callback is
   implemented in the driver, and can thus be marked
   as "strict", i.e. disallowing simultaneous use of a
   line as GPIO and another function such as I2C. This
   is enabled in the Qualcomm TLMM driver and also
   implemeted from day 1 in the new Broadcom STB driver.
 
 - Rename the pin config option PIN_CONFIG_OUTPUT to
   PIN_CONFIG_LEVEL to better describe what the config is
   doing, as well as making it more intuitive what shall
   be returned when reading this property.
 
 New drivers:
 
 - Qualcomm SDM660 LPASS LPI TLMM pin controller subdriver.
 
 - Qualcomm Glymur family pin controller driver.
 
 - Broadcom STB family pin controller driver.
 
 - Tegra186 pin controller driver.
 
 - AAEON UP pin controller support. This is some special
   pin controller that works as an external advanced line
   MUX and amplifier for signals from an Intel SoC.
   A cooperative effort with the GPIO maintainer was
   needed to reach a solution where we reuse code from
   the GPIO aggregator/forwarder driver.
 
 - Renesas RZ/T2H and RZ/N2H pin controller support.
 
 - Axis ARTPEC-8 subdriver for the Samsung pin controller
   driver.
 
 Improvements:
 
 - Output enable (OEN) support in the Renesas RZG2L driver.
 
 - Properly support bias pull up/down in the pinctrl-single
   driver.
 
 - Move over all GPIO portions using generic MMIO GPIO to
   the new generic GPIO chip management which has a nice and
   separate API.
 
 - Proper DT bindings for some older Broadcom SoCs.
 
 - External GPIO (EGPIO) support in the Qualcomm SM8250.
 
 Deleted code:
 
 - Dropped the now unused Samsung S3C24xx drivers.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmjcI6IACgkQQRCzN7AZ
 XXMFYxAApJr9Rlqh3WlOzvAa2kVrGev0m3S2I0SiQUAIy2TwfMBGBRjDTOQJ+db/
 ZazjsTyL+ObuCRmWJpoqlRThEB9oh5xgqN5OHCSIBQXqnjCzG9jnw+s50dGl5r77
 vX5RtS5OxPgqe2ay9DY9SA8Ix0G5Yxdq9eP2MfeX45zjAfGWGq6bJT+Llkpf5y8L
 a1k1EQmQbogw6DLLmpiSUA2qtFitGdB9rLkk/inYWZHq6g8qva4eoVdE+PhzG1ky
 DrkXaJF3+hC/fBBGk4yrzHfnLL7pqIzyhN3on5Xy9lMfytU8bxGESZck1BxaauHZ
 63w8kEfGOsOztbKQ9VLAzDg9Jd+t7fVMmQw5kXT53TEhB0hfX0SbiK2I8UAF3vkV
 dCe6AWD2Zzz5XlDJpl5vOOYr9lSmuVCZuaIdvgoyLk4BJSLau+24Rme9gqfulT92
 /z2mxCHO6CIzIgH4ILiyM90pIE4OCXp0II7SinZ34alO8ZoMyFHAT2Sqa736WdlQ
 PVfBRBIIJF02os3bcudXpwCD7Xn0ksE5UwVgdDSIk9MKdRI5ZGdbt0y9HUrnfTDk
 5hFH3rbm8Vdk65UHcgIiYTN9C9JlbPscNyQG0z4a1OUr2O4wurr0eFBn+kFpluRn
 ZQBQwjxtEqedsunb5W5Ny79srN6okddpzCIUSQDL20Uw69zy9L0=
 =DZy/
 -----END PGP SIGNATURE-----

Merge tag 'pinctrl-v6.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

Pull pin control updates from Linus Walleij:
 "We have GPIO awareness in the pin control core and an interesting
  AAEON driver.

  Core changes:

   - Allow pins to be identified/marked as GPIO mode with a special
     callback.

     The pin controller core is now "aware" if a pin is in GPIO mode if
     the callback is implemented in the driver, and can thus be marked
     as "strict", i.e. disallowing simultaneous use of a line as GPIO
     and another function such as I2C.

     This is enabled in the Qualcomm TLMM driver and also implemeted
     from day 1 in the new Broadcom STB driver

   - Rename the pin config option PIN_CONFIG_OUTPUT to PIN_CONFIG_LEVEL
     to better describe what the config is doing, as well as making it
     more intuitive what shall be returned when reading this property

  New drivers:

   - Qualcomm SDM660 LPASS LPI TLMM pin controller subdriver

   - Qualcomm Glymur family pin controller driver

   - Broadcom STB family pin controller driver

   - Tegra186 pin controller driver

   - AAEON UP pin controller support.

     This is some special pin controller that works as an external
     advanced line MUX and amplifier for signals from an Intel SoC. A
     cooperative effort with the GPIO maintainer was needed to reach a
     solution where we reuse code from the GPIO aggregator/forwarder
     driver

   - Renesas RZ/T2H and RZ/N2H pin controller support

   - Axis ARTPEC-8 subdriver for the Samsung pin controller driver

  Improvements:

   - Output enable (OEN) support in the Renesas RZG2L driver

   - Properly support bias pull up/down in the pinctrl-single driver

   - Move over all GPIO portions using generic MMIO GPIO to the new
     generic GPIO chip management which has a nice and separate API

   - Proper DT bindings for some older Broadcom SoCs

   - External GPIO (EGPIO) support in the Qualcomm SM8250

  Deleted code:

   - Dropped the now unused Samsung S3C24xx drivers"

* tag 'pinctrl-v6.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (75 commits)
  pinctrl: use more common syntax for compound literals
  pinctrl: Simplify printks with pOF format
  pinctrl: qcom: Add SDM660 LPASS LPI TLMM
  dt-bindings: pinctrl: qcom: Add SDM660 LPI pinctrl
  pinctrl: qcom: lpass-lpi: Add ability to use custom pin offsets
  pinctrl: qcom: Add glymur pinctrl driver
  dt-bindings: pinctrl: qcom: Add Glymur pinctrl
  pinctrl: qcom: sm8250: Add egpio support
  pinctrl: generic: rename PIN_CONFIG_OUTPUT to LEVEL
  pinctrl: keembay: fix double free in keembay_build_functions()
  pinctrl: spacemit: fix typo in PRI_TDI pin name
  pinctrl: eswin: Fix regulator error check and Kconfig dependency
  pinctrl: bcm: Add STB family pin controller driver
  dt-bindings: pinctrl: Add support for Broadcom STB pin controller
  pinctrl: qcom: make the pinmuxing strict
  pinctrl: qcom: mark the `gpio` and `egpio` pins function as non-strict functions
  pinctrl: qcom: add infrastructure for marking pin functions as GPIOs
  pinctrl: allow to mark pin functions as requestable GPIOs
  pinctrl: qcom: use generic pin function helpers
  pinctrl: make struct pinfunction a pointer in struct function_desc
  ...
2025-10-01 13:14:48 -07:00
..
Kconfig pinctrl: mediatek: Add pinctrl driver for mt8189 2025-07-23 13:35:40 +02:00
Makefile pinctrl: mediatek: Add pinctrl driver for mt8189 2025-07-23 13:35:40 +02:00
mtk-eint.c pinctrl: Use dev_fwnode() 2025-06-18 13:32:11 +02:00
mtk-eint.h pinctrl: mediatek: eint: Fix invalid pointer dereference for v1 platforms 2025-05-21 00:39:30 +02:00
pinctrl-airoha.c Pin control changes for the v6.18 kernel cycle: 2025-10-01 13:14:48 -07:00
pinctrl-moore.c pinctrl: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02:00
pinctrl-moore.h pinctrl: mediatek: moore: replace struct function_desc with struct pinfunction 2025-09-08 14:21:59 +02:00
pinctrl-mt76x8.c pinctrl: ralink: mt76x8: fix pinmux function 2024-06-17 09:23:02 +02:00
pinctrl-mt2701.c pinctrl: mediatek: Switch to use no-IRQ PM helpers 2023-12-04 15:32:42 +01:00
pinctrl-mt2712.c pinctrl: mediatek: Switch to use no-IRQ PM helpers 2023-12-04 15:32:42 +01:00
pinctrl-mt6397.c
pinctrl-mt6765.c pinctrl: mediatek: fix module autoloading 2024-04-17 10:43:50 +02:00
pinctrl-mt6779.c pinctrl: mediatek: fix module autoloading 2024-04-17 10:43:50 +02:00
pinctrl-mt6795.c pinctrl: mediatek: Switch to use no-IRQ PM helpers 2023-12-04 15:32:42 +01:00
pinctrl-mt6797.c
pinctrl-mt6893.c pinctrl: mediatek: Add pinctrl driver for MT6893 Dimensity 1200 2025-04-17 09:39:15 +02:00
pinctrl-mt7620.c
pinctrl-mt7621.c
pinctrl-mt7622.c pinctrl: mediatek: moore: replace struct function_desc with struct pinfunction 2025-09-08 14:21:59 +02:00
pinctrl-mt7623.c pinctrl: mediatek: moore: replace struct function_desc with struct pinfunction 2025-09-08 14:21:59 +02:00
pinctrl-mt7629.c pinctrl: mediatek: moore: replace struct function_desc with struct pinfunction 2025-09-08 14:21:59 +02:00
pinctrl-mt7981.c pinctrl: mediatek: moore: replace struct function_desc with struct pinfunction 2025-09-08 14:21:59 +02:00
pinctrl-mt7986.c pinctrl: mediatek: moore: replace struct function_desc with struct pinfunction 2025-09-08 14:21:59 +02:00
pinctrl-mt7988.c pinctrl: mediatek: moore: replace struct function_desc with struct pinfunction 2025-09-08 14:21:59 +02:00
pinctrl-mt8127.c
pinctrl-mt8135.c
pinctrl-mt8167.c pinctrl: mediatek: Switch to use no-IRQ PM helpers 2023-12-04 15:32:42 +01:00
pinctrl-mt8173.c pinctrl: mediatek: Switch to use no-IRQ PM helpers 2023-12-04 15:32:42 +01:00
pinctrl-mt8183.c pinctrl: mediatek: Switch to use no-IRQ PM helpers 2023-12-04 15:32:42 +01:00
pinctrl-mt8186.c pinctrl: mediatek: Drop bogus slew rate register range for MT8186 2024-02-07 11:47:49 +01:00
pinctrl-mt8188.c pinctrl: mediatek: Switch to use no-IRQ PM helpers 2023-12-04 15:32:42 +01:00
pinctrl-mt8189.c pinctrl: mediatek: Add pinctrl driver for mt8189 2025-07-23 13:35:40 +02:00
pinctrl-mt8192.c pinctrl: mediatek: Drop bogus slew rate register range for MT8192 2024-02-07 11:47:49 +01:00
pinctrl-mt8195.c pinctrl: mediatek: Switch to use no-IRQ PM helpers 2023-12-04 15:32:42 +01:00
pinctrl-mt8196.c pinctrl: mediatek: pinctrl: mediatek: add mt8196 eint pin 2025-04-23 10:40:50 +02:00
pinctrl-mt8365.c pinctrl: mediatek: Switch to use no-IRQ PM helpers 2023-12-04 15:32:42 +01:00
pinctrl-mt8516.c pinctrl: mediatek: Switch to use no-IRQ PM helpers 2023-12-04 15:32:42 +01:00
pinctrl-mtk-common-v2.c pinctrl: mediatek: eint: Fix invalid pointer dereference for v1 platforms 2025-05-21 00:39:30 +02:00
pinctrl-mtk-common-v2.h pinctrl: mediatek: moore: replace struct function_desc with struct pinfunction 2025-09-08 14:21:59 +02:00
pinctrl-mtk-common.c pinctrl: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02:00
pinctrl-mtk-common.h
pinctrl-mtk-mt2701.h
pinctrl-mtk-mt2712.h
pinctrl-mtk-mt6397.h
pinctrl-mtk-mt6765.h
pinctrl-mtk-mt6779.h
pinctrl-mtk-mt6795.h
pinctrl-mtk-mt6797.h
pinctrl-mtk-mt6893.h pinctrl: mediatek: Add pinctrl driver for MT6893 Dimensity 1200 2025-04-17 09:39:15 +02:00
pinctrl-mtk-mt8127.h
pinctrl-mtk-mt8135.h
pinctrl-mtk-mt8167.h
pinctrl-mtk-mt8173.h
pinctrl-mtk-mt8183.h
pinctrl-mtk-mt8186.h
pinctrl-mtk-mt8188.h
pinctrl-mtk-mt8189.h pinctrl: mediatek: Add pinctrl driver for mt8189 2025-07-23 13:35:40 +02:00
pinctrl-mtk-mt8192.h
pinctrl-mtk-mt8195.h
pinctrl-mtk-mt8196.h pinctrl: mediatek: pinctrl: mediatek: add mt8196 eint pin 2025-04-23 10:40:50 +02:00
pinctrl-mtk-mt8365.h
pinctrl-mtk-mt8516.h
pinctrl-mtmips.c
pinctrl-mtmips.h
pinctrl-paris.c pinctrl: generic: rename PIN_CONFIG_OUTPUT to LEVEL 2025-09-08 14:24:20 +02:00
pinctrl-paris.h pinctrl: mediatek: Add EINT support for multiple addresses 2025-03-24 08:51:09 +01:00
pinctrl-rt305x.c
pinctrl-rt2880.c
pinctrl-rt3883.c