162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/phy/xlnx,zynqmp-psgtr.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Xilinx ZynqMP Gigabit Transceiver PHY
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  This binding describes the Xilinx ZynqMP Gigabit Transceiver (GTR) PHY. The
1462306a36Sopenharmony_ci  GTR provides four lanes and is used by USB, SATA, PCIE, Display port and
1562306a36Sopenharmony_ci  Ethernet SGMII controllers.
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ciproperties:
1862306a36Sopenharmony_ci  "#phy-cells":
1962306a36Sopenharmony_ci    const: 4
2062306a36Sopenharmony_ci    description: |
2162306a36Sopenharmony_ci      The cells contain the following arguments.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci      - description: The GTR lane
2462306a36Sopenharmony_ci        minimum: 0
2562306a36Sopenharmony_ci        maximum: 3
2662306a36Sopenharmony_ci      - description: The PHY type
2762306a36Sopenharmony_ci        enum:
2862306a36Sopenharmony_ci          - PHY_TYPE_DP
2962306a36Sopenharmony_ci          - PHY_TYPE_PCIE
3062306a36Sopenharmony_ci          - PHY_TYPE_SATA
3162306a36Sopenharmony_ci          - PHY_TYPE_SGMII
3262306a36Sopenharmony_ci          - PHY_TYPE_USB3
3362306a36Sopenharmony_ci      - description: The PHY instance
3462306a36Sopenharmony_ci        minimum: 0
3562306a36Sopenharmony_ci        maximum: 1 # for DP, SATA or USB
3662306a36Sopenharmony_ci        maximum: 3 # for PCIE or SGMII
3762306a36Sopenharmony_ci      - description: The reference clock number
3862306a36Sopenharmony_ci        minimum: 0
3962306a36Sopenharmony_ci        maximum: 3
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci  compatible:
4262306a36Sopenharmony_ci    enum:
4362306a36Sopenharmony_ci      - xlnx,zynqmp-psgtr-v1.1
4462306a36Sopenharmony_ci      - xlnx,zynqmp-psgtr
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci  clocks:
4762306a36Sopenharmony_ci    minItems: 1
4862306a36Sopenharmony_ci    maxItems: 4
4962306a36Sopenharmony_ci    description: |
5062306a36Sopenharmony_ci      Clock for each PS_MGTREFCLK[0-3] reference clock input. Unconnected
5162306a36Sopenharmony_ci      inputs shall not have an entry.
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci  clock-names:
5462306a36Sopenharmony_ci    minItems: 1
5562306a36Sopenharmony_ci    maxItems: 4
5662306a36Sopenharmony_ci    items:
5762306a36Sopenharmony_ci      pattern: "^ref[0-3]$"
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci  reg:
6062306a36Sopenharmony_ci    items:
6162306a36Sopenharmony_ci      - description: SERDES registers block
6262306a36Sopenharmony_ci      - description: SIOU registers block
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci  reg-names:
6562306a36Sopenharmony_ci    items:
6662306a36Sopenharmony_ci      - const: serdes
6762306a36Sopenharmony_ci      - const: siou
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci  xlnx,tx-termination-fix:
7062306a36Sopenharmony_ci    description: |
7162306a36Sopenharmony_ci      Include this for fixing functional issue with the TX termination
7262306a36Sopenharmony_ci      resistance in GT, which can be out of spec for the XCZU9EG silicon
7362306a36Sopenharmony_ci      version.
7462306a36Sopenharmony_ci    type: boolean
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_cirequired:
7762306a36Sopenharmony_ci  - "#phy-cells"
7862306a36Sopenharmony_ci  - compatible
7962306a36Sopenharmony_ci  - reg
8062306a36Sopenharmony_ci  - reg-names
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ciif:
8362306a36Sopenharmony_ci  properties:
8462306a36Sopenharmony_ci    compatible:
8562306a36Sopenharmony_ci      const: xlnx,zynqmp-psgtr-v1.1
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_cithen:
8862306a36Sopenharmony_ci  properties:
8962306a36Sopenharmony_ci    xlnx,tx-termination-fix: false
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ciadditionalProperties: false
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ciexamples:
9462306a36Sopenharmony_ci  - |
9562306a36Sopenharmony_ci    phy: phy@fd400000 {
9662306a36Sopenharmony_ci        compatible = "xlnx,zynqmp-psgtr-v1.1";
9762306a36Sopenharmony_ci        reg = <0xfd400000 0x40000>,
9862306a36Sopenharmony_ci              <0xfd3d0000 0x1000>;
9962306a36Sopenharmony_ci        reg-names = "serdes", "siou";
10062306a36Sopenharmony_ci        clocks = <&refclks 3>, <&refclks 2>, <&refclks 0>;
10162306a36Sopenharmony_ci        clock-names = "ref1", "ref2", "ref3";
10262306a36Sopenharmony_ci        #phy-cells = <4>;
10362306a36Sopenharmony_ci    };
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ci...
106