README.org 2.39 KB
Newer Older
Guido Gunther's avatar
Guido Gunther committed
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
#+TODO: TODO(t) IN-PROGRESS DONE
#+STARTUP: indent
#+TITLE: The Librem-5 Devkit Setup
#+AUTHOR: Guido Günther
#+EMAIL: agx@sigxcpu.org

* Installing the SOM
  If the SOM is not yet installed
** power board without SOM via USB-C
** Check the voltages

   #+CAPTION: The voltage points to measure
   [[./pics/voltage-points.png]]

| Point    | Voltage         |
|----------+-----------------|
| VBUS     | 5.2V            |
| VBAT     | 4.2V            |
| VBAT_REG | 4.2V            |
| 5V_SOM   | 5.0V            |
| 3V3      | 3.3V            |
| 3V3_P    | ~0(without SOM) |

Each voltage is measured against ground (green circle in above image)


** Plugin the SOM

* Attach USB to serial adapter
** Solder in the UART debug plug
** Attach USB to serial Adapter

   #+CAPTION: UART pintout
   [[./pics/uart-pinout.png]]


   | PIN | Color |
   |-----+-------|
   |   1 | black |
   |   2 | n/c   |
   |   3 | n/c   |
   |   4 | green |
   |   5 | white |
   |   6 | n/c   |

   PIN 1 is the one closest to the volume button while PIN6 is the one closest to the power button.

48 49 50
* Power on/off
If the user holds the power button for ~2 seconds then a power down/reboot dialog would pop up; a quick press & release would turn the display on/off. If the button is held for ~5 seconds the SoC triggers an event to shut down, pressing it again for ~2 seconds will turn it back on. The button is also attached to the charge controller's QON# pin, which when held for ~15 seconds is able to put the dev kit into a "shipping mode" where the charge controller is completely off, or holding it for ~18 seconds will cause it to perform a complete power cycle.

Guido Gunther's avatar
Guido Gunther committed
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
* Booting via nfsroot
The SOM comes with a pre flashed u-boot so you can connect the USB-to-UART-Debug cable and boot the device.
Breaking into uboot you can boot using a nfsroot filesystem via

#+BEGIN_SRC
setenv nfsrootboot "setenv bootargs ${args_common} debug root=/dev/nfs ip=:::::eth0:dhcp nfsrootdebug nfsroot=<nfsserverip>:<nfsrootpath>,v3,tcp; dhcp ${loadaddr} Image-librem5-devkit; dhcp ${fdt_addr} librem5-devkit.dtb; booti ${loadaddr} - ${fdt_addr}"
setenv bootcmd run nfsrootboot
saveenv
boot
#+END_SRC

You need to fill in *nfsrootpath* and *nfsserverip* above. At
*nfsrootpath* there needs to be a armhf or arm64 root filesystem which
you can e.g. create via Debian's deboostrap.

For that to work the *BOOT MODE* switch needs to be set to *eMMC* (instead of *USB*).

* Flash uboot