Jingyi Wang
5778535972
dt-bindings: pinctrl: describe qcs8300-tlmm
...
Add DT bindings for the TLMM controller on QCS8300 platforms.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Signed-off-by: Jingyi Wang <quic_jingyw@quicinc.com >
Link: https://lore.kernel.org/20241018-qcs8300_tlmm-v3-1-8b8d3957cf1a@quicinc.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-22 14:41:44 +02:00
Linus Walleij
f8d355bfd0
Merge tag 'renesas-pinctrl-for-v6.13-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel
...
pinctrl: renesas: Updates for v6.13
- Marks GPIOs as used on RZ/A1 and RZ/A2,
- Add open-drain and schmitt-trigger support on RZ/V2H(P),
- Miscellaneous fixes and improvements.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-19 20:18:03 +02:00
Yixun Lan
a83c29e1d1
pinctrl: spacemit: add support for SpacemiT K1 SoC
...
SpacemiT's K1 SoC has a pinctrl controller which use single register
to describe all functions, which include bias pull up/down(strong pull),
drive strength, schmitter trigger, slew rate, mux mode.
Signed-off-by: Yixun Lan <dlan@gentoo.org >
Link: https://lore.kernel.org/20241016-02-k1-pinctrl-v5-2-03d395222e4f@gentoo.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-19 20:15:12 +02:00
Yixun Lan
97b7675640
dt-bindings: pinctrl: spacemit: add support for K1 SoC
...
Add dt-bindings for the pinctrl driver of SpacemiT's K1 SoC.
Reviewed-by: Rob Herring (Arm) <robh@kernel.org >
Signed-off-by: Yixun Lan <dlan@gentoo.org >
Link: https://lore.kernel.org/20241016-02-k1-pinctrl-v5-1-03d395222e4f@gentoo.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-19 20:15:05 +02:00
Colin Ian King
05214b06ee
pinctrl: th1520: Fix potential null pointer dereference on func
...
The initialization of muxtype deferences pointer func before func
is sanity checked with a null pointer check, hence we have a null
pointer deference issue. Fix this by only deferencing func with
the assignment to muxtype after func has been null pointer checked.
Fixes: 1fc30cd927 ("pinctrl: th1520: Factor out casts")
Signed-off-by: Colin Ian King <colin.i.king@gmail.com >
Reported-by: Kees Bakker <kees@ijzerbout.nl >
Acked-by: Drew Fustini <dfustini@tenstorrent.com >
Link: https://lore.kernel.org/20241016155655.334518-1-colin.i.king@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-16 21:30:18 +02:00
Thomas Bonnefille
22c918258f
pinctrl: sophgo: fix typo in tristate of SG2002
...
Fix typo in tristate definition of the SG2002 Pinctrl driver.
Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com >
Link: https://lore.kernel.org/20241016-typo-pinctrl-sg2002-v1-1-2bdacb2d41e3@bootlin.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-16 21:19:01 +02:00
Geert Uytterhoeven
642490b50a
pinctrl: PINCTRL_K230 should depend on ARCH_CANAAN
...
The Canaan Kendryte K230 pin controller is only present on Canaan
Kendryte K230 SoCs. Hence add a dependency on ARCH_CANAAN, to prevent
asking the user about this driver when configuring a kernel without
Canaan Kendryte series SoC platform support.
Fixes: 545887eab6 ("pinctrl: canaan: Add support for k230 SoC")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be >
Link: https://lore.kernel.org/d70279ba02a67250203744b38314f4475b3c5671.1728986052.git.geert+renesas@glider.be
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-15 23:59:41 +02:00
Arnd Bergmann
60ba5da29a
pinctrl: th1520: add a CONFIG_OF dependency
...
When compile-testing without CONfIG_OF:
drivers/pinctrl/pinctrl-th1520.c: In function 'th1520_pinctrl_dt_node_to_map':
drivers/pinctrl/pinctrl-th1520.c:455:23: error: implicit declaration of function 'pinconf_generic_parse_dt_config'; did you mean 'pinconf_generic_dump_config'? [-Wimplicit-function-declaration]
455 | ret = pinconf_generic_parse_dt_config(child, pctldev, &configs, &nconfigs);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| pinconf_generic_dump_config
Enforce this using Kconig dependencies.
Fixes: bed5cd6f8a ("pinctrl: Add driver for the T-Head TH1520 SoC")
Signed-off-by: Arnd Bergmann <arnd@arndb.de >
Acked-by: Drew Fustini <drew@pdp7.com >
Link: https://lore.kernel.org/20241015151126.2401855-1-arnd@kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-15 23:38:58 +02:00
Lad Prabhakar
5dcde519a0
pinctrl: renesas: Select PINCTRL_RZG2L for RZ/V2H(P) SoC
...
Add explicit selection of the PINCTRL_RZG2L config option for the
RZ/V2H(P) (R9A09G057) SoC, ensuring pin control driver is enabled
for this SoC.
Fixes: 9bd95ac86e ("pinctrl: renesas: rzg2l: Add support for RZ/V2H SoC")
Reported-by: Biju Das <biju.das.jz@bp.renesas.com >
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Link: https://lore.kernel.org/20241010132726.702658-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be >
2024-10-14 10:02:13 +02:00
Lad Prabhakar
725933a54f
pinctrl: renesas: rzg2l: Add support for configuring schmitt-trigger
...
Add support for configuring the multiplexed pins as schmitt-trigger
inputs.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Tested-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com >
Link: https://lore.kernel.org/20241004123658.764557-4-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be >
2024-10-14 10:01:56 +02:00
Lad Prabhakar
9d75b70061
pinctrl: renesas: rzg2l: Add support for enabling/disabling open-drain outputs
...
Add support for enabling and disabling open-drain outputs.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Tested-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com >
Link: https://lore.kernel.org/20241004123658.764557-3-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be >
2024-10-14 10:01:45 +02:00
Marc Ferland
d7eac9379f
pinctrl: amd: Fix two small typos
...
Found those two while reading the code:
EDGE_TRAGGER -> EDGE_TRIGGER
BOTH_EADGE -> BOTH_EDGES
No functional changes, compile tested only.
Signed-off-by: Marc Ferland <marc.ferland@sonatest.com >
Link: https://lore.kernel.org/20241009151249.2086702-1-marc.ferland@sonatest.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-11 21:52:53 +02:00
Uwe Kleine-König
1a075b1dcc
pinctrl: Switch back to struct platform_driver::remove()
...
After commit 0edb555a65 ("platform: Make platform_driver::remove()
return void") .remove() is (again) the right callback to implement for
platform drivers.
Convert all platform drivers below drivers/pinctrl to use .remove(),
with the eventual goal to drop struct platform_driver::remove_new(). As
.remove() and .remove_new() have the same prototypes, conversion is done
by just changing the structure member name in the driver initializer.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com >
Link: https://lore.kernel.org/20241007205803.444994-8-u.kleine-koenig@baylibre.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-11 21:45:47 +02:00
Emil Renner Berthing
1fc30cd927
pinctrl: th1520: Factor out casts
...
Limit the casts to get the mux data and flags from the driver data
pointer with each pin to two inline functions as requested by Andy
during review.
Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com >
Reviewed-by: Drew Fustini <dfustini@tenstorrent.com >
Tested-by: Drew Fustini <dfustini@tenstorrent.com >
Link: https://lore.kernel.org/20241011144826.381104-4-emil.renner.berthing@canonical.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-11 21:27:41 +02:00
Emil Renner Berthing
d1e16e2199
pinctrl: th1520: Update pinmux tables
...
When Drew took over the pinctrl driver it seems like he didn't use the
git tree I pointed him at and thus missed some important fixes to the
tables describing valid pinmux settings.
The documentation has a nice overview table of these settings but
unfortunately it doesn't fully match the register descriptions, which
seem to be the correct version.
Fixes: bed5cd6f8a ("pinctrl: Add driver for the T-Head TH1520 SoC")
Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com >
Reviewed-by: Drew Fustini <dfustini@tenstorrent.com >
Tested-by: Drew Fustini <dfustini@tenstorrent.com >
Link: https://lore.kernel.org/20241011144826.381104-3-emil.renner.berthing@canonical.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-11 21:27:41 +02:00
Emil Renner Berthing
ca35d5d245
pinctrl: th1520: Fix pinconf return values
...
When Drew took over the pinctrl driver he must have changed
all the -ENOTSUPP returns into -EOPNOTSUPP. This subtle change
was most likely not spotted because it was never mentioned in the
changelog of the patchset, but it breaks all the places in the
pin control and GPIO frameworks where -ENOTSUPP is expected.
Fixes: bed5cd6f8a ("pinctrl: Add driver for the T-Head TH1520 SoC")
Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com >
Reviewed-by: Drew Fustini <dfustini@tenstorrent.com >
Tested-by: Drew Fustini <dfustini@tenstorrent.com >
Link: https://lore.kernel.org/20241011144826.381104-2-emil.renner.berthing@canonical.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-11 21:27:41 +02:00
Bartosz Golaszewski
2a85fc7044
pinctrl: zynqmp: drop excess struct member description
...
The 'node' member has never been part of this structure so drop its
description.
Fixes: 8b242ca700 ("pinctrl: Add Xilinx ZynqMP pinctrl driver support")
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Link: https://lore.kernel.org/20241010080432.7781-1-brgl@bgdev.pl
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-10 21:48:11 +02:00
Bartosz Golaszewski
07d944b99c
pinctrl: aw9523: fix kerneldoc for _aw9523_gpio_get_multiple()
...
The parameters' descriptions are wrong, drop the invalid ones and
document the ones that are missing the description.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Link: https://lore.kernel.org/20241010080347.7759-1-brgl@bgdev.pl
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-10 21:35:46 +02:00
Andrei Stefanescu
07963c0206
pinctrl: s32: add missing pins definitions
...
Added definitions for some pins which were missing from the
S32G2 SIUL2 pinctrl driver. These pins are used by the JTAG,
PFE and LLCE hardware modules.
Reviewed-by: Matthias Brugger <mbrugger@suse.com >
Signed-off-by: Andrei Stefanescu <andrei.stefanescu@oss.nxp.com >
Link: https://lore.kernel.org/20241002135920.3647322-2-andrei.stefanescu@oss.nxp.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-09 18:16:56 +02:00
Drew Fustini
573cba2827
pinctrl: th1520: Convert dt child node loop to scoped iterator
...
Convert th1520_pinctrl_dt_node_to_map() to use a scoped iterator with
for_each_available_child_of_node_scoped(). As a result, there is no need
to call of_node_put() anymore. The put_child label has been renamed to
free_map which is now a more accurate description.
Suggested-by: Linus Walleij <linus.walleij@linaro.org >
Signed-off-by: Drew Fustini <dfustini@tenstorrent.com >
Link: https://lore.kernel.org/20241008-th1520-pinctrl-fixes-v3-3-5b60db446a49@tenstorrent.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-09 14:42:07 +02:00
Drew Fustini
f3a3d006a4
pinctrl: th1520: Convert thp->mutex to guarded mutex
...
Convert th1520_pinctrl_dt_node_to_map() to use guarded mutex for
thp->mutex.
Suggested-by: Linus Walleij <linus.walleij@linaro.org >
Signed-off-by: Drew Fustini <dfustini@tenstorrent.com >
Link: https://lore.kernel.org/20241008-th1520-pinctrl-fixes-v3-2-5b60db446a49@tenstorrent.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-09 14:42:07 +02:00
Drew Fustini
7027e36f55
pinctrl: th1520: Fix return value for unknown pin error
...
Fix th1520_pinctrl_dt_node_to_map() to set the return value before
jumping to free_configs when an unknown pin error occurs.
Reported-by: Dan Carpenter <dan.carpenter@linaro.org >
Closes: https://lore.kernel.org/r/202410022336.xyWlV0Tf-lkp@intel.com/
Signed-off-by: Drew Fustini <dfustini@tenstorrent.com >
Link: https://lore.kernel.org/20241008-th1520-pinctrl-fixes-v3-1-5b60db446a49@tenstorrent.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-09 14:42:07 +02:00
Lad Prabhakar
f07e2b681e
dt-bindings: pinctrl: renesas,rzg2l-pinctrl: Allow schmitt and open drain properties
...
On the RZ/V2H(P) SoC one can configure the 'input-schmitt-{enable,disable}',
'drive-open-drain' and 'drive-push-pull' of multiplexed pins. Update the
binding documentation to include these properties.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Acked-by: Rob Herring (Arm) <robh@kernel.org >
Link: https://lore.kernel.org/20241004123658.764557-2-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be >
2024-10-09 13:39:26 +02:00
Biju Das
1737715a4c
pinctrl: renesas: rzg2l: Fix missing return in rzg2l_pinctrl_register()
...
Fix the missing return statement in the error path of
rzg2l_pinctrl_register().
Fixes: f73f63b244 ("pinctrl: renesas: rzg2l: Use dev_err_probe()")
Reported-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp >
Closes: https://lore.kernel.org/all/OS0PR01MB638837327E5487B71D88A70392712@OS0PR01MB6388.jpnprd01.prod.outlook.com/
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Link: https://lore.kernel.org/20241003082550.33341-1-biju.das.jz@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be >
2024-10-09 13:39:26 +02:00
Fabrizio Castro
1d930d4bf8
pinctrl: renesas: rzg2l: Remove RZG2L_TINT_IRQ_START_INDEX
...
The RZ/V2H(P) SoC has 16 IRQ interrupts, while every other SoC has 8,
and this affects the start index of TINT interrupts (1 + 16 = 17, rather
than 1 + 8 = 9).
Macro RZG2L_TINT_IRQ_START_INDEX cannot work anymore, replace it with a
new member within struct rzg2l_hwcfg.
Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Tested-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com >
Link: https://lore.kernel.org/20240930145244.356565-2-fabrizio.castro.jz@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be >
2024-10-09 13:39:13 +02:00
Linus Walleij
2694868880
pinctrl: k230: Drop unused code
...
The build robot complains about unused code. Let's drop it,
this can be restored with simple git revert when needed.
Reported-by: kernel test robot <lkp@intel.com >
Closes: https://lore.kernel.org/oe-kbuild-all/202410021136.ie3cFM2w-lkp@intel.com/
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://lore.kernel.org/20241003-k320-unused-v1-1-72e65bc2f27b@linaro.org
2024-10-04 09:46:27 +02:00
Linus Walleij
f2256e344d
pinctrl: imx27: Fix too generic defines
...
The "PC" define is colliding with the (apparently broadcased)
define for "program counter" on Loongarch, so let's rename all
these 2-letter defines so they don't collide with stuff.
Fixes: a55222b7a1 ("pinctrl: freescale: enable use with COMPILE_TEST")
Reported-by: kernel test robot <lkp@intel.com >
Closes: https://lore.kernel.org/oe-kbuild-all/202410030214.dPrgmUqd-lkp@intel.com/
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
Link: https://lore.kernel.org/20241003-fix-imx27-pc-v1-1-0e78d1fc6175@linaro.org
2024-10-04 09:45:45 +02:00
Rosen Penev
7b2a96de50
pinctrl: aw9523: use devm_mutex_init
...
Simplifies probe by removing all gotos and removing mutex_destroy from
_remove.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
Link: https://lore.kernel.org/20241003214746.146207-1-rosenp@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-04 09:42:39 +02:00
Rosen Penev
be86c55354
pinctrl: aw9523: add missing mutex_destroy
...
Otherwise the mutex remains after a failed kzalloc.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
Link: https://lore.kernel.org/20241001212724.309320-1-rosenp@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-04 09:42:35 +02:00
Esben Haabendal
58414a31c5
pinctrl: freescale: fix COMPILE_TEST error with PINCTRL_IMX_SCU
...
When PINCTRL_IMX_SCU was selected by PINCTRL_IMX8DXL or PINCTRL_IMX8QM
combined with COMPILE_TEST on a non-arm platforms, the IMX_SCU
dependency could not be enabled.
Reported-by: kernel test robot <lkp@intel.com >
Closes: https://lore.kernel.org/oe-kbuild-all/202410031439.GyTSa0kX-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202410030852.q0Hukplf-lkp@intel.com/
Signed-off-by: Esben Haabendal <esben@geanix.com >
Link: https://lore.kernel.org/20241003-imx-pinctrl-compile-test-fix-v1-1-145ca1948cc3@geanix.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-03 16:22:14 +02:00
clingfei
d01240b22a
pinctrl: thead1520: Fix Null pointer dereference
...
pinmux_generic_get_function may return NULL, and its retval is
dereferenced without check, which will cause a NULL pointer
dereference.
Signed-off-by: clingfei <clf700383@gmail.com >
Reviewed-by: Drew Fustini <dfustini@tenstorrent.com >
Link: https://lore.kernel.org/20241003023307.2138695-1-clf700383@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-03 16:07:12 +02:00
Linus Walleij
06783dc520
pinctrl: imx1: Fix too generic defines
...
The "PC" define is colliding with the (apparently broadcased)
define for "program counter" on Loongarch, so let's rename all
these 2-letter defines so they don't collide with stuff.
Reported-by: kernel test robot <lkp@intel.com >
Closes: https://lore.kernel.org/oe-kbuild-all/202410020940.wGISlWfV-lkp@intel.com/
Fixes: a55222b7a1 ("pinctrl: freescale: enable use with COMPILE_TEST")
Reviewed-by: Fabio Estevam <festevam@gmail.com >
Reviewed-by: Frank Li <Frank.Li@nxp.com >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-02 22:57:23 +02:00
Quentin Schulz
30e830b8b9
pinctrl: rockchip: improve error message for incorrect rockchip,pins property
...
If one improperly writes a rockchip,pins property, the pinctrl driver
basically just states that one in the myriad of pinctrl nodes is
improper but does not tell you which one.
Instead, let's print the full name of the Device Tree node that is
improper as well as provide more context on what the expected content
is.
Note that this should be rather unnecessary if one reads the output of
the dtbs_check as it would be highlighted as an error.
Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de >
Reviewed-by: Heiko Stuebner <heiko@sntech.de >
Link: https://lore.kernel.org/20241002-pinctrl-rockchip-error-modulo-4-v1-1-4addb4e5732a@cherry.de
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-02 16:12:00 +02:00
Rosen Penev
38e2d33f13
pinctrl: aw9523: use enable for regulator
...
devm_regulator_get_enable_optional can be used to simplify the logic
here.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
Link: https://lore.kernel.org/20241001212724.309320-2-rosenp@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-02 15:50:00 +02:00
Mark Brown
d1c7bf9cb3
pinctrl: sx150x: Use maple tree register cache
...
The sx150x driver uses a rbtree register cache with no obvious reason for
specifically preferring it. The maple tree register cache is based on a
more modern data structure and makes implementation decisions more suitable
for modern systems so let's switch the driver to use that. No functional
change.
Signed-off-by: Mark Brown <broonie@kernel.org >
Link: https://lore.kernel.org/20240924-pinctl-sx150x-maple-v1-1-17dcfefefd17@kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 16:30:08 +02:00
Uwe Kleine-König
af8e481228
pinctrl: aw9523: Drop explicit initialization of struct i2c_device_id::driver_data to 0
...
These drivers don't use the driver_data member of struct i2c_device_id,
so don't explicitly initialize this member.
This prepares putting driver_data in an anonymous union which requires
either no initialization or named designators. But it's also a nice
cleanup on its own.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com >
Link: https://lore.kernel.org/20240920153430.503212-13-u.kleine-koenig@baylibre.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 16:21:46 +02:00
Lijuan Gao
b698f36a9d
pinctrl: qcom: add the tlmm driver for QCS615 platform
...
Add support for QCS615 TLMM configuration and control via the
pinctrl framework.
Signed-off-by: Lijuan Gao <quic_lijuang@quicinc.com >
Link: https://lore.kernel.org/20240920-add_qcs615_pinctrl_driver-v2-2-e03c42a9d055@quicinc.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 16:20:16 +02:00
Lijuan Gao
55c487ea60
dt-bindings: pinctrl: document the QCS615 Top Level Mode Multiplexer
...
Document the Top Level Mode Multiplexer on the QCS615 Platform.
It concisely explains the pin multiplexing and configuration in
the device tree, and includes simple examples of typical device
tree snippets, making it easier for designers to configure and
manage chip pins.
Signed-off-by: Lijuan Gao <quic_lijuang@quicinc.com >
Link: https://lore.kernel.org/20240920-add_qcs615_pinctrl_driver-v2-1-e03c42a9d055@quicinc.com
Reviewed-by: Rob Herring (Arm) <robh@kernel.org >
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 16:19:55 +02:00
Neil Armstrong
b0c37572a6
dt-bindings: pinctrl: amlogic,meson-pinctrl: lower gpio-line-names minItems for meson8b
...
The Amlogic Meson8b SoC has 83 CBUS GPIOs, thus lower the minItems
for gpio-line-names to account for it, fixing DTBs check on Meson8b
based boards.
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org >
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com >
Acked-by: Rob Herring (Arm) <robh@kernel.org >
Link: https://lore.kernel.org/20240911-topic-amlogic-arm32-upstream-bindings-fixes-meson-pinctrl-gpio-line-names-v1-1-4345ba336ea4@linaro.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 15:21:19 +02:00
Ze Huang
545887eab6
pinctrl: canaan: Add support for k230 SoC
...
Configuration of the K230 is similar to that of the K210. However, in
K210, the 256 functions for each pin are shared, whereas in K230,
multiplex functions are different for every pin.
`drv_data` of `pinctrl_pin_desc` is pointing to currently activated
group, which is used to print the name of current function of pin in
`pin_dbg_show` and will be updated in `set_mux`, so they are not set
const.
Signed-off-by: Ze Huang <18771902331@163.com >
Link: https://lore.kernel.org/20240926-k230-pinctrl-v2-2-a9a36fba4b34@163.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 14:23:46 +02:00
Ze Huang
561f3e9d21
dt-bindings: pinctrl: Add support for canaan,k230 SoC
...
Add device tree binding details for Canaan K230 pinctrl device.
Signed-off-by: Ze Huang <18771902331@163.com >
Reviewed-by: Rob Herring (Arm) <robh@kernel.org >
Link: https://lore.kernel.org/20240926-k230-pinctrl-v2-1-a9a36fba4b34@163.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 14:23:39 +02:00
Sricharan Ramabadhran
968e671ebd
pinctrl: qcom: Introduce IPQ5424 TLMM driver
...
The IPQ5424 SoC comes with a TLMM block, like all other Qualcomm
platforms, so add a driver for it.
Co-developed-by: Varadarajan Narayanan <quic_varada@quicinc.com >
Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com >
Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com >
Link: https://lore.kernel.org/20240927065244.3024604-6-quic_srichara@quicinc.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 14:19:11 +02:00
Sricharan Ramabadhran
b88752d313
dt-bindings: pinctrl: qcom: add IPQ5424 pinctrl
...
Add device tree bindings for IPQ5424 TLMM block.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com >
Link: https://lore.kernel.org/20240927065244.3024604-4-quic_srichara@quicinc.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 14:18:09 +02:00
Linus Walleij
80f133387e
Merge branch 'ib-thead-th1520' into devel
...
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 14:05:16 +02:00
Emil Renner Berthing
bed5cd6f8a
pinctrl: Add driver for the T-Head TH1520 SoC
...
Add pinctrl driver for the T-Head TH1520 RISC-V SoC.
Tested-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com >
Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com >
[dfustini: use thead,pad-group to identify the pin controller instance]
Signed-off-by: Drew Fustini <dfustini@tenstorrent.com >
Link: https://lore.kernel.org/20240930-th1520-pinctrl-v3-2-32cea2bdbecb@tenstorrent.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 14:04:51 +02:00
Emil Renner Berthing
137ca342ae
dt-bindings: pinctrl: Add thead,th1520-pinctrl bindings
...
Add bindings for the pin controllers on the T-Head TH1520 RISC-V SoC.
Reviewed-by: Rob Herring (Arm) <robh@kernel.org >
Tested-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com >
Signed-off-by: Emil Renner Berthing <emil.renner.berthing@canonical.com >
[dfustini: add thead,pad-group to select the pin controller instance]
Signed-off-by: Drew Fustini <dfustini@tenstorrent.com >
Link: https://lore.kernel.org/20240930-th1520-pinctrl-v3-1-32cea2bdbecb@tenstorrent.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 14:04:40 +02:00
Daniel Machon
4e778d2ca2
pinctrl: ocelot: add support for lan969x SoC pinctrl
...
This adds support for lan969x SoC pinctrl, reusing the existing ocelot
driver. There are 66 General Purpose I/O pins that are individually
configurable to multiple interfaces.
Signed-off-by: Daniel Machon <daniel.machon@microchip.com >
Link: https://lore.kernel.org/20240917-lan969x-pinctrl-v2-2-ea02cbc56831@microchip.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 14:03:41 +02:00
Daniel Machon
01be3ac0ab
dt-bindings: ocelot: document lan969x-pinctrl
...
Lan969x is going to reuse the existing Ocelot pinctrl driver - document
that by adding compatible strings for the different SKU's that we
support.
Signed-off-by: Daniel Machon <daniel.machon@microchip.com >
Acked-by: Conor Dooley <conor.dooley@microchip.com >
Link: https://lore.kernel.org/20240917-lan969x-pinctrl-v2-1-ea02cbc56831@microchip.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 14:03:41 +02:00
Esben Haabendal
a55222b7a1
pinctrl: freescale: enable use with COMPILE_TEST
...
Allow compile-testing of i.MX pinctrl drivers using CONFIG_COMPILE_TEST.
Signed-off-by: Esben Haabendal <esben@geanix.com >
Link: https://lore.kernel.org/20240506-imx-pinctrl-optional-v2-3-bdff75085156@geanix.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 14:03:41 +02:00
Esben Haabendal
aea2dd7a6f
pinctrl: freescale: Use CONFIG_SOC_IMXRT to guard i.MX RT1xxx drivers
...
This aligns with the use of SOC_IMX* as dependencies for all the other
mach-imx pinctrl drivers. Enabling i.MX RT pinctrl drivers for a kernel
with out i.MX RT SOC support is pointless.
Signed-off-by: Esben Haabendal <esben@geanix.com >
Acked-by: Arnd Bergmann <arnd@arndb.de >
Link: https://lore.kernel.org/20240506-imx-pinctrl-optional-v2-2-bdff75085156@geanix.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org >
2024-10-01 14:03:41 +02:00