LS1021A boot problem at floating USB power pins

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LS1021A boot problem at floating USB power pins

Jump to solution
1,829 Views
davidkimi
Contributor II

Hi,
I made a custom board based on TWR-LS1021A board and removed unused signal and ports on it as described in AN4878.
Now my problem is my board stop before running u-boot code.

i compiled u-boot v2017.07 with enabled DEBUG opthion in config files and output is here:

U-Boot SPL 2017.07 (Oct 28 2019 - 16:42:26)
>>spl:board_init_r()
using memory 0x82100000-0x82200000 for malloc()
spl_early_init()
Trying to boot from MMC1
spl: mmc boot mode: raw
hdr read sector e8, count=1
spl: payload image: U-Bo load addr: 0x81ffffc0 size: 497307
read 3cc sectors to 81ffffc0
Jumping to U-Boot
loaded - jumping to U-Boot...
image entry point: 0x82000000

<stay here and no more activity>

after many research and debug, i found the problem.
when i remove R167 and R182 from TWR-LS1021A board (this removes USB power from the chip), i saw the same problem and output log on the TWR-LS1021A board.
i don't need usb ports in my custom board and as described in AN4878 (Table 3), i left no connect and floating the USB1_SDVDD, USB1_SPVDD, USB1_SXVDD and USB_HVDD pins.
in addition i see when i mount only R182 on the TWR-LS1021A board, it boots normaly.

Whats the problem and what can i do?

thanks.

Labels (1)
0 Kudos
Reply
1 Solution
1,700 Views
davidkimi
Contributor II

I found the problem and solution.
all USB digital and analog supply pins floats in my board and its okay and no problem as described in AN4878 Rev. 5.
but in u-boot source USB registers written in "arch/arm/cpu/armv7/ls102xa/soc.c" file by erratum_a009008(), erratum_a009798(), erratum_a008997() and erratum_a009007() Regardless of enable or disable USB in config files.

Solution:

if no one uses USB in hardware design, must comments next lines in "arch/arm/cpu/armv7/ls102xa/soc.c" file also:

//erratum_a009008();
//erratum_a009798();
//erratum_a008997();
//erratum_a009007();

Thanks of Pavel and good luck.

View solution in original post

0 Kudos
Reply
5 Replies
1,701 Views
davidkimi
Contributor II

I found the problem and solution.
all USB digital and analog supply pins floats in my board and its okay and no problem as described in AN4878 Rev. 5.
but in u-boot source USB registers written in "arch/arm/cpu/armv7/ls102xa/soc.c" file by erratum_a009008(), erratum_a009798(), erratum_a008997() and erratum_a009007() Regardless of enable or disable USB in config files.

Solution:

if no one uses USB in hardware design, must comments next lines in "arch/arm/cpu/armv7/ls102xa/soc.c" file also:

//erratum_a009008();
//erratum_a009798();
//erratum_a008997();
//erratum_a009007();

Thanks of Pavel and good luck.

0 Kudos
Reply
1,700 Views
Pavel
NXP Employee
NXP Employee

Is the LS1021a USB1_SDVDD not connected (floating) on your board?

Have a great day,
Pavel Chubakov

0 Kudos
Reply
1,700 Views
davidkimi
Contributor II

Yes, it's not connected on my board.

Thanks.

0 Kudos
Reply
1,700 Views
Pavel
NXP Employee
NXP Employee

Previous revision of the AN4878 Rev. 3 contains the following recommendation for the LS1021a USB1_SDVDD:

Not Used - Must remain powered

 

It looks like the AN4878 Rev. 5 is not fully correct.

Have a great day,
Pavel Chubakov

 

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply
1,700 Views
davidkimi
Contributor II

Hi Pavel Chubakov,

thank you for your comments.

It's maybe a bad documentation from NXP. the last revision of AN4878 is rev. 5 that exists on the NXP web site and not earlier rev.

the USB1_SDVDD pin is not accessible on the board (BGA pkg) and i don't have enough time to rebuild another board so i need a software solution.

if the problem is a silicon bug, so the SPL shouldn't run too. i removed all USB defines from config header files of TWR board at u-boot code but without any effect in boot sequences.

is there any infinite while loop that waits for the USB's PLLs to be locked in u-boot or in chip hardware?

if it's a software loop, i can bypass it in the u-boot code easily.

Thanks.

0 Kudos
Reply