1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/phy/xlnx,zynqmp-psgtr.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Xilinx ZynqMP Gigabit Transceiver PHY 8 9maintainers: 10 - Laurent Pinchart <laurent.pinchart@ideasonboard.com> 11 12description: | 13 This binding describes the Xilinx ZynqMP Gigabit Transceiver (GTR) PHY. The 14 GTR provides four lanes and is used by USB, SATA, PCIE, Display port and 15 Ethernet SGMII controllers. 16 17properties: 18 "#phy-cells": 19 const: 4 20 description: | 21 The cells contain the following arguments. 22 23 - description: The GTR lane 24 minimum: 0 25 maximum: 3 26 - description: The PHY type 27 enum: 28 - PHY_TYPE_DP 29 - PHY_TYPE_PCIE 30 - PHY_TYPE_SATA 31 - PHY_TYPE_SGMII 32 - PHY_TYPE_USB3 33 - description: The PHY instance 34 minimum: 0 35 maximum: 1 # for DP, SATA or USB 36 maximum: 3 # for PCIE or SGMII 37 - description: The reference clock number 38 minimum: 0 39 maximum: 3 40 41 compatible: 42 enum: 43 - xlnx,zynqmp-psgtr-v1.1 44 - xlnx,zynqmp-psgtr 45 46 clocks: 47 minItems: 1 48 maxItems: 4 49 description: | 50 Clock for each PS_MGTREFCLK[0-3] reference clock input. Unconnected 51 inputs shall not have an entry. 52 53 clock-names: 54 minItems: 1 55 maxItems: 4 56 items: 57 pattern: "^ref[0-3]$" 58 59 reg: 60 items: 61 - description: SERDES registers block 62 - description: SIOU registers block 63 64 reg-names: 65 items: 66 - const: serdes 67 - const: siou 68 69 xlnx,tx-termination-fix: 70 description: | 71 Include this for fixing functional issue with the TX termination 72 resistance in GT, which can be out of spec for the XCZU9EG silicon 73 version. 74 type: boolean 75 76required: 77 - "#phy-cells" 78 - compatible 79 - reg 80 - reg-names 81 82if: 83 properties: 84 compatible: 85 const: xlnx,zynqmp-psgtr-v1.1 86 87then: 88 properties: 89 xlnx,tx-termination-fix: false 90 91additionalProperties: false 92 93examples: 94 - | 95 phy: phy@fd400000 { 96 compatible = "xlnx,zynqmp-psgtr-v1.1"; 97 reg = <0xfd400000 0x40000>, 98 <0xfd3d0000 0x1000>; 99 reg-names = "serdes", "siou"; 100 clocks = <&refclks 3>, <&refclks 2>, <&refclks 0>; 101 clock-names = "ref1", "ref2", "ref3"; 102 #phy-cells = <4>; 103 }; 104 105... 106