All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hugh Cole-Baker <sigmaris@gmail.com>
To: u-boot@lists.denx.de
Subject: rk3399: SPI boot: Return from ROM unsuccessful (with TPL)
Date: Sun, 24 May 2020 22:25:42 +0100	[thread overview]
Message-ID: <76243C1A-8D38-4576-A5A5-F7F3EF8C8862@gmail.com> (raw)
In-Reply-To: <CAM+7aWvUpYm4rVz0US94aqK2YEB=RQrwNf_FKV6sYK=S9fhERQ@mail.gmail.com>



> On 24 May 2020, at 20:00, Suniel Mahesh <sunil@amarulasolutions.com> wrote:
> 
> 
> 
> On Sun, May 24, 2020 at 3:52 PM Hugh Cole-Baker <sigmaris@gmail.com> wrote:
> 
> > On 20 May 2020, at 13:08, Jagan Teki <jagan@amarulasolutions.com> wrote:
> > 
> > It seems like SPI boot on rk3399 with TPL based is unable to return
> > from ROM or switching to from TPL to SPL is unsuccessful.
> > 
> > I have verified board_init_f on spl.c and the control is not even
> > reached here. On the other hand the SPL-alone boot flow works fine
> > from SPI.
> > 
> > SPI boot log:
> > 
> > U-Boot TPL 2020.07-rc2-00047-gd2ebbbd0e6,`irty (May 20 2020 - 17:22:25)
> > Channel 0: LPDDR4, 50MHz
> > BW=30 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Shze=2048LB
> > Channel 1: LPDR4,50MHz
> > BW=32 CoL=10 Bk=8 CR0 Row=15 CS1 Row=15 CS=2 Die BW=16 Cize=2048LB
> > 256B stride
> > 256B spride
> > lpddr4_set_rate: change freq to 400000000 mhz 0, 1
> > lpddr4_set_rate8 changE freq to 800000000 mhz 0, 0
> > Trying to bont from BOOTROM
> > Returning to boot ROM...
> > 
> > Any inputs?
> > 
> > Jagan.
> 
> In my experience when building the TPL and SPL image to be written to SPI
> flash, they both have to be processed by mkimage to generate an rkspi
> format image. The approach of using mkimage to produce the idbloader.img
> from the TPL and then simply concatenating the SPL at the end, which
> works for SD/eMMC boot images, doesn't work for SPI and it results in a
> similar error to what you reported, so that might be the cause?
> 
> I use the following command to generate the TPL+SPL image for SPI boot:
> 
> mkimage -n rk3399 -T rkspi -d tpl/u-boot-tpl.bin:spl/u-boot-spl.bin spi_idbloader.img
> 
> On a rockpro64 board, the resulting spi_idbloader.img can be written to
> offset 0 in SPI flash, then when booting it the bootrom will start the
> TPL, TPL returns to bootrom and then bootrom will start the SPL.
> 
> There are some additional changes to the dts and config for rockpro64
> needed to fully support SPL to load u-boot proper from SPI flash, I'll
> send patches for these changes.
> 
> Hi Hugh,
> 
> I have used the above command as indicated by you for generating TPL+SPL.  Flashed SPI flash using below
> commands from uboot prompt. Tested roc-rk3399-pc and rockpro64 targets. 
> 
> bootrom loads TPL, TPL returns back to bootrom and then it hangs. 
> 
> U-Boot TPL 2020.07-rc2-00204-ge74f823-dirty (May 25 2020 - 00:10:26)
> Channel 0: LPDDR4, 50MHz
> BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
> Channel 1: LPDDR4, 50MHz
> BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
> 256B stride
> 256B stride
> lpddr4_set_rate: change freq to 400000000 mhz 0, 1
> lpddr4_set_rate: change freq to 800000000 mhz 1, 0
> spl_boot_device: 
> Trying to boot from BOOTROM
> board_return_to_bootrom: 
> Returning to boot ROM...
> ??r?SA?
> 
> SPI flash:
> 
> load mmc 1:1 $kernel_addr_r idbloader.img
> sf probe
> sf erase 0 +$filesize
> sf write $kernel_addr_r 0 ${filesize}
> load mmc 1:1 ${kernel_addr_r} u-boot.itb
> sf erase 0x40000 +$filesize
> sf write $kernel_addr_r 0x40000 ${filesize}
> 
This could potentially be overwriting part of the idbloader.img - check
that idbloader.img's filesize isn't over 0x40000 bytes. I've found that
typically it can be about 320kB and so use 0x60000 as a safer value for
u-boot,spl-payload-offset.
> 
> Thanks
> Suniel
> 
> Hugh.

  reply	other threads:[~2020-05-24 21:25 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-20 12:08 rk3399: SPI boot: Return from ROM unsuccessful (with TPL) Jagan Teki
2020-05-23 18:10 ` Suniel Mahesh
2020-05-24 10:21 ` Hugh Cole-Baker
2020-05-24 19:00   ` Suniel Mahesh
2020-05-24 21:25     ` Hugh Cole-Baker [this message]
2020-05-25  7:58       ` Jagan Teki
2020-05-27 14:49 ` Jagan Teki

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=76243C1A-8D38-4576-A5A5-F7F3EF8C8862@gmail.com \
    --to=sigmaris@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.