diff options
| -rw-r--r-- | arch/sandbox/include/asm/global_data.h | 1 | ||||
| -rw-r--r-- | arch/sandbox/lib/board.c | 8 | 
2 files changed, 9 insertions, 0 deletions
| diff --git a/arch/sandbox/include/asm/global_data.h b/arch/sandbox/include/asm/global_data.h index 8d47191f9..01a706362 100644 --- a/arch/sandbox/include/asm/global_data.h +++ b/arch/sandbox/include/asm/global_data.h @@ -45,6 +45,7 @@ typedef	struct global_data {  	unsigned long	fb_base;	/* base address of frame buffer */  	u8		*ram_buf;	/* emulated RAM buffer */  	phys_size_t	ram_size;	/* RAM size */ +	const void	*fdt_blob;	/* Our device tree, NULL if none */  	void		**jt;		/* jump table */  	char		env_buf[32];	/* buffer for getenv() before reloc. */  } gd_t; diff --git a/arch/sandbox/lib/board.c b/arch/sandbox/lib/board.c index b7997e9a7..6d464d6ae 100644 --- a/arch/sandbox/lib/board.c +++ b/arch/sandbox/lib/board.c @@ -156,6 +156,14 @@ void board_init_f(ulong bootflag)  	memset((void *)gd, 0, sizeof(gd_t)); +#if defined(CONFIG_OF_EMBED) +	/* Get a pointer to the FDT */ +	gd->fdt_blob = _binary_dt_dtb_start; +#elif defined(CONFIG_OF_SEPARATE) +	/* FDT is at end of image */ +	gd->fdt_blob = (void *)(_end_ofs + _TEXT_BASE); +#endif +  	for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {  		if ((*init_fnc_ptr)() != 0)  			hang(); |