mpc85xx: Fix booting on various boards
commit 0e870980a6 ("8xxx: Removed
CONFIG_NUM_CPUS from 85xx/86xx") breaks U-Boot on various boards,
namely the ones that call get_sys_info() from board_early_init_f().
get_sys_info() calls cpu_numcores(), which depends on probecpu()
being called before. But probecpu() is called after board_early_init_f(),
and so cpu_numcores() returns random values, which in turn crashes
get_sys_info().
To fix the issue we place probecpu() before board_early_init_f()
in an initialization sequence.
Booting on the following boards should be revived now:
mpc8540ads
mpc8541cds
mpc8548cds
mpc8555cds
mpc8560ads
mpc8568mds
mpc8569mds
and maybe more.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
This commit is contained in:
committed by
Kumar Gala
parent
26df6aa991
commit
91525c6715
@@ -255,14 +255,12 @@ static int init_func_watchdog_reset (void)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
init_fnc_t *init_sequence[] = {
|
init_fnc_t *init_sequence[] = {
|
||||||
|
|
||||||
#if defined(CONFIG_BOARD_EARLY_INIT_F)
|
|
||||||
board_early_init_f,
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx)
|
#if defined(CONFIG_MPC85xx) || defined(CONFIG_MPC86xx)
|
||||||
probecpu,
|
probecpu,
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(CONFIG_BOARD_EARLY_INIT_F)
|
||||||
|
board_early_init_f,
|
||||||
|
#endif
|
||||||
#if !defined(CONFIG_8xx_CPUCLK_DEFAULT)
|
#if !defined(CONFIG_8xx_CPUCLK_DEFAULT)
|
||||||
get_clocks, /* get CPU and bus clocks (etc.) */
|
get_clocks, /* get CPU and bus clocks (etc.) */
|
||||||
#if defined(CONFIG_TQM8xxL) && !defined(CONFIG_TQM866M) \
|
#if defined(CONFIG_TQM8xxL) && !defined(CONFIG_TQM866M) \
|
||||||
|
|||||||
Reference in New Issue
Block a user