From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ran Wang Date: Thu, 12 Jul 2018 09:22:18 +0000 Subject: [U-Boot] ls1021a: problem with errata A009007 In-Reply-To: <8d29e736-5db4-12af-76e8-db87d63caf01@denx.de> References: <761ddd61-05c1-d9b8-ac90-b8f425afde6c@denx.de> <8d29e736-5db4-12af-76e8-db87d63caf01@denx.de> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Heiko > -----Original Message----- > >> 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