--- /dev/null
+.. SPDX-License-Identifier: GPL-2.0+:
+
+saves command
+=============
+
+Synopsis
+--------
+
+::
+
+ saves [offset [size [baud]]]
+
+Description
+-----------
+
+The *saves* command is used to transfer a file from the device via the serial
+line using the Motorola S-record file format.
+
+offset
+ start address of memory area to save, defaults to 0x0
+
+size
+ size of memory area to save, defaults to 0x0
+
+baud
+ baud rate to use for upload. This parameter is only available if
+ CONFIG_SYS_LOADS_BAUD_CHANGE=y
+
+Example
+-------
+
+In the example the *screen* command is used to connect to the U-Boot serial
+console.
+
+In a first screen session a file is loaded from the SD-card and the *saves*
+command is invoked. <CTRL+A><k> is used to kill the screen session.
+
+A new screen session is started which logs the output to a file and the
+<ENTER> key is hit to start the file output. <CTRL+A><k> is issued to kill the
+screen session.
+
+The log file is converted to a binary file using the *srec_cat* command.
+A negative offset of -1337982976 (= -0x4c000000) is applied to compensate for
+the offset used in the *saves* command.
+
+.. code-block::
+
+ $ screen /dev/ttyUSB0 115200
+ => echo $scriptaddr
+ 0x4FC00000
+ => load mmc 0:1 $scriptaddr boot.txt
+ 124 bytes read in 1 ms (121.1 KiB/s)
+ => saves $scriptaddr $filesize
+ ## Ready for S-Record upload, press ENTER to proceed ...
+ Really kill this window [y/n]
+ $ screen -Logfile out.srec -L /dev/ttyUSB0 115200
+ S0030000FC
+ S3154FC00000736574656E76206175746F6C6F616420AD
+ S3154FC000106E6F0A646863700A6C6F6164206D6D633E
+ S3154FC0002020303A3120246664745F616464725F72B3
+ S3154FC00030206474620A6C6F6164206D6D6320303AC0
+ S3154FC000403120246B65726E656C5F616464725F72DA
+ S3154FC0005020736E702E6566690A626F6F74656669C6
+ S3154FC0006020246B65726E656C5F616464725F7220CB
+ S3114FC00070246664745F616464725F720A38
+ S70500000000FA
+ ## S-Record upload complete
+ =>
+ Really kill this window [y/n]
+ $ srec_cat out.srec -offset -1337982976 -Output out.txt -binary 2>/dev/null
+ $ cat out.txt
+ setenv autoload no
+ dhcp
+ load mmc 0:1 $fdt_addr_r dtb
+ load mmc 0:1 $kernel_addr_r snp.efi
+ bootefi $kernel_addr_r $fdt_addr_r
+ $
+
+Configuration
+-------------
+
+The command is only available if CONFIG_CMD_SAVES=y. The parameter to set the
+baud rate is only available if CONFIG_SYS_LOADS_BAUD_CHANGE=y
+
+Return value
+------------
+
+The return value $? is 0 (true) on success, 1 (false) otherwise.