pinctrl: armada-37xx: Correct PWM pins definitions
authorMarek Behún <kabel@kernel.org>
Mon, 19 Jul 2021 11:29:38 +0000 (13:29 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 18 Sep 2021 11:40:11 +0000 (13:40 +0200)
commitef5395fbadac89af2c4e20b3b6c449ad51c4e085
treed6909b7a07491b1b5079ddd03c43a64e7fa5127b
parent782ceaba977c4ef5b8e124f939c6e44524c18560
pinctrl: armada-37xx: Correct PWM pins definitions

[ Upstream commit baf8d6899b1e8906dc076ef26cc633e96a8bb0c3 ]

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: b835d6953009 ("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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Documentation/devicetree/bindings/pinctrl/marvell,armada-37xx-pinctrl.txt
drivers/pinctrl/mvebu/pinctrl-armada-37xx.c