1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 # Copyright (C) Sunplus Co., Ltd. 2021
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/net/sunplus,sp7021-emac.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Sunplus SP7021 Dual Ethernet MAC Device Tree Bindings
9
10 maintainers:
11 - Wells Lu <wellslutw@gmail.com>
12
13 description: |
14 Sunplus SP7021 dual 10M/100M Ethernet MAC controller.
15 Device node of the controller has following properties.
16
17 properties:
18 compatible:
19 const: sunplus,sp7021-emac
20
21 reg:
22 maxItems: 1
23
24 interrupts:
25 maxItems: 1
26
27 clocks:
28 maxItems: 1
29
30 resets:
31 maxItems: 1
32
33 ethernet-ports:
34 type: object
35 description: Ethernet ports to PHY
36
37 properties:
38 "#address-cells":
39 const: 1
40
41 "#size-cells":
42 const: 0
43
44 patternProperties:
45 "^port@[0-1]$":
46 type: object
47 description: Port to PHY
48
49 properties:
50 reg:
51 minimum: 0
52 maximum: 1
53
54 phy-handle:
55 maxItems: 1
56
57 phy-mode:
58 maxItems: 1
59
60 nvmem-cells:
61 items:
62 - description: nvmem cell address of MAC address
63
64 nvmem-cell-names:
65 description: names corresponding to the nvmem cells
66 items:
67 - const: mac-address
68
69 required:
70 - reg
71 - phy-handle
72 - phy-mode
73 - nvmem-cells
74 - nvmem-cell-names
75
76 mdio:
77 $ref: mdio.yaml#
78 unevaluatedProperties: false
79
80 additionalProperties: false
81
82 required:
83 - compatible
84 - reg
85 - interrupts
86 - clocks
87 - resets
88 - pinctrl-0
89 - pinctrl-names
90 - ethernet-ports
91 - mdio
92
93 examples:
94 - |
95 #include <dt-bindings/interrupt-controller/irq.h>
96
97 ethernet@9c108000 {
98 compatible = "sunplus,sp7021-emac";
99 reg = <0x9c108000 0x400>;
100 interrupt-parent = <&intc>;
101 interrupts = <66 IRQ_TYPE_LEVEL_HIGH>;
102 clocks = <&clkc 0xa7>;
103 resets = <&rstc 0x97>;
104 pinctrl-0 = <&emac_demo_board_v3_pins>;
105 pinctrl-names = "default";
106
107 ethernet-ports {
108 #address-cells = <1>;
109 #size-cells = <0>;
110
111 port@0 {
112 reg = <0>;
113 phy-handle = <ð_phy0>;
114 phy-mode = "rmii";
115 nvmem-cells = <&mac_addr0>;
116 nvmem-cell-names = "mac-address";
117 };
118
119 port@1 {
120 reg = <1>;
121 phy-handle = <ð_phy1>;
122 phy-mode = "rmii";
123 nvmem-cells = <&mac_addr1>;
124 nvmem-cell-names = "mac-address";
125 };
126 };
127
128 mdio {
129 #address-cells = <1>;
130 #size-cells = <0>;
131
132 eth_phy0: ethernet-phy@0 {
133 reg = <0>;
134 };
135
136 eth_phy1: ethernet-phy@1 {
137 reg = <1>;
138 };
139 };
140 };
141 ...
Cache object: e55bf1aa839060a0550d64e8d9862a6f
|