Skip to content

Commit

Permalink
Merge tag 'tty-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel…
Browse files Browse the repository at this point in the history
…/git/gregkh/tty

Pull tty/serial driver updates from Greg KH:
 "Here is the big tty/serial driver patchset for 4.11-rc1.

  Not much here, but a lot of little fixes and individual serial driver
  updates all over the subsystem. Majority are for the sh-sci driver and
  platform (the arch-specific changes have acks from the maintainer).

  The start of the "serial bus" code is here as well, but nothing is
  converted to use it yet. That work is still ongoing, hopefully will
  start to show up across different subsystems for 4.12 (bluetooth is
  one major place that will be used.)

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

* tag 'tty-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (109 commits)
  tty: pl011: Work around QDF2400 E44 stuck BUSY bit
  atmel_serial: Use the fractional divider when possible
  tty: Remove extra include in HVC console tty framework
  serial: exar: Enable MSI support
  serial: exar: Move register defines from uapi header to consumer site
  serial: pci: Remove unused pci_boards entries
  serial: exar: Move Commtech adapters to 8250_exar as well
  serial: exar: Fix feature control register constants
  serial: exar: Fix initialization of EXAR registers for ports > 0
  serial: exar: Fix mapping of port I/O resources
  serial: sh-sci: fix hardware RX trigger level setting
  tty/serial: atmel: ensure state is restored after suspending
  serial: 8250_dw: Avoid "too much work" from bogus rx timeout interrupt
  serdev: ttyport: check whether tty_init_dev() fails
  serial: 8250_pci: make pciserial_detach_ports() static
  ARM: dts: STiH410-b2260: Enable HW flow-control
  ARM: dts: STiH407-family: Use new Pinctrl groups
  ARM: dts: STiH407-pinctrl: Add Pinctrl group for HW flow-control
  ARM: dts: STiH410-b2260: Identify the UART RTS line
  dt-bindings: serial: Update 'uart-has-rtscts' description
  ...
  • Loading branch information
torvalds committed Feb 22, 2017
2 parents caa5942 + d8a4995 commit 37c8596
Show file tree
Hide file tree
Showing 116 changed files with 3,057 additions and 1,640 deletions.
6 changes: 6 additions & 0 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -957,6 +957,12 @@
serial port must already be setup and configured.
Options are not yet supported.

lantiq,<addr>
Start an early, polled-mode console on a lantiq serial
(lqasc) port at the specified address. The serial port
must already be setup and configured. Options are not
yet supported.

lpuart,<addr>
lpuart32,<addr>
Use early console provided by Freescale LP UART driver
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/serial/8250.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Required properties:
- "altr,16550-FIFO128"
- "fsl,16550-FIFO64"
- "fsl,ns16550"
- "ti,da830-uart"
- "serial" if the port type is unknown.
- reg : offset and length of the register set for the device.
- interrupts : should contain uart interrupt.
Expand Down
3 changes: 2 additions & 1 deletion Documentation/devicetree/bindings/serial/serial.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ Optional properties:
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.
"rts-gpios" above, unless support is provided to switch between modes
dynamically.


Examples:
Expand Down
36 changes: 36 additions & 0 deletions Documentation/devicetree/bindings/serial/slave-device.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Serial Slave Device DT binding

This documents the binding structure and common properties for serial
attached devices. Common examples include Bluetooth, WiFi, NFC and GPS
devices.

Serial attached devices shall be a child node of the host UART device the
slave device is attached to. It is expected that the attached device is
the only child node of the UART device. The slave device node name shall
reflect the generic type of device for the node.

Required Properties:

- compatible : A string reflecting the vendor and specific device the node
represents.

Optional Properties:

- max-speed : The maximum baud rate the device operates at. This should
only be present if the maximum is less than the slave device
can support. For example, a particular board has some signal
quality issue or the host processor can't support higher
baud rates.

Example:

serial@1234 {
compatible = "ns16550a";
interrupts = <1>;

bluetooth {
compatible = "brcm,bcm43341-bt";
interrupt-parent = <&gpio>;
interrupts = <10>;
};
};
8 changes: 8 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -10927,6 +10927,14 @@ S: Maintained
F: Documentation/devicetree/bindings/serial/
F: drivers/tty/serial/

SERIAL DEVICE BUS
M: Rob Herring <robh@kernel.org>
L: linux-serial@vger.kernel.org
S: Maintained
F: Documentation/devicetree/bindings/serial/slave-device.txt
F: drivers/tty/serdev/
F: include/linux/serdev.h

SERIAL IR RECEIVER
M: Sean Young <sean@mess.org>
L: linux-media@vger.kernel.org
Expand Down
3 changes: 1 addition & 2 deletions arch/arm/boot/dts/stih407-family.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -222,9 +222,8 @@
compatible = "st,asc";
reg = <0x9830000 0x2c>;
interrupts = <GIC_SPI 122 IRQ_TYPE_NONE>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_serial0>;
clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
/* Pinctrl moved out to a per-board configuration */

