Skip to content

Commit 612ad27

Browse files
Stanley Changgregkh
authored andcommitted
dt-bindings: phy: realtek: Add Realtek DHC RTD SoC USB 2.0 PHY
Document the USB PHY bindings for Realtek SoCs. Realtek DHC (digital home center) RTD SoCs support DWC3 XHCI USB controller and using USB 2.0 PHY transceiver. Signed-off-by: Stanley Chang <[email protected]> Reviewed-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent adda6e8 commit 612ad27

File tree

1 file changed

+175
-0
lines changed

1 file changed

+175
-0
lines changed
Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
# Copyright 2023 Realtek Semiconductor Corporation
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/phy/realtek,usb2phy.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Realtek DHC SoCs USB 2.0 PHY
9+
10+
maintainers:
11+
- Stanley Chang <[email protected]>
12+
13+
description: |
14+
Realtek USB 2.0 PHY support the digital home center (DHC) RTD series SoCs.
15+
The USB 2.0 PHY driver is designed to support the XHCI controller. The SoCs
16+
support multiple XHCI controllers. One PHY device node maps to one XHCI
17+
controller.
18+
19+
RTD1295/RTD1619 SoCs USB
20+
The USB architecture includes three XHCI controllers.
21+
Each XHCI maps to one USB 2.0 PHY and map one USB 3.0 PHY on some
22+
controllers.
23+
XHCI controller#0 -- usb2phy -- phy#0
24+
|- usb3phy -- phy#0
25+
XHCI controller#1 -- usb2phy -- phy#0
26+
XHCI controller#2 -- usb2phy -- phy#0
27+
|- usb3phy -- phy#0
28+
29+
RTD1395 SoCs USB
30+
The USB architecture includes two XHCI controllers.
31+
The controller#0 has one USB 2.0 PHY. The controller#1 includes two USB 2.0
32+
PHY.
33+
XHCI controller#0 -- usb2phy -- phy#0
34+
XHCI controller#1 -- usb2phy -- phy#0
35+
|- phy#1
36+
37+
RTD1319/RTD1619b SoCs USB
38+
The USB architecture includes three XHCI controllers.
39+
Each XHCI maps to one USB 2.0 PHY and map one USB 3.0 PHY on controllers#2.
40+
XHCI controller#0 -- usb2phy -- phy#0
41+
XHCI controller#1 -- usb2phy -- phy#0
42+
XHCI controller#2 -- usb2phy -- phy#0
43+
|- usb3phy -- phy#0
44+
45+
RTD1319d SoCs USB
46+
The USB architecture includes three XHCI controllers.
47+
Each xhci maps to one USB 2.0 PHY and map one USB 3.0 PHY on controllers#0.
48+
XHCI controller#0 -- usb2phy -- phy#0
49+
|- usb3phy -- phy#0
50+
XHCI controller#1 -- usb2phy -- phy#0
51+
XHCI controller#2 -- usb2phy -- phy#0
52+
53+
RTD1312c/RTD1315e SoCs USB
54+
The USB architecture includes three XHCI controllers.
55+
Each XHCI maps to one USB 2.0 PHY.
56+
XHCI controller#0 -- usb2phy -- phy#0
57+
XHCI controller#1 -- usb2phy -- phy#0
58+
XHCI controller#2 -- usb2phy -- phy#0
59+
60+
properties:
61+
compatible:
62+
enum:
63+
- realtek,rtd1295-usb2phy
64+
- realtek,rtd1312c-usb2phy
65+
- realtek,rtd1315e-usb2phy
66+
- realtek,rtd1319-usb2phy
67+
- realtek,rtd1319d-usb2phy
68+
- realtek,rtd1395-usb2phy
69+
- realtek,rtd1395-usb2phy-2port
70+
- realtek,rtd1619-usb2phy
71+
- realtek,rtd1619b-usb2phy
72+
73+
reg:
74+
items:
75+
- description: PHY data registers
76+
- description: PHY control registers
77+
78+
"#phy-cells":
79+
const: 0
80+
81+
nvmem-cells:
82+
maxItems: 2
83+
description:
84+
Phandles to nvmem cell that contains the trimming data.
85+
If unspecified, default value is used.
86+
87+
nvmem-cell-names:
88+
items:
89+
- const: usb-dc-cal
90+
- const: usb-dc-dis
91+
description:
92+
The following names, which correspond to each nvmem-cells.
93+
usb-dc-cal is the driving level for each phy specified via efuse.
94+
usb-dc-dis is the disconnection level for each phy specified via efuse.
95+
96+
realtek,inverse-hstx-sync-clock:
97+
description:
98+
For one of the phys of RTD1619b SoC, the synchronous clock of the
99+
high-speed tx must be inverted.
100+
type: boolean
101+
102+
realtek,driving-level:
103+
description:
104+
Control the magnitude of High speed Dp/Dm output swing (mV).
105+
For a different board or port, the original magnitude maybe not meet
106+
the specification. In this situation we can adjust the value to meet
107+
the specification.
108+
$ref: /schemas/types.yaml#/definitions/uint32
109+
default: 8
110+
minimum: 0
111+
maximum: 31
112+
113+
realtek,driving-level-compensate:
114+
description:
115+
For RTD1315e SoC, the driving level can be adjusted by reading the
116+
efuse table. This property provides drive compensation.
117+
If the magnitude of High speed Dp/Dm output swing still not meet the
118+
specification, then we can set this value to meet the specification.
119+
$ref: /schemas/types.yaml#/definitions/int32
120+
default: 0
121+
minimum: -8
122+
maximum: 8
123+
124+
realtek,disconnection-compensate:
125+
description:
126+
This adjusts the disconnection level compensation for the different
127+
boards with different disconnection level.
128+
$ref: /schemas/types.yaml#/definitions/int32
129+
default: 0
130+
minimum: -8
131+
maximum: 8
132+
133+
required:
134+
- compatible
135+
- reg
136+
- "#phy-cells"
137+
138+
allOf:
139+
- if:
140+
not:
141+
properties:
142+
compatible:
143+
contains:
144+
enum:
145+
- realtek,rtd1619b-usb2phy
146+
then:
147+
properties:
148+
realtek,inverse-hstx-sync-clock: false
149+
150+
- if:
151+
not:
152+
properties:
153+
compatible:
154+
contains:
155+
enum:
156+
- realtek,rtd1315e-usb2phy
157+
then:
158+
properties:
159+
realtek,driving-level-compensate: false
160+
161+
additionalProperties: false
162+
163+
examples:
164+
- |
165+
usb-phy@13214 {
166+
compatible = "realtek,rtd1619b-usb2phy";
167+
reg = <0x13214 0x4>, <0x28280 0x4>;
168+
#phy-cells = <0>;
169+
nvmem-cells = <&otp_usb_port0_dc_cal>, <&otp_usb_port0_dc_dis>;
170+
nvmem-cell-names = "usb-dc-cal", "usb-dc-dis";
171+
172+
realtek,inverse-hstx-sync-clock;
173+
realtek,driving-level = <0xa>;
174+
realtek,disconnection-compensate = <(-1)>;
175+
};

0 commit comments

Comments
 (0)