Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7e0b4cd0 authored by Dinh Nguyen's avatar Dinh Nguyen
Browse files

dts: socfpga: Add DTS entry for adding the stmmac glue layer for stmmac.



This patch adds the dts bindings documenation for the Altera SOCFPGA glue
layer for the Synopsys STMMAC ethernet driver.

Signed-off-by: default avatarDinh Nguyen <dinguyen@altera.com>
Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
---
v3: Remove stray empty line at end of socfpga_cyclone5_socdk.dts
v2: Use the dwmac-sti as an example for a glue layer and split patch up
to have dts as a separate patch. Also cc dts maintainers since there is
a new binding.
parent 2d237c06
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
Altera SOCFPGA SoC DWMAC controller

The device node has following properties.

Required properties:
 - compatible	: Should contain "altr,socfpga-stmmac"
 - altr,sysmgr-syscon : Should be the phandle to the system manager node that
   encompasses the glue register, and the register offset.

Sub-nodes:
The dwmac core should be added as subnode to SOCFPGA dwmac glue.
- dwmac :	The binding details of dwmac can be found in
  Documentation/devicetree/bindings/net/stmmac.txt

Example:

ethernet0: ethernet0 {
	#address-cells = <1>;
	#size-cells = <1>;

	compatible = "altr,socfpga-stmmac";
	altr,sysmgr-syscon = <&sysmgr 0x60>;
	status = "disabled";
	ranges;

	gmac0: gmac0@ff700000 {
		compatible = "snps,dwmac-3.70a", "snps,dwmac";
		reg = <0xff700000 0x2000>;
		interrupts = <0 115 4>;
		interrupt-names = "macirq";
		mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
		clocks = <&emac0_clk>;
		clock-names = "stmmaceth";
	};
};
+33 −16
Original line number Diff line number Diff line
@@ -441,26 +441,43 @@
				};
			};

		gmac0: ethernet@ff700000 {
			compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
		ethernet0: ethernet0 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "altr,socfpga-stmmac";
			altr,sysmgr-syscon = <&sysmgr 0x60>;
			status = "disabled";
			ranges;

			gmac0: gmac0@ff700000 {
				compatible = "snps,dwmac-3.70a", "snps,dwmac";
				reg = <0xff700000 0x2000>;
				interrupts = <0 115 4>;
				interrupt-names = "macirq";
				mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
				clocks = <&emac0_clk>;
				clock-names = "stmmaceth";
			status = "disabled";
			};
		};

		gmac1: ethernet@ff702000 {
			compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
		ethernet1: ethernet1 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "altr,socfpga-stmmac";
			altr,sysmgr-syscon = <&sysmgr 0x60>;
			status = "disabled";
			ranges;

			gmac1: gmac1@ff702000 {
				device_type = "network";
				compatible = "snps,dwmac-3.70a", "snps,dwmac";
				reg = <0xff702000 0x2000>;
				interrupts = <0 120 4>;
				interrupt-names = "macirq";
				mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
				clocks = <&emac1_clk>;
				clock-names = "stmmaceth";
			status = "disabled";
			};
		};

		L2: l2-cache@fffef000 {
+24 −0
Original line number Diff line number Diff line
@@ -37,4 +37,28 @@
		*/
		ethernet0 = &gmac1;
	};

	aliases {
		/* this allow the ethaddr uboot environmnet variable contents
		 * to be added to the gmac1 device tree blob.
		 */
		ethernet0 = &gmac1;
	};
};

&ethernet1 {
	status = "okay";
};

&gmac1 {
	phy-mode = "rgmii";

	rxd0-skew-ps = <0>;
	rxd1-skew-ps = <0>;
	rxd2-skew-ps = <0>;
	rxd3-skew-ps = <0>;
	txen-skew-ps = <0>;
	txc-skew-ps = <2600>;
	rxdv-skew-ps = <0>;
	rxc-skew-ps = <2000>;
};
+17 −0
Original line number Diff line number Diff line
@@ -38,3 +38,20 @@
		ethernet0 = &gmac1;
	};
};

&ethernet1 {
	status = "okay";
};

&gmac1 {
	phy-mode = "rgmii";

	rxd0-skew-ps = <0>;
	rxd1-skew-ps = <0>;
	rxd2-skew-ps = <0>;
	rxd3-skew-ps = <0>;
	txen-skew-ps = <0>;
	txc-skew-ps = <2600>;
	rxdv-skew-ps = <0>;
	rxc-skew-ps = <2000>;
};
+21 −1
Original line number Diff line number Diff line
@@ -30,8 +30,28 @@
		device_type = "memory";
		reg = <0x0 0x40000000>; /* 1GB */
	};

	aliases {
		/* this allow the ethaddr uboot environmnet variable contents
		 * to be added to the gmac1 device tree blob.
		 */
		ethernet0 = &gmac1;
	};
};

&gmac1 {
&ethernet1 {
	status = "okay";
};

&gmac1 {
	phy-mode = "rgmii";

	rxd0-skew-ps = <0>;
	rxd1-skew-ps = <0>;
	rxd2-skew-ps = <0>;
	rxd3-skew-ps = <0>;
	txen-skew-ps = <0>;
	txc-skew-ps = <2600>;
	rxdv-skew-ps = <0>;
	rxc-skew-ps = <2000>;
};
Loading