blob: d7f1fe064e9cb793b24da025c8bc4076893f7635 [file] [log] [blame]
Jorge Ramirez-Ortiza29d9a62017-06-28 10:11:31 +02001Description
2===========
3
4Poplar is the first development board compliant with the 96Boards Enterprise
5Edition TV Platform specification.
6
7The board features the Hi3798C V200 with an integrated quad-core 64-bit
8ARM Cortex A53 processor and high performance Mali T720 GPU, making it capable
9of running any commercial set-top solution based on Linux or Android.
10
11It supports a premium user experience with up to H.265 HEVC decoding of 4K
12video at 60 frames per second.
13
14 SOC Hisilicon Hi3798CV200
15 CPU Quad-core ARM Cortex-A53 64 bit
16 DRAM DDR3/3L/4 SDRAM interface, maximum 32-bit data width 2 GB
17 USB Two USB 2.0 ports One USB 3.0 ports
18 CONSOLE USB-micro port for console support
19 ETHERNET 1 GBe Ethernet
20 PCIE One PCIe 2.0 interfaces
21 JTAG 8-Pin JTAG
22 EXPANSION INTERFACE Linaro 96Boards Low Speed Expansion slot
23 DIMENSION Standard 160×120 mm 96Boards Enterprice Edition form factor
24 WIFI 802.11AC 2*2 with Bluetooth
25 CONNECTORS One connector for Smart Card One connector for TSI
26
27At the start of the boot sequence, the bootROM executes the so called l-loader
28binary whose main role is to change the processor state to 64bit mode. This
29must happen prior invoking the arm trusted firmware:
30
31 l-loader --> arm_trusted_firmware --> u-boot
32
33How to build
34============
35
36Code Locations
37--------------
38
39- ARM Trusted Firmware:
40 `link <https://github.com/ARM-software/arm-trusted-firmware>`__
41
42- l-loader:
43 `link <https://github.com/Linaro/poplar-l-loader.git>`__
44
45- u-boot:
46 `link <http://git.denx.de/u-boot.git>`__
47
48Build Procedure
49---------------
50
51- Fetch all the above 3 repositories into local host.
52 Make all the repositories in the same ${BUILD\_PATH}.
53
54- Prepare the AARCH64 toolchain.
55
56- Build u-boot using poplar_defconfig
57 make CROSS_COMPILE=aarch64-linux-gnu- poplar_defconfig
58 make CROSS_COMPILE=aarch64-linux-gnu-
59
60- Build atf providing the previously generated u-boot.bin as the BL33 image
61 make CROSS_COMPILE=aarch64-linux-gnu- all fip SPD=none PLAT=poplar
62 BL33=u-boot.bin
63
64- Build l-loader (generated the final fastboot.bin)
65 1. copy the atf generated files fip.bin and bl1.bin to l-loader/atf/
66 2. export ARM_TRUSTED_FIRMWARE=${ATF_SOURCE_PATH)
67 3. make
68
69Install Procedure
70-----------------
71
72- Copy l-loader/fastboot.bin to a FAT partition on a USB pen drive.
73
74- Plug the USB pen drive to any of the USB2 ports
75
76- Power the board while keeping S3 pressed (usb_boot)
77
78The system will boot into a u-boot shell which you can then use to write the
79working firmware to eMMC.
80
81Boot trace
82==========
83
84Bootrom start
85Boot Media: eMMC
86Decrypt auxiliary code ...OK
87
88lsadc voltage min: 000000FE, max: 000000FF, aver: 000000FE, index: 00000000
89
90Entry boot auxiliary code
91
92Auxiliary code - v1.00
93DDR code - V1.1.2 20160205
94Build: Mar 24 2016 - 17:09:44
95Reg Version: v134
96Reg Time: 2016/03/18 09:44:55
97Reg Name: hi3798cv2dmb_hi3798cv200_ddr3_2gbyte_8bitx4_4layers.reg
98
99Boot auxiliary code success
100Bootrom success
101
102LOADER: Switched to aarch64 mode
103LOADER: Entering ARM TRUSTED FIRMWARE
104LOADER: CPU0 executes at 0x000ce000
105
106INFO: BL1: 0xe1000 - 0xe7000 [size = 24576]
107NOTICE: Booting Trusted Firmware
108NOTICE: BL1: v1.3(debug):v1.3-372-g1ba9c60
109NOTICE: BL1: Built : 17:51:33, Apr 30 2017
110INFO: BL1: RAM 0xe1000 - 0xe7000
111INFO: BL1: Loading BL2
112INFO: Loading image id=1 at address 0xe9000
113INFO: Image id=1 loaded at address 0xe9000, size = 0x5008
114NOTICE: BL1: Booting BL2
115INFO: Entry point address = 0xe9000
116INFO: SPSR = 0x3c5
117NOTICE: BL2: v1.3(debug):v1.3-372-g1ba9c60
118NOTICE: BL2: Built : 17:51:33, Apr 30 2017
119INFO: BL2: Loading BL31
120INFO: Loading image id=3 at address 0x129000
121INFO: Image id=3 loaded at address 0x129000, size = 0x8038
122INFO: BL2: Loading BL33
123INFO: Loading image id=5 at address 0x37000000
124INFO: Image id=5 loaded at address 0x37000000, size = 0x58f17
125NOTICE: BL1: Booting BL31
126INFO: Entry point address = 0x129000
127INFO: SPSR = 0x3cd
128INFO: Boot bl33 from 0x37000000 for 364311 Bytes
129NOTICE: BL31: v1.3(debug):v1.3-372-g1ba9c60
130NOTICE: BL31: Built : 17:51:33, Apr 30 2017
131INFO: BL31: Initializing runtime services
132INFO: BL31: Preparing for EL3 exit to normal world
133INFO: Entry point address = 0x37000000
134INFO: SPSR = 0x3c9
135
136
137U-Boot 2017.05-rc2-00130-gd2255b0 (Apr 30 2017 - 17:51:28 +0200)poplar
138
139Model: HiSilicon Poplar Development Board
140BOARD: Hisilicon HI3798cv200 Poplar
141DRAM: 1 GiB
142MMC: Hisilicon DWMMC: 0
143In: serial@f8b00000
144Out: serial@f8b00000
145Err: serial@f8b00000
146Net: Net Initialization Skipped
147No ethernet found.
148
149Hit any key to stop autoboot: 0
150starting USB...
151USB0: USB EHCI 1.00
152scanning bus 0 for devices... 1 USB Device(s) found
153USB1: USB EHCI 1.00
154scanning bus 1 for devices... 4 USB Device(s) found
155 scanning usb for storage devices... 1 Storage Device(s) found
156 scanning usb for ethernet devices... 1 Ethernet Device(s) found
157
158USB device 0:
159 Device 0: Vendor: SanDisk Rev: 1.00 Prod: Cruzer Blade
160 Type: Removable Hard Disk
161 Capacity: 7632.0 MB = 7.4 GB (15630336 x 512)
162... is now current device
163Scanning usb 0:1...
164=>
165