diff options
Diffstat (limited to 'include/init.h')
-rw-r--r-- | include/init.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/include/init.h b/include/init.h index 324fbe0475..f57a438986 100644 --- a/include/init.h +++ b/include/init.h @@ -18,6 +18,7 @@ */ /* common/board_f.c */ +void board_init_f(ulong dummy); /** * arch_cpu_init() - basic cpu-dependent setup for an architecture @@ -32,6 +33,17 @@ int arch_cpu_init(void); /** + * arch_cpu_init_dm() - init CPU after driver model is available + * + * This is called immediately after driver model is available before + * relocation. This is similar to arch_cpu_init() but is able to reference + * devices + * + * @return 0 if OK, -ve on error + */ +int arch_cpu_init_dm(void); + +/** * mach_cpu_init() - SoC/machine dependent CPU setup * * This is called after arch_cpu_init(). It should handle any @@ -43,6 +55,60 @@ int arch_cpu_init(void); */ int mach_cpu_init(void); +/** + * arch_fsp_init() - perform firmware support package init + * + * Where U-Boot relies on binary blobs to handle part of the system init, this + * function can be used to set up the blobs. This is used on some Intel + * platforms. + */ +int arch_fsp_init(void); + +int dram_init(void); + +/** + * dram_init_banksize() - Set up DRAM bank sizes + * + * This can be implemented by boards to set up the DRAM bank information in + * gd->bd->bi_dram(). It is called just before relocation, after dram_init() + * is called. + * + * If this is not provided, a default implementation will try to set up a + * single bank. It will do this if CONFIG_NR_DRAM_BANKS and + * CONFIG_SYS_SDRAM_BASE are set. The bank will have a start address of + * CONFIG_SYS_SDRAM_BASE and the size will be determined by a call to + * get_effective_memsize(). + * + * @return 0 if OK, -ve on error + */ +int dram_init_banksize(void); + +/** + * Reserve all necessary stacks + * + * This is used in generic board init sequence in common/board_f.c. Each + * architecture could provide this function to tailor the required stacks. + * + * On entry gd->start_addr_sp is pointing to the suggested top of the stack. + * The callee ensures gd->start_add_sp is 16-byte aligned, so architectures + * require only this can leave it untouched. + * + * On exit gd->start_addr_sp and gd->irq_sp should be set to the respective + * positions of the stack. The stack pointer(s) will be set to this later. + * gd->irq_sp is only required, if the architecture needs it. + * + * @return 0 if no error + */ +int arch_reserve_stacks(void); + +int print_cpuinfo(void); +int timer_init(void); +int reserve_mmu(void); +int misc_init_f(void); +#if defined(CONFIG_DTB_RESELECT) +int embedded_dtb_select(void); +#endif + /* common/board_r.c */ #endif /* __ASSEMBLY__ */ |