mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 07:04:28 +00:00
x86: samus: Add a target to boot through TPL
Add a version of samus which supports booting from TPL to SPL and then to U-Boot. This allows TPL to select from an A or B SPL to support verified boot with field upgrade. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
3dc13cc3a0
commit
ffe403762b
5 changed files with 111 additions and 2 deletions
|
@ -52,6 +52,14 @@ config TARGET_CHROMEBOOK_SAMUS
|
|||
Chrome OS EC connected on LPC, and it provides a 2560x1700 high
|
||||
resolution touch-enabled LCD display.
|
||||
|
||||
config TARGET_CHROMEBOOK_SAMUS_TPL
|
||||
bool "Chromebook samus booting from TPL"
|
||||
help
|
||||
This is a version of Samus which boots into TPL, then to SPL and
|
||||
U-Boot proper. This is useful where verified boot must select
|
||||
between different A/B versions of SPL/U-Boot, to allow upgrading of
|
||||
almost all U-Boot code in the field.
|
||||
|
||||
endchoice
|
||||
|
||||
source "board/google/chromebook_link/Kconfig"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
if TARGET_CHROMEBOOK_SAMUS
|
||||
if TARGET_CHROMEBOOK_SAMUS || TARGET_CHROMEBOOK_SAMUS_TPL
|
||||
|
||||
config SYS_BOARD
|
||||
default "chromebook_samus"
|
||||
|
@ -10,7 +10,8 @@ config SYS_SOC
|
|||
default "broadwell"
|
||||
|
||||
config SYS_CONFIG_NAME
|
||||
default "chromebook_samus"
|
||||
default "chromebook_samus" if TARGET_CHROMEBOOK_SAMUS
|
||||
default "chromebook_samus" if TARGET_CHROMEBOOK_SAMUS_TPL
|
||||
|
||||
config SYS_TEXT_BASE
|
||||
default 0xffe00000
|
||||
|
@ -39,3 +40,12 @@ config SYS_CAR_SIZE
|
|||
default 0x40000
|
||||
|
||||
endif
|
||||
|
||||
if TARGET_CHROMEBOOK_SAMUS_TPL
|
||||
|
||||
config BOARD_SPECIFIC_OPTIONS_TPL # dummy
|
||||
def_bool y
|
||||
select SPL
|
||||
select TPL
|
||||
|
||||
endif
|
||||
|
|
|
@ -4,3 +4,10 @@ S: Maintained
|
|||
F: board/google/chromebook_samus/
|
||||
F: include/configs/chromebook_samus.h
|
||||
F: configs/chromebook_samus_defconfig
|
||||
|
||||
CHROMEBOOK SAMUS TPL BOARD
|
||||
M: Simon Glass <sjg@chromium.org>
|
||||
S: Maintained
|
||||
F: board/google/chromebook_samus/
|
||||
F: include/configs/chromebook_samus.h
|
||||
F: configs/chromebook_samus_tpl_defconfig
|
||||
|
|
82
configs/chromebook_samus_tpl_defconfig
Normal file
82
configs/chromebook_samus_tpl_defconfig
Normal file
|
@ -0,0 +1,82 @@
|
|||
CONFIG_X86=y
|
||||
CONFIG_SYS_TEXT_BASE=0xffed0000
|
||||
CONFIG_SYS_MALLOC_F_LEN=0x1a00
|
||||
CONFIG_NR_DRAM_BANKS=8
|
||||
CONFIG_DEBUG_UART_BOARD_INIT=y
|
||||
CONFIG_DEBUG_UART_BASE=0x3f8
|
||||
CONFIG_DEBUG_UART_CLOCK=1843200
|
||||
CONFIG_VENDOR_GOOGLE=y
|
||||
CONFIG_TARGET_CHROMEBOOK_SAMUS_TPL=y
|
||||
CONFIG_DEBUG_UART=y
|
||||
CONFIG_HAVE_MRC=y
|
||||
CONFIG_HAVE_REFCODE=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_HAVE_VGA_BIOS=y
|
||||
CONFIG_BOOTSTAGE=y
|
||||
CONFIG_BOOTSTAGE_REPORT=y
|
||||
CONFIG_USE_BOOTARGS=y
|
||||
CONFIG_BOOTARGS="root=/dev/sdb3 init=/sbin/init rootwait ro"
|
||||
CONFIG_SYS_CONSOLE_INFO_QUIET=y
|
||||
CONFIG_MISC_INIT_R=y
|
||||
CONFIG_DISPLAY_BOARDINFO_LATE=y
|
||||
CONFIG_LAST_STAGE_INIT=y
|
||||
CONFIG_BLOBLIST=y
|
||||
CONFIG_BLOBLIST_SIZE=0x1000
|
||||
CONFIG_BLOBLIST_ADDR=0xff7c0000
|
||||
CONFIG_HANDOFF=y
|
||||
CONFIG_SPL_TEXT_BASE=0xffe70000
|
||||
CONFIG_SPL_SEPARATE_BSS=y
|
||||
CONFIG_SPL_NET_SUPPORT=y
|
||||
CONFIG_SPL_PCI=y
|
||||
CONFIG_SPL_PCH_SUPPORT=y
|
||||
CONFIG_TPL_PCI=y
|
||||
CONFIG_TPL_PCH_SUPPORT=y
|
||||
CONFIG_HUSH_PARSER=y
|
||||
CONFIG_CMD_CPU=y
|
||||
# CONFIG_CMD_FLASH is not set
|
||||
CONFIG_CMD_GPIO=y
|
||||
CONFIG_CMD_I2C=y
|
||||
CONFIG_CMD_PART=y
|
||||
CONFIG_CMD_SATA=y
|
||||
CONFIG_CMD_SF=y
|
||||
CONFIG_CMD_SPI=y
|
||||
CONFIG_CMD_USB=y
|
||||
# CONFIG_CMD_SETEXPR is not set
|
||||
CONFIG_CMD_TIME=y
|
||||
CONFIG_CMD_SOUND=y
|
||||
CONFIG_CMD_BOOTSTAGE=y
|
||||
CONFIG_CMD_TPM=y
|
||||
CONFIG_CMD_TPM_TEST=y
|
||||
CONFIG_CMD_EXT2=y
|
||||
CONFIG_CMD_EXT4=y
|
||||
CONFIG_CMD_EXT4_WRITE=y
|
||||
CONFIG_CMD_FAT=y
|
||||
CONFIG_CMD_FS_GENERIC=y
|
||||
CONFIG_MAC_PARTITION=y
|
||||
# CONFIG_SPL_MAC_PARTITION is not set
|
||||
# CONFIG_SPL_DOS_PARTITION is not set
|
||||
CONFIG_ISO_PARTITION=y
|
||||
CONFIG_EFI_PARTITION=y
|
||||
# CONFIG_SPL_EFI_PARTITION is not set
|
||||
CONFIG_DEFAULT_DEVICE_TREE="chromebook_samus"
|
||||
# CONFIG_NET is not set
|
||||
CONFIG_REGMAP=y
|
||||
CONFIG_SYSCON=y
|
||||
CONFIG_CPU=y
|
||||
CONFIG_DM_I2C=y
|
||||
CONFIG_SYS_I2C_DW=y
|
||||
CONFIG_TPL_MISC=y
|
||||
CONFIG_CROS_EC=y
|
||||
CONFIG_CROS_EC_LPC=y
|
||||
CONFIG_SYS_NS16550=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SOUND_I8254=y
|
||||
CONFIG_SOUND_RT5677=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_TPM_TIS_LPC=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB_KEYBOARD=y
|
||||
CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
|
||||
CONFIG_FRAMEBUFFER_VESA_MODE_11A=y
|
||||
CONFIG_CONSOLE_SCROLL_LINES=5
|
||||
CONFIG_TPM=y
|
|
@ -23,4 +23,6 @@
|
|||
#define CONFIG_ENV_SECT_SIZE 0x1000
|
||||
#define CONFIG_ENV_OFFSET 0x003f8000
|
||||
|
||||
#define CONFIG_TPL_TEXT_BASE 0xfffd8000
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
Loading…
Reference in a new issue