Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »


versal uart Driver

Introduction

The UART controller is a full-duplex asynchronous receiver and transmitter that supports a wide range of programmable baud rates. The server-based system applications (SBSA) functionality is defined by the Arm® architecture.

HW IP Features

  • 32 deep ×8-bit wide transmit FIFO • 32 deep ×12-bit wide receive FIFO

  • Standard asynchronous communication bits (start, stop and parity)

  • Independent interrupt masking:

    • ○ Transmit and receive FIFOs

    • ○ Receive timeout, modem status, and error condition

  • False start bit detection •

  • Line break generation and detection

  • Modem control functions CTS, DCD, DSR, RTS, DTR, and RI


Features supported in driver

  • Uart send recieve

  • Standard asynchronous communication bits (start, stop and parity)

  • Line break generation and detection

  • Modem control functions CTS, DCD, DSR, RTS, DTR, and RI

Missing Features, Known Issues and Limitations

  • None


Kernel Configuration

To enable the uartlite driver in the linux kernel you either have to integrate it or build it as kernel module (.ko). You can enable it with:

make menuconfig
---> Device Drivers ---> Character devices ---> Serial drivers ---> ARM AMBA PL010 serial port support

Or you can do this in the .config file with either of the following lines:

# integrate into the kernel
SERIAL_AMBA_PL010=y
# build as loadable module
SERIAL_AMBA_PL010=m

Devicetree


Here's how the devicetree entry could look like.

https://www.kernel.org/doc/Documentation/devicetree/bindings/serial/pl011.yaml


  serial@80120000 {
      compatible = "arm,pl011", "arm,primecell";
      reg = <0x80120000 0x1000>;
      interrupts = <0 11 4>;
      dmas = <&dma 13 0 0x2>, <&dma 13 0 0x0>;
      dma-names = "rx", "tx";
      clocks = <&foo_clk>, <&bar_clk>;
      clock-names = "uartclk", "apb_pclk";
  };


Mainline Status

This driver is currently in sync with mainline kernel except for the following:

  • tty: pl011: Add support for xilinx uart

  • tty: pl011: Add support for parity configuration

  • tty: pl011: Add support for configurable wordlength

Change Log

2020.2

  • None


Related Links

  • No labels