| Hisilicon hip04 Ethernet Controller | |
| * Ethernet controller node | |
| Required properties: | |
| - compatible: should be "hisilicon,hip04-mac". | |
| - reg: address and length of the register set for the device. | |
| - interrupts: interrupt for the device. | |
| - port-handle: <phandle port channel> | |
| phandle, specifies a reference to the syscon ppe node | |
| port, port number connected to the controller | |
| channel, recv channel start from channel * number (RX_DESC_NUM) | |
| - phy-mode: see ethernet.txt [1]. | |
| Optional properties: | |
| - phy-handle: see ethernet.txt [1]. | |
| [1] Documentation/devicetree/bindings/net/ethernet.txt | |
| * Ethernet ppe node: | |
| Control rx & tx fifos of all ethernet controllers. | |
| Have 2048 recv channels shared by all ethernet controllers, only if no overlap. | |
| Each controller's recv channel start from channel * number (RX_DESC_NUM). | |
| Required properties: | |
| - compatible: "hisilicon,hip04-ppe", "syscon". | |
| - reg: address and length of the register set for the device. | |
| * MDIO bus node: | |
| Required properties: | |
| - compatible: should be "hisilicon,mdio". | |
| - Inherits from MDIO bus node binding [2] | |
| [2] Documentation/devicetree/bindings/net/phy.txt | |
| Example: | |
| mdio { | |
| compatible = "hisilicon,mdio"; | |
| reg = <0x28f1000 0x1000>; | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| phy0: ethernet-phy@0 { | |
| compatible = "ethernet-phy-ieee802.3-c22"; | |
| reg = <0>; | |
| marvell,reg-init = <18 0x14 0 0x8001>; | |
| }; | |
| phy1: ethernet-phy@1 { | |
| compatible = "ethernet-phy-ieee802.3-c22"; | |
| reg = <1>; | |
| marvell,reg-init = <18 0x14 0 0x8001>; | |
| }; | |
| }; | |
| ppe: ppe@28c0000 { | |
| compatible = "hisilicon,hip04-ppe", "syscon"; | |
| reg = <0x28c0000 0x10000>; | |
| }; | |
| fe: ethernet@28b0000 { | |
| compatible = "hisilicon,hip04-mac"; | |
| reg = <0x28b0000 0x10000>; | |
| interrupts = <0 413 4>; | |
| phy-mode = "mii"; | |
| port-handle = <&ppe 31 0>; | |
| }; | |
| ge0: ethernet@2800000 { | |
| compatible = "hisilicon,hip04-mac"; | |
| reg = <0x2800000 0x10000>; | |
| interrupts = <0 402 4>; | |
| phy-mode = "sgmii"; | |
| port-handle = <&ppe 0 1>; | |
| phy-handle = <&phy0>; | |
| }; | |
| ge8: ethernet@2880000 { | |
| compatible = "hisilicon,hip04-mac"; | |
| reg = <0x2880000 0x10000>; | |
| interrupts = <0 410 4>; | |
| phy-mode = "sgmii"; | |
| port-handle = <&ppe 8 2>; | |
| phy-handle = <&phy1>; | |
| }; |