We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Registered: ‎01-31-2013

Network Develpment Questions on ZCU102-rev1.0

hi xilinx:

I've one ultrascale MP zcu102-rev1.0 board, and I am trying to do some network development.
I use uboot on page [ http://www.wiki.xilinx.com/Zynq+UltraScale%EF%BC%8B+MPSoC+Ubuntu+part+2+-+Building+and+Running+the+Ubuntu+Desktop+From+Sources] to boot my system.
Situation 1:
When the uboot boot completes, the first situation is that I use tftp cmd to download my own image, just like
"setenv ipaddr"
"setenv serverip"
"tftp myimage 0x10000000"
"go 0x10000000"
After running into my own image, I can use GEM3 normally, the ping cmd can be correct executed.
Situation 2:
After running into my own image, if I load my own image on the QSPI flash after uboot completes, just like
"sf probe"
"sf read 0x10000000 0x200000 length of my image"
"go 0x10000000"
I found that GEM3 can not work. The image I run is the same of situation 1 and situation 2. I use DMA transfer medthod on GEM.
And under both situations, I can get phy link status correctly(plug in/out cables, auto-negotiate speed and so on).
First I think the phy may not init correctly, so I read the phy chip's datasheet(TI dp83867), and futher more, I dump all the phy regs' value(including MMD regs) of situation 1 and situation 2, then I compared with them, and I found it's the same.
Then I found that situation 2's problem is that after I set the "tx_start_pclk", the "transmit_go" will always be active. I've tried the same method to send data, under situation 1, the "transmit_go" will be inactive right over.
So it's rather confusing, the images are the same, but the results are different, I think uboot might do some init work that init the network, so if I use net cmd under uboot, and then I load my own image, the network will work.
I read the source code of uboot, found that it just init the GEM3_CLK[GEM3_REF_CTRL (CRL_APB) ], set MIO pins,and set some value of phy. it seems I've keep my init code the same as uboot, the clock is on, the MIO pins not modified since uboot, the init phy value is the same, but it doesn't work.
Finally, I tried to set RST_LPD_IOU0 (CRL_APB) with GEM3 reset, and then I perform the phy and clock init process, then I found GEM will not work of situation 1, just like situation 2, the "transmit_go" will always be active, it seems like DMA process never ends.
So I am rather confusing why, what the uboot does that it can use GEM, and what can I do to init GEM correctly right after load my own image from QSPI(without uboot init GEM and phy)
Can someone helps me figure it out?
Thank U verymuch.

^_^. 喵咿呜 @鱼猫饭
0 Kudos
1 Reply
Visitor bwasim
Registered: ‎12-01-2018

Re: Network Develpment Questions on ZCU102-rev1.0


Were you able to find a fix for this ? I'm facing the same issue here. 

0 Kudos