mb/lenovo/r500: Add mainboard
Tested:
- Ethernet NIC
- Wifi RFKill
- USB
- LVDS, VGA with libgfxinit
- Booting with dock attached (COM1)
- Keyboard, trackpoint
- SeaBIOS 1.12
- S3 resume
- Tested in descriptor mode, with vendor FD and ME
- Add VBT to ACPI OPregion
Untested:
- SATA (likely works)
- Trackpad (my cable is broken, likely works)
- Displayport (likely works)
- Descriptorless mode
- DVD drive
- Extra battery
- model with ATI GPU
Does not work:
- Dock hotplug
- Quad core CPU (hangs during AP init, probably needs hardware mod)
- Hotplugging the expresscard slot (works with 'echo 1 | sudo tee
/sys/bus/pci/rescan')
TODO:
- proper dock support
- documentation
note: This board was hard to flash, I had to desolder the flash.
TESTED: on a R500 with an Intel iGPU, SeaBIOS 1.12, Debian 9,
Linux 4.9 from USB
Change-Id: I9e129b2e916acdf2b8534fa9d8d2cfc8f64f5815
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/28644
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Rudolph <siro@das-labor.org>
diff --git a/src/mainboard/lenovo/t400/Kconfig b/src/mainboard/lenovo/t400/Kconfig
index 16f1680..2bd67c2 100644
--- a/src/mainboard/lenovo/t400/Kconfig
+++ b/src/mainboard/lenovo/t400/Kconfig
@@ -1,5 +1,5 @@
if BOARD_LENOVO_T400 || BOARD_LENOVO_T500 || BOARD_LENOVO_R400 \
- || BOARD_LENOVO_W500
+ || BOARD_LENOVO_W500 || BOARD_LENOVO_R500
config BOARD_SPECIFIC_OPTIONS
def_bool y
@@ -11,7 +11,8 @@
select EC_LENOVO_H8
select H8_HAS_BAT_TRESHOLDS_IMPL
select H8_DOCK_EARLY_INIT
- select BOARD_ROMSIZE_KB_8192
+ select BOARD_ROMSIZE_KB_8192 if !BOARD_LENOVO_R500
+ select BOARD_ROMSIZE_KB_4096 if BOARD_LENOVO_R500
select DRIVERS_GENERIC_IOAPIC
select HAVE_MP_TABLE
select HAVE_ACPI_TABLES
@@ -24,20 +25,31 @@
select SUPERIO_NSC_PC87384
select DRIVERS_LENOVO_HYBRID_GRAPHICS
select MAINBOARD_HAS_LIBGFXINIT
- select MAINBOARD_USES_IFD_GBE_REGION
+ select MAINBOARD_USES_IFD_GBE_REGION if !BOARD_LENOVO_R500
select INTEL_GMA_HAVE_VBT
config MAINBOARD_DIR
string
default lenovo/t400
+config VARIANT_DIR
+ string
+ default "t400" if BOARD_LENOVO_T400 || BOARD_LENOVO_T500 \
+ || BOARD_LENOVO_R400 || BOARD_LENOVO_W500
+ default "r500" if BOARD_LENOVO_R500
+
config MAINBOARD_PART_NUMBER
string
default "ThinkPad T400" if BOARD_LENOVO_T400
default "ThinkPad T500" if BOARD_LENOVO_T500
default "ThinkPad R400" if BOARD_LENOVO_R400
+ default "ThinkPad R500" if BOARD_LENOVO_R500
default "ThinkPad W500" if BOARD_LENOVO_W500
+config OVERRIDE_DEVICETREE
+ string
+ default "variants/$(CONFIG_VARIANT_DIR)/overridetree.cb"
+
config USBDEBUG_HCD_INDEX
int
default 2
@@ -54,4 +66,7 @@
bool
default y
+config INTEL_GMA_VBT_FILE
+ default "src/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/data.vbt"
+
endif # BOARD_LENOVO_T400