News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

TE0720-2if unreliable USB in build using Petalinux 2018.2

Started by danwwright, March 23, 2019, 10:30:57 PM

Previous topic - Next topic

danwwright

Hi-

I had been working with a TE0720-2if and I had been starting my petalinux 2018.2 builds from te0720-test_board-vivado_2018.2-build_03_20180823185142 and it had been working well.

However I then needed to change the frequency of a PL fabric clock FCLK_CLK0 whose adjustment (I eventually learned) gets into the fsbl in petalinux from my Vivado design by the export of a .hdf that is added to the petalinux project.  So I did this and ran:  petalinux-config --get-hw-description  And now I have FCLK_CLK0 running at the new frequency.

Anyway since I started using the BOOT.BIN that I created as above the USB only comes up maybe once every 4 or 5 boots.  And I DO know that that the te_fsbl_hooks need to be added to the fsbl build or the USB will not function at all- but I already DID this.

When I say that the USB "doesn't come up" under Linux I mean that lsusb prints NOTHING.  On those too rare occasions that USB does come up I see this:

ubuntu@arm:~$ lsusb
Bus 001 Device 002: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

(I have a USB wifi dongle attached.)

Any ideas as to what the problem might be?

Thanks!
Dan



JH

Hi,
are there more differences on PS IP compared to our reference design?
Vivado/SDK/Petalinux are all the same?
When you build the refernece design without changes --> Vivado Project, petalinux project, FSBL and boot.bin. Does this works on your place?
br
John

danwwright

Yes there were significant differences from the test_board design.  In particular the Vivado block diagram has all of out logic in it and I had earlier modified the PS in the block diagram to enable interrupts from the PL to the PS, etc.

My hope was that for whatever .hdf describes our system can be fed to "petalinux-config --get-hw-description" and this will generate correct fsbl for our system.  However I learned that this approach does not provide the resetting of the USB phy that we rely on te_fsbl_hooks for.  So I add this manually after "petalinux-config --get-hw-description", "petalinux-config -c kernel" and "petalinux-build" run.  Then I run petalinux-build again.  Should that work- or there are other TE0720-specific changes needed for fsbl and/or u-boot?

JH

Hi,
all changes we have done are also described here (wiki  description is for  2018.3, but 2018.2 is as PDF also on the download area available):
FSBL: https://wiki.trenz-electronic.de/display/PD/TE0720+Test+Board#TE0720TestBoard-zynq_fsbl.1
Linux: https://wiki.trenz-electronic.de/display/PD/TE0720+Test+Board#TE0720TestBoard-SoftwareDesign-PetaLinux

Sources are available on the download area.
We generate FSBL and Boot.bin with SDK. FSBL Template for SDK is included into the download and can be load into SDK as local repository.

Not everything will updated automatically with "petalinux-config --get-hw-description".  This can change with every Vivado/Petalinux version.

br
John

danwwright

Hi John-

Thanks for the info.  We had always been generating fsbl in petalinux but I'll try it from SDK.

You say "FSBL Template for SDK is included into the download and can be load into SDK as local repository.".  Yes I do find the fsbl source in sw_lib/sw_apps/zynq_fsbl.  I could manually create a project in SDK and then add all of this source- but is there some more reliable automated way of doing this?  And where are we informing the SDK that this is for the TE0720-2if rather than some other model?  Does SDK rely on whatever .hdf is specified for this info?

Also is there some way of printing out the TE0720 model number from the module?  I'd like to be certain that I have the model version right.

Thanks!
Dan

JH

Hi,
use our scripts or variant B from this documentation:
QuoteDoes SDK rely on whatever .hdf is specified for this info?
What  did you mean? It should, but only Xilinx know, what is used and what not.
Here are some links with Xilinx Release notes and known issues:
Module has a serial number (sticker with QR code and number), I can check if you send it to me.
For TE0720 series also some series notes are stored in the CPLD and will be readout(see UART Console on power up) with our FSBL.
brJohn