diff options
Diffstat (limited to 'doc/board/starfive/jh7110_common.rst')
-rw-r--r-- | doc/board/starfive/jh7110_common.rst | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/doc/board/starfive/jh7110_common.rst b/doc/board/starfive/jh7110_common.rst new file mode 100644 index 00000000000..4a8058ee5da --- /dev/null +++ b/doc/board/starfive/jh7110_common.rst @@ -0,0 +1,103 @@ +.. SPDX-License-Identifier: GPL-2.0-or-later + +Boot source selection +--------------------- + +The board provides DIP switches to select the device for loading the boot +firmware. + +=========== === === +Boot source SW1 SW2 +=========== === === +UART OFF OFF +SD-card ON OFF +eMMC OFF ON +SPI flash ON ON +=========== === === + +Flashing a new U-Boot version +----------------------------- + +U-Boot SPL is provided as file spl/u-boot-spl.bin.normal.out. Main U-Boot is +in file u-boot.itb. + +Assuming your new U-Boot version is on partition 1 of an SD-card you could +install it to the SPI flash with: + +.. code-block:: console + + sf probe + load mmc 1:1 $kernel_addr_r u-boot-spl.bin.normal.out + sf update $kernel_addr_r 0 $filesize + load mmc 1:1 $kernel_addr_r u-boot.itb + sf update $kernel_addr_r 0x100000 $filesize + +For loading the files from a TFTP server refer to the dhcp and tftpboot +commands. + +After updating U-Boot you may want to erase a saved environment and reboot. + +.. code-block:: console + + env erase + reset + +Booting from SD-Card +-------------------- + +The device boot ROM loads U-Boot SPL (u-boot-spl.bin.normal.out) from the +partition with type GUID 2E54B353-1271-4842-806F-E436D6AF6985. You are free +to choose any partition number. + +With the default configuration U-Boot SPL loads the U-Boot FIT image +(u-boot.itb) from partition 2 (CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=0x2). +When formatting it is recommended to use GUID +BC13C2FF-59E6-4262-A352-B275FD6F7172 for this partition. + +Booting from eMMC +----------------- + +The device boot ROM tries to load U-Boot SPL (u-boot-spl.bin.normal.out) from +sector 0 of the eMMC's main hardware partition. But this conflicts with GPT +partitioning. Fortunately eMMC can alternatively load U-Boot SPL from a backup +position. + +For U-Boot SPL (u-boot-spl.bin.normal.out) starting at sector 2048 (position +0x100000) write the following bytes to the eMMC device after GPT partitioning: + +======= ======================== +Address Bytes +======= ======================== +0x0000 40 02 00 00 00 00 10 00 +0x0290 40 02 00 00 00 00 10 00 +======= ======================== + +With the default configuration U-Boot SPL loads the U-Boot FIT image +(u-boot.itb) from partition 2 (CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION=0x2). +When formatting it is recommended to use GUID +BC13C2FF-59E6-4262-A352-B275FD6F7172 for this partition. + +Booting from UART +----------------- + +The boot ROM supports the X-modem protocol to upload +spl/u-boot-spl.bin.normal.out. U-Boot SPL support loading the FIT image +u-boot.itb via the Y-modem protocol. + +Due to restrictions of the boot ROM not all X-modem implementations are +compatible. The package tio (https://github.com/tio/tio) has been found to be +usable. + +Debug UART +---------- + +By default the SBI interface is used for the debug UART. But this only works +in main U-Boot. To enable the debug UART in SPL, too, use the following +settings:: + + CONFIG_DEBUG_UART=y + CONFIG_DEBUG_UART_NS16550=y + CONFIG_DEBUG_UART_BASE=0x10000000 + CONFIG_SPL_DEBUG_UART_BASE=0x10000000 + CONFIG_DEBUG_UART_CLOCK=24000000 + CONFIG_DEBUG_UART_SHIFT=2 |