# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) # Copyright 2018 Linaro Ltd. %YAML 1.2 --- $id: http://devicetree.org/schemas/net/intel,ixp4xx-ethernet.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Intel IXP4xx ethernet allOf: - $ref: ethernet-controller.yaml# maintainers: - Linus Walleij description: | The Intel IXP4xx ethernet makes use of the IXP4xx NPE (Network Processing Engine) and the IXP4xx Queue Manager to process the ethernet frames. It can optionally contain an MDIO bus to talk to PHYs. properties: compatible: const: intel,ixp4xx-ethernet reg: maxItems: 1 description: Ethernet MMIO address range queue-rx: $ref: /schemas/types.yaml#/definitions/phandle-array items: - items: - description: phandle to the RX queue node - description: RX queue instance to use description: phandle to the RX queue on the NPE queue-txready: $ref: /schemas/types.yaml#/definitions/phandle-array items: - items: - description: phandle to the TX READY queue node - description: TX READY queue instance to use description: phandle to the TX READY queue on the NPE phy-mode: true phy-handle: true intel,npe-handle: $ref: /schemas/types.yaml#/definitions/phandle-array items: - items: - description: phandle to the NPE this ethernet instance is using - description: the NPE instance to use description: phandle to the NPE this ethernet instance is using and the instance to use in the second cell mdio: $ref: mdio.yaml# unevaluatedProperties: false description: optional node for embedded MDIO controller required: - compatible - reg - queue-rx - queue-txready - intel,npe-handle additionalProperties: false examples: - | npe: npe@c8006000 { compatible = "intel,ixp4xx-network-processing-engine"; reg = <0xc8006000 0x1000>, <0xc8007000 0x1000>, <0xc8008000 0x1000>; }; ethernet@c8009000 { compatible = "intel,ixp4xx-ethernet"; reg = <0xc8009000 0x1000>; queue-rx = <&qmgr 4>; queue-txready = <&qmgr 21>; intel,npe-handle = <&npe 1>; phy-mode = "rgmii"; phy-handle = <&phy1>; }; ethernet@c800c000 { compatible = "intel,ixp4xx-ethernet"; reg = <0xc800c000 0x1000>; queue-rx = <&qmgr 3>; queue-txready = <&qmgr 20>; intel,npe-handle = <&npe 2>; phy-mode = "rgmii"; phy-handle = <&phy2>; mdio { #address-cells = <1>; #size-cells = <0>; phy1: ethernet-phy@1 { reg = <1>; }; phy2: ethernet-phy@2 { reg = <2>; }; }; };