Lines Matching +full:pre +full:- +full:verified
1 U-Boot for UniPhier SoC family
6 ----------------------
9 You can download pre-built toolchains from:
15 ------------------
20 $ make CROSS_COMPILE=<toolchain-prefix> DEVICE_TREE=<device-tree>
22 The recommended <toolchain-prefix> is `arm-linux-gnueabihf-` for 32bit SoCs,
23 `aarch64-linux-gnu-` for 64bit SoCs, but you may wish to change it to use your
26 The following tables show <defconfig> and <device-tree> for each board.
30 Board | <defconfig> | <device-tree>
31 ---------------|-----------------------------|------------------------------
32 LD4 reference | uniphier_ld4_sld8_defconfig | uniphier-ld4-ref (default)
33 sld8 reference | uniphier_ld4_sld8_defconfig | uniphier-sld8-def
34 Pro4 reference | uniphier_v7_defconfig | uniphier-pro4-ref
35 Pro4 Ace | uniphier_v7_defconfig | uniphier-pro4-ace
36 Pro4 Sanji | uniphier_v7_defconfig | uniphier-pro4-sanji
37 Pro5 4KBOX | uniphier_v7_defconfig | uniphier-pro5-4kbox
38 PXs2 Gentil | uniphier_v7_defconfig | uniphier-pxs2-gentil
39 PXs2 Vodka | uniphier_v7_defconfig | uniphier-pxs2-vodka (default)
40 LD6b reference | uniphier_v7_defconfig | uniphier-ld6b-ref
44 Board | <defconfig> | <device-tree>
45 ---------------|-----------------------|----------------------------
46 LD11 reference | uniphier_v8_defconfig | uniphier-ld11-ref
47 LD11 Global | uniphier_v8_defconfig | uniphier-ld11-global
48 LD20 reference | uniphier_v8_defconfig | uniphier-ld20-ref (default)
49 LD20 Global | uniphier_v8_defconfig | uniphier-ld20-global
50 PXs3 reference | uniphier_v8_defconfig | uniphier-pxs3-ref
55 $ make CROSS_COMPILE=arm-linux-gnueabihf- DEVICE_TREE=uniphier-pxs2-vodka
57 The device tree marked as (default) can be omitted. `uniphier-pxs2-vodka` is
62 $ make CROSS_COMPILE=arm-linux-gnueabihf-
66 ------------------------
69 - u-boot.bin
70 - spl/u-boot.bin
72 U-Boot can boot UniPhier 32bit SoC boards by itself. Flash the generated images
75 - spl/u-boot-spl.bin at the offset address 0x00000000
76 - u-boot.bin at the offset address 0x00020000
78 The `u-boot-with-spl.bin` is the concatenation of the two (with appropriate
81 - u-boot-with-spl.bin at the offset address 0x00000000
84 Just copy the u-boot-spl.bin and u-boot.bin to the TFTP public directory,
85 and run the following command at the U-Boot command line:
97 ------------------------
100 - u-boot.bin
102 However, U-Boot is not the first stage loader for UniPhier 64bit SoC boards.
103 U-Boot serves as a non-secure boot loader loaded by [ARM Trusted Firmware],
104 so you need to provide the `u-boot.bin` to the build command of ARM Trusted
107 [ARM Trusted Firmware]: https://github.com/ARM-software/arm-trusted-firmware
110 Verified Boot
111 -------------
113 U-Boot supports an image verification method called "Verified Boot".
123 $ openssl genpkey -algorithm RSA -out keys/dev.key \
124 -pkeyopt rsa_keygen_bits:2048 -pkeyopt rsa_keygen_pubexp:65537
125 $ openssl req -batch -new -x509 -key keys/dev.key -out keys/dev.crt
128 but need to match to the "key-name-hint" property described below.
137 ---------------------------------------->8----------------------------------------
138 /dts-v1/;
142 #address-cells = <1>;
154 hash-1 {
159 fdt-1 {
161 data = /incbin/("PATH/TO/YOUR/LINUX/DIR/arch/arm64/boot/dts/socionext/uniphier-ld20-ref.dtb");
165 hash-1 {
177 hash-1 {
184 default = "config-1";
186 config-1 {
189 fdt = "fdt-1";
191 signature-1 {
193 key-name-hint = "dev";
194 sign-images = "kernel", "fdt", "ramdisk";
199 ---------------------------------------->8----------------------------------------
206 The "key-name-hint" must specify the key name you have created in the step 1.
210 3. Compile U-Boot with FIT and signature enabled
212 To use the Verified Boot, you need to enable the following two options:
222 $ make CROSS_COMPILE=aarch64-linux-gnu-
226 After building U-Boot, you will see tools/mkimage. With this tool, you can
229 $ tools/mkimage -f fit.its -k keys -K dts/dt.dtb -r -F fitImage
231 The -k option must specify the key directory you have created in step 1.
233 A file "fitImage" will be created. This includes kernel, DTB, Init-ramdisk,
236 The public key needed for the run-time verification is stored in "dts/dt.dtb".
238 5. Compile U-Boot again
240 Since the "dt.dtb" has been updated in step 4, you need to re-compile the
241 U-Boot.
243 $ make CROSS_COMPILE=aarch64-linux-gnu-
245 The re-compiled "u-boot.bin" is appended with DTB that contains the public key.
252 Please note the "u-boot.bin" must be signed, and verified by someone when it is
256 the system reset. If the Chain of Trust has a breakage somewhere, the verified
259 7. Boot verified kernel
261 Load the fitImage to memory and run the following from the U-Boot command line.
269 ---------------------------------------->8----------------------------------------
271 Using 'config-1' configuration
275 Created: 2017-10-20 14:32:29 UTC
288 Using 'config-1' configuration
291 Created: 2017-10-20 14:32:29 UTC
304 Using 'config-1' configuration
305 Trying 'fdt-1' fdt subimage
307 Created: 2017-10-20 14:32:29 UTC
322 ---------------------------------------->8----------------------------------------
332 If they are not displayed, the Verified Boot is not working.
336 --------------------------
348 - kernel
349 - init ramdisk
350 - device tree blob
351 - boot configuration file (extlinux.conf)
355 -------------------->8--------------------
365 -------------------->8--------------------
367 Then, write 'Image', 'rootfs.cpio.gz', 'uniphier-ld20-ref.dtb' (DTB depends on
372 - FIT blob
373 - boot configuration file (extlinux.conf)
375 -------------------->8--------------------
383 -------------------->8--------------------
391 --------------------------
393 - pinmon (enabled by CONFIG_CMD_PINMON)
394 shows the boot mode pins that has been latched at the power-on reset
396 - ddrphy (enabled by CONFIG_CMD_DDRPHY_DUMP)
399 - ddrmphy (enabled by CONFIG_CMD_DDRMPHY_DUMP)
404 -----------------
406 - UART (on-chip)
407 - NAND
408 - SD/eMMC
409 - USB 2.0 (EHCI)
410 - USB 3.0 (xHCI)
411 - GPIO
412 - LAN (on-board SMSC9118)
413 - I2C
414 - EEPROM (connected to the on-board I2C bus)
415 - Support card (SRAM, NOR flash, some peripherals)
419 ------------------
424 ------------------------------------------
425 bit 1 <---- BKSZ[0]
426 bit 2 ----> BKSZ[1]
427 bit 3 <---- SoC Bus Width 16/32
428 bit 4 <---- SERIAL_SEL[0]
429 bit 5 ----> SERIAL_SEL[1]
430 bit 6 ----> BOOTSWAP_EN
431 bit 7 <---- CS1/CS5
432 bit 8 <---- SOC_SERIAL_DISABLE
435 ------------------------------------------
436 bit 1 <---- CS1_SPLIT
437 bit 2 <---- CASE9_ON
438 bit 3 <---- CASE10_ON
442 bit 7 ----> BURST_EN
443 bit 8 ----> FLASHBUS32_16
449 --------------------------------------------------------------------
450 0b00 15MB RAM / 1MB Peri 00000000-00efffff 00f00000-00ffffff
451 0b01 31MB RAM / 1MB Peri 00000000-01efffff 01f00000-01ffffff
452 0b10 64MB RAM / 1MB Peri 00000000-03efffff 03f00000-03ffffff
453 0b11 127MB RAM / 1MB Peri 00000000-07efffff 07f00000-07ffffff
455 Set BSKZ[1:0] to 0b01 for U-Boot.
460 --