Das U-Boot Logo
  • Build U-Boot
  • Learn about U-Boot
  • Use U-Boot
  • Develop U-Boot
  • U-Boot API documentation
  • Architecture-specific doc
  • Board-specific doc
    • Actions
    • Advantech
    • Andes Tech
    • Allwinner (sunxi) boards
    • Amlogic
    • Anbernic
    • Apple
    • Arm Ltd
    • Aspeed
    • ASUS
    • Atmel
    • Beacon
    • BeagleBoard.org
    • Broadcom
    • BSH Hausgeraete GmbH
    • Cloos
    • Congatec
    • Cool Pi
    • Coreboot
    • Emcraft
    • Emulation
    • Gateworks
    • Google
    • Highbank
    • HiSilicon
    • HTC
    • Intel
    • Kontron
    • Lenovo
    • LG
    • Mediatek
    • Microchip
    • Microsoft
    • NXP Semiconductors
    • OpenPiton
    • PHYTEC
    • Purism SPC
    • Qualcomm
    • Qnap
    • Renesas
    • Rockchip
    • Samsung
      • Samsung 2017 A series phones
      • WinLink E850-96 board
        • Overview
        • Boot Flow
        • Build Procedure
        • References
    • Schneider Electric
    • Sielaff
    • Siemens
    • SiFive
    • Sipeed
    • Socionext
    • Sophgo
    • STMicroelectronics
    • StarFive
    • ST-Ericsson
    • TBS
    • T-HEAD
    • Theobroma Systems
    • Texas Instruments
    • Toradex
    • Variscite
    • WEXLER
    • XenGuestARM64
    • Xilinx
  • Android-specific doc
  • Chromium OS-specific doc
  • Index
Das U-Boot
  • Board-specific doc
  • Samsung
  • WinLink E850-96 board
  • View page source

WinLink E850-96 board

Overview

WinLink’s E850-96 board [1] is based on Samsung Exynos850 SoC and follows 96Boards Consumer Edition specification [2]. That makes it possible to use 96Boards mezzanine boards [3] along with it. It’s an open-hardware board and the hardware design files [4] were published, along with the supported software [5] and related documentation.

U-Boot can be used on E850-96 instead of the original Samsung LittleKernel based bootloader [6]. Because FWBL1 [7] doesn’t verify bootloader’s signature, there is no need to sign a U-Boot binary. That means U-Boot binary can be flashed into bootloader partition (instead of LittleKernel bootloader) and it will just work.

Because BL2 bootloader already sets up DRAM and runs the final bootloader (U-Boot) from DRAM, there is no need in U-Boot SPL. It’s enough to have only U-Boot proper (u-boot.bin).

Boot Flow

The boot path for Exynos850 is shown on the figure below.

Exynos850 SoC boot flow

Legend:

  • BL0: Boot ROM code

  • BL1: Software part of Boot ROM

  • EPBL: Exynos Primary Boot Loader

  • BL2: Initializes CMU and DRAM and runs the final bootloader

  • Bootloader: Final bootloader (e.g. U-Boot); also called BL33 in terms of ARM boot flow

  • EL3_MON: EL3 monitor (trusted firmware, handles SMC calls); also called BL31 in terms of ARM boot flow

  • LDFW: Loadable Firmware

Build Procedure

Warning

At the moment USB is not enabled in U-Boot for this board. Although eMMC is enabled, you won’t be able to flash images over USB (fastboot). So flashing U-Boot binary WILL effectively brick your board. The dltool [8] can be used then to perform USB boot and flash LittleKernel bootloader binary [7] to unbrick and revive the board. Flashing U-Boot binary might be helpful for developers or anybody who want to check current state of U-Boot enablement on E850-96 (which is mostly serial console, eMMC and related blocks).

Build U-Boot binary from source code (using AArch64 baremetal GCC toolchain):

export PATH=<toolchain path>/bin:$PATH
export CROSS_COMPILE=<toolchain prefix>
make e850-96_defconfig
make

Boot E850-96 board into fastboot mode as described in board software doc [9], and flash U-Boot binary into bootloader eMMC partition:

fastboot flash bootloader u-boot.bin
fastboot reboot

U-Boot will boot up to the shell.

References

[1]

https://www.96boards.org/product/e850-96b/

[2]

https://www.96boards.org/products/ce/

[3]

https://www.96boards.org/products/mezzanine/

[4]

https://www.96boards.org/documentation/consumer/e850-96b/hardware-docs/

[5]

https://gitlab.com/Linaro/96boards/e850-96/

[6]

https://gitlab.com/Linaro/96boards/e850-96/lk

[7] (1,2)

https://gitlab.com/Linaro/96boards/e850-96/images

[8]

https://gitlab.com/Linaro/96boards/e850-96/tools/dltool

[9]

https://gitlab.com/Linaro/96boards/e850-96/doc

Previous Next

© Copyright The U-Boot development community.

Built with Sphinx using a theme provided by Read the Docs.