On Thu 23 Jan 04:48 PST 2020, Roja Rani Yarubandi wrote: > Configure UART_IO_MACRO_CTRL register if UART lines are swapped. > > Signed-off-by: Roja Rani Yarubandi <rojay@xxxxxxxxxxxxxx> > --- > drivers/tty/serial/qcom_geni_serial.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/tty/serial/qcom_geni_serial.c b/drivers/tty/serial/qcom_geni_serial.c > index ff63728a95f4..24b862937c1e 100644 > --- a/drivers/tty/serial/qcom_geni_serial.c > +++ b/drivers/tty/serial/qcom_geni_serial.c > @@ -24,6 +24,7 @@ > > /* UART specific GENI registers */ > #define SE_UART_LOOPBACK_CFG 0x22c > +#define SE_UART_IO_MACRO_CTRL 0x240 > #define SE_UART_TX_TRANS_CFG 0x25c > #define SE_UART_TX_WORD_LEN 0x268 > #define SE_UART_TX_STOP_BIT_LEN 0x26c > @@ -1260,6 +1261,7 @@ static int qcom_geni_serial_probe(struct platform_device *pdev) > int irq; > bool console = false; > struct uart_driver *drv; > + u32 val; > > if (of_device_is_compatible(pdev->dev.of_node, "qcom,geni-debug-uart")) > console = true; > @@ -1309,6 +1311,10 @@ static int qcom_geni_serial_probe(struct platform_device *pdev) > return irq; > uport->irq = irq; > > + ret = of_property_read_u32(pdev->dev.of_node, "qcom,pin_inverse", &val); This needs to be documented in the DT binding document. And I assume it's better suited as a bool property to be read using of_property_read_bool(). Also avoid '_' in property names and make it a '-'. Regards, Bjorn > + if (!ret) > + writel(val, uport->membase + SE_UART_IO_MACRO_CTRL); > + > irq_set_status_flags(uport->irq, IRQ_NOAUTOEN); > ret = devm_request_irq(uport->dev, uport->irq, qcom_geni_serial_isr, > IRQF_TRIGGER_HIGH, port->name, uport); > -- > QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member > of the Code Aurora Forum, hosted by The Linux Foundation >