Skip to content

Commit 43d3899

Browse files
prabhakarladNipaLocal
authored andcommitted
dt-bindings: net: phy: vsc8531: Convert to DT schema
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> Signed-off-by: NipaLocal <nipa@local>
1 parent a0d50f8 commit 43d3899

File tree

3 files changed

+132
-74
lines changed

3 files changed

+132
-74
lines changed

Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt

Lines changed: 0 additions & 73 deletions
This file was deleted.
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/net/mscc-phy-vsc8531.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Microsemi VSC8531 Gigabit Ethernet PHY
8+
9+
maintainers:
10+
- Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
11+
12+
description:
13+
The VSC8531 is a Gigabit Ethernet PHY with configurable MAC interface
14+
drive strength and LED modes.
15+
16+
allOf:
17+
- $ref: ethernet-phy.yaml#
18+
19+
select:
20+
properties:
21+
compatible:
22+
contains:
23+
enum:
24+
- ethernet-phy-id0007.0570 # VSC8531
25+
- ethernet-phy-id0007.0772 # VSC8541
26+
required:
27+
- compatible
28+
29+
properties:
30+
compatible:
31+
items:
32+
- enum:
33+
- ethernet-phy-id0007.0570 # VSC8531
34+
- ethernet-phy-id0007.0772 # VSC8541
35+
- const: ethernet-phy-ieee802.3-c22
36+
37+
vsc8531,vddmac:
38+
$ref: /schemas/types.yaml#/definitions/uint32
39+
description:
40+
The VDDMAC voltage in millivolts. This property is used in combination
41+
with the edge-slowdown property to control the drive strength of the
42+
MAC interface output signals.
43+
enum: [3300, 2500, 1800, 1500]
44+
default: 3300
45+
46+
vsc8531,edge-slowdown:
47+
$ref: /schemas/types.yaml#/definitions/uint32
48+
description: >
49+
Percentage by which the edge rate should be slowed down relative to
50+
the fastest possible edge time. This setting helps reduce electromagnetic
51+
interference (EMI) by adjusting the drive strength of the MAC interface
52+
output signals. Valid values depend on the vddmac voltage setting
53+
according to the edge rate change table in the datasheet.
54+
55+
- When vsc8531,vddmac = 3300 mV: allowed values are 0, 2, 4, 7, 10, 17, 29, and 53.
56+
(Recommended: 7)
57+
- When vsc8531,vddmac = 2500 mV: allowed values are 0, 3, 6, 10, 14, 23, 37, and 63.
58+
(Recommended: 10)
59+
- When vsc8531,vddmac = 1800 mV: allowed values are 0, 5, 9, 16, 23, 35, 52, and 76.
60+
(Recommended: 0)
61+
- When vsc8531,vddmac = 1500 mV: allowed values are 0, 6, 14, 21, 29, 42, 58, and 77.
62+
(Recommended: 0)
63+
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]
64+
default: 0
65+
66+
vsc8531,led-0-mode:
67+
$ref: /schemas/types.yaml#/definitions/uint32
68+
description: LED[0] behavior mode. See include/dt-bindings/net/mscc-phy-vsc8531.h
69+
for available modes.
70+
minimum: 0
71+
maximum: 15
72+
default: 1
73+
74+
vsc8531,led-1-mode:
75+
$ref: /schemas/types.yaml#/definitions/uint32
76+
description: LED[1] behavior mode. See include/dt-bindings/net/mscc-phy-vsc8531.h
77+
for available modes.
78+
minimum: 0
79+
maximum: 15
80+
default: 2
81+
82+
vsc8531,led-2-mode:
83+
$ref: /schemas/types.yaml#/definitions/uint32
84+
description: LED[2] behavior mode. See include/dt-bindings/net/mscc-phy-vsc8531.h
85+
for available modes.
86+
minimum: 0
87+
maximum: 15
88+
default: 0
89+
90+
vsc8531,led-3-mode:
91+
$ref: /schemas/types.yaml#/definitions/uint32
92+
description: LED[3] behavior mode. See include/dt-bindings/net/mscc-phy-vsc8531.h
93+
for available modes.
94+
minimum: 0
95+
maximum: 15
96+
default: 8
97+
98+
load-save-gpios:
99+
description: GPIO phandle used for the load/save operation of the PTP hardware
100+
clock (PHC).
101+
maxItems: 1
102+
103+
dependencies:
104+
vsc8531,edge-slowdown:
105+
- vsc8531,vddmac
106+
107+
required:
108+
- compatible
109+
- reg
110+
111+
unevaluatedProperties: false
112+
113+
examples:
114+
- |
115+
#include <dt-bindings/gpio/gpio.h>
116+
#include <dt-bindings/net/mscc-phy-vsc8531.h>
117+
118+
mdio {
119+
#address-cells = <1>;
120+
#size-cells = <0>;
121+
122+
ethernet-phy@0 {
123+
compatible = "ethernet-phy-id0007.0772", "ethernet-phy-ieee802.3-c22";
124+
reg = <0>;
125+
vsc8531,vddmac = <3300>;
126+
vsc8531,edge-slowdown = <7>;
127+
vsc8531,led-0-mode = <VSC8531_LINK_1000_ACTIVITY>;
128+
vsc8531,led-1-mode = <VSC8531_LINK_100_ACTIVITY>;
129+
load-save-gpios = <&gpio 10 GPIO_ACTIVE_HIGH>;
130+
};
131+
};

Documentation/devicetree/bindings/vendor-prefixes.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ patternProperties:
2020
"^(keypad|m25p|max8952|max8997|max8998|mpmc),.*": true
2121
"^(pciclass|pinctrl-single|#pinctrl-single|PowerPC),.*": true
2222
"^(pl022|pxa-mmc|rcar_sound|rotary-encoder|s5m8767|sdhci),.*": true
23-
"^(simple-audio-card|st-plgpio|st-spics|ts),.*": true
23+
"^(simple-audio-card|st-plgpio|st-spics|ts|vsc8531),.*": true
2424
"^pool[0-3],.*": true
2525

2626
# Keep list in alphabetical order.

0 commit comments

Comments
 (0)