.. 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.
