summaryrefslogtreecommitdiff
path: root/doc/board/purism/librem5.rst
blob: fb050c630287ea341eede1c181f62c69e02db415 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
.. SPDX-License-Identifier: GPL-2.0+

Librem5
==========

U-Boot for the Purism Librem5 phone

Quick Start
-----------

- Build the ARM Trusted firmware binary
- Get ddr and hdmi firmware
- Build U-Boot

Get and Build the ARM Trusted firmware
--------------------------------------

Note: srctree is U-Boot source directory
Get ATF from: https://source.puri.sm/Librem5/arm-trusted-firmware
branch: librem5

.. code-block:: bash

   $ make PLAT=imx8mq CROSS_COMPILE=aarch64-linux-gnu- bl31
   $ cp build/imx8mq/release/bl31.bin $(builddir)

Get the ddr and display port firmware
-------------------------------------

.. code-block:: bash

   $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.15.bin
   $ chmod +x firmware-imx-8.15.bin
   $ ./firmware-imx-8.15.bin
   $ cp firmware-imx-8.15/firmware/hdmi/cadence/signed_dp_imx8m.bin $(builddir)
   $ cp firmware-imx-8.15/firmware/ddr/synopsys/lpddr4*.bin $(builddir)

Build U-Boot
------------

.. code-block:: bash

   $ export CROSS_COMPILE=aarch64-linux-gnu-
   $ make librem5_defconfig
   $ make ARCH=arm

Burn the flash.bin
------------------

Use uuu to burn flash.bin. Power on the phone while holding vol+ to get it
into uuu mode.

.. code-block:: bash

   $ git clone https://source.puri.sm/Librem5/librem5-devkit-tools.git
   $ cd librem5-devkit-tools
   $ cp $(builddir)/flash.bin files/u-boot-librem5.imx
   $ uuu uuu_scripts/u-boot_flash_librem5.lst

Reboot the phone.