summaryrefslogtreecommitdiffstats
path: root/Documentation/boards/tegra.rst
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-06-17 10:37:25 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2014-06-26 11:07:10 +0200
commit3fef396bb42efc0bb12b0a8caf0d076ab1c4d879 (patch)
tree91625b2407ed25dffd093b19159135481eb80f84 /Documentation/boards/tegra.rst
parent7e65163b9165bccca780da91fad247c0e4ac7f9f (diff)
downloadbarebox-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.rst102
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.