665 Commits
Author SHA1 Message Date
Linus Torvalds cf9610f911 Merge tag 'pinctrl-v7.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control updates from Linus Walleij:
 "Core changes:

   - Use the non-blocking mux_state_try_select() in the generic MUX pin
     control back-end

   - Free pin maps on pinctrl_generic_to_map() failure in the core
     helpers

  New hardware pin control:

   - Qualcomm Maili TLMM SoC, PMG1110 PMIC, and Eliza LPASS LPI TLMM SoC
     (this is for the low power audio, LPASS = Low Power Audio SubSystem
     portions)

   - Upboard support on top of the Intel pin controller

   - Apple T6030 and T6031 support (just compatible strings)

   - Samsung Exynos 8855 SoC

   - Mediatek MT6858 SoC

   - Rockchip RK3308B and RV1106 SoCs

   - Airoha EN7523 and AN7563 SoCs

  Improvements:

   - Qualcomm TLMM GPIOs are unconditionally marked as wakeup capable

   - Qualcomm improvements on top of the Qualcomm PDC (power domain
     controller) irqchip improvements from tglx:s tree

   - Qualcomm IPQ806x and IPQ9650 non-urgent pin grop fixups

   - The NPCM8xx driver has been put into shape fixing many pin and
     group definitions

   - Some non-urgent Tegra 264 pin assignments are fixed up

   - Some non-urgent fixups to Airoha AN7581 and AN7583 registers and
     pin assignments, missing features etc"

* tag 'pinctrl-v7.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (130 commits)
  dt-bindings: pinctrl: Convert TI DA850 pupd to DT schema
  pinctrl: meson: sync some modify from A4
  pinctrl: meson: a4: Add input enable pin configuration
  pinctrl: realtek: rtd1625: remove unused group name spdif_sel
  pinctrl: realtek: rtd1625: fix base_bit for VE4 GPIO 13
  dt-bindings: pinctrl: microchip,pic32mzda-pinctrl: Convert to DT schema
  Revert "Merge branch 'ib-rsk7204' into devel"
  pinctrl: rockchip: Add RV1106 pinctrl support
  dt-bindings: pinctrl: rockchip: Add RV1106 compatible
  pinctrl: rockchip: Decode drive strength in the get function
  pinctrl: fix PINCTRL_GENERIC_MUX not always being selectable
  pinctrl: airoha: add support of an7563 SoC
  dt-bindings: pinctrl: airoha: add support of an7563 pin controller
  pinctrl: airoha: try to find chip scu node by phandle first
  pinctrl: airoha: add support of en7523 SoC
  dt-bindings: pinctrl: airoha: add support of en7523 pin controller
  pinctrl: airoha: an7583: add support for olt pinmux
  pinctrl: airoha: an7583: add support for pon_alt pinmux
  pinctrl: airoha: an7583: add support for npu_uart pinmux
  dt-bindings: pinctrl: airoha: an7583: add missed features
  ...
