From: Simon Shields <simon@lineageos.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 0/7] Exynos4412 SPL support
Date: Fri, 14 Sep 2018 23:48:37 +1000 [thread overview]
Message-ID: <20180914134837.GA23846@lineageos.org> (raw)
In-Reply-To: <CANAwSgRteeQoacycz420TQSocZPm49omBpL92pLgsKrpX1GBDg@mail.gmail.com>
Hi Anand,
On Fri, Sep 14, 2018 at 05:31:38PM +0530, Anand Moon wrote:
> Hi Simon,
> On Fri, 14 Sep 2018 at 08:00, Simon Shields <simon@lineageos.org> wrote:
> >
> > Hi Anand,
> >
> > On Thu, Sep 13, 2018 at 08:39:52PM +0530, Anand Moon wrote:
> > > Hi Simon,
> > >
> > > On Wed, 12 Sep 2018 at 17:25, Simon Shields <simon@lineageos.org> wrote:
> > > >
> > > > Hi,
> > > >
> > > > This patch series adds support for using U-Boot's SPL as the second
> > > > stage bootloader ("BL2") on Exynos4412 SoCs.
> > > >
> > > > - Patch #1 adds support for the EMMC/SD OM pin configuration, which is used
> > > > by the boards I tested on.
> > > > - Patch #2 configures the magic values used to indicate system suspend
> > > > state (which are identical to exynos5).
> > > > - Patch #3 renames the existing exynos4 clock/dmc initialisation code
> > > > to reflect the fact that it only supports exynos4210.
> > > > - Patches #4 and #5 add/fill in structs reflecting the PMU and TZASC
> > > > register layouts on exynos4412, respectively.
> > > > - Patch #6 adds the exynos4412 DMC and clock initialisation code and
> > > > enables building the SPL on exynos4412 platforms.
> > > > - Patch #7 enables building the "mkexynosspl" utility for exynos4 SoCs.
> > > >
> > > > The majority of the logic in patch #6 comes from a vendor u-boot dump
> > > > (2010.12!), however, small portions (mostly code used for 2GB RAM
> > > > initialisation) were reverse engineered from the vendor
> > > > bootloader found on a GT-N7100.
> > > >
> > > > This patch series has been tested on a GT-I9300 (exynos4412, 1GB RAM)
> > > > and a GT-N7100 (exynos4412 prime, 2GB RAM), with a few additional
> > > > patchsets applied for board/HW support (which I intend to upstream in
> > > > the future).
> > > >
> > > > Cheers,
> > > > Simon
> > > >
> > >
> > > Could you elaborate more on how to generate stage bootloader (BL2) image,
> > > I am not aware of such process and what are next step to create SPL
> > > for Exynos platform.
> > >
> > > I have build these patches for Odroid-U3 boards, with no SPL enable.
> >
> > Of course!
> >
> > You need to add "select SUPPORT_SPL" to the relevant TARGET_ kconfig
> > entry (e.g. [0]). Then, you need to configure the SPL suitably in
> > include/configs/<target>.h - see [1], these values should not need
> > changing between boards. Finally, you need to enable some SPL
> > stuff in the defconfig (see [2]). That should allow u-boot to generate
> > a SPL binary, which should go in spl/<target>-spl.bin.
> >
> > After that, you need to assemble an image suitable for flashing to an
> > sdcard/eMMC. I use these two scripts [3], [4] combined with this BL1 [5]
> > (originally from the ODROID-X u-boot sources, which no longer appear
> > to be available) for eMMC and sdcard respectively.
> >
> > The usage of the script is:
> >
> > ./create_4412_<sd|emmc>_image.sh <bl1 binary> <spl binary> <u-boot.bin>
> > <outfile>
> >
> > <outfile> can then be dd'd directly to an SD card or to the eMMC boot0
> > partition.
> >
> > Hope that gets things working for you!
> >
> > Cheers,
> > Simon
> >
> > >
> > > Best Regards
> > > -Anand
> >
> > [0]: https://github.com/fourkbomb/u-boot/blob/4be16a7/arch/arm/mach-exynos/Kconfig#L77
> > [1]: https://github.com/fourkbomb/u-boot/blob/4be16a7/include/configs/midas.h#L31-L53
> > [2]: https://github.com/fourkbomb/u-boot/blob/4be16a7/configs/midas_defconfig#L6-L10
> > [3]: https://github.com/fourkbomb/buildroot-external-midas/blob/master/board/midas/create_4412_emmc_image.sh
> > [4]: https://github.com/fourkbomb/buildroot-external-midas/blob/master/board/midas/create_4412_sd_image.sh
> > [5]: https://github.com/fourkbomb/buildroot-external-midas/blob/master/board/midas/p4412_s_fwbl1.bin
>
> Thank you very much for this inside on building SPL image. I will give
> this a try on Odroid U3.
>
> Do you have plan to add some low-level code to control clk memory cpu.
>
> [0] https://github.com/SamsungARTIK/u-boot-artik/tree/artik-exynos/v2012.07/board/samsung/smdk4x12
>
> Actually I failed to understand how the communication between the
> kernel binary and u-boot with out this code.
That code is not actually board-specific. It's added in patch #6.
All the BL2 does is initialise clocks and memory (DMC), then load U-Boot from the appropriate
boot medium.
>
> Also what about trusted zone, and do we need to get this spl image
> signed by Samsung/Hardkernel to make this work.
As with other Exynos SoCs in U-Boot, this doesn't support loading
trustzone. As a result, you need to remove the "secure-firmware" node
from the Linux kernel (you can also do it with CONFIG_OF_BOARD_SETUP[0]).
Adding support for the TZSW could probably be done, but the goal here
was to remove blobs from the boot process - so I don't really have
any interest in adding TZSW support right now.
>
> Best Regards
> -Anand
Cheers,
Simon
[0]: https://github.com/fourkbomb/u-boot/blob/4be16a7/board/samsung/midas/midas.c#L377-L402
next prev parent reply other threads:[~2018-09-14 13:48 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20180912082900epcas2p174a25113367b416cfc3c86681ad13814@epcas2p1.samsung.com>
2018-09-12 8:28 ` [U-Boot] [PATCH 0/7] Exynos4412 SPL support Simon Shields
2018-09-12 8:28 ` [U-Boot] [PATCH 1/7] ARM: exynos: spl: add EMMC/SD boot mode support Simon Shields
2018-09-12 8:28 ` [U-Boot] [PATCH 2/7] exynos4: configure power down magic values Simon Shields
2018-09-12 8:28 ` [U-Boot] [PATCH 3/7] ARM: exynos: rename exynos4 setup files to exynos4210 Simon Shields
2018-09-12 8:28 ` [U-Boot] [PATCH 4/7] ARM: exynos: fill in exynos4412_power struct Simon Shields
2018-09-12 8:28 ` [U-Boot] [PATCH 5/7] ARM: exynos: add exynos4412 TZASC memory layout Simon Shields
2018-09-12 8:28 ` [U-Boot] [PATCH 6/7] ARM: exynos: SPL support for exynos 4412 Simon Shields
2018-09-12 8:28 ` [U-Boot] [PATCH 7/7] tools: build mkexynosspl for exynos4 as well Simon Shields
2018-09-13 15:09 ` [U-Boot] [PATCH 0/7] Exynos4412 SPL support Anand Moon
2018-09-14 2:30 ` Simon Shields
2018-09-14 12:01 ` Anand Moon
2018-09-14 13:48 ` Simon Shields [this message]
2018-10-29 7:45 ` Anand Moon
2018-10-04 2:09 ` Minkyu Kang
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=20180914134837.GA23846@lineageos.org \
--to=simon@lineageos.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.