blob: 5b130097449b09b0ae2c6cecc1e0dfc9822065be [file] [log] [blame]
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) Sunplus Co., Ltd. 2021
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/sunplus,sp7021-emac.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Sunplus SP7021 Dual Ethernet MAC
maintainers:
- Wells Lu <wellslutw@gmail.com>
description: |
Sunplus SP7021 dual 10M/100M Ethernet MAC controller.
Device node of the controller has following properties.
properties:
compatible:
const: sunplus,sp7021-emac
reg:
maxItems: 1
interrupts:
maxItems: 1
clocks:
maxItems: 1
resets:
maxItems: 1
ethernet-ports:
type: object
additionalProperties: false
description: Ethernet ports to PHY
properties:
"#address-cells":
const: 1
"#size-cells":
const: 0
patternProperties:
"^port@[0-1]$":
type: object
additionalProperties: false
description: Port to PHY
properties:
reg:
minimum: 0
maximum: 1
phy-handle:
maxItems: 1
phy-mode:
maxItems: 1
nvmem-cells:
items:
- description: nvmem cell address of MAC address
nvmem-cell-names:
description: names corresponding to the nvmem cells
items:
- const: mac-address
required:
- reg
- phy-handle
- phy-mode
- nvmem-cells
- nvmem-cell-names
mdio:
$ref: mdio.yaml#
unevaluatedProperties: false
additionalProperties: false
required:
- compatible
- reg
- interrupts
- clocks
- resets
- pinctrl-0
- pinctrl-names
- ethernet-ports
- mdio
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
ethernet@9c108000 {
compatible = "sunplus,sp7021-emac";
reg = <0x9c108000 0x400>;
interrupt-parent = <&intc>;
interrupts = <66 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clkc 0xa7>;
resets = <&rstc 0x97>;
pinctrl-0 = <&emac_demo_board_v3_pins>;
pinctrl-names = "default";
ethernet-ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
phy-handle = <&eth_phy0>;
phy-mode = "rmii";
nvmem-cells = <&mac_addr0>;
nvmem-cell-names = "mac-address";
};
port@1 {
reg = <1>;
phy-handle = <&eth_phy1>;
phy-mode = "rmii";
nvmem-cells = <&mac_addr1>;
nvmem-cell-names = "mac-address";
};
};
mdio {
#address-cells = <1>;
#size-cells = <0>;
eth_phy0: ethernet-phy@0 {
reg = <0>;
};
eth_phy1: ethernet-phy@1 {
reg = <1>;
};
};
};
...