public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Chin Liang See <clsee@altera.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] Newbie SPL question for socfpga_sockit
Date: Mon, 21 Mar 2016 23:45:53 +0800	[thread overview]
Message-ID: <1458575153.2112.14.camel@altera.com> (raw)
In-Reply-To: <1458569143.2112.10.camel@altera.com>

On Mon, 2016-03-21 at 22:05 +0800, Chin Liang See wrote:
> On Fri, 2016-03-04 at 20:03 +0100, Marek Vasut wrote:
> > On 03/04/2016 05:06 PM, Dinh Nguyen wrote:
> > > On 03/02/2016 05:24 PM, Marek Vasut wrote:
> > > > On 03/03/2016 12:08 AM, Dinh Nguyen wrote:
> > > > > On 03/02/2016 04:54 PM, Dinh Nguyen wrote:
> > > > > > CC: Marek Vasut
> > > > > > 
> > > > > > On 03/01/2016 08:40 PM, George Broz wrote:
> > > > > > > On 17 February 2016 at 18:45, Phil Reid <
> > > > > > > preid at electromag.com.au> wrote:
> > > > > > > > G'day George
> > > > > > > > 
> > > > > > > > 
> > > > > > > > On 18/02/2016 5:54 AM, George Broz wrote:
> > > > > > > > > 
> > > > > > > > > Hello,
> > > > > > > > > 
> > > > > > > > > Sorry for the newbie question...
> > > > > > > > > 
> > > > > > > > > I have an Altera/Terasic board (socfpga_sockit) that
> > > > > > > > > has issues
> > > > > > > > > recognizing
> > > > > > > > > USB storage devices (roughly 60% good / 40% bad):
> > > > > > > > > 
> > > > > > > 
> > > > > > > > > If I try a later release (e.g. v2016.01 which seems
> > > > > > > > > to
> > > > > > > > > support the Terasic
> > > > > > > > > board explicitly) the boot process stops just after
> > > > > > > > > loading the SPL.
> > > > > > > > > 
> > > > > > > > > At this point I have only been changing the u
> > > > > > > > > -boot.img
> > > > > > > > > component, not the
> > > > > > > > > SPL (in the a2 partition of the MMC).
> > > > > > > > > 
> > > > > > > > > The documentation from Altera about generating the
> > > > > > > > > SPL
> > > > > > > > > seems to require
> > > > > > > > > using Qsys/Quartus tools which I'd really like to
> > > > > > > > > avoid.
> > > > > > > > > 
> > > > > > > > > I can produce u-boot-spl.bin / u-boot.img from
> > > > > > > > > make socfpga_sockit_defconfig; make all.
> > > > > > > > > 
> > > > > > > > > My newbie question ... should be I able to use
> > > > > > > > > directly
> > > > > > > > > the u-boot-spl.bin
> > > > > > > > > generated by the build to replace the SPL on the
> > > > > > > > > board?
> > > > > > > > > 
> > > > > > > > 
> > > > > > > > I've just gone thru the process (this week) of getting
> > > > > > > > uboot 2016.01 to boot
> > > > > > > > on our custom socfpga board.
> > > > > > > > There where a few issues in getting things going.
> > > > > > > > If your using the sd card to boot then the current
> > > > > > > > memory
> > > > > > > > layout is not per
> > > > > > > > the altera documentation.
> > > > > > > > I had to make the changes below to config to match the
> > > > > > > > altera docs.
> > > > > > > > Otherwise it hangs just after the SPL.
> > > > > > > > You also need to use the -dtb image versions with
> > > > > > > > 2016.01
> > > > > > > > for things to
> > > > > > > > work.
> > > > > > > > Again you may need to make sure the uboot device trees
> > > > > > > > match your hardware.
> > > > > > > > Not all uboot drivers appear to be using the DT as yet.
> > > > > > > > 
> > > > > > > > Note the SPL is tightly coupled to the board design and
> > > > > > > > potentially the FPGA
> > > > > > > > image.
> > > > > > > > If you using bridges or routing HPS resources (eg i2c
> > > > > > > > etc) to the fpga the
> > > > > > > > SPL configures the muxes.
> > > > > > > > 
> > > > > > > > There's a script in uboot src at arch\arm\mach
> > > > > > > > -socfpga\qts-filter.sh
> > > > > > > > That will generate the qts files for you arch.
> > > > > > > > 
> > > > > > > > I haven't tried the USB stuff as yet.
> > > > > > > > There are some issues witht eh altera USB port trigger
> > > > > > > > an
> > > > > > > > Over Current event
> > > > > > > > on device insertation.
> > > > > > > > They've modified the linux kenerl driver to use
> > > > > > > > external
> > > > > > > > OV current
> > > > > > > > detection to get around the problem.
> > > > > > > > My intial workaround was to insert USB device prior to
> > > > > > > > power on.
> > > > > > > > I haven't looked at the uboot USB driver yet to see
> > > > > > > > what's in there.
> > > > > > > > 
> > > > > > > > 
> > > > > > > > --
> > > > > > > > Regards
> > > > > > > > Phil Reid
> > > > > > > > 
> > > > > > > > 
> > > > > > > > diff --git a/include/configs/socfpga_common.h
> > > > > > > > b/include/configs/socfpga_common.h
> > > > > > > > index a09e906..3a1b59b 100644 (file)
> > > > > > > > --- a/include/configs/socfpga_common.h
> > > > > > > > +++ b/include/configs/socfpga_common.h
> > > > > > > > @@ -357,13 +357,13 @@ unsigned int
> > > > > > > > cm_get_qspi_controller_clk_hz(void);
> > > > > > > > 
> > > > > > > > /* SPL SDMMC boot support */
> > > > > > > > #ifdef CONFIG_SPL_MMC_SUPPORT
> > > > > > > > +#define CONFIG_SPL_LIBDISK_SUPPORT
> > > > > > > > #if defined(CONFIG_SPL_FAT_SUPPORT) ||
> > > > > > > > defined(CONFIG_SPL_EXT_SUPPORT)
> > > > > > > > #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 2
> > > > > > > > #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot
> > > > > > > > -dtb.img"
> > > > > > > > -#define CONFIG_SPL_LIBDISK_SUPPORT
> > > > > > > > #else
> > > > > > > > -#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 3
> > > > > > > > -#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0xa00
> > > > > > > > /*
> > > > > > > > offset 2560 sect
> > > > > > > > (1M+256k) */
> > > > > > > > +#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION 3
> > > > > > > > +#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x200
> > > > > > > > #define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS 800 /* 400
> > > > > > > > KB
> > > > > > > > */
> > > > > > > > #endif
> > > > > > > > #endif
> > > > > > > > 
> > > > > > > > 
> > > > > > > 
> > > > > > > Thanks, Phil!
> > > > > > > 
> > > > > > > Sorry for the delayed response - got called away, but am
> > > > > > > back to this
> > > > > > > now. I patched
> > > > > > > socfpga_common.h and re-built the project. I picked up
> > > > > > > spl/u-boot-spl-dtb.sfp and
> > > > > > > u-boot-dtb.img and transferred them to the SD card with:
> > > > > > > 
> > > > > > > dd if=u-boot-spl-dtb.sfp of=/dev/sdf3 bs=64k seek=0
> > > > > > > dd if=u-boot-dtb.img of=/dev/sdf3 bs=64k seek=4
> > > > > > > 
> > > > > > 
> > > > > > You can just do a 'make u-boot-with-spl.sfp' and burn the
> > > > > > u-boot-with-spl.sfp file straight to the a2 partition, or
> > > > > > sdf3.
> > > > > > 
> > > > > > > Tried this with both the original DT set (socfpga.dtsi,
> > > > > > > socfpga_cyclone.dtsi,
> > > > > > > socfpga_cyclone5_sockit.dts) that came with the u-boot
> > > > > > > v2016.01 download and
> > > > > > > also an Altera-patched DT set that I've used to boot into
> > > > > > > Linux numerous times.
> > > > > > > 
> > > > > > > When I start up the board I get:
> > > > > > > 
> > > > > > > U-Boot SPL 2016.01 (Mar 01 2016 - 17:28:14)
> > > > > > > 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 ###
> > > > > > > 
> > > > > > > I'm not a Quartus user, so I haven't done anything with
> > > > > > > the
> > > > > > > qts-filter.sh script you
> > > > > > > mentioned. Do I need to? I don't have any custom FPGA
> > > > > > > logic
> > > > > > > - it's
> > > > > > > just the Terasic
> > > > > > > board out of the box.
> > > > > > > 
> > > > > > 
> > > > > > I just tested U-Boot(v2016.03-rc3) and USB is not working
> > > > > > on
> > > > > > the devkit
> > > > > > or sockit. It's failing to detect my mass storage device.
> > > > > > 
> > > > > > Debugging...
> > > > > > 
> > > > > 
> > > > > Sorry, I mis-spoke for the sockit. I have to turn dcache off
> > > > > for USB to
> > > > > work reliably.
> > > > > 
> > > > > => dcache off
> > > > > => usb start
> > > > > starting USB...
> > > > > USB0:   Core Release: 2.93a
> > > > > scanning bus 0 for devices... 2 USB Device(s) found
> > > > > => usb tree
> > > > > USB device tree:
> > > > >   1  Hub (480 Mb/s, 0mA)
> > > > >   |   U-Boot Root Hub
> > > > >   |
> > > > >   +-2  Mass Storage (480 Mb/s, 200mA)
> > > > >        SanDisk Firebird USB Flash Drive 4C532000040115111005
> > > > > 
> > > > > => version
> > > > > 
> > > > > U-Boot 2016.03-rc3 (Mar 02 2016 - 17:00:25 -0600)
> > > > 
> > > > Well, that's our usual USB/QSPI cache issue that's tormenting
> > > > your soul.
> > > > CCing Chin ;-)
> > > > 
> > > > Does the issue by any chance magically disappear if you apply
> > > > this patch:
> > > > 
> > > > diff --git a/arch/arm/include/asm/system.h
> > > > b/arch/arm/include/asm/system.h
> > > > index 026e7ef..06802c6 100644
> > > > --- a/arch/arm/include/asm/system.h
> > > > +++ b/arch/arm/include/asm/system.h
> > > > @@ -274,7 +274,7 @@ static inline void set_dacr(unsigned int
> > > > val)
> > > > 
> > > >  /* options available for data cache on each page */
> > > >  enum dcache_option {
> > > > -       DCACHE_OFF = TTB_SECT_DOMAIN(0) | TTB_SECT_XN_MASK |
> > > > TTB_SECT,
> > > > +       DCACHE_OFF = TTB_SECT_S_MASK | TTB_SECT_DOMAIN(0) |
> > > > TTB_SECT_XN_MASK | TTB_SECT,
> > > >         DCACHE_WRITETHROUGH = DCACHE_OFF | TTB_SECT_C_MASK,
> > > >         DCACHE_WRITEBACK = DCACHE_WRITETHROUGH |
> > > > TTB_SECT_B_MASK,
> > > >         DCACHE_WRITEALLOC = DCACHE_WRITEBACK | TTB_SECT_TEX(1),
> > > > 
> > > 
> > > Yes, this patch fixes USB with dcache left on.
> > 
> > Except that it doesn't fix anything, it just makes the system
> > slower
> > by
> > setting the S bit :-/ So this is not a fix :-(
> 
> Sorry for away for a while as busy with some critical issues. 
> 
> Finally relooking back on this. I notice that with SanDisk Cruzer
> Blade
> pendrive, U-Boot 2013.01.01 can detect it while latest cannot. The
> dcache disablement at latest U-Boot doesn't help.
> 
> With that, I compared a bunch of registers from clocks, sysmgr,
> SCTLR,
> ATCLR and USB1 too. I noticed they are similar except the
> usb1.globgrp.gusbcfg.ulpiextvbusdrv. The latest U-Boot is indicating
> external supply (address 0xffb4000c return value 0x00101710) while
> working 2013.01.01 indicating internal charge pump (return value
> 0x00001710)
> 
> Wonder you guys are seeing the same too? Will dig more about this.
> FYI,
> I tried to add lot of delay within dwc2.c but doesn't help at all.
> 

While modifying the USB power control of the code, I noticed the patch
made by Dinh is not there. Just realize the git clone through http from
main git doesn't work. I was able to clone but getting older version.

With getting the latest code, all my pendrive now can works with dcache
off. Its easier now as I can get consistent behaviour compared
previously. With that, dcache investigation for tomorrow then

Thanks
Chin Liang


> Thanks
> Chin Liang
> 
> 
> 
> > 
> > Best regards,

  reply	other threads:[~2016-03-21 15:45 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-17 21:54 [U-Boot] Newbie SPL question for socfpga_sockit George Broz
2016-02-18  2:45 ` Phil Reid
2016-03-02  2:40   ` George Broz
2016-03-02  3:49     ` Phil Reid
2016-03-03  6:49       ` George Broz
2016-03-03  7:11         ` Phil Reid
2016-03-03 14:57           ` George Broz
2016-03-09  1:42             ` Phil Reid
2016-03-09 10:55               ` Marek Vasut
2016-03-09 16:06                 ` George Broz
2016-03-16  1:29                   ` George Broz
2016-03-16 16:17                     ` George Broz
2016-03-17  1:35                       ` Marek Vasut
2016-03-18 18:59                         ` George Broz
2016-03-18 19:32                           ` Marek Vasut
2016-03-18 21:22                             ` George Broz
2016-03-19 11:10                               ` Phil Reid
2016-03-20 16:44                                 ` Marek Vasut
2016-03-20 16:49                               ` Marek Vasut
2016-03-29  1:56                                 ` George Broz
2016-03-29 17:46                                   ` Marek Vasut
2016-03-20 15:55                         ` Dinh Nguyen
2016-03-20 16:42                           ` Marek Vasut
2016-03-22 17:06                             ` Dinh Nguyen
2016-03-26 20:52                               ` Marek Vasut
2016-04-05  8:33                                 ` Phil Reid
2016-04-05 22:03                                   ` Marek Vasut
2016-04-06  0:31                                     ` George Broz
2016-04-06  0:45                                       ` Marek Vasut
2016-04-06  1:17                                         ` George Broz
2016-04-06 10:43                                           ` Marek Vasut
2016-04-07  1:42                                             ` George Broz
2016-04-07  2:05                                               ` Marek Vasut
2016-04-07 13:14                                                 ` George Broz
2016-04-07 20:39                                                   ` Marek Vasut
2016-04-07 23:31                                                     ` George Broz
2016-04-07 23:36                                                       ` Marek Vasut
2016-04-07 23:51                                                         ` George Broz
2016-04-08  5:16                                                           ` Stefan Roese
2016-04-08 12:36                                                             ` Marek Vasut
2016-04-08 22:40                                                               ` George Broz
2016-04-10 17:47                                                                 ` Marek Vasut
2016-04-11  2:03                                                                   ` George Broz
2016-04-11 14:02                                                                     ` Marek Vasut
2016-04-12 15:53                                                       ` Dinh Nguyen
2016-04-12 16:00                                                         ` Marek Vasut
2016-04-12 16:08                                                           ` Dinh Nguyen
2016-04-12 16:11                                                             ` Marek Vasut
2016-04-13  9:25                                                               ` Chin Liang See
2016-04-12 16:09                                                           ` Stefan Roese
2016-04-13 11:09                                                             ` Marek Vasut
2016-04-06  7:00                                     ` Phil Reid
2016-04-06 11:51                                       ` Marek Vasut
2016-04-06 15:04                                         ` Phil Reid
2016-04-06 20:38                                           ` Marek Vasut
2016-03-29  1:44                           ` George Broz
2016-03-29 17:45                             ` Marek Vasut
2016-03-03 21:16           ` George Broz
2016-03-02 22:54     ` Dinh Nguyen
2016-03-02 23:04       ` Marek Vasut
2016-03-02 23:08       ` Dinh Nguyen
2016-03-02 23:24         ` Marek Vasut
2016-03-03 14:48           ` Dinh Nguyen
2016-03-03 14:51             ` Marek Vasut
2016-03-03 22:00               ` George Broz
2016-03-03 22:09                 ` Marek Vasut
     [not found]                   ` <CAMcKmiG8OMmbZ262n8gL7eM=WAgaakaZ5rWzCC1vYu7yzGBYAA@mail.gmail.com>
     [not found]                     ` <56D8BDD7.8070604@denx.de>
     [not found]                       ` <CAMcKmiGrZ94sZKY85Y3aC1_fwgV8oJeAJ0O71bY=gMxUGBp=FQ@mail.gmail.com>
     [not found]                         ` <56D8C3A0.9020204@denx.de>
2016-03-03 23:46                           ` George Broz
2016-03-04 16:52                   ` Dinh Nguyen
2016-03-04 16:06           ` Dinh Nguyen
2016-03-04 19:03             ` Marek Vasut
2016-03-21 14:05               ` Chin Liang See
2016-03-21 15:45                 ` Chin Liang See [this message]
2016-03-23 15:00                   ` Chin Liang See
2016-03-23 15:37                     ` [U-Boot] SoCFPGA cache / S-bit problem - was " Stefan Roese
2016-04-06 16:35                       ` Dinh Nguyen
2016-04-06 16:46                         ` Marek Vasut
2016-04-06 16:51                           ` Dinh Nguyen
2016-03-03  6:55       ` [U-Boot] " George Broz
2016-03-03  9:48         ` Marek Vasut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1458575153.2112.14.camel@altera.com \
    --to=clsee@altera.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox