DART-6UL Ethernet: Difference between revisions

From Variscite Wiki
Line 17: Line 17:


<syntaxhighlight lang="diff">
<syntaxhighlight lang="diff">
diff --git a/arch/arm/boot/dts/imx6ul-var-dart.dtsi b/arch/arm/boot/dts/imx6ul-var-dart.dtsi
diff --git a/arch/arm/boot/dts/imx6ul-imx6ull-var-dart-common.dtsi b/arch/arm/boot/dts/imx6ul-imx6ull-var-dart-common.dtsi
index 6ccbca1..6931f79 100644
index f79a356..032ed00 100644
--- a/arch/arm/boot/dts/imx6ul-var-dart.dtsi
--- a/arch/arm/boot/dts/imx6ul-imx6ull-var-dart-common.dtsi
+++ b/arch/arm/boot/dts/imx6ul-var-dart.dtsi
+++ b/arch/arm/boot/dts/imx6ul-imx6ull-var-dart-common.dtsi
@@ -163,16 +163,6 @@
@@ -159,17 +159,6 @@
        phy-reset-duration=<100>;
phy-reset-on-resume;
        phy-handle = <&ethphy0>;
phy-handle = <&ethphy0>;
        status = "okay";
status = "okay";
-};
-};
-
-
-&fec2 {
-&fec2 {
-       pinctrl-names = "default";
- pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_enet2>;
- pinctrl-0 = <&pinctrl_enet2>;
-       phy-mode = "rmii";
- phy-mode = "rmii";
-       phy-handle = <&ethphy1>;
- phy-handle = <&ethphy1>;
-       phy-reset-gpios=<&gpio1 10 1>;
- phy-reset-gpios=<&gpio1 10 1>;
-       phy-reset-duration=<100>;
- phy-reset-duration=<100>;
-       status = "okay";
- phy-reset-on-resume;
        mdio {
- status = "okay";
                #address-cells = <1>;
mdio {
                #size-cells = <0>;
#address-cells = <1>;
@@ -184,14 +174,6 @@
#size-cells = <0>;
                        clock-names = "rmii-ref";
@@ -181,14 +170,6 @@
                        reg = <1>;
clock-names = "rmii-ref";
                };
reg = <1>;
};
-
-
-               ethphy1: ethernet-phy@3 {
- ethphy1: ethernet-phy@3 {
-                       compatible = "ethernet-phy-ieee802.3-c22";
- compatible = "ethernet-phy-ieee802.3-c22";
-                       micrel,rmii-reference-clock-select-25-mhz;
- micrel,rmii-reference-clock-select-25-mhz;
-                       clocks = <&rmii_ref_clk>;
- clocks = <&rmii_ref_clk>;
-                       clock-names = "rmii-ref";
- clock-names = "rmii-ref";
-                       reg = <3>;
- reg = <3>;
-               };
- };
        };
};
  };
  };
 
@@ -463,8 +445,8 @@
@@ -460,8 +441,8 @@
                                MX6UL_PAD_CSI_HSYNC__GPIO4_IO20         0x1b0b0 /* LED 1 */
fsl,pins = <
                                MX6UL_PAD_CSI_DATA00__GPIO4_IO21        0x1b0b0 /* LED 2 */
MX6UL_PAD_CSI_HSYNC__GPIO4_IO20 0x1b0b0 /* User LED */
                                MX6UL_PAD_GPIO1_IO00__GPIO1_IO00       0x17059 /* User Button */
MX6UL_PAD_GPIO1_IO00__GPIO1_IO00 0x17059 /* User Button */
-                               MX6UL_PAD_GPIO1_IO07__ENET2_MDC         0x1b0b0
- MX6UL_PAD_GPIO1_IO07__ENET2_MDC 0x1b0b0
-                               MX6UL_PAD_GPIO1_IO06__ENET2_MDIO       0x1b0b0
- MX6UL_PAD_GPIO1_IO06__ENET2_MDIO 0x1b0b0
+                               MX6UL_PAD_GPIO1_IO07__ENET1_MDC         0x1b0b0
+ MX6UL_PAD_GPIO1_IO07__ENET1_MDC 0x1b0b0
+                               MX6UL_PAD_GPIO1_IO06__ENET1_MDIO       0x1b0b0
+ MX6UL_PAD_GPIO1_IO06__ENET1_MDIO 0x1b0b0
                                MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04      0x1b0b0 /* BT Enable */
#ifdef WIFI
                                MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00      0x1b0b0
MX6UL_PAD_GPIO1_IO03__REF_CLK_32K 0x03029 /* WLAN Slow Clock */
                        >;
#endif
@@ -483,20 +465,6 @@
@@ -481,20 +462,6 @@
                        >;
>;
                };
};
 
