Documentation / devicetree / bindings / phy / apm,xgene-phy.yaml


Based on kernel version 6.17. Page generated on 2025-10-03 10:04 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/phy/apm,xgene-phy.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: APM X-Gene 15Gbps Multi-purpose PHY

maintainers:
  - Khuong Dinh <khuong@os.amperecomputing.com>

description:
  PHY nodes are defined to describe on-chip 15Gbps Multi-purpose PHY. Each
  PHY (pair of lanes) has its own node.

properties:
  compatible:
    items:
      - const: apm,xgene-phy

  reg:
    maxItems: 1
 
  '#phy-cells':
    description:
      Possible values are 0 (SATA), 1 (SGMII), 2 (PCIe), 3 (USB), and 4 (XFI).
    const: 1

  clocks:
    maxItems: 1

  apm,tx-eye-tuning:
    description:
      Manual control to fine tune the capture of the serial bit lines from the
      automatic calibrated position. Two set of 3-tuple setting for each
      supported link speed on the host. Range from 0 to 127 in unit of one bit
      period.
    $ref: /schemas/types.yaml#/definitions/uint32-matrix
    minItems: 2
    maxItems: 2
    items:
      minItems: 3
      maxItems: 3
      items:
        minimum: 0
        maximum: 127
        default: 10

  apm,tx-eye-direction:
    description:
      Eye tuning manual control direction. 0 means sample data earlier than the
      nominal sampling point. 1 means sample data later than the nominal
      sampling point. Two set of 3-tuple setting for each supported link speed
      on the host.
    $ref: /schemas/types.yaml#/definitions/uint32-matrix
    minItems: 2
    maxItems: 2
    items:
      minItems: 3
      maxItems: 3
      items:
        enum: [0, 1]
        default: 0

  apm,tx-boost-gain:
    description:
      Frequency boost AC (LSB 3-bit) and DC (2-bit) gain control. Two set of
      3-tuple setting for each supported link speed on the host. Range is
      between 0 to 31 in unit of dB. Default is 3.
    $ref: /schemas/types.yaml#/definitions/uint32-matrix
    minItems: 2
    maxItems: 2
    items:
      minItems: 3
      maxItems: 3
      items:
        minimum: 0
        maximum: 31

  apm,tx-amplitude:
    description:
      Amplitude control. Two set of 3-tuple setting for each supported link
      speed on the host. Range is between 0 to 199500 in unit of uV.
    $ref: /schemas/types.yaml#/definitions/uint32-matrix
    minItems: 2
    maxItems: 2
    items:
      minItems: 3
      maxItems: 3
      items:
        minimum: 0
        maximum: 199500
        default: 199500

  apm,tx-pre-cursor1:
    description:
      1st pre-cursor emphasis taps control. Two set of 3-tuple setting for
      each supported link speed on the host. Range is 0 to 273000 in unit of
      uV.
    $ref: /schemas/types.yaml#/definitions/uint32-matrix
    minItems: 2
    maxItems: 2
    items:
      minItems: 3
      maxItems: 3
      items:
        minimum: 0
        maximum: 273000
        default: 0

  apm,tx-pre-cursor2:
    description:
      2nd pre-cursor emphasis taps control. Two set of 3-tuple setting for
      each supported link speed on the host. Range is 0 to 127400 in unit uV.
    $ref: /schemas/types.yaml#/definitions/uint32-matrix
    minItems: 2
    maxItems: 2
    items:
      minItems: 3
      maxItems: 3
      items:
        minimum: 0
        maximum: 127400
        default: 0

  apm,tx-post-cursor:
    description: |
      Post-cursor emphasis taps control. Two set of 3-tuple setting for Gen1,
      Gen2, and Gen3 link speeds. Range is between 0 to 31 in unit of 18.2mV.
    $ref: /schemas/types.yaml#/definitions/uint32-matrix
    minItems: 2
    maxItems: 2
    items:
      minItems: 3
      maxItems: 3
      items:
        minimum: 0
        maximum: 31
        default: 0xf

  apm,tx-speed:
    description: >
      Tx operating speed. One set of 3-tuple for each supported link speed on
      the host:
 
        0 = 1-2Gbps
        1 = 2-4Gbps (1st tuple default)
        2 = 4-8Gbps
        3 = 8-15Gbps (2nd tuple default)
        4 = 2.5-4Gbps
        5 = 4-5Gbps
        6 = 5-6Gbps
        7 = 6-16Gbps (3rd tuple default).

    $ref: /schemas/types.yaml#/definitions/uint32-array
    minItems: 3
    maxItems: 3
    items:
      maximum: 7

additionalProperties: false

examples:
  - |
    phy@1f21a000 {
        compatible = "apm,xgene-phy";
        reg = <0x1f21a000 0x100>;
        #phy-cells = <1>;
    };