mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
Merge tag 'v2023.07-rc6' into next
Prepare v2023.07-rc6
This commit is contained in:
103
doc/usage/cmd/bind.rst
Normal file
103
doc/usage/cmd/bind.rst
Normal file
@@ -0,0 +1,103 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+:
|
||||
|
||||
bind command
|
||||
============
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
::
|
||||
|
||||
bind <node path> <driver>
|
||||
bind <class> <index> <driver>
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
The bind command is used to bind a device to a driver. This makes the
|
||||
device available in U-Boot.
|
||||
|
||||
While binding to a *node path* typically provides a working device
|
||||
binding by parent node and driver may lead to a device that is only
|
||||
partially initialized.
|
||||
|
||||
node path
|
||||
path of the device's device-tree node
|
||||
|
||||
class
|
||||
device class name
|
||||
|
||||
index
|
||||
index of the parent device in the device class
|
||||
|
||||
driver
|
||||
device driver name
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
Given a system with a real time clock device with device path */pl031@9010000*
|
||||
and using driver rtc-pl031 unbinding and binding of the device is demonstrated
|
||||
using the two alternative bind syntaxes.
|
||||
|
||||
.. code-block::
|
||||
|
||||
=> dm tree
|
||||
Class Index Probed Driver Name
|
||||
-----------------------------------------------------------
|
||||
root 0 [ + ] root_driver root_driver
|
||||
...
|
||||
rtc 0 [ ] rtc-pl031 |-- pl031@9010000
|
||||
...
|
||||
=> fdt addr $fdtcontroladdr
|
||||
Working FDT set to 7ed7fdb0
|
||||
=> fdt print
|
||||
/ {
|
||||
interrupt-parent = <0x00008003>;
|
||||
model = "linux,dummy-virt";
|
||||
#size-cells = <0x00000002>;
|
||||
#address-cells = <0x00000002>;
|
||||
compatible = "linux,dummy-virt";
|
||||
...
|
||||
pl031@9010000 {
|
||||
clock-names = "apb_pclk";
|
||||
clocks = <0x00008000>;
|
||||
interrupts = <0x00000000 0x00000002 0x00000004>;
|
||||
reg = <0x00000000 0x09010000 0x00000000 0x00001000>;
|
||||
compatible = "arm,pl031", "arm,primecell";
|
||||
};
|
||||
...
|
||||
}
|
||||
=> unbind /pl031@9010000
|
||||
=> date
|
||||
Cannot find RTC: err=-19
|
||||
=> dm tree
|
||||
Class Index Probed Driver Name
|
||||
-----------------------------------------------------------
|
||||
root 0 [ + ] root_driver root_driver
|
||||
...
|
||||
=> bind /pl031@9010000 rtc-pl031
|
||||
=> dm tree
|
||||
Class Index Probed Driver Name
|
||||
-----------------------------------------------------------
|
||||
root 0 [ + ] root_driver root_driver
|
||||
...
|
||||
rtc 0 [ ] rtc-pl031 |-- pl031@9010000
|
||||
=> date
|
||||
Date: 2023-06-22 (Thursday) Time: 15:14:51
|
||||
=> unbind rtc 0 rtc-pl031
|
||||
=> bind root 0 rtc-pl031
|
||||
=> date
|
||||
Date: 1980-08-19 (Tuesday) Time: 14:45:30
|
||||
|
||||
Obviously the device is not initialized correctly by the last bind command.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
The bind command is only available if CONFIG_CMD_BIND=y.
|
||||
|
||||
Return code
|
||||
-----------
|
||||
|
||||
The return code $? is 0 (true) on success and 1 (false) on failure.
|
||||
300
doc/usage/cmd/bootm.rst
Normal file
300
doc/usage/cmd/bootm.rst
Normal file
@@ -0,0 +1,300 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
bootm command
|
||||
=============
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
::
|
||||
|
||||
bootm [fit_addr]#<conf>[#extra-conf]
|
||||
bootm [[fit_addr]:<os_subimg>] [[<fit_addr2>]:<rd_subimg2>] [[<fit_addr3>]:<fdt_subimg>]
|
||||
|
||||
bootm <addr1> [[<addr2> [<addr3>]] # Legacy boot
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
The *bootm* command is used to boot an Operating System. It has a large number
|
||||
of options depending on what needs to be booted.
|
||||
|
||||
Note that the second form supports the first and/or second arguments to be
|
||||
omitted by using a hyphen '-' instead.
|
||||
|
||||
fit_addr / fit_addr2 / fit_addr3
|
||||
address of FIT to boot, defaults to CONFIG_SYS_LOAD_ADDR. See notes below.
|
||||
|
||||
conf
|
||||
configuration unit to boot (must be preceded by hash '#')
|
||||
|
||||
extra-conf
|
||||
extra configuration to boot. This is supported only for additional
|
||||
devicetree overlays to apply on the base device tree supplied by the first
|
||||
configuration unit.
|
||||
|
||||
os_subimg
|
||||
OS sub-image to boot (must be preceded by colon ':')
|
||||
|
||||
rd_subimg
|
||||
ramdisk sub-image to boot. Use a hyphen '-' if there is no ramdisk but an
|
||||
FDT is needed.
|
||||
|
||||
fdt_subimg
|
||||
FDT sub-image to boot
|
||||
|
||||
See below for legacy boot. Booting using :doc:`../fit/index` is recommended.
|
||||
|
||||
Note on current image address
|
||||
-----------------------------
|
||||
|
||||
When bootm is called without arguments, the image at current image address is
|
||||
booted. The current image address is the address set most recently by a load
|
||||
command, etc, and is by default equal to CONFIG_SYS_LOAD_ADDR. For example,
|
||||
consider the following commands::
|
||||
|
||||
tftp 200000 /tftpboot/kernel
|
||||
bootm
|
||||
# Last command is equivalent to:
|
||||
# bootm 200000
|
||||
|
||||
As shown above, with FIT the address portion of any argument
|
||||
can be omitted. If <addr3> is omitted, then it is assumed that image at
|
||||
<addr2> should be used. Similarly, when <addr2> is omitted, it is assumed that
|
||||
image at <addr1> should be used. If <addr1> is omitted, it is assumed that the
|
||||
current image address is to be used. For example, consider the following
|
||||
commands::
|
||||
|
||||
tftp 200000 /tftpboot/uImage
|
||||
bootm :kernel-1
|
||||
# Last command is equivalent to:
|
||||
# bootm 200000:kernel-1
|
||||
|
||||
tftp 200000 /tftpboot/uImage
|
||||
bootm 400000:kernel-1 :ramdisk-1
|
||||
# Last command is equivalent to:
|
||||
# bootm 400000:kernel-1 400000:ramdisk-1
|
||||
|
||||
tftp 200000 /tftpboot/uImage
|
||||
bootm :kernel-1 400000:ramdisk-1 :fdt-1
|
||||
# Last command is equivalent to:
|
||||
# bootm 200000:kernel-1 400000:ramdisk-1 400000:fdt-1
|
||||
|
||||
|
||||
Legacy boot
|
||||
-----------
|
||||
|
||||
U-Boot supports a legacy image format, enabled by `CONFIG_LEGACY_IMAGE_FORMAT`.
|
||||
This is not recommended as it is quite limited and insecure. Use
|
||||
:doc:`../fit/index` instead. It is documented here for old boards which still
|
||||
use it.
|
||||
|
||||
Arguments are:
|
||||
|
||||
addr1
|
||||
address of legacy image to boot. If the image includes a second component
|
||||
(ramdisk) it is used as well, unless the second parameter is hyphen '-'.
|
||||
|
||||
addr2
|
||||
address of legacy image to use as ramdisk
|
||||
|
||||
addr3
|
||||
address of legacy image to use as FDT
|
||||
|
||||
|
||||
Example syntax
|
||||
--------------
|
||||
|
||||
This section provides various examples of possible usage::
|
||||
|
||||
1. bootm /* boot image at the current address, equivalent to 2,3,8 */
|
||||
|
||||
This is equivalent to cases 2, 3 or 8, depending on the type of image at
|
||||
the current image address.
|
||||
|
||||
Boot method: see cases 2,3,8
|
||||
|
||||
Legacy uImage syntax
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
2. bootm <addr1> /* single image at <addr1> */
|
||||
|
||||
Boot kernel image located at <addr1>.
|
||||
|
||||
Boot method: non-FDT
|
||||
|
||||
::
|
||||
|
||||
3. bootm <addr1> /* multi-image at <addr1> */
|
||||
|
||||
First and second components of the image at <addr1> are assumed to be a
|
||||
kernel and a ramdisk, respectively. The kernel is booted with initrd loaded
|
||||
with the ramdisk from the image.
|
||||
|
||||
Boot method: depends on the number of components at <addr1>, and on whether
|
||||
U-Boot is compiled with OF support, which it should be.
|
||||
|
||||
==================== ======================== ========================
|
||||
Configuration 2 components 3 components
|
||||
(kernel, initrd) (kernel, initrd, fdt)
|
||||
==================== ======================== ========================
|
||||
#ifdef CONFIG_OF_* non-FDT FDT
|
||||
#ifndef CONFIG_OF_* non-FDT non-FDT
|
||||
==================== ======================== ========================
|
||||
|
||||
::
|
||||
|
||||
4. bootm <addr1> - /* multi-image at <addr1> */
|
||||
|
||||
Similar to case 3, but the kernel is booted without initrd. Second
|
||||
component of the multi-image is irrelevant (it can be a dummy, 1-byte file).
|
||||
|
||||
Boot method: see case 3
|
||||
|
||||
::
|
||||
|
||||
5. bootm <addr1> <addr2> /* single image at <addr1> */
|
||||
|
||||
Boot kernel image located at <addr1> with initrd loaded with ramdisk
|
||||
from the image at <addr2>.
|
||||
|
||||
Boot method: non-FDT
|
||||
|
||||
::
|
||||
|
||||
6. bootm <addr1> <addr2> <addr3> /* single image at <addr1> */
|
||||
|
||||
<addr1> is the address of a kernel image, <addr2> is the address of a
|
||||
ramdisk image, and <addr3> is the address of a FDT binary blob. Kernel is
|
||||
booted with initrd loaded with ramdisk from the image at <addr2>.
|
||||
|
||||
Boot method: FDT
|
||||
|
||||
::
|
||||
|
||||
7. bootm <addr1> - <addr3> /* single image at <addr1> */
|
||||
|
||||
<addr1> is the address of a kernel image and <addr3> is the address of
|
||||
a FDT binary blob. Kernel is booted without initrd.
|
||||
|
||||
Boot method: FDT
|
||||
|
||||
FIT syntax
|
||||
~~~~~~~~~~
|
||||
|
||||
::
|
||||
|
||||
8. bootm <addr1>
|
||||
|
||||
Image at <addr1> is assumed to contain a default configuration, which
|
||||
is booted.
|
||||
|
||||
Boot method: FDT or non-FDT, depending on whether the default configuration
|
||||
defines FDT
|
||||
|
||||
::
|
||||
|
||||
9. bootm [<addr1>]:<subimg1>
|
||||
|
||||
Similar to case 2: boot kernel stored in <subimg1> from the image at
|
||||
address <addr1>.
|
||||
|
||||
Boot method: non-FDT
|
||||
|
||||
::
|
||||
|
||||
10. bootm [<addr1>]#<conf>[#<extra-conf[#...]]
|
||||
|
||||
Boot configuration <conf> from the image at <addr1>.
|
||||
|
||||
Boot method: FDT or non-FDT, depending on whether the configuration given
|
||||
defines FDT
|
||||
|
||||
::
|
||||
|
||||
11. bootm [<addr1>]:<subimg1> [<addr2>]:<subimg2>
|
||||
|
||||
Equivalent to case 5: boot kernel stored in <subimg1> from the image
|
||||
at <addr1> with initrd loaded with ramdisk <subimg2> from the image at
|
||||
<addr2>.
|
||||
|
||||
Boot method: non-FDT
|
||||
|
||||
::
|
||||
|
||||
12. bootm [<addr1>]:<subimg1> [<addr2>]:<subimg2> [<addr3>]:<subimg3>
|
||||
|
||||
Equivalent to case 6: boot kernel stored in <subimg1> from the image
|
||||
at <addr1> with initrd loaded with ramdisk <subimg2> from the image at
|
||||
<addr2>, and pass FDT blob <subimg3> from the image at <addr3>.
|
||||
|
||||
Boot method: FDT
|
||||
|
||||
::
|
||||
|
||||
13. bootm [<addr1>]:<subimg1> [<addr2>]:<subimg2> <addr3>
|
||||
|
||||
Similar to case 12, the difference being that <addr3> is the address
|
||||
of FDT binary blob that is to be passed to the kernel.
|
||||
|
||||
Boot method: FDT
|
||||
|
||||
::
|
||||
|
||||
14. bootm [<addr1>]:<subimg1> - [<addr3>]:<subimg3>
|
||||
|
||||
Equivalent to case 7: boot kernel stored in <subimg1> from the image
|
||||
at <addr1>, without initrd, and pass FDT blob <subimg3> from the image at
|
||||
<addr3>.
|
||||
|
||||
Boot method: FDT
|
||||
|
||||
15. bootm [<addr1>]:<subimg1> - <addr3>
|
||||
|
||||
Similar to case 14, the difference being that <addr3> is the address
|
||||
of the FDT binary blob that is to be passed to the kernel.
|
||||
|
||||
Boot method: FDT
|
||||
|
||||
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
boot kernel "kernel-1" stored in a new uImage located at 200000::
|
||||
|
||||
bootm 200000:kernel-1
|
||||
|
||||
boot configuration "cfg-1" from a new uImage located at 200000::
|
||||
|
||||
bootm 200000#cfg-1
|
||||
|
||||
boot configuration "cfg-1" with extra "cfg-2" from a new uImage located
|
||||
at 200000::
|
||||
|
||||
bootm 200000#cfg-1#cfg-2
|
||||
|
||||
boot "kernel-1" from a new uImage at 200000 with initrd "ramdisk-2" found in
|
||||
some other new uImage stored at address 800000::
|
||||
|
||||
bootm 200000:kernel-1 800000:ramdisk-2
|
||||
|
||||
boot "kernel-2" from a new uImage at 200000, with initrd "ramdisk-1" and FDT
|
||||
"fdt-1", both stored in some other new uImage located at 800000::
|
||||
|
||||
bootm 200000:kernel-1 800000:ramdisk-1 800000:fdt-1
|
||||
|
||||
boot kernel "kernel-2" with initrd "ramdisk-2", both stored in a new uImage
|
||||
at address 200000, with a raw FDT blob stored at address 600000::
|
||||
|
||||
bootm 200000:kernel-2 200000:ramdisk-2 600000
|
||||
|
||||
boot kernel "kernel-2" from new uImage at 200000 with FDT "fdt-1" from the
|
||||
same new uImage::
|
||||
|
||||
bootm 200000:kernel-2 - 200000:fdt-1
|
||||
|
||||
.. sectionauthor:: Bartlomiej Sieka <tur@semihalf.com>
|
||||
.. sectionauthor:: Simon Glass <sjg@chromium.org>
|
||||
81
doc/usage/cmd/imxtract.rst
Normal file
81
doc/usage/cmd/imxtract.rst
Normal file
@@ -0,0 +1,81 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+:
|
||||
|
||||
imxtract command
|
||||
================
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
::
|
||||
|
||||
imxtract addr part [dest]
|
||||
imxtract addr uname [dest]
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
The imxtract command is used to extract a part of a multi-image file.
|
||||
|
||||
Two different file formats are supported:
|
||||
|
||||
* FIT images
|
||||
* legacy U-Boot images
|
||||
|
||||
addr
|
||||
Address of the multi-image file from which a part shall be extracted
|
||||
|
||||
part
|
||||
Index (hexadecimal) of the part of a legacy U-Boot image to be extracted
|
||||
|
||||
uname
|
||||
Name of the part of a FIT image to be extracted
|
||||
|
||||
dest
|
||||
Destination address (defaults to 0x0)
|
||||
|
||||
The value of environment variable *verify* controls if the hashes and
|
||||
signatures of FIT images or the check sums of legacy U-Boot images are checked.
|
||||
To enable checking set *verify* to one of the values *1*, *yes*, *true*.
|
||||
(Actually only the first letter is checked disregarding the case.)
|
||||
|
||||
To list the parts of an image the *iminfo* command can be used.
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
With verify=no incorrect hashes, signatures, or check sums don't stop the
|
||||
extraction. But correct hashes are still indicated in the output
|
||||
(here: md5, sha1).
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
=> setenv verify no
|
||||
=> imxtract $loadaddr kernel-1 $kernel_addr_r
|
||||
## Copying 'kernel-1' subimage from FIT image at 40200000 ...
|
||||
md5+ sha1+ Loading part 0 ... OK
|
||||
=>
|
||||
|
||||
With verify=yes incorrect hashes, signatures, or check sums stop the extraction.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
=> setenv verify yes
|
||||
=> imxtract $loadaddr kernel-1 $kernel_addr_r
|
||||
## Copying 'kernel-1' subimage from FIT image at 40200000 ...
|
||||
md5 error!
|
||||
Bad hash value for 'hash-1' hash node in 'kernel-1' image node
|
||||
Bad Data Hash
|
||||
=>
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
The imxtract command is only available if CONFIG_CMD_XIMG=y. Support for FIT
|
||||
images requires CONFIG_FIT=y. Support for legacy U-Boot images requires
|
||||
CONFIG_LEGACY_IMAGE_FORMAT=y.
|
||||
|
||||
Return value
|
||||
------------
|
||||
|
||||
On success the return value $? of the command is 0 (true). On failure the
|
||||
return value is 1 (false).
|
||||
@@ -13,7 +13,7 @@ Synopsis
|
||||
Description
|
||||
-----------
|
||||
|
||||
The loady command is used to transfer a file to the device via the serial line
|
||||
The loadb command is used to transfer a file to the device via the serial line
|
||||
using the Kermit protocol.
|
||||
|
||||
The number of transferred bytes is saved in environment variable filesize.
|
||||
|
||||
96
doc/usage/cmd/loads.rst
Normal file
96
doc/usage/cmd/loads.rst
Normal file
@@ -0,0 +1,96 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+:
|
||||
|
||||
loads command
|
||||
=============
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
::
|
||||
|
||||
loads [offset [baud]]
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
The loads command is used to transfer a file to the device via the serial line
|
||||
using the Motorola S-record file format.
|
||||
|
||||
offset
|
||||
offset added to the addresses in the S-record file
|
||||
|
||||
baud
|
||||
baud rate to use for download. This parameter is only available if
|
||||
CONFIG_SYS_LOADS_BAUD_CHANGE=y
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
As example file to be transferred we use a script printing 'hello s-record'.
|
||||
Here are the commands to create the S-record file:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ echo 'echo hello s-record' > script.txt
|
||||
$ mkimage -T script -d script.txt script.scr
|
||||
Image Name:
|
||||
Created: Sun Jun 25 10:35:02 2023
|
||||
Image Type: PowerPC Linux Script (gzip compressed)
|
||||
Data Size: 28 Bytes = 0.03 KiB = 0.00 MiB
|
||||
Load Address: 00000000
|
||||
Entry Point: 00000000
|
||||
Contents:
|
||||
Image 0: 20 Bytes = 0.02 KiB = 0.00 MiB
|
||||
$ srec_cat script.scr -binary -CRLF -Output script.srec
|
||||
$ echo -e "S9030000FC\r" >> script.srec
|
||||
$ cat script.srec
|
||||
S0220000687474703A2F2F737265636F72642E736F75726365666F7267652E6E65742F1D
|
||||
S1230000270519566D773EB6649815E30000001700000000000000003DE3D97005070601E2
|
||||
S12300200000000000000000000000000000000000000000000000000000000000000000BC
|
||||
S11A00400000000F0000000068656C6C6F20732D7265636F72640A39
|
||||
S5030003F9
|
||||
S9030000FC
|
||||
$
|
||||
|
||||
The load address in the first S1 record is 0x0000.
|
||||
|
||||
The terminal emulation program picocom is invoked with *cat* as the send
|
||||
command to transfer the file.
|
||||
|
||||
.. code-block::
|
||||
|
||||
picocom --send-cmd 'cat' --baud 115200 /dev/ttyUSB0
|
||||
|
||||
After entering the *loads* command the key sequence <CTRL-A><CTRL-S> is used to
|
||||
let picocom prompt for the file name. Picocom invokes the program *cat* for the
|
||||
file transfer. The loaded script is executed using the *source* command.
|
||||
|
||||
.. code-block::
|
||||
|
||||
=> loads $scriptaddr
|
||||
## Ready for S-Record download ...
|
||||
|
||||
*** file: script.srec
|
||||
$ cat script.srec
|
||||
|
||||
*** exit status: 0 ***
|
||||
|
||||
## First Load Addr = 0x4FC00000
|
||||
## Last Load Addr = 0x4FC0005B
|
||||
## Total Size = 0x0000005C = 92 Bytes
|
||||
## Start Addr = 0x00000000
|
||||
=> source $scriptaddr
|
||||
## Executing script at 4fc00000
|
||||
hello s-record
|
||||
=>
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
The command is only available if CONFIG_CMD_LOADS=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.
|
||||
88
doc/usage/cmd/saves.rst
Normal file
88
doc/usage/cmd/saves.rst
Normal file
@@ -0,0 +1,88 @@
|
||||
.. 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.
|
||||
@@ -22,7 +22,7 @@ Two formats for script files exist:
|
||||
* Flat Image Tree (FIT)
|
||||
|
||||
The benefit of the FIT images is that they can be signed and verifed as
|
||||
decribed in :download:`signature.txt <../../uImage.FIT/signature.txt>`.
|
||||
described in :doc:`../fit/signature`.
|
||||
|
||||
Both formats can be created with the mkimage tool.
|
||||
|
||||
|
||||
95
doc/usage/cmd/unbind.rst
Normal file
95
doc/usage/cmd/unbind.rst
Normal file
@@ -0,0 +1,95 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0+:
|
||||
|
||||
unbind command
|
||||
==============
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
::
|
||||
|
||||
unbind <node path>
|
||||
unbind <class> <index>
|
||||
unbind <class> <index> <driver>
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
The unbind command is used to unbind a device from a driver. This makes the
|
||||
device unavailable in U-Boot.
|
||||
|
||||
node path
|
||||
path of the device's device-tree node
|
||||
|
||||
class
|
||||
device class name
|
||||
|
||||
index
|
||||
index of the device in the device class
|
||||
|
||||
driver
|
||||
device driver name
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
Given a system with a real time clock device with device path */pl031@9010000*
|
||||
and using driver rtc-pl031 unbinding and binding of the device is demonstrated
|
||||
using the three alternative unbind syntaxes.
|
||||
|
||||
.. code-block::
|
||||
|
||||
=> dm tree
|
||||
Class Index Probed Driver Name
|
||||
-----------------------------------------------------------
|
||||
root 0 [ + ] root_driver root_driver
|
||||
...
|
||||
rtc 0 [ ] rtc-pl031 |-- pl031@9010000
|
||||
...
|
||||
=> fdt addr $fdtcontroladdr
|
||||
Working FDT set to 7ed7fdb0
|
||||
=> fdt print
|
||||
/ {
|
||||
interrupt-parent = <0x00008003>;
|
||||
model = "linux,dummy-virt";
|
||||
#size-cells = <0x00000002>;
|
||||
#address-cells = <0x00000002>;
|
||||
compatible = "linux,dummy-virt";
|
||||
...
|
||||
pl031@9010000 {
|
||||
clock-names = "apb_pclk";
|
||||
clocks = <0x00008000>;
|
||||
interrupts = <0x00000000 0x00000002 0x00000004>;
|
||||
reg = <0x00000000 0x09010000 0x00000000 0x00001000>;
|
||||
compatible = "arm,pl031", "arm,primecell";
|
||||
};
|
||||
...
|
||||
}
|
||||
=> unbind /pl031@9010000
|
||||
=> dm tree
|
||||
Class Index Probed Driver Name
|
||||
-----------------------------------------------------------
|
||||
root 0 [ + ] root_driver root_driver
|
||||
...
|
||||
=> unbind /pl031@9010000
|
||||
Cannot find a device with path /pl031@9010000
|
||||
=> bind /pl031@9010000 rtc-pl031
|
||||
=> dm tree
|
||||
Class Index Probed Driver Name
|
||||
-----------------------------------------------------------
|
||||
root 0 [ + ] root_driver root_driver
|
||||
...
|
||||
rtc 0 [ ] rtc-pl031 |-- pl031@9010000
|
||||
=> unbind rtc 0
|
||||
=> bind /pl031@9010000 rtc-pl031
|
||||
=> unbind rtc 0 rtc-pl031
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
The unbind command is only available if CONFIG_CMD_BIND=y.
|
||||
|
||||
Return code
|
||||
-----------
|
||||
|
||||
The return code $? is 0 (true) on success and 1 (false) on failure.
|
||||
Reference in New Issue
Block a user