blob: 46fc095fb9590193d3c5903fb09cc1c9c62101ca [file] [log] [blame]
.. _hikey:
#########
HiKey 620
#########
The instructions here will tell how to run OP-TEE on `HiKey 620`_.
Multiple sources for HiKey and OP-TEE instructions?
***************************************************
First you must understand that the HiKey project as such is led by the 96Boards
project. So, if you **aren't** interested in running OP-TEE on the device, then
you should stop reading here and instead have a look at the `official HiKey
documentation`_.
For OP-TEE using HiKey you will still find information in more than one place.
There are a couple of reasons for that.
* **96Boards**: The official 96Boards project used to host some OP-TEE
instructions and they include OP-TEE in their official releases.
* **Google**: has an `AOSP HiKey branch`_, where OP-TEE is supported to some
extent.
* **Linaro-SWG**: The OP-TEE team has done some work related to AOSP (see the
:ref:`AOSP` page) and there HiKey has been one of the devices in use.
If you have questions regarding the configurations above, please reach out to
the people on the right forum (96Boards, Google and Linaro-SWG).
This particular guide is maintained by the OP-TEE `core team`_ and this is what
we use when we are doing are stable releases for our OP-TEE developer builds.
I.e, for OP-TEE this should be considered as a well maintained guide with a
fully working setup.
Supported HiKey boards
**********************
There are four different versions of the HiKey board.
+-------+--------------+--------+-------+-------------------+
| Name | Manufacturer | Memory | Flash | Comment |
+=======+==============+========+=======+===================+
| HiKey | CircuitCo | 1GB | 4GB | Green solder mask |
+-------+--------------+--------+-------+-------------------+
| HiKey | LeMaker | 1GB | 8GB | Black solder mask |
+-------+--------------+--------+-------+-------------------+
| HiKey | LeMaker | 2GB | 8GB | Black solder mask |
+-------+--------------+--------+-------+-------------------+
All of them works, but where differences apply we have default configurations
that works for the LeMaker 8GB eMMC versions.
UART adapter board
******************
Everything is configured to use the `96Boards UART Adapter Board`_. The UART is
by default configured to ``UART3``. If you don't have any UART adapter board and
instead would like to use ``UART0``, then you need to change that before
building. See ``CFG_NW_CONSOLE_UART`` and ``CFG_NW_CONSOLE_UART`` in
`hikey.mk`_.
Build instructions
******************
Just follow the ":ref:`get_and_build_the_solution`" as described in
:ref:`build`. The ``make flash`` step will tell you how you should set the
jumpers on the board.
Recovery
********
If you manage to corrupt the device, so that fastboot doesn't load automatically
on boot, then you will need to run the recovery procedure. Basically what you
will need to do is use another make target and change some jumpers. All that is
described when you run the target:
.. code-block:: bash
$ make recovery
.. _96Boards UART Adapter Board: http://www.96boards.org/product/uarts
.. _AOSP HiKey branch: https://source.android.com/setup/build/devices#620hikey
.. _core team: https://github.com/orgs/OP-TEE/teams/linaro/members
.. _HiKey 620: https://www.96boards.org/product/hikey/
.. _hikey.mk: https://github.com/OP-TEE/build/blob/master/hikey.mk
.. _official HiKey documentation: http://www.96boards.org/documentation/ConsumerEdition/HiKey/README.md