xref: /linux/Documentation/devicetree/bindings/phy/ti,phy-j721e-wiz.yaml (revision 28ffe8bf90896105799990572c7fd22365226321)
1ad044f01SKishon Vijay Abraham I# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2ad044f01SKishon Vijay Abraham I# Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/
3ad044f01SKishon Vijay Abraham I%YAML 1.2
4ad044f01SKishon Vijay Abraham I---
5ad044f01SKishon Vijay Abraham I$id: "http://devicetree.org/schemas/phy/ti,phy-j721e-wiz.yaml#"
6ad044f01SKishon Vijay Abraham I$schema: "http://devicetree.org/meta-schemas/core.yaml#"
7ad044f01SKishon Vijay Abraham I
8ad044f01SKishon Vijay Abraham Ititle: TI J721E WIZ (SERDES Wrapper)
9ad044f01SKishon Vijay Abraham I
10ad044f01SKishon Vijay Abraham Imaintainers:
11ad044f01SKishon Vijay Abraham I  - Kishon Vijay Abraham I <kishon@ti.com>
12ad044f01SKishon Vijay Abraham I
13ad044f01SKishon Vijay Abraham Iproperties:
14ad044f01SKishon Vijay Abraham I  compatible:
15ad044f01SKishon Vijay Abraham I    enum:
16ad044f01SKishon Vijay Abraham I      - ti,j721e-wiz-16g
17ad044f01SKishon Vijay Abraham I      - ti,j721e-wiz-10g
18ad044f01SKishon Vijay Abraham I
19ad044f01SKishon Vijay Abraham I  power-domains:
20ad044f01SKishon Vijay Abraham I    maxItems: 1
21ad044f01SKishon Vijay Abraham I
22ad044f01SKishon Vijay Abraham I  clocks:
23ad044f01SKishon Vijay Abraham I    maxItems: 3
24ad044f01SKishon Vijay Abraham I    description: clock-specifier to represent input to the WIZ
25ad044f01SKishon Vijay Abraham I
26ad044f01SKishon Vijay Abraham I  clock-names:
27ad044f01SKishon Vijay Abraham I    items:
28ad044f01SKishon Vijay Abraham I      - const: fck
29ad044f01SKishon Vijay Abraham I      - const: core_ref_clk
30ad044f01SKishon Vijay Abraham I      - const: ext_ref_clk
31ad044f01SKishon Vijay Abraham I
32ad044f01SKishon Vijay Abraham I  num-lanes:
33ad044f01SKishon Vijay Abraham I    minimum: 1
34ad044f01SKishon Vijay Abraham I    maximum: 4
35ad044f01SKishon Vijay Abraham I
36ad044f01SKishon Vijay Abraham I  "#address-cells":
37ad044f01SKishon Vijay Abraham I    const: 1
38ad044f01SKishon Vijay Abraham I
39ad044f01SKishon Vijay Abraham I  "#size-cells":
40ad044f01SKishon Vijay Abraham I    const: 1
41ad044f01SKishon Vijay Abraham I
42ad044f01SKishon Vijay Abraham I  "#reset-cells":
43ad044f01SKishon Vijay Abraham I    const: 1
44ad044f01SKishon Vijay Abraham I
45ad044f01SKishon Vijay Abraham I  ranges: true
46ad044f01SKishon Vijay Abraham I
47ad044f01SKishon Vijay Abraham I  assigned-clocks:
48b7132285STomi Valkeinen    minItems: 1
49ad044f01SKishon Vijay Abraham I    maxItems: 2
50ad044f01SKishon Vijay Abraham I
51ad044f01SKishon Vijay Abraham I  assigned-clock-parents:
52b7132285STomi Valkeinen    minItems: 1
53b7132285STomi Valkeinen    maxItems: 2
54b7132285STomi Valkeinen
55b7132285STomi Valkeinen  assigned-clock-rates:
56b7132285STomi Valkeinen    minItems: 1
57ad044f01SKishon Vijay Abraham I    maxItems: 2
58ad044f01SKishon Vijay Abraham I
596385cbe9SRoger Quadros  typec-dir-gpios:
606385cbe9SRoger Quadros    maxItems: 1
616385cbe9SRoger Quadros    description:
626385cbe9SRoger Quadros      GPIO to signal Type-C cable orientation for lane swap.
636385cbe9SRoger Quadros      If GPIO is active, lane 0 and lane 1 of SERDES will be swapped to
646385cbe9SRoger Quadros      achieve the funtionality of an external type-C plug flip mux.
656385cbe9SRoger Quadros
666385cbe9SRoger Quadros  typec-dir-debounce-ms:
676385cbe9SRoger Quadros    minimum: 100
686385cbe9SRoger Quadros    maximum: 1000
696385cbe9SRoger Quadros    default: 100
706385cbe9SRoger Quadros    description:
716385cbe9SRoger Quadros      Number of milliseconds to wait before sampling typec-dir-gpio.
726385cbe9SRoger Quadros      If not specified, the default debounce of 100ms will be used.
736385cbe9SRoger Quadros      Type-C spec states minimum CC pin debounce of 100 ms and maximum
746385cbe9SRoger Quadros      of 200 ms. However, some solutions might need more than 200 ms.
756385cbe9SRoger Quadros
76ad044f01SKishon Vijay Abraham IpatternProperties:
77ad044f01SKishon Vijay Abraham I  "^pll[0|1]-refclk$":
78ad044f01SKishon Vijay Abraham I    type: object
79ad044f01SKishon Vijay Abraham I    description: |
80ad044f01SKishon Vijay Abraham I      WIZ node should have subnodes for each of the PLLs present in
81ad044f01SKishon Vijay Abraham I      the SERDES.
82ad044f01SKishon Vijay Abraham I    properties:
83ad044f01SKishon Vijay Abraham I      clocks:
84ad044f01SKishon Vijay Abraham I        maxItems: 2
85ad044f01SKishon Vijay Abraham I        description: Phandle to clock nodes representing the two inputs to PLL.
86ad044f01SKishon Vijay Abraham I
87ad044f01SKishon Vijay Abraham I      "#clock-cells":
88ad044f01SKishon Vijay Abraham I        const: 0
89ad044f01SKishon Vijay Abraham I
90ad044f01SKishon Vijay Abraham I      assigned-clocks:
91ad044f01SKishon Vijay Abraham I        maxItems: 1
92ad044f01SKishon Vijay Abraham I
93ad044f01SKishon Vijay Abraham I      assigned-clock-parents:
94ad044f01SKishon Vijay Abraham I        maxItems: 1
95ad044f01SKishon Vijay Abraham I
96ad044f01SKishon Vijay Abraham I    required:
97ad044f01SKishon Vijay Abraham I      - clocks
98ad044f01SKishon Vijay Abraham I      - "#clock-cells"
99ad044f01SKishon Vijay Abraham I      - assigned-clocks
100ad044f01SKishon Vijay Abraham I      - assigned-clock-parents
101ad044f01SKishon Vijay Abraham I
102ad044f01SKishon Vijay Abraham I  "^cmn-refclk1?-dig-div$":
103ad044f01SKishon Vijay Abraham I    type: object
104ad044f01SKishon Vijay Abraham I    description:
105ad044f01SKishon Vijay Abraham I      WIZ node should have subnodes for each of the PMA common refclock
106ad044f01SKishon Vijay Abraham I      provided by the SERDES.
107ad044f01SKishon Vijay Abraham I    properties:
108ad044f01SKishon Vijay Abraham I      clocks:
109ad044f01SKishon Vijay Abraham I        maxItems: 1
110ad044f01SKishon Vijay Abraham I        description: Phandle to the clock node representing the input to the
111ad044f01SKishon Vijay Abraham I          divider clock.
112ad044f01SKishon Vijay Abraham I
113ad044f01SKishon Vijay Abraham I      "#clock-cells":
114ad044f01SKishon Vijay Abraham I        const: 0
115ad044f01SKishon Vijay Abraham I
116ad044f01SKishon Vijay Abraham I    required:
117ad044f01SKishon Vijay Abraham I      - clocks
118ad044f01SKishon Vijay Abraham I      - "#clock-cells"
119ad044f01SKishon Vijay Abraham I
120ad044f01SKishon Vijay Abraham I  "^refclk-dig$":
121ad044f01SKishon Vijay Abraham I    type: object
122ad044f01SKishon Vijay Abraham I    description: |
123ad044f01SKishon Vijay Abraham I      WIZ node should have subnode for refclk_dig to select the reference
124ad044f01SKishon Vijay Abraham I      clock source for the reference clock used in the PHY and PMA digital
125ad044f01SKishon Vijay Abraham I      logic.
126ad044f01SKishon Vijay Abraham I    properties:
127ad044f01SKishon Vijay Abraham I      clocks:
128b7132285STomi Valkeinen        minItems: 2
129ad044f01SKishon Vijay Abraham I        maxItems: 4
130b7132285STomi Valkeinen        description: Phandle to two (Torrent) or four (Sierra) clock nodes representing
131b7132285STomi Valkeinen          the inputs to refclk_dig
132ad044f01SKishon Vijay Abraham I
133ad044f01SKishon Vijay Abraham I      "#clock-cells":
134ad044f01SKishon Vijay Abraham I        const: 0
135ad044f01SKishon Vijay Abraham I
136ad044f01SKishon Vijay Abraham I      assigned-clocks:
137ad044f01SKishon Vijay Abraham I        maxItems: 1
138ad044f01SKishon Vijay Abraham I
139ad044f01SKishon Vijay Abraham I      assigned-clock-parents:
140ad044f01SKishon Vijay Abraham I        maxItems: 1
141ad044f01SKishon Vijay Abraham I
142ad044f01SKishon Vijay Abraham I    required:
143ad044f01SKishon Vijay Abraham I      - clocks
144ad044f01SKishon Vijay Abraham I      - "#clock-cells"
145ad044f01SKishon Vijay Abraham I      - assigned-clocks
146ad044f01SKishon Vijay Abraham I      - assigned-clock-parents
147ad044f01SKishon Vijay Abraham I
148ad044f01SKishon Vijay Abraham I  "^serdes@[0-9a-f]+$":
149ad044f01SKishon Vijay Abraham I    type: object
150ad044f01SKishon Vijay Abraham I    description: |
151ad044f01SKishon Vijay Abraham I      WIZ node should have '1' subnode for the SERDES. It could be either
152ad044f01SKishon Vijay Abraham I      Sierra SERDES or Torrent SERDES. Sierra SERDES should follow the
153ad044f01SKishon Vijay Abraham I      bindings specified in
15434168172SMauro Carvalho Chehab      Documentation/devicetree/bindings/phy/phy-cadence-sierra.yaml
155ad044f01SKishon Vijay Abraham I      Torrent SERDES should follow the bindings specified in
156b8a1707fSMauro Carvalho Chehab      Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml
157ad044f01SKishon Vijay Abraham I
158ad044f01SKishon Vijay Abraham Irequired:
159ad044f01SKishon Vijay Abraham I  - compatible
160ad044f01SKishon Vijay Abraham I  - power-domains
161ad044f01SKishon Vijay Abraham I  - clocks
162ad044f01SKishon Vijay Abraham I  - clock-names
163ad044f01SKishon Vijay Abraham I  - num-lanes
164ad044f01SKishon Vijay Abraham I  - "#address-cells"
165ad044f01SKishon Vijay Abraham I  - "#size-cells"
166ad044f01SKishon Vijay Abraham I  - "#reset-cells"
167ad044f01SKishon Vijay Abraham I  - ranges
168ad044f01SKishon Vijay Abraham I
1697f464532SRob HerringadditionalProperties: false
1707f464532SRob Herring
171ad044f01SKishon Vijay Abraham Iexamples:
172ad044f01SKishon Vijay Abraham I  - |
173ad044f01SKishon Vijay Abraham I    #include <dt-bindings/soc/ti,sci_pm_domain.h>
174ad044f01SKishon Vijay Abraham I
175ad044f01SKishon Vijay Abraham I    wiz@5000000 {
176ad044f01SKishon Vijay Abraham I           compatible = "ti,j721e-wiz-16g";
177ad044f01SKishon Vijay Abraham I           #address-cells = <1>;
178ad044f01SKishon Vijay Abraham I           #size-cells = <1>;
179ad044f01SKishon Vijay Abraham I           power-domains = <&k3_pds 292 TI_SCI_PD_EXCLUSIVE>;
180ad044f01SKishon Vijay Abraham I           clocks = <&k3_clks 292 5>, <&k3_clks 292 11>, <&dummy_cmn_refclk>;
181ad044f01SKishon Vijay Abraham I           clock-names = "fck", "core_ref_clk", "ext_ref_clk";
182ad044f01SKishon Vijay Abraham I           assigned-clocks = <&k3_clks 292 11>, <&k3_clks 292 0>;
183ad044f01SKishon Vijay Abraham I           assigned-clock-parents = <&k3_clks 292 15>, <&k3_clks 292 4>;
184ad044f01SKishon Vijay Abraham I           num-lanes = <2>;
185ad044f01SKishon Vijay Abraham I           #reset-cells = <1>;
186ad044f01SKishon Vijay Abraham I           ranges = <0x5000000 0x5000000 0x10000>;
187ad044f01SKishon Vijay Abraham I
188ad044f01SKishon Vijay Abraham I           pll0-refclk {
189ad044f01SKishon Vijay Abraham I                  clocks = <&k3_clks 293 13>, <&dummy_cmn_refclk>;
190ad044f01SKishon Vijay Abraham I                  #clock-cells = <0>;
191ad044f01SKishon Vijay Abraham I                  assigned-clocks = <&wiz1_pll0_refclk>;
192ad044f01SKishon Vijay Abraham I                  assigned-clock-parents = <&k3_clks 293 13>;
193ad044f01SKishon Vijay Abraham I           };
194ad044f01SKishon Vijay Abraham I
195ad044f01SKishon Vijay Abraham I           pll1-refclk {
196ad044f01SKishon Vijay Abraham I                  clocks = <&k3_clks 293 0>, <&dummy_cmn_refclk1>;
197ad044f01SKishon Vijay Abraham I                  #clock-cells = <0>;
198ad044f01SKishon Vijay Abraham I                  assigned-clocks = <&wiz1_pll1_refclk>;
199ad044f01SKishon Vijay Abraham I                  assigned-clock-parents = <&k3_clks 293 0>;
200ad044f01SKishon Vijay Abraham I           };
201ad044f01SKishon Vijay Abraham I
202ad044f01SKishon Vijay Abraham I           cmn-refclk-dig-div {
203ad044f01SKishon Vijay Abraham I                  clocks = <&wiz1_refclk_dig>;
204ad044f01SKishon Vijay Abraham I                  #clock-cells = <0>;
205ad044f01SKishon Vijay Abraham I           };
206ad044f01SKishon Vijay Abraham I
207ad044f01SKishon Vijay Abraham I           cmn-refclk1-dig-div {
208ad044f01SKishon Vijay Abraham I                  clocks = <&wiz1_pll1_refclk>;
209ad044f01SKishon Vijay Abraham I                  #clock-cells = <0>;
210ad044f01SKishon Vijay Abraham I           };
211ad044f01SKishon Vijay Abraham I
212ad044f01SKishon Vijay Abraham I           refclk-dig {
213f516fb70SRob Herring                  clocks = <&k3_clks 292 11>, <&k3_clks 292 0>,
214f516fb70SRob Herring                          <&dummy_cmn_refclk>, <&dummy_cmn_refclk1>;
215ad044f01SKishon Vijay Abraham I                  #clock-cells = <0>;
216ad044f01SKishon Vijay Abraham I                  assigned-clocks = <&wiz0_refclk_dig>;
217ad044f01SKishon Vijay Abraham I                  assigned-clock-parents = <&k3_clks 292 11>;
218ad044f01SKishon Vijay Abraham I           };
219ad044f01SKishon Vijay Abraham I
220ad044f01SKishon Vijay Abraham I           serdes@5000000 {
221*28ffe8bfSRob Herring                  compatible = "ti,sierra-phy-t0";
222ad044f01SKishon Vijay Abraham I                  reg-names = "serdes";
223ad044f01SKishon Vijay Abraham I                  reg = <0x5000000 0x10000>;
224ad044f01SKishon Vijay Abraham I                  #address-cells = <1>;
225ad044f01SKishon Vijay Abraham I                  #size-cells = <0>;
226ad044f01SKishon Vijay Abraham I                  resets = <&serdes_wiz0 0>;
227ad044f01SKishon Vijay Abraham I                  reset-names = "sierra_reset";
228ad044f01SKishon Vijay Abraham I                  clocks = <&wiz0_cmn_refclk_dig_div>, <&wiz0_cmn_refclk1_dig_div>;
229ad044f01SKishon Vijay Abraham I                  clock-names = "cmn_refclk_dig_div", "cmn_refclk1_dig_div";
230ad044f01SKishon Vijay Abraham I           };
231ad044f01SKishon Vijay Abraham I    };
232