summaryrefslogtreecommitdiff
path: root/doc/usage
diff options
context:
space:
mode:
Diffstat (limited to 'doc/usage')
-rw-r--r--doc/usage/cmd/bootmenu.rst2
-rw-r--r--doc/usage/cmd/seama.rst60
-rw-r--r--doc/usage/cmd/setexpr.rst5
-rw-r--r--doc/usage/cmd/sm.rst48
-rw-r--r--doc/usage/cmd/trace.rst163
-rw-r--r--doc/usage/index.rst3
6 files changed, 279 insertions, 2 deletions
diff --git a/doc/usage/cmd/bootmenu.rst b/doc/usage/cmd/bootmenu.rst
index cb3c8d2f93c..684a18d8e14 100644
--- a/doc/usage/cmd/bootmenu.rst
+++ b/doc/usage/cmd/bootmenu.rst
@@ -122,7 +122,7 @@ Example bootmenu is as below::
Default behavior when user exits from the bootmenu
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
User can exit from bootmenu by selecting the last entry
-"U-Boot console"/"Quit" or ESC/CTRL+C key.
+"U-Boot console"/"Quit" or ESC key.
When the CONFIG_BOOTMENU_DISABLE_UBOOT_CONSOLE is disabled,
user exits from the bootmenu and returns to the U-Boot console.
diff --git a/doc/usage/cmd/seama.rst b/doc/usage/cmd/seama.rst
new file mode 100644
index 00000000000..356c00a7233
--- /dev/null
+++ b/doc/usage/cmd/seama.rst
@@ -0,0 +1,60 @@
+.. SPDX-License-Identifier: GPL-2.0+:
+
+seama command
+=============
+
+Synopsis
+--------
+
+::
+
+ seama <dst_addr> <index>
+
+Description
+-----------
+
+The seama command is used to load and decode SEAttle iMAges from NAND
+flash to memory.
+
+This type of flash image is found in some D-Link routers such as
+DIR-645, DIR-842, DIR-859, DIR-860L, DIR-885L, DIR890L and DCH-M225,
+as well as in WD and NEC routers on the ath79 (MIPS), Broadcom
+BCM53xx, and RAMIPS platforms.
+
+This U-Boot command will read and decode a SEAMA image from raw NAND
+flash on any platform. As it is always using big endian format for
+the data decoding is always necessary on platforms such as ARM.
+
+dst_addr
+ destination address of the byte stream to be loaded
+
+index
+ the image index (0, 1, 2..) can be omitted
+
+Example
+-------
+
+::
+
+ => seama 0x01000000
+ Loading SEAMA image 0 from nand0
+ SEMA IMAGE:
+ metadata size 36
+ image size 8781764
+ checksum 054859cfb1487b59befda98824e09dd6
+ Decoding SEAMA image 0x01000040..0x01860004 to 0x01000000
+
+
+Configuration
+-------------
+
+The command is available if CONFIG_CMD_SEAMA=y.
+
+Return value
+------------
+
+The return value $? is set 0 (true) if the loading is succefull, and
+is set to 1 (false) in case of error.
+
+The environment variable $seama_image_size is set to the size of the
+loaded SEAMA image.
diff --git a/doc/usage/cmd/setexpr.rst b/doc/usage/cmd/setexpr.rst
index 2e511b12905..4d19fa340d1 100644
--- a/doc/usage/cmd/setexpr.rst
+++ b/doc/usage/cmd/setexpr.rst
@@ -138,7 +138,10 @@ Example
Configuration
-------------
-The setexpr gsub and sub operations are only available if CONFIG_REGEX=y.
+* The *setexpr* command is only available if CMD_SETEXPR=y.
+* The *setexpr fmt* sub-command is only available if CMD_SETEXPR_FMT=y.
+* The *setexpr gsub* and *setexpr sub* sub-commands are only available if
+ CONFIG_REGEX=y.
Return value
------------
diff --git a/doc/usage/cmd/sm.rst b/doc/usage/cmd/sm.rst
new file mode 100644
index 00000000000..f6524a1c2e3
--- /dev/null
+++ b/doc/usage/cmd/sm.rst
@@ -0,0 +1,48 @@
+.. SPDX-License-Identifier: GPL-2.0+:
+
+sm command
+==========
+
+Synopis
+-------
+
+::
+
+ sm serial <address>
+ sm reboot_reason [name]
+ sm efuseread <offset> <size> <address>
+ sm efusewrite <offset> <size> <address>
+ sm efusedump <offset> <size>
+
+Description
+-----------
+
+The sm command is used to request services from the secure monitor. User
+can call secure monitor to request special TEE function, for example chip
+serial number info, reboot reason, etc.
+
+sm serial
+ Retrieve chip unique serial number from sm and write it to memory on
+ appropriate address.
+
+sm reboot_reason
+ Print reboot reason to the console, if parameter [name] isn't specified.
+ If parameter specified, set reboot reason string to environment variable
+ with this name.
+
+sm efuseread
+ Read <size> bytes starting from <offset> from efuse memory bank and write
+ result to the address <address>.
+
+sm efusewrite
+ Write into efuse memory bank, starting from <offset>, the <size> bytes
+ of data, located at address <address>.
+
+sm efusedump
+ Read <size> bytes starting from <offset> from efuse memory bank and print
+ them to the console.
+
+Configuration
+-------------
+
+To use the sm command you must specify CONFIG_CMD_MESON=y
diff --git a/doc/usage/cmd/trace.rst b/doc/usage/cmd/trace.rst
new file mode 100644
index 00000000000..3bdf4f0a860
--- /dev/null
+++ b/doc/usage/cmd/trace.rst
@@ -0,0 +1,163 @@
+.. SPDX-License-Identifier: GPL-2.0+:
+
+trace command
+=============
+
+Synopis
+-------
+
+::
+
+ trace stats
+ trace pause
+ trace resume
+ trace funclist [<addr> <size>]
+ trace calls [<addr> <size>]
+
+Description
+-----------
+
+The *trace* command is used to control the U-Boot tracing system. It allows
+tracing to be paused and resumed, shows statistics for traces and provides a
+way to dump out the trace information.
+
+
+trace stats
+~~~~~~~~~~~
+
+This display tracing statistics, as follows:
+
+function sites
+ Functions are binned as a way of reducing the amount of space needed to
+ hold all the function information. This is controlled by FUNC_SITE_SIZE in
+ the trace.h header file. The usual value is 4, which provides the finest
+ granularity (assuming a minimum instruction size of 4 bytes) which means
+ that every function can be resolved individually.
+
+function calls
+ Total number of function calls, including those which were not traced due
+ to buffer space. This count does not include functions which exceeded the
+ depth limit.
+
+untracked function calls
+ Total number of function calls which did not appear in the U-Boot image.
+ This can happen if a function is called outside the normal code area.
+
+traced function calls
+ Total number of function calls which were actually traced, i.e. are included
+ in the recorded trace data.
+
+dropped due to overflow
+ If the trace buffer was exhausted then this shows the number of records that
+ were dropped. Try reducing the depth limit or expanding the buffer size.
+
+maximum observed call depth
+ Maximum observed call depth while tracing.
+
+calls not traced due to depth
+ Counts the number of function calls that were not recorded because they
+ exceeded the maximum call depth.
+
+max function calls
+ Maximum number of function calls which can be recorded in the trace buffer,
+ given its size. Once `function calls` hits this value, recording stops.
+
+trace buffer
+ Address of trace buffer
+
+call records
+ Address of first trace record. This is near the start of the trace buffer,
+ after the function-call counts.
+
+
+trace pause
+~~~~~~~~~~~
+
+Pauses tracing, so that no more data is added to the trace buffer.
+
+
+trace resume
+~~~~~~~~~~~~
+
+Resumes tracing, so that new function calls are added to the trace buffer if
+there is sufficient space.
+
+
+trace funclist [<addr> <size>]
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Dumps a list of functions into the provided buffer. The file uses a format
+specific to U-Boot: a header, following by the function offset and call count.
+
+If the address and size are not given, these are obtained from
+:ref:`develop/trace:environment variables`. In any case the environment
+variables are updated after the command runs.
+
+The resulting data should be written out to the host, e.g. using Ethernet or
+a filesystem. There are no tools provided to read this sdata.
+
+
+trace calls [<addr> <size>]
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Dumps a list of function calls into the provided buffer. The file uses a format
+specific to U-Boot: a header, following by the list of calls. The proftool
+tool can be used to convert this information ready for further analysis.
+
+
+Example
+-------
+
+::
+
+ => trace stats
+ 269,252 function sites
+ 38,025,059 function calls
+ 3 untracked function calls
+ 7,382,690 traced function calls
+ 17 maximum observed call depth
+ 15 call depth limit
+ 68,667,432 calls not traced due to depth
+ 22,190,112 max function calls
+
+ trace buffer 6c000000 call records 6c20de78
+ => trace resume
+ => trace pause
+
+This shows that resuming the trace causes the buffer to overflow::
+
+ => trace stats
+ 269,252 function sites
+ 49,573,694 function calls
+ 3 untracked function calls
+ 22,190,112 traced function calls (8289848 dropped due to overflow)
+ 17 maximum observed call depth
+ 15 call depth limit
+ 68,667,432 calls not traced due to depth
+ 22,190,112 max function calls
+
+ trace buffer 6c000000 call records 6c20de78
+ => trace funcs 30000000 0x100000
+ Function trace dumped to 30000000, size 0x1e70
+
+This shows collecting and writing out the result trace data:
+
+::
+ => trace calls 20000000 0x10000000
+ Call list dumped to 20000000, size 0xfdf21a0
+ => save mmc 1:1 20000000 /trace ${profoffset}
+ File System is consistent
+ file found, deleting
+ update journal finished
+ File System is consistent
+ update journal finished
+ 266281376 bytes written in 18584 ms (13.7 MiB/s)
+
+From here you can use proftool to convert it:
+
+.. code-block:: bash
+
+ tools/proftool -m System.map -t trace -o asc.fg dump-ftrace
+
+
+.. _`ACPI specification`: https://uefi.org/sites/default/files/resources/ACPI_6_3_final_Jan30.pdf
diff --git a/doc/usage/index.rst b/doc/usage/index.rst
index 2c95471f45c..cde7dcb14a6 100644
--- a/doc/usage/index.rst
+++ b/doc/usage/index.rst
@@ -75,13 +75,16 @@ Shell commands
cmd/sbi
cmd/sf
cmd/scp03
+ cmd/seama
cmd/setexpr
cmd/size
cmd/sleep
cmd/sound
cmd/source
+ cmd/sm
cmd/temperature
cmd/tftpput
+ cmd/trace
cmd/true
cmd/ums
cmd/ut