Signed-off-by: Sumit Garg <sumit.g...@linaro.org>
---
 drivers/serial/serial_msm.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/serial/serial_msm.c b/drivers/serial/serial_msm.c
index a22623c316e..43e58595dc2 100644
--- a/drivers/serial/serial_msm.c
+++ b/drivers/serial/serial_msm.c
@@ -16,6 +16,7 @@
 #include <serial.h>
 #include <watchdog.h>
 #include <asm/global_data.h>
+#include <asm/gpio.h>
 #include <asm/io.h>
 #include <linux/compiler.h>
 #include <linux/delay.h>
@@ -210,6 +211,7 @@ static int msm_serial_probe(struct udevice *dev)
 {
        int ret;
        struct msm_serial_data *priv = dev_get_priv(dev);
+       struct gpio_desc rs232_0, rs232_1;
 
        /* No need to reinitialize the UART after relocation */
        if (gd->flags & GD_FLG_RELOC)
@@ -219,6 +221,11 @@ static int msm_serial_probe(struct udevice *dev)
        if (ret)
                return ret;
 
+       if (!gpio_request_by_name(dev, "gpios", 0, &rs232_0, GPIOD_IS_OUT))
+               dm_gpio_set_value(&rs232_0, 1);
+       if (!gpio_request_by_name(dev, "gpios", 1, &rs232_1, GPIOD_IS_OUT))
+               dm_gpio_set_value(&rs232_1, 0);
+
        pinctrl_select_state(dev, "uart");
        uart_dm_init(priv);
 
-- 
2.34.1

Reply via email to