-               pinctrl_enet2: enet2grp {
- pinctrl_enet2: enet2grp {
-                       fsl,pins = <
- fsl,pins = <
-                               MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN     0x1b0b0
- MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN 0x1b0b0
-                               MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER     0x1b0b0
- MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER 0x1b0b0
-                               MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x1b0b0
- MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00 0x1b0b0
-                               MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x1b0b0
- MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01 0x1b0b0
-                               MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN     0x1b0b0
- MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN 0x1b0b0
-                               MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x1b0b0
- MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00 0x1b0b0
-                               MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x1b0b0
- MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01 0x1b0b0
-                               MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 0x4001b031
- MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2 0x4001b031
-                               MX6UL_PAD_JTAG_MOD__GPIO1_IO10         0x1b0b0
- MX6UL_PAD_JTAG_MOD__GPIO1_IO10 0x1b0b0
-                       >;
- >;
-               };
- };
-
-
                pinctrl_flexcan1: flexcan1grp{
pinctrl_flexcan1: flexcan1grp{
                        fsl,pins = <
fsl,pins = <
                                MX6UL_PAD_LCD_DATA09__FLEXCAN1_RX       0x1b020
MX6UL_PAD_LCD_DATA09__FLEXCAN1_RX 0x1b020
</syntaxhighlight>
</syntaxhighlight>


Note: You can follow the "Build Linux from source code" guide to get the Linux kernel source, apply the above patch, build ''only'' the device trees and copy them to your SD card.
Notes:<br>
- You can follow the "Build Linux from source code" guide to get the Linux kernel source, apply the above patch, build ''only'' the device trees and copy them to your SD card.<br>
- On older kernel releases the relevant file to edit is called imx6ul-var-dart.dtsi

Revision as of 09:28, 9 November 2017

DART-6UL - Ethernet

Testing

There are two 100MB/s ports on the kit, eth0 & eth1.

On Host:

$ ifconfig   (to get the IP address)
$ iperf3 -s

On Client:

$ iperf3 -c <IP_ADDRESS_OF_IPERF_SERVER> -u -b 100M

Using only one Ethernet port

Apply the following patch to the Linux kernel source, for removing the second Ethernet port, in case your own custom carrier board only has one and doesn't have the second Ethernet phy:

diff --git a/arch/arm/boot/dts/imx6ul-imx6ull-var-dart-common.dtsi b/arch/arm/boot/dts/imx6ul-imx6ull-var-dart-common.dtsi
index f79a356..032ed00 100644
--- a/arch/arm/boot/dts/imx6ul-imx6ull-var-dart-common.dtsi
+++ b/arch/arm/boot/dts/imx6ul-imx6ull-var-dart-common.dtsi
@@ -159,17 +159,6 @@
 	phy-reset-on-resume;
 	phy-handle = <&ethphy0>;
 	status = "okay";
-};
-
-&fec2 {
-	pinctrl-names = "default";
-	pinctrl-0 = <&pinctrl_enet2>;
-	phy-mode = "rmii";
-	phy-handle = <&ethphy1>;
-	phy-reset-gpios=<&gpio1 10 1>;
-	phy-reset-duration=<100>;
-	phy-reset-on-resume;
-	status = "okay";
 	mdio {
 		#address-cells = <1>;
 		#size-cells = <0>;
@@ -181,14 +170,6 @@
 			clock-names = "rmii-ref";
 			reg = <1>;
 		};
-
-		ethphy1: ethernet-phy@3 {
-			compatible = "ethernet-phy-ieee802.3-c22";
-			micrel,rmii-reference-clock-select-25-mhz;
-			clocks = <&rmii_ref_clk>;
-			clock-names = "rmii-ref";
-			reg = <3>;
-		};
 	};
 };
 
@@ -460,8 +441,8 @@
 			fsl,pins = <
 				MX6UL_PAD_CSI_HSYNC__GPIO4_IO20		0x1b0b0	/* User LED */
 				MX6UL_PAD_GPIO1_IO00__GPIO1_IO00	0x17059	/* User Button */
-				MX6UL_PAD_GPIO1_IO07__ENET2_MDC		0x1b0b0
-				MX6UL_PAD_GPIO1_IO06__ENET2_MDIO	0x1b0b0
+				MX6UL_PAD_GPIO1_IO07__ENET1_MDC		0x1b0b0
+				MX6UL_PAD_GPIO1_IO06__ENET1_MDIO	0x1b0b0
 #ifdef WIFI
 				MX6UL_PAD_GPIO1_IO03__REF_CLK_32K	0x03029	/* WLAN Slow Clock */
 #endif
@@ -481,20 +462,6 @@
 			>;
 		};
 
-		pinctrl_enet2: enet2grp {
-			fsl,pins = <
-				MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN	0x1b0b0
-				MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER	0x1b0b0
-				MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00	0x1b0b0
-				MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01	0x1b0b0
-				MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN	0x1b0b0
-				MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00	0x1b0b0
-				MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01	0x1b0b0
-				MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2	0x4001b031
-				MX6UL_PAD_JTAG_MOD__GPIO1_IO10		0x1b0b0
-			>;
-		};
-
 		pinctrl_flexcan1: flexcan1grp{
 			fsl,pins = <
 				MX6UL_PAD_LCD_DATA09__FLEXCAN1_RX	0x1b020

Notes:
- You can follow the "Build Linux from source code" guide to get the Linux kernel source, apply the above patch, build only the device trees and copy them to your SD card.
- On older kernel releases the relevant file to edit is called imx6ul-var-dart.dtsi