status = "disabled";
};
Expand Down
12 changes: 10 additions & 2 deletions arch/arm/boot/dts/stih407-pinctrl.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -465,8 +465,16 @@
serial0 {
pinctrl_serial0: serial0-0 {
st,pins {
tx = <&pio17 0 ALT1 OUT>;
rx = <&pio17 1 ALT1 IN>;
tx = <&pio17 0 ALT1 OUT>;
rx = <&pio17 1 ALT1 IN>;
};
};
pinctrl_serial0_hw_flowctrl: serial0-0_hw_flowctrl {
st,pins {
tx = <&pio17 0 ALT1 OUT>;
rx = <&pio17 1 ALT1 IN>;
cts = <&pio17 2 ALT1 IN>;
rts = <&pio17 3 ALT1 OUT>;
};
};
};
Expand Down
5 changes: 5 additions & 0 deletions arch/arm/boot/dts/stih410-b2260.dts
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,11 @@
/* Low speed expansion connector */
uart0: serial@9830000 {
label = "LS-UART0";
pinctrl-names = "default", "no-hw-flowctrl";
pinctrl-0 = <&pinctrl_serial0_hw_flowctrl>;
pinctrl-1 = <&pinctrl_serial0>;
rts-gpios = <&pio17 3 GPIO_ACTIVE_LOW>;
uart-has-rtscts;
status = "okay";
};

Expand Down
9 changes: 3 additions & 6 deletions arch/sh/kernel/cpu/sh2/setup-sh7619.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,7 @@ static DECLARE_INTC_DESC(intc_desc, "sh7619", vectors, NULL,
NULL, prio_registers, NULL);

static struct plat_sci_port scif0_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand All @@ -82,8 +81,7 @@ static struct platform_device scif0_device = {
};

static struct plat_sci_port scif1_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand All @@ -103,8 +101,7 @@ static struct platform_device scif1_device = {
};

static struct plat_sci_port scif2_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand Down
3 changes: 1 addition & 2 deletions arch/sh/kernel/cpu/sh2a/setup-mxg.c
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,7 @@ static struct platform_device mtu2_device = {
};

static struct plat_sci_port scif0_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand Down
24 changes: 8 additions & 16 deletions arch/sh/kernel/cpu/sh2a/setup-sh7201.c
Original file line number Diff line number Diff line change
Expand Up @@ -178,8 +178,7 @@ static DECLARE_INTC_DESC(intc_desc, "sh7201", vectors, groups,
mask_registers, prio_registers, NULL);

static struct plat_sci_port scif0_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand All @@ -199,8 +198,7 @@ static struct platform_device scif0_device = {
};

static struct plat_sci_port scif1_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand All @@ -220,8 +218,7 @@ static struct platform_device scif1_device = {
};

static struct plat_sci_port scif2_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand All @@ -241,8 +238,7 @@ static struct platform_device scif2_device = {
};

static struct plat_sci_port scif3_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand All @@ -262,8 +258,7 @@ static struct platform_device scif3_device = {
};

static struct plat_sci_port scif4_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand All @@ -283,8 +278,7 @@ static struct platform_device scif4_device = {
};

static struct plat_sci_port scif5_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand All @@ -304,8 +298,7 @@ static struct platform_device scif5_device = {
};

static struct plat_sci_port scif6_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand All @@ -325,8 +318,7 @@ static struct platform_device scif6_device = {
};

static struct plat_sci_port scif7_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand Down
16 changes: 4 additions & 12 deletions arch/sh/kernel/cpu/sh2a/setup-sh7203.c
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,7 @@ static DECLARE_INTC_DESC(intc_desc, "sh7203", vectors, groups,
mask_registers, prio_registers, NULL);

static struct plat_sci_port scif0_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
};
Expand All @@ -197,9 +195,7 @@ static struct platform_device scif0_device = {
};

static struct plat_sci_port scif1_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
};
Expand All @@ -220,9 +216,7 @@ static struct platform_device scif1_device = {
};

static struct plat_sci_port scif2_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
};
Expand All @@ -243,9 +237,7 @@ static struct platform_device scif2_device = {
};

static struct plat_sci_port scif3_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RIE | SCSCR_TIE | SCSCR_RE | SCSCR_TE |
SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
.regtype = SCIx_SH2_SCIF_FIFODATA_REGTYPE,
};
Expand Down
12 changes: 4 additions & 8 deletions arch/sh/kernel/cpu/sh2a/setup-sh7206.c
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,7 @@ static DECLARE_INTC_DESC(intc_desc, "sh7206", vectors, groups,
mask_registers, prio_registers, NULL);

static struct plat_sci_port scif0_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand All @@ -155,8 +154,7 @@ static struct platform_device scif0_device = {
};

static struct plat_sci_port scif1_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand All @@ -176,8 +174,7 @@ static struct platform_device scif1_device = {
};

static struct plat_sci_port scif2_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand All @@ -197,8 +194,7 @@ static struct platform_device scif2_device = {
};

static struct plat_sci_port scif3_platform_data = {
.flags = UPF_BOOT_AUTOCONF,
.scscr = SCSCR_RE | SCSCR_TE | SCSCR_REIE,
.scscr = SCSCR_REIE,
.type = PORT_SCIF,
};

Expand Down
Loading

0 comments on commit 37c8596

Please sign in to comment.