177 lines
5.4 KiB
ReStructuredText
177 lines
5.4 KiB
ReStructuredText
Poplar
|
||
======
|
||
|
||
Poplar is the first development board compliant with the 96Boards Enterprise
|
||
Edition TV Platform specification.
|
||
|
||
The board features the Hi3798C V200 with an integrated quad-core 64-bit
|
||
Arm Cortex A53 processor and high performance Mali T720 GPU, making it capable
|
||
of running any commercial set-top solution based on Linux or Android.
|
||
|
||
It supports a premium user experience with up to H.265 HEVC decoding of 4K
|
||
video at 60 frames per second.
|
||
|
||
::
|
||
|
||
SOC Hisilicon Hi3798CV200
|
||
CPU Quad-core Arm Cortex-A53 64 bit
|
||
DRAM DDR3/3L/4 SDRAM interface, maximum 32-bit data width 2 GB
|
||
USB Two USB 2.0 ports One USB 3.0 ports
|
||
CONSOLE USB-micro port for console support
|
||
ETHERNET 1 GBe Ethernet
|
||
PCIE One PCIe 2.0 interfaces
|
||
JTAG 8-Pin JTAG
|
||
EXPANSION INTERFACE Linaro 96Boards Low Speed Expansion slot
|
||
DIMENSION Standard 160×120 mm 96Boards Enterprice Edition form factor
|
||
WIFI 802.11AC 2*2 with Bluetooth
|
||
CONNECTORS One connector for Smart Card One connector for TSI
|
||
|
||
At the start of the boot sequence, the bootROM executes the so called l-loader
|
||
binary whose main role is to change the processor state to 64bit mode. This
|
||
must happen prior to invoking Trusted Firmware-A:
|
||
|
||
::
|
||
|
||
l-loader --> Trusted Firmware-A --> u-boot
|
||
|
||
How to build
|
||
------------
|
||
|
||
Code Locations
|
||
~~~~~~~~~~~~~~
|
||
|
||
- Trusted Firmware-A:
|
||
`link <https://github.com/ARM-software/arm-trusted-firmware>`__
|
||
|
||
- l-loader:
|
||
`link <https://github.com/Linaro/poplar-l-loader.git>`__
|
||
|
||
- u-boot:
|
||
`link <http://git.denx.de/u-boot.git>`__
|
||
|
||
Build Procedure
|
||
~~~~~~~~~~~~~~~
|
||
|
||
- Fetch all the above 3 repositories into local host.
|
||
Make all the repositories in the same ${BUILD\_PATH}.
|
||
|
||
- Prepare the AARCH64 toolchain.
|
||
|
||
- Build u-boot using poplar_defconfig
|
||
|
||
.. code:: bash
|
||
|
||
make CROSS_COMPILE=aarch64-linux-gnu- poplar_defconfig
|
||
make CROSS_COMPILE=aarch64-linux-gnu-
|
||
|
||
- Build atf providing the previously generated u-boot.bin as the BL33 image
|
||
|
||
.. code:: bash
|
||
|
||
make CROSS_COMPILE=aarch64-linux-gnu- all fip SPD=none PLAT=poplar
|
||
BL33=u-boot.bin
|
||
|
||
- Build l-loader (generated the final fastboot.bin)
|
||
1. copy the atf generated files fip.bin and bl1.bin to l-loader/atf/
|
||
2. export ARM_TRUSTED_FIRMWARE=${ATF_SOURCE_PATH)
|
||
3. make
|
||
|
||
Install Procedure
|
||
-----------------
|
||
|
||
- Copy l-loader/fastboot.bin to a FAT partition on a USB pen drive.
|
||
|
||
- Plug the USB pen drive to any of the USB2 ports
|
||
|
||
- Power the board while keeping S3 pressed (usb_boot)
|
||
|
||
The system will boot into a u-boot shell which you can then use to write the
|
||
working firmware to eMMC.
|
||
|
||
Boot trace
|
||
----------
|
||
|
||
::
|
||
|
||
Bootrom start
|
||
Boot Media: eMMC
|
||
Decrypt auxiliary code ...OK
|
||
|
||
lsadc voltage min: 000000FE, max: 000000FF, aver: 000000FE, index: 00000000
|
||
|
||
Entry boot auxiliary code
|
||
|
||
Auxiliary code - v1.00
|
||
DDR code - V1.1.2 20160205
|
||
Build: Mar 24 2016 - 17:09:44
|
||
Reg Version: v134
|
||
Reg Time: 2016/03/18 09:44:55
|
||
Reg Name: hi3798cv2dmb_hi3798cv200_ddr3_2gbyte_8bitx4_4layers.reg
|
||
|
||
Boot auxiliary code success
|
||
Bootrom success
|
||
|
||
LOADER: Switched to aarch64 mode
|
||
LOADER: Entering ARM TRUSTED FIRMWARE
|
||
LOADER: CPU0 executes at 0x000ce000
|
||
|
||
INFO: BL1: 0xe1000 - 0xe7000 [size = 24576]
|
||
NOTICE: Booting Trusted Firmware
|
||
NOTICE: BL1: v1.3(debug):v1.3-372-g1ba9c60
|
||
NOTICE: BL1: Built : 17:51:33, Apr 30 2017
|
||
INFO: BL1: RAM 0xe1000 - 0xe7000
|
||
INFO: BL1: Loading BL2
|
||
INFO: Loading image id=1 at address 0xe9000
|
||
INFO: Image id=1 loaded at address 0xe9000, size = 0x5008
|
||
NOTICE: BL1: Booting BL2
|
||
INFO: Entry point address = 0xe9000
|
||
INFO: SPSR = 0x3c5
|
||
NOTICE: BL2: v1.3(debug):v1.3-372-g1ba9c60
|
||
NOTICE: BL2: Built : 17:51:33, Apr 30 2017
|
||
INFO: BL2: Loading BL31
|
||
INFO: Loading image id=3 at address 0x129000
|
||
INFO: Image id=3 loaded at address 0x129000, size = 0x8038
|
||
INFO: BL2: Loading BL33
|
||
INFO: Loading image id=5 at address 0x37000000
|
||
INFO: Image id=5 loaded at address 0x37000000, size = 0x58f17
|
||
NOTICE: BL1: Booting BL31
|
||
INFO: Entry point address = 0x129000
|
||
INFO: SPSR = 0x3cd
|
||
INFO: Boot bl33 from 0x37000000 for 364311 Bytes
|
||
NOTICE: BL31: v1.3(debug):v1.3-372-g1ba9c60
|
||
NOTICE: BL31: Built : 17:51:33, Apr 30 2017
|
||
INFO: BL31: Initializing runtime services
|
||
INFO: BL31: Preparing for EL3 exit to normal world
|
||
INFO: Entry point address = 0x37000000
|
||
INFO: SPSR = 0x3c9
|
||
|
||
|
||
U-Boot 2017.05-rc2-00130-gd2255b0 (Apr 30 2017 - 17:51:28 +0200)poplar
|
||
|
||
Model: HiSilicon Poplar Development Board
|
||
BOARD: Hisilicon HI3798cv200 Poplar
|
||
DRAM: 1 GiB
|
||
MMC: Hisilicon DWMMC: 0
|
||
In: serial@f8b00000
|
||
Out: serial@f8b00000
|
||
Err: serial@f8b00000
|
||
Net: Net Initialization Skipped
|
||
No ethernet found.
|
||
|
||
Hit any key to stop autoboot: 0
|
||
starting USB...
|
||
USB0: USB EHCI 1.00
|
||
scanning bus 0 for devices... 1 USB Device(s) found
|
||
USB1: USB EHCI 1.00
|
||
scanning bus 1 for devices... 4 USB Device(s) found
|
||
scanning usb for storage devices... 1 Storage Device(s) found
|
||
scanning usb for ethernet devices... 1 Ethernet Device(s) found
|
||
|
||
USB device 0:
|
||
Device 0: Vendor: SanDisk Rev: 1.00 Prod: Cruzer Blade
|
||
Type: Removable Hard Disk
|
||
Capacity: 7632.0 MB = 7.4 GB (15630336 x 512)
|
||
... is now current device
|
||
Scanning usb 0:1...
|
||
=>
|