Add rs485 support to uartps driver
From: | Manikanta Guntupalli <manikanta.guntupalli-AT-amd.com> | |
To: | <git-AT-amd.com>, <michal.simek-AT-amd.com>, <gregkh-AT-linuxfoundation.org>, <robh+dt-AT-kernel.org>, <krzysztof.kozlowski+dt-AT-linaro.org>, <conor+dt-AT-kernel.org>, <linux-serial-AT-vger.kernel.org>, <devicetree-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org>, <jirislaby-AT-kernel.org>, <linux-arm-kernel-AT-lists.infradead.org> | |
Subject: | [PATCH V3 0/2] Add rs485 support to uartps driver | |
Date: | Tue, 24 Oct 2023 20:18:45 +0530 | |
Message-ID: | <20231024144847.2316941-1-manikanta.guntupalli@amd.com> | |
Cc: | <radhey.shyam.pandey-AT-amd.com>, <srinivas.goud-AT-amd.com>, <shubhrajyoti.datta-AT-amd.com>, <manion05gk-AT-gmail.com>, Manikanta Guntupalli <manikanta.guntupalli-AT-amd.com> | |
Archive-link: | Article |
Add optional gpio property to uartps node to support rs485. Add rs485 support to uartps driver. --- Changes for V2: Modify optional gpio name to xlnx,phy-ctrl-gpios. Update commit description. Add support for RTS, delay_rts_before_send and delay_rts_after_send in RS485 mode. Changes for V3: Modify optional gpio name to rts-gpios. Update commit description. Move cdns_uart_tx_empty function to avoid prototype statement. Remove assignment of struct serial_rs485 to port->rs485 as serial core performs that. Switch to native RTS in non GPIO case. Handle rs485 during stop tx. Remove explicit calls to configure gpio direction and value, as devm_gpiod_get_optional performs that by using GPIOD_OUT_LOW argument. Update implementation to support configuration of GPIO/RTS value based on user configuration of SER_RS485_RTS_ON_SEND and SER_RS485_RTS_AFTER_SEND. Move implementation to start_tx from handle_tx. Manikanta Guntupalli (2): dt-bindings: Add optional gpio property to uartps node to support rs485 tty: serial: uartps: Add rs485 support to uartps driver .../devicetree/bindings/serial/cdns,uart.yaml | 6 + drivers/tty/serial/xilinx_uartps.c | 180 ++++++++++++++++-- 2 files changed, 171 insertions(+), 15 deletions(-) -- 2.25.1