15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 25def4c47SEmmanuel Vadot%YAML 1.2 35def4c47SEmmanuel Vadot--- 4*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/phy/phy-cadence-sierra.yaml# 5*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65def4c47SEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: Cadence Sierra PHY 85def4c47SEmmanuel Vadot 95def4c47SEmmanuel Vadotdescription: 105def4c47SEmmanuel Vadot This binding describes the Cadence Sierra PHY. Sierra PHY supports multilink 115def4c47SEmmanuel Vadot multiprotocol combinations including protocols such as PCIe, USB etc. 125def4c47SEmmanuel Vadot 135def4c47SEmmanuel Vadotmaintainers: 145def4c47SEmmanuel Vadot - Swapnil Jakhade <sjakhade@cadence.com> 155def4c47SEmmanuel Vadot - Yuti Amonkar <yamonkar@cadence.com> 165def4c47SEmmanuel Vadot 175def4c47SEmmanuel Vadotproperties: 185def4c47SEmmanuel Vadot compatible: 195def4c47SEmmanuel Vadot enum: 205def4c47SEmmanuel Vadot - cdns,sierra-phy-t0 215def4c47SEmmanuel Vadot - ti,sierra-phy-t0 225def4c47SEmmanuel Vadot 235def4c47SEmmanuel Vadot '#address-cells': 245def4c47SEmmanuel Vadot const: 1 255def4c47SEmmanuel Vadot 265def4c47SEmmanuel Vadot '#size-cells': 275def4c47SEmmanuel Vadot const: 0 285def4c47SEmmanuel Vadot 292eb4d8dcSEmmanuel Vadot '#clock-cells': 302eb4d8dcSEmmanuel Vadot const: 1 312eb4d8dcSEmmanuel Vadot 325def4c47SEmmanuel Vadot resets: 335def4c47SEmmanuel Vadot minItems: 1 345def4c47SEmmanuel Vadot items: 355def4c47SEmmanuel Vadot - description: Sierra PHY reset. 365def4c47SEmmanuel Vadot - description: Sierra APB reset. This is optional. 375def4c47SEmmanuel Vadot 385def4c47SEmmanuel Vadot reset-names: 395def4c47SEmmanuel Vadot minItems: 1 405def4c47SEmmanuel Vadot items: 415def4c47SEmmanuel Vadot - const: sierra_reset 425def4c47SEmmanuel Vadot - const: sierra_apb 435def4c47SEmmanuel Vadot 445def4c47SEmmanuel Vadot reg: 455def4c47SEmmanuel Vadot maxItems: 1 465def4c47SEmmanuel Vadot description: 475def4c47SEmmanuel Vadot Offset of the Sierra PHY configuration registers. 485def4c47SEmmanuel Vadot 495def4c47SEmmanuel Vadot reg-names: 505def4c47SEmmanuel Vadot const: serdes 515def4c47SEmmanuel Vadot 525def4c47SEmmanuel Vadot clocks: 532eb4d8dcSEmmanuel Vadot minItems: 2 542eb4d8dcSEmmanuel Vadot maxItems: 4 555def4c47SEmmanuel Vadot 565def4c47SEmmanuel Vadot clock-names: 572eb4d8dcSEmmanuel Vadot minItems: 2 585def4c47SEmmanuel Vadot items: 595def4c47SEmmanuel Vadot - const: cmn_refclk_dig_div 605def4c47SEmmanuel Vadot - const: cmn_refclk1_dig_div 612eb4d8dcSEmmanuel Vadot - const: pll0_refclk 622eb4d8dcSEmmanuel Vadot - const: pll1_refclk 632eb4d8dcSEmmanuel Vadot 645def4c47SEmmanuel Vadot cdns,autoconf: 655def4c47SEmmanuel Vadot type: boolean 665def4c47SEmmanuel Vadot description: 675def4c47SEmmanuel Vadot A boolean property whose presence indicates that the PHY registers will be 685def4c47SEmmanuel Vadot configured by hardware. If not present, all sub-node optional properties 695def4c47SEmmanuel Vadot must be provided. 705def4c47SEmmanuel Vadot 715def4c47SEmmanuel VadotpatternProperties: 725def4c47SEmmanuel Vadot '^phy@[0-9a-f]$': 735def4c47SEmmanuel Vadot type: object 745def4c47SEmmanuel Vadot description: 755def4c47SEmmanuel Vadot Each group of PHY lanes with a single master lane should be represented as 765def4c47SEmmanuel Vadot a sub-node. Note that the actual configuration of each lane is determined 775def4c47SEmmanuel Vadot by hardware strapping, and must match the configuration specified here. 785def4c47SEmmanuel Vadot properties: 795def4c47SEmmanuel Vadot reg: 805def4c47SEmmanuel Vadot description: 815def4c47SEmmanuel Vadot The master lane number. This is the lowest numbered lane in the lane group. 825def4c47SEmmanuel Vadot minimum: 0 835def4c47SEmmanuel Vadot maximum: 15 845def4c47SEmmanuel Vadot 855def4c47SEmmanuel Vadot resets: 865def4c47SEmmanuel Vadot minItems: 1 875def4c47SEmmanuel Vadot maxItems: 4 885def4c47SEmmanuel Vadot description: 895def4c47SEmmanuel Vadot Contains list of resets, one per lane, to get all the link lanes out of reset. 905def4c47SEmmanuel Vadot 915def4c47SEmmanuel Vadot "#phy-cells": 925def4c47SEmmanuel Vadot const: 0 935def4c47SEmmanuel Vadot 945def4c47SEmmanuel Vadot cdns,phy-type: 955def4c47SEmmanuel Vadot description: 965def4c47SEmmanuel Vadot Specifies the type of PHY for which the group of PHY lanes is used. 975def4c47SEmmanuel Vadot Refer include/dt-bindings/phy/phy.h. Constants from the header should be used. 985def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 995def4c47SEmmanuel Vadot enum: [2, 4] 1005def4c47SEmmanuel Vadot 1015def4c47SEmmanuel Vadot cdns,num-lanes: 1025def4c47SEmmanuel Vadot description: 1035def4c47SEmmanuel Vadot Number of lanes in this group. The group is made up of consecutive lanes. 1045def4c47SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 1055def4c47SEmmanuel Vadot minimum: 1 1065def4c47SEmmanuel Vadot maximum: 16 1075def4c47SEmmanuel Vadot 108e67e8565SEmmanuel Vadot cdns,ssc-mode: 109e67e8565SEmmanuel Vadot description: 110e67e8565SEmmanuel Vadot Specifies the Spread Spectrum Clocking mode used. It can be NO_SSC, 111e67e8565SEmmanuel Vadot EXTERNAL_SSC or INTERNAL_SSC. 112e67e8565SEmmanuel Vadot Refer include/dt-bindings/phy/phy-cadence.h for the constants to be used. 113e67e8565SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 114e67e8565SEmmanuel Vadot enum: [0, 1, 2] 115e67e8565SEmmanuel Vadot default: 1 116e67e8565SEmmanuel Vadot 1175def4c47SEmmanuel Vadot required: 1185def4c47SEmmanuel Vadot - reg 1195def4c47SEmmanuel Vadot - resets 1205def4c47SEmmanuel Vadot - "#phy-cells" 1215def4c47SEmmanuel Vadot 1225def4c47SEmmanuel Vadot additionalProperties: false 1235def4c47SEmmanuel Vadot 1245def4c47SEmmanuel Vadotrequired: 1255def4c47SEmmanuel Vadot - compatible 1265def4c47SEmmanuel Vadot - "#address-cells" 1275def4c47SEmmanuel Vadot - "#size-cells" 1285def4c47SEmmanuel Vadot - reg 1295def4c47SEmmanuel Vadot - resets 1305def4c47SEmmanuel Vadot - reset-names 1315def4c47SEmmanuel Vadot 1325def4c47SEmmanuel VadotadditionalProperties: false 1335def4c47SEmmanuel Vadot 1345def4c47SEmmanuel Vadotexamples: 1355def4c47SEmmanuel Vadot - | 1365def4c47SEmmanuel Vadot #include <dt-bindings/phy/phy.h> 1375def4c47SEmmanuel Vadot 1385def4c47SEmmanuel Vadot bus { 1395def4c47SEmmanuel Vadot #address-cells = <2>; 1405def4c47SEmmanuel Vadot #size-cells = <2>; 1415def4c47SEmmanuel Vadot 1425def4c47SEmmanuel Vadot sierra-phy@fd240000 { 1435def4c47SEmmanuel Vadot compatible = "cdns,sierra-phy-t0"; 1445def4c47SEmmanuel Vadot reg = <0x0 0xfd240000 0x0 0x40000>; 1455def4c47SEmmanuel Vadot resets = <&phyrst 0>, <&phyrst 1>; 1465def4c47SEmmanuel Vadot reset-names = "sierra_reset", "sierra_apb"; 1475def4c47SEmmanuel Vadot clocks = <&cmn_refclk_dig_div>, <&cmn_refclk1_dig_div>; 1485def4c47SEmmanuel Vadot clock-names = "cmn_refclk_dig_div", "cmn_refclk1_dig_div"; 1495def4c47SEmmanuel Vadot #address-cells = <1>; 1505def4c47SEmmanuel Vadot #size-cells = <0>; 1515def4c47SEmmanuel Vadot pcie0_phy0: phy@0 { 1525def4c47SEmmanuel Vadot reg = <0>; 1535def4c47SEmmanuel Vadot resets = <&phyrst 2>; 1545def4c47SEmmanuel Vadot cdns,num-lanes = <2>; 1555def4c47SEmmanuel Vadot #phy-cells = <0>; 1565def4c47SEmmanuel Vadot cdns,phy-type = <PHY_TYPE_PCIE>; 1575def4c47SEmmanuel Vadot }; 1585def4c47SEmmanuel Vadot pcie0_phy1: phy@2 { 1595def4c47SEmmanuel Vadot reg = <2>; 1605def4c47SEmmanuel Vadot resets = <&phyrst 4>; 1615def4c47SEmmanuel Vadot cdns,num-lanes = <1>; 1625def4c47SEmmanuel Vadot #phy-cells = <0>; 1635def4c47SEmmanuel Vadot cdns,phy-type = <PHY_TYPE_PCIE>; 1645def4c47SEmmanuel Vadot }; 1655def4c47SEmmanuel Vadot }; 1665def4c47SEmmanuel Vadot }; 167