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.
Hi expert
We using dp83tg720r on our board, but i have issue about config to mii loopbakc mode.
firstly, I write 0x4140->0x0, 0x1004->0x619, read out check what i write is correct.
Secondly, I refer this chapter, using DP83867 can ping same ip, so mii loopback mode is worked,
So, my question is why i can't receiver my MAC data back? And ask one right register config for mii loopback.
Thanks a lot.
Hello Herry,
Can you send me the entire screenshot of all register writes and reads so I can verify?
Also have you tried reading the registers 0x063C, 0x063D, and 0x063E in sequence?
Regards,
Avtar
Hello Herry,
There seems to be no data being received, is there a packet generator sending data to the PHY at this time?
Regards,
Avtar
yes, after set to mii loopback mode, i will ping same ip
I verify this method is OK on AM62 eval board, but that phy is DP83867.
So i need to know what is the problem i face, thanks
Hello Herry,
Are you using the DP83TG720 EVM in your testing?
Can you send me a block diagram or picture of your setup so I can understand the scenario?
Regards,
Avtar
No, we design a custom board, SOC connect DP83TC720R with RGMII, Now is in BBU statue.
So i need to enable can communication.
Hello Herry,
To further clarify, where are you seeing the DP83867 being present in the driver or commands?
Regards,
Avtar
Hello Herry,
Thank you for the clarity. From my understanding you are pinging to the DP83867 and not the DP83TG720 correct? Are both PHY's present on your setup? Can you send me a block diagram of how you are pinging and where you are pinging to?
Regards,
Avtar
Hi Avtar
No, i have two boards, different is PHY, DP83867 is for verify my method is correct.
Now we need to support aotumotive product, so change PHY to DP83TC720.
Hi Avtar
Can you tell me what i set mii loopback mode is correct?
In normal mode , i can send data , beacuse LED is active, but i set as what i said, couldn't send any data out. thanks
Hello Herry,
Yes the register write you selected is the correct one, writing register 0000 to 4140. In loopback mode you will need to supply a packet generator in order for packets to go through the loopback.
Regards,
Avtar
HI Avtar
Thanks, but due to DP83TC720 only support 1000M mode , but CPSW is still in 100M mode , so i need some time to verify it.
Hi Avtar
Due to CPSW in uboot i don't know how to set to 1000M mode , so i move to kernel to verify my board. In uboot, yellow LED can blink when i send out data.
So strange thing, i only write register 0000 to 4140, it can loopbak, but the yellow LED not blink, but i can capture loopback data.
At same time , 0x63c always zero.
Hello Herry,
Is LED1 GPIO programmed for blink on activity? Also are you saying that you can send data through the loopback, verify it went through and it works the only issue is that the LED isnt blinking?
Regards,
Avtar
Hi Avtar
Yes, LED1 set to link OK + blink on TX/RX activity.
I send data from MAC, and can capture data at TX & RX, but LED not blink at mii loopmode.
But i set to PCS loopbak, it can blink.
Another question, DP83TG720 connect to MAC with RGMII, i want to check MAC packet statue throught set 0x0619 should be 0x1005? not 0x1555, correct?
Hello Herry,
When you do xMII loopback the LED1 wont blink on TX/RX activity the only way to verify the loopback path is checking it on the mac side. For PCS loopback because the loopback is closer to MDI side it will blink.
For RGMII loopback setting 0x0619 isnt necessary.
Regards,
Avtar
Hi Avtar
Thanks a lot your reply. Now PCS loopback can send back data & LED blink, but 0x63c still not correct, so i need to 100% confirm PHY status is right, then i can check why CPSW DMA is still empty.
So can you help me to make packet statues is right? Now i set 0x0016 to 0x0101, 0x619 to 0x1004 or 0x1005, then read 0x63c , first read i can read out a value, but it wouldn't be change, that's why?
Hello Herry,
I am a little confused on your question, are you asking if you set those registers and then read 0x063C you are seeing a value not changing?
Regards,
Avtar
Hi Avtar
Sorry for my english.
After power on, i set 0x101 to 0x16, set 0x1005 to 0x619. set to PCS loopback mode. send some 10 messages, then can read 0xa form ox63c, but whatever how many messages i send , or 0x63c i read, is always 0xa, never changing.
Hello Herry,
If you see in the DP83TG720 data sheet, under register 0x063C section:
Register is cleared when 0x3C, 0x3D, 0x3E are read in sequence
So you have to read 0x063C, then 0x063D, and then 0x063E, only then will 0x063C be cleared and you can read again.
Regards,
Avtar