Documentation / devicetree / bindings / net / hisilicon-hip04-net.txt


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
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)
	group, field in the pkg desc, in general, it is the same as the port.
- 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 31>;
	};

	ge0: ethernet@2800000 {
		compatible = "hisilicon,hip04-mac";
		reg = <0x2800000 0x10000>;
		interrupts = <0 402 4>;
		phy-mode = "sgmii";
		port-handle = <&ppe 0 1 0>;
		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 8>;
		phy-handle = <&phy1>;
	};