Skip to content

Commit 91e6073

Browse files
committed
Merge tag 'tty-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty / serial driver updates from Greg KH: "Here is the big set of TTY and Serial driver updates for 6.17-rc1. Included in here is the following types of changes: - another cleanup round from Jiri for the 8250 serial driver and some other tty drivers, things are slowly getting better with our apis thanks to this work. This touched many tty drivers all over the tree. - qcom_geni_serial driver update for new platforms and devices - 8250 quirk handling fixups - dt serial binding updates for different boards/platforms - other minor cleanups and fixes All of these have been in linux-next with no reported issues" * tag 'tty-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (79 commits) dt-bindings: serial: snps-dw-apb-uart: Allow use of a power-domain serial: 8250: fix panic due to PSLVERR dt-bindings: serial: samsung: add samsung,exynos2200-uart compatible vt: defkeymap: Map keycodes above 127 to K_HOLE vt: keyboard: Don't process Unicode characters in K_OFF mode serial: qcom-geni: Enable Serial on SA8255p Qualcomm platforms serial: qcom-geni: Enable PM runtime for serial driver serial: qcom-geni: move clock-rate logic to separate function serial: qcom-geni: move resource control logic to separate functions serial: qcom-geni: move resource initialization to separate function soc: qcom: geni-se: Enable QUPs on SA8255p Qualcomm platforms dt-bindings: qcom: geni-se: describe SA8255p dt-bindings: serial: describe SA8255p serial: 8250_dw: Fix typo "notifer" dt-bindings: serial: 8250: spacemit: set clocks property as required dt-bindings: serial: renesas: Document RZ/V2N SCIF serial: 8250_ce4100: Fix CONFIG_SERIAL_8250=n build tty: omit need_resched() before cond_resched() serial: 8250_ni: Reorder local variables serial: 8250_ni: Fix build warning ...
2 parents 1641684 + 57b4ca4 commit 91e6073

Some content is hidden

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

59 files changed

+2303
-1125
lines changed

Documentation/devicetree/bindings/serial/8250.yaml

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,24 @@ allOf:
4949
- required: [ clock-frequency ]
5050
- required: [ clocks ]
5151

52+
- if:
53+
properties:
54+
compatible:
55+
contains:
56+
const: nxp,lpc1850-uart
57+
then:
58+
properties:
59+
clock-names:
60+
items:
61+
- const: uartclk
62+
- const: reg
63+
else:
64+
properties:
65+
clock-names:
66+
items:
67+
- const: core
68+
- const: bus
69+
5270
properties:
5371
compatible:
5472
oneOf:
@@ -142,9 +160,22 @@ properties:
142160

143161
clock-names:
144162
minItems: 1
145-
items:
146-
- const: core
147-
- const: bus
163+
maxItems: 2
164+
oneOf:
165+
- items:
166+
- const: core
167+
- const: bus
168+
- items:
169+
- const: uartclk
170+
- const: reg
171+
172+
dmas:
173+
minItems: 1
174+
maxItems: 4
175+
176+
dma-names:
177+
minItems: 1
178+
maxItems: 4
148179

149180
resets:
150181
maxItems: 1
@@ -237,9 +268,13 @@ if:
237268
properties:
238269
compatible:
239270
contains:
240-
const: spacemit,k1-uart
271+
enum:
272+
- spacemit,k1-uart
273+
- nxp,lpc1850-uart
241274
then:
242-
required: [clock-names]
275+
required:
276+
- clocks
277+
- clock-names
243278
properties:
244279
clocks:
245280
minItems: 2

