Hi All,
I am using IMX6 development board Element 14 from boundary device.
My requirement is as follows :
1. i want my board to send pause frames while there is network congestion, need the register configuration details for PHY(Micrel : KSZ9021RL/RN chip) and IMX6 Ethernet engine
2. need information or user manual on SDMA used in ethernet
3. we don't see the pause frame count ENET_IEEE_T_FDXFC register getting incremented nor ENET_IEEE_T_MACERR gets incremented to say we have receive over flow error.
we are testign the board for 400Mbps and 1Gbps speed and run into RX FIFO over run and want to set the pause frame but dotn s
Hi,
Using a 3.14.28 kernel on a BD-SL-i.MX6 rev2 (6-20-13), I have made some testing and can see that ENET_IEEE_T_FDXFC is properly updated:
# devmem 0x02188270
0x00000000
# iperf3 -s
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from 192.168.1.50, port 57790
[ 5] local 192.168.1.34 port 5201 connected to 192.168.1.50 port 57792
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.00 sec 58.1 MBytes 487 Mbits/sec
[ 5] 1.00-2.00 sec 59.8 MBytes 501 Mbits/sec
[ 5] 2.00-3.00 sec 60.1 MBytes 505 Mbits/sec
[ 5] 3.00-4.00 sec 58.3 MBytes 487 Mbits/sec
[ 5] 4.00-5.00 sec 57.3 MBytes 483 Mbits/sec
[ 5] 5.00-6.00 sec 64.6 MBytes 542 Mbits/sec
[ 5] 6.00-7.00 sec 63.7 MBytes 532 Mbits/sec
[ 5] 7.00-8.00 sec 62.6 MBytes 527 Mbits/sec
[ 5] 8.00-9.00 sec 64.3 MBytes 540 Mbits/sec
[ 5] 9.00-10.00 sec 59.1 MBytes 494 Mbits/sec
[ 5] 10.00-10.01 sec 128 KBytes 299 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 5] 0.00-10.01 sec 611 MBytes 513 Mbits/sec 3607 sender
[ 5] 0.00-10.01 sec 608 MBytes 510 Mbits/sec receiver
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
^Ciperf3: interrupt - the server has terminated
# devmem 0x02188270
0x00004320
Looking at the source code, the PHY is definitely configured as supporting PAUSE frames:
linux-imx6/micrel.c at boundary-imx_3.14.28_1.0.0_ga · boundarydevices/linux-imx6 · GitHub
Also, ethtool also tells that the pause auto-negotiation is on:
# ethtool -a eth0
Pause parameters for eth0:
Autonegotiate: on
RX: off
TX: off
RX negotiated: on
TX negotiated: on
If for some reason the pause auto-negotiation is a problem, you can force it:
ethtool -A eth0 rx on tx on
The above will result in the call of fec_enet_set_pauseparam:
linux-imx6/fec_main.c at boundary-imx_3.14.28_1.0.0_ga · boundarydevices/linux-imx6 · GitHub
Please specify the kernel version you are using along with the distribution (Yocto, Debian/Ubuntu)?
As a reminder, you can download the latest images from Boundary Devices here:
https://boundarydevices.com/imx6-builds/
Regards,
Gary
Need some more info :
what is 64bit word mean in the Ethernet manual of IMX6 data sheet.
what is the RX FIFO size used in Ethernet configuration is it 1K or 2K ...??
Hi All,
Can any one help me to find the solution for configuring Ethernet on IMX6 : element 14 board with TX pause frame enabled so that board is able to transmit pause frames .