We are currently trying to bring up the DPAA interfaces on T4240QDS. We are trying to use the on-board ETH PHY MACs for enabling the DPAA (These are on RGMII)
We are using Yocto SDK 1.4 version and have followed the documentation in SDK to configure USDPAA
root@t4240qds:/usr/etc# fmc -c usdpaa_config_t4_serdes_1_1_6_6.xml usdpaa_policy_hash_ipv4.xml -a
ERR : Invocation of FM_PORT_Open for fm1/port/10G/0 failed
ERR : Invocation of FM_PCD_Disable for fm0/pcd failed with error code 0x00010028
Also while using uImage-t4240qds-usdpaa.dtb Ethernet links FM1-MAC5 and FM3-MAC5 are not getting detected. Only lo,sit0,tunl0 are present whereas in uImage-t4240qds.dtb we are able to set ip and also ping other sytems for fm1-mac5 and fm3-mac5.
Our uboot environment variables are
baudrate=115200
bdev=sda3
bootargs=root=/dev/mmcblk0p1 rw rootdelay=5 console=ttyS0,115200 usdpaa_mem=256M bportals=s0-1 qportals=s0-1
bootcmd=setenv bootargs root=/dev/mmcblk0p1 rw rootdelay=2 console=$consoledev,$baudrate;mmcinfo;ext2load mmc 0:1 $loadaddr $bootfile;ext2load mmc 0:1 $fdtaddr $fdtfile; bootm $loadaddr - $fdtaddr
bootdelay=3
bootfile=uImage
consoledev=ttyS0
eth10addr=00:04:9F:02:7A:39
eth11addr=00:04:9F:02:7A:3A
eth12addr=00:04:9F:02:7A:3B
eth13addr=00:04:9F:02:7A:3C
eth14addr=00:04:9F:02:7A:3D
eth15addr=00:04:9F:02:7A:3E
eth1addr=00:04:9F:02:7A:30
eth2addr=00:04:9F:02:7A:31
eth3addr=00:04:9F:02:7A:32
eth4addr=00:04:9F:02:7A:33
eth5addr=00:04:9F:02:7A:34
eth6addr=00:04:9F:02:7A:35
eth7addr=00:04:9F:02:7A:36
eth8addr=00:04:9F:02:7A:37
eth9addr=00:04:9F:02:7A:38
ethact=FM1@DTSEC5
ethaddr=00:04:9F:02:7A:2F
ethprime=FM1@DTSEC5
fdtaddr=0x17200000
fdtfile=uImage-t4240qds.dtb
fileaddr=1000000
filesize=46573C
fman_ucode=0xeff40000
gatewayip=192.168.1.1
hwconfig=fsl_ddr:ctlr_intlv=3way_4KB,bank_intlv=auto;fsl_fm1_xaui_phy:xfi;fsl_fm2_xaui_phy:xfi
ipaddr=10.116.65.141
loadaddr=0x10000000
netdev=eth0
netmask=255.255.255.0
nfsboot=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=$consoledev,$baudrate $othbootargs;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr - $fdtaddr
ramboot=setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr $ramdiskaddr $fdtaddr
ramdiskaddr=2000000
ramdiskfile=t4240qds/ramdisk.uboot
rcw=t4240rcw
rcw_spi=mw.w ffdf0060 2201;qixis_reset altbank
rcwemmc=mw.w ffdf0060 2000
rootpath=/opt/nfsroot
sataboot=setenv bootargs root=/dev/sda1 rootdelay=5 rw console=$consoledev,$baudrate $othbootargs;bootm e8020000 - e8800000
sdboot=setenv bootargs root=/dev/mmcblk0p1 rw rootdelay=5 console=ttyS0,115200; ext2load mmc 0:1 $loadaddr $bootfile; ext2load mmc 0:1 $fdtaddr $fdtfilel bootm $loadaddr - $fdtaddr
serverip=10.116.65.150
stderr=serial
stdin=serial
stdout=serial
tftpflash=tftpboot $loadaddr $uboot && protect off $ubootaddr +$filesize && erase $ubootaddr +$filesize && cp.b $loadaddr $ubootaddr $filesize && protect on $ubootaddr +$filesize && cmp.b $loadaddr $ubootaddr $filesize
tftprcw=tftpboot $loadaddr $rcw && mmcinfo && mmc write 1000000 8 1
uboot="u-boot.bin"
ubootaddr=0xeff80000
Thanks,
Amit
Original Attachment has been moved to: bootlog.zip
Original Attachment has been moved to: rcw_1_1_6_6_1666MHz.rcw.zip
Original Attachment has been moved to: t4240qds-usdpaa.dts.zip
Solved! Go to Solution.
Please check the following whether you missed something.
On the target board
$ cd /usr/etc
$ fmc -c {Serdes Config File} -p {Policy File} -a
$ reflector -c {Serdes Config File} -p {Policy File}
You will launch reflector and enter reflector prompt.
reflector> help
reflector> add 0..{ Num of cores - 1 }
On the Linux host side, add ARP records
arp -s { target IP } { Port Mac Addr }
Then Ping { IP }
If you problem remains, please kindly share your Linux console log.
Have a great day,
Yiping Wang
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
There is no 10G ethernet port on your target board, on T4240QDS you need to use the 10G ethernet port via XAUI.
Please modify the configuration file usdpaa_config_t4_serdes_1_1_6_6.xml to use 1G ethernet ports instead of 10G ports.
In addition, if you boot the system with USDPAA device tree, the ethernet ports FM1-MAC5 and FM3-MAC5 are assigned to USDPAA, so you cannot see and configure them in Linux.
Have a great day,
Yiping Wang
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hello Wang,
Thanks for your reply. After commenting the 10G ethernet port from the usdpaa_config_t4_serdes_1_1_6_6.xml file we are able to run the reflector app without any error. And we understand that FM1-MAC5 and FM2-MAC5 are assigned to USDPAA and not connected to linux network stack. But for the testing of reflector app, I need to ping T4240 from my host linux machine.
Quote from the documentation
Functional testing of the "reflector" application is possible by connecting any subset of the P4080 USDPAA network interfaces to a conventional computer, assumed to be a Linux PC using an ethernet switch.The figure assumes that the default USDPAA SerDes 0xe reset configuration word (RCW) is used. This configuration provides 2 x 10 Gbps and 2 x 1 Gbps ethernet interfaces to the USDPAA application. The test case in the figure assumes that only the 2 x 1 Gbps interfaces will be used. These are the two interfaces on the SGMII riser card that are closest to the P4080DS motherboard. This test will work even if 10 Gbps XAUI riser cards are not fitted in the P4080DS.
See the main USDPAA User Guide for more information on network interfaces.
To perform the test, boot the P4080 and run the example application as described in section Running reflector.
The IP and ethernet MAC addresses used below are examples. You can change them as long as you are consistent. The most important thing is to be sure of the MAC addresses on the P4080DS board. Again, see the main USDPAA User Guide.
On the Linux PC, create eth0:1 through eth0:3 via, for example:
sudo ifconfig eth0:1 192.168.10.1 netmask 255.255.255.0sudo ifconfig eth0:2 192.168.20.1 netmask 255.255.255.0The reflector application does not respond to ARP requests, so static ARP entries for all of the P4080 USDPAA interfaces must be created on the Linux PC:
sudo arp -s 192.168.10.2 00:04:9F:77:4E:07sudo arp -s 192.168.20.2 00:04:9F:77:4E:08Then, from the Linux PC ping one of the P4080 interfaces, e.g. "ping 192.168.10.2".
End Quote
I followed this documentation with IP address and MAC address modified but I was not able to ping any of the two ethernet ports. Can you please guide us on some configuration that we are missing here.
Thanks
Amit
Please check the following whether you missed something.
On the target board
$ cd /usr/etc
$ fmc -c {Serdes Config File} -p {Policy File} -a
$ reflector -c {Serdes Config File} -p {Policy File}
You will launch reflector and enter reflector prompt.
reflector> help
reflector> add 0..{ Num of cores - 1 }
On the Linux host side, add ARP records
arp -s { target IP } { Port Mac Addr }
Then Ping { IP }
If you problem remains, please kindly share your Linux console log.
Have a great day,
Yiping Wang
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thanks Wang. It worked. I am able to ping now.