Documentation/devicetree/bindings/serial/mediatek,uart.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ properties:
2525
- enum:
2626
- mediatek,mt2701-uart
2727
- mediatek,mt2712-uart
28+
- mediatek,mt6572-uart
2829
- mediatek,mt6580-uart
2930
- mediatek,mt6582-uart
3031
- mediatek,mt6589-uart
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/serial/qcom,sa8255p-geni-uart.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm Geni based QUP UART interface
8+
9+
maintainers:
10+
- Praveen Talari <[email protected]>
11+
12+
allOf:
13+
- $ref: /schemas/serial/serial.yaml#
14+
15+
properties:
16+
compatible:
17+
enum:
18+
- qcom,sa8255p-geni-uart
19+
- qcom,sa8255p-geni-debug-uart
20+
21+
reg:
22+
maxItems: 1
23+
24+
interrupts:
25+
minItems: 1
26+
items:
27+
- description: UART core irq
28+
- description: Wakeup irq (RX GPIO)
29+
30+
interrupt-names:
31+
description:
32+
The UART interrupt and optionally the RX in-band wakeup interrupt
33+
as not all UART instances have a wakeup-capable interrupt routed
34+
via the PDC.
35+
minItems: 1
36+
items:
37+
- const: uart
38+
- const: wakeup
39+
40+
power-domains:
41+
minItems: 2
42+
maxItems: 2
43+
44+
power-domain-names:
45+
items:
46+
- const: power
47+
- const: perf
48+
49+
required:
50+
- compatible
51+
- reg
52+
- interrupts
53+
- power-domains
54+
- power-domain-names
55+
56+
unevaluatedProperties: false
57+
58+
examples:
59+
- |
60+
#include <dt-bindings/interrupt-controller/arm-gic.h>
61+
62+
serial@990000 {
63+
compatible = "qcom,sa8255p-geni-uart";
64+
reg = <0x990000 0x4000>;
65+
interrupts = <GIC_SPI 531 IRQ_TYPE_LEVEL_HIGH>;
66+
power-domains = <&scmi0_pd 0>, <&scmi0_dvfs 0>;
67+
power-domain-names = "power", "perf";
68+
};
69+
...

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,12 @@ properties:
6363
- const: renesas,rcar-gen4-hscif # R-Car Gen4
6464
- const: renesas,hscif # generic HSCIF compatible UART
6565

66+
- items:
67+
- enum:
68+
- renesas,hscif-r8a78000 # R-Car X5H
69+
- const: renesas,rcar-gen5-hscif # R-Car Gen5
70+
- const: renesas,hscif # generic HSCIF compatible UART
71+
6672
reg:
6773
maxItems: 1
6874

@@ -120,6 +126,7 @@ if:
120126
- renesas,rcar-gen2-hscif
121127
- renesas,rcar-gen3-hscif
122128
- renesas,rcar-gen4-hscif
129+
- renesas,rcar-gen5-hscif
123130
then:
124131
required:
125132
- resets

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

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,20 @@ title: Renesas RSCI Serial Communication Interface
88

99
maintainers:
1010
- Geert Uytterhoeven <[email protected]>
11-
- Thierry Bultel <thierry.bultel.yh@bp.renesas.com>
11+
- Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
1212

1313
allOf:
1414
- $ref: serial.yaml#
1515

1616
properties:
1717
compatible:
18-
const: renesas,r9a09g077-rsci # RZ/T2H
18+
oneOf:
19+
- items:
20+
- const: renesas,r9a09g087-rsci # RZ/N2H
21+
- const: renesas,r9a09g077-rsci # RZ/T2H
22+
23+
- items:
24+
- const: renesas,r9a09g077-rsci # RZ/T2H
1925

2026
reg:
2127
maxItems: 1
@@ -35,10 +41,15 @@ properties:
3541
- const: tei
3642

3743
clocks:
38-
maxItems: 1
44+
minItems: 2
45+
maxItems: 3
3946

4047
clock-names:
41-
const: fck # UART functional clock
48+
minItems: 2
49+
items:
50+
- const: operation
51+
- const: bus
52+
- const: sck # optional external clock input
4253

4354
power-domains:
4455
maxItems: 1
@@ -60,10 +71,6 @@ examples:
6071
#include <dt-bindings/interrupt-controller/arm-gic.h>
6172
#include <dt-bindings/clock/renesas-cpg-mssr.h>
6273
63-
aliases {
64-
serial0 = &sci0;
65-
};
66-
6774
sci0: serial@80005000 {
6875
compatible = "renesas,r9a09g077-rsci";
6976
reg = <0x80005000 0x400>;
@@ -72,7 +79,7 @@ examples:
7279
<GIC_SPI 592 IRQ_TYPE_EDGE_RISING>,
7380
<GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>;
7481
interrupt-names = "eri", "rxi", "txi", "tei";
75-
clocks = <&cpg CPG_MOD 108>;
76-
clock-names = "fck";
82+
clocks = <&cpg CPG_MOD 8>, <&cpg CPG_CORE 13>;
83+
clock-names = "operation", "bus";
7784
power-domains = <&cpg>;
7885
};

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,12 @@ properties:
7070
- const: renesas,rcar-gen4-scif # R-Car Gen4
7171
- const: renesas,scif # generic SCIF compatible UART
7272

73+
- items:
74+
- enum:
75+
- renesas,scif-r8a78000 # R-Car X5H
76+
- const: renesas,rcar-gen5-scif # R-Car Gen5
77+
- const: renesas,scif # generic SCIF compatible UART
78+
7379
- items:
7480
- enum:
7581
- renesas,scif-r9a07g044 # RZ/G2{L,LC}
@@ -86,6 +92,7 @@ properties:
8692
- items:
8793
- enum:
8894
- renesas,scif-r9a09g047 # RZ/G3E
95+
- renesas,scif-r9a09g056 # RZ/V2N
8996
- const: renesas,scif-r9a09g057 # RZ/V2H fallback
9097

