Commit f6b8e86b 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 changes for 6.10-rc1.
  Included in here are:

   - Usual good set of api cleanups and evolution by Jiri Slaby to make
     the serial interfaces move out of the 1990's by using kfifos
     instead of hand-rolling their own logic.

   - 8250_exar driver updates

   - max3100 driver updates

   - sc16is7xx driver updates

   - exar driver updates

   - sh-sci driver updates

   - tty ldisc api addition to help refuse bindings

   - other smaller serial driver updates

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

* tag 'tty-6.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (113 commits)
  serial: Clear UPF_DEAD before calling tty_port_register_device_attr_serdev()
  serial: imx: Raise TX trigger level to 8
  serial: 8250_pnp: Simplify "line" related code
  serial: sh-sci: simplify locking when re-issuing RXDMA fails
  serial: sh-sci: let timeout timer only run when DMA is scheduled
  serial: sh-sci: describe locking requirements for invalidating RXDMA
  serial: sh-sci: protect invalidating RXDMA on shutdown
  tty: add the option to have a tty reject a new ldisc
  serial: core: Call device_set_awake_path() for console port
  dt-bindings: serial: brcm,bcm2835-aux-uart: convert to dtschema
  tty: serial: uartps: Add support for uartps controller reset
  arm64: zynqmp: Add resets property for UART nodes
  dt-bindings: serial: cdns,uart: Add optional reset property
  serial: 8250_pnp: Switch to DEFINE_SIMPLE_DEV_PM_OPS()
  serial: 8250_exar: Keep the includes sorted
  serial: 8250_exar: Make type of bit the same in exar_ee_*_bit()
  serial: 8250_exar: Use BIT() in exar_ee_read()
  serial: 8250_exar: Switch to use dev_err_probe()
  serial: 8250_exar: Return directly from switch-cases
  serial: 8250_exar: Decrease indentation level
  ...
parents 89601f67 e21de145
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -788,6 +788,25 @@
			Documentation/networking/netconsole.rst for an
			alternative.

		<DEVNAME>:<n>.<n>[,options]
			Use the specified serial port on the serial core bus.
			The addressing uses DEVNAME of the physical serial port
			device, followed by the serial core controller instance,
			and the serial port instance. The options are the same
			as documented for the ttyS addressing above.

			The mapping of the serial ports to the tty instances
			can be viewed with:

			$ ls -d /sys/bus/serial-base/devices/*:*.*/tty/*
			/sys/bus/serial-base/devices/00:04:0.0/tty/ttyS0

			In the above example, the console can be addressed with
			console=00:04:0.0. Note that a console addressed this
			way will only get added when the related device driver
			is ready. The use of an earlycon parameter in addition to
			the console may be desired for console output early on.

		uart[8250],io,<addr>[,options]
		uart[8250],mmio,<addr>[,options]
		uart[8250],mmio16,<addr>[,options]
+9 −0
Original line number Diff line number Diff line
@@ -161,6 +161,8 @@ Command Function
            will be printed to your console. (``0``, for example would make
            it so that only emergency messages like PANICs or OOPSes would
            make it to your console.)

``R``	    Replay the kernel log messages on consoles.
=========== ===================================================================

Okay, so what can I use them for?
@@ -211,6 +213,13 @@ processes.
"just thaw ``it(j)``" is useful if your system becomes unresponsive due to a
frozen (probably root) filesystem via the FIFREEZE ioctl.

``Replay logs(R)`` is useful to view the kernel log messages when system is hung
or you are not able to use dmesg command to view the messages in printk buffer.
User may have to press the key combination multiple times if console system is
busy. If it is completely locked up, then messages won't be printed. Output
messages depend on current console loglevel, which can be modified using
sysrq[0-9] (see above).

Sometimes SysRq seems to get 'stuck' after using it, what can I do?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+0 −16
Original line number Diff line number Diff line
Actions Semi Owl UART

Required properties:
- compatible :  "actions,s500-uart", "actions,owl-uart" for S500
                "actions,s900-uart", "actions,owl-uart" for S900
- reg        :  Offset and length of the register set for the device.
- interrupts :  Should contain UART interrupt.


Example:

		uart3: serial@b0126000 {
			compatible = "actions,s500-uart", "actions,owl-uart";
			reg = <0xb0126000 0x1000>;
			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
		};
+48 −0
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/actions,owl-uart.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Actions Semi Owl UART

maintainers:
  - Kanak Shilledar <kanakshilledar111@protonmail.com>

allOf:
  - $ref: serial.yaml

properties:
  compatible:
    items:
      - enum:
          - actions,s500-uart
          - actions,s900-uart
      - const: actions,owl-uart

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/actions,s500-cmu.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    uart0: serial@b0126000 {
        compatible = "actions,s500-uart", "actions,owl-uart";
        reg = <0xb0126000 0x1000>;
        clocks = <&cmu CLK_UART0>;
        interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
    };
+0 −18
Original line number Diff line number Diff line
* BCM2835 AUXILIAR UART

Required properties:

- compatible: "brcm,bcm2835-aux-uart"
- reg: The base address of the UART register bank.
- interrupts: A single interrupt specifier.
- clocks: Clock driving the hardware; used to figure out the baud rate
  divisor.

Example:

	uart1: serial@7e215040 {
		compatible = "brcm,bcm2835-aux-uart";
		reg = <0x7e215040 0x40>;
		interrupts = <1 29>;
		clocks = <&aux BCM2835_AUX_CLOCK_UART>;
	};
Loading