From: Kevin Hilman <khilman@kernel.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] Odroid XU3 - exynos5422 - SPL - iRAM/sRAM address
Date: Thu, 22 Jan 2015 09:51:12 -0800 [thread overview]
Message-ID: <7hegqm7lgv.fsf@deeprootsystems.com> (raw)
In-Reply-To: <CANoR_OBajvJvt5A=T=GKTaFA-GFLSVzPfFBpD-nwznM3K0RspQ@mail.gmail.com> (Suriyan Ramasami's message of "Wed, 21 Jan 2015 21:54:19 -0800")
Suriyan Ramasami <suriyan.r@gmail.com> writes:
> Hello Kevin,
>
> On Wed, Jan 21, 2015 at 4:54 PM, Kevin Hilman <khilman@kernel.org> wrote:
>> Hi Surijan,
>>
>> Suriyan Ramasami <suriyan.r@gmail.com> writes:
>>
>>> Hello Sjoerd Simons,
>>> A signed BL2 which allows unsigned BL2 chain load is already
>>> available for experimentation. Refer this link:
>>> http://forum.odroid.com/viewtopic.php?f=98&t=6147#p58984
>>> The suriyan.bl2-hkxu3.1212.5422.zip blob contains a signed BL2 which
>>> allows the same.
>>>
>>> The layout of SD card is as follows:
>>>
>>> BL1 (1 to 30) 15K
>>> BL2 (31 to 62) 16K
>>> indicator block (63 to 64) 1K
>>> uboot (65 to 2112) 1M
>>> tzsw (2113 to 2624) 256K
>>> unsigned BL2 (2625 to 2656) 16K
>>>
>>> A non zero in the first byte of the indicator block instructs the
>>> signed BL2 to load the unsigned BL2 @ offset 2625.
>>
>> I took the binaries from your .zip file above and put them on the SD
>> card for my odroid-xu3 at the offsets above. I'm using BL1 and TZSW
>> from the u-boot-hardkernel release[1] and using u-boot-dtb.bin from
>> my own mainline u-boot build which inclues the odroid-xu3 patches.
>>
>> If I leave the indicator block zero'd, everything works fine, and it
>> boots my version of mainline u-boot without any problems.
>>
>> If I then write a non-zero value to the first byte of the indicator
>> block and write your unsigned BL2 at the appropriate offset, it no
>> longer boots. Is the unsigned BL2 supposed to boot u-boot at offset 65
>> when it's finished as well?
>>
>
> The unsigned SPL from mainline used will be spl/u-boot-spl.bin (raw
> jump to offset 0 in that file will be pure code without headers)
OK.
> Changes are needed in spl_boot.c to make it next load u-boot-dtb.bin.
>
> I shall try to list most of the changes here:
> 1.arch/arm/cpu/armv7/exynos/spl_boot.c:
> The Odroid-XU3's IROM function pointers does not have any code
> (AFAICT). I checked the locations that are listed in the array table
> and found all 0's there.
> We need to replace function copy_uboot_to_ram() with something
> similar from HK's file, so that it uses exynos_smc() calls to load the
> bits from SD card, or we could enable MMC code in SPL (haven't tried
> it) and use those functions instead.
> For quick results,I just forced an SD card read.
>
> 2. #define CONFIG_SEC_FW_SIZE (15 << 10) /* 15 KB */
> somewhere, so that the start offset for U-Boot is calculated correctly.
>
> 3. for chain loading we define CONFIG_SPL_TEXT_BASE to be, say
> 0x63E00000 so that when its executed the static global pointers are
> accessed correctly - static struct spl_machine_param machine_param in
> file smdk5420_spl.c.
>
> 4. mem_ctrl_init() hangs in while (val != FOUTBPLL);
> One workaround is to use HKs version of this function which again
> uses some smc calls.
>
> With all these changes, SPL chainloading works.
Do you have a patch against mainline u-boot for all these changes? I'd
be happy to test.
>> How are you debugging your SPL images?
>>
>> I tried adding CONFIG_SPL_SERIAL_SUPPORT so I could printf from SPL, but
>> that doesn't compile because it seems that libfdt support is needed.
>>
>
> I didn't enable SERIAL SUPPORT for debugging. I did study the HK SPL
> code vs mainline SPL code quite a bit and worked from there.
> I can try to see if there is an easy way to enable serial printfs.
Are there any GPIO LEDs to blink?
Thanks,
Kevin
next prev parent reply other threads:[~2015-01-22 17:51 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CANoR_OBusZCF1cRFhrTem1hh86pJpGOFU-u2Jw+MGfAHi1sxXQ@mail.gmail.com>
[not found] ` <CANoR_OCPauSqFZqos48wBPXjBSu1triHC1ftXko6Rs3y-jaWVg@mail.gmail.com>
[not found] ` <1421746560.6818.37.camel@collabora.co.uk>
2015-01-20 16:40 ` [U-Boot] Odroid XU3 - exynos5422 - SPL - iRAM/sRAM address Sjoerd Simons
2015-01-20 19:37 ` Suriyan Ramasami
2015-01-20 21:30 ` Kevin Hilman
2015-01-20 22:06 ` Suriyan Ramasami
2015-01-20 22:43 ` Kevin Hilman
2015-01-20 23:29 ` Suriyan Ramasami
2015-01-20 23:38 ` Suriyan Ramasami
2015-01-21 0:19 ` Suriyan Ramasami
2015-01-21 19:01 ` Kevin Hilman
2015-01-21 9:54 ` Sjoerd Simons
2015-01-22 0:54 ` Kevin Hilman
2015-01-22 5:54 ` Suriyan Ramasami
2015-01-22 17:51 ` Kevin Hilman [this message]
2015-01-23 1:46 ` Suriyan Ramasami
2015-01-28 7:17 ` Joonyoung Shim
2015-02-25 21:38 ` Kevin Hilman
2015-02-25 23:00 ` Suriyan Ramasami
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=7hegqm7lgv.fsf@deeprootsystems.com \
--to=khilman@kernel.org \
--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.