devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/2] tty: serial: add DT bindings and serial driver for the SiFive FU540 UART
@ 2018-10-20 10:10 Paul Walmsley
  2018-10-20 10:10 ` [PATCH v3 1/2] dt-bindings: serial: add documentation for the SiFive UART driver Paul Walmsley
  2019-03-06 11:08 ` [PATCH v3 0/2] tty: serial: add DT bindings and serial driver for the SiFive FU540 UART Andreas Schwab
  0 siblings, 2 replies; 5+ messages in thread
From: Paul Walmsley @ 2018-10-20 10:10 UTC (permalink / raw)
  To: linux-serial
  Cc: Paul Walmsley, Greg Kroah-Hartman, Jiri Slaby, Palmer Dabbelt,
	Wesley Terpstra, linux-riscv, linux-kernel, devicetree

This series adds a serial driver, with console support, for the
UART IP block present on the SiFive FU540 SoC.  The programming
model is straightforward, but unique.

Boot-tested on a SiFive FU540 HiFive-U board (with appropriate patches
to the DT data).

The patches in this series can also be found at:

https://github.com/sifive/riscv-linux/tree/dev/paulw/serial-v4.19-rc7

This third version updates the DT binding documentation per discussion
with Rob Herring and fixes one additional issue identified by the 0-day
build system related to MODULE_DEVICE_TABLE.

Paul Walmsley (2):
  dt-bindings: serial: add documentation for the SiFive UART driver
  tty: serial: add driver for the SiFive UART

 .../bindings/serial/sifive-serial.txt         |   33 +
 drivers/tty/serial/Kconfig                    |   24 +
 drivers/tty/serial/Makefile                   |    1 +
 drivers/tty/serial/sifive.c                   | 1067 +++++++++++++++++
 include/uapi/linux/serial_core.h              |    3 +
 5 files changed, 1128 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/serial/sifive-serial.txt
 create mode 100644 drivers/tty/serial/sifive.c


Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jiri Slaby <jslaby@suse.com>
Cc: Palmer Dabbelt <palmer@sifive.com>
Cc: Wesley Terpstra <wesley@sifive.com>
Cc: linux-serial@vger.kernel.org
Cc: linux-riscv@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: devicetree@vger.kernel.org

-- 
2.19.1

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v3 1/2] dt-bindings: serial: add documentation for the SiFive UART driver
  2018-10-20 10:10 [PATCH v3 0/2] tty: serial: add DT bindings and serial driver for the SiFive FU540 UART Paul Walmsley
@ 2018-10-20 10:10 ` Paul Walmsley
  2019-03-06 11:08 ` [PATCH v3 0/2] tty: serial: add DT bindings and serial driver for the SiFive FU540 UART Andreas Schwab
  1 sibling, 0 replies; 5+ messages in thread
From: Paul Walmsley @ 2018-10-20 10:10 UTC (permalink / raw)
  To: linux-serial
  Cc: Paul Walmsley, devicetree, linux-riscv, linux-kernel,
	Greg Kroah-Hartman, Rob Herring, Mark Rutland, Palmer Dabbelt,
	Paul Walmsley

Add DT binding documentation for the Linux driver for the SiFive
asynchronous serial IP block.

Cc: linux-serial@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-riscv@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Palmer Dabbelt <palmer@sifive.com>
Reviewed-by: Palmer Dabbelt <palmer@sifive.com>
Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
---
v3: update description and example for compatible strings, per
    discussion with Rob Herring.

 .../bindings/serial/sifive-serial.txt         | 33 +++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/serial/sifive-serial.txt

