diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/android/fastboot.rst | 1 | ||||
-rw-r--r-- | doc/board/emulation/qemu-x86.rst | 2 | ||||
-rw-r--r-- | doc/board/starfive/index.rst | 1 | ||||
-rw-r--r-- | doc/board/starfive/milk-v_mars.rst | 111 | ||||
-rw-r--r-- | doc/board/starfive/visionfive2.rst | 18 | ||||
-rw-r--r-- | doc/build/docker.rst | 2 | ||||
-rw-r--r-- | doc/build/gen_compile_commands.rst | 4 | ||||
-rw-r--r-- | doc/develop/tests_sandbox.rst | 4 | ||||
-rw-r--r-- | doc/device-tree-bindings/sysreset/ti,sci-sysreset.txt | 29 | ||||
-rw-r--r-- | doc/sphinx/requirements.txt | 2 | ||||
-rw-r--r-- | doc/usage/cmd/itest.rst | 2 | ||||
-rw-r--r-- | doc/usage/environment.rst | 13 | ||||
-rw-r--r-- | doc/usage/partitions.rst | 17 |
13 files changed, 167 insertions, 39 deletions
diff --git a/doc/android/fastboot.rst b/doc/android/fastboot.rst index 05d8f777595..9e337cae2cb 100644 --- a/doc/android/fastboot.rst +++ b/doc/android/fastboot.rst @@ -128,6 +128,7 @@ Boot command When executing the fastboot ``boot`` command, if ``fastboot_bootcmd`` is set then that will be executed in place of ``bootm <CONFIG_FASTBOOT_BUF_ADDR>``. +This is supported if CONFIG_CMDLINE is enabled, which it normally is. Partition Names --------------- diff --git a/doc/board/emulation/qemu-x86.rst b/doc/board/emulation/qemu-x86.rst index c604e42990e..4eeba46ba7a 100644 --- a/doc/board/emulation/qemu-x86.rst +++ b/doc/board/emulation/qemu-x86.rst @@ -134,7 +134,7 @@ The output will be something like this:: U-Boot SPL 2023.07 (Jul 23 2023 - 08:00:12 -0600) Trying to boot from SPI - Jumping to 64-bit U-Boot: Note many features are missing + Jumping to 64-bit U-Boot U-Boot 2023.07 (Jul 23 2023 - 08:00:12 -0600) diff --git a/doc/board/starfive/index.rst b/doc/board/starfive/index.rst index 0c52dc7b095..2762bf74c11 100644 --- a/doc/board/starfive/index.rst +++ b/doc/board/starfive/index.rst @@ -6,4 +6,5 @@ StarFive .. toctree:: :maxdepth: 1 + milk-v_mars.rst visionfive2 diff --git a/doc/board/starfive/milk-v_mars.rst b/doc/board/starfive/milk-v_mars.rst new file mode 100644 index 00000000000..554932ecfd4 --- /dev/null +++ b/doc/board/starfive/milk-v_mars.rst @@ -0,0 +1,111 @@ +.. SPDX-License-Identifier: GPL-2.0+ + +Milk-V Mars +=========== + +U-Boot for the Milk-V Mars uses the same U-Boot binaries as the VisionFive 2 +board. In U-Boot SPL the actual board is detected and the device-tree patched +accordingly. + +Building +~~~~~~~~ + +1. Add the RISC-V toolchain to your PATH. +2. Setup ARCH & cross compilation environment variable: + +.. code-block:: none + + export CROSS_COMPILE=<riscv64 toolchain prefix> + +The M-mode software OpenSBI provides the supervisor binary interface (SBI) and +is responsible for the switch to S-Mode. It is a prerequisite to build U-Boot. +Support for the JH7110 was introduced in OpenSBI 1.2. It is recommended to use +a current release. + +.. code-block:: console + + git clone https://github.com/riscv/opensbi.git + cd opensbi + make PLATFORM=generic FW_TEXT_START=0x40000000 FW_OPTIONS=0 + +Now build the U-Boot SPL and U-Boot proper. + +.. code-block:: console + + cd <U-Boot-dir> + make starfive_visionfive2_defconfig + make OPENSBI=$(opensbi_dir)/build/platform/generic/firmware/fw_dynamic.bin + +This will generate the U-Boot SPL image (spl/u-boot-spl.bin.normal.out) as well +as the FIT image (u-boot.itb) with OpenSBI and U-Boot. + +Device-tree selection +~~~~~~~~~~~~~~~~~~~~~ + +Depending on the board version U-Boot set variable $fdtfile to either +starfive/jh7110-starfive-visionfive-2-v1.2a.dtb or +starfive/jh7110-starfive-visionfive-2-v1.3b.dtb. + +To overrule this selection the variable can be set manually and saved in the +environment + +:: + + setenv fdtfile my_device-tree.dtb + env save + +or the configuration variable CONFIG_DEFAULT_FDT_FILE can be used to set to +provide a default value. + +Boot source selection +~~~~~~~~~~~~~~~~~~~~~ + +The board provides the DIP switches MSEL[1:0] to select the boot device out of +SPI flash, eMMC, SD-card, UART. To select booting from SD-card set the DIP +switches MSEL[1:0] to 10. + +Preparing the SD-Card +~~~~~~~~~~~~~~~~~~~~~ + +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. + +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. + +The FIT image (u-boot.itb) is a combination of OpenSBI's fw_dynamic.bin, +u-boot-nodtb.bin and the device tree blob. + +Format the SD card (make sure the disk has GPT, otherwise use gdisk to switch) + +.. code-block:: bash + + sudo sgdisk --clear \ + --set-alignment=2 \ + --new=1:4096:8191 --change-name=1:spl --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985\ + --new=2:8192:16383 --change-name=2:uboot --typecode=2:BC13C2FF-59E6-4262-A352-B275FD6F7172 \ + --new=3:16384:1654784 --change-name=3:system --typecode=3:EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 \ + /dev/sdb + +Copy U-Boot to the SD card + +.. code-block:: bash + + sudo dd if=u-boot-spl.bin.normal.out of=/dev/sdb1 + sudo dd if=u-boot.itb of=/dev/sdb2 + + sudo mount /dev/sdb3 /mnt/ + sudo cp u-boot-spl.bin.normal.out /mnt/ + sudo cp u-boot.itb /mnt/ + sudo cp Image.gz /mnt/ + sudo cp initramfs.cpio.gz /mnt/ + sudo cp jh7110-starfive-visionfive-2.dtb /mnt/ + sudo umount /mnt + +Booting +~~~~~~~ + +Once you plugin the sdcard and power up, you should see the U-Boot prompt. diff --git a/doc/board/starfive/visionfive2.rst b/doc/board/starfive/visionfive2.rst index abda8ac21bc..2c68df3ce4d 100644 --- a/doc/board/starfive/visionfive2.rst +++ b/doc/board/starfive/visionfive2.rst @@ -71,6 +71,24 @@ Now build the U-Boot SPL and U-Boot proper This will generate the U-Boot SPL image (spl/u-boot-spl.bin.normal.out) as well as the FIT image (u-boot.itb) with OpenSBI and U-Boot. +Device-tree selection +~~~~~~~~~~~~~~~~~~~~~ + +Depending on the board version U-Boot set variable $fdtfile to either +starfive/jh7110-starfive-visionfive-2-v1.2a.dtb or +starfive/jh7110-starfive-visionfive-2-v1.3b.dtb. + +To overrule this selection the variable can be set manually and saved in the +environment + +:: + + setenv fdtfile my_device-tree.dtb + env save + +or the configuration variable CONFIG_DEFAULT_FDT_FILE can be used to provide +a default value. + Flashing ~~~~~~~~ diff --git a/doc/build/docker.rst b/doc/build/docker.rst index 953d1b28a06..45659b3b89d 100644 --- a/doc/build/docker.rst +++ b/doc/build/docker.rst @@ -11,4 +11,4 @@ Or to use an existing container .. code-block:: bash - sudo docker pull trini/u-boot-gitlab-ci-runner:bionic-20200807-02Sep2020 + sudo docker pull trini/u-boot-gitlab-ci-runner:jammy-20240227-14Mar2024 diff --git a/doc/build/gen_compile_commands.rst b/doc/build/gen_compile_commands.rst index 50305cec4a8..d503764f9e3 100644 --- a/doc/build/gen_compile_commands.rst +++ b/doc/build/gen_compile_commands.rst @@ -42,7 +42,7 @@ needed for it to be usable by the LSP, unless you set a name for the database other than it's default one (compile_commands.json). Compatible IDEs -=============== +--------------- Several popular integrated development environments (IDEs) support the use of JSON compilation databases for C/C++ development, making it easier to @@ -73,7 +73,7 @@ compile_commands.json in the root of the repository should suffice to enable code navigation. Usage -===== +----- For further details on the script's options, please refer to its help message, as in the example below. diff --git a/doc/develop/tests_sandbox.rst b/doc/develop/tests_sandbox.rst index bfd3bdb9270..72923070150 100644 --- a/doc/develop/tests_sandbox.rst +++ b/doc/develop/tests_sandbox.rst @@ -28,8 +28,8 @@ Some of the available tests are: - test/image/test-imagetools.sh - multi-file images - test/py/tests/test-fit.py - FIT images - - tracing: test/trace/test-trace.sh tests the tracing system (see - README.trace) + - tracing: test/trace/test-trace.sh tests the tracing system + (see :doc:`trace`). - verified boot: test/py/tests/test_vboot.py If you change or enhance any U-Boot subsystem, you should write or expand a diff --git a/doc/device-tree-bindings/sysreset/ti,sci-sysreset.txt b/doc/device-tree-bindings/sysreset/ti,sci-sysreset.txt deleted file mode 100644 index 02704c6487e..00000000000 --- a/doc/device-tree-bindings/sysreset/ti,sci-sysreset.txt +++ /dev/null @@ -1,29 +0,0 @@ -Texas Instruments TI SCI System Reset Controller -================================================ - -Some TI SoCs contain a system controller (like the SYSFW, etc...) that is -responsible for controlling the state of the IPs that are present. -Communication between the host processor running an OS and the system -controller happens through a protocol known as TI SCI [1]. - -[1] http://processors.wiki.ti.com/index.php/TISCI - -System Reset Controller Node -============================ -The sysreset controller node represents the reset for the overall SoC -which is managed by the SYSFW. Because this relies on the TI SCI protocol -to communicate with the SYSFW it must be a child of the sysfw node. - -Required Properties: --------------------- - - compatible: Must be "ti,sci-sysreset" - -Example (AM65x): ----------------- - sysfw: sysfw { - compatible = "ti,am654-system-controller"; - ... - k3_sysreset: sysreset-controller { - compatible = "ti,sci-sysreset"; - }; - }; diff --git a/doc/sphinx/requirements.txt b/doc/sphinx/requirements.txt index 840c6cedfde..5b4df36804b 100644 --- a/doc/sphinx/requirements.txt +++ b/doc/sphinx/requirements.txt @@ -3,7 +3,7 @@ Babel==2.14.0 certifi==2023.11.17 charset-normalizer==3.3.2 docutils==0.20.1 -idna==3.6 +idna==3.7 imagesize==1.4.1 Jinja2==3.1.3 MarkupSafe==2.1.3 diff --git a/doc/usage/cmd/itest.rst b/doc/usage/cmd/itest.rst index ab933db760d..9c307fb4bf4 100644 --- a/doc/usage/cmd/itest.rst +++ b/doc/usage/cmd/itest.rst @@ -86,6 +86,8 @@ Numbers will be truncated according to the postfix before comparing: Postfix .s causes a string compare. The string '0xa1234' is alphabetically smaller than '0xb'. +:: + => if itest.s 0xa1234 < 0xb; then echo true; else echo false; fi true diff --git a/doc/usage/environment.rst b/doc/usage/environment.rst index ebf75fa948a..7d4b448cb30 100644 --- a/doc/usage/environment.rst +++ b/doc/usage/environment.rst @@ -366,6 +366,19 @@ tftpwindowsize This means the count of blocks we can receive before sending ack to server. +usb_ignorelist + Ignore USB devices to prevent binding them to an USB device driver. This can + be used to ignore devices are for some reason undesirable or causes crashes + u-boot's USB stack. + An example for undesired behavior is the keyboard emulation of security keys + like Yubikeys. U-boot currently supports only a single USB keyboard device + so try to probe an useful keyboard device. The default environment blocks + Yubico devices as common devices emulating keyboards. + Devices are matched by idVendor and idProduct. The variable contains a comma + separated list of idVendor:idProduct pairs as hexadecimal numbers joined + by a colon. '*' functions as a wildcard for idProduct to block all devices + with the specified idVendor. + vlan When set to a value < 4095 the traffic over Ethernet is encapsulated/received over 802.1q diff --git a/doc/usage/partitions.rst b/doc/usage/partitions.rst index 628469bbec9..acf4573097d 100644 --- a/doc/usage/partitions.rst +++ b/doc/usage/partitions.rst @@ -44,9 +44,20 @@ partname <devtype><devletter><partnum> devtype - A device type like ``mmcsd`` or ``hd``. See the - ``part_set_generic_name`` function in ``disk/part.c`` for a - complete list. + The devtype field is set in dependence of the device class: + + ======= =============== + devtype device class + ======= =============== + hd IDE or SATA + sd SCSI + usbd USB + mmcsd eMMC or SD-card + xx others + ======= =============== + + See the ``part_set_generic_name`` function in ``disk/part.c`` + for the complete list. devletter The device number as an offset from ``a``. For example, device |