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 = <ðphy1>;
- 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.