diff options
author | Patrick Delaunay <patrick.delaunay@st.com> | 2018-03-13 13:57:00 +0100 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2018-03-16 14:56:00 -0400 |
commit | d6f8771239b15e8a68b38fcde96977db212887bd (patch) | |
tree | 0f88aca5484e8bba0f75e1ced34354adc075c390 /include/init.h | |
parent | 71b7564479d9ee867f77c5594fdf03043206c449 (diff) |
common: move board_f.c prototypes in init.h
Move prototypes for function used in common/board_f.c
from common.h to init.h
Remove weak for arch_reserve_stacks in prototype
(checkpatch issue)
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
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 324fbe04754..f57a438986e 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__ */ |