summaryrefslogtreecommitdiff
path: root/cmd/fdt.c
diff options
context:
space:
mode:
authorHannes Schmelzer <hannes.schmelzer@br-automation.com>2016-09-20 18:10:43 +0200
committerSimon Glass <sjg@chromium.org>2016-10-13 13:54:10 -0600
commitef47683646516002694729986d19713e49b903e3 (patch)
treebcc15aaf0aba47b52029e4b9595dabfb5e5ed4b1 /cmd/fdt.c
parentc69f6d04ec66433f2360490a5cd0263c83aab18f (diff)
downloadu-boot-ef47683646516002694729986d19713e49b903e3.tar.gz
u-boot-ef47683646516002694729986d19713e49b903e3.tar.bz2
u-boot-ef47683646516002694729986d19713e49b903e3.zip
cmd/fdt: add possibilty to have 'extrasize' on fdt resize
Sometimes devicetree nodes and or properties are added out of the u-boot console, maybe through some script or manual interaction. The devicetree as loaded or embedded is quite small, so the devicetree has to be resized to take up those new nodes/properties. In original the devicetree was only extended by effective 4 * add_mem_rsv. With this commit we can add an argument to the "fdt resize" command, which takes the extrasize to be added. Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com> Signed-off-by: Hannes Schmelzer <oe5hpm@oevsv.at> Acked-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'cmd/fdt.c')
-rw-r--r--cmd/fdt.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/cmd/fdt.c b/cmd/fdt.c
index 58af7727ba..b503357dc3 100644
--- a/cmd/fdt.c
+++ b/cmd/fdt.c
@@ -662,7 +662,12 @@ static int do_fdt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
#endif
/* resize the fdt */
else if (strncmp(argv[1], "re", 2) == 0) {
- fdt_shrink_to_minimum(working_fdt);
+ uint extrasize;
+ if (argc > 2)
+ extrasize = simple_strtoul(argv[2], NULL, 16);
+ else
+ extrasize = 0;
+ fdt_shrink_to_minimum(working_fdt, extrasize);
}
else {
/* Unrecognized command */
@@ -1056,7 +1061,7 @@ static char fdt_help_text[] =
"fdt systemsetup - Do system-specific set up\n"
#endif
"fdt move <fdt> <newaddr> <length> - Copy the fdt to <addr> and make it active\n"
- "fdt resize - Resize fdt to size + padding to 4k addr\n"
+ "fdt resize [<extrasize>] - Resize fdt to size + padding to 4k addr + some optional <extrasize> if needed\n"
"fdt print <path> [<prop>] - Recursive print starting at <path>\n"
"fdt list <path> [<prop>] - Print one level starting at <path>\n"
"fdt get value <var> <path> <prop> - Get <property> and store in <var>\n"