Skip to content

Commit ad044f0

Browse files
committed
dt-bindings: phy: Document WIZ (SERDES wrapper) bindings
Add DT binding documentation for WIZ (SERDES wrapper). WIZ is *NOT* a PHY but a wrapper used to configure some of the input signals to the SERDES. It is used with both Sierra(16G) and Torrent(10G) serdes. Signed-off-by: Kishon Vijay Abraham I <[email protected]> [[email protected]: Add separate compatible for Sierra(16G) and Torrent(10G) SERDES] Signed-off-by: Jyri Sarha <[email protected]> Reviewed-by: Rob Herring <[email protected]>
1 parent 748e345 commit ad044f0

File tree

1 file changed

+204
-0
lines changed

1 file changed

+204
-0
lines changed
Lines changed: 204 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,204 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
# Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/
3+
%YAML 1.2
4+
---
5+
$id: "http://devicetree.org/schemas/phy/ti,phy-j721e-wiz.yaml#"
6+
$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7+
8+
title: TI J721E WIZ (SERDES Wrapper)
9+
10+
maintainers:
11+
- Kishon Vijay Abraham I <[email protected]>
12+
13+
properties:
14+
compatible:
15+
enum:
16+
- ti,j721e-wiz-16g
17+
- ti,j721e-wiz-10g
18+
19+
power-domains:
20+
maxItems: 1
21+
22+
clocks:
23+
maxItems: 3
24+
description: clock-specifier to represent input to the WIZ
25+
26+
clock-names:
27+
items:
28+
- const: fck
29+
- const: core_ref_clk
30+
- const: ext_ref_clk
31+
32+
num-lanes:
33+
minimum: 1
34+
maximum: 4
35+
36+
"#address-cells":
37+
const: 1
38+
39+
"#size-cells":
40+
const: 1
41+
42+
"#reset-cells":
43+
const: 1
44+
45+
ranges: true
46+
47+
assigned-clocks:
48+
maxItems: 2
49+
50+
assigned-clock-parents:
51+
maxItems: 2
52+
53+
patternProperties:
54+
"^pll[0|1]-refclk$":
55+
type: object
56+
description: |
57+
WIZ node should have subnodes for each of the PLLs present in
58+
the SERDES.
59+
properties:
60+
clocks:
61+
maxItems: 2
62+
description: Phandle to clock nodes representing the two inputs to PLL.
63+
64+
"#clock-cells":
65+
const: 0
66+
67+
assigned-clocks:
68+
maxItems: 1
69+
70+
assigned-clock-parents:
71+
maxItems: 1
72+
73+
required:
74+
- clocks
75+
- "#clock-cells"
76+
- assigned-clocks
77+
- assigned-clock-parents
78+
79+
"^cmn-refclk1?-dig-div$":
80+
type: object
81+
description:
82+
WIZ node should have subnodes for each of the PMA common refclock
83+
provided by the SERDES.
84+
properties:
85+
clocks:
86+
maxItems: 1
87+
description: Phandle to the clock node representing the input to the
88+
divider clock.
89+
90+
"#clock-cells":
91+
const: 0
92+
93+
required:
94+
- clocks
95+
- "#clock-cells"
96+
97+
"^refclk-dig$":
98+
type: object
99+
description: |
100+
WIZ node should have subnode for refclk_dig to select the reference
101+
clock source for the reference clock used in the PHY and PMA digital
102+
logic.
103+
properties:
104+
clocks:
105+
maxItems: 4
106+
description: Phandle to four clock nodes representing the inputs to
107+
refclk_dig
108+
109+
"#clock-cells":
110+
const: 0
111+
112+
assigned-clocks:
113+
maxItems: 1
114+
115+
assigned-clock-parents:
116+
maxItems: 1
117+
118+
required:
119+
- clocks
120+
- "#clock-cells"
121+
- assigned-clocks
122+
- assigned-clock-parents
123+
124+
"^serdes@[0-9a-f]+$":
125+
type: object
126+
description: |
127+
WIZ node should have '1' subnode for the SERDES. It could be either
128+
Sierra SERDES or Torrent SERDES. Sierra SERDES should follow the
129+
bindings specified in
130+
Documentation/devicetree/bindings/phy/phy-cadence-sierra.txt
131+
Torrent SERDES should follow the bindings specified in
132+
Documentation/devicetree/bindings/phy/phy-cadence-dp.txt
133+
134+
required:
135+
- compatible
136+
- power-domains
137+
- clocks
138+
- clock-names
139+
- num-lanes
140+
- "#address-cells"
141+
- "#size-cells"
142+
- "#reset-cells"
143+
- ranges
144+
145+
examples:
146+
- |
147+
#include <dt-bindings/soc/ti,sci_pm_domain.h>
148+
149+
wiz@5000000 {
150+
compatible = "ti,j721e-wiz-16g";
151+
#address-cells = <1>;
152+
#size-cells = <1>;
153+
power-domains = <&k3_pds 292 TI_SCI_PD_EXCLUSIVE>;
154+
clocks = <&k3_clks 292 5>, <&k3_clks 292 11>, <&dummy_cmn_refclk>;
155+
clock-names = "fck", "core_ref_clk", "ext_ref_clk";
156+
assigned-clocks = <&k3_clks 292 11>, <&k3_clks 292 0>;
157+
assigned-clock-parents = <&k3_clks 292 15>, <&k3_clks 292 4>;
158+
num-lanes = <2>;
159+
#reset-cells = <1>;
160+
ranges = <0x5000000 0x5000000 0x10000>;
161+
162+
pll0-refclk {
163+
clocks = <&k3_clks 293 13>, <&dummy_cmn_refclk>;
164+
#clock-cells = <0>;
165+
assigned-clocks = <&wiz1_pll0_refclk>;
166+
assigned-clock-parents = <&k3_clks 293 13>;
167+
};
168+
169+
pll1-refclk {
170+
clocks = <&k3_clks 293 0>, <&dummy_cmn_refclk1>;
171+
#clock-cells = <0>;
172+
assigned-clocks = <&wiz1_pll1_refclk>;
173+
assigned-clock-parents = <&k3_clks 293 0>;
174+
};
175+
176+
cmn-refclk-dig-div {
177+
clocks = <&wiz1_refclk_dig>;
178+
#clock-cells = <0>;
179+
};
180+
181+
cmn-refclk1-dig-div {
182+
clocks = <&wiz1_pll1_refclk>;
183+
#clock-cells = <0>;
184+
};
185+
186+
refclk-dig {
187+
clocks = <&k3_clks 292 11>, <&k3_clks 292 0>, <&dummy_cmn_refclk>, <&dummy_cmn_refclk1>;
188+
#clock-cells = <0>;
189+
assigned-clocks = <&wiz0_refclk_dig>;
190+
assigned-clock-parents = <&k3_clks 292 11>;
191+
};
192+
193+
serdes@5000000 {
194+
compatible = "cdns,ti,sierra-phy-t0";
195+
reg-names = "serdes";
196+
reg = <0x5000000 0x10000>;
197+
#address-cells = <1>;
198+
#size-cells = <0>;
199+
resets = <&serdes_wiz0 0>;
200+
reset-names = "sierra_reset";
201+
clocks = <&wiz0_cmn_refclk_dig_div>, <&wiz0_cmn_refclk1_dig_div>;
202+
clock-names = "cmn_refclk_dig_div", "cmn_refclk1_dig_div";
203+
};
204+
};

0 commit comments

Comments
 (0)