diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-06-17 10:37:25 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-06-26 11:07:10 +0200 |
commit | 3fef396bb42efc0bb12b0a8caf0d076ab1c4d879 (patch) | |
tree | 91625b2407ed25dffd093b19159135481eb80f84 /Documentation/boards/tegra.rst | |
parent | 7e65163b9165bccca780da91fad247c0e4ac7f9f (diff) | |
download | barebox-3fef396bb42efc0bb12b0a8caf0d076ab1c4d879.tar.gz barebox-3fef396bb42efc0bb12b0a8caf0d076ab1c4d879.tar.xz |
Documentation: Add new sphinxs docs
This is a rewrite of the Documentation in reStructuredText format using
Sphinx as build system, see http://sphinx-doc.org/.
The documentation is built into static html pages with 'make docs'.
The pages can be found under Documentation/html after building.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'Documentation/boards/tegra.rst')
-rw-r--r-- | Documentation/boards/tegra.rst | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/Documentation/boards/tegra.rst b/Documentation/boards/tegra.rst new file mode 100644 index 0000000000..f28c506a69 --- /dev/null +++ b/Documentation/boards/tegra.rst @@ -0,0 +1,102 @@ +.. highlight:: console + +Nvidia Tegra +============ + +Building +-------- + +All currently supported Tegra boards are integrated in a single +multi-image build (:ref:`multi_image`). Building is as easy as typing: + +.. code-block:: sh + + make ARCH=arm tegra_v7_defconfig + make ARCH=arm CROSS_COMPILE=arm-v7-compiler- + +**NOTE** replace the arm-v7-compiler- with your ARM v7 cross compiler. + +Tegra images are specific to the bootsource. The build will generate images for +all combinations of bootsources and supported boards. You can find the +completed images in the ``images/`` subdirectory. + +The naming scheme consists of the triplet tegracodename-boardname-bootsource + +Kickstarting a board using USB +------------------------------ + +The tool needed to transfer and start a bootloader image to any Tegra board +using the USB boot mode is called TegraRCM. Most likely this isn't available +from your distributions repositories. You can get and install it by running the +following commands: + +.. code-block:: sh + + git clone https://github.com/NVIDIA/tegrarcm.git + cd tegrarcm + ./autogen.sh + make + sudo make install + +Connect the board to your host via the USB OTG port. +The next step is to bring the device into USB boot mode. On developer boards +this could normally be done by holding down a force recovery button (or setting +some jumper) while resetting the board. On other devices you are on your own +finding out how to achieve this. + +The tegrarcm tool has 3 basic options: + +.. code-block:: none + + --bct : the BCT file needed for basic hardware init, + this can be found in the respective board directory + --bootloader : the actual barebox image + use the -usbloader image + --loadaddr : start address of the barebox image + use 0x00108000 for Tegra20 aka Tegra2 devices + use 0x80108000 for all other Tegra devices + +An example command line for the NVIDIA Beaver board looks like this: + +.. code-block:: sh + + tegrarcm --bct arch/arm/boards/nvidia-beaver/beaver-2gb-emmc.bct \ + --bootloader images/barebox-tegra30-nvidia-beaver-usbloader.img \ + --loadaddr 0x80108000 + +You should now see barebox coming up on the serial console. + +Writing barebox to the primary boot device +------------------------------------------ + +**NOTE** This may change in the near future to work with the standard +barebox update mechanism (:ref:`update`). + +Copy the image corresponding to the primary boot device for your board to a +SD-card and plug it into your board. + +Within the barebox shell use the standard mount and cp commands to copy the +image to the boot device. + +On the NVIDIA Beaver board this looks like this: + +.. code-block:: sh + + barebox@NVIDIA Tegra30 Beaver evaluation board:/ mount -a + mci0: detected SD card version 2.0 + mci0: registered disk0 + mci1: detected MMC card version 4.65 + mci1: registered disk1.boot0 + mci1: registered disk1.boot1 + mci1: registered disk1 + ext4 ext40: EXT2 rev 1, inode_size 128 + ext4 ext41: EXT2 rev 1, inode_size 256 + ext4 ext42: EXT2 rev 1, inode_size 256 + none on / type ramfs + none on /dev type devfs + /dev/disk0.0 on /mnt/disk0.0 type ext4 + /dev/disk0.1 on /mnt/disk0.1 type ext4 + /dev/disk1.1 on /mnt/disk1.1 type ext4 + barebox@NVIDIA Tegra30 Beaver evaluation board:/ cp /mnt/disk0.0/barebox-tegra30-nvidia-beaver-emmc.img /dev/disk1.boot0 + +That's it: barebox should come up after resetting the board. |