mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 06:00:43 +00:00
7314ba2bf8
Make the conversion for all existing TI documentation from README to .rst Signed-off-by: Neha Malcom Francis <n-francis@ti.com>
188 lines
7.2 KiB
ReStructuredText
188 lines
7.2 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
|
.. sectionauthor:: Neha Malcom Francis <n-francis@ti.com>
|
|
|
|
AM43xx 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
|
|
|
|
* - SPI_X-LOADER
|
|
- Generates an image for SPI flash (byte swapped)
|
|
* - XIP_X-LOADER
|
|
- Generates a single stage u-boot for NOR/QSPI XiP
|
|
* - ISSW
|
|
- Generates an image for all other boot modes
|
|
|
|
<INPUT_FILE> is the full path and filename of the public world boot
|
|
loaderbinary file (depending on the boot media, this is usually
|
|
either u-boot-spl.bin or u-boot.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
|
|
- byte swapped boot image for SPI flash
|
|
* - u-boot_HS_XIP_X-LOADER
|
|
- boot image for NOR or QSPI Xip flash
|
|
* - u-boot-spl_HS_ISSW
|
|
- boot image for all other boot media
|
|
|
|
|
|
<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
|
|
|
|
.. qspi_boot_support_include_start
|
|
|
|
QSPI U-Boot support
|
|
-------------------
|
|
|
|
Host processor is connected to serial flash device via qpsi
|
|
interface. QSPI is a kind of spi module that allows single,
|
|
dual and quad read access to external spi devices. The module
|
|
has a memory mapped interface which provide direct interface
|
|
for accessing data form external spi devices.
|
|
|
|
The one QSPI in the device is primarily intended for fast booting
|
|
from Quad SPI flash devices.
|
|
|
|
Usecase
|
|
^^^^^^^
|
|
|
|
MLO/u-boot.img will be flashed from SD/MMC to the flash device
|
|
using serial flash erase and write commands. Then, switch settings
|
|
will be changed to qspi boot. Then, the ROM code will read MLO
|
|
from the predefined location in the flash, where it was flashed and
|
|
execute it after storing it in SDRAM. Then, the MLO will read
|
|
u-boot.img from flash and execute it from SDRAM.
|
|
|
|
SPI mode
|
|
^^^^^^^^
|
|
|
|
SPI mode uses mtd spi framework for transfer and reception of data.
|
|
Can be used in:
|
|
|
|
#. Normal mode: use single pin for transfers
|
|
#. Dual Mode: use two pins for transfers.
|
|
#. Quad mode: use four pin for transfer
|
|
|
|
Memory mapped read mode
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
In this, SPI controller is configured using configuration port and then
|
|
controller is switched to memory mapped port for data read.
|
|
|
|
Driver
|
|
^^^^^^
|
|
|
|
drivers/qspi/ti_qspi.c
|
|
- File which is responsible for configuring the
|
|
qspi controller and also for providing the low level api which
|
|
is responsible for transferring the datas from host controller
|
|
to flash device and vice versa.
|
|
|
|
.. qspi_boot_support_include_end
|
|
|
|
Testing
|
|
^^^^^^^
|
|
|
|
These are the testing details of qspi flash driver with Macronix M25L51235
|
|
flash device.
|
|
|
|
The test includes
|
|
- probing the flash device
|
|
- erasing the flash device
|
|
- Writing to flash
|
|
- Reading the contents of the flash.
|
|
|
|
Test Log
|
|
|
|
.. code-block:: bash
|
|
|
|
Hit any key to stop autoboot: 0
|
|
=> sf probe 0
|
|
SF: Detected MX25L51235F with page size 256 Bytes, erase size 64 KiB, total 64 MiB, mapped at 30000000
|
|
=> sf erase 0 0x80000
|
|
SF: 524288 bytes @ 0x0 Erased: OK
|
|
=> mw 81000000 0xdededede 0x40000
|
|
=> sf write 81000000 0 0x40000
|
|
SF: 262144 bytes @ 0x0 Written: OK
|
|
=> sf read 82000000 0 0x40000
|
|
SF: 262144 bytes @ 0x0 Read: OK
|
|
=> md 0x82000000
|
|
82000000: dededede dededede dededede dededede ................
|
|
82000010: dededede dededede dededede dededede ................
|
|
82000020: dededede dededede dededede dededede ................
|
|
82000030: dededede dededede dededede dededede ................
|
|
82000040: dededede dededede dededede dededede ................
|
|
82000050: dededede dededede dededede dededede ................
|
|
82000060: dededede dededede dededede dededede ................
|
|
82000070: dededede dededede dededede dededede ................
|
|
82000080: dededede dededede dededede dededede ................
|
|
82000090: dededede dededede dededede dededede ................
|
|
820000a0: dededede dededede dededede dededede ................
|
|
820000b0: dededede dededede dededede dededede ................
|
|
820000c0: dededede dededede dededede dededede ................
|
|
820000d0: dededede dededede dededede dededede ................
|
|
820000e0: dededede dededede dededede dededede ................
|
|
820000f0: dededede dededede dededede dededede ................
|
|
=> md 0x82010000
|
|
82010000: dededede dededede dededede dededede ................
|
|
82010010: dededede dededede dededede dededede ................
|
|
82010020: dededede dededede dededede dededede ................
|
|
82010030: dededede dededede dededede dededede ................
|
|
82010040: dededede dededede dededede dededede ................
|
|
82010050: dededede dededede dededede dededede ................
|
|
82010060: dededede dededede dededede dededede ................
|
|
82010070: dededede dededede dededede dededede ................
|
|
82010080: dededede dededede dededede dededede ................
|
|
82010090: dededede dededede dededede dededede ................
|
|
820100a0: dededede dededede dededede dededede ................
|
|
820100b0: dededede dededede dededede dededede ................
|
|
820100c0: dededede dededede dededede dededede ................
|
|
820100d0: dededede dededede dededede dededede ................
|
|
820100e0: dededede dededede dededede dededede ................
|
|
820100f0: dededede dededede dededede dededede ................
|
|
=> md 0x82030000
|
|
82030000: dededede dededede dededede dededede ................
|
|
82030010: dededede dededede dededede dededede ................
|
|
82030020: dededede dededede dededede dededede ................
|
|
82030030: dededede dededede dededede dededede ................
|
|
82030040: dededede dededede dededede dededede ................
|
|
82030050: dededede dededede dededede dededede ................
|
|
82030060: dededede dededede dededede dededede ................
|
|
82030070: dededede dededede dededede dededede ................
|
|
82030080: dededede dededede dededede dededede ................
|
|
82030090: dededede dededede dededede dededede ................
|
|
820300a0: dededede dededede dededede dededede ................
|
|
820300b0: dededede dededede dededede dededede ................
|
|
820300c0: dededede dededede dededede dededede ................
|
|
820300d0: dededede dededede dededede dededede ................
|
|
820300e0: dededede dededede dededede dededede ................
|
|
820300f0: dededede dededede dededede dededede ................
|