Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e10abc62 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull tty and serial driver updates from Greg KH:
 "Here's the large TTY and Serial driver update for 4.7-rc1.

  A few new serial drivers are added here, and Peter has fixed a bunch
  of long-standing bugs in the tty layer and serial drivers as normal.
  Full details in the shortlog.

  All of these have been in linux-next for a while with no reported
  issues"

* tag 'tty-4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (88 commits)
  MAINTAINERS: 8250: remove website reference
  serial: core: Fix port mutex assert if lockdep disabled
  serial: 8250_dw: fix wrong logic in dw8250_check_lcr()
  tty: vt, finish looping on duplicate
  tty: vt, return error when con_startup fails
  QE-UART: add "fsl,t1040-ucc-uart" to of_device_id
  serial: mctrl_gpio: Drop support for out1-gpios and out2-gpios
  serial: 8250dw: Add device HID for future AMD UART controller
  Fix OpenSSH pty regression on close
  serial: mctrl_gpio: add IRQ locking
  serial: 8250: Integrate Fintek into 8250_base
  serial: mps2-uart: add support for early console
  serial: mps2-uart: add MPS2 UART driver
  dt-bindings: document the MPS2 UART bindings
  serial: sirf: Use generic uart-has-rtscts DT property
  serial: sirf: Introduce helper variable struct device_node *np
  serial: mxs-auart: Use generic uart-has-rtscts DT property
  serial: imx: Use generic uart-has-rtscts DT property
  doc: DT: Add Generic Serial Device Tree Bindings
  serial: 8250: of: Make tegra_serial_handle_break() static
  ...
parents 0eff4589 d20bb59a
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
ARM MPS2 UART

Required properties:
- compatible	: Should be "arm,mps2-uart"
- reg		: Address and length of the register set
- interrupts	: Reference to the UART RX, TX and overrun interrupts

Required clocking property:
- clocks	  : The input clock of the UART


Examples:

uart0: serial@40004000 {
	compatible = "arm,mps2-uart";
	reg = <0x40004000 0x1000>;
	interrupts = <0 1 12>;
	clocks = <&sysclk>;
};
+2 −2
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ Required properties:
- interrupts : Should contain uart interrupt

Optional properties:
- fsl,uart-has-rtscts : Indicate the uart has rts and cts
- uart-has-rtscts : Indicate the uart has rts and cts
- fsl,irda-mode : Indicate the uart supports irda mode
- fsl,dte-mode : Indicate the uart works in DTE mode. The uart works
                  in DCE mode by default.
@@ -24,6 +24,6 @@ uart1: serial@73fbc000 {
	compatible = "fsl,imx51-uart", "fsl,imx21-uart";
	reg = <0x73fbc000 0x4000>;
	interrupts = <31>;
	fsl,uart-has-rtscts;
	uart-has-rtscts;
	fsl,dte-mode;
};
+12 −4
Original line number Diff line number Diff line
* Freescale MXS Application UART (AUART)

Required properties:
- compatible : Should be "fsl,<soc>-auart". The supported SoCs include
  imx23 and imx28.
Required properties for all SoCs:
- compatible : Should be one of fallowing variants:
	"fsl,imx23-auart" - Freescale i.MX23
	"fsl,imx28-auart" - Freescale i.MX28
	"alphascale,asm9260-auart" - Alphascale ASM9260
- reg : Address and length of the register set for the device
- interrupts : Should contain the auart interrupt numbers
- dmas: DMA specifier, consisting of a phandle to DMA controller node
@@ -10,8 +12,14 @@ Required properties:
  Refer to dma.txt and fsl-mxs-dma.txt for details.
- dma-names: "rx" for RX channel, "tx" for TX channel.

Required properties for "alphascale,asm9260-auart":
- clocks : the clocks feeding the watchdog timer. See clock-bindings.txt
- clock-names : should be set to
	"mod" - source for tick counter.
	"ahb" - ahb gate.

Optional properties:
- fsl,uart-has-rtscts : Indicate the UART has RTS and CTS lines
- uart-has-rtscts : Indicate the UART has RTS and CTS lines
  for hardware flow control,
	it also means you enable the DMA support for this UART.
- {rts,cts,dtr,dsr,rng,dcd}-gpios: specify a GPIO for RTS/CTS/DTR/DSR/RI/DCD
+57 −0
Original line number Diff line number Diff line
Generic Serial DT Bindings

This document lists a set of generic properties for describing UARTs in a
device tree.  Whether these properties apply to a particular device depends on
the DT bindings for the actual device.

Optional properties:
  - cts-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
    used as the UART's CTS line.
  - dcd-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
    used as the UART's DCD line.
  - dsr-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
    used as the UART's DSR line.
  - dtr-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
    used as the UART's DTR line.
  - rng-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
    used as the UART's RNG line.
  - rts-gpios: Must contain a GPIO specifier, referring to the GPIO pin to be
    used as the UART's RTS line.

  - uart-has-rtscts: The presence of this property indicates that the
    UART has dedicated lines for RTS/CTS hardware flow control, and that
    they are available for use (wired and enabled by pinmux configuration).
    This depends on both the UART hardware and the board wiring.
    Note that this property is mutually-exclusive with "cts-gpios" and
    "rts-gpios" above.


Examples:

	uart1: serial@48022000 {
		compatible = "ti,am3352-uart", "ti,omap3-uart";
		ti,hwmods = "uart2";
		clock-frequency = <48000000>;
		reg = <0x48022000 0x2000>;
		interrupts = <73>;
		dmas = <&edma 28 0>, <&edma 29 0>;
		dma-names = "tx", "rx";
		dtr-gpios = <&gpio2 22 GPIO_ACTIVE_LOW>;
		dsr-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
		dcd-gpios = <&gpio2 24 GPIO_ACTIVE_LOW>;
		rng-gpios = <&gpio2 25 GPIO_ACTIVE_LOW>;
		cts-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
		rts-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
		status = "okay";
	};

	scifa4: serial@e6c80000 {
		compatible = "renesas,scifa-sh73a0", "renesas,scifa";
		reg = <0xe6c80000 0x100>;
		interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&mstp2_clks SH73A0_CLK_SCIFA4>;
		clock-names = "fck";
		power-domains = <&pd_a3sp>;
		uart-has-rtscts;
		status = "okay";
	};
+4 −4
Original line number Diff line number Diff line
@@ -9,9 +9,9 @@ Required properties:
- clocks : Should contain uart clock number

Optional properties:
- sirf,uart-has-rtscts: we have hardware flow controller pins in hardware
- rts-gpios: RTS pin for USP-based UART if sirf,uart-has-rtscts is true
- cts-gpios: CTS pin for USP-based UART if sirf,uart-has-rtscts is true
- uart-has-rtscts: we have hardware flow controller pins in hardware
- rts-gpios: RTS pin for USP-based UART if uart-has-rtscts is true
- cts-gpios: CTS pin for USP-based UART if uart-has-rtscts is true

Example:

@@ -28,7 +28,7 @@ On the board-specific dts, we can put rts-gpios and cts-gpios like

usp@b0090000 {
	compatible = "sirf,prima2-usp-uart";
	sirf,uart-has-rtscts;
	uart-has-rtscts;
	rts-gpios = <&gpio 15 0>;
	cts-gpios = <&gpio 46 0>;
};
Loading