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: Rob Herring (Arm) <robh@kernel.org>
Link: https://lore.kernel.org/r/20250607212424.739972-1-robh@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
Rob Herring (Arm) 2025-06-07 16:24:23 -05:00 committed by Vinod Koul
parent 77d2fa54a9
commit 65ad0d068c
2 changed files with 169 additions and 76 deletions

View File

@ -0,0 +1,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>;
};

View File

@ -1,76 +0,0 @@
* 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>;
};