# 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 
- List: linuxppc-dev
- Page: https://ratatoskr.run/linuxppc-dev/2026/11/17869023
- Thread: https://ratatoskr.run/linux-gpio/2026/11/17855200/t.md

```text
On Tue, Nov 3, 2026 at 7:12 PM Vincent Jardin via B4 Relay
[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

```
