[U-Boot] ls1021a: problem with errata A009007
Ran Wang
ran.wang_1 at nxp.com
Thu Jul 12 09:22:18 UTC 2018
Hi Heiko
> -----Original Message-----
<snip>
> >> Subject: ls1021a: problem with errata A009007
> >>
> >> Hello Ran Wang,
> >>
> >> I have ported successfully U-Boot to an ls1021a based board and works
> >> nice for the HW I have access to.
> >>
> >> Now the customer reports problems on his HW with
> >> SYS_FSL_ERRATUM_A009007
> >> which is always activated.
> >>
> >> Board does not boot, and crashes in erratum_a009007()
> >>
> >> (Sorry I have no logs ... nor access to this HW)
> >>
> >> Disabling this function, and U-Boot boots ...
> >>
> >> Customer states/confirmed me, that he has the same HW ...
> >>
> >> On the board USB is not used.
> >>
> >> Any ideas hints what can be wrong here?
> >>
> > I just re-reverified on latest upstream U-Boot with LS1021ATWR board. It
> worked fine.
> > You might need to know what kind of crash they encountered:
>
> I am sorry ... no debugger there ...
>
> > 1. That erratum workaround programming will happen before the UART
> > print activated, that means no log will show when writing those register,
> how does then know the crash?
>
> Good question ... they removed the erratum_a009007() function, and SPL /
> U-Boot booted fine ... but I think currently, the HW is bogus ...
> I cannot verify this with the HW i have ...
>
One simple way to verify if has HW issue on this programming is to manually do it with command mm.w:
Disable 9007 workaround, boot to U-Boot console:
=> md 851200c 1
0851200c: 00000000 ....
=> mm.w 851200c
0851200c: 800c ? 0
0851200e: 0000 ? q
=> mm.w 851200c
0851200c: 800c ? 8000
0851200e: 0000 ? q
=> mm.w 851200c
0851200c: 800c ? 8004
0851200e: 0000 ? q
=> mm.w 851200c
0851200c: 800c ? 800c
0851200e: 0000 ? q
See if system will crash.
> > 2. Except erratum programming, USB controller (xHCI) will NOT be
> initialized untill U-Boot command 'usb start'
> > is executed. That means if user didn't type 'usb start', USB IP will not begin
> to work at all.
>
> Yes, and on the board USB is not used at all...
>
If customer board doesn't have USB port, you can unselect all USB errata workaround directly.
> > 3. Anyway, this erratum is used to pass USB compliance test only, you
> > could disable this workaround on your board if you don't any USB issue on
> normal use case, I think it's fine.
>
> Thanks for your clarification!
>
Welcome
Ran
> --
> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: +49-8142-66989-52 Fax: +49-8142-66989-80 Email: hs at denx.de
More information about the U-Boot
mailing list