IMX6Q : Ethernet Configuration

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX6Q : Ethernet Configuration

2,606 Views
sureshmuniswamy
Contributor I

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

0 Kudos
3 Replies

1,367 Views
gary_bisson
Senior Contributor III

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

0 Kudos

1,367 Views
sureshmuniswamy
Contributor I

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 ...??

0 Kudos

1,367 Views
sureshmuniswamy
Contributor I

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 .

0 Kudos