mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:24:47 +01:00
TTY / Serial driver updates for 7.0-rc1
Here is the small amount of tty and serial driver updates for 7.0-rc1.
Nothing major in here at all, just some driver updates and minor tweaks
and cleanups including:
- sh-sci serial driver updates
- 8250 driver updates
- attempt to make the tty ports have their own workqueue, but was
reverted after testing found it to have problems on some platforms.
This will probably come back for 7.1 after it has been reworked and
resubmitted
- other tiny tty driver changes
All of these have been in linux-next for a while with no reported
problems.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-----BEGIN PGP SIGNATURE-----
iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCaZR1VQ8cZ3JlZ0Brcm9h
aC5jb20ACgkQMUfUDdst+ykfsACghiyMgr0XKVDFEpV7/fPzocKH+o0An3v8knSi
kLz/f6LstVsISqCxeT+9
=uozB
-----END PGP SIGNATURE-----
Merge tag 'tty-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty / serial driver updates from Greg KH:
"Here is the small amount of tty and serial driver updates for 7.0-rc1.
Nothing major in here at all, just some driver updates and minor
tweaks and cleanups including:
- sh-sci serial driver updates
- 8250 driver updates
- attempt to make the tty ports have their own workqueue, but was
reverted after testing found it to have problems on some platforms.
This will probably come back for 7.1 after it has been reworked and
resubmitted
- other tiny tty driver changes
All of these have been in linux-next for a while with no reported
problems"
* tag 'tty-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (49 commits)
Revert "tty: tty_port: add workqueue to flip TTY buffer"
tty: tty_port: add workqueue to flip TTY buffer
serial: 8250_pci: Remove custom deprecated baud setting routine
serial: 8250_omap: Remove custom deprecated baud setting routine
dt-bindings: serial: renesas,scif: Document RZ/G3L SoC
serial: 8250: omap: set out-of-band wakeup if wakeup pinctrl exists
tty: hvc-iucv: Remove KMSG_COMPONENT macro
dt-bindings: serial: google,goldfish-tty: Convert to DT schema
dt-bindings: serial: sh-sci: Fold single-entry compatibles into enum
serial: 8250: 8250_omap.c: Clear DMA RX running status only after DMA termination is done
serial: 8250: 8250_omap.c: Add support for handling UART error conditions
serial: SH_SCI: improve "DMA support" prompt
serial: Kconfig: fix ordering of entries for menu display
serial: 8250: fix ordering of entries for menu display
serial: imx: change SERIAL_IMX_CONSOLE to bool
8250_men_mcb: drop unneeded MODULE_ALIAS
serial: men_z135_uart: drop unneeded MODULE_ALIAS
dt-bindings: serial: renesas,rsci: Document RZ/V2H(P) and RZ/V2N SoCs
serial: rsci: Convert to FIELD_MODIFY()
dt-bindings: serial: 8250: add SpacemiT K3 UART compatible
...
This commit is contained in:
commit
3ad7945754
26 changed files with 801 additions and 419 deletions
|
|
@ -1,17 +0,0 @@
|
|||
Android Goldfish TTY
|
||||
|
||||
Android goldfish tty device generated by android emulator.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : should contain "google,goldfish-tty" to match emulator
|
||||
- reg : <registers mapping>
|
||||
- interrupts : <interrupt mapping>
|
||||
|
||||
Example:
|
||||
|
||||
goldfish_tty@1f004000 {
|
||||
compatible = "google,goldfish-tty";
|
||||
reg = <0x1f004000 0x1000>;
|
||||
interrupts = <0xc>;
|
||||
};
|
||||
|
|
@ -160,6 +160,7 @@ properties:
|
|||
- enum:
|
||||
- mrvl,mmp-uart
|
||||
- spacemit,k1-uart
|
||||
- spacemit,k3-uart
|
||||
- const: intel,xscale-uart
|
||||
- items:
|
||||
- enum:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,41 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/serial/google,goldfish-tty.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Google Goldfish TTY
|
||||
|
||||
maintainers:
|
||||
- Kuan-Wei Chiu <visitorckw@gmail.com>
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/serial/serial.yaml#
|
||||
|
||||
description:
|
||||
Android goldfish TTY device generated by Android emulator.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: google,goldfish-tty
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
serial@1f004000 {
|
||||
compatible = "google,goldfish-tty";
|
||||
reg = <0x1f004000 0x1000>;
|
||||
interrupts = <12>;
|
||||
};
|
||||
|
|
@ -10,46 +10,78 @@ maintainers:
|
|||
- Geert Uytterhoeven <geert+renesas@glider.be>
|
||||
- Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
|
||||
|
||||
allOf:
|
||||
- $ref: serial.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- const: renesas,r9a09g087-rsci # RZ/N2H
|
||||
- const: renesas,r9a09g077-rsci # RZ/T2H
|
||||
- enum:
|
||||
- renesas,r9a09g047-rsci # RZ/G3E
|
||||
- renesas,r9a09g077-rsci # RZ/T2H
|
||||
|
||||
- items:
|
||||
- enum:
|
||||
- renesas,r9a09g056-rsci # RZ/V2N
|
||||
- renesas,r9a09g057-rsci # RZ/V2H(P)
|
||||
- const: renesas,r9a09g047-rsci
|
||||
|
||||
- items:
|
||||
- const: renesas,r9a09g087-rsci # RZ/N2H
|
||||
- const: renesas,r9a09g077-rsci # RZ/T2H
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
minItems: 4
|
||||
items:
|
||||
- description: Error interrupt
|
||||
- description: Receive buffer full interrupt
|
||||
- description: Transmit buffer empty interrupt
|
||||
- description: Transmit end interrupt
|
||||
- description: Active edge detection interrupt
|
||||
- description: Break field detection interrupt
|
||||
|
||||
interrupt-names:
|
||||
minItems: 4
|
||||
items:
|
||||
- const: eri
|
||||
- const: rxi
|
||||
- const: txi
|
||||
- const: tei
|
||||
- const: aed
|
||||
- const: bfd
|
||||
|
||||
clocks:
|
||||
minItems: 2
|
||||
maxItems: 3
|
||||
maxItems: 6
|
||||
|
||||
clock-names:
|
||||
minItems: 2
|
||||
oneOf:
|
||||
- items:
|
||||
- const: operation
|
||||
- const: bus
|
||||
- const: sck # optional external clock input
|
||||
|
||||
minItems: 2
|
||||
|
||||
- items:
|
||||
- const: pclk
|
||||
- const: tclk
|
||||
- const: tclk_div4
|
||||
- const: tclk_div16
|
||||
- const: tclk_div64
|
||||
- const: sck # optional external clock input
|
||||
|
||||
minItems: 5
|
||||
|
||||
resets:
|
||||
items:
|
||||
- const: operation
|
||||
- const: bus
|
||||
- const: sck # optional external clock input
|
||||
- description: Input for resetting the APB clock
|
||||
- description: Input for resetting TCLK
|
||||
|
||||
reset-names:
|
||||
items:
|
||||
- const: presetn
|
||||
- const: tresetn
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
|
@ -62,6 +94,57 @@ required:
|
|||
- clock-names
|
||||
- power-domains
|
||||
|
||||
allOf:
|
||||
- $ref: serial.yaml#
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: renesas,r9a09g077-rsci
|
||||
then:
|
||||
properties:
|
||||
interrupts:
|
||||
maxItems: 4
|
||||
|
||||
interrupt-names:
|
||||
maxItems: 4
|
||||
|
||||
clocks:
|
||||
minItems: 2
|
||||
maxItems: 3
|
||||
|
||||
clock-names:
|
||||
minItems: 2
|
||||
maxItems: 3
|
||||
|
||||
resets: false
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: renesas,r9a09g047-rsci
|
||||
then:
|
||||
properties:
|
||||
interrupts:
|
||||
minItems: 6
|
||||
|
||||
interrupt-names:
|
||||
minItems: 6
|
||||
|
||||
clocks:
|
||||
minItems: 5
|
||||
maxItems: 6
|
||||
|
||||
clock-names:
|
||||
minItems: 5
|
||||
maxItems: 6
|
||||
|
||||
required:
|
||||
- resets
|
||||
- reset-names
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
|
|
|
|||
|
|
@ -12,15 +12,16 @@ maintainers:
|
|||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- enum:
|
||||
- renesas,scif-r7s9210 # RZ/A2
|
||||
- renesas,scif-r9a07g044 # RZ/G2{L,LC}
|
||||
- renesas,scif-r9a09g057 # RZ/V2H(P)
|
||||
|
||||
- items:
|
||||
- enum:
|
||||
- renesas,scif-r7s72100 # RZ/A1H
|
||||
- const: renesas,scif # generic SCIF compatible UART
|
||||
|
||||
- items:
|
||||
- enum:
|
||||
- renesas,scif-r7s9210 # RZ/A2
|
||||
|
||||
- items:
|
||||
- enum:
|
||||
- renesas,scif-r8a7778 # R-Car M1
|
||||
|
|
@ -76,19 +77,14 @@ properties:
|
|||
- const: renesas,rcar-gen5-scif # R-Car Gen5
|
||||
- const: renesas,scif # generic SCIF compatible UART
|
||||
|
||||
- items:
|
||||
- enum:
|
||||
- renesas,scif-r9a07g044 # RZ/G2{L,LC}
|
||||
|
||||
- items:
|
||||
- enum:
|
||||
- renesas,scif-r9a07g043 # RZ/G2UL and RZ/Five
|
||||
- renesas,scif-r9a07g054 # RZ/V2L
|
||||
- renesas,scif-r9a08g045 # RZ/G3S
|
||||
- renesas,scif-r9a08g046 # RZ/G3L
|
||||
- const: renesas,scif-r9a07g044 # RZ/G2{L,LC} fallback
|
||||
|
||||
- const: renesas,scif-r9a09g057 # RZ/V2H(P)
|
||||
|
||||
- items:
|
||||
- enum:
|
||||
- renesas,scif-r9a09g047 # RZ/G3E
|
||||
|
|
|
|||
|
|
@ -89,31 +89,7 @@ With the baud base set to 15625000 and the unsigned 16-bit UART_DIV_MAX
|
|||
limitation imposed by ``serial8250_get_baud_rate`` standard baud rates
|
||||
below 300bps become unavailable in the regular way, e.g. the rate of
|
||||
200bps requires the baud base to be divided by 78125 and that is beyond
|
||||
the unsigned 16-bit range. The historic spd_cust feature can still be
|
||||
used by encoding the values for, the prescaler, the oversampling rate
|
||||
and the clock divisor (DLM/DLL) as follows to obtain such rates if so
|
||||
required:
|
||||
|
||||
::
|
||||
|
||||
31 29 28 20 19 16 15 0
|
||||
+-----+-----------------+-------+-------------------------------+
|
||||
|0 0 0| CPR2:CPR | TCR | DLM:DLL |
|
||||
+-----+-----------------+-------+-------------------------------+
|
||||
|
||||
Use a value such encoded for the ``custom_divisor`` field along with the
|
||||
ASYNC_SPD_CUST flag set in the ``flags`` field in ``struct serial_struct``
|
||||
passed with the TIOCSSERIAL ioctl(2), such as with the setserial(8)
|
||||
utility and its ``divisor`` and ``spd_cust`` parameters, and then select
|
||||
the baud rate of 38400bps. Note that the value of 0 in TCR sets the
|
||||
oversampling rate to 16 and prescaler values below 1 in CPR2/CPR are
|
||||
clamped by the driver to 1.
|
||||
|
||||
For example the value of 0x1f4004e2 will set CPR2/CPR, TCR and DLM/DLL
|
||||
respectively to 0x1f4, 0x0 and 0x04e2, choosing the prescaler value,
|
||||
the oversampling rate and the clock divisor of 62.500, 16 and 1250
|
||||
respectively. These parameters will set the baud rate for the serial
|
||||
port to 62500000 / 62.500 / 1250 / 16 = 50bps.
|
||||
the unsigned 16-bit range.
|
||||
|
||||
Maciej W. Rozycki <macro@orcam.me.uk>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue