| # 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 Device Tree Bindings |
| |
| 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 |
| description: Ethernet ports to PHY |
| |
| properties: |
| "#address-cells": |
| const: 1 |
| |
| "#size-cells": |
| const: 0 |
| |
| patternProperties: |
| "^port@[0-1]$": |
| type: object |
| 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>; |
| }; |
| }; |
| }; |
| ... |