[U-Boot] Newbie SPL question for socfpga_sockit

Marek Vasut
2016-03-18T19:32:44Z

On 03/18/2016 07:59 PM, George Broz wrote:
> On 16 March 2016 at 18:35, Marek Vasut <marex@denx.de> wrote:
>> On 03/16/2016 05:17 PM, George Broz wrote:
>>> On 15 March 2016 at 18:29, George Broz <brozgeo@gmail.com> wrote:
>>>
>>>>
>>>> Hello again -
>>>>
>>>> So under the assumption my SoCKit h/w was broken, I bought a new board.
>>>> They are back ordered on SoCKit boards, so I got a DE0-Nano-SoC instead.
>>>>
>>>> I build the v2016.03 (release) version of u-boot-with-spl.sfp.
>>>>
>>>> I power-up the (brand new) board and get:
>>>>
>>>> U-Boot SPL 2016.03 (Mar 15 2016 - 14:52:42)
>>>> drivers/ddr/altera/sequencer.c: Preparing to start memory calibration
>>>> drivers/ddr/altera/sequencer.c: CALIBRATION FAILED
>>>> drivers/ddr/altera/sequencer.c: Calibration complete
>>>> SDRAM calibration failed.
>>>> ### ERROR ### Please RESET the board ###
>>>>
>>>> U-Boot SPL 2016.03 (Mar 15 2016 - 14:52:42)
>>>> drivers/ddr/altera/sequencer.c: Preparing to start memory calibration
>>>> drivers/ddr/altera/sequencer.c: CALIBRATION FAILED
>>>> drivers/ddr/altera/sequencer.c: Calibration complete
>>>> SDRAM calibration failed.
>>>> ### ERROR ### Please RESET the board ###
>>>>
>>>> U-Boot SPL 2016.03 (Mar 15 2016 - 14:52:42)
>>>> drivers/ddr/altera/sequencer.c: Preparing to start memory calibration
>>>> drivers/ddr/altera/sequencer.c: CALIBRATION PASSED
>>>> drivers/ddr/altera/sequencer.c: Calibration complete
>>>> Trying to boot from MMC
>>>>
>>>> U-Boot 2016.03 (Mar 15 2016 - 14:52:42 -0700)
>>>>
>>>> CPU: Altera SoCFPGA Platform
>>>> FPGA: Altera Cyclone V, SE/A4 or SX/C4, version 0x0
>>>> BOOT: SD/MMC Internal Transceiver (3.0V)
>>>> Watchdog enabled
>>>> I2C: ready
>>>> DRAM: 1 GiB
>>>> MMC: dwmmc0 at ff704000: 0
>>>> In: serial
>>>> Out: serial
>>>> Err: serial
>>>> Model: Terasic DE0-Nano(Atlas)
>>>> Net:
>>>> Error: ethernet at ff702000 address not set.
>>>> No ethernet found.
>>>> Hit any key to stop autoboot: 0
>>>> =>
>>>>
>>>> And this is a good case... usually it doesn't succeed after the fourth try
>>>> and I have to cycle power 4 or 5 times before I get lucky.
>>>>
>>>> If I do get lucky and then try to see a USB storage device, then I get:
>>>>
>>>> =>
>>>> => usb start
>>>> starting USB...
>>>> USB0: Core Release: 2.93a
>>>> dwc_otg_core_host_init: Timeout!
>>>> dwc_otg_core_host_init: Timeout!
>>>> dwc_otg_core_host_init: Timeout!
>>>> dwc_otg_core_host_init: Timeout!
>>>> dwc_otg_core_host_init: Timeout!
>>>> dwc_otg_core_host_init: Timeout!
>>>> dwc_otg_core_host_init: Timeout!
>>>> dwc_otg_core_host_init: Timeout!
>>>> dwc_otg_core_host_init: Timeout!
>>>> dwc_otg_core_host_init: Timeout!
>>>> dwc_otg_core_host_init: Timeout!
>>>> dwc_otg_core_host_init: Timeout!
>>>> dwc_otg_core_host_init: Timeout!
>>>> dwc_otg_core_host_init: Timeout!
>>>> dwc_otg_core_host_init: Timeout!
>>>> scanning bus 0 for devices... 1 USB Device(s) found
>>>> =>
>>>>
>>>> (Every time)
>>>>
>>>> The version of u-boot SPL that ships with the board:
>>>> U-Boot SPL 2013.01.01 (Dec 29 2014 - 15:29:15)
>>>>
>>>> boots every time and has limited USB capability as
>>>> it can see some USB sticks, but not others.
>>>>
>>>>
>>>> Anyway - brand new board - same old symptoms.
>>>>
>>>> Is it perhaps a toolchain problem?? I'm using:
>>>>
>>>> Thread model: posix
>>>> gcc version 4.9.3 20141031 (prerelease) (Linaro GCC 4.9-2014.11)
>>>>
>>>> COLLECT_GCC=arm-poky-linux-gnueabi-gcc
>>>> COLLECT_LTO_WRAPPER=/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.9.3/lto-wrapper
>>>> < snip >
>>>>
>>>> Any advice greatly appreciated.
>>>>
>>>>
>>>> Regards,
>>>> --George Broz
>>>
>>> Rebuilt using the Altera EDS15.0 toolchain:
>>>
>>> arm-altera-eabi-gcc --version
>>> arm-altera-eabi-gcc (Sourcery CodeBench Lite 2014.11-13) 4.9.1
>>> Copyright (C) 2014 Free Software Foundation, Inc.
>>> This is free software; see the source for copying conditions. There is NO
>>> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>>>
>>>
>>> Get same result ... mostly failing calibration, non-working USB....
>>>
>>> U-Boot SPL 2016.03 (Mar 16 2016 - 08:27:20)
>>> drivers/ddr/altera/sequencer.c: Preparing to start memory calibration
>>> drivers/ddr/altera/sequencer.c: CALIBRATION FAILED
>>> drivers/ddr/altera/sequencer.c: Calibration complete
>>> SDRAM calibration failed.
>>> ### ERROR ### Please RESET the board ###
>>>
>>> U-Boot SPL 2016.03 (Mar 16 2016 - 08:27:20)
>>> drivers/ddr/altera/sequencer.c: Preparing to start memory calibration
>>> drivers/ddr/altera/sequencer.c: CALIBRATION FAILED
>>> drivers/ddr/altera/sequencer.c: Calibration complete
>>> SDRAM calibration failed.
>>> ### ERROR ### Please RESET the board ###
>>>
>>> U-Boot SPL 2016.03 (Mar 16 2016 - 08:27:20)
>>> drivers/ddr/altera/sequencer.c: Preparing to start memory calibration
>>> drivers/ddr/altera/sequencer.c: CALIBRATION PASSED
>>> drivers/ddr/altera/sequencer.c: Calibration complete
>>> Trying to boot from MMC
>>>
>>>
>>> U-Boot 2016.03 (Mar 16 2016 - 08:27:20 -0700)
>>>
>>> Does this work for anybody else?
>>> Is it in anyone's experience that these (cheaper) Terasic
>>> eval boards are generally out of spec?
>>>
>>> Is there a way to relax the calibration parameters? the USB parameters?
>>>
>>> Would it help if I posted debug output?
>>
>> Sorry for the late reply, I am horribly overloaded now. I asked someone
>> in #u-boot who has the DE0-NANO-SOC board to test latest u-boot/master
>> on it and it apparently worked for him. I should get some more feedback
>> in the morning [ see http://pastebin.com/CM1QJGnh ] .
>>
>> Still, this is getting real creepy. You are the second person who is
>> complaining about misbehavior of terasic boards with mainline u-boot
>> and whatever I do, I cannot replicate this.
>>
>> I am at least CCing the Altera guys. Sorry I have no better suggestion
>> for you :(
>>
>> Best regards,
>> Marek Vasut
>
>
> Hi Marek,
>
> I've got a third board coming to me in the mail (another
> DE0-NANO-SOC). I'll post
> how that goes.If it fails, maybe I'll send it to you...
>
> I've also sent Terasic an email.
>
> One question - after you (your collegue's) SoCKit (Nano) get past memory
> calibration, does USB work (i.e. does the u-boot USB subsystem recognize mass
> storage devices)?
>
> I'm beginning to look for solutions that don't involve rebuilding the
> SPL or using USB.

Try "dcache off" before "usb reset", I had trouble with usb in recent
versions due to cache problems. If this works, I am happy to give you
a workaround, but I would also love a real solution ... which I do not
have for 3+ months now :'-(

Best regards,
Marek Vasut