mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-06-09 23:36:03 +09:00
mips: Add CONFIG_MIPS_MACH_EARLY_INIT for very early mach init code
This patch adds the optional call to mips_mach_early_init() to start.S at a very early stage. Its disabled per default. It can be used for very early machine / platform specific init code. Its called very early and at this stage the PC is allowed to differ from the linking address (CONFIG_TEXT_BASE) as no absolute jump has been performed until this call. It will be used by thje Octeon platform. Signed-off-by: Stefan Roese <sr@denx.de> Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
This commit is contained in:
parent
81d4b14f7e
commit
de34a61642
|
@ -270,6 +270,15 @@ config MIPS_CACHE_INDEX_BASE
|
||||||
Normally this is CKSEG0. If the MIPS system needs to move this block
|
Normally this is CKSEG0. If the MIPS system needs to move this block
|
||||||
to some SRAM or ScratchPad RAM, adapt this option accordingly.
|
to some SRAM or ScratchPad RAM, adapt this option accordingly.
|
||||||
|
|
||||||
|
config MIPS_MACH_EARLY_INIT
|
||||||
|
bool "Enable mach specific very early init code"
|
||||||
|
help
|
||||||
|
Use this to enable the call to mips_mach_early_init() very early
|
||||||
|
from start.S. This function can be used e.g. to do some very early
|
||||||
|
CPU / SoC intitialization or image copying. Its called very early
|
||||||
|
and at this stage the PC might not match the linking address
|
||||||
|
(CONFIG_TEXT_BASE) - no absolute jump done until this call.
|
||||||
|
|
||||||
config MIPS_CACHE_SETUP
|
config MIPS_CACHE_SETUP
|
||||||
bool "Allow generic start code to initialize and setup caches"
|
bool "Allow generic start code to initialize and setup caches"
|
||||||
default n if SKIP_LOWLEVEL_INIT
|
default n if SKIP_LOWLEVEL_INIT
|
||||||
|
|
|
@ -236,6 +236,11 @@ wr_done:
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_MIPS_MACH_EARLY_INIT
|
||||||
|
bal mips_mach_early_init
|
||||||
|
nop
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_MIPS_CACHE_SETUP
|
#ifdef CONFIG_MIPS_CACHE_SETUP
|
||||||
/* Initialize caches... */
|
/* Initialize caches... */
|
||||||
PTR_LA t9, mips_cache_reset
|
PTR_LA t9, mips_cache_reset
|
||||||
|
|
Loading…
Reference in New Issue
Block a user