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