From: Farouk Bouabid <farouk.bouabid@theobroma-systems.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jirislaby@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>
Cc: Rob Herring <robh@kernel.org>,
linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org,
devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org,
quentin.schulz@theobroma-systems.com,
Heiko Stuebner <heiko.stuebner@cherry.de>,
Farouk Bouabid <farouk.bouabid@theobroma-systems.com>
Subject: [PATCH v4 0/6] serial: 8250: Add support for rs485 half/full duplex on puma/ringneck-haikou
Date: Fri, 26 Jan 2024 15:55:09 +0100 [thread overview]
Message-ID: <20240126-dev-rx-enable-v4-0-45aaf4d96328@theobroma-systems.com> (raw)
This series tries to revive the work of Heiko Stuebner from 2020
On the boards that we are using (ringneck/puma-haikou) a hardware switch
can set the rs485 transceiver into half or full duplex mode.
In half-duplex mode the DE/RE signal of the rs485 transceiver is not
connected to an RTS signal whose control is already handled in the rs485
emulation (start/stop callbacks), but rather to a gpio. And since enabling
the receiver requires setting this gpio active we need to do that in em485
while receiving and disable it while sending to enable the driver mode.
In full-duplex mode RE is grounded and separated from DE. Meanwhile the
rx-enable gpio remains connected to the DE pin. In this case the
receiver-enable gpio should be disabled to enable driver mode in parallel
to the enabled receiver.
This patch-series adds support for controlling the receiver mode using a
gpio in em485 for half-duplex mode while allowing users to keep using the
full-duplex feature if em485 is disabled.
Changes in v4:
- define the state of rx-enable gpio when em485 is disabled
- add rs485 half/full duplex support to ringneck/puma-haikou
- use dev_err_probe instead of dev_err if error is -EPROBE_DEFER
Changes from the 2020 submission include:
- external gpio for optional receiver-enable handling
Link: https://lore.kernel.org/all/20200517215610.2131618-1-heiko@sntech.de/
---
Farouk Bouabid (4):
dt-bindings: serial: add binding for rs485 rx-enable state when rs485 is disabled
serial: 8250: set rx-enable gpio state when rs485 is disabled
arm64: dts: rockchip: rk3399-puma-haikou: add rs485 support on uart2
arm64: dts: rockchip: px30-ringneck-haikou: add rs485 support on uart5
Heiko Stuebner (2):
dt-bindings: serial: Add binding for rs485 receiver enable GPIO
serial: 8250: Support separate rs485 rx-enable GPIO
Documentation/devicetree/bindings/serial/rs485.yaml | 9 +++++++++
arch/arm64/boot/dts/rockchip/px30-ringneck-haikou.dts | 2 ++
arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts | 4 +++-
drivers/tty/serial/8250/8250_port.c | 11 ++++++++++-
drivers/tty/serial/serial_core.c | 12 ++++++++++++
include/linux/serial_core.h | 2 ++
6 files changed, 38 insertions(+), 2 deletions(-)
---
base-commit: 5ebe731c2a586b379103f736cd498bcca3cf1ea9
change-id: 20240125-dev-rx-enable-d8818dbf7c28
Best regards,
--
Farouk Bouabid <farouk.bouabid@theobroma-systems.com>
next reply other threads:[~2024-01-26 14:58 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-26 14:55 Farouk Bouabid [this message]
2024-01-26 14:55 ` [PATCH v4 1/6] dt-bindings: serial: Add binding for rs485 receiver enable GPIO Farouk Bouabid
2024-01-26 14:55 ` [PATCH v4 2/6] serial: 8250: Support separate rs485 rx-enable GPIO Farouk Bouabid
2024-01-26 14:55 ` [PATCH v4 3/6] dt-bindings: serial: add binding for rs485 rx-enable state when rs485 is disabled Farouk Bouabid
2024-01-28 17:38 ` Conor Dooley
2024-01-29 12:26 ` Quentin Schulz
2024-01-29 17:22 ` Conor Dooley
2024-01-26 14:55 ` [PATCH v4 4/6] serial: 8250: set rx-enable gpio " Farouk Bouabid
2024-01-26 14:55 ` [PATCH v4 5/6] arm64: dts: rockchip: rk3399-puma-haikou: add rs485 support on uart2 Farouk Bouabid
2024-01-26 14:55 ` [PATCH v4 6/6] arm64: dts: rockchip: px30-ringneck-haikou: add rs485 support on uart5 Farouk Bouabid
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240126-dev-rx-enable-v4-0-45aaf4d96328@theobroma-systems.com \
--to=farouk.bouabid@theobroma-systems.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=heiko.stuebner@cherry.de \
--cc=heiko@sntech.de \
--cc=jirislaby@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-serial@vger.kernel.org \
--cc=quentin.schulz@theobroma-systems.com \
--cc=robh+dt@kernel.org \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).