summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2024-09-11Merge tag 'intel-pinctrl-v6.12-1' of ↵Linus Walleij4-147/+189
git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel into devel intel-pinctrl for v6.12-1 * Enable High Impedance pin configuration support for Intel pin control * Miscellaneous small improvements here and there The following is an automated git shortlog grouped by driver: baytrail: - Drop duplicate return statement intel: - Constify struct intel_pinctrl parameter - Inline intel_gpio_community_irq_handler() - Introduce for_each_intel_gpio_group() helper et al. - Constify intel_get_community() returned object - Implement high impedance support - Add __intel_gpio_get_direction() helper - Refactor __intel_gpio_set_direction() to be more useful - Move debounce validation out of the lock Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-09-05pinctrl: intel: Constify struct intel_pinctrl parameterAndy Shevchenko2-15/+17
There are a few functions that do not and should not change the state of the pin control object. Constify the respective parameter. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
2024-09-05pinctrl: Remove redundant null pointer checks in pinctrl_remove_device_debugfs()Li Zetao1-1/+1
Since the debugfs_create_dir() never returns a null pointer, checking the return value for a null pointer is redundant, and using IS_ERR is safe enough. Signed-off-by: Li Zetao <lizetao1@huawei.com> Link: https://lore.kernel.org/20240903143812.2005071-1-lizetao1@huawei.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-09-05Merge tag 'renesas-pinctrl-for-v6.12-tag2' of ↵Linus Walleij3-50/+28
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel pinctrl: renesas: Updates for v6.12 (take two) - Miscellaneous fixes and improvements. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-09-04pinctrl: baytrail: Drop duplicate return statementAndy Shevchenko1-3/+1
No need to repeat 'return ret;' inside and outside conditional. Just use one outside conditional for both cases. Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2024-09-03pinctrl: intel: Inline intel_gpio_community_irq_handler()Andy Shevchenko1-17/+6
Since we have for_each_intel_pad_group() helper, there is no advantage of having intel_gpio_community_irq_handler(). Inline it into intel_gpio_irq(). Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2024-09-02pinctrl: madera: Simplify with dev_err_probe()Yan Zhen1-6/+3
Switch to use dev_err_probe() to simplify the error path and unify a message template. Using this helper is totally fine even if err is known to never be -EPROBE_DEFER. The benefit compared to a normal dev_err() is the standardized format of the error code, it being emitted symbolically and the fact that the error code is returned which allows more compact error paths. Signed-off-by: Yan Zhen <yanzhen@vivo.com> Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/20240829044835.2047794-1-yanzhen@vivo.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-09-02pinctrl: k210: Use devm_clk_get_enabled() helpersWang Jianzheng1-27/+8
The devm_clk_get_enabled() helpers: - call devm_clk_get() - call clk_prepare_enable() and register what is needed in order to call clk_disable_unprepare() when needed, as a managed resource. This simplifies the code and avoids the calls to clk_disable_unprepare(). Signed-off-by: Wang Jianzheng <wangjianzheng@vivo.com> Reviewed-by: Damien Le Moal <dlemoal@kernel.org> Link: https://lore.kernel.org/20240829064938.20114-1-wangjianzheng@vivo.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-09-02pinctrl: Join split messages and remove double whitespaceGeert Uytterhoeven1-5/+2
Splitting error messages across multiple lines makes it harder to find them in the kernel sources. Fix this by joining the messages. Remove double whitespace (end of first line + begin of second line). Fixes: 1c8e794432c2ee75 ("pinctrl: improve warning messages") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/c8e3feeedbf42a130936a5afaea0f129bcda51f6.1724938156.git.geert+renesas@glider.be Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-09-02pinctrl: renesas: rzg2l: Move pinconf_to_config_argument() call outside of ↵Lad Prabhakar1-11/+3
switch cases Refactor the `rzg2l_pinctrl_pinconf_set()` function by moving the call to `arg = pinconf_to_config_argument(_configs[i])` to the beginning of the loop. Previously, this call was redundantly made in most cases within the switch statement. 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/20240829194841.84398-3-prabhakar.mahadev-lad.rj@bp.renesas.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2024-09-02pinctrl: renesas: rzg2l: Introduce single macro for digital noise filter ↵Lad Prabhakar1-32/+20
configuration Support for enabling the digital noise filter, and support for configuring the noise filter stages (via the FILNUM register) and the sampling interval (via the FILCLKSEL register) are related: a pin supports either all or none of them. Hence simplify declaring digital noise filter support for a pin by using a single feature flag instead of three separate flags. This patch removes the PIN_CFG_FILNUM and PIN_CFG_FILCLKSEL configuration macros and renames PIN_CFG_FILONOFF to PIN_CFG_NF. 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/20240829194841.84398-2-prabhakar.mahadev-lad.rj@bp.renesas.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2024-09-02pinctrl: renesas: rzg2l: Replace of_node_to_fwnode() with more suitable APIAndy Shevchenko1-1/+2
of_node_to_fwnode() is a IRQ domain specific implementation of of_fwnode_handle(). Replace the former with more suitable API. Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com> Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/20240822230104.707812-1-andy.shevchenko@gmail.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2024-09-02pinctrl: mvebu: Fix devinit_dove_pinctrl_probe functionWang Jianzheng1-13/+29
When an error occurs during the execution of the function __devinit_dove_pinctrl_probe, the clk is not properly disabled. Fix this by calling clk_disable_unprepare before return. Fixes: ba607b6238a1 ("pinctrl: mvebu: make pdma clock on dove mandatory") Signed-off-by: Wang Jianzheng <wangjianzheng@vivo.com> Link: https://lore.kernel.org/20240829064823.19808-1-wangjianzheng@vivo.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-09-02pinctrl: sunxi: Use devm_clk_get_enabled() helpersWang Jianzheng1-10/+4
sunxi sunxi_pinctrl_init_with_variant get, enable clk and deinit_device disable and unprepare it. This simplifes the code and avoids the calls to clk_disable_unprepare(). Signed-off-by: Wang Jianzheng <wangjianzheng@vivo.com> Link: https://lore.kernel.org/20240829064737.16169-1-wangjianzheng@vivo.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-09-01pinctrl: sophgo: cv18xx: fix missed __iomem type identifierInochi Amaoto1-1/+1
As the variable reg in "cv1800_pctrl_dbg_show" misses a "__iomem" type identifier, a warning will be issued by the compiler. Add this identifier to avoid this warning. Fixes: a29d8e93e710 ("pinctrl: sophgo: add support for CV1800B SoC") Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202408271555.kpOmi9I8-lkp@intel.com/ Signed-off-by: Inochi Amaoto <inochiama@outlook.com> Link: https://lore.kernel.org/IA1PR20MB495329EBE498DFFDAA1EC457BB972@IA1PR20MB4953.namprd20.prod.outlook.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-31pinctrl: stmfx: Use string_choices API instead of ternary operatorAndy Shevchenko1-2/+3
Use modern string_choices API instead of manually determining the output using ternary operator. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/20240826095306.1420628-1-andriy.shevchenko@linux.intel.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-30pinctrl: nomadik: Use kmemdup_array instead of kmemdup for multiple allocationYu Jiaoliang2-4/+2
Let the kememdup_array() take care about multiplication and possible overflows. Signed-off-by: Yu Jiaoliang <yujiaoliang@vivo.com> Link: https://lore.kernel.org/20240826074037.2313468-1-yujiaoliang@vivo.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-30pinctrl: intel: Introduce for_each_intel_gpio_group() helper et al.Andy Shevchenko1-79/+46
Introduce a helper macro for_each_intel_gpio_group() et al. With those in place, update the users. It reduces the C code base as well as shrinks the binary: add/remove: 0/0 grow/shrink: 4/21 up/down: 39/-621 (-582) Total: Before=15942, After=15360, chg -3.65% Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2024-08-30pinctrl: intel: Constify intel_get_community() returned objectAndy Shevchenko4-7/+8
There is nothing prevents us from constifying intel_get_community() returned object. Do it to make code more robust. Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2024-08-30pinctrl: intel: Implement high impedance supportAndy Shevchenko1-0/+41
Implement high impedance support for Intel pin control hardware. It allows to set high impedance and check it. Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2024-08-30pinctrl: intel: Add __intel_gpio_get_direction() helperAndy Shevchenko1-6/+42
Add __intel_gpio_get_direction() helper which provides all possible physical states of the pad. With that done, update current users and make the respective checks consistent. While at it, make the style of anonymous enum kernel documentation consistent. Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2024-08-30pinctrl: intel: Refactor __intel_gpio_set_direction() to be more usefulAndy Shevchenko1-13/+18
Refactor __intel_gpio_set_direction() to be more useful, i.e. 1) use one parameter per each direction to support all combinatios; 2) move IO to the only user that needs it. With that done, update current users and deduplicate existing code. Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2024-08-30pinctrl: intel: Move debounce validation out of the lockAndy Shevchenko1-12/+15
There is no need to validate debounce value under the lock. Move it outside. It also results in a smaller binary: add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-11 (-11) Total: Before=15374, After=15363, chg -0.07% Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2024-08-30Merge tag 'samsung-pinctrl-6.12' of ↵Linus Walleij5-32/+141
https://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/samsung into devel Samsung pinctrl drivers changes for v6.12 1. Few cleanups: use more appropriate of_property_present(), use scoped OF nodes handling and switch to kmemdup_array(). 2. Implement configuring pull-up and pull-down via GPIOLIB. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-26Merge branch 'ib-sophgo-pintrl' into develLinus Walleij10-0/+3529
Immutable branch for the SoC tree, merge to pinctrl devel proper. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-26pinctrl: sophgo: add support for SG2002 SoCInochi Amaoto3-0/+554
Add pin definition driver of SG2002. Signed-off-by: Inochi Amaoto <inochiama@outlook.com> Link: https://lore.kernel.org/IA1PR20MB4953110EF4EAFA65EA2272E3BBB32@IA1PR20MB4953.namprd20.prod.outlook.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-26pinctrl: sophgo: add support for SG2000 SoCInochi Amaoto3-0/+783
Add pin definition driver of SG2000. Signed-off-by: Inochi Amaoto <inochiama@outlook.com> Link: https://lore.kernel.org/IA1PR20MB495339CB8E9CB4FCAAE4886BBBB32@IA1PR20MB4953.namprd20.prod.outlook.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-26pinctrl: sophgo: add support for CV1812H SoCInochi Amaoto3-0/+783
Add pin definition driver of CV1812H. Signed-off-by: Inochi Amaoto <inochiama@outlook.com> Link: https://lore.kernel.org/IA1PR20MB495355EDA2E04FA3E2794978BBB32@IA1PR20MB4953.namprd20.prod.outlook.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-26pinctrl: sophgo: add support for CV1800B SoCInochi Amaoto7-0/+1409
Sophgo CV1800 series SoCs share common control logic but have different register mapping. For maintenance, split the driver and pin definition of the SoC. Add base driver for CV1800 series SoC and pin definition of CV1800B. Signed-off-by: Inochi Amaoto <inochiama@outlook.com> Link: https://lore.kernel.org/IA1PR20MB4953B260E04EC53F6A01EB30BBB32@IA1PR20MB4953.namprd20.prod.outlook.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-26pinctrl: freescale: imx-scmi: Use kmemdup_array instead of kmemdup for ↵Shen Lichuan1-1/+1
multiple allocation Let the kmemdup_array() take care about multiplication and possible overflows. Signed-off-by: Shen Lichuan <shenlichuan@vivo.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> Link: https://lore.kernel.org/20240823105421.50017-1-shenlichuan@vivo.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-26Merge tag 'renesas-pinctrl-for-v6.12-tag1' of ↵Linus Walleij1-26/+19
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel pinctrl: renesas: Updates for v6.12 - Document support for the Renesas RZ/G2M v3.0 (r8a774a3) SoC, - Miscellaneous fixes and improvements. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-26drivers/pinctrl: Switch to use kmemdup_array()Shen Lichuan1-2/+2
Let the kememdup_array() take care about multiplication and possible overflows. Signed-off-by: Shen Lichuan <shenlichuan@vivo.com> Link: https://lore.kernel.org/20240822044156.2301-1-shenlichuan@vivo.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-24pinctrl: bcm2835: fix module autoloadingLiao Chen1-0/+1
Add MODULE_DEVICE_TABLE(), so modules could be properly autoloaded based on the alias from of_device_id table. Signed-off-by: Liao Chen <liaochen4@huawei.com> Acked-by: Florian Fainelli <florian.fainelli@broadcom.com> Link: https://lore.kernel.org/20240820122604.42736-1-liaochen4@huawei.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-24pinctrl: pinctrl-zynq: fix module autoloadingLiao Chen1-0/+1
Add MODULE_DEVICE_TABLE(), so modules could be properly autoloaded based on the alias from of_device_id table. Signed-off-by: Liao Chen <liaochen4@huawei.com> Link: https://lore.kernel.org/20240814030155.3876069-1-liaochen4@huawei.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-24pinctrl: single: fix missing error code in pcs_probe()Yang Yingliang1-1/+2
If pinctrl_enable() fails in pcs_probe(), it should return the error code. Fixes: 8f773bfbdd42 ("pinctrl: single: fix possible memory leak when pinctrl_enable() fails") Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> Link: https://lore.kernel.org/20240819024625.154441-1-yangyingliang@huaweicloud.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-23pinctrl: imx: Switch to LATE_SYSTEM_SLEEP_PM_OPS()Fabio Estevam2-5/+4
Replace SET_LATE_SYSTEM_SLEEP_PM_OPS() with its modern LATE_SYSTEM_SLEEP_PM_OPS() alternative. The combined usage of pm_sleep_ptr() and LATE_SYSTEM_SLEEP_PM_OPS() allows the compiler to evaluate if the runtime suspend/resume() functions are used at build time or are simply dead code. This allows removing the __maybe_unused notation from the runtime suspend/resume() functions. Signed-off-by: Fabio Estevam <festevam@denx.de> Reviewed-by: Peng Fan <peng.fan@nxp.com> Link: https://lore.kernel.org/20240808162750.244092-1-festevam@gmail.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-23pinctrl: meson: Constify some structuresChristophe JAILLET15-106/+107
The following structures are not modified in these drivers. - struct meson_bank - struct meson_pmx_bank - struct meson_pmx_func - struct meson_pmx_group - struct meson_pinctrl_data - struct meson_axg_pmx_data Constifying these structures moves some data to a read-only section, so increase overall security. On a x86_64, with allmodconfig: Before: ====== text data bss dec hex filename 10818 11696 0 22514 57f2 drivers/pinctrl/meson/pinctrl-amlogic-c3.o 17198 17680 0 34878 883e drivers/pinctrl/meson/pinctrl-amlogic-t7.o 14161 11200 0 25361 6311 drivers/pinctrl/meson/pinctrl-meson8b.o 17348 12512 0 29860 74a4 drivers/pinctrl/meson/pinctrl-meson8.o 3070 324 0 3394 d42 drivers/pinctrl/meson/pinctrl-meson8-pmx.o 9317 9648 0 18965 4a15 drivers/pinctrl/meson/pinctrl-meson-a1.o 12115 11664 0 23779 5ce3 drivers/pinctrl/meson/pinctrl-meson-axg.o 2470 120 0 2590 a1e drivers/pinctrl/meson/pinctrl-meson-axg-pmx.o 15125 15224 0 30349 768d drivers/pinctrl/meson/pinctrl-meson-g12a.o 13800 10160 0 23960 5d98 drivers/pinctrl/meson/pinctrl-meson-gxbb.o 13040 9648 0 22688 58a0 drivers/pinctrl/meson/pinctrl-meson-gxl.o 20507 1132 48 21687 54b7 drivers/pinctrl/meson/pinctrl-meson.o 12212 12880 0 25092 6204 drivers/pinctrl/meson/pinctrl-meson-s4.o After: ===== text data bss dec hex filename 22242 248 0 22490 57da drivers/pinctrl/meson/pinctrl-amlogic-c3.o 34638 248 0 34886 8846 drivers/pinctrl/meson/pinctrl-amlogic-t7.o 25137 232 0 25369 6319 drivers/pinctrl/meson/pinctrl-meson8b.o 29604 232 0 29836 748c drivers/pinctrl/meson/pinctrl-meson8.o 3070 324 0 3394 d42 drivers/pinctrl/meson/pinctrl-meson8-pmx.o 18725 248 0 18973 4a1d drivers/pinctrl/meson/pinctrl-meson-a1.o 23539 248 0 23787 5ceb drivers/pinctrl/meson/pinctrl-meson-axg.o 2470 120 0 2590 a1e drivers/pinctrl/meson/pinctrl-meson-axg-pmx.o 30101 256 0 30357 7695 drivers/pinctrl/meson/pinctrl-meson-g12a.o 23688 248 0 23936 5d80 drivers/pinctrl/meson/pinctrl-meson-gxbb.o 22416 248 0 22664 5888 drivers/pinctrl/meson/pinctrl-meson-gxl.o 20507 1132 48 21687 54b7 drivers/pinctrl/meson/pinctrl-meson.o 24820 248 0 25068 61ec drivers/pinctrl/meson/pinctrl-meson-s4.o Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Reviewed-by: Jerome Brunet <jbrunet@baylibre.com> Tested-by: Jerome Brunet <jbrunet@baylibre.com> Link: https://lore.kernel.org/f74e326bd7d48003c06219545bad7c2ef1a84bf8.1723053850.git.christophe.jaillet@wanadoo.fr Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-23pinctrl: rockchip: Add rk3576 pinctrl supportSteven Liu2-0/+208
Add support for the 5 rk3576 GPIO banks. Signed-off-by: Steven Liu <steven.liu@rock-chips.com> Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com> Acked-by: Dragan Simic <dsimic@manjaro.org> Reviewed-by: Heiko Stuebner <heiko@sntech.de> Link: https://lore.kernel.org/20240822195706.920567-5-detlev.casanova@collabora.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-23pinctrl: mediatek: Use of_property_read_bool()Rob Herring (Arm)1-5/+2
Use of_property_read_bool() to read boolean properties rather than of_find_property(). This is part of a larger effort to remove callers of of_find_property() and similar functions. of_find_property() leaks the DT struct property and data pointers which is a problem for dynamically allocated nodes which may be freed. Signed-off-by: Rob Herring (Arm) <robh@kernel.org> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://lore.kernel.org/20240731191312.1710417-23-robh@kernel.org Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-23pinctrl: renesas: Switch to use kmemdup_array()Shen Lichuan3-6/+3
Let kmemdup_array() take care of multiplication and possible overflow. Signed-off-by: Shen Lichuan <shenlichuan@vivo.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/20240822061438.14617-1-shenlichuan@vivo.com Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
2024-08-23pinctrl: samsung: Use kmemdup_array instead of kmemdup for multiple allocationShen Lichuan1-2/+2
Let the kmemdup_array() take care about multiplication and possible overflows. Using kmemdup_array() is more appropriate and makes the code easier to audit. Signed-off-by: Shen Lichuan <shenlichuan@vivo.com> Link: https://lore.kernel.org/r/20240823114441.50648-1-shenlichuan@vivo.com Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2024-08-08pinctrl: samsung: Add support for pull-up and pull-downVishnu Reddy4-0/+126
Gpiolib framework has the implementation of setting up the PUD configuration for GPIO pins but there is no driver support. Add support to handle the PUD configuration request from the userspace in samsung pinctrl driver. Signed-off-by: Vishnu Reddy <vishnu.reddy@samsung.com> Link: https://lore.kernel.org/r/20240729153631.24536-1-vishnu.reddy@samsung.com Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2024-08-07Merge tag 'intel-pinctrl-v6.11-1' of ↵Linus Walleij1-0/+1
git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel into devel intel-pinctrl for v6.11-1 This includes a new ACPI ID that is added to the Intel Meteor Lake driver to support recent Intel Arrow Lake hardware. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-05pinctrl: s32cc: add update and overwrite options when setting pinconfAndrei Stefanescu1-7/+23
The previous pinconf settings(made by the bootloader) need to be overwritten when configuring the pinctrl of a driver during the boot process. Configuring the bias of a GPIO at runtime (e.g. pull-up) needs to preserve the other settings unaltered. This patch introduces changes to differentiate between the two cases. Signed-off-by: Radu Pirea <radu-nicolae.pirea@nxp.com> Signed-off-by: Florin Buica <florin.buica@nxp.com> Signed-off-by: Andrei Stefanescu <andrei.stefanescu@oss.nxp.com> Link: https://lore.kernel.org/20240723131832.1171036-4-andrei.stefanescu@oss.nxp.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-05pinctrl: s32cc: configure PIN_CONFIG_DRIVE_PUSH_PULLAndrei Stefanescu1-0/+4
Previously, it was possible to only configure the open-drain for a pin. However, after a pin got configured with open-drain, there wasn't any way to disable it. Add the push-pull configuration in order to reverse the open-drain configuration. Signed-off-by: Florin Buica <florin.buica@nxp.com> Signed-off-by: Andrei Stefanescu <andrei.stefanescu@oss.nxp.com> Link: https://lore.kernel.org/20240723131832.1171036-3-andrei.stefanescu@oss.nxp.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-05pinctrl: s32cc: enable the input buffer for a GPIOAndrei Stefanescu1-9/+8
The IBE (input buffer enable) should be enabled for a GPIO. Reading the value will return the one from the input register, writing the value will return the one from the output register. This offers the flexibility to check if the value intended to be set matches the actual physical one. Signed-off-by: Florin Buica <florin.buica@nxp.com> Signed-off-by: Andrei Stefanescu <andrei.stefanescu@oss.nxp.com> Link: https://lore.kernel.org/20240723131832.1171036-2-andrei.stefanescu@oss.nxp.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-05pinctrl: nuvoton: npcm8xx: modify pins flagsTomer Maimon1-18/+18
Modify the following pins flags on the Nuvoton NPCM8XX BMC: - Add pins 110-113, 187, 191, 192, 194-199, 202 SLEW flag - Add pins 229 and 230 GPO flag. - Remove pin 233 SLEWLPC flag. - Remove pin 251 SLEW flag. Signed-off-by: Tomer Maimon <tmaimon77@gmail.com> Link: https://lore.kernel.org/20240716194008.3502068-8-tmaimon77@gmail.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-05pinctrl: nuvoton: npcm8xx: modify clkrun and serirq pin configurationTomer Maimon1-2/+2
Modify clkrun and serirq pin configuration on the Nuvoton NPCM8XX BMC SoC. Signed-off-by: Tomer Maimon <tmaimon77@gmail.com> Link: https://lore.kernel.org/20240716194008.3502068-7-tmaimon77@gmail.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-05pinctrl: nuvoton: npcm8xx: add pin 250 to DDR pins groupTomer Maimon1-1/+2
Add pin 250 to DDR pins group on the Nuvoton NPCM8xx BMC SoC. Signed-off-by: Tomer Maimon <tmaimon77@gmail.com> Link: https://lore.kernel.org/20240716194008.3502068-6-tmaimon77@gmail.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2024-08-05pinctrl: nuvoton: npcm8xx: add gpi35 and gpi36Tomer Maimon1-3/+7
This patch adds support for GPIO pins GPI35 and GPI36 on the Nuvoton NPCM8xx BMC SoC. The pins are configured for only for input. Signed-off-by: Tomer Maimon <tmaimon77@gmail.com> Link: https://lore.kernel.org/20240716194008.3502068-5-tmaimon77@gmail.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>