1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot# Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ 3c66ec88fSEmmanuel Vadot%YAML 1.2 4c66ec88fSEmmanuel Vadot--- 5fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/phy/ti,phy-j721e-wiz.yaml# 6fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel Vadottitle: TI J721E WIZ (SERDES Wrapper) 9c66ec88fSEmmanuel Vadot 10c66ec88fSEmmanuel Vadotmaintainers: 11c66ec88fSEmmanuel Vadot - Kishon Vijay Abraham I <kishon@ti.com> 12c66ec88fSEmmanuel Vadot 13c66ec88fSEmmanuel Vadotproperties: 14c66ec88fSEmmanuel Vadot compatible: 15c66ec88fSEmmanuel Vadot enum: 16c66ec88fSEmmanuel Vadot - ti,j721e-wiz-16g 17c66ec88fSEmmanuel Vadot - ti,j721e-wiz-10g 188bab661aSEmmanuel Vadot - ti,j721s2-wiz-10g 192eb4d8dcSEmmanuel Vadot - ti,am64-wiz-10g 207ef62cebSEmmanuel Vadot - ti,j7200-wiz-10g 218bab661aSEmmanuel Vadot - ti,j784s4-wiz-10g 22c66ec88fSEmmanuel Vadot 23c66ec88fSEmmanuel Vadot power-domains: 24c66ec88fSEmmanuel Vadot maxItems: 1 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel Vadot clocks: 277ef62cebSEmmanuel Vadot minItems: 3 287ef62cebSEmmanuel Vadot maxItems: 4 29c66ec88fSEmmanuel Vadot description: clock-specifier to represent input to the WIZ 30c66ec88fSEmmanuel Vadot 31c66ec88fSEmmanuel Vadot clock-names: 327ef62cebSEmmanuel Vadot minItems: 3 33c66ec88fSEmmanuel Vadot items: 34c66ec88fSEmmanuel Vadot - const: fck 35c66ec88fSEmmanuel Vadot - const: core_ref_clk 36c66ec88fSEmmanuel Vadot - const: ext_ref_clk 377ef62cebSEmmanuel Vadot - const: core_ref1_clk 38c66ec88fSEmmanuel Vadot 39c66ec88fSEmmanuel Vadot num-lanes: 40c66ec88fSEmmanuel Vadot minimum: 1 41c66ec88fSEmmanuel Vadot maximum: 4 42c66ec88fSEmmanuel Vadot 43c66ec88fSEmmanuel Vadot "#address-cells": 44c66ec88fSEmmanuel Vadot const: 1 45c66ec88fSEmmanuel Vadot 46c66ec88fSEmmanuel Vadot "#size-cells": 47c66ec88fSEmmanuel Vadot const: 1 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot "#reset-cells": 50c66ec88fSEmmanuel Vadot const: 1 51c66ec88fSEmmanuel Vadot 522eb4d8dcSEmmanuel Vadot "#clock-cells": 532eb4d8dcSEmmanuel Vadot const: 1 542eb4d8dcSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot ranges: true 56c66ec88fSEmmanuel Vadot 57c66ec88fSEmmanuel Vadot typec-dir-gpios: 58c66ec88fSEmmanuel Vadot maxItems: 1 59c66ec88fSEmmanuel Vadot description: 60c66ec88fSEmmanuel Vadot GPIO to signal Type-C cable orientation for lane swap. 61c66ec88fSEmmanuel Vadot If GPIO is active, lane 0 and lane 1 of SERDES will be swapped to 62*aa1a8ff2SEmmanuel Vadot achieve the functionality of an external type-C plug flip mux. 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot typec-dir-debounce-ms: 65c66ec88fSEmmanuel Vadot minimum: 100 66c66ec88fSEmmanuel Vadot maximum: 1000 67c66ec88fSEmmanuel Vadot default: 100 68c66ec88fSEmmanuel Vadot description: 69c66ec88fSEmmanuel Vadot Number of milliseconds to wait before sampling typec-dir-gpio. 70c66ec88fSEmmanuel Vadot If not specified, the default debounce of 100ms will be used. 71c66ec88fSEmmanuel Vadot Type-C spec states minimum CC pin debounce of 100 ms and maximum 72c66ec88fSEmmanuel Vadot of 200 ms. However, some solutions might need more than 200 ms. 73c66ec88fSEmmanuel Vadot 745956d97fSEmmanuel Vadot refclk-dig: 755956d97fSEmmanuel Vadot type: object 767ef62cebSEmmanuel Vadot additionalProperties: false 775956d97fSEmmanuel Vadot description: | 785956d97fSEmmanuel Vadot WIZ node should have subnode for refclk_dig to select the reference 795956d97fSEmmanuel Vadot clock source for the reference clock used in the PHY and PMA digital 805956d97fSEmmanuel Vadot logic. 817ef62cebSEmmanuel Vadot deprecated: true 825956d97fSEmmanuel Vadot properties: 835956d97fSEmmanuel Vadot clocks: 845956d97fSEmmanuel Vadot minItems: 2 855956d97fSEmmanuel Vadot maxItems: 4 865956d97fSEmmanuel Vadot description: Phandle to two (Torrent) or four (Sierra) clock nodes representing 875956d97fSEmmanuel Vadot the inputs to refclk_dig 885956d97fSEmmanuel Vadot 895956d97fSEmmanuel Vadot "#clock-cells": 905956d97fSEmmanuel Vadot const: 0 915956d97fSEmmanuel Vadot 92fac71e4eSEmmanuel Vadot clock-output-names: 93fac71e4eSEmmanuel Vadot maxItems: 1 94fac71e4eSEmmanuel Vadot 955956d97fSEmmanuel Vadot assigned-clocks: 965956d97fSEmmanuel Vadot maxItems: 1 975956d97fSEmmanuel Vadot 985956d97fSEmmanuel Vadot assigned-clock-parents: 995956d97fSEmmanuel Vadot maxItems: 1 1005956d97fSEmmanuel Vadot 1015956d97fSEmmanuel Vadot required: 1025956d97fSEmmanuel Vadot - clocks 1035956d97fSEmmanuel Vadot - "#clock-cells" 1045956d97fSEmmanuel Vadot - assigned-clocks 1055956d97fSEmmanuel Vadot - assigned-clock-parents 1065956d97fSEmmanuel Vadot 1077ef62cebSEmmanuel Vadot ti,scm: 1087ef62cebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 1097ef62cebSEmmanuel Vadot description: | 1107ef62cebSEmmanuel Vadot phandle to System Control Module for syscon regmap access. 1117ef62cebSEmmanuel Vadot 112c66ec88fSEmmanuel VadotpatternProperties: 113c66ec88fSEmmanuel Vadot "^pll[0|1]-refclk$": 114c66ec88fSEmmanuel Vadot type: object 1157ef62cebSEmmanuel Vadot additionalProperties: false 116c66ec88fSEmmanuel Vadot description: | 117c66ec88fSEmmanuel Vadot WIZ node should have subnodes for each of the PLLs present in 118c66ec88fSEmmanuel Vadot the SERDES. 1197ef62cebSEmmanuel Vadot deprecated: true 120c66ec88fSEmmanuel Vadot properties: 121c66ec88fSEmmanuel Vadot clocks: 122c66ec88fSEmmanuel Vadot maxItems: 2 123c66ec88fSEmmanuel Vadot description: Phandle to clock nodes representing the two inputs to PLL. 124c66ec88fSEmmanuel Vadot 125c66ec88fSEmmanuel Vadot "#clock-cells": 126c66ec88fSEmmanuel Vadot const: 0 127c66ec88fSEmmanuel Vadot 128fac71e4eSEmmanuel Vadot clock-output-names: 129fac71e4eSEmmanuel Vadot maxItems: 1 130fac71e4eSEmmanuel Vadot 131c66ec88fSEmmanuel Vadot assigned-clocks: 132c66ec88fSEmmanuel Vadot maxItems: 1 133c66ec88fSEmmanuel Vadot 134c66ec88fSEmmanuel Vadot assigned-clock-parents: 135c66ec88fSEmmanuel Vadot maxItems: 1 136c66ec88fSEmmanuel Vadot 137c66ec88fSEmmanuel Vadot required: 138c66ec88fSEmmanuel Vadot - clocks 139c66ec88fSEmmanuel Vadot - "#clock-cells" 140c66ec88fSEmmanuel Vadot - assigned-clocks 141c66ec88fSEmmanuel Vadot - assigned-clock-parents 142c66ec88fSEmmanuel Vadot 143c66ec88fSEmmanuel Vadot "^cmn-refclk1?-dig-div$": 144c66ec88fSEmmanuel Vadot type: object 1457ef62cebSEmmanuel Vadot additionalProperties: false 146c66ec88fSEmmanuel Vadot description: 147c66ec88fSEmmanuel Vadot WIZ node should have subnodes for each of the PMA common refclock 148c66ec88fSEmmanuel Vadot provided by the SERDES. 1497ef62cebSEmmanuel Vadot deprecated: true 150c66ec88fSEmmanuel Vadot properties: 151c66ec88fSEmmanuel Vadot clocks: 152c66ec88fSEmmanuel Vadot maxItems: 1 153c66ec88fSEmmanuel Vadot description: Phandle to the clock node representing the input to the 154c66ec88fSEmmanuel Vadot divider clock. 155c66ec88fSEmmanuel Vadot 156c66ec88fSEmmanuel Vadot "#clock-cells": 157c66ec88fSEmmanuel Vadot const: 0 158c66ec88fSEmmanuel Vadot 159fac71e4eSEmmanuel Vadot clock-output-names: 160fac71e4eSEmmanuel Vadot maxItems: 1 161fac71e4eSEmmanuel Vadot 162c66ec88fSEmmanuel Vadot required: 163c66ec88fSEmmanuel Vadot - clocks 164c66ec88fSEmmanuel Vadot - "#clock-cells" 165c66ec88fSEmmanuel Vadot 166c66ec88fSEmmanuel Vadot "^serdes@[0-9a-f]+$": 167c66ec88fSEmmanuel Vadot type: object 168c66ec88fSEmmanuel Vadot description: | 169c66ec88fSEmmanuel Vadot WIZ node should have '1' subnode for the SERDES. It could be either 170c66ec88fSEmmanuel Vadot Sierra SERDES or Torrent SERDES. Sierra SERDES should follow the 171c66ec88fSEmmanuel Vadot bindings specified in 1725def4c47SEmmanuel Vadot Documentation/devicetree/bindings/phy/phy-cadence-sierra.yaml 173c66ec88fSEmmanuel Vadot Torrent SERDES should follow the bindings specified in 174c66ec88fSEmmanuel Vadot Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml 175c66ec88fSEmmanuel Vadot 176c66ec88fSEmmanuel Vadotrequired: 177c66ec88fSEmmanuel Vadot - compatible 178c66ec88fSEmmanuel Vadot - power-domains 179c66ec88fSEmmanuel Vadot - clocks 180c66ec88fSEmmanuel Vadot - clock-names 181c66ec88fSEmmanuel Vadot - num-lanes 182c66ec88fSEmmanuel Vadot - "#address-cells" 183c66ec88fSEmmanuel Vadot - "#size-cells" 184c66ec88fSEmmanuel Vadot - "#reset-cells" 185c66ec88fSEmmanuel Vadot - ranges 186c66ec88fSEmmanuel Vadot 1877ef62cebSEmmanuel VadotallOf: 1887ef62cebSEmmanuel Vadot - if: 1897ef62cebSEmmanuel Vadot properties: 1907ef62cebSEmmanuel Vadot compatible: 1917ef62cebSEmmanuel Vadot contains: 1927ef62cebSEmmanuel Vadot const: ti,j7200-wiz-10g 1937ef62cebSEmmanuel Vadot then: 1947ef62cebSEmmanuel Vadot required: 1957ef62cebSEmmanuel Vadot - ti,scm 1967ef62cebSEmmanuel Vadot 197c66ec88fSEmmanuel VadotadditionalProperties: false 198c66ec88fSEmmanuel Vadot 199c66ec88fSEmmanuel Vadotexamples: 200c66ec88fSEmmanuel Vadot - | 201c66ec88fSEmmanuel Vadot #include <dt-bindings/soc/ti,sci_pm_domain.h> 202c66ec88fSEmmanuel Vadot 203c66ec88fSEmmanuel Vadot wiz@5000000 { 204c66ec88fSEmmanuel Vadot compatible = "ti,j721e-wiz-16g"; 205c66ec88fSEmmanuel Vadot #address-cells = <1>; 206c66ec88fSEmmanuel Vadot #size-cells = <1>; 207c66ec88fSEmmanuel Vadot power-domains = <&k3_pds 292 TI_SCI_PD_EXCLUSIVE>; 208c66ec88fSEmmanuel Vadot clocks = <&k3_clks 292 5>, <&k3_clks 292 11>, <&dummy_cmn_refclk>; 209c66ec88fSEmmanuel Vadot clock-names = "fck", "core_ref_clk", "ext_ref_clk"; 210c66ec88fSEmmanuel Vadot assigned-clocks = <&k3_clks 292 11>, <&k3_clks 292 0>; 211c66ec88fSEmmanuel Vadot assigned-clock-parents = <&k3_clks 292 15>, <&k3_clks 292 4>; 212c66ec88fSEmmanuel Vadot num-lanes = <2>; 213c66ec88fSEmmanuel Vadot #reset-cells = <1>; 214c66ec88fSEmmanuel Vadot ranges = <0x5000000 0x5000000 0x10000>; 215c66ec88fSEmmanuel Vadot 216c66ec88fSEmmanuel Vadot pll0-refclk { 217c66ec88fSEmmanuel Vadot clocks = <&k3_clks 293 13>, <&dummy_cmn_refclk>; 218c66ec88fSEmmanuel Vadot #clock-cells = <0>; 219c66ec88fSEmmanuel Vadot assigned-clocks = <&wiz1_pll0_refclk>; 220c66ec88fSEmmanuel Vadot assigned-clock-parents = <&k3_clks 293 13>; 221c66ec88fSEmmanuel Vadot }; 222c66ec88fSEmmanuel Vadot 223c66ec88fSEmmanuel Vadot pll1-refclk { 224c66ec88fSEmmanuel Vadot clocks = <&k3_clks 293 0>, <&dummy_cmn_refclk1>; 225c66ec88fSEmmanuel Vadot #clock-cells = <0>; 226c66ec88fSEmmanuel Vadot assigned-clocks = <&wiz1_pll1_refclk>; 227c66ec88fSEmmanuel Vadot assigned-clock-parents = <&k3_clks 293 0>; 228c66ec88fSEmmanuel Vadot }; 229c66ec88fSEmmanuel Vadot 230c66ec88fSEmmanuel Vadot cmn-refclk-dig-div { 231c66ec88fSEmmanuel Vadot clocks = <&wiz1_refclk_dig>; 232c66ec88fSEmmanuel Vadot #clock-cells = <0>; 233c66ec88fSEmmanuel Vadot }; 234c66ec88fSEmmanuel Vadot 235c66ec88fSEmmanuel Vadot cmn-refclk1-dig-div { 236c66ec88fSEmmanuel Vadot clocks = <&wiz1_pll1_refclk>; 237c66ec88fSEmmanuel Vadot #clock-cells = <0>; 238c66ec88fSEmmanuel Vadot }; 239c66ec88fSEmmanuel Vadot 240c66ec88fSEmmanuel Vadot refclk-dig { 241c66ec88fSEmmanuel Vadot clocks = <&k3_clks 292 11>, <&k3_clks 292 0>, 242c66ec88fSEmmanuel Vadot <&dummy_cmn_refclk>, <&dummy_cmn_refclk1>; 243c66ec88fSEmmanuel Vadot #clock-cells = <0>; 244c66ec88fSEmmanuel Vadot assigned-clocks = <&wiz0_refclk_dig>; 245c66ec88fSEmmanuel Vadot assigned-clock-parents = <&k3_clks 292 11>; 246c66ec88fSEmmanuel Vadot }; 247c66ec88fSEmmanuel Vadot 248c66ec88fSEmmanuel Vadot serdes@5000000 { 2492eb4d8dcSEmmanuel Vadot compatible = "ti,sierra-phy-t0"; 250c66ec88fSEmmanuel Vadot reg-names = "serdes"; 251c66ec88fSEmmanuel Vadot reg = <0x5000000 0x10000>; 252c66ec88fSEmmanuel Vadot #address-cells = <1>; 253c66ec88fSEmmanuel Vadot #size-cells = <0>; 254c66ec88fSEmmanuel Vadot resets = <&serdes_wiz0 0>; 255c66ec88fSEmmanuel Vadot reset-names = "sierra_reset"; 256c66ec88fSEmmanuel Vadot clocks = <&wiz0_cmn_refclk_dig_div>, <&wiz0_cmn_refclk1_dig_div>; 257c66ec88fSEmmanuel Vadot clock-names = "cmn_refclk_dig_div", "cmn_refclk1_dig_div"; 258c66ec88fSEmmanuel Vadot }; 259c66ec88fSEmmanuel Vadot }; 260