| # 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 = <ð_phy0>; | |
| phy-mode = "rmii"; | |
| nvmem-cells = <&mac_addr0>; | |
| nvmem-cell-names = "mac-address"; | |
| }; | |
| port@1 { | |
| reg = <1>; | |
| phy-handle = <ð_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>; | |
| }; | |
| }; | |
| }; | |
| ... |