diff --git a/Documentation/devicetree/bindings/serial/sifive-serial.txt b/Documentation/devicetree/bindings/serial/sifive-serial.txt
new file mode 100644
index 000000000000..a426b18ba049
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/sifive-serial.txt
@@ -0,0 +1,33 @@
+SiFive asynchronous serial interface (UART)
+
+Required properties:
+
+- compatible: should be something similar to
+	      "sifive,<chip>-uart<version>" for the UART as integrated
+	      on a particular chip, and "sifive,uart<version>" for the
+	      general UART IP block programming model.	Supported
+	      compatible strings as of the date of this writing are:
+	      "sifive,fu540-c000-uart0" for the SiFive UART v0 as
+	      integrated onto the SiFive FU540 chip, or "sifive,uart0"
+	      for the SiFive UART v0 IP block with no chip integration
+	      tweaks (if any)
+- reg: address and length of the register space
+- interrupts: Should contain the UART interrupt identifier
+- clocks: Should contain a clock identifier for the UART's parent clock
+
+
+UART RTL that corresponds to the IP block version numbers can be found
+here:
+
+https://github.com/sifive/sifive-blocks/tree/master/src/main/scala/devices/uart
+
+
+Example:
+
+uart0: serial@10010000 {
+	compatible = "sifive,fu540-c000-uart0", "sifive,uart0";
+	interrupt-parent = <&plic0>;
+	interrupts = <80>;
+	reg = <0x0 0x10010000 0x0 0x1000>;
+	clocks = <&prci PRCI_CLK_TLCLK>;
+};
-- 
2.19.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v3 0/2] tty: serial: add DT bindings and serial driver for the SiFive FU540 UART
  2018-10-20 10:10 [PATCH v3 0/2] tty: serial: add DT bindings and serial driver for the SiFive FU540 UART Paul Walmsley
  2018-10-20 10:10 ` [PATCH v3 1/2] dt-bindings: serial: add documentation for the SiFive UART driver Paul Walmsley
@ 2019-03-06 11:08 ` Andreas Schwab
  2019-04-11  8:54   ` Paul Walmsley
  1 sibling, 1 reply; 5+ messages in thread
From: Andreas Schwab @ 2019-03-06 11:08 UTC (permalink / raw)
  To: Paul Walmsley
  Cc: linux-serial, Greg Kroah-Hartman, Jiri Slaby, Palmer Dabbelt,
	Wesley Terpstra, linux-riscv, linux-kernel, devicetree

Trying to log in on the serial console causes the system to freeze.  The
last message is:

[  115.597858] sifive-serial 10010000.serial: BRKINT/PARMRK flag not supported

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v3 0/2] tty: serial: add DT bindings and serial driver for the SiFive FU540 UART
  2019-03-06 11:08 ` [PATCH v3 0/2] tty: serial: add DT bindings and serial driver for the SiFive FU540 UART Andreas Schwab
@ 2019-04-11  8:54   ` Paul Walmsley
  2019-04-11 14:45     ` Andreas Schwab
  0 siblings, 1 reply; 5+ messages in thread
From: Paul Walmsley @ 2019-04-11  8:54 UTC (permalink / raw)
  To: Andreas Schwab
  Cc: Paul Walmsley, linux-serial, Greg Kroah-Hartman, Jiri Slaby,
	Palmer Dabbelt, Wesley Terpstra, linux-riscv, linux-kernel,
	devicetree

On Wed, 6 Mar 2019, Andreas Schwab wrote:

> Trying to log in on the serial console causes the system to freeze.  The
> last message is:
> 
> [  115.597858] sifive-serial 10010000.serial: BRKINT/PARMRK flag not supported

Have not seen that problem.

If you're still seeing this, could you follow up with me off-list so we 
can synchronize configurations, both with the kernel and with non-kernel 
boot & M-mode components?


- Paul

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v3 0/2] tty: serial: add DT bindings and serial driver for the SiFive FU540 UART
  2019-04-11  8:54   ` Paul Walmsley
@ 2019-04-11 14:45     ` Andreas Schwab
  0 siblings, 0 replies; 5+ messages in thread
From: Andreas Schwab @ 2019-04-11 14:45 UTC (permalink / raw)
  To: Paul Walmsley
  Cc: linux-serial, Greg Kroah-Hartman, Jiri Slaby, Palmer Dabbelt,
	Wesley Terpstra, linux-riscv, linux-kernel, devicetree

On Apr 11 2019, Paul Walmsley <paul.walmsley@sifive.com> wrote:

> On Wed, 6 Mar 2019, Andreas Schwab wrote:
>
>> Trying to log in on the serial console causes the system to freeze.  The
>> last message is:
>> 
>> [  115.597858] sifive-serial 10010000.serial: BRKINT/PARMRK flag not supported
>
> Have not seen that problem.

# stty sane -F /dev/ttySIF0
<crash>

Andreas.

-- 
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-04-11 14:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-20 10:10 [PATCH v3 0/2] tty: serial: add DT bindings and serial driver for the SiFive FU540 UART Paul Walmsley
2018-10-20 10:10 ` [PATCH v3 1/2] dt-bindings: serial: add documentation for the SiFive UART driver Paul Walmsley
2019-03-06 11:08 ` [PATCH v3 0/2] tty: serial: add DT bindings and serial driver for the SiFive FU540 UART Andreas Schwab
2019-04-11  8:54   ` Paul Walmsley
2019-04-11 14:45     ` Andreas Schwab

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).