Re: [PATCH v2 4/5] pinctrl: freescale: add the LX2160A RCW pad-mux driver

From
Linus Walleij <linusw@kernel.org>
Date
2026-11-05 09:10:30
Also in
imx, linux-arm-kernel, linux-devicetree, linux-gpio, lkml
Reply to
Vincent Jardin via B4 Relay, 2026-11-03
On Tue, Nov 3, 2026 at 7:12 PM Vincent Jardin via B4 Relay
[off-list ref] wrote:
From: Vincent Jardin <vjardin@free.fr>

The LX2160A muxes its IIC, XSPI, SDHC, UART, IRQ and EVT pads from
fields of the RCW, read-only in RCWSR12..14 of DCFG and changed at
runtime through the same fields of the override registers in its DCSR
view, which read 0 until written.

Since commit 8a1365c7bbc1 ("arm64: dts: lx2160a: add pinmux and i2c
gpio to support bus recovery") Linux drives them with pinctrl-single on
the override registers, so its first pin state clears every other field
of the word: a board whose RCW programs a non-zero pad mux loses those
pads at the first I2C probe.

Add a driver for the pad mux as a child of the DCFG node: the fields
of RCWSR12..14 and their encoding.
Then pin states select them with the generic function and groups
properties, and every change goes through the RCW override
of fsl-guts, which reads the status register, writes the override and
waits for the status register to follow.

Signed-off-by: Vincent Jardin <vjardin@free.fr>
Can this be applied separately once reviewed?

Yours,
Linus Walleij
Thread (10 messages) 10 messages, 4 authors, last reply 3d ago
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help