[U-Boot] 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?
Thanks in advance.
bye, Heiko

Hi Heiko,
-----Original Message----- From: Heiko Schocher [mailto:hs@denx.de] Sent: Thursday, July 12, 2018 13:44 To: Ran Wang ran.wang_1@nxp.com Cc: Sriram Dash sriram.dash@nxp.com; Rajesh Bhagat rajesh.bhagat@nxp.com; Suresh Gupta suresh.bhagat@nxp.com; u- boot@lists.denx.de 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:
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?
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.
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.
Regard, Ran
Thanks in advance.
bye, Heiko -- 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@denx.de

Hello Ran Wang,
Am 12.07.2018 um 10:04 schrieb Ran Wang:
Hi Heiko,
-----Original Message----- From: Heiko Schocher [mailto:hs@denx.de] Sent: Thursday, July 12, 2018 13:44 To: Ran Wang ran.wang_1@nxp.com Cc: Sriram Dash sriram.dash@nxp.com; Rajesh Bhagat rajesh.bhagat@nxp.com; Suresh Gupta suresh.bhagat@nxp.com; u- boot@lists.denx.de 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 ...
- 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 ...
- 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...
- 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!
bye, Heiko

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 ...
- 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.
- 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.
- 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@denx.de
participants (2)
-
Heiko Schocher
-
Ran Wang