Merge tag 'block-6.1-2022-11-11' of git://git.kernel.dk/linux
[linux-block.git] / Documentation / devicetree / bindings / net / sunplus,sp7021-emac.yaml
CommitLineData
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 8title: Sunplus SP7021 Dual Ethernet MAC
0cfeca62
WL
9
10maintainers:
11 - Wells Lu <wellslutw@gmail.com>
12
13description: |
14 Sunplus SP7021 dual 10M/100M Ethernet MAC controller.
15 Device node of the controller has following properties.
16
17properties:
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
82additionalProperties: false
83
84required:
85 - compatible
86 - reg
87 - interrupts
88 - clocks
89 - resets
90 - pinctrl-0
91 - pinctrl-names
92 - ethernet-ports
93 - mdio
94
95examples:
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 = <&eth_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 = <&eth_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...