summaryrefslogtreecommitdiff
path: root/doc/board/ti/dra7xx_evm.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/board/ti/dra7xx_evm.rst')
-rw-r--r--doc/board/ti/dra7xx_evm.rst139
1 files changed, 139 insertions, 0 deletions
diff --git a/doc/board/ti/dra7xx_evm.rst b/doc/board/ti/dra7xx_evm.rst
new file mode 100644
index 0000000000..4503b5e922
--- /dev/null
+++ b/doc/board/ti/dra7xx_evm.rst
@@ -0,0 +1,139 @@
+.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
+.. sectionauthor:: Neha Malcom Francis <n-francis@ti.com>
+
+DRA7xx Generation
+=================
+
+Secure Boot
+-----------
+
+.. include:: am335x_evm.rst
+ :start-after: .. secure_boot_include_start_config_ti_secure_device
+ :end-before: .. secure_boot_include_end_config_ti_secure_device
+
+.. include:: am335x_evm.rst
+ :start-after: .. secure_boot_include_start_spl_boot
+ :end-before: .. secure_boot_include_end_spl_boot
+
+<IMAGE_FLAG> is a value that specifies the type of the image to
+generate OR the action the image generation tool will take. Valid
+values are:
+
+.. list-table::
+ :widths: 25 25
+ :header-rows: 0
+
+ * - X-LOADER
+ - Generates an image for NOR or QSPI boot modes
+ * - MLO
+ - Generates an image for NOR or QSPI boot modes
+ * - ULO
+ - Generates an image for USB/UART peripheral boot modes
+
+<INPUT_FILE> is the full path and filename of the public world boot
+loaderbinary file (for this platform, this is always u-boot-spl.bin).
+
+<OUTPUT_FILE> is the full path and filename of the final secure image.
+The output binary images should be used in place of the standard
+non-secure binary images (see the platform-specific user's guides
+and releases notes for how the non-secure images are typically used)
+
+.. list-table::
+ :widths: 25 25
+ :header-rows: 0
+
+ * - u-boot-spl_HS_SPI_X-LOADER
+ - boot image for SD/MMC/eMMC. This image is
+ copied to a file named MLO, which is the name that
+ the device ROM bootloader requires for loading from
+ the FAT partition of an SD card (same as on
+ non-secure devices)
+ * - u-boot-spl_HS_ULO
+ - boot image for USB/UART peripheral boot modes
+ * - u-boot-spl_HS_X-LOADER
+ - boot image for all other flash memories
+ including QSPI and NOR flash
+
+<SPL_LOAD_ADDR> is the address at which SOC ROM should load the
+<INPUT_FILE>
+
+.. include:: am335x_evm.rst
+ :start-after: .. secure_boot_include_start_primary_u_boot
+ :end-before: .. secure_boot_include_end_primary_u_boot
+
+eMMC Boot Partition Use
+-----------------------
+
+It is possible, depending on SYSBOOT configuration to boot from the eMMC
+boot partitions using (name depending on documentation referenced)
+Alternative Boot operation mode or Boot Sequence Option 1/2. In this
+example we load MLO and u-boot.img from the build into DDR and then use
+'mmc bootbus' to set the required rate (see TRM) and 'mmc partconfig' to
+set boot0 as the boot device.
+
+.. prompt:: bash
+ :prompts: =>
+
+ setenv autoload no
+ usb start
+ dhcp
+ mmc dev 1 1
+ tftp ${loadaddr} dra7xx/MLO
+ mmc write ${loadaddr} 0 100
+ tftp ${loadaddr} dra7xx/u-boot.img
+ mmc write ${loadaddr} 300 400
+ mmc bootbus 1 2 0 2
+ mmc partconf 1 1 1 0
+ mmc rst-function 1 1
+
+.. include:: am43xx_evm.rst
+ :start-after: qspi_boot_support_include_start
+ :end-before: qspi_boot_support_include_end
+
+Testing
+^^^^^^^
+
+Build the patched U-Boot and load MLO/u-boot.img.
+
+Boot from another medium like MMC
+
+.. prompt:: bash
+
+ => mmc dev 0
+ mmc0 is current device
+ => fatload mmc 0 0x82000000 MLO
+ reading MLO
+ 55872 bytes read in 8 ms (6.7 MiB/s)
+ => fatload mmc 0 0x83000000 u-boot.img
+ reading u-boot.img
+ 248600 bytes read in 19 ms (12.5 MiB/s)
+
+Commands to erase/write u-boot/MLO to flash device
+
+.. prompt:: bash
+
+ => sf probe 0
+ SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB, mapped at 5c000000
+ => sf erase 0 0x10000
+ SF: 65536 bytes @ 0x0 Erased: OK
+ => sf erase 0x20000 0x10000
+ SF: 65536 bytes @ 0x20000 Erased: OK
+ => sf erase 0x30000 0x10000
+ SF: 65536 bytes @ 0x30000 Erased: OK
+ => sf erase 0x40000 0x10000
+ SF: 65536 bytes @ 0x40000 Erased: OK
+ => sf erase 0x50000 0x10000
+ SF: 65536 bytes @ 0x50000 Erased: OK
+ => sf erase 0x60000 0x10000
+ SF: 65536 bytes @ 0x60000 Erased: OK
+ => sf write 82000000 0 0x10000
+ SF: 65536 bytes @ 0x0 Written: OK
+ => sf write 83000000 0x20000 0x60000
+ SF: 393216 bytes @ 0x20000 Written: OK
+
+Next, set sysboot to QSPI-1 boot mode(SYSBOOT[5:0] = 100110) and power
+on. ROM should find the GP header at offset 0 and load/execute SPL. SPL
+then detects that ROM was in QSPI-1 mode (boot code 10) and attempts to
+find a U-Boot image header at offset 0x20000 (set in the config file)
+and proceeds to load that image using the U-Boot image payload offset/size
+from the header. It will then start U-Boot.