VAR-SOM-MX7 Ethernet

From Variscite Wiki
VAR-SOM-MX7 - Ethernet

There are two 1Gigabit Ethernet ports on the kit, ETH1 and ETH2.

To run a performance test:
iperf3 server (on Target/Host):

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

iperf3 client (on Host/Target):

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

Using only one Ethernet port

Apply the following patch to the Linux kernel source, for removing the second Ethernet port:

diff --git a/arch/arm/boot/dts/imx7d-var-som.dtsi b/arch/arm/boot/dts/imx7d-var-som.dtsi
index 278b4b2553c3..18d7126e3070 100644
--- a/arch/arm/boot/dts/imx7d-var-som.dtsi
+++ b/arch/arm/boot/dts/imx7d-var-som.dtsi
@@ -255,29 +255,9 @@
                        compatible = "ethernet-phy-ieee802.3-c22";
                        reg = <0>;
                };
-
-               ethphy1: ethernet-phy@1 {
-                       compatible = "ethernet-phy-ieee802.3-c22";
-                       reg = <1>;
-               };
        };
 };
 
-&fec2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_enet2>;
-
-       assigned-clocks = <&clks IMX7D_ENET2_TIME_ROOT_SRC>,
-                         <&clks IMX7D_ENET2_TIME_ROOT_CLK>;
-       assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>;
-       assigned-clock-rates = <0>, <100000000>;
-       phy-mode = "rgmii";
-       phy-handle = <&ethphy1>;
-       phy-reset-gpios = <&gpio4 3 GPIO_ACTIVE_LOW>;
-       fsl,magic-packet;
-       status = "okay";
-};
-
 &mipi_csi {
        clock-frequency = <240000000>;
        status = "okay";
@@ -494,7 +474,6 @@
                                MX7D_PAD_GPIO1_IO14__GPIO1_IO14         0x80000000  /* bt reg on */
                                MX7D_PAD_EPDC_PWR_COM__GPIO2_IO30       0x80000000  /* capacitive touch irq */
                                MX7D_PAD_SD2_RESET_B__GPIO5_IO11        0x59  /* ethphy0 reset */
-                               MX7D_PAD_UART2_TX_DATA__GPIO4_IO3       0x59  /* ethphy1 reset */
                                MX7D_PAD_GPIO1_IO10__GPIO1_IO10         0x59  /* hsic hub reset */
                                MX7D_PAD_GPIO1_IO12__GPIO1_IO12         0x59  /* hsic hub connect */
                                MX7D_PAD_GPIO1_IO13__GPIO1_IO13         0x59  /* LED */
@@ -568,23 +547,6 @@
                        >;
                };
 
-               pinctrl_enet2: enet2grp {
-                       fsl,pins = <
-                               MX7D_PAD_EPDC_GDSP__ENET2_RGMII_TXC             0x1
-                               MX7D_PAD_EPDC_SDCE2__ENET2_RGMII_TD0            0x1
-                               MX7D_PAD_EPDC_SDCE3__ENET2_RGMII_TD1            0x1
-                               MX7D_PAD_EPDC_GDCLK__ENET2_RGMII_TD2            0x1
-                               MX7D_PAD_EPDC_GDOE__ENET2_RGMII_TD3             0x1
-                               MX7D_PAD_EPDC_GDRL__ENET2_RGMII_TX_CTL          0x1
-                               MX7D_PAD_EPDC_SDCE1__ENET2_RGMII_RXC            0x1
-                               MX7D_PAD_EPDC_SDCLK__ENET2_RGMII_RD0            0x1
-                               MX7D_PAD_EPDC_SDLE__ENET2_RGMII_RD1             0x1
-                               MX7D_PAD_EPDC_SDOE__ENET2_RGMII_RD2             0x1
-                               MX7D_PAD_EPDC_SDSHR__ENET2_RGMII_RD3            0x1
-                               MX7D_PAD_EPDC_SDCE0__ENET2_RGMII_RX_CTL         0x1
-                       >;
-               };
-
                pinctrl_flexcan2: flexcan2grp {
                        fsl,pins = <
                                MX7D_PAD_I2C3_SCL__FLEXCAN2_RX          0x59

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.