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
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/micrel.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Micrel KSZ series PHYs and switches
maintainers:
- Andrew Lunn <andrew@lunn.ch>
- Stefan Eichenberger <eichest@gmail.com>
description:
The Micrel KSZ series contains different network phys and switches.
properties:
compatible:
enum:
- ethernet-phy-id000e.7237 # KSZ8873MLL
- ethernet-phy-id0022.1430 # KSZ886X
- ethernet-phy-id0022.1435 # KSZ8863
- ethernet-phy-id0022.1510 # KSZ8041
- ethernet-phy-id0022.1537 # KSZ8041RNLI
- ethernet-phy-id0022.1550 # KSZ8051
- ethernet-phy-id0022.1555 # KSZ8021
- ethernet-phy-id0022.1556 # KSZ8031
- ethernet-phy-id0022.1560 # KSZ8081, KSZ8091
- ethernet-phy-id0022.1570 # KSZ8061
- ethernet-phy-id0022.161a # KSZ8001
- ethernet-phy-id0022.1720 # KS8737
micrel,fiber-mode:
type: boolean
description: |
If present the PHY is configured to operate in fiber mode.
The KSZ8041FTL variant supports fiber mode, enabled by the FXEN
boot strapping pin. It can't be determined from the PHY registers
whether the PHY is in fiber mode, so this boolean device tree
property can be used to describe it.
In fiber mode, auto-negotiation is disabled and the PHY can only
work in 100base-fx (full and half duplex) modes.
micrel,led-mode:
$ref: /schemas/types.yaml#/definitions/uint32
description: |
LED mode value to set for PHYs with configurable LEDs.
Configure the LED mode with single value. The list of PHYs and the
bits that are currently supported:
KSZ8001: register 0x1e, bits 15..14
KSZ8041: register 0x1e, bits 15..14
KSZ8021: register 0x1f, bits 5..4
KSZ8031: register 0x1f, bits 5..4
KSZ8051: register 0x1f, bits 5..4
KSZ8081: register 0x1f, bits 5..4
KSZ8091: register 0x1f, bits 5..4
See the respective PHY datasheet for the mode values.
minimum: 0
maximum: 3
allOf:
- $ref: ethernet-phy.yaml#
- if:
not:
properties:
compatible:
contains:
const: ethernet-phy-id0022.1510
then:
properties:
micrel,fiber-mode: false
- if:
not:
properties:
compatible:
contains:
enum:
- ethernet-phy-id0022.1510
- ethernet-phy-id0022.1555
- ethernet-phy-id0022.1556
- ethernet-phy-id0022.1550
- ethernet-phy-id0022.1560
- ethernet-phy-id0022.161a
then:
properties:
micrel,led-mode: false
- if:
properties:
compatible:
contains:
enum:
- ethernet-phy-id0022.1555
- ethernet-phy-id0022.1556
- ethernet-phy-id0022.1560
then:
properties:
clock-names:
const: rmii-ref
description:
The RMII reference input clock. Used to determine the XI input
clock.
micrel,rmii-reference-clock-select-25-mhz:
type: boolean
description: |
RMII Reference Clock Select bit selects 25 MHz mode
Setting the RMII Reference Clock Select bit enables 25 MHz rather
than 50 MHz clock mode.
dependentRequired:
micrel,rmii-reference-clock-select-25-mhz: [ clock-names ]
unevaluatedProperties: false
examples:
- |
mdio {
#address-cells = <1>;
#size-cells = <0>;
ethernet-phy@5 {
compatible = "ethernet-phy-id0022.1510";
reg = <5>;
micrel,led-mode = <2>;
micrel,fiber-mode;
};
};
|