Commit | Line | Data |
---|---|---|
0cfeca62 WL |
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 | ||
dd3cb467 | 8 | title: Sunplus SP7021 Dual Ethernet MAC |
0cfeca62 WL |
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 | |
057062ad | 35 | additionalProperties: false |
0cfeca62 WL |
36 | description: Ethernet ports to PHY |
37 | ||
38 | properties: | |
39 | "#address-cells": | |
40 | const: 1 | |
41 | ||
42 | "#size-cells": | |
43 | const: 0 | |
44 | ||
45 | patternProperties: | |
46 | "^port@[0-1]$": | |
47 | type: object | |
057062ad | 48 | additionalProperties: false |
0cfeca62 WL |
49 | description: Port to PHY |
50 | ||
51 | properties: | |
52 | reg: | |
53 | minimum: 0 | |
54 | maximum: 1 | |
55 | ||
56 | phy-handle: | |
57 | maxItems: 1 | |
58 | ||
59 | phy-mode: | |
60 | maxItems: 1 | |
61 | ||
62 | nvmem-cells: | |
63 | items: | |
64 | - description: nvmem cell address of MAC address | |
65 | ||
66 | nvmem-cell-names: | |
67 | description: names corresponding to the nvmem cells | |
68 | items: | |
69 | - const: mac-address | |
70 | ||
71 | required: | |
72 | - reg | |
73 | - phy-handle | |
74 | - phy-mode | |
75 | - nvmem-cells | |
76 | - nvmem-cell-names | |
77 | ||
78 | mdio: | |
79 | $ref: mdio.yaml# | |
80 | unevaluatedProperties: false | |
81 | ||
82 | additionalProperties: false | |
83 | ||
84 | required: | |
85 | - compatible | |
86 | - reg | |
87 | - interrupts | |
88 | - clocks | |
89 | - resets | |
90 | - pinctrl-0 | |
91 | - pinctrl-names | |
92 | - ethernet-ports | |
93 | - mdio | |
94 | ||
95 | examples: | |
96 | - | | |
97 | #include <dt-bindings/interrupt-controller/irq.h> | |
98 | ||
99 | ethernet@9c108000 { | |
100 | compatible = "sunplus,sp7021-emac"; | |
101 | reg = <0x9c108000 0x400>; | |
102 | interrupt-parent = <&intc>; | |
103 | interrupts = <66 IRQ_TYPE_LEVEL_HIGH>; | |
104 | clocks = <&clkc 0xa7>; | |
105 | resets = <&rstc 0x97>; | |
106 | pinctrl-0 = <&emac_demo_board_v3_pins>; | |
107 | pinctrl-names = "default"; | |
108 | ||
109 | ethernet-ports { | |
110 | #address-cells = <1>; | |
111 | #size-cells = <0>; | |
112 | ||
113 | port@0 { | |
114 | reg = <0>; | |
115 | phy-handle = <ð_phy0>; | |
116 | phy-mode = "rmii"; | |
117 | nvmem-cells = <&mac_addr0>; | |
118 | nvmem-cell-names = "mac-address"; | |
119 | }; | |
120 | ||
121 | port@1 { | |
122 | reg = <1>; | |
123 | phy-handle = <ð_phy1>; | |
124 | phy-mode = "rmii"; | |
125 | nvmem-cells = <&mac_addr1>; | |
126 | nvmem-cell-names = "mac-address"; | |
127 | }; | |
128 | }; | |
129 | ||
130 | mdio { | |
131 | #address-cells = <1>; | |
132 | #size-cells = <0>; | |
133 | ||
134 | eth_phy0: ethernet-phy@0 { | |
135 | reg = <0>; | |
136 | }; | |
137 | ||
138 | eth_phy1: ethernet-phy@1 { | |
139 | reg = <1>; | |
140 | }; | |
141 | }; | |
142 | }; | |
143 | ... |