18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/phy/xlnx,zynqmp-psgtr.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Xilinx ZynqMP Gigabit Transceiver PHY Device Tree Bindings
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cidescription: |
138c2ecf20Sopenharmony_ci  This binding describes the Xilinx ZynqMP Gigabit Transceiver (GTR) PHY. The
148c2ecf20Sopenharmony_ci  GTR provides four lanes and is used by USB, SATA, PCIE, Display port and
158c2ecf20Sopenharmony_ci  Ethernet SGMII controllers.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciproperties:
188c2ecf20Sopenharmony_ci  "#phy-cells":
198c2ecf20Sopenharmony_ci    const: 4
208c2ecf20Sopenharmony_ci    description: |
218c2ecf20Sopenharmony_ci      The cells contain the following arguments.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci      - description: The GTR lane
248c2ecf20Sopenharmony_ci        minimum: 0
258c2ecf20Sopenharmony_ci        maximum: 3
268c2ecf20Sopenharmony_ci      - description: The PHY type
278c2ecf20Sopenharmony_ci        enum:
288c2ecf20Sopenharmony_ci          - PHY_TYPE_DP
298c2ecf20Sopenharmony_ci          - PHY_TYPE_PCIE
308c2ecf20Sopenharmony_ci          - PHY_TYPE_SATA
318c2ecf20Sopenharmony_ci          - PHY_TYPE_SGMII
328c2ecf20Sopenharmony_ci          - PHY_TYPE_USB
338c2ecf20Sopenharmony_ci      - description: The PHY instance
348c2ecf20Sopenharmony_ci        minimum: 0
358c2ecf20Sopenharmony_ci        maximum: 1 # for DP, SATA or USB
368c2ecf20Sopenharmony_ci        maximum: 3 # for PCIE or SGMII
378c2ecf20Sopenharmony_ci      - description: The reference clock number
388c2ecf20Sopenharmony_ci        minimum: 0
398c2ecf20Sopenharmony_ci        maximum: 3
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci  compatible:
428c2ecf20Sopenharmony_ci    enum:
438c2ecf20Sopenharmony_ci      - xlnx,zynqmp-psgtr-v1.1
448c2ecf20Sopenharmony_ci      - xlnx,zynqmp-psgtr
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci  clocks:
478c2ecf20Sopenharmony_ci    minItems: 1
488c2ecf20Sopenharmony_ci    maxItems: 4
498c2ecf20Sopenharmony_ci    description: |
508c2ecf20Sopenharmony_ci      Clock for each PS_MGTREFCLK[0-3] reference clock input. Unconnected
518c2ecf20Sopenharmony_ci      inputs shall not have an entry.
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci  clock-names:
548c2ecf20Sopenharmony_ci    minItems: 1
558c2ecf20Sopenharmony_ci    maxItems: 4
568c2ecf20Sopenharmony_ci    items:
578c2ecf20Sopenharmony_ci      pattern: "^ref[0-3]$"
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci  reg:
608c2ecf20Sopenharmony_ci    items:
618c2ecf20Sopenharmony_ci      - description: SERDES registers block
628c2ecf20Sopenharmony_ci      - description: SIOU registers block
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci  reg-names:
658c2ecf20Sopenharmony_ci    items:
668c2ecf20Sopenharmony_ci      - const: serdes
678c2ecf20Sopenharmony_ci      - const: siou
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci  xlnx,tx-termination-fix:
708c2ecf20Sopenharmony_ci    description: |
718c2ecf20Sopenharmony_ci      Include this for fixing functional issue with the TX termination
728c2ecf20Sopenharmony_ci      resistance in GT, which can be out of spec for the XCZU9EG silicon
738c2ecf20Sopenharmony_ci      version.
748c2ecf20Sopenharmony_ci    type: boolean
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_cirequired:
778c2ecf20Sopenharmony_ci  - "#phy-cells"
788c2ecf20Sopenharmony_ci  - compatible
798c2ecf20Sopenharmony_ci  - reg
808c2ecf20Sopenharmony_ci  - reg-names
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciif:
838c2ecf20Sopenharmony_ci  properties:
848c2ecf20Sopenharmony_ci    compatible:
858c2ecf20Sopenharmony_ci      const: xlnx,zynqmp-psgtr-v1.1
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_cithen:
888c2ecf20Sopenharmony_ci  properties:
898c2ecf20Sopenharmony_ci    xlnx,tx-termination-fix: false
908c2ecf20Sopenharmony_ci
918c2ecf20Sopenharmony_ciadditionalProperties: false
928c2ecf20Sopenharmony_ci
938c2ecf20Sopenharmony_ciexamples:
948c2ecf20Sopenharmony_ci  - |
958c2ecf20Sopenharmony_ci    phy: phy@fd400000 {
968c2ecf20Sopenharmony_ci        compatible = "xlnx,zynqmp-psgtr-v1.1";
978c2ecf20Sopenharmony_ci        reg = <0xfd400000 0x40000>,
988c2ecf20Sopenharmony_ci              <0xfd3d0000 0x1000>;
998c2ecf20Sopenharmony_ci        reg-names = "serdes", "siou";
1008c2ecf20Sopenharmony_ci        clocks = <&refclks 3>, <&refclks 2>, <&refclks 0>;
1018c2ecf20Sopenharmony_ci        clock-names = "ref1", "ref2", "ref3";
1028c2ecf20Sopenharmony_ci        #phy-cells = <4>;
1038c2ecf20Sopenharmony_ci    };
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ci...
106