rockchip: rk3399: move chromebook bob specific flow to its board file

Add a board_early_init_f() in board_init_f() and move the board
specific init code into its own board file.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
This commit is contained in:
Kever Yang 2019-07-22 19:59:41 +08:00
parent 4e1aeb89af
commit faa98c7c5a
3 changed files with 27 additions and 18 deletions

View File

@ -6,8 +6,4 @@
#ifndef _ASM_ARCH_SYS_PROTO_H
#define _ASM_ARCH_SYS_PROTO_H
/* provided to defeat compiler optimisation in board_init_f() */
void gru_dummy_function(int i);
#endif /* _ASM_ARCH_SYS_PROTO_H */

View File

@ -57,6 +57,11 @@ __weak void rockchip_stimer_init(void)
{
}
__weak int board_early_init_f(void)
{
return 0;
}
__weak int arch_cpu_init(void)
{
return 0;
@ -70,20 +75,6 @@ void board_init_f(ulong dummy)
#ifdef CONFIG_DEBUG_UART
debug_uart_init();
# ifdef CONFIG_TARGET_CHROMEBOOK_BOB
int sum, i;
/*
* Add a delay and ensure that the compiler does not optimise this out.
* This is needed since the power rails tail a while to turn on, and
* we get garbage serial output otherwise.
*/
sum = 0;
for (i = 0; i < 150000; i++)
sum += i;
gru_dummy_function(sum);
#endif /* CONFIG_TARGET_CHROMEBOOK_BOB */
/*
* Debug UART can be used from here if required:
*
@ -95,6 +86,7 @@ void board_init_f(ulong dummy)
debug("U-Boot SPL board init\n");
#endif
board_early_init_f();
arch_cpu_init();
ret = spl_early_init();

View File

@ -10,7 +10,28 @@ int board_init(void)
return 0;
}
#ifdef CONFIG_SPL_BUILD
/* provided to defeat compiler optimisation in board_init_f() */
void gru_dummy_function(int i)
{
}
int board_early_init_f(void)
{
# ifdef CONFIG_TARGET_CHROMEBOOK_BOB
int sum, i;
/*
* Add a delay and ensure that the compiler does not optimise this out.
* This is needed since the power rails tail a while to turn on, and
* we get garbage serial output otherwise.
*/
sum = 0;
for (i = 0; i < 150000; i++)
sum += i;
gru_dummy_function(sum);
#endif /* CONFIG_TARGET_CHROMEBOOK_BOB */
return 0;
}
#endif