Commit b39667ab authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull tty / serial updates from Greg KH:
 "Here is the big set of tty/serial driver updates for 6.4-rc1.

  Nothing major, just lots of tiny, constant, forward development. This
  includes:

   - obligatory n_gsm updates and feature additions

   - 8250_em driver updates

   - sh-sci driver updates

   - dts cleanups and updates

   - general cleanups and improvements by Ilpo and Jiri

   - other small serial driver core fixes and driver updates

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

* tag 'tty-6.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (87 commits)
  n_gsm: Use array_index_nospec() with index that comes from userspace
  tty: vt: drop checks for undefined VT_SINGLE_DRIVER
  tty: vt: distribute EXPORT_SYMBOL()
  tty: vt: simplify some cases in tioclinux()
  tty: vt: reformat tioclinux()
  tty: serial: sh-sci: Fix end of transmission on SCI
  tty: serial: sh-sci: Add support for tx end interrupt handling
  tty: serial: sh-sci: Fix TE setting on SCI IP
  tty: serial: sh-sci: Add RZ/G2L SCIFA DMA rx support
  tty: serial: sh-sci: Add RZ/G2L SCIFA DMA tx support
  serial: max310x: fix IO data corruption in batched operations
  serial: core: Disable uart_start() on uart_remove_one_port()
  serial: 8250: Reinit port->pm on port specific driver unbind
  serial: 8250: Add missing wakeup event reporting
  tty: serial: fsl_lpuart: use UARTMODIR register bits for lpuart32 platform
  tty: serial: fsl_lpuart: adjust buffer length to the intended size
  serial: fix TIOCSRS485 locking
  serial: make SiFive serial drivers depend on ARCH_ symbols
  tty: synclink_gt: don't allocate and pass dummy flags
  tty: serial: simplify qcom_geni_serial_send_chunk_fifo()
  ...
parents 4010e62b 2b3174c9
Loading
Loading
Loading
Loading
+33 −3
Original line number Diff line number Diff line
@@ -33,8 +33,11 @@ The format of this option is::
			9600n8. The maximum baudrate is 115200.

You can specify multiple console= options on the kernel command line.
Output will appear on all of them. The last device will be used when
you open ``/dev/console``. So, for example::

The behavior is well defined when each device type is mentioned only once.
In this case, the output will appear on all requested consoles. And
the last device will be used when you open ``/dev/console``.
So, for example::

	console=ttyS1,9600 console=tty0

@@ -42,7 +45,34 @@ defines that opening ``/dev/console`` will get you the current foreground
virtual console, and kernel messages will appear on both the VGA
console and the 2nd serial port (ttyS1 or COM2) at 9600 baud.

Note that you can only define one console per device type (serial, video).
The behavior is more complicated when the same device type is defined more
times. In this case, there are the following two rules:

1. The output will appear only on the first device of each defined type.

2. ``/dev/console`` will be associated with the first registered device.
   Where the registration order depends on how kernel initializes various
   subsystems.

   This rule is used also when the last console= parameter is not used
   for other reasons. For example, because of a typo or because
   the hardware is not available.

The result might be surprising. For example, the following two command
lines have the same result:

	console=ttyS1,9600 console=tty0 console=tty1
	console=tty0 console=ttyS1,9600 console=tty1

The kernel messages are printed only on ``tty0`` and ``ttyS1``. And
``/dev/console`` gets associated with ``tty0``. It is because kernel
tries to register graphical consoles before serial ones. It does it
because of the default behavior when no console device is specified,
see below.

Note that the last ``console=tty1`` parameter still makes a difference.
The kernel command line is used also by systemd. It would use the last
defined ``tty1`` as the login console.

If no console device is specified, the first device found capable of
acting as a system console will be used. At this time, the system
+11 −2
Original line number Diff line number Diff line
@@ -2,8 +2,8 @@
# Copyright 2019 BayLibre, SAS
%YAML 1.2
---
$id: "http://devicetree.org/schemas/serial/amlogic,meson-uart.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
$id: http://devicetree.org/schemas/serial/amlogic,meson-uart.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Amlogic Meson SoC UART Serial Interface

@@ -34,6 +34,11 @@ properties:
              - amlogic,meson-gx-uart
              - amlogic,meson-s4-uart
          - const: amlogic,meson-ao-uart
      - description: Always-on power domain UART controller on G12A SoCs
        items:
          - const: amlogic,meson-g12a-uart
          - const: amlogic,meson-gx-uart
          - const: amlogic,meson-ao-uart
      - description: Everything-Else power domain UART controller
        enum:
          - amlogic,meson6-uart
@@ -41,6 +46,10 @@ properties:
          - amlogic,meson8b-uart
          - amlogic,meson-gx-uart
          - amlogic,meson-s4-uart
      - description: Everything-Else power domain UART controller on G12A SoCs
        items:
          - const: amlogic,meson-g12a-uart
          - const: amlogic,meson-gx-uart

  reg:
    maxItems: 1
+27 −0
Original line number Diff line number Diff line
@@ -49,6 +49,24 @@ properties:
  reg:
    maxItems: 1

  clocks:
    maxItems: 2

  clock-names:
    items:
      - const: ipg
      - const: per

  dmas:
    items:
      - description: DMA controller phandle and request line for RX
      - description: DMA controller phandle and request line for TX

  dma-names:
    items:
      - const: rx
      - const: tx

  interrupts:
    maxItems: 1

@@ -86,12 +104,16 @@ properties:
required:
  - compatible
  - reg
  - clocks
  - clock-names
  - interrupts

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/imx5-clock.h>

    aliases {
        serial0 = &uart1;
    };
@@ -100,6 +122,11 @@ examples:
        compatible = "fsl,imx51-uart", "fsl,imx21-uart";
        reg = <0x73fbc000 0x4000>;
        interrupts = <31>;
        clocks = <&clks IMX5_CLK_UART1_IPG_GATE>,
                 <&clks IMX5_CLK_UART1_PER_GATE>;
        clock-names = "ipg", "per";
        dmas = <&sdma 18 4 1>, <&sdma 19 4 2>;
        dma-names = "rx", "tx";
        uart-has-rtscts;
        fsl,dte-mode;
    };
+3 −0
Original line number Diff line number Diff line
@@ -65,6 +65,9 @@ properties:
      - const: rx
      - const: tx

  power-domains:
    maxItems: 1

required:
  - compatible
  - reg
+2 −2
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/serial/qcom,serial-geni-qcom.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
$id: http://devicetree.org/schemas/serial/qcom,serial-geni-qcom.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Geni based QUP UART interface

Loading