diff options
| author | Simon Glass <sjg@chromium.org> | 2013-04-20 08:42:45 +0000 | 
|---|---|---|
| committer | Tom Rini <trini@ti.com> | 2013-05-01 11:17:21 -0400 | 
| commit | a92fd6577ea17751ead9b50243e3c562125cf581 (patch) | |
| tree | 2f58ed1398a18cfd829b6ba813d446a3b13052ed /common/cmd_fdt.c | |
| parent | 4b5786550db2da6192f8d5f38eeccbb372f878a8 (diff) | |
| download | olio-uboot-2014.01-a92fd6577ea17751ead9b50243e3c562125cf581.tar.xz olio-uboot-2014.01-a92fd6577ea17751ead9b50243e3c562125cf581.zip | |
sandbox: fdt: Support fdt command for sandbox
By using map_sysmem() we can get the fdt command to work correctly with
sandbox.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common/cmd_fdt.c')
| -rw-r--r-- | common/cmd_fdt.c | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/common/cmd_fdt.c b/common/cmd_fdt.c index e5829616f..edefd7773 100644 --- a/common/cmd_fdt.c +++ b/common/cmd_fdt.c @@ -31,6 +31,7 @@  #include <asm/global_data.h>  #include <libfdt.h>  #include <fdt_support.h> +#include <asm/io.h>  #define MAX_LEVEL	32		/* how deeply nested we will go */  #define SCRATCHPAD	1024		/* bytes of scratchpad memory */ @@ -55,7 +56,10 @@ struct fdt_header *working_fdt;  void set_working_fdt_addr(void *addr)  { -	working_fdt = addr; +	void *buf; + +	buf = map_sysmem((ulong)addr, 0); +	working_fdt = buf;  	setenv_addr("fdtaddr", addr);  } @@ -129,13 +133,13 @@ static int do_fdt(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])  		}  		addr = simple_strtoul(argv[0], NULL, 16); -		blob = (struct fdt_header *)addr; +		blob = map_sysmem(addr, 0);  		if (!fdt_valid(&blob))  			return 1;  		if (control)  			gd->fdt_blob = blob;  		else -			set_working_fdt_addr((void *)addr); +			set_working_fdt_addr(blob);  		if (argc >= 2) {  			int  len; |