# 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' maxItems: 1 description: phandle to the RX queue on the NPE queue-txready: $ref: '/schemas/types.yaml#/definitions/phandle-array' maxItems: 1 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' maxItems: 1 description: phandle to the NPE this ethernet instance is using and the instance to use in the second cell mdio: type: object $ref: "mdio.yaml#" 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>; status = "disabled"; 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>; status = "disabled"; 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>; }; }; };