162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci# Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com/ 362306a36Sopenharmony_ci%YAML 1.2 462306a36Sopenharmony_ci--- 562306a36Sopenharmony_ci$id: http://devicetree.org/schemas/phy/ti,phy-j721e-wiz.yaml# 662306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 762306a36Sopenharmony_ci 862306a36Sopenharmony_cititle: TI J721E WIZ (SERDES Wrapper) 962306a36Sopenharmony_ci 1062306a36Sopenharmony_cimaintainers: 1162306a36Sopenharmony_ci - Kishon Vijay Abraham I <kishon@ti.com> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciproperties: 1462306a36Sopenharmony_ci compatible: 1562306a36Sopenharmony_ci enum: 1662306a36Sopenharmony_ci - ti,j721e-wiz-16g 1762306a36Sopenharmony_ci - ti,j721e-wiz-10g 1862306a36Sopenharmony_ci - ti,j721s2-wiz-10g 1962306a36Sopenharmony_ci - ti,am64-wiz-10g 2062306a36Sopenharmony_ci - ti,j7200-wiz-10g 2162306a36Sopenharmony_ci - ti,j784s4-wiz-10g 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci power-domains: 2462306a36Sopenharmony_ci maxItems: 1 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci clocks: 2762306a36Sopenharmony_ci minItems: 3 2862306a36Sopenharmony_ci maxItems: 4 2962306a36Sopenharmony_ci description: clock-specifier to represent input to the WIZ 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci clock-names: 3262306a36Sopenharmony_ci minItems: 3 3362306a36Sopenharmony_ci items: 3462306a36Sopenharmony_ci - const: fck 3562306a36Sopenharmony_ci - const: core_ref_clk 3662306a36Sopenharmony_ci - const: ext_ref_clk 3762306a36Sopenharmony_ci - const: core_ref1_clk 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci num-lanes: 4062306a36Sopenharmony_ci minimum: 1 4162306a36Sopenharmony_ci maximum: 4 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci "#address-cells": 4462306a36Sopenharmony_ci const: 1 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci "#size-cells": 4762306a36Sopenharmony_ci const: 1 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci "#reset-cells": 5062306a36Sopenharmony_ci const: 1 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci "#clock-cells": 5362306a36Sopenharmony_ci const: 1 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci ranges: true 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci typec-dir-gpios: 5862306a36Sopenharmony_ci maxItems: 1 5962306a36Sopenharmony_ci description: 6062306a36Sopenharmony_ci GPIO to signal Type-C cable orientation for lane swap. 6162306a36Sopenharmony_ci If GPIO is active, lane 0 and lane 1 of SERDES will be swapped to 6262306a36Sopenharmony_ci achieve the functionality of an external type-C plug flip mux. 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci typec-dir-debounce-ms: 6562306a36Sopenharmony_ci minimum: 100 6662306a36Sopenharmony_ci maximum: 1000 6762306a36Sopenharmony_ci default: 100 6862306a36Sopenharmony_ci description: 6962306a36Sopenharmony_ci Number of milliseconds to wait before sampling typec-dir-gpio. 7062306a36Sopenharmony_ci If not specified, the default debounce of 100ms will be used. 7162306a36Sopenharmony_ci Type-C spec states minimum CC pin debounce of 100 ms and maximum 7262306a36Sopenharmony_ci of 200 ms. However, some solutions might need more than 200 ms. 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci refclk-dig: 7562306a36Sopenharmony_ci type: object 7662306a36Sopenharmony_ci additionalProperties: false 7762306a36Sopenharmony_ci description: | 7862306a36Sopenharmony_ci WIZ node should have subnode for refclk_dig to select the reference 7962306a36Sopenharmony_ci clock source for the reference clock used in the PHY and PMA digital 8062306a36Sopenharmony_ci logic. 8162306a36Sopenharmony_ci deprecated: true 8262306a36Sopenharmony_ci properties: 8362306a36Sopenharmony_ci clocks: 8462306a36Sopenharmony_ci minItems: 2 8562306a36Sopenharmony_ci maxItems: 4 8662306a36Sopenharmony_ci description: Phandle to two (Torrent) or four (Sierra) clock nodes representing 8762306a36Sopenharmony_ci the inputs to refclk_dig 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ci "#clock-cells": 9062306a36Sopenharmony_ci const: 0 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci clock-output-names: 9362306a36Sopenharmony_ci maxItems: 1 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci assigned-clocks: 9662306a36Sopenharmony_ci maxItems: 1 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci assigned-clock-parents: 9962306a36Sopenharmony_ci maxItems: 1 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci required: 10262306a36Sopenharmony_ci - clocks 10362306a36Sopenharmony_ci - "#clock-cells" 10462306a36Sopenharmony_ci - assigned-clocks 10562306a36Sopenharmony_ci - assigned-clock-parents 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci ti,scm: 10862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle 10962306a36Sopenharmony_ci description: | 11062306a36Sopenharmony_ci phandle to System Control Module for syscon regmap access. 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_cipatternProperties: 11362306a36Sopenharmony_ci "^pll[0|1]-refclk$": 11462306a36Sopenharmony_ci type: object 11562306a36Sopenharmony_ci additionalProperties: false 11662306a36Sopenharmony_ci description: | 11762306a36Sopenharmony_ci WIZ node should have subnodes for each of the PLLs present in 11862306a36Sopenharmony_ci the SERDES. 11962306a36Sopenharmony_ci deprecated: true 12062306a36Sopenharmony_ci properties: 12162306a36Sopenharmony_ci clocks: 12262306a36Sopenharmony_ci maxItems: 2 12362306a36Sopenharmony_ci description: Phandle to clock nodes representing the two inputs to PLL. 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci "#clock-cells": 12662306a36Sopenharmony_ci const: 0 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci clock-output-names: 12962306a36Sopenharmony_ci maxItems: 1 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci assigned-clocks: 13262306a36Sopenharmony_ci maxItems: 1 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci assigned-clock-parents: 13562306a36Sopenharmony_ci maxItems: 1 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci required: 13862306a36Sopenharmony_ci - clocks 13962306a36Sopenharmony_ci - "#clock-cells" 14062306a36Sopenharmony_ci - assigned-clocks 14162306a36Sopenharmony_ci - assigned-clock-parents 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci "^cmn-refclk1?-dig-div$": 14462306a36Sopenharmony_ci type: object 14562306a36Sopenharmony_ci additionalProperties: false 14662306a36Sopenharmony_ci description: 14762306a36Sopenharmony_ci WIZ node should have subnodes for each of the PMA common refclock 14862306a36Sopenharmony_ci provided by the SERDES. 14962306a36Sopenharmony_ci deprecated: true 15062306a36Sopenharmony_ci properties: 15162306a36Sopenharmony_ci clocks: 15262306a36Sopenharmony_ci maxItems: 1 15362306a36Sopenharmony_ci description: Phandle to the clock node representing the input to the 15462306a36Sopenharmony_ci divider clock. 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci "#clock-cells": 15762306a36Sopenharmony_ci const: 0 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci clock-output-names: 16062306a36Sopenharmony_ci maxItems: 1 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci required: 16362306a36Sopenharmony_ci - clocks 16462306a36Sopenharmony_ci - "#clock-cells" 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci "^serdes@[0-9a-f]+$": 16762306a36Sopenharmony_ci type: object 16862306a36Sopenharmony_ci description: | 16962306a36Sopenharmony_ci WIZ node should have '1' subnode for the SERDES. It could be either 17062306a36Sopenharmony_ci Sierra SERDES or Torrent SERDES. Sierra SERDES should follow the 17162306a36Sopenharmony_ci bindings specified in 17262306a36Sopenharmony_ci Documentation/devicetree/bindings/phy/phy-cadence-sierra.yaml 17362306a36Sopenharmony_ci Torrent SERDES should follow the bindings specified in 17462306a36Sopenharmony_ci Documentation/devicetree/bindings/phy/phy-cadence-torrent.yaml 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_cirequired: 17762306a36Sopenharmony_ci - compatible 17862306a36Sopenharmony_ci - power-domains 17962306a36Sopenharmony_ci - clocks 18062306a36Sopenharmony_ci - clock-names 18162306a36Sopenharmony_ci - num-lanes 18262306a36Sopenharmony_ci - "#address-cells" 18362306a36Sopenharmony_ci - "#size-cells" 18462306a36Sopenharmony_ci - "#reset-cells" 18562306a36Sopenharmony_ci - ranges 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ciallOf: 18862306a36Sopenharmony_ci - if: 18962306a36Sopenharmony_ci properties: 19062306a36Sopenharmony_ci compatible: 19162306a36Sopenharmony_ci contains: 19262306a36Sopenharmony_ci const: ti,j7200-wiz-10g 19362306a36Sopenharmony_ci then: 19462306a36Sopenharmony_ci required: 19562306a36Sopenharmony_ci - ti,scm 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ciadditionalProperties: false 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ciexamples: 20062306a36Sopenharmony_ci - | 20162306a36Sopenharmony_ci #include <dt-bindings/soc/ti,sci_pm_domain.h> 20262306a36Sopenharmony_ci 20362306a36Sopenharmony_ci wiz@5000000 { 20462306a36Sopenharmony_ci compatible = "ti,j721e-wiz-16g"; 20562306a36Sopenharmony_ci #address-cells = <1>; 20662306a36Sopenharmony_ci #size-cells = <1>; 20762306a36Sopenharmony_ci power-domains = <&k3_pds 292 TI_SCI_PD_EXCLUSIVE>; 20862306a36Sopenharmony_ci clocks = <&k3_clks 292 5>, <&k3_clks 292 11>, <&dummy_cmn_refclk>; 20962306a36Sopenharmony_ci clock-names = "fck", "core_ref_clk", "ext_ref_clk"; 21062306a36Sopenharmony_ci assigned-clocks = <&k3_clks 292 11>, <&k3_clks 292 0>; 21162306a36Sopenharmony_ci assigned-clock-parents = <&k3_clks 292 15>, <&k3_clks 292 4>; 21262306a36Sopenharmony_ci num-lanes = <2>; 21362306a36Sopenharmony_ci #reset-cells = <1>; 21462306a36Sopenharmony_ci ranges = <0x5000000 0x5000000 0x10000>; 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci pll0-refclk { 21762306a36Sopenharmony_ci clocks = <&k3_clks 293 13>, <&dummy_cmn_refclk>; 21862306a36Sopenharmony_ci #clock-cells = <0>; 21962306a36Sopenharmony_ci assigned-clocks = <&wiz1_pll0_refclk>; 22062306a36Sopenharmony_ci assigned-clock-parents = <&k3_clks 293 13>; 22162306a36Sopenharmony_ci }; 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_ci pll1-refclk { 22462306a36Sopenharmony_ci clocks = <&k3_clks 293 0>, <&dummy_cmn_refclk1>; 22562306a36Sopenharmony_ci #clock-cells = <0>; 22662306a36Sopenharmony_ci assigned-clocks = <&wiz1_pll1_refclk>; 22762306a36Sopenharmony_ci assigned-clock-parents = <&k3_clks 293 0>; 22862306a36Sopenharmony_ci }; 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ci cmn-refclk-dig-div { 23162306a36Sopenharmony_ci clocks = <&wiz1_refclk_dig>; 23262306a36Sopenharmony_ci #clock-cells = <0>; 23362306a36Sopenharmony_ci }; 23462306a36Sopenharmony_ci 23562306a36Sopenharmony_ci cmn-refclk1-dig-div { 23662306a36Sopenharmony_ci clocks = <&wiz1_pll1_refclk>; 23762306a36Sopenharmony_ci #clock-cells = <0>; 23862306a36Sopenharmony_ci }; 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ci refclk-dig { 24162306a36Sopenharmony_ci clocks = <&k3_clks 292 11>, <&k3_clks 292 0>, 24262306a36Sopenharmony_ci <&dummy_cmn_refclk>, <&dummy_cmn_refclk1>; 24362306a36Sopenharmony_ci #clock-cells = <0>; 24462306a36Sopenharmony_ci assigned-clocks = <&wiz0_refclk_dig>; 24562306a36Sopenharmony_ci assigned-clock-parents = <&k3_clks 292 11>; 24662306a36Sopenharmony_ci }; 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ci serdes@5000000 { 24962306a36Sopenharmony_ci compatible = "ti,sierra-phy-t0"; 25062306a36Sopenharmony_ci reg-names = "serdes"; 25162306a36Sopenharmony_ci reg = <0x5000000 0x10000>; 25262306a36Sopenharmony_ci #address-cells = <1>; 25362306a36Sopenharmony_ci #size-cells = <0>; 25462306a36Sopenharmony_ci resets = <&serdes_wiz0 0>; 25562306a36Sopenharmony_ci reset-names = "sierra_reset"; 25662306a36Sopenharmony_ci clocks = <&wiz0_cmn_refclk_dig_div>, <&wiz0_cmn_refclk1_dig_div>; 25762306a36Sopenharmony_ci clock-names = "cmn_refclk_dig_div", "cmn_refclk1_dig_div"; 25862306a36Sopenharmony_ci }; 25962306a36Sopenharmony_ci }; 260