Part Number: DRA829VXEVM
Is it possible to connect two DRA829 EVMs in MAC to MAC mode using SGMII connection?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Part Number: DRA829VXEVM
Is it possible to connect two DRA829 EVMs in MAC to MAC mode using SGMII connection?
Introduction
On DRA829VXEVM the PCIe x2 lane slot can be used to connect two EVMs in SGMII MAC to MAC mode using a PCIe cable.
This PCIe slot (PCIE1) is connected to SERDES1 instance.
Patches & Binaries
Configuration
Software Changes
Note: If EVM1/2 not specified, then changes apply to both EVMs
EVM1 – SGMII Slave
EVM2 - SGMII Master
Component | Change | Patch/Change |
---|---|---|
U-boot |
Move loading of Main R5F0_0 from R5 SPL to A72 u-boot |
u-boot/uboot_disable_loading_main_r5_from_spl.patch |
Linux Kernel |
Disable SERDES1 configuration from Kernel dts files |
kernel/kernel_disable_serdes1.patch |
Increase number of RX, TX descriptor from 256 to 500 in cpsw9g virtual mac driver |
kernel/kernel_cpsw9g_virt_increase_rxtx_desc.patch | |
vision_app |
Switch to HDMI display instead of DP display |
vision_app/vision_app_disable_eDP.patch |
Use static IP configuration in NDK (ndk.cfg) |
EVM1: vision_app/EVM1_ndk_static_ip.patch |
|
PDK |
Changes for configuring MAC port 2 to SGMII and corresponding SERDES configuration |
EVM1: pdk/EVM1_SGMII_MAC_MAC_configuration.patch EVM2: pdk/EVM2_SGMII_MAC_MAC_configuration.patch |
Steps to test
U-boot (PSDKLA)
# Apply the u-boot changes to <psdkla directory>/board-support/u-boot-2020.01+gitAUTOINC+f9b0d030d3-gf9b0d030d3/ cd <psdkla directory> make u-boot # Updated binary: <psdkla directory>/board-support/u-boot_build/r5/tiboot3.bin
Kernel components (PSDKLA)
# Apply the kernel changes to <psdkla directory>/board-support/linux-5.4.40+gitAUTOINC+66cf445b76-g66cf445b76 cd <psdkla directory> make linux # Updated binary: <psdkla directory>/board-support/linux-5.4.40+gitAUTOINC+66cf445b76-g66cf445b76/arch/arm64/boot/dts/ti/k3-j721e-common-proc-board.dtb <psdkla directory>/board-support/linux-5.4.40+gitAUTOINC+66cf445b76-g66cf445b76/arch/arm64/boot/dts/ti/k3-j721e-proc-board-tps65917.dtb <psdkla directory>/board-support/linux-5.4.40+gitAUTOINC+66cf445b76-g66cf445b76/drivers/net/ethernet/ti/j721e-cpsw-virt-mac.ko
PDK and vision_apps (PSDKRA)
# Apply the changes to pdk and vision_apps folder of PSDKRA cd <psdkra directory>/vision_apps make -s pdk ethfw vision_apps make linux_fs_install # Updated binary: <psdkra directory>/targetfs/lib/firmware/j7-main-r5f0_0-fw
Update the binaries on SD card (If you are using prebuilt binaries, copy j7-main-r5f0_0-fw-salve to EVM1 and j7-main-r5f0_0-fw-master to EVM2. Rename the files to j7-main-r5f0_0-fw)
# boot partition: /tiboot3.bin # rootfs partition: /boot/k3-j721e-common-proc-board.dtb /boot/k3-j721e-proc-board-tps65917.dtb /lib/modules/5.4.40-g66cf445b76/kernel/drivers/net/ethernet/ti/j721e-cpsw-virt-mac.ko /lib/firmware/j7-main-r5f0_0-fw
Boot the board and update the u-boot environment variable to load main R5F0_0 firmware by A72 u-boot (One time setting)
=> setenv rproc_fw_binaries "2 /lib/firmware/j7-main-r5f0_0-fw" => env save
Give static IP to eth1 interface in 192.168.1.x subnet and you can now ping both the EVMs from Linux
# EVM1 root@j7-evm:~# ifconfig eth1 192.168.1.103 netmask 255.255.255.0 up # EVM2 root@j7-evm:~# ifconfig eth1 192.168.1.104 netmask 255.255.255.0 up