Trenz Electronic GmbH Support Forum

Trenz Electronic Products => Trenz Electronic FPGA Modules => Topic started by: johnabel on September 05, 2019, 12:57:08 PM

Title: FSBL for SDK 2018.3 doesn't configure the Si5338, does it?
Post by: johnabel on September 05, 2019, 12:57:08 PM
If I got it right, the Si5338 is configured by si5338_init
that is called by   TE_XFsbl_TPSU_MODIFIED
Called by  TE_XFsbl_HookPsuInit_Custom
called by  TE_XFsbl_HookPsuInit
that is not called anywhere!!!

I added a call in   XFsbl_BoardInit:

   TE_XFsbl_HookPsuInit(); // JCA mod//
   Status = XFSBL_SUCCESS;
   goto END;


I also had to comment out all lines using   psu_status     in  TE_XFsbl_TPSU_MODIFIED  as they raised problems.

That seems to work
Title: Re: FSBL for SDK 2018.3 doesn't configure the Si5338, does it?
Post by: JH on September 06, 2019, 12:52:08 PM
Hi,
which download did you use? Can you send me the ZIP name.
When you boot with prebuilt Boot.bin, you see some outputs from FSBL ,also that he programs SI5338.


in te_xfsbl_hooks_te0803.c
SI programming is included in:
TE_XFsbl_TPSU_MODIFIED ()

this is used in TE_XFsbl_HookPsuInit_Custom() as long as USE_TE_PSU_FOR_SI_INIT is defined(it's done in  te_xfsbl_hooks_te0803.c )
--> this is the TE0803 specific fsbl part

te_xfsbl_hooks.c (general wrapper for Xilinx hooks and board c files)
TE_XFsbl_HookPsuInit use TE_XFsbl_HookPsuInit_Custom() init when ENABLE_TE_HOOKS_PSU is defined (it's done in  te_xfsbl_hooks.h)

And TE_XFsbl_HookPsuInit is used in Xilinx xfsbl_hooks.c
here I replaced Xilinx default PSU init with our modified one --> wich runs either xilinx default again or our modification.
this was necessary to write SI initialisation after I2C controller is activated  and before GTR will be initialised. Both are done  the xilinx psu init.

If GTR REF CLK is not available during GTR initialisation, it can happens that GTR works not properly. If you run xilinx psu init 2 time, it can happens that it boot stops (I didn't find out why), so I have split PSU init.

So te_xfsbl_hooks_te0803.c/h and are changes for TE0803 Starterkit only. All the  other code is resused on all ZynqMP design and the defines from te_xfsbl_hooks.h defines if default or custom changes are use (Wrapper for all functions xilinx had planned to add user code modifications for different board --> except split psu init).

So it should work on: TE0803-StarterKit-vivado_2018.3-build_05_20190507093424.zip


br

br
John




Title: Re: FSBL for SDK 2018.3 doesn't configure the Si5338, does it?
Post by: johnabel on September 06, 2019, 01:16:05 PM
I'm using FSBL from TE0803-StarterKit-vivado_2018.3-build_05_20190507093424.zip
I just made an image with the original (compiled) FSBL and could see the message it's configuring the Si5338...
I may have screwed up something on the way.... I'll keep an eye on that.
Thanks