Vladimir Serbinenko (phcoder@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4294
-gerrit
commit c6951ce38d559dabd64d860cb0147debcd5005e0 Author: Vladimir Serbinenko phcoder@gmail.com Date: Wed Nov 27 21:36:25 2013 +0100
Introduce a config whether dock is inited in romstage or not
Instead of depending on exact mobo configure general characteristic whether dock is configured in romstage or ramstage.
X60 and T60 have superio in dock so it needs to be inited to get serial, so it should be inited in romstage.
On X201 there is nothing useful that early in boot but it's needed to init more to get dock working, in particular EC init needs to be done first. Change-Id: If5072e3dec883a94cd2d5643a92f7f6c3c9feee9 Signed-off-by: Vladimir Serbinenko phcoder@gmail.com --- src/ec/lenovo/h8/Kconfig | 3 +++ src/ec/lenovo/h8/h8.c | 12 ++---------- src/ec/lenovo/h8/h8.h | 4 ++++ src/mainboard/lenovo/t60/Kconfig | 1 + src/mainboard/lenovo/x60/Kconfig | 1 + 5 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/src/ec/lenovo/h8/Kconfig b/src/ec/lenovo/h8/Kconfig index 07bdb11..6a9d055 100644 --- a/src/ec/lenovo/h8/Kconfig +++ b/src/ec/lenovo/h8/Kconfig @@ -1,3 +1,6 @@ config EC_LENOVO_H8 select EC_ACPI bool + +config H8_DOCK_EARLY_INIT + bool diff --git a/src/ec/lenovo/h8/h8.c b/src/ec/lenovo/h8/h8.c index af2aab3..1afbaaa 100644 --- a/src/ec/lenovo/h8/h8.c +++ b/src/ec/lenovo/h8/h8.c @@ -28,10 +28,6 @@ #include <pc80/mc146818rtc.h> #include <kconfig.h>
-#if IS_ENABLED (CONFIG_BOARD_LENOVO_X201) -#include "mainboard/lenovo/x201/dock.h" -#endif - static void h8_bluetooth_enable(int on) { if (on) @@ -167,12 +163,8 @@ static void h8_enable(device_t dev) } h8_set_audio_mute(0);
-#if IS_ENABLED (CONFIG_BOARD_LENOVO_X201) - if (dock_present()) { - printk(BIOS_DEBUG, "dock is connected\n"); - dock_connect(); - } else - printk(BIOS_DEBUG, "dock is not connected\n"); +#if !IS_ENABLED(CONFIG_H8_DOCK_EARLY_INIT) + h8_mainboard_init_dock (); #endif }
diff --git a/src/ec/lenovo/h8/h8.h b/src/ec/lenovo/h8/h8.h index 7379fc7..8bc06cf 100644 --- a/src/ec/lenovo/h8/h8.h +++ b/src/ec/lenovo/h8/h8.h @@ -28,6 +28,10 @@ void h8_enable_event(int event); void h8_disable_event(int event); int h8_ultrabay_device_present(void);
+#if !IS_ENABLED (CONFIG_H8_DOCK_EARLY_INIT) +void h8_mainboard_init_dock (void); +#endif + /* EC registers */ #define H8_CONFIG0 0x00 #define H8_CONFIG0_EVENTS_ENABLE 0x02 diff --git a/src/mainboard/lenovo/t60/Kconfig b/src/mainboard/lenovo/t60/Kconfig index 0f0670e..303f55a 100644 --- a/src/mainboard/lenovo/t60/Kconfig +++ b/src/mainboard/lenovo/t60/Kconfig @@ -22,6 +22,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select HAVE_ACPI_TABLES select HAVE_ACPI_RESUME select EARLY_CBMEM_INIT + select H8_DOCK_EARLY_INIT config MAINBOARD_DIR string default lenovo/t60 diff --git a/src/mainboard/lenovo/x60/Kconfig b/src/mainboard/lenovo/x60/Kconfig index 72aeef8..7ed2665 100644 --- a/src/mainboard/lenovo/x60/Kconfig +++ b/src/mainboard/lenovo/x60/Kconfig @@ -25,6 +25,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select USE_OPTION_TABLE select MAINBOARD_HAS_NATIVE_VGA_INIT select EARLY_CBMEM_INIT + select H8_DOCK_EARLY_INIT
config MAINBOARD_DIR string