[PATCH RFC] serial: imx: support an enable-gpio

Fabio Estevam festevam at gmail.com
Mon Apr 3 08:01:11 PDT 2017


Hi Uwe,

On Wed, Jul 13, 2016 at 6:01 AM, Uwe Kleine-König
<u.kleine-koenig at pengutronix.de> wrote:
> A part of my machine looks as follows (simplified):
>
> ,------------------------.
> | ,---------.            |
> | |  imx25  o--RX----◁---o---
> | |         o--GPIO--'   |
> | `---------'            |
> `------------------------'
>
> that is, there is a driver on the RX line that must be enabled before
> the UART can be used. (That is necessary because the default mux of the
> RX pad after reset is an output.)
>
> To represent this in the device tree I do:
>
>         pinctrl_uart5: uart5 {
>                 fsl,pins = <
>                         ...
>                         MX25_PAD_LBA__UART5_RXD         0x00000000
>                         MX25_PAD_CS5__GPIO_3_21         0x00002001
>                         ...
>         };
>
>         &uart5 {
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&pinctrl_uart5>;
>
>                 enable-gpio = <&gpio3 21 GPIO_ACTIVE_LOW>;
>                 ...
>         };
>
> This way it's ensured that the gpio is only enabled when the LBA pad is
> muxed as RX (together with the bootloader that sets the GPIO high).
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>

Since this is not imx serial specific it could be made more generic.

What about extending
Documentation/devicetree/bindings/serial/slave-device.txt to handle
this GPIO, or maybe a regulator?



More information about the linux-arm-kernel mailing list