1f544df78SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2f544df78SEmmanuel Vadot%YAML 1.2 3f544df78SEmmanuel Vadot--- 4c47d0ea1SEmmanuel Vadot$id: http://devicetree.org/schemas/phy/phy-cadence-sierra.yaml# 5c47d0ea1SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6f544df78SEmmanuel Vadot 7c227958aSEmmanuel Vadottitle: Cadence Sierra PHY 8f544df78SEmmanuel Vadot 9f544df78SEmmanuel Vadotdescription: 10f544df78SEmmanuel Vadot This binding describes the Cadence Sierra PHY. Sierra PHY supports multilink 11f544df78SEmmanuel Vadot multiprotocol combinations including protocols such as PCIe, USB etc. 12f544df78SEmmanuel Vadot 13f544df78SEmmanuel Vadotmaintainers: 14f544df78SEmmanuel Vadot - Swapnil Jakhade <sjakhade@cadence.com> 15f544df78SEmmanuel Vadot - Yuti Amonkar <yamonkar@cadence.com> 16f544df78SEmmanuel Vadot 17f544df78SEmmanuel Vadotproperties: 18f544df78SEmmanuel Vadot compatible: 19f544df78SEmmanuel Vadot enum: 20f544df78SEmmanuel Vadot - cdns,sierra-phy-t0 21f544df78SEmmanuel Vadot - ti,sierra-phy-t0 22f544df78SEmmanuel Vadot 23f544df78SEmmanuel Vadot '#address-cells': 24f544df78SEmmanuel Vadot const: 1 25f544df78SEmmanuel Vadot 26f544df78SEmmanuel Vadot '#size-cells': 27f544df78SEmmanuel Vadot const: 0 28f544df78SEmmanuel Vadot 2971ca10f8SEmmanuel Vadot '#clock-cells': 3071ca10f8SEmmanuel Vadot const: 1 3171ca10f8SEmmanuel Vadot 32f544df78SEmmanuel Vadot resets: 33f544df78SEmmanuel Vadot minItems: 1 34f544df78SEmmanuel Vadot items: 35f544df78SEmmanuel Vadot - description: Sierra PHY reset. 36f544df78SEmmanuel Vadot - description: Sierra APB reset. This is optional. 37f544df78SEmmanuel Vadot 38f544df78SEmmanuel Vadot reset-names: 39f544df78SEmmanuel Vadot minItems: 1 40f544df78SEmmanuel Vadot items: 41f544df78SEmmanuel Vadot - const: sierra_reset 42f544df78SEmmanuel Vadot - const: sierra_apb 43f544df78SEmmanuel Vadot 44f544df78SEmmanuel Vadot reg: 45f544df78SEmmanuel Vadot maxItems: 1 46f544df78SEmmanuel Vadot description: 47f544df78SEmmanuel Vadot Offset of the Sierra PHY configuration registers. 48f544df78SEmmanuel Vadot 49f544df78SEmmanuel Vadot reg-names: 50f544df78SEmmanuel Vadot const: serdes 51f544df78SEmmanuel Vadot 52f544df78SEmmanuel Vadot clocks: 5371ca10f8SEmmanuel Vadot minItems: 2 5471ca10f8SEmmanuel Vadot maxItems: 4 55f544df78SEmmanuel Vadot 56f544df78SEmmanuel Vadot clock-names: 5771ca10f8SEmmanuel Vadot minItems: 2 58f544df78SEmmanuel Vadot items: 59f544df78SEmmanuel Vadot - const: cmn_refclk_dig_div 60f544df78SEmmanuel Vadot - const: cmn_refclk1_dig_div 6171ca10f8SEmmanuel Vadot - const: pll0_refclk 6271ca10f8SEmmanuel Vadot - const: pll1_refclk 6371ca10f8SEmmanuel Vadot 64f544df78SEmmanuel Vadot cdns,autoconf: 65f544df78SEmmanuel Vadot type: boolean 66f544df78SEmmanuel Vadot description: 67f544df78SEmmanuel Vadot A boolean property whose presence indicates that the PHY registers will be 68f544df78SEmmanuel Vadot configured by hardware. If not present, all sub-node optional properties 69f544df78SEmmanuel Vadot must be provided. 70f544df78SEmmanuel Vadot 71f544df78SEmmanuel VadotpatternProperties: 72f544df78SEmmanuel Vadot '^phy@[0-9a-f]$': 73f544df78SEmmanuel Vadot type: object 74f544df78SEmmanuel Vadot description: 75f544df78SEmmanuel Vadot Each group of PHY lanes with a single master lane should be represented as 76f544df78SEmmanuel Vadot a sub-node. Note that the actual configuration of each lane is determined 77f544df78SEmmanuel Vadot by hardware strapping, and must match the configuration specified here. 78f544df78SEmmanuel Vadot properties: 79f544df78SEmmanuel Vadot reg: 80f544df78SEmmanuel Vadot description: 81f544df78SEmmanuel Vadot The master lane number. This is the lowest numbered lane in the lane group. 82f544df78SEmmanuel Vadot minimum: 0 83f544df78SEmmanuel Vadot maximum: 15 84f544df78SEmmanuel Vadot 85f544df78SEmmanuel Vadot resets: 86f544df78SEmmanuel Vadot minItems: 1 87f544df78SEmmanuel Vadot maxItems: 4 88f544df78SEmmanuel Vadot description: 89f544df78SEmmanuel Vadot Contains list of resets, one per lane, to get all the link lanes out of reset. 90f544df78SEmmanuel Vadot 91f544df78SEmmanuel Vadot "#phy-cells": 92f544df78SEmmanuel Vadot const: 0 93f544df78SEmmanuel Vadot 94f544df78SEmmanuel Vadot cdns,phy-type: 95f544df78SEmmanuel Vadot description: 96f544df78SEmmanuel Vadot Specifies the type of PHY for which the group of PHY lanes is used. 97f544df78SEmmanuel Vadot Refer include/dt-bindings/phy/phy.h. Constants from the header should be used. 98f544df78SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 992aa9fc59SEmmanuel Vadot enum: [2, 4, 8, 9] 100f544df78SEmmanuel Vadot 101f544df78SEmmanuel Vadot cdns,num-lanes: 102f544df78SEmmanuel Vadot description: 103f544df78SEmmanuel Vadot Number of lanes in this group. The group is made up of consecutive lanes. 104f544df78SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 105f544df78SEmmanuel Vadot minimum: 1 106f544df78SEmmanuel Vadot maximum: 16 107f544df78SEmmanuel Vadot 108b7d8b563SEmmanuel Vadot cdns,ssc-mode: 109b7d8b563SEmmanuel Vadot description: 110b7d8b563SEmmanuel Vadot Specifies the Spread Spectrum Clocking mode used. It can be NO_SSC, 111b7d8b563SEmmanuel Vadot EXTERNAL_SSC or INTERNAL_SSC. 112b7d8b563SEmmanuel Vadot Refer include/dt-bindings/phy/phy-cadence.h for the constants to be used. 113b7d8b563SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 114b7d8b563SEmmanuel Vadot enum: [0, 1, 2] 115b7d8b563SEmmanuel Vadot default: 1 116b7d8b563SEmmanuel Vadot 117f544df78SEmmanuel Vadot required: 118f544df78SEmmanuel Vadot - reg 119f544df78SEmmanuel Vadot - resets 120f544df78SEmmanuel Vadot - "#phy-cells" 121f544df78SEmmanuel Vadot 122f544df78SEmmanuel Vadot additionalProperties: false 123f544df78SEmmanuel Vadot 124f544df78SEmmanuel Vadotrequired: 125f544df78SEmmanuel Vadot - compatible 126f544df78SEmmanuel Vadot - "#address-cells" 127f544df78SEmmanuel Vadot - "#size-cells" 128f544df78SEmmanuel Vadot - reg 129f544df78SEmmanuel Vadot - resets 130f544df78SEmmanuel Vadot - reset-names 131f544df78SEmmanuel Vadot 132f544df78SEmmanuel VadotadditionalProperties: false 133f544df78SEmmanuel Vadot 134f544df78SEmmanuel Vadotexamples: 135f544df78SEmmanuel Vadot - | 136f544df78SEmmanuel Vadot #include <dt-bindings/phy/phy.h> 137f544df78SEmmanuel Vadot 138f544df78SEmmanuel Vadot bus { 139f544df78SEmmanuel Vadot #address-cells = <2>; 140f544df78SEmmanuel Vadot #size-cells = <2>; 141f544df78SEmmanuel Vadot 142f544df78SEmmanuel Vadot sierra-phy@fd240000 { 143f544df78SEmmanuel Vadot compatible = "cdns,sierra-phy-t0"; 144f544df78SEmmanuel Vadot reg = <0x0 0xfd240000 0x0 0x40000>; 145f544df78SEmmanuel Vadot resets = <&phyrst 0>, <&phyrst 1>; 146f544df78SEmmanuel Vadot reset-names = "sierra_reset", "sierra_apb"; 147f544df78SEmmanuel Vadot clocks = <&cmn_refclk_dig_div>, <&cmn_refclk1_dig_div>; 148f544df78SEmmanuel Vadot clock-names = "cmn_refclk_dig_div", "cmn_refclk1_dig_div"; 149f544df78SEmmanuel Vadot #address-cells = <1>; 150f544df78SEmmanuel Vadot #size-cells = <0>; 151f544df78SEmmanuel Vadot pcie0_phy0: phy@0 { 152f544df78SEmmanuel Vadot reg = <0>; 153f544df78SEmmanuel Vadot resets = <&phyrst 2>; 154f544df78SEmmanuel Vadot cdns,num-lanes = <2>; 155f544df78SEmmanuel Vadot #phy-cells = <0>; 156f544df78SEmmanuel Vadot cdns,phy-type = <PHY_TYPE_PCIE>; 157f544df78SEmmanuel Vadot }; 158f544df78SEmmanuel Vadot pcie0_phy1: phy@2 { 159f544df78SEmmanuel Vadot reg = <2>; 160f544df78SEmmanuel Vadot resets = <&phyrst 4>; 161f544df78SEmmanuel Vadot cdns,num-lanes = <1>; 162f544df78SEmmanuel Vadot #phy-cells = <0>; 163f544df78SEmmanuel Vadot cdns,phy-type = <PHY_TYPE_PCIE>; 164f544df78SEmmanuel Vadot }; 165f544df78SEmmanuel Vadot }; 166f544df78SEmmanuel Vadot }; 167