Skip to content

Commit 7203062

Browse files
committed
Merge tag 'tty-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty/serial driver updates from Greg KH: "Here are the big set of tty and serial driver changes for 5.18-rc1. Nothing major, some more good cleanups from Jiri and 2 new serial drivers. Highlights include: - termbits cleanups - export symbol cleanups and other core cleanups from Jiri Slaby - new sunplus and mvebu uart drivers (amazing that people are still creating new uarts...) - samsung serial driver cleanups - ldisc 29 is now "reserved" for experimental/development line disciplines - lots of other tiny fixes and cleanups to serial drivers and bindings All of these have been in linux-next for a while with no reported issues" * tag 'tty-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (104 commits) vt_ioctl: fix potential spectre v1 in VT_DISALLOCATE serial: 8250: fix XOFF/XON sending when DMA is used tty: serial: samsung: Add ARTPEC-8 support dt-bindings: serial: samsung: Add ARTPEC-8 UART serial: sc16is7xx: Clear RS485 bits in the shutdown tty: serial: samsung: simplify getting OF match data tty: serial: samsung: constify variables and pointers tty: serial: samsung: constify s3c24xx_serial_drv_data members tty: serial: samsung: constify UART name tty: serial: samsung: constify s3c24xx_serial_drv_data tty: serial: samsung: reduce number of casts tty: serial: samsung: embed s3c2410_uartcfg in parent structure tty: serial: samsung: embed s3c24xx_uart_info in parent structure serial: 8250_tegra: mark acpi_device_id as unused with !ACPI tty: serial: bcm63xx: use more precise Kconfig symbol serial: SERIAL_SUNPLUS should depend on ARCH_SUNPLUS tty: serial: jsm: fix two assignments in if conditions tty: serial: jsm: remove redundant assignments to variable linestatus serial: 8250_mtk: make two read-only arrays static const serial: samsung_tty: do not unlock port->lock for uart_write_wakeup() ...
2 parents dfdc1de + b31c413 commit 7203062

File tree

115 files changed

+2727
-1473
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

115 files changed

+2727
-1473
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/clock/marvell,armada-3700-uart-clock.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
title: Marvell Armada 3720 UART clocks
7+
8+
maintainers:
9+
- Pali Rohár <pali@kernel.org>
10+
11+
properties:
12+
compatible:
13+
const: marvell,armada-3700-uart-clock
14+
15+
reg:
16+
items:
17+
- description: UART Clock Control Register
18+
- description: UART 2 Baud Rate Divisor Register
19+
20+
clocks:
21+
description: |
22+
List of parent clocks suitable for UART from following set:
23+
"TBG-A-P", "TBG-B-P", "TBG-A-S", "TBG-B-S", "xtal"
24+
UART clock can use one from this set and when more are provided
25+
then kernel would choose and configure the most suitable one.
26+
It is suggest to specify at least one TBG clock to achieve
27+
baudrates above 230400 and also to specify clock which bootloader
28+
used for UART (most probably xtal) for smooth boot log on UART.
29+
30+
clock-names:
31+
items:
32+
- const: TBG-A-P
33+
- const: TBG-B-P
34+
- const: TBG-A-S
35+
- const: TBG-B-S
36+
- const: xtal
37+
minItems: 1
38+
39+
'#clock-cells':
40+
const: 1
41+
42+
required:
43+
- compatible
44+
- reg
45+
- clocks
46+
- clock-names
47+
- '#clock-cells'
48+
49+
additionalProperties: false
50+
51+
examples:
52+
- |
53+
uartclk: clock-controller@12010 {
54+
compatible = "marvell,armada-3700-uart-clock";
55+
reg = <0x12010 0x4>, <0x12210 0x4>;
56+
clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>, <&tbg 3>, <&xtalclk>;
57+
clock-names = "TBG-A-P", "TBG-B-P", "TBG-A-S", "TBG-B-S", "xtal";
58+
#clock-cells = <1>;
59+
};

Documentation/devicetree/bindings/serial/fsl-lpuart.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ properties:
2020
- fsl,ls1021a-lpuart
2121
- fsl,ls1028a-lpuart
2222
- fsl,imx7ulp-lpuart
23-
- fsl,imx8qm-lpuart
23+
- fsl,imx8qxp-lpuart
2424
- fsl,imxrt1050-lpuart
2525
- items:
26-
- enum:
27-
- fsl,imx8qxp-lpuart
28-
- fsl,imx8ulp-lpuart
26+
- const: fsl,imx8ulp-lpuart
2927
- const: fsl,imx7ulp-lpuart
3028
- items:
31-
- const: fsl,imx8qm-lpuart
29+
- enum:
30+
- fsl,imx8qm-lpuart
31+
- fsl,imx8dxl-lpuart
3232
- const: fsl,imx8qxp-lpuart
3333

