Commit 65ad0d06 authored by Rob Herring (Arm)'s avatar Rob Herring (Arm) Committed by Vinod Koul
Browse files

dt-bindings: phy: Convert apm,xgene-phy to DT schema



Convert the APM X-Gene PHY binding to DT schema format. It's a straight
forward conversion.

Signed-off-by: default avatarRob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20250607212424.739972-1-robh@kernel.org


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 77d2fa54
Loading
Loading
Loading
Loading
+169 −0
Original line number Diff line number Diff line
# 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>;
    };
+0 −76
Original line number Diff line number Diff line
* APM X-Gene 15Gbps Multi-purpose PHY nodes

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

Required properties:
- compatible		: Shall be "apm,xgene-phy".
- reg			: PHY memory resource is the SDS PHY access resource.
- #phy-cells		: Shall be 1 as it expects one argument for setting
			  the mode of the PHY. Possible values are 0 (SATA),
			  1 (SGMII), 2 (PCIe), 3 (USB), and 4 (XFI).

Optional properties:
- status		: Shall be "ok" if enabled or "disabled" if disabled.
			  Default is "ok".
- clocks		: Reference to the clock entry.
- apm,tx-eye-tuning	: 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 (up to 3)
			  supported link speed on the host. Range from 0 to
			  127 in unit of one bit period. Default is 10.
- apm,tx-eye-direction	: 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 (up to 3)
			  supported link speed on the host. Default is 0.
- apm,tx-boost-gain	: Frequency boost AC (LSB 3-bit) and DC (2-bit)
			  gain control. Two set of 3-tuple setting for each
			  (up to 3) supported link speed on the host. Range is
			  between 0 to 31 in unit of dB. Default is 3.
- apm,tx-amplitude	: Amplitude control. Two set of 3-tuple setting for
			  each (up to 3) supported link speed on the host.
			  Range is between 0 to 199500 in unit of uV.
			  Default is 199500 uV.
- apm,tx-pre-cursor1	: 1st pre-cursor emphasis taps control. Two set of
			  3-tuple setting for each (up to 3) supported link
			  speed on the host. Range is 0 to 273000 in unit of
			  uV. Default is 0.
- apm,tx-pre-cursor2	: 2nd pre-cursor emphasis taps control. Two set of
			  3-tuple setting for each (up to 3) supported link
			  speed on the host. Range is 0 to 127400 in unit uV.
			  Default is 0x0.
- apm,tx-post-cursor	: Post-cursor emphasis taps control. Two set of
			  3-tuple setting for Gen1, Gen2, and Gen3. Range is
			  between 0 to 0x1f in unit of 18.2mV. Default is 0xf.
- apm,tx-speed		: 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)

NOTE: PHY override parameters are board specific setting.

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

		phy2: phy@1f22a000 {
			compatible = "apm,xgene-phy";
			reg = <0x0 0x1f22a000 0x0 0x100>;
			#phy-cells = <1>;
		};

		phy3: phy@1f23a000 {
			compatible = "apm,xgene-phy";
			reg = <0x0 0x1f23a000 0x0 0x100>;
			#phy-cells = <1>;
		};