[U-Boot] Newbie SPL question for socfpga_sockit

Phil Reid
2016-03-19T11:10:28Z

On 19/03/2016 5:22 AM, George Broz wrote:
> On 18 March 2016 at 12:32, Marek Vasut <marex@denx.de> wrote:
>> 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
>
> Thanks, but nope - same story:
> => dcache off
> => dcache
> Data (writethrough) Cache is OFF
> => usb reset
> resetting USB...
> USB0: Core Release: 0.000
> SNPSID invalid (not DWC2 OTG device): 00000000
> Port not available.
> USB1: 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! ...
> :
> :
>

USB worked on my board for 2016.1
Don't think I did anything special.
Testing was limited, could see files on the USB partition etc.

--
Regards
Phil Reid