mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-21 02:33:07 +00:00
baf4141079
The working FDT is the one which comes from the OS and is fixed up by U-Boot. When the bootm command runs, it sets up the working FDT to be the one it is about to pass to the OS, so that fixups can happen. This seems like an important step, so add a message indicating that the working FDT has changed. This is shown during the running of the bootm command. Signed-off-by: Simon Glass <sjg@chromium.org>
70 lines
1.8 KiB
ReStructuredText
70 lines
1.8 KiB
ReStructuredText
.. 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
|
|
Working FDT set to 10000
|
|
=> md 10000 4
|
|
00010000: edfe0dd0 00f00000 78000000 7c270000 ...........x..'|
|
|
|
|
Return value
|
|
------------
|
|
|
|
The return value $? indicates whether the command succeeded.
|