Thank you for replying. It will be helpful to me.
I did this list below before your answer.
1. LS1021a and DM8806 interface is MII.
2. NCW setting of EC1(eTSEC1), EC2(eTSEC2) is MII.
3. According to L2 ethernet switch datasheet, auto-negotiation is disabled. L2 SW FORCED setting is done.
(1) Force Mode Enable.
(2) Force Link ON.
(3) Force Duplex : Full-duplex mode.
(4) Force Speed : 100M
4. temporarily setting : SRDS_PRTCL_S1(bit 128 - 135) = 0x00 to avoid setting SGMII.(will be updated soon as your answer, Section 32.1.1.1.2.1).
5. phy address is modified to refer to DM8806 datasheet.
The result is NO MORE Tx buffers full. Buffer problem is gone. but, ping still isn't working.
Serial log can be seen below.
=========================================================================
=> ping 192.168.1.61
ecntrl init = 0x2d10020 : 0x1000 : 0x1000
maccfg2 init = 0x2d10504 : 0x7105 : 0x7105
priv->interface = 0x0
phy_read: addr = 0x2, devad = 0xffffffff, regnum = 0x1
phy_read: addr = 0x2, devad = 0xffffffff, regnum = 0x1
phy_read: addr = 0x2, devad = 0xffffffff, regnum = 0x0
bmcr = 0x2100, speed = 0x64, duplex = 0x1
eTSEC1: link.
adjust_link() ecntrl = 0x2d10020 : 0x1000
Speed: 100, full duplex
Using eTSEC1 device
arp_raw_request(): eth_hdr_size, = 14, ARP_HDR_SIZE = 28
eth_send(): fffeca80, len = 42
tsec_send(): fffeca80, len : 42
status0 : 0x0
len : 42
tpkt addr = [0x2d106e4]0x1000000, data = 0x1
rpkt addr = [0x2d106a0]0x0, data = 0x0
tbyt addr = [0x2d106e0]0x40000000, data = 0x40
rbyt addr = [0x2d1069c]0x0, data = 0x0
ecntrl addr = [0x2d10020]0x8100000, ecntrl = 0x1008
maccfg1 addr = [0x2d10500]0x7000000, maccfg1 = 0x7
maccfg2 addr = [0x2d10504]0x5710000, maccfg2 = 0x7105
arp_raw_request(): eth_hdr_size, = 14, ARP_HDR_SIZE = 28
eth_send(): fffeca80, len = 42
tsec_send(): fffeca80, len : 42
status0 : 0x2000
len : 42
tpkt addr = [0x2d106e4]0x2000000, data = 0x2
rpkt addr = [0x2d106a0]0x0, data = 0x0
tbyt addr = [0x2d106e0]0x80000000, data = 0x80
rbyt addr = [0x2d1069c]0x0, data = 0x0
ecntrl addr = [0x2d10020]0x8100000, ecntrl = 0x1008
maccfg1 addr = [0x2d10500]0x7000000, maccfg1 = 0x7
maccfg2 addr = [0x2d10504]0x5710000, maccfg2 = 0x7105
ping failed; host 192.168.1.61 is not alive
=>
=========================================================================
As TPKT, TBYT register value, ping packet is seen to be SENT. but L2SW(DM8806) DID NOT receive any ping packet.
I need:
1. Example of block diagram between LS1021a and DM8806(or any other L2 SW) WITH "MII" connection.
2. Example of essential HW "MII" pin connection and configuration in ls1021a.
3. Essential "MII" configuration IN U-BOOT ls1021a.
I'll follow your answer(the Section 32.1.1.1.2.1 of the LS1021A Reference Manual for SERDES disabling), and report soon.
Thank you very much, and have a nice day.