mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 11:56:58 +00:00
Convert VSC8531 Gigabit ethernet phy binding to DT schema format. While at it add compatible string for VSC8541 PHY which is very much similar to the VSC8531 PHY and is already supported in the kernel. VSC8541 PHY is present on the Renesas RZ/T2H EVK. Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20251025064850.393797-1-prabhakar.mahadev-lad.rj@bp.renesas.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
132 lines
3.9 KiB
YAML
132 lines
3.9 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/net/mscc-phy-vsc8531.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Microsemi VSC8531 Gigabit Ethernet PHY
|
|
|
|
maintainers:
|
|
- Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
|
|
|
|
description:
|
|
The VSC8531 is a Gigabit Ethernet PHY with configurable MAC interface
|
|
drive strength and LED modes.
|
|
|
|
allOf:
|
|
- $ref: ethernet-phy.yaml#
|
|
|
|
select:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- ethernet-phy-id0007.0570 # VSC8531
|
|
- ethernet-phy-id0007.0772 # VSC8541
|
|
required:
|
|
- compatible
|
|
|
|
properties:
|
|
compatible:
|
|
items:
|
|
- enum:
|
|
- ethernet-phy-id0007.0570 # VSC8531
|
|
- ethernet-phy-id0007.0772 # VSC8541
|
|
- const: ethernet-phy-ieee802.3-c22
|
|
|
|
vsc8531,vddmac:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
description:
|
|
The VDDMAC voltage in millivolts. This property is used in combination
|
|
with the edge-slowdown property to control the drive strength of the
|
|
MAC interface output signals.
|
|
enum: [3300, 2500, 1800, 1500]
|
|
default: 3300
|
|
|
|
vsc8531,edge-slowdown:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
description: >
|
|
Percentage by which the edge rate should be slowed down relative to
|
|
the fastest possible edge time. This setting helps reduce electromagnetic
|
|
interference (EMI) by adjusting the drive strength of the MAC interface
|
|
output signals. Valid values depend on the vddmac voltage setting
|
|
according to the edge rate change table in the datasheet.
|
|
|
|
- When vsc8531,vddmac = 3300 mV: allowed values are 0, 2, 4, 7, 10, 17, 29, and 53.
|
|
(Recommended: 7)
|
|
- When vsc8531,vddmac = 2500 mV: allowed values are 0, 3, 6, 10, 14, 23, 37, and 63.
|
|
(Recommended: 10)
|
|
- When vsc8531,vddmac = 1800 mV: allowed values are 0, 5, 9, 16, 23, 35, 52, and 76.
|
|
(Recommended: 0)
|
|
- When vsc8531,vddmac = 1500 mV: allowed values are 0, 6, 14, 21, 29, 42, 58, and 77.
|
|
(Recommended: 0)
|
|
enum: [0, 2, 3, 4, 5, 6, 7, 9, 10, 14, 16, 17, 21, 23, 29, 35, 37, 42, 52, 53, 58, 63, 76, 77]
|
|
default: 0
|
|
|
|
vsc8531,led-0-mode:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
description: LED[0] behavior mode. See include/dt-bindings/net/mscc-phy-vsc8531.h
|
|
for available modes.
|
|
minimum: 0
|
|
maximum: 15
|
|
default: 1
|
|
|
|
vsc8531,led-1-mode:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
description: LED[1] behavior mode. See include/dt-bindings/net/mscc-phy-vsc8531.h
|
|
for available modes.
|
|
minimum: 0
|
|
maximum: 15
|
|
default: 2
|
|
|
|
vsc8531,led-2-mode:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
description: LED[2] behavior mode. See include/dt-bindings/net/mscc-phy-vsc8531.h
|
|
for available modes.
|
|
minimum: 0
|
|
maximum: 15
|
|
default: 0
|
|
|
|
vsc8531,led-3-mode:
|
|
$ref: /schemas/types.yaml#/definitions/uint32
|
|
description: LED[3] behavior mode. See include/dt-bindings/net/mscc-phy-vsc8531.h
|
|
for available modes.
|
|
minimum: 0
|
|
maximum: 15
|
|
default: 8
|
|
|
|
load-save-gpios:
|
|
description: GPIO phandle used for the load/save operation of the PTP hardware
|
|
clock (PHC).
|
|
maxItems: 1
|
|
|
|
dependencies:
|
|
vsc8531,edge-slowdown:
|
|
- vsc8531,vddmac
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/net/mscc-phy-vsc8531.h>
|
|
|
|
mdio {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
ethernet-phy@0 {
|
|
compatible = "ethernet-phy-id0007.0772", "ethernet-phy-ieee802.3-c22";
|
|
reg = <0>;
|
|
vsc8531,vddmac = <3300>;
|
|
vsc8531,edge-slowdown = <7>;
|
|
vsc8531,led-0-mode = <VSC8531_LINK_1000_ACTIVITY>;
|
|
vsc8531,led-1-mode = <VSC8531_LINK_100_ACTIVITY>;
|
|
load-save-gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|