mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-10-01 09:00:45 +09:00
fdt: ARM: Implement and verify embedded and separate device tree
This locates the device tree either embedded within U-Boot or attached to the end as a separate binary. When CONFIG_OF_CONTROL is defined, U-Boot requires a valid fdt. A check is provided for this early in initialisation. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
b5220bc6ed
commit
f5437ad141
@ -48,6 +48,8 @@
|
|||||||
#include <nand.h>
|
#include <nand.h>
|
||||||
#include <onenand_uboot.h>
|
#include <onenand_uboot.h>
|
||||||
#include <mmc.h>
|
#include <mmc.h>
|
||||||
|
#include <libfdt.h>
|
||||||
|
#include <fdtdec.h>
|
||||||
#include <post.h>
|
#include <post.h>
|
||||||
#include <logbuff.h>
|
#include <logbuff.h>
|
||||||
|
|
||||||
@ -233,6 +235,9 @@ init_fnc_t *init_sequence[] = {
|
|||||||
#endif
|
#endif
|
||||||
#if defined(CONFIG_BOARD_EARLY_INIT_F)
|
#if defined(CONFIG_BOARD_EARLY_INIT_F)
|
||||||
board_early_init_f,
|
board_early_init_f,
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_OF_CONTROL
|
||||||
|
fdtdec_check_fdt,
|
||||||
#endif
|
#endif
|
||||||
timer_init, /* initialize timer */
|
timer_init, /* initialize timer */
|
||||||
#ifdef CONFIG_FSL_ESDHC
|
#ifdef CONFIG_FSL_ESDHC
|
||||||
@ -274,6 +279,13 @@ void board_init_f(ulong bootflag)
|
|||||||
memset((void *)gd, 0, sizeof(gd_t));
|
memset((void *)gd, 0, sizeof(gd_t));
|
||||||
|
|
||||||
gd->mon_len = _bss_end_ofs;
|
gd->mon_len = _bss_end_ofs;
|
||||||
|
#ifdef 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) {
|
for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {
|
||||||
if ((*init_fnc_ptr)() != 0) {
|
if ((*init_fnc_ptr)() != 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user