All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: linux-serial@vger.kernel.org,
	Greg KH <gregkh@linuxfoundation.org>,
	Jiri Slaby <jirislaby@kernel.org>, Lukas Wunner <lukas@wunner.de>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: "Johan Hovold" <johan@kernel.org>,
	heiko@sntech.de, giulio.benetti@micronovasrl.com,
	"Heikki Krogerus" <heikki.krogerus@linux.intel.com>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
	"Eric Tremblay" <etremblay@distech-controls.com>
Subject: [PATCH v2 04/12] serial: 8250_dwlib: Implement SW half duplex support
Date: Mon,  4 Apr 2022 11:29:04 +0300	[thread overview]
Message-ID: <20220404082912.6885-5-ilpo.jarvinen@linux.intel.com> (raw)
In-Reply-To: <20220404082912.6885-1-ilpo.jarvinen@linux.intel.com>

This patch enables support for SW half-duplex mode using em485.

Cc: Eric Tremblay <etremblay@distech-controls.com>
Cc: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
---
 drivers/tty/serial/8250/8250_dwlib.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/tty/serial/8250/8250_dwlib.c b/drivers/tty/serial/8250/8250_dwlib.c
index 08432e2fe511..04852af4c024 100644
--- a/drivers/tty/serial/8250/8250_dwlib.c
+++ b/drivers/tty/serial/8250/8250_dwlib.c
@@ -172,8 +172,14 @@ void dw8250_setup_port(struct uart_port *p)
 	u32 reg;
 
 	d->hw_rs485_support = dw8250_detect_rs485_hw(p);
-	if (d->hw_rs485_support)
+	if (d->hw_rs485_support) {
 		p->rs485_config = dw8250_rs485_config;
+	} else {
+		p->rs485_config = serial8250_em485_config;
+		up->rs485_start_tx = serial8250_em485_start_tx;
+		up->rs485_stop_tx = serial8250_em485_stop_tx;
+	}
+	up->capabilities |= UART_CAP_NOTEMT;
 
 	/*
 	 * If the Component Version Register returns zero, we know that
@@ -205,7 +211,7 @@ void dw8250_setup_port(struct uart_port *p)
 		p->type = PORT_16550A;
 		p->flags |= UPF_FIXED_TYPE;
 		p->fifosize = DW_UART_CPR_FIFO_SIZE(reg);
-		up->capabilities = UART_CAP_FIFO;
+		up->capabilities = UART_CAP_FIFO | UART_CAP_NOTEMT;
 	}
 
 	if (reg & DW_UART_CPR_AFCE_MODE)
-- 
2.30.2


  parent reply	other threads:[~2022-04-04  8:30 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-04  8:29 [PATCH v2 00/12] Add RS485 support to DW UART Ilpo Järvinen
2022-04-04  8:29 ` [PATCH v2 01/12] serial: Store character timing information to uart_port Ilpo Järvinen
2022-04-04  8:29 ` [PATCH v2 02/12] serial: 8250: Handle UART without interrupt on TEMT Ilpo Järvinen
2022-04-04  8:29 ` [PATCH v2 03/12] serial: 8250_dwlib: RS485 HW half & full duplex support Ilpo Järvinen
2022-04-04  8:29 ` Ilpo Järvinen [this message]
2022-04-04  8:29 ` [PATCH v2 05/12] dt_bindings: rs485: Add receiver enable polarity Ilpo Järvinen
2022-04-06 17:54   ` Rob Herring
2022-04-04  8:29 ` [PATCH v2 06/12] ACPI / property: Document RS485 _DSD properties Ilpo Järvinen
2022-04-04  8:29 ` [PATCH v2 07/12] serial: termbits: ADDRB to indicate 9th bit addressing mode Ilpo Järvinen
2022-04-04  8:29   ` Ilpo Järvinen
2022-04-04  8:29   ` Ilpo Järvinen
2022-04-04  8:52   ` Arnd Bergmann
2022-04-04  8:52     ` Arnd Bergmann
2022-04-04  8:52     ` Arnd Bergmann
2022-04-04  9:10     ` Ilpo Järvinen
2022-04-04  9:10       ` Ilpo Järvinen
2022-04-04  9:10       ` Ilpo Järvinen
2022-04-04  8:29 ` [PATCH v2 08/12] serial: General support for multipoint addresses Ilpo Järvinen
2022-04-04  8:29   ` Ilpo Järvinen
2022-04-04  8:29   ` Ilpo Järvinen
2022-04-04  8:29 ` [PATCH v2 09/12] serial: 8250: make saved LSR larger Ilpo Järvinen
2022-04-04  8:29 ` [PATCH v2 10/12] serial: 8250: create lsr_save_mask Ilpo Järvinen
2022-04-04  8:29 ` [PATCH v2 11/12] serial: 8250_lpss: Use 32-bit reads Ilpo Järvinen
2022-04-04  8:29 ` [PATCH v2 12/12] serial: 8250_dwlib: Support for 9th bit multipoint addressing Ilpo Järvinen

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=20220404082912.6885-5-ilpo.jarvinen@linux.intel.com \
    --to=ilpo.jarvinen@linux.intel.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=etremblay@distech-controls.com \
    --cc=giulio.benetti@micronovasrl.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=heiko@sntech.de \
    --cc=jirislaby@kernel.org \
    --cc=johan@kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=lukas@wunner.de \
    --cc=u.kleine-koenig@pengutronix.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.