linux/drivers/pinctrl
Marek Behún baf8d6899b pinctrl: armada-37xx: Correct PWM pins definitions
The PWM pins on North Bridge on Armada 37xx can be configured into PWM
or GPIO functions. When in PWM function, each pin can also be configured
to drive low on 0 and tri-state on 1 (LED mode).

The current definitions handle this by declaring two pin groups for each
pin:
- group "pwmN" with functions "pwm" and "gpio"
- group "ledN_od" ("od" for open drain) with functions "led" and "gpio"

This is semantically incorrect. The correct definition for each pin
should be one group with three functions: "pwm", "led" and "gpio".

Change the "pwmN" groups to support "led" function.

Remove "ledN_od" groups. This cannot break backwards compatibility with
older device trees: no device tree uses it since there is no PWM driver
for this SOC yet. Also "ledN_od" groups are not even documented.

Fixes: b835d69530 ("pinctrl: armada-37xx: swap polarity on LED group")
Signed-off-by: Marek Behún <kabel@kernel.org>
Acked-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210719112938.27594-1-kabel@kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2021-07-23 17:54:42 +02:00
..
actions pinctrl: actions: Add depends on || COMPILE_TEST 2021-02-12 13:44:26 +01:00
aspeed This is the bulk of pin control changes for the v5.14 kernel: 2021-07-01 16:57:14 -07:00
bcm pinctrl: bcm2835: Replace BUG with BUG_ON 2021-07-23 17:47:00 +02:00
berlin
cirrus pinctrl: madera: Add missing call to pinctrl_unregister_mappings 2020-02-29 00:34:23 +01:00
freescale pinctrl: imx: Disallow driver unbind 2021-04-08 16:00:53 +02:00
intel pinctrl: tigerlake: Add Alder Lake-M ACPI ID 2021-05-25 16:26:38 +03:00
mediatek pinctrl: mediatek: fix mode encoding 2021-06-09 15:30:45 +02:00
meson pinctrl/meson: enable building as modules 2020-11-05 14:51:38 +01:00
mvebu pinctrl: armada-37xx: Correct PWM pins definitions 2021-07-23 17:54:42 +02:00
nomadik pinctrl: nomadik: Remove unused variable in nmk_gpio_dbg_show_one 2021-01-06 00:20:14 +01:00
nuvoton pinctrl: npcm: Align a few entries in the pin function table 2021-05-25 17:10:05 +02:00
pxa pinctrl: Introduce MODE group in enum pin_config_param 2021-04-22 02:03:01 +02:00
qcom pinctrl: qcom: Add MDM9607 pinctrl driver 2021-07-23 17:44:13 +02:00
ralink This is the bulk of pin control changes for the v5.14 kernel: 2021-07-01 16:57:14 -07:00
renesas pinctrl: renesas: r8a77980: Add bias pinconf support 2021-05-31 10:50:29 +02:00
samsung pinctrl: samsung: use 'int' for register masks in Exynos 2021-04-10 02:06:36 +02:00
spear pinctrl/spear: simplify the return expression of spear300_pinctrl_probe() 2020-12-12 01:42:06 +01:00
sprd pinctrl: sprd: Simplify bool comparison 2021-01-18 14:41:42 +01:00
stm32 This is the bulk of pin control changes for the v5.14 kernel: 2021-07-01 16:57:14 -07:00
sunxi pinctrl: sunxi: Add support for the Allwinner H616-R pin controller 2021-01-21 22:15:46 +01:00
tegra This is the bulk of the pin control changes for the v5.9 2020-08-09 12:52:28 -07:00
ti pinctrl: ti: fix error return code of ti_iodelay_dt_node_to_map() 2021-04-08 15:57:14 +02:00
uniphier pinctrl: uniphier: Replace zero-length array with flexible-array member 2020-02-21 15:36:24 +01:00
visconti gpio: visconti: Add Toshiba Visconti GPIO support 2021-02-15 11:43:26 +01:00
vt8500 pinctrl: Use new GPIO_LINE_DIRECTION 2020-02-21 15:19:42 +01:00
core.c This is the bulk of the pin control changes for the v5.13 kernel cycle 2021-04-30 13:04:30 -07:00
core.h pinctrl: Allow modules to use pinctrl_[un]register_mappings 2019-12-30 14:27:17 +01:00
devicetree.c pinctrl: devicetree: Keep deferring even on timeout 2020-09-12 18:19:53 +02:00
devicetree.h
Kconfig pinctrl: zynqmp: some code cleanups 2021-06-26 01:44:19 +02:00
Makefile pinctrl: Add Xilinx ZynqMP pinctrl driver support 2021-04-22 11:13:04 +02:00
pinconf-generic.c pinctrl: Introduce MODE group in enum pin_config_param 2021-04-22 02:03:01 +02:00
pinconf.c pinctrl: use to octal permissions for debugfs files 2021-03-10 14:41:58 +01:00
pinconf.h
pinctrl-amd.c pinctrl/amd: Add device HID for new AMD GPIO controller 2021-05-25 17:09:48 +02:00
pinctrl-amd.h pinctrl: amd: Add missing pins to the pin group list 2020-10-07 15:37:17 +02:00
pinctrl-artpec6.c pinctrl: artpec6: fix __iomem on reg in set 2020-01-07 13:57:17 +01:00
pinctrl-as3722.c
pinctrl-at91-pio4.c pinctrl: at91-pio4: Fix slew rate disablement 2021-04-13 09:42:18 +02:00
pinctrl-at91.c pinctrl: at91: Constify struct at91_pinctrl_mux_ops 2021-05-25 17:10:05 +02:00
pinctrl-at91.h
pinctrl-axp209.c pinctrl: Use new GPIO_LINE_DIRECTION 2020-02-21 15:19:42 +01:00
pinctrl-bm1880.c pinctrl: pinctrl-bm1880: Rename ill documented struct attribute entries 2020-07-16 15:13:55 +02:00
pinctrl-da850-pupd.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-da9062.c pinctrl: da9062: Fix error gpiolib.h path 2020-02-28 14:15:53 +01:00
pinctrl-digicolor.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-equilibrium.c pinctrl: equilibrium: Add missing MODULE_DEVICE_TABLE 2021-05-20 01:00:24 +02:00
pinctrl-equilibrium.h pinctrl: Add pinmux & GPIO controller driver for a new SoC 2019-11-21 14:47:44 +01:00
pinctrl-falcon.c pinctrl: falcon: add missing put_device() call in pinctrl_falcon_probe() 2020-12-04 09:17:51 +01:00
pinctrl-gemini.c
pinctrl-ingenic.c linux/kconfig.h: replace IF_ENABLED() with PTR_IF() in <linux/kernel.h> 2021-05-09 00:29:45 +09:00
pinctrl-k210.c drivers: pinctrl: Remove duplicate include of io.h 2021-03-30 00:54:37 +02:00
pinctrl-lantiq.c pinctrl: fix several typos 2020-04-28 13:26:49 +02:00
pinctrl-lantiq.h
pinctrl-lpc18xx.c pinctrl: Introduce MODE group in enum pin_config_param 2021-04-22 02:03:01 +02:00
pinctrl-max77620.c
pinctrl-mcp23s08_i2c.c pinctrl: mcp23s08: Split to three parts: core, I²C, SPI 2020-04-16 14:21:23 +02:00
pinctrl-mcp23s08_spi.c pinctrl: mcp23s08: Print error message when regmap init fails 2020-11-05 11:30:31 +01:00
pinctrl-mcp23s08.c pinctrl: mcp23s08: Add optional reset GPIO 2021-06-12 01:58:10 +02:00
pinctrl-mcp23s08.h pinctrl: mcp23s08: Add optional reset GPIO 2021-06-12 01:58:10 +02:00
pinctrl-microchip-sgpio.c pinctrl: microchip-sgpio: Put fwnode in error case during ->probe() 2021-06-18 11:17:47 +02:00
pinctrl-ocelot.c pinctrl: ocelot: Remove redundant error printing in ocelot_pinctrl_probe() 2021-05-20 01:33:53 +02:00
pinctrl-oxnas.c pinctrl: Use new GPIO_LINE_DIRECTION 2020-02-21 15:19:42 +01:00
pinctrl-palmas.c
pinctrl-pic32.c pinctrl: Use new GPIO_LINE_DIRECTION 2020-02-21 15:19:42 +01:00
pinctrl-pic32.h
pinctrl-pistachio.c pinctrl: Use new GPIO_LINE_DIRECTION 2020-02-21 15:19:42 +01:00
pinctrl-rk805.c pinctrl: rk805: Constify rk805_gpio_cfgs 2020-05-12 13:35:33 +02:00
pinctrl-rockchip.c This is the bulk of the pin control changes for the v5.13 kernel cycle 2021-04-30 13:04:30 -07:00
pinctrl-single.c pinctrl: single: config: enable the pin's input 2021-06-07 09:02:27 +02:00
pinctrl-st.c pinctrl: remove empty lines in pinctrl subsystem 2021-01-05 16:09:24 +01:00
pinctrl-stmfx.c pinctrl: stmfx: Use irqchip template 2020-08-04 01:29:10 +02:00
pinctrl-sx150x.c pinctrl: remove empty lines in pinctrl subsystem 2021-01-05 16:09:24 +01:00
pinctrl-tb10x.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-utils.c pinctrl: use krealloc_array() 2020-12-15 12:13:37 -08:00
pinctrl-utils.h
pinctrl-xway.c pinctrl: use devm_platform_ioremap_resource() to simplify code 2019-11-05 15:33:40 +01:00
pinctrl-zynq.c pinctrl: Introduce MODE group in enum pin_config_param 2021-04-22 02:03:01 +02:00
pinctrl-zynqmp.c pinctrl: zynqmp: some code cleanups 2021-06-26 01:44:19 +02:00
pinmux.c pinctrl: pinmux: Add pinmux-select debugfs file 2021-03-10 14:41:58 +01:00
pinmux.h