2022-07-13 12:07:00 +00:00
|
|
|
.. SPDX-License-Identifier: GPL-2.0+
|
|
|
|
|
|
|
|
fdt command
|
|
|
|
===========
|
|
|
|
|
|
|
|
Synopis
|
|
|
|
-------
|
|
|
|
|
|
|
|
::
|
|
|
|
|
|
|
|
fdt addr [-cq] [addr [len]]
|
|
|
|
|
|
|
|
Description
|
|
|
|
-----------
|
|
|
|
|
|
|
|
The fdt command provides access to flat device tree blobs in memory. It has
|
|
|
|
many subcommands, some of which are not documented here.
|
|
|
|
|
|
|
|
Flags:
|
|
|
|
|
|
|
|
-c
|
|
|
|
Select the control FDT (otherwise the working FDT is used).
|
|
|
|
-q
|
|
|
|
Don't display errors
|
|
|
|
|
|
|
|
The control FDT is the one used by U-Boot itself to control various features,
|
|
|
|
including driver model. This should only be changed if you really know what you
|
|
|
|
are doing, since once U-Boot starts it maintains pointers into the FDT from the
|
|
|
|
various driver model data structures.
|
|
|
|
|
|
|
|
The working FDT is the one passed to the Operating System when booting. This
|
|
|
|
can be freely modified, so far as U-Boot is concerned, since it does not affect
|
|
|
|
U-Boot's operation.
|
|
|
|
|
|
|
|
fdt addr
|
|
|
|
~~~~~~~~
|
|
|
|
|
|
|
|
With no arguments, this shows the address of the current working or control
|
|
|
|
FDT.
|
|
|
|
|
|
|
|
If the `addr` argument is provided, then this sets the address of the working or
|
|
|
|
control FDT to the provided address.
|
|
|
|
|
|
|
|
If the `len` argument is provided, then the device tree is expanded to that
|
|
|
|
size. This can be used to make space for more nodes and properties. It is
|
|
|
|
assumed that there is enough space in memory for this expansion.
|
|
|
|
|
|
|
|
Example
|
|
|
|
-------
|
|
|
|
|
|
|
|
Get the control address and copy that FDT to free memory::
|
|
|
|
|
|
|
|
=> fdt addr -c
|
|
|
|
Control fdt: 0aff9fd0
|
|
|
|
=> cp.b 0aff9fd0 10000 10000
|
|
|
|
=> md 10000 4
|
|
|
|
00010000: edfe0dd0 5b3d0000 78000000 7c270000 ......=[...x..'|
|
|
|
|
|
|
|
|
The second word shows the size of the FDT. Now set the working FDT to that
|
|
|
|
address and expand it to 0xf000 in size::
|
|
|
|
|
|
|
|
=> fdt addr 10000 f000
|
2022-10-11 15:47:12 +00:00
|
|
|
Working FDT set to 10000
|
2022-07-13 12:07:00 +00:00
|
|
|
=> md 10000 4
|
|
|
|
00010000: edfe0dd0 00f00000 78000000 7c270000 ...........x..'|
|
|
|
|
|
|
|
|
Return value
|
|
|
|
------------
|
|
|
|
|
|
|
|
The return value $? indicates whether the command succeeded.
|