blob: fb050c630287ea341eede1c181f62c69e02db415 [file] [log] [blame]
Angus Ainslie3f8667c2022-08-25 06:46:02 -07001.. SPDX-License-Identifier: GPL-2.0+
2
3Librem5
4==========
5
6U-Boot for the Purism Librem5 phone
7
8Quick Start
9-----------
10
11- Build the ARM Trusted firmware binary
12- Get ddr and hdmi firmware
13- Build U-Boot
14
15Get and Build the ARM Trusted firmware
16--------------------------------------
17
18Note: srctree is U-Boot source directory
19Get ATF from: https://source.puri.sm/Librem5/arm-trusted-firmware
20branch: librem5
21
22.. code-block:: bash
23
24 $ make PLAT=imx8mq CROSS_COMPILE=aarch64-linux-gnu- bl31
25 $ cp build/imx8mq/release/bl31.bin $(builddir)
26
27Get the ddr and display port firmware
28-------------------------------------
29
30.. code-block:: bash
31
32 $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.15.bin
33 $ chmod +x firmware-imx-8.15.bin
34 $ ./firmware-imx-8.15.bin
35 $ cp firmware-imx-8.15/firmware/hdmi/cadence/signed_dp_imx8m.bin $(builddir)
36 $ cp firmware-imx-8.15/firmware/ddr/synopsys/lpddr4*.bin $(builddir)
37
38Build U-Boot
39------------
40
41.. code-block:: bash
42
43 $ export CROSS_COMPILE=aarch64-linux-gnu-
44 $ make librem5_defconfig
45 $ make ARCH=arm
46
47Burn the flash.bin
48------------------
49
50Use uuu to burn flash.bin. Power on the phone while holding vol+ to get it
51into uuu mode.
52
53.. code-block:: bash
54
55 $ git clone https://source.puri.sm/Librem5/librem5-devkit-tools.git
56 $ cd librem5-devkit-tools
57 $ cp $(builddir)/flash.bin files/u-boot-librem5.imx
58 $ uuu uuu_scripts/u-boot_flash_librem5.lst
59
60Reboot the phone.