On Wed, Mar 6, 2024 at 9:55 AM Chen-Yu Tsai <wens@xxxxxxxxxx> wrote: > For the MediaTek device trees, the only two occurrences of "output-enable" > actually describe conflicting information: > > pins-rts { > pinmux = <PINMUX_GPIO47__FUNC_URTS1>; > output-enable; > }; > > The above asks for the UART function on this pin, but based on existing > driver definitions, switches the function to GPIO output because of the > "output-enable" property. Hence the confusion. This is actually also driver-dependent. It is only conflicting if the pin controller has .strict set in struct pinmux_ops, because many SoCs are perfectly capable of using a pin as a function such as UART RTS and GPIO at *the same time*. Details on strict mode can be found in Documentation/driver-api/pin-control.rst I don't know which Mediatek this is but: $ git grep strict drivers/pinctrl/mediatek/ drivers/pinctrl/mediatek/pinctrl-moore.c: .strict = true, Only the Moore family is strict, and I think BCM2835 is not. Yours, Linus Walleij