[PATCH V3 1/2] pinctrl: bcm2835: Implement bcm2835_pinconf_get
Linus Walleij
linus.walleij at linaro.org
Wed Mar 6 04:57:27 PST 2024
On Wed, Mar 6, 2024 at 9:55 AM Chen-Yu Tsai <wens at kernel.org> 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
More information about the linux-rpi-kernel
mailing list