summaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2015-06-09 09:26:44 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2015-06-09 09:26:44 +0200
commit3a32e7acd4867705f0b2b822f3dd88b25cae987a (patch)
tree0e932fd49debf707f4f514be693f84fb2642760e /Documentation
parent61c79464481936281c83ad6a11e6df8c1c4d7743 (diff)
parent04a2c84fda15659f1ad594c88ff67f239ab9f5a6 (diff)
downloadbarebox-3a32e7acd4867705f0b2b822f3dd88b25cae987a.tar.gz
barebox-3a32e7acd4867705f0b2b822f3dd88b25cae987a.tar.xz
Merge branch 'for-next/spi-nor'
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/boards/socfpga.rst56
1 files changed, 52 insertions, 4 deletions
diff --git a/Documentation/boards/socfpga.rst b/Documentation/boards/socfpga.rst
index e956bccbe2..358e5ab910 100644
--- a/Documentation/boards/socfpga.rst
+++ b/Documentation/boards/socfpga.rst
@@ -11,10 +11,34 @@ build the ``socfpga-xload_defconfig``; for second stage use the normal
Bootstrapping
-------------
-The supported bootsource is a SD card. The Boot ROM searches for a partition of
-type A2 and loads what it finds there. When barebox is placed in such a partition
-it will then itself try and mount the second partition of the SD card, which must
-be of type FAT32. On this partition barebox searches for a file called barebox.bin.
+The supported bootsources are: SD card and QSPI.
+
+Bootsource selection
+^^^^^^^^^^^^^^^^^^^^
+
++--------------+-----------+-----------+
+| Board | BSEL[2:0] | CSEL[1:0] |
++==============+===========+===========+
+| Sockit SD | 0b100 | 0b00 |
++--------------+-----------+-----------+
+| Sockit QSPI | 0b110 | 0b00 |
++--------------+-----------+-----------+
+| Socrates SD | 0b101 | 0b11 |
++--------------+-----------+-----------+
+| Socrates QSPI| 0b111 | 0b11 |
++--------------+-----------+-----------+
+| SocDK SD | 0b100 | 0b00 |
++--------------+-----------+-----------+
+| SocDK QSPI | 0b110 | 0b00 |
++--------------+-----------+-----------+
+
+SD card
+^^^^^^^
+
+The Boot ROM searches for a partition of type A2 and loads what it finds there.
+When barebox is placed in such a partition it will then itself try and mount the
+second partition of the SD card, which must be of type FAT32. On this partition
+barebox searches for a file called barebox.bin.
To boot barebox on a Terasic SoCkit, the procedure is as follows (sdb1 is the A2 and
sdb2 the FAT32 partition)::
@@ -34,6 +58,30 @@ proceed with::
For the EBV Socrates use ``images/barebox-socfpga-socrates(-xload).img`` instead.
+QSPI
+^^^^
+
+The Boot ROM loads the preloader starting from address 0x0 on the QSPI flash.
+barebox then searches for a barebox image at the 256K offset and loads it.
+
+The default bootsource is SD card, so to change that to QSPI, you have to::
+
+ make socfpga-xload_defconfig
+ make menuconfig
+
+And then select the options `MTD` and `SPI_CADENCE_QUADSPI`. Now::
+
+ make
+ cat images/barebox-socfpga-<board>-xload.img > /dev/mtd0
+
+For barebox itself, the build step is like for SD card. The resulting image has to be
+written to the offset 256K.
+
+Warning! There is a known issue with booting from QSPI and doing Cold/Warm-Resets.
+Please consult `Rocketboards <http://rocketboards.org/foswiki/Documentation/SocBoardQspiBoot#Serial_Flash_Challenges>`_
+to see how to fix this.
+
+
Updating handoff files
----------------------