From 58caa8ba8c2871a26f878e181f16ec073779770c Mon Sep 17 00:00:00 2001 From: Julius Werner Date: Mon, 16 May 2016 16:37:56 -0700 Subject: libpayload: Reintroduce CONFIG_LP_CHROMEOS to set suitable defaults Chrome OS builds always have some inherent differences to "standard" libpayload configurations: they don't want to use curses or things like storage drivers, they always use the coreboot framebuffer and USB, etc. This patch reintroduces CONFIG_LP_CHROMEOS as an option that only affects Kconfig defaults. This allows Chrome OS builds to select most of what they need in one go and reduces board-specific .config files to only the options that are really specific to that board. Also restricts the 8250_SERIAL_CONSOLE Kconfig to only default to yes on x86 boards, which probably makes sense for all of libpayload (some but far from all ARM boards use 8250-compatible UARTs, and we should probably not default a platform option unless it's going to be correct with very high probability). BRANCH=None BUG=None TEST=Built and booted Jerry and Oak. Change-Id: Ie0c0593ffd399608d2cbfb83d20891f6f1864914 Signed-off-by: Julius Werner Original-Commit-Id: e558f59 Original-Change-Id: I609637cd2ea7dfb4558aa3c04c90b64038c9ab57 Original-Signed-off-by: Julius Werner Original-Reviewed-on: https://chromium-review.googlesource.com/347970 Original-Reviewed-by: Aaron Durbin Reviewed-on: https://review.coreboot.org/17024 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel --- payloads/libpayload/Kconfig | 19 ++++++++++++++----- payloads/libpayload/drivers/storage/Kconfig | 2 +- payloads/libpayload/drivers/usb/Kconfig | 8 ++++---- 3 files changed, 19 insertions(+), 10 deletions(-) (limited to 'payloads') diff --git a/payloads/libpayload/Kconfig b/payloads/libpayload/Kconfig index 51826ea9af..dcb1f4e721 100644 --- a/payloads/libpayload/Kconfig +++ b/payloads/libpayload/Kconfig @@ -34,6 +34,7 @@ menu "Generic Options" config GPL bool "GPLv2-licensed Options" + default y if CHROMEOS default n help Prompt for options that will build code licensed under the GNU General @@ -55,6 +56,12 @@ config DEVELOPER Prompt for developer options. These options are only interesting for libpayload developers. +config CHROMEOS + bool "Chrome OS Options" + default n + help + Select configuration defaults appropriate for Chrome OS boards. + choice prompt "Compiler to use" default COMPILER_GCC @@ -117,7 +124,7 @@ endchoice config MULTIBOOT bool "Multiboot header support" depends on ARCH_X86 - default y + default y if !CHROMEOS config HEAP_SIZE int "Heap size" @@ -158,7 +165,7 @@ config LIBC config CURSES bool "Build a curses library" - default y + default y if !CHROMEOS choice prompt "Curses implementation" @@ -208,6 +215,7 @@ menu "Console Options" config SKIP_CONSOLE_INIT bool "Skip initializing the consoles at startup" + default y if CHROMEOS default n help Normally, libpayload will initialize console input/output on startup @@ -225,7 +233,7 @@ config SERIAL_CONSOLE config 8250_SERIAL_CONSOLE bool "8250-compatible serial port driver (including IO and MMIO)" depends on SERIAL_CONSOLE - default y + default y if ARCH_X86 config S5P_SERIAL_CONSOLE bool "Exynos SOC, S5P compatible serial port driver" @@ -289,7 +297,7 @@ config VIDEO_CONSOLE config VGA_VIDEO_CONSOLE bool "VGA video console driver" depends on ARCH_X86 && VIDEO_CONSOLE - default y + default y if !CHROMEOS config GEODELX_VIDEO_CONSOLE bool "Geode LX video console driver" @@ -299,6 +307,7 @@ config GEODELX_VIDEO_CONSOLE config COREBOOT_VIDEO_CONSOLE bool "coreboot video console driver" depends on VIDEO_CONSOLE && !GEODELX_VIDEO_CONSOLE + default y if CHROMEOS default n help Say Y here if coreboot switched to a graphics mode and @@ -352,7 +361,7 @@ config RTC_PORT_EXTENDED_VIA config SPEAKER bool "Support for PC speaker" depends on ARCH_X86 - default y + default y if !CHROMEOS source "drivers/timer/Kconfig" source "drivers/storage/Kconfig" diff --git a/payloads/libpayload/drivers/storage/Kconfig b/payloads/libpayload/drivers/storage/Kconfig index 961144eab9..04e9a29dd1 100644 --- a/payloads/libpayload/drivers/storage/Kconfig +++ b/payloads/libpayload/drivers/storage/Kconfig @@ -12,7 +12,7 @@ config STORAGE bool "Support for storage devices" - default y + default y if !CHROMEOS help Select this option if you want support for storage devices (like hard drives, memory sticks or optical drives). diff --git a/payloads/libpayload/drivers/usb/Kconfig b/payloads/libpayload/drivers/usb/Kconfig index 5ef80686e5..0d5bf0a86f 100644 --- a/payloads/libpayload/drivers/usb/Kconfig +++ b/payloads/libpayload/drivers/usb/Kconfig @@ -18,7 +18,7 @@ config USB config USB_UHCI bool "Support for USB UHCI controllers" depends on USB && ARCH_X86 - default y + default y if !CHROMEOS help Select this option if you are going to use USB 1.1 on an Intel based system. @@ -26,7 +26,7 @@ config USB_UHCI config USB_OHCI bool "Support for USB OHCI controllers" depends on USB - default y + default y if !CHROMEOS help Select this option if you are going to use USB 1.1 on a non-Intel based system. @@ -34,14 +34,14 @@ config USB_OHCI config USB_EHCI bool "Support for USB EHCI controllers" depends on USB - default y + default y if !CHROMEOS help Select this option if you want to use USB 2.0 config USB_XHCI bool "Support for USB xHCI controllers" depends on USB - default y + default y if !CHROMEOS help Select this option if you want to use USB 3.0 -- cgit v1.2.3