aboutsummaryrefslogtreecommitdiffstats
path: root/roms/u-boot/doc/board/intel/edison.rst
diff options
context:
space:
mode:
Diffstat (limited to 'roms/u-boot/doc/board/intel/edison.rst')
-rw-r--r--roms/u-boot/doc/board/intel/edison.rst170
1 files changed, 170 insertions, 0 deletions
diff --git a/roms/u-boot/doc/board/intel/edison.rst b/roms/u-boot/doc/board/intel/edison.rst
new file mode 100644
index 000000000..5a65673d1
--- /dev/null
+++ b/roms/u-boot/doc/board/intel/edison.rst
@@ -0,0 +1,170 @@
+.. SPDX-License-Identifier: GPL-2.0+
+.. sectionauthor:: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+
+Edison
+======
+
+Build Instructions for U-Boot as main bootloader
+------------------------------------------------
+
+Simple you can build U-Boot and obtain u-boot.bin::
+
+ $ make edison_defconfig
+ $ make all
+
+Updating U-Boot on Edison
+-------------------------
+
+By default Intel Edison boards are shipped with preinstalled heavily
+patched U-Boot v2014.04. Though it supports DFU which we may be able to
+use.
+
+1. Prepare u-boot.bin as described in chapter above. You still need one
+ more step (if and only if you have original U-Boot), i.e. run the
+ following command::
+
+ $ truncate -s %4096 u-boot.bin
+
+2. Run your board and interrupt booting to U-Boot console. In the console
+ call::
+
+ => run do_force_flash_os
+
+3. Wait for few seconds, it will prepare environment variable and runs
+ DFU. Run DFU command from the host system::
+
+ $ dfu-util -v -d 8087:0a99 --alt u-boot0 -D u-boot.bin
+
+4. Return to U-Boot console and following hint. i.e. push Ctrl+C, and
+ reset the board::
+
+ => reset
+
+Updating U-Boot using xFSTK
+---------------------------
+
+You can also update U-Boot using the xfstk-dldr-solo tool if you can build it.
+One way to do that is to follow the `xFSTK`_ instructions. In short, after you
+install all necessary dependencies and clone repository, it will look like this:
+
+.. code-block:: sh
+
+ cd xFSTK
+ export DISTRIBUTION_NAME=ubuntu20.04
+ export BUILD_VERSION=1.8.5
+ git checkout v$BUILD_VERSION
+ ...
+
+Once you have built it, you can copy xfstk-dldr-solo to /usr/local/bin and
+libboost_program_options.so.1.54.0 to /usr/lib/i386-linux-gnu/ and with luck
+it will work. You might find this `drive`_ helpful.
+
+If it does, then you can download and unpack the Edison recovery image,
+install dfu-util, reset your board and flash U-Boot like this:
+
+.. code-block:: sh
+
+ xfstk-dldr-solo --gpflags 0x80000007 \
+ --osimage u-boot-edison.img \
+ --fwdnx recover/edison_dnx_fwr.bin \
+ --fwimage recover/edison_ifwi-dbg-00.bin \
+ --osdnx recover/edison_dnx_osr.bin
+
+This should show the following
+
+.. code-block:: none
+
+ XFSTK Downloader Solo 1.8.5
+ Copyright (c) 2015 Intel Corporation
+ Build date and time: Aug 15 2020 15:07:13
+
+ .Intel SoC Device Detection Found
+ Parsing Commandline....
+ Registering Status Callback....
+ .Initiating Download Process....
+ .......(lots of dots)........XFSTK-STATUS--Reconnecting to device - Attempt #1
+ .......(even more dots)......................
+
+You have about 10 seconds after resetting the board to type the above command.
+If you want to check if the board is ready, type:
+
+.. code-block:: none
+
+ lsusb | egrep "8087|8086"
+ Bus 001 Device 004: ID 8086:e005 Intel Corp.
+
+If you see a device with the same ID as above, the board is waiting for your
+command.
+
+After about 5 seconds you should see some console output from the board:
+
+.. code-block:: none
+
+ ******************************
+ PSH KERNEL VERSION: b0182b2b
+ WR: 20104000
+ ******************************
+
+ SCU IPC: 0x800000d0 0xfffce92c
+
+ PSH miaHOB version: TNG.B0.VVBD.0000000c
+
+ microkernel built 11:24:08 Feb 5 2015
+
+ ******* PSH loader *******
+ PCM page cache size = 192 KB
+ Cache Constraint = 0 Pages
+ Arming IPC driver ..
+ Adding page store pool ..
+ PagestoreAddr(IMR Start Address) = 0x04899000
+ pageStoreSize(IMR Size) = 0x00080000
+
+ *** Ready to receive application ***
+
+After another 10 seconds the xFSTK tool completes and the board resets. About
+10 seconds after that should see the above message again and then within a few
+seconds U-Boot should start on your board:
+
+.. code-block:: none
+
+ U-Boot 2020.10-rc3 (Sep 03 2020 - 18:44:28 -0600)
+
+ CPU: Genuine Intel(R) CPU 4000 @ 500MHz
+ DRAM: 980.6 MiB
+ WDT: Started with servicing (60s timeout)
+ MMC: mmc@ff3fc000: 0, mmc@ff3fa000: 1
+ Loading Environment from MMC... OK
+ In: serial
+ Out: serial
+ Err: serial
+ Saving Environment to MMC... Writing to redundant MMC(0)... OK
+ Saving Environment to MMC... Writing to MMC(0)... OK
+ Net: No ethernet found.
+ Hit any key to stop autoboot: 0
+ Target:blank
+ Partitioning using GPT
+ Writing GPT: success!
+ Saving Environment to MMC... Writing to redundant MMC(0)... OK
+ Flashing already done...
+ 5442816 bytes read in 238 ms (21.8 MiB/s)
+ Valid Boot Flag
+ Setup Size = 0x00003c00
+ Magic signature found
+ Using boot protocol version 2.0c
+ Linux kernel version 3.10.17-poky-edison+ (ferry@kalamata) #1 SMP PREEMPT Mon Jan 11 14:54:18 CET 2016
+ Building boot_params at 0x00090000
+ Loading bzImage at address 100000 (5427456 bytes)
+ Magic signature found
+ Kernel command line: "rootwait ..."
+ Magic signature found
+
+ Starting kernel ...
+
+ ...
+
+ Poky (Yocto Project Reference Distro) 1.7.2 edison ttyMFD2
+
+ edison login:
+
+.. _xFSTK: https://github.com/edison-fw/xFSTK
+.. _drive: https://drive.google.com/drive/u/0/folders/1URPHrOk9-UBsh8hjv-7WwC0W6Fy61uAJ