2026-08-24 08:46:03 -07:00
Pan Chuang 699fd26ba3 pinctrl: intel: Remove redundant dev_err_probe()
Since commit 55b48e23f5 ("genirq/devres: Add error handling in
devm_request_*_irq()"), devm_request_irq() automatically logs
detailed error messages on failure. Remove the now-redundant
driver-specific dev_err_probe() calls.

Signed-off-by: Pan Chuang <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2026-07-17 18:57:43 +02:00
Gary Wang ebcba7cd38 pinctrl: tigerlake: add some pin groups and functions for INTC1055
Add i2c0, i2c1, pwm0, uart1, ssp2 pin groups & functions in tgllp_soc_data
for device id INTC1055. The pinctrl-upboard driver set the correct pin
function corresponding to these data.

Signed-off-by: Gary Wang <[email protected]>
Acked-by: Linus Walleij <[email protected]>
Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2026-07-08 16:27:53 +02:00
Uwe Kleine-König (The Capable Hub) 995832b2ce Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files)
Replace the #include of <linux/mod_devicetable.h> by the more specific
<linux/device-id/*.h> where applicable. For most cases the include
can be dropped completely, only a few drivers need one or two headers
added.

Acked-by: Danilo Krummrich <[email protected]>
Acked-by: Takashi Sakamoto <[email protected]>
Acked-by: Bjorn Helgaas <[email protected]>
Link: https://patch.msgid.link/1a3f2007c5c5dcf555c09a4035ce3ae8ef1b6c49.1782808461.git.u.kleine-koenig@baylibre.com
Signed-off-by: Uwe Kleine-König (The Capable Hub) <[email protected]>
2026-07-03 07:38:17 +02:00
Linus Walleij 4c078b060e Merge tag 'intel-pinctrl-v7.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel into devel
intel-pinctrl for v7.2-1

* Tidy up the PWM base computation to avoid false positive *SAN warnings

Signed-off-by: Linus Walleij <[email protected]>
2026-06-01 15:24:03 +02:00
Uwe Kleine-König (The Capable Hub) 9b97162c77 pinctrl: Use named initializers for platform_device_id arrays
Named initializers are better readable and more robust to changes of the
struct definition. This robustness is relevant for a planned change to
struct platform_device_id replacing .driver_data by an anonymous unit.

While touching these arrays unify spacing and usage of commas.

Signed-off-by: Uwe Kleine-König (The Capable Hub) <[email protected]>
Acked-by: Mika Westerberg <[email protected]>
Reviewed-by: Geert Uytterhoeven <[email protected]> # renesas
Acked-by: Geert Uytterhoeven <[email protected]> # renesas
Signed-off-by: Linus Walleij <[email protected]>
2026-05-29 22:47:44 +02:00
Stepan Ionichev 2b9ef70d3a pinctrl: intel: move PWM base computation past feature check
Compute base inside intel_pinctrl_probe_pwm() only after the
PINCTRL_FEATURE_PWM and CONFIG_PWM_LPSS checks have passed. Tidy
up; no functional change.

Suggested-by: Andy Shevchenko <[email protected]>
Link: https://lore.kernel.org/linux-gpio/[email protected]/
Signed-off-by: Stepan Ionichev <[email protected]>
Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2026-05-18 09:01:17 +02:00
Andy Shevchenko 1ca468e78e pinctrl: intel: Enable 3-bit PAD_OWN feature
Starting from revision 1.1 of the Chassis specification the PAD_OWN
is represented by 3 bits instead of 2 bits in the previous revisions.
Update the driver to support this feature.

Signed-off-by: Andy Shevchenko <[email protected]>
2026-03-19 07:58:53 +01:00
Andy Shevchenko a4337a24d1 pinctrl: intel: Fix the revision for new features (1kOhm PD, HW debouncer)
The 1kOhm pull down and hardware debouncer are features of the revision 0.92
of the Chassis specification. Fix that in the code accordingly.

Signed-off-by: Andy Shevchenko <[email protected]>
2026-03-19 07:58:53 +01:00
Andy Shevchenko 340bba73c5 pinctrl: intel: Improve capability support
The register space of a certain capability starts at the offset just after
the respective node in the capability list. It means that there are no fixed
offsets for them from SoC to SoC generation and they have to be calculated
at run-time. Improve capability support by adding the respective calculation
algorithm and in the result enable PWM on more platforms that currently may
use the wrong register.

Signed-off-by: Andy Shevchenko <[email protected]>
2026-03-19 07:58:52 +01:00
Andy Shevchenko 6e544d8748 pinctrl: intel: Align Copyright note with corporate guidelines
The Copyright note must follow the

	Copyright (C) <year(s)> Intel Corporation

template, where (C) is always capitalised and <year(s)> either
a single year or a range. Update the Intel pin control drivers
to follow.

Signed-off-by: Andy Shevchenko <[email protected]>
Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
2026-02-06 12:05:29 +01:00
Andy Shevchenko 8e03e6ecc2 pinctrl: tangier: Join tng_pinctrl_probe() into its wrapper
There is no clear sign why we have tng_pinctrl_probe() in the first
place when it has already been using managed calls. Join the function
into its devm_tng_pinctrl_probe() wrapper.

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2026-01-28 14:32:23 +01:00
Andy Shevchenko ae15231c49 pinctrl: tangier: Remove duplicate error messages
The pin control core is covered to report any error via message.
Since that it's not needed in the callers.

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2026-01-28 14:32:23 +01:00
Andy Shevchenko 8a924c6bd0 pinctrl: lynxpoint: Remove duplicate error messages
The pin control core is covered to report any error via message.
Since that it's not needed in the callers.

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2026-01-28 14:26:48 +01:00
Andy Shevchenko 04c15be548 pinctrl: cherryview: Remove duplicate error messages
The pin control core is covered to report any error via message.
Since that it's not needed in the callers.

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2026-01-28 14:26:45 +01:00
Andy Shevchenko bcdcd19e25 pinctrl: baytrail: Remove duplicate error messages
The pin control core is covered to report any error via message.
Since that it's not needed in the callers.

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2026-01-28 14:26:31 +01:00
Andy Shevchenko a887bcb4dc pinctrl: intel: Remove duplicate error messages
The pin control core is covered to report any error via message.
Since that it's not needed in the callers.

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2026-01-28 14:26:27 +01:00
Raag Jadav fc32c5725f pinctrl: intel: Add code name documentation
Intel pinctrl drivers support large set of platforms and the IPs are
often reused by their different variants, but it's currently not possible
to figure out the exact driver that supports specific variant. Add user
friendly documentation for them.

Cc: [email protected]
Reported-by: Guido Trentalancia <[email protected]>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220056
Signed-off-by: Raag Jadav <[email protected]>
Acked-by: Mika Westerberg <[email protected]>
Acked-by: Guido Trentalancia <[email protected]>
[andy: added Oxford comma]
Signed-off-by: Andy Shevchenko <[email protected]>
2026-01-24 10:56:22 +01:00
Andy Shevchenko 069bb6f69a pinctrl: intel: platform: Add Nova Lake to the list of supported
Intel Nova Lake is supported by the generic platform driver,
so add it to the list of supported in Kconfig.

Acked-by: Mika Westerberg <[email protected]>
Reviewed-by: Raag Jadav <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2026-01-20 09:35:41 +01:00
Andy Shevchenko bfec8ce11a pinctrl: lynxpoint: Convert to use intel_gpio_add_pin_ranges()
Driver is ready to use intel_gpio_add_pin_ranges() directly instead of
custom approach. Convert it now.

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2026-01-13 21:46:40 +01:00
Andy Shevchenko 57db74bdaa pinctrl: baytrail: Convert to use intel_gpio_add_pin_ranges()
Driver is ready to use intel_gpio_add_pin_ranges() directly instead of
custom approach. Convert it now.

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2026-01-13 21:46:03 +01:00
Andy Shevchenko 3bcfd55bed pinctrl: cherryview: Convert to use intel_gpio_add_pin_ranges()
Driver is ready to use intel_gpio_add_pin_ranges() directly instead of
custom approach. Convert it now.

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-18 15:13:59 +01:00
Andy Shevchenko 2f61c00972 pinctrl: intel: Export intel_gpio_add_pin_ranges()
Export intel_gpio_add_pin_ranges() for reuse in other drivers.

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-18 15:13:59 +01:00
Andy Shevchenko cc4e46fa76 pinctrl: elkhartlake: Switch to INTEL_GPP() macro
Replace custom macro with the recently defined INTEL_GPP().

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-12 07:28:36 +01:00
Andy Shevchenko dd0c7bffe3 pinctrl: cherryview: Switch to INTEL_GPP() macro
Replace custom macro with the recently defined INTEL_GPP().

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-12 07:28:36 +01:00
Andy Shevchenko 6c7a997699 pinctrl: emmitsburg: Switch to INTEL_GPP() macro
Replace custom macro with the recently defined INTEL_GPP().

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-12 07:28:36 +01:00
Andy Shevchenko d772897c7c pinctrl: denverton: Switch to INTEL_GPP() macro
Replace custom macro with the recently defined INTEL_GPP().

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-12 07:28:36 +01:00
Andy Shevchenko ce884de219 pinctrl: cedarfork: Switch to INTEL_GPP() macro
Replace custom macro with the recently defined INTEL_GPP().

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-12 07:28:36 +01:00
Andy Shevchenko d99b7a9d51 pinctrl: sunrisepoint: Switch to INTEL_GPP() macro
Replace custom macro with the recently defined INTEL_GPP().

Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-05 18:14:37 +01:00
Andy Shevchenko ba6467787b pinctrl: tigerlake: Switch to INTEL_GPP() macro
Replace custom macro with the recently defined INTEL_GPP().

Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-05 18:14:37 +01:00
Andy Shevchenko 9151857eef pinctrl: meteorpoint: Switch to INTEL_GPP() macro
Replace custom macro with the recently defined INTEL_GPP().

Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-05 18:14:37 +01:00
Andy Shevchenko cac89a3dca pinctrl: meteorlake: Switch to INTEL_GPP() macro
Replace custom macro with the recently defined INTEL_GPP().

Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-05 18:14:37 +01:00
Andy Shevchenko c11e90dc9a pinctrl: lakefield: Switch to INTEL_GPP() macro
Replace custom macro with the recently defined INTEL_GPP().

Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-05 18:14:37 +01:00
Andy Shevchenko 29d06c2d39 pinctrl: jasperlake: Switch to INTEL_GPP() macro
Replace custom macro with the recently defined INTEL_GPP().

Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-05 18:14:37 +01:00
Andy Shevchenko 51327d6839 pinctrl: icelake: Switch to INTEL_GPP() macro
Replace custom macro with the recently defined INTEL_GPP().

Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-05 18:14:36 +01:00
Andy Shevchenko 9db14f7102 pinctrl: cannonlake: Switch to INTEL_GPP() macro
Replace custom macro with the recently defined INTEL_GPP().

Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-05 18:14:36 +01:00
Andy Shevchenko 16b37ed0f3 pinctrl: alderlake: Switch to INTEL_GPP() macro
Replace custom macro with the recently defined INTEL_GPP().

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-05 18:14:36 +01:00
Andy Shevchenko e1a57abb3b pinctrl: intel: Introduce INTEL_GPP() macro
A new macro will be used for the further refactoring of the drivers.

Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-05 18:14:36 +01:00
Andy Shevchenko 534ea60bc4 pinctrl: tangier: Unify messages with help of dev_err_probe()
Unify error messages that might appear during probe phase by
switching to use dev_err_probe().

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-04 09:29:31 +01:00
Andy Shevchenko a13735785c pinctrl: lynxpoint: Unify messages with help of dev_err_probe()
Unify error messages that might appear during probe phase by
switching to use dev_err_probe().

Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-04 09:29:31 +01:00
Andy Shevchenko e2620a2c44 pinctrl: intel: Unify messages with help of dev_err_probe()
Unify error messages that might appear during probe phase by
switching to use dev_err_probe().

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-04 09:28:56 +01:00
Andy Shevchenko 6afe489df6 pinctrl: cherryview: Unify messages with help of dev_err_probe()
Unify error messages that might appear during probe phase by
switching to use dev_err_probe().

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-04 09:28:56 +01:00
Andy Shevchenko cf6dd6cafd pinctrl: baytrail: Unify messages with help of dev_err_probe()
Unify error messages that might appear during probe phase by
switching to use dev_err_probe().

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-11-04 09:28:55 +01:00
Bartosz Golaszewski d9d87d90cc treewide: rename GPIO set callbacks back to their original names
The conversion of all GPIO drivers to using the .set_rv() and
.set_multiple_rv() callbacks from struct gpio_chip (which - unlike their
predecessors - return an integer and allow the controller drivers to
indicate failures to users) is now complete and the legacy ones have
been removed. Rename the new callbacks back to their original names in
one sweeping change.

Signed-off-by: Bartosz Golaszewski <[email protected]>
2025-08-07 10:07:06 +02:00
Andy Shevchenko 3b4408038d pinctrl: intel: fix build warnings about export.h
After commit a934a57a42 ("scripts/misc-check: check missing #include
<linux/export.h> when W=1") and 7d95680d64 ("scripts/misc-check:
check unnecessary #include <linux/export.h> when W=1"), we get some build
warnings with W=1:

pinctrl-intel.c: warning: EXPORT_SYMBOL() is used, but #include <linux/export.h> is missing

So fix these build warnings for the driver code.

Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-06-12 15:19:08 +03:00
Bartosz Golaszewski 20e62271fb pinctrl: lynxpoint: use new GPIO line value setter callbacks
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <[email protected]>
Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-06-11 11:27:30 +03:00
Bartosz Golaszewski 241d79f025 pinctrl: intel: use new GPIO line value setter callbacks
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <[email protected]>
Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-06-11 11:27:30 +03:00
Bartosz Golaszewski 83ab731cb2 pinctrl: cherryview: use new GPIO line value setter callbacks
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <[email protected]>
Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-06-11 11:27:30 +03:00
Bartosz Golaszewski 4863d750fd pinctrl: baytrail: use new GPIO line value setter callbacks
struct gpio_chip now has callbacks for setting line values that return
an integer, allowing to indicate failures. Convert the driver to using
them.

Signed-off-by: Bartosz Golaszewski <[email protected]>
Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-06-11 11:27:30 +03:00
Raag Jadav 0ee2261d08 pinctrl: intel: drop repeated config dependency
We already have ACPI dependency for Intel pinctrl menu. No need to
repeat it.

Signed-off-by: Raag Jadav <[email protected]>
Acked-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
2025-03-03 16:20:51 +02:00