9198
reg:
@@ -174,6 +181,7 @@ allOf:
174181
- renesas,rcar-gen2-scif
175182
- renesas,rcar-gen3-scif
176183
- renesas,rcar-gen4-scif
184+
- renesas,rcar-gen5-scif
177185
- renesas,scif-r9a07g044
178186
- renesas,scif-r9a09g057
179187
then:

Documentation/devicetree/bindings/serial/samsung_uart.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ properties:
2828
- samsung,exynos5433-uart
2929
- samsung,exynos850-uart
3030
- samsung,exynos8895-uart
31+
- items:
32+
- enum:
33+
- samsung,exynos2200-uart
34+
- const: google,gs101-uart
3135
- items:
3236
- enum:
3337
- samsung,exynos7-uart

Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,9 @@ properties:
108108
parameter. Define this if your UART does not implement the busy functionality.
109109
type: boolean
110110

111+
power-domains:
112+
maxItems: 1
113+
111114
resets:
112115
minItems: 1
113116
maxItems: 2
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/soc/qcom/qcom,sa8255p-geni-se-qup.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: GENI Serial Engine QUP Wrapper Controller
8+
9+
maintainers:
10+
- Praveen Talari <[email protected]>
11+
12+
description:
13+
Generic Interface (GENI) based Qualcomm Universal Peripheral (QUP) wrapper
14+
is a programmable module for supporting a wide range of serial interfaces
15+
like UART, SPI, I2C, I3C, etc. A single QUP module can provide up to 8 Serial
16+
Interfaces, using its internal Serial Engines. The GENI Serial Engine QUP
17+
Wrapper controller is modeled as a node with zero or more child nodes each
18+
representing a serial engine.
19+
20+
properties:
21+
compatible:
22+
const: qcom,sa8255p-geni-se-qup
23+
24+
reg:
25+
description: QUP wrapper common register address and length.
26+
maxItems: 1
27+
28+
"#address-cells":
29+
const: 2
30+
31+
"#size-cells":
32+
const: 2
33+
34+
ranges: true
35+
36+
iommus:
37+
maxItems: 1
38+
39+
dma-coherent: true
40+
41+
patternProperties:
42+
"spi@[0-9a-f]+$":
43+
type: object
44+
description: GENI serial engine based SPI controller. SPI in master mode
45+
supports up to 50MHz, up to four chip selects, programmable
46+
data path from 4 bits to 32 bits and numerous protocol
47+
variants.
48+
additionalProperties: true
49+
50+
properties:
51+
compatible:
52+
const: qcom,sa8255p-geni-spi
53+
54+
"i2c@[0-9a-f]+$":
55+
type: object
56+
description: GENI serial engine based I2C controller.
57+
additionalProperties: true
58+
59+
properties:
60+
compatible:
61+
const: qcom,sa8255p-geni-i2c
62+
63+
"serial@[0-9a-f]+$":
64+
type: object
65+
description: GENI Serial Engine based UART Controller.
66+
additionalProperties: true
67+
68+
properties:
69+
compatible:
70+
enum:
71+
- qcom,sa8255p-geni-uart
72+
- qcom,sa8255p-geni-debug-uart
73+
74+
required:
75+
- compatible
76+
- reg
77+
- "#address-cells"
78+
- "#size-cells"
79+
- ranges
80+
81+
additionalProperties: false
82+
83+
examples:
84+
- |
85+
#include <dt-bindings/interrupt-controller/arm-gic.h>
86+
87+
soc {
88+
#address-cells = <2>;
89+
#size-cells = <2>;
90+
91+
geniqup@9c0000 {
92+
compatible = "qcom,sa8255p-geni-se-qup";
93+
reg = <0 0x9c0000 0 0x6000>;
94+
#address-cells = <2>;
95+
#size-cells = <2>;
96+
ranges;
97+
98+
serial@990000 {
99+
compatible = "qcom,sa8255p-geni-uart";
100+
reg = <0 0x990000 0 0x4000>;
101+
interrupts = <GIC_SPI 531 IRQ_TYPE_LEVEL_HIGH>;
102+
power-domains = <&scmi0_pd 0>, <&scmi0_dvfs 0>;
103+
power-domain-names = "power", "perf";
104+
};
105+
};
106+
};
107+
...

0 commit comments

Comments
 (0)