148ac0b58SLinus Walleij# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 248ac0b58SLinus Walleij# Copyright 2018 Linaro Ltd. 348ac0b58SLinus Walleij%YAML 1.2 448ac0b58SLinus Walleij--- 548ac0b58SLinus Walleij$id: "http://devicetree.org/schemas/net/intel,ixp4xx-ethernet.yaml#" 648ac0b58SLinus Walleij$schema: "http://devicetree.org/meta-schemas/core.yaml#" 748ac0b58SLinus Walleij 848ac0b58SLinus Walleijtitle: Intel IXP4xx ethernet 948ac0b58SLinus Walleij 1048ac0b58SLinus WalleijallOf: 1148ac0b58SLinus Walleij - $ref: "ethernet-controller.yaml#" 1248ac0b58SLinus Walleij 1348ac0b58SLinus Walleijmaintainers: 1448ac0b58SLinus Walleij - Linus Walleij <linus.walleij@linaro.org> 1548ac0b58SLinus Walleij 1648ac0b58SLinus Walleijdescription: | 1748ac0b58SLinus Walleij The Intel IXP4xx ethernet makes use of the IXP4xx NPE (Network 1848ac0b58SLinus Walleij Processing Engine) and the IXP4xx Queue Manager to process 1948ac0b58SLinus Walleij the ethernet frames. It can optionally contain an MDIO bus to 2048ac0b58SLinus Walleij talk to PHYs. 2148ac0b58SLinus Walleij 2248ac0b58SLinus Walleijproperties: 2348ac0b58SLinus Walleij compatible: 2448ac0b58SLinus Walleij const: intel,ixp4xx-ethernet 2548ac0b58SLinus Walleij 2648ac0b58SLinus Walleij reg: 2748ac0b58SLinus Walleij maxItems: 1 2848ac0b58SLinus Walleij description: Ethernet MMIO address range 2948ac0b58SLinus Walleij 3048ac0b58SLinus Walleij queue-rx: 3148ac0b58SLinus Walleij $ref: '/schemas/types.yaml#/definitions/phandle-array' 3248ac0b58SLinus Walleij maxItems: 1 3348ac0b58SLinus Walleij description: phandle to the RX queue on the NPE 3448ac0b58SLinus Walleij 3548ac0b58SLinus Walleij queue-txready: 3648ac0b58SLinus Walleij $ref: '/schemas/types.yaml#/definitions/phandle-array' 3748ac0b58SLinus Walleij maxItems: 1 3848ac0b58SLinus Walleij description: phandle to the TX READY queue on the NPE 3948ac0b58SLinus Walleij 4048ac0b58SLinus Walleij phy-mode: true 4148ac0b58SLinus Walleij 4248ac0b58SLinus Walleij phy-handle: true 4348ac0b58SLinus Walleij 4448ac0b58SLinus Walleij intel,npe-handle: 4548ac0b58SLinus Walleij $ref: '/schemas/types.yaml#/definitions/phandle-array' 4648ac0b58SLinus Walleij maxItems: 1 4748ac0b58SLinus Walleij description: phandle to the NPE this ethernet instance is using 4848ac0b58SLinus Walleij and the instance to use in the second cell 4948ac0b58SLinus Walleij 5048ac0b58SLinus Walleij mdio: 51*b2d28642SRob Herring $ref: mdio.yaml# 52*b2d28642SRob Herring unevaluatedProperties: false 5348ac0b58SLinus Walleij description: optional node for embedded MDIO controller 5448ac0b58SLinus Walleij 5548ac0b58SLinus Walleijrequired: 5648ac0b58SLinus Walleij - compatible 5748ac0b58SLinus Walleij - reg 5848ac0b58SLinus Walleij - queue-rx 5948ac0b58SLinus Walleij - queue-txready 6048ac0b58SLinus Walleij - intel,npe-handle 6148ac0b58SLinus Walleij 6248ac0b58SLinus WalleijadditionalProperties: false 6348ac0b58SLinus Walleij 6448ac0b58SLinus Walleijexamples: 6548ac0b58SLinus Walleij - | 6648ac0b58SLinus Walleij npe: npe@c8006000 { 6748ac0b58SLinus Walleij compatible = "intel,ixp4xx-network-processing-engine"; 6848ac0b58SLinus Walleij reg = <0xc8006000 0x1000>, <0xc8007000 0x1000>, <0xc8008000 0x1000>; 6948ac0b58SLinus Walleij }; 7048ac0b58SLinus Walleij 7148ac0b58SLinus Walleij ethernet@c8009000 { 7248ac0b58SLinus Walleij compatible = "intel,ixp4xx-ethernet"; 7348ac0b58SLinus Walleij reg = <0xc8009000 0x1000>; 7448ac0b58SLinus Walleij queue-rx = <&qmgr 4>; 7548ac0b58SLinus Walleij queue-txready = <&qmgr 21>; 7648ac0b58SLinus Walleij intel,npe-handle = <&npe 1>; 7748ac0b58SLinus Walleij phy-mode = "rgmii"; 7848ac0b58SLinus Walleij phy-handle = <&phy1>; 7948ac0b58SLinus Walleij }; 8048ac0b58SLinus Walleij 8148ac0b58SLinus Walleij ethernet@c800c000 { 8248ac0b58SLinus Walleij compatible = "intel,ixp4xx-ethernet"; 8348ac0b58SLinus Walleij reg = <0xc800c000 0x1000>; 8448ac0b58SLinus Walleij queue-rx = <&qmgr 3>; 8548ac0b58SLinus Walleij queue-txready = <&qmgr 20>; 8648ac0b58SLinus Walleij intel,npe-handle = <&npe 2>; 8748ac0b58SLinus Walleij phy-mode = "rgmii"; 8848ac0b58SLinus Walleij phy-handle = <&phy2>; 8948ac0b58SLinus Walleij 9048ac0b58SLinus Walleij mdio { 9148ac0b58SLinus Walleij #address-cells = <1>; 9248ac0b58SLinus Walleij #size-cells = <0>; 9348ac0b58SLinus Walleij phy1: ethernet-phy@1 { 9448ac0b58SLinus Walleij reg = <1>; 9548ac0b58SLinus Walleij }; 9648ac0b58SLinus Walleij phy2: ethernet-phy@2 { 9748ac0b58SLinus Walleij reg = <2>; 9848ac0b58SLinus Walleij }; 9948ac0b58SLinus Walleij }; 10048ac0b58SLinus Walleij }; 101