diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/board/advantech/imx8qm-dmsse20-a1.rst | 58 | ||||
-rw-r--r-- | doc/board/advantech/index.rst | 1 | ||||
-rw-r--r-- | doc/board/broadcom/index.rst | 1 | ||||
-rw-r--r-- | doc/board/broadcom/northstar.rst | 44 | ||||
-rw-r--r-- | doc/board/qualcomm/qcs404.rst | 4 | ||||
-rw-r--r-- | doc/board/qualcomm/sdm845.rst | 4 | ||||
-rw-r--r-- | doc/board/sifive/unmatched.rst | 6 | ||||
-rw-r--r-- | doc/board/starfive/visionfive2.rst | 23 | ||||
-rw-r--r-- | doc/develop/event.rst | 2 | ||||
-rw-r--r-- | doc/develop/trace.rst | 2 | ||||
-rw-r--r-- | doc/device-tree-bindings/serial/msm-geni-serial.txt | 2 | ||||
-rw-r--r-- | doc/usage/cmd/cp.rst | 83 | ||||
-rw-r--r-- | doc/usage/cmd/mmc.rst | 4 | ||||
-rw-r--r-- | doc/usage/index.rst | 1 |
14 files changed, 217 insertions, 18 deletions
diff --git a/doc/board/advantech/imx8qm-dmsse20-a1.rst b/doc/board/advantech/imx8qm-dmsse20-a1.rst new file mode 100644 index 00000000000..b83e678cd9a --- /dev/null +++ b/doc/board/advantech/imx8qm-dmsse20-a1.rst @@ -0,0 +1,58 @@ +.. SPDX-License-Identifier: GPL-2.0+ + +NXP i.MX8QM DMSSE20-a1 board +============================ + +Quick Start +----------- + +- Build the ARM Trusted firmware binary +- Get scfw_tcm.bin and ahab-container.img +- Get imx-mkimage +- Build U-Boot +- Flash the binary into the SD card +- Boot + +Get and Build the ARM Trusted Firmware +-------------------------------------- + +.. code-block:: bash + + $ git clone https://github.com/nxp-imx/imx-atf + $ cd imx-atf/ + $ git checkout lf-5.10.72-2.2.0 -b lf-5.10.72-2.2.0 + $ make PLAT=imx8qm bl31 + $ cp build/imx8qm/release/bl31.bin $(builddir) + +Get scfw_tcm.bin and ahab-container.img +--------------------------------------- + +.. code-block:: bash + + $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/imx-sc-firmware-1.11.0.bin + $ chmod +x imx-sc-firmware-1.11.0.bin + $ ./imx-sc-firmware-1.11.0.bin + $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/imx-seco-3.8.5.bin + $ chmod +x imx-seco-3.8.5.bin + $ ./imx-seco-3.8.5.bin + +Or use this to avoid running random scripts from the internet, +but note that you must agree to the license the script displays: + +.. code-block:: bash + + $ dd if=imx-sc-firmware-1.11.0.bin of=imx-sc-firmware-1.11.0.tar.bz2 bs=42757 skip=1 + $ tar -xf imx-sc-firmware-1.11.0.tar.bz2 + $ cp imx-sc-firmware-1.11.0/mx8qm-val-scfw-tcm.bin $(builddir) + $ dd if=imx-seco-3.8.5.bin of=imx-seco-3.8.5.tar.bz2 bs=43978 skip=1 + $ tar -xf imx-seco-3.8.5.tar.bz2 + $ cp imx-seco-3.8.5/firmware/seco/mx8qmb0-ahab-container.img $(builddir) + +Build U-Boot +------------ +.. code-block:: bash + + $ export ATF_LOAD_ADDR=0x80000000 + $ export BL33_LOAD_ADDR=0x80020000 + $ make imx8qm_dmsse20a1_defconfig + $ make diff --git a/doc/board/advantech/index.rst b/doc/board/advantech/index.rst index e9b198c5c3e..125b98c1f76 100644 --- a/doc/board/advantech/index.rst +++ b/doc/board/advantech/index.rst @@ -7,3 +7,4 @@ Advantech :maxdepth: 2 imx8qm-rom7720-a1.rst + imx8qm-dmsse20-a1.rst diff --git a/doc/board/broadcom/index.rst b/doc/board/broadcom/index.rst index a56bd1f0692..ca34afc82be 100644 --- a/doc/board/broadcom/index.rst +++ b/doc/board/broadcom/index.rst @@ -9,3 +9,4 @@ Broadcom bcm7xxx raspberrypi + northstar diff --git a/doc/board/broadcom/northstar.rst b/doc/board/broadcom/northstar.rst new file mode 100644 index 00000000000..f4bc0acd010 --- /dev/null +++ b/doc/board/broadcom/northstar.rst @@ -0,0 +1,44 @@ +.. SPDX-License-Identifier: GPL-2.0+ +.. Copyright (C) 2023 Linus Walleij <linus.walleij@linaro.org> + +Broadcom Northstar Boards +========================= + +This document describes how to use U-Boot on the Broadcom Northstar +boards, comprised of the Cortex A9 ARM-based BCM470x and BCM5301x SoCs. These +were introduced in 2012-2013 and some of them are also called StrataGX. + +Northstar is part of the iProc SoC family. + +A good overview of these boards can be found in Jon Mason's presentation +"Enabling New Hardware in U-Boot" where the difference between Northstar +and Northstar Plus and Northstar 2 (Aarch64) is addressed. + +The ROM in the Northstar SoC will typically look into NOR flash memory +for a boot loader, and the way this works is undocumented. It should be +possible to execute U-Boot as the first binary from the NOR flash but +this usage path is unexplored. Please add information if you know more. + +D-Link Boards +------------- + +When we use U-Boot with D-Link routers, the NOR flash has a boot loader +and web server that can re-flash the bigger NAND flash memory for object +code in the SEAMA format, so on these platforms U-Boot is converted into +a SEAMA binary and installed in the SoC using the flash tool resident in +the NOR flash. Details can be found in the OpenWrt project codebase. + +Configure +--------- + +.. code-block:: console + + $ make CROSS_COMPILE=${CROSS_COMPILE} bcmns_defconfig + +Build +----- + +.. code-block:: console + + $ make CROSS_COMPILE=${CROSS_COMPILE} + $ ${CROSS_COMPILE}strip u-boot diff --git a/doc/board/qualcomm/qcs404.rst b/doc/board/qualcomm/qcs404.rst index bbb40b043b3..0cb71d97c98 100644 --- a/doc/board/qualcomm/qcs404.rst +++ b/doc/board/qualcomm/qcs404.rst @@ -9,8 +9,8 @@ About this This document describes the information about Qualcomm QCS404 evaluation board and it's usage steps. -U-Boot can be used as a replacement for Qualcomm's original ABL (UEFI) bootloader. -It is loaded as an Android boot image through ABL +The current boot flow support loading u-boot as an Android boot image via +Qualcomm's UEFI-based ABL (Android) Bootloader. Installation ------------ diff --git a/doc/board/qualcomm/sdm845.rst b/doc/board/qualcomm/sdm845.rst index 8ef47492877..71879c2a6e3 100644 --- a/doc/board/qualcomm/sdm845.rst +++ b/doc/board/qualcomm/sdm845.rst @@ -12,8 +12,8 @@ supported boards and it's usage steps. SDM845 - hi-end qualcomm chip, introduced in late 2017. Mostly used in flagship phones and tablets of 2018. -U-Boot can be used as a replacement for Qualcomm's original ABL (UEFI) bootloader. -It is loaded as an Android boot image through ABL +The current boot flow support loading u-boot as an Android boot image via +Qualcomm's UEFI-based ABL (Android) Bootloader. Installation ------------ diff --git a/doc/board/sifive/unmatched.rst b/doc/board/sifive/unmatched.rst index a99442277b6..de2aab59bb1 100644 --- a/doc/board/sifive/unmatched.rst +++ b/doc/board/sifive/unmatched.rst @@ -56,8 +56,10 @@ Flashing ZSBL loads the U-Boot SPL (u-boot-spl.bin) from a partition with GUID type 5B193300-FC78-40CD-8002-E86C45580B47 -U-Boot SPL expects u-boot.itb from a partition with GUID -type 2E54B353-1271-4842-806F-E436D6AF6985 +With the default configuration U-Boot SPL expects u-boot.itb starting at sector +2082 (CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x822). It is recommended to use a +partition with type GUID 2E54B353-1271-4842-806F-E436D6AF6985 for storing +main U-Boot. u-boot.itb is a combination of fw_dynamic.bin, u-boot-nodtb.bin and device tree blob (hifive-unmatched-a00.dtb) diff --git a/doc/board/starfive/visionfive2.rst b/doc/board/starfive/visionfive2.rst index 22d2a31ff59..4d43ac9729c 100644 --- a/doc/board/starfive/visionfive2.rst +++ b/doc/board/starfive/visionfive2.rst @@ -51,6 +51,8 @@ cloned and built for JH7110 as below: cd opensbi make PLATFORM=generic FW_TEXT_START=0x40000000 FW_OPTIONS=0 +The VisionFive 2 support for OpenSBI was introduced after the v1.2 release. + More detailed description of steps required to build FW_DYNAMIC firmware is beyond the scope of this document. Please refer OpenSBI documenation. (Note: OpenSBI git repo is at https://github.com/riscv/opensbi.git) @@ -79,14 +81,19 @@ This will generate u-boot-spl.bin.normal.out file. Flashing ~~~~~~~~ -SPL loads the U-Boot SPL (u-boot-spl.bin.normal.out) from a partition with GUID type -2E54B353-1271-4842-806F-E436D6AF6985 +The device firmware 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. -U-Boot SPL expects a U-Boot FIT image (u-boot.itb) from a partition with GUID -type BC13C2FF-59E6-4262-A352-B275FD6F7172 +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. -FIT image (u-boot.itb) is a combination of fw_dynamic.bin, u-boot-nodtb.bin and -device tree blob (jh7110-starfive-visionfive-2-v1.3b.dtb/jh7110-starfive-visionfive-2-v1.2a.dtb) +The FIT image (u-boot.itb) is a combination of OpenSBI's fw_dynamic.bin, +u-boot-nodtb.bin and the device tree blob +(jh7110-starfive-visionfive-2-v1.3b.dtb or +jh7110-starfive-visionfive-2-v1.2a.dtb). Format the SD card (make sure the disk has GPT, otherwise use gdisk to switch) @@ -117,7 +124,9 @@ Program the SD card Booting ~~~~~~~ -Change DIP switches MSEL[1:0] are set to 10, select the boot mode to SD. +The board provides the DIP switches MSEL[1:0] to select the boot device. +To select booting from SD-card set the DIP switches MSEL[1:0] to 10. + Once you plugin the sdcard and power up, you should see the U-Boot prompt. Sample boot log from StarFive VisionFive2 board diff --git a/doc/develop/event.rst b/doc/develop/event.rst index 4ff59348371..e60cbf65691 100644 --- a/doc/develop/event.rst +++ b/doc/develop/event.rst @@ -12,7 +12,7 @@ Rather than using weak functions and direct calls across subsystemss, it is often easier to use an event. An event consists of a type (e.g. EVT_DM_POST_INIT) and some optional data, -in `union event_data`. An event spy can be creasted to watch for events of a +in `union event_data`. An event spy can be created to watch for events of a particular type. When the event is created, it is sent to each spy in turn. diff --git a/doc/develop/trace.rst b/doc/develop/trace.rst index 8425d843e9c..9bbe1345d2d 100644 --- a/doc/develop/trace.rst +++ b/doc/develop/trace.rst @@ -100,7 +100,7 @@ Then run proftool to convert the trace information to ftrace format .. code-block:: console - $ ./sandbox/tools/proftool -m sandbox/System.map -t trace dump-ftrace >trace.dat + $ ./sandbox/tools/proftool -m sandbox/System.map -t trace dump-ftrace -o trace.dat Finally run kernelshark to display it (note it only works with `.dat` files!): diff --git a/doc/device-tree-bindings/serial/msm-geni-serial.txt b/doc/device-tree-bindings/serial/msm-geni-serial.txt index 9eadc2561b4..eaa39c949b1 100644 --- a/doc/device-tree-bindings/serial/msm-geni-serial.txt +++ b/doc/device-tree-bindings/serial/msm-geni-serial.txt @@ -1,6 +1,6 @@ Qualcomm GENI UART Required properties: -- compatible: must be "qcom,msm-geni-uart" +- compatible: must be "qcom,geni-debug-uart" - reg: start address and size of the registers - clock: interface clock (must accept baudrate as a frequency) diff --git a/doc/usage/cmd/cp.rst b/doc/usage/cmd/cp.rst new file mode 100644 index 00000000000..12a24e19fee --- /dev/null +++ b/doc/usage/cmd/cp.rst @@ -0,0 +1,83 @@ +.. SPDX-License-Identifier: GPL-2.0+: + +cp command +========== + +Synopsis +-------- + +:: + + cp source target count + cp.b source target count + cp.w source target count + cp.l source target count + cp.q source target count + +Description +----------- + +The cp command is used to copy *count* chunks of memory from the *source* +address to the *target* address. If the *target* address points to NOR flash, +the flash is programmed. + +The number bytes in one chunk is defined by the suffix defaulting to 4 bytes: + +====== ========== +suffix chunk size +====== ========== +.b 1 byte +.w 2 bytes +.l 4 bytes +.q 8 bytes +<none> 4 bytes +====== ========== + +source + source address, hexadecimal + +target + target address, hexadecimal + +count + number of words to be copied, hexadecimal + +Examples +-------- + +The example device has a NOR flash where the lower part of the flash is +protected. We first copy to RAM, then to unprotected flash. Last we try to +write to protectd flash. + +:: + + => mtd list + List of MTD devices: + * nor0 + - device: flash@0 + - parent: root_driver + - driver: cfi_flash + - path: /flash@0 + - type: NOR flash + - block size: 0x20000 bytes + - min I/O: 0x1 bytes + - 0x000000000000-0x000002000000 : "nor0" + => cp.b 4020000 5000000 200000 + => cp.b 4020000 1e00000 20000 + Copy to Flash... done + => cp.b 4020000 0 20000 + Copy to Flash... Can't write to protected Flash sectors + => + +Configuration +------------- + +The cp command is available if CONFIG_CMD_MEMORY=y. Support for 64 bit words +(cp.q) depends on CONFIG_MEM_SUPPORT_64BIT_DATA=y. Copying to flash depends on +CONFIG_MTD_NOR_FLASH=y. + +Return value +------------ + +The return value $? is set to 0 (true) if the command was successfully, +1 (false) otherwise. diff --git a/doc/usage/cmd/mmc.rst b/doc/usage/cmd/mmc.rst index 55e3f9cf98c..71a0303109c 100644 --- a/doc/usage/cmd/mmc.rst +++ b/doc/usage/cmd/mmc.rst @@ -213,10 +213,10 @@ The 'mmc info' command displays device's capabilities: The raw data can be read/written via 'mmc read/write' command: :: - => mmc read 0x40000000 0x5000 0x100 + => mmc read 40000000 5000 100 MMC read: dev # 0, block # 20480, count 256 ... 256 blocks read: OK - => mmc write 0x40000000 0x5000 0x10 + => mmc write 40000000 5000 100 MMC write: dev # 0, block # 20480, count 256 ... 256 blocks written: OK The partition list can be shown via 'mmc part' command: diff --git a/doc/usage/index.rst b/doc/usage/index.rst index cdf710919a2..0fde130a548 100644 --- a/doc/usage/index.rst +++ b/doc/usage/index.rst @@ -41,6 +41,7 @@ Shell commands cmd/cmp cmd/coninfo cmd/conitrace + cmd/cp cmd/cyclic cmd/dm cmd/ebtupdate |