3434
reg:

Documentation/devicetree/bindings/serial/mtk-uart.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Required properties:
2020
* "mediatek,mt8135-uart" for MT8135 compatible UARTS
2121
* "mediatek,mt8173-uart" for MT8173 compatible UARTS
2222
* "mediatek,mt8183-uart", "mediatek,mt6577-uart" for MT8183 compatible UARTS
23+
* "mediatek,mt8186-uart", "mediatek,mt6577-uart" for MT8183 compatible UARTS
2324
* "mediatek,mt8192-uart", "mediatek,mt6577-uart" for MT8192 compatible UARTS
2425
* "mediatek,mt8195-uart", "mediatek,mt6577-uart" for MT8195 compatible UARTS
2526
* "mediatek,mt8516-uart" for MT8516 compatible UARTS

Documentation/devicetree/bindings/serial/mvebu-uart.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ Required properties:
1414
is provided (possible only with the "marvell,armada-3700-uart"
1515
compatible string for backward compatibility), it will only work
1616
if the baudrate was initialized by the bootloader and no baudrate
17-
change will then be possible.
17+
change will then be possible. When provided it should be UART1-clk
18+
for standard variant of UART and UART2-clk for extended variant
19+
of UART. TBG clock (with UART TBG divisors d1=d2=1) or xtal clock
20+
should not be used and are supported only for backward compatibility.
1821
- interrupts:
1922
- Must contain three elements for the standard variant of the IP
2023
(marvell,armada-3700-uart): "uart-sum", "uart-tx" and "uart-rx",
@@ -34,7 +37,7 @@ Example:
3437
uart0: serial@12000 {
3538
compatible = "marvell,armada-3700-uart";
3639
reg = <0x12000 0x18>;
37-
clocks = <&xtalclk>;
40+
clocks = <&uartclk 0>;
3841
interrupts =
3942
<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
4043
<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
@@ -45,7 +48,7 @@ Example:
4548
uart1: serial@12200 {
4649
compatible = "marvell,armada-3700-uart-ext";
4750
reg = <0x12200 0x30>;
48-
clocks = <&xtalclk>;
51+
clocks = <&uartclk 1>;
4952
interrupts =
5053
<GIC_SPI 30 IRQ_TYPE_EDGE_RISING>,
5154
<GIC_SPI 31 IRQ_TYPE_EDGE_RISING>;

Documentation/devicetree/bindings/serial/renesas,sci.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ properties:
1717
oneOf:
1818
- items:
1919
- enum:
20+
- renesas,r9a07g043-sci # RZ/G2UL
2021
- renesas,r9a07g044-sci # RZ/G2{L,LC}
2122
- renesas,r9a07g054-sci # RZ/V2L
2223
- const: renesas,sci # generic SCI compatible UART
@@ -67,6 +68,7 @@ if:
6768
compatible:
6869
contains:
6970
enum:
71+
- renesas,r9a07g043-sci
7072
- renesas,r9a07g044-sci
7173
- renesas,r9a07g054-sci
7274
then:

Documentation/devicetree/bindings/serial/renesas,scif.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,12 @@ properties:
7373
- items:
7474
- enum:
7575
- renesas,scif-r9a07g044 # RZ/G2{L,LC}
76-
- renesas,scif-r9a07g054 # RZ/V2L
7776

7877
- items:
7978
- enum:
79+
- renesas,scif-r9a07g043 # RZ/G2UL
8080
- renesas,scif-r9a07g054 # RZ/V2L
81-
- const: renesas,scif-r9a07g044 # RZ/G2{L,LC} fallback for RZ/V2L
81+
- const: renesas,scif-r9a07g044 # RZ/G2{L,LC} fallback
8282

8383
reg:
8484
maxItems: 1
@@ -167,7 +167,6 @@ if:
167167
- renesas,rcar-gen3-scif
168168
- renesas,rcar-gen4-scif
169169
- renesas,scif-r9a07g044
170-
- renesas,scif-r9a07g054
171170
then:
172171
required:
173172
- resets

Documentation/devicetree/bindings/serial/samsung_uart.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,14 @@ properties:
2020
items:
2121
- enum:
2222
- apple,s5l-uart
23+
- axis,artpec8-uart
2324
- samsung,s3c2410-uart
2425
- samsung,s3c2412-uart
2526
- samsung,s3c2440-uart
2627
- samsung,s3c6400-uart
2728
- samsung,s5pv210-uart
2829
- samsung,exynos4210-uart
30+
- samsung,exynos5433-uart
2931
- samsung,exynos850-uart
3032

3133
reg:
@@ -110,7 +112,9 @@ allOf:
110112
contains:
111113
enum:
112114
- apple,s5l-uart
115+
- axis,artpec8-uart
113116
- samsung,exynos4210-uart
117+
- samsung,exynos5433-uart
114118
then:
115119
properties:
116120
clocks:
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
# Copyright (C) Sunplus Co., Ltd. 2021
3+
%YAML 1.2
4+
---
5+
$id: "http://devicetree.org/schemas/serial/sunplus,sp7021-uart.yaml#"
6+
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7+
8+
title: Sunplus SoC SP7021 UART Controller Device Tree Bindings
9+
10+
maintainers:
11+
- Hammer Hsieh <hammerh0314@gmail.com>
12+
13+
allOf:
14+
- $ref: serial.yaml#
15+
16+
properties:
17+
compatible:
18+
const: sunplus,sp7021-uart
19+
20+
reg:
21+
maxItems: 1
22+
23+
interrupts:
24+
maxItems: 1
25+
26+
clocks:
27+
maxItems: 1
28+
29+
resets:
30+
maxItems: 1
31+
32+
required:
33+
- compatible
34+
- reg
35+
- interrupts
36+
- clocks
37+
- resets
38+
39+
additionalProperties: false
40+
41+
examples:
42+
- |
43+
#include <dt-bindings/interrupt-controller/irq.h>
44+
aliases {
45+
serial0 = &uart0;
46+
};
47+
48+
uart0: serial@9c000900 {
49+
compatible = "sunplus,sp7021-uart";
50+
reg = <0x9c000900 0x80>;
51+
interrupt-parent = <&intc>;
52+
interrupts = <53 IRQ_TYPE_LEVEL_HIGH>;
53+
clocks = <&clkc 0x28>;
54+
resets = <&rstc 0x18>;
55+
};
56+
...

MAINTAINERS

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11665,6 +11665,13 @@ F: Documentation/devicetree/bindings/phy/marvell,armada-3700-utmi-phy.yaml
1166511665
F: drivers/phy/marvell/phy-mvebu-a3700-comphy.c
1166611666
F: drivers/phy/marvell/phy-mvebu-a3700-utmi.c
1166711667

11668+
MARVELL ARMADA 3700 SERIAL DRIVER
11669+
M: Pali Rohár <pali@kernel.org>
11670+
S: Maintained
11671+
F: Documentation/devicetree/bindings/clock/marvell,armada-3700-uart-clock.yaml
11672+
F: Documentation/devicetree/bindings/serial/mvebu-uart.txt
11673+
F: drivers/tty/serial/mvebu-uart.c
11674+
1166811675
MARVELL ARMADA DRM SUPPORT
1166911676
M: Russell King <linux@armlinux.org.uk>
1167011677
S: Maintained
@@ -18853,6 +18860,12 @@ S: Maintained
1885318860
F: Documentation/devicetree/bindings/spi/spi-sunplus-sp7021.yaml
1885418861
F: drivers/spi/spi-sunplus-sp7021.c
1885518862

18863+
SUNPLUS UART DRIVER
18864+
M: Hammer Hsieh <hammerh0314@gmail.com>
18865+
S: Maintained
18866+
F: Documentation/devicetree/bindings/serial/sunplus,sp7021-uart.yaml
18867+
F: drivers/tty/serial/sunplus-uart.c
18868+
1885618869
SUPERH
1885718870
M: Yoshinori Sato <ysato@users.sourceforge.jp>
1885818871
M: Rich Felker <dalias@libc.org>

arch/arm64/boot/dts/marvell/armada-37xx.dtsi

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,20 @@
132132
reg = <0x11500 0x40>;
133133
};
134134

135+
uartclk: clock-controller@12010 {
136+
compatible = "marvell,armada-3700-uart-clock";
137+
reg = <0x12010 0x4>, <0x12210 0x4>;
138+
clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>,
139+
<&tbg 3>, <&xtalclk>;
140+
clock-names = "TBG-A-P", "TBG-B-P", "TBG-A-S",
141+
"TBG-B-S", "xtal";
142+
#clock-cells = <1>;
143+
};
144+
135145
uart0: serial@12000 {
136146
compatible = "marvell,armada-3700-uart";
137147
reg = <0x12000 0x18>;
138-
clocks = <&xtalclk>;
148+
clocks = <&uartclk 0>;
139149
interrupts =
140150
<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
141151
<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
@@ -147,7 +157,7 @@
147157
uart1: serial@12200 {
148158
compatible = "marvell,armada-3700-uart-ext";
149159
reg = <0x12200 0x30>;
150-
clocks = <&xtalclk>;
160+
clocks = <&uartclk 1>;
151161
interrupts =
152162
<GIC_SPI 30 IRQ_TYPE_EDGE_RISING>,
153163
<GIC_SPI 31 IRQ_TYPE_EDGE_RISING>;

0 commit comments

Comments
 (0)