mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 07:04:28 +00:00
x86: Change condition for using CAR
At present we assume that CAR (Cache-as-RAM) is used if HOBs (Hand-off blocks) are not, since HOBs typically indicate that an FSP is in use, and FSPs handle the CAR init. However this is a bit indirect, and for FSP2 machines which use their own CAR implementation (such as apollolake) but use the FSP for other functions, the logic is wrong. To fix this, add a dedicated Kconfig option to indicate when CAR is used. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> [bmeng: fix a typo in the commit message] Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
c3863eadbc
commit
6172e94c3c
3 changed files with 11 additions and 2 deletions
|
@ -364,6 +364,14 @@ config HAVE_FSP
|
|||
Note: Without this binary U-Boot will not be able to set up its
|
||||
SDRAM so will not boot.
|
||||
|
||||
config USE_CAR
|
||||
bool "Use Cache-As-RAM (CAR) to get temporary RAM at start-up"
|
||||
default y if !HAVE_FSP
|
||||
help
|
||||
Select this option if your board uses CAR init code, typically in a
|
||||
car.S file, to get some initial memory for code execution. This is
|
||||
common with Intel CPUs which don't use FSP.
|
||||
|
||||
choice
|
||||
prompt "FSP version"
|
||||
depends on HAVE_FSP
|
||||
|
|
|
@ -90,7 +90,7 @@ early_board_init_ret:
|
|||
jmp car_init
|
||||
.globl car_init_ret
|
||||
car_init_ret:
|
||||
#ifndef CONFIG_USE_HOB
|
||||
#ifdef CONFIG_USE_CAR
|
||||
/*
|
||||
* We now have CONFIG_SYS_CAR_SIZE bytes of Cache-As-RAM (or SRAM,
|
||||
* or fully initialised SDRAM - we really don't care which)
|
||||
|
@ -130,7 +130,7 @@ car_init_ret:
|
|||
|
||||
/* Get address of global_data */
|
||||
mov %fs:0, %edx
|
||||
#ifdef CONFIG_USE_HOB
|
||||
#if defined(CONFIG_USE_HOB) && !defined(CONFIG_USE_CAR)
|
||||
/* Store the HOB list if we have one */
|
||||
test %esi, %esi
|
||||
jz skip_hob
|
||||
|
|
|
@ -18,3 +18,4 @@ CONFIG_REGMAP=y
|
|||
CONFIG_SYSCON=y
|
||||
# CONFIG_PCI_PNP is not set
|
||||
CONFIG_CONSOLE_SCROLL_LINES=5
|
||||
# CONFIG_USE_CAR is not set
|
||||
|
|
Loading…
Reference in a new issue