[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4688: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4690: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4691: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4692: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3823)
Parallella Community • View topic - USB workaround

USB workaround

Hardware related problems and workarounds

Re: USB workaround

Postby ESI » Sat Sep 06, 2014 9:00 am

Hi there,
I did some digging in the data sheets. In my opinion the problem could be the initialization of the MIO pins for the ULPI.
After reset the MIO-pins for ULPI are configured input with pullup (3.3v).
In 15.16.1 of the Zynq TRM the order of initialization is mentioned, the STP pin is configured last. In the FSBL the STP pin is configured after ULPIDATA(4) and DIR and before of the rest of the pins - I took this information by making an FSBL-from scratch, based on the ps7_system_prj.xml-file. If someone could provide the actual FSBL source (ps7_init.c) I could check again.
The other pins will be configured right after this, but I guess the CPU is not running at full speed, because ARM-PLL and IO-PLL are configured after that. The USB-Controller IPCore (which signals the STP) is not held in reset by default, so I guess the STP could be 0 after configuring the MIO-pin for it. In this case we are signalling the PHY "ok to go" while we are still configuring the rest of the pins, and then configuring (and waiting for lock) the PLL for the core and io.
All while the USB core is not held in reset. My guessing is, that this could be very confusing for the PHY...

Possible solutions (IMHO):
The correct order should be:
USB-IPCore th reset
Confgure MIO-Pins - STP should be last - (to check STP is signalled 1, if USB-IPCore is in reset)
deassert reset after all PLL setting are done
This could be done in two ways:
1. edit FSBL (by hand), to the correct order of initialization
2. deactivate USB from Plattform Studio-project and generate FSBL, so MIO-Pins are not touched by FSBL. The do init in uboot.

sorry for only sharing the info without really doing it, I will try to do it, if I find time,
meanwhile, if someone else finds the time.....
BR
Joerg
ESI
 
Posts: 29
Joined: Mon Dec 17, 2012 3:22 am

Re: USB workaround

Postby aolofsson » Sat Sep 06, 2014 12:32 pm

Hi Joerg,
Thank you so much for digging into this!! We are in the middle of generating and verifying a new FSBL through Vivado. Once that is done we will verify your proposed workaround.
Andreas
User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA

Re: USB workaround

Postby ESI » Sat Sep 06, 2014 1:52 pm

Hi Andreas,
is there a ps7_init.c-file within this FSBL? It usually comes with the BSP.
If you could provide it, I couls\d check, how USB init is handled...
BR
Joerg
ESI
 
Posts: 29
Joined: Mon Dec 17, 2012 3:22 am

Re: USB workaround

Postby DAB-Embedded » Tue Sep 09, 2014 7:22 pm

Hi, on my board is the same problem with USB PHY.

My workaround: On my board U17 was not installed. U17 pad has BOARD_RESET_L pin 27, and pin 29 - P1_USB_STP. I short this pins, setup MIO42 as GPIO and reset line BOARD_RESET_L in bootloader.
DAB-Embedded
 
Posts: 6
Joined: Tue Sep 09, 2014 7:04 pm

Re: USB workaround

Postby aolofsson » Tue Sep 09, 2014 8:49 pm

That is an awesome hack!!
User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA

Re: USB workaround

Postby aolofsson » Tue Sep 09, 2014 9:06 pm

User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA

Re: USB workaround

Postby DAB-Embedded » Wed Sep 10, 2014 9:51 am

DAB-Embedded
 
Posts: 6
Joined: Tue Sep 09, 2014 7:04 pm

Re: USB workaround

Postby ESI » Wed Sep 10, 2014 7:57 pm

Andreas,
in my experience c and tcl are the same. This tcl shows the same behaviour 0xf8000770++ and 0f80007a4++ are just configured in ascending order(the MIO pins for the2 USBs). And in the main routine, the MIO are configured first, and then PLLs are configured. So the behavour should be the same.
Maybe I finde the time to try this in the next days,
BR
Joerg
ESI
 
Posts: 29
Joined: Mon Dec 17, 2012 3:22 am

Re: USB workaround

Postby Sean S » Wed Sep 17, 2014 11:46 am

Will a new image be released with instructions on a hardware mod?

Thanks
Sean
Sean S
 
Posts: 30
Joined: Mon May 19, 2014 5:30 pm

Re: USB workaround

Postby ka6s » Wed Oct 08, 2014 6:22 pm

Has there been any progress on this - I've been stopped in my tracks with this bug.

Steve
ka6s
 
Posts: 3
Joined: Sun Aug 17, 2014 1:07 pm

PreviousNext

Return to Troubleshooting

Who is online

Users browsing this forum: No registered users and 3 guests

cron