Skip to content
Commit b04f0d89 authored by Gabor Juhos's avatar Gabor Juhos Committed by Gregory CLEMENT
Browse files

arm64: dts: marvell: uDPU: define pinctrl state for alarm LEDs



The two alarm LEDs of on the uDPU board are stopped working since
commit 78efa53e ("leds: Init leds class earlier").

The LEDs are driven by the GPIO{15,16} pins of the North Bridge
GPIO controller. These pins are part of the 'spi_quad' pin group
for which the 'spi' function is selected via the default pinctrl
state of the 'spi' node. This is wrong however, since in order to
allow controlling the LEDs, the pins should use the 'gpio' function.

Before the commit mentined above, the 'spi' function is selected
first by the pinctrl core before probing the spi driver, but then
it gets overridden to 'gpio' implicitly via the
devm_gpiod_get_index_optional() call from the 'leds-gpio' driver.

After the commit, the LED subsystem gets initialized before the
SPI subsystem, so the function of the pin group remains 'spi'
which in turn prevents controlling of the LEDs.

Despite the change of the initialization order, the root cause is
that the pinctrl state definition is wrong since its initial commit
0d45062c ("arm64: dts: marvell: Add device tree for uDPU board"),

To fix the problem, override the function in the 'spi_quad_pins'
node to 'gpio' and move the pinctrl state definition from the
'spi' node into the 'leds' node.

Cc: stable@vger.kernel.org # needs adjustment for < 6.1
Fixes: 0d45062c ("arm64: dts: marvell: Add device tree for uDPU board")
Signed-off-by: default avatarGabor Juhos <j4g8y7@gmail.com>
Signed-off-by: default avatarImre Kaloz <kaloz@openwrt.org>
Signed-off-by: default avatarGregory CLEMENT <gregory.clement@bootlin.com>
parent 0af2f6be
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment