--- /dev/null
-Decription
-----------
+ .. SPDX-License-Identifier: GPL-2.0+:
+
+ tftpput command
+ ===============
+
+ Synopsis
+ --------
+
+ ::
+
+ tftpput address size [[hostIPaddr:]filename]
+
++Description
++-----------
+
+ The tftpput command is used to transfer a file to a TFTP server.
+
+ By default the destination port is 69 and the source port is pseudo-random.
+ If CONFIG_TFTP_PORT=y, the environment variable *tftpsrcp* can be used to set
+ the source port and the environment variable *tftpdstp* can be used to set
+ the destination port.
+
+ address
+ memory address where the data starts
+
+ size
+ number of bytes to be transferred
+
+ hostIPaddr
+ IP address of the TFTP server, defaults to the value of environment
+ variable *serverip*
+
+ filename
+ path of the file to be written. If not provided, the client's IP address is
+ used to construct a default file name, e.g. C0.A8.00.28.img for IP address
+ 192.168.0.40.
+
+ Example
+ -------
+
+ In the example the following steps are executed:
+
+ * setup client network address
+ * load a file from the SD-card
+ * send the file via TFTP to a server
+
+ ::
+
+ => setenv autoload no
+ => dhcp
+ BOOTP broadcast 1
+ DHCP client bound to address 192.168.1.40 (7 ms)
+ => load mmc 0:1 $loadaddr test.txt
+ 260096 bytes read in 13 ms (19.1 MiB/s)
+ => tftpput $loadaddr $filesize 192.168.1.3:upload/test.txt
+ Using ethernet@1c30000 device
+ TFTP to server 192.168.1.3; our IP address is 192.168.1.40
+ Filename 'upload/test.txt'.
+ Save address: 0x42000000
+ Save size: 0x3f800
+ Saving: #################
+ 4.4 MiB/s
+ done
+ Bytes transferred = 260096 (3f800 hex)
+ =>
+
+ Configuration
+ -------------
+
+ The command is only available if CONFIG_CMD_TFTPPUT=y.
+
+ CONFIG_TFTP_BLOCKSIZE defines the size of the TFTP blocks sent. It defaults
+ to 1468 matching an ethernet MTU of 1500.
+
+ If CONFIG_TFTP_PORT=y, the environment variables *tftpsrcp* and *tftpdstp* can
+ be used to set the source and the destination ports.
+
+ CONFIG_TFTP_WINDOWSIZE can be used to set the TFTP window size of transmits
+ after which an ACK response is required. The window size defaults to 1.
+
+ If CONFIG_TFTP_TSIZE=y, the progress bar is limited to 50 '#' characters.
+ Otherwise an '#' is written per UDP package which may decrease performance.
+
+ Return value
+ ------------
+
+ The return value $? is 0 (true) on success and 1 (false) otherwise.