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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox