skylake/mainboard: Define mainboard hook in bootblock

Move mainboard post console init functionality (google_chrome_ec_init &
early_gpio programming) from verstage to bootblock.

Add chromeos-ec support in bootblock

BUG=chrome-os-partner:55357
BRANCH=none
TEST=Built and boot kunimitsu till POST code 0x34

Change-Id: I1b912985a0234d103dcf025b1a88094e639d197d
Signed-off-by: Barnali Sarkar <barnali.sarkar@intel.com>
Signed-off-by: Rizwan Qureshi <rizwan.qureshi@intel.com>
Signed-off-by: Subrata Banik <subrata.banik@intel.com>
Reviewed-on: https://review.coreboot.org/15786
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Subrata Banik 2016-07-21 23:47:38 +05:30 committed by Andrey Petrov
parent e4a8537ce2
commit 50b9258a0b
11 changed files with 28 additions and 24 deletions

View File

@ -25,4 +25,5 @@ postcar-y += die.c
bootblock-$(CONFIG_BOOTBLOCK_CONSOLE) += vtxprintf.c printk.c
bootblock-$(CONFIG_BOOTBLOCK_CONSOLE) += init.c console.c
bootblock-y += post.c
bootblock-y += die.c

View File

@ -1,6 +1,8 @@
ifeq ($(CONFIG_EC_GOOGLE_CHROMEEC),y)
bootblock-y += ec.c
bootblock-$(CONFIG_EC_GOOGLE_CHROMEEC_LPC) += ec_lpc.c
bootblock-$(CONFIG_EC_GOOGLE_CHROMEEC_MEC) += ec_mec.c
ramstage-y += ec.c crosec_proto.c vstore.c
ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC_I2C) += ec_i2c.c
ramstage-$(CONFIG_EC_GOOGLE_CHROMEEC_LPC) += ec_lpc.c

View File

@ -201,6 +201,7 @@ $(call src-to-obj,smm,$(dir)/fmap.c) : $(obj)/fmap_config.h
$(call src-to-obj,verstage,$(dir)/fmap.c) : $(obj)/fmap_config.h
$(call src-to-obj,postcar,$(dir)/fmap.c) : $(obj)/fmap_config.h
bootblock-y += bootmode.c
romstage-y += bootmode.c
ramstage-y += bootmode.c
verstage-y += bootmode.c

View File

@ -15,10 +15,12 @@
subdirs-y += spd
bootblock-y += bootblock_mainboard.c
romstage-y += boardid.c
romstage-y += car.c
romstage-y += pei_data.c
bootblock-$(CONFIG_CHROMEOS) += chromeos.c
verstage-$(CONFIG_CHROMEOS) += chromeos.c
romstage-$(CONFIG_CHROMEOS) += chromeos.c
ramstage-$(CONFIG_CHROMEOS) += chromeos.c
@ -31,5 +33,3 @@ ramstage-y += pei_data.c
ramstage-y += ramstage.c
smm-$(CONFIG_HAVE_SMI_HANDLER) += smihandler.c
verstage-y += car.c

View File

@ -13,20 +13,20 @@
* GNU General Public License for more details.
*/
#include <bootblock_common.h>
#include <ec/google/chromeec/ec.h>
#include <fsp/car.h>
#include <soc/gpio.h>
#include "gpio.h"
static void early_config_gpio(void)
{
/* This is a hack for FSP because it does things in MemoryInit()
* which it shouldn't be. We have to prepare certain gpios here
* which it shouldn't do. We have to prepare certain gpios here
* because of the brokenness in FSP. */
gpio_configure_pads(early_gpio_table, ARRAY_SIZE(early_gpio_table));
}
void car_mainboard_post_console_init(void)
void bootblock_mainboard_init(void)
{
/* Ensure the EC and PD are in the right mode for recovery */
google_chromeec_early_init();

View File

@ -15,10 +15,12 @@
subdirs-y += spd
bootblock-y += bootblock_mainboard.c
romstage-y += boardid.c
romstage-y += car.c
romstage-y += pei_data.c
bootblock-$(CONFIG_CHROMEOS) += chromeos.c
verstage-$(CONFIG_CHROMEOS) += chromeos.c
romstage-$(CONFIG_CHROMEOS) += chromeos.c
ramstage-$(CONFIG_CHROMEOS) += chromeos.c
@ -31,5 +33,3 @@ ramstage-y += pei_data.c
ramstage-y += ramstage.c
smm-$(CONFIG_HAVE_SMI_HANDLER) += smihandler.c
verstage-y += car.c

View File

@ -13,20 +13,20 @@
* GNU General Public License for more details.
*/
#include <bootblock_common.h>
#include <ec/google/chromeec/ec.h>
#include <fsp/car.h>
#include <soc/gpio.h>
#include "gpio.h"
static void early_config_gpio(void)
{
/* This is a hack for FSP because it does things in MemoryInit()
* which it shouldn't be. We have to prepare certain gpios here
* which it shouldn't do. We have to prepare certain gpios here
* because of the brokenness in FSP. */
gpio_configure_pads(early_gpio_table, ARRAY_SIZE(early_gpio_table));
}
void car_mainboard_post_console_init(void)
void bootblock_mainboard_init(void)
{
/* Ensure the EC and PD are in the right mode for recovery */
google_chromeec_early_init();

View File

@ -16,10 +16,12 @@
subdirs-y += spd
bootblock-y += bootblock_mainboard.c
romstage-y += boardid.c
romstage-y += car.c
romstage-y += pei_data.c
bootblock-$(CONFIG_CHROMEOS) += chromeos.c
verstage-$(CONFIG_CHROMEOS) += chromeos.c
romstage-$(CONFIG_CHROMEOS) += chromeos.c
ramstage-$(CONFIG_CHROMEOS) += chromeos.c
@ -32,5 +34,3 @@ ramstage-y += pei_data.c
ramstage-y += ramstage.c
smm-$(CONFIG_HAVE_SMI_HANDLER) += smihandler.c
verstage-y += car.c

View File

@ -13,20 +13,20 @@
* GNU General Public License for more details.
*/
#include <bootblock_common.h>
#include <ec/google/chromeec/ec.h>
#include <fsp/car.h>
#include <soc/gpio.h>
#include "gpio.h"
static void early_config_gpio(void)
{
/* This is a hack for FSP because it does things in MemoryInit()
* which it shouldn't be. We have to prepare certain gpios here
* which it shouldn't do. We have to prepare certain gpios here
* because of the brokenness in FSP. */
gpio_configure_pads(early_gpio_table, ARRAY_SIZE(early_gpio_table));
}
void car_mainboard_post_console_init(void)
void bootblock_mainboard_init(void)
{
/* Ensure the EC and PD are in the right mode for recovery */
google_chromeec_early_init();

View File

@ -16,10 +16,12 @@
subdirs-y += spd
bootblock-y += bootblock_mainboard.c
romstage-y += boardid.c
romstage-y += car.c
romstage-y += pei_data.c
bootblock-$(CONFIG_CHROMEOS) += chromeos.c
verstage-$(CONFIG_CHROMEOS) += chromeos.c
romstage-$(CONFIG_CHROMEOS) += chromeos.c
ramstage-$(CONFIG_CHROMEOS) += chromeos.c
@ -32,5 +34,3 @@ ramstage-y += pei_data.c
ramstage-y += ramstage.c
smm-$(CONFIG_HAVE_SMI_HANDLER) += smihandler.c
verstage-y += car.c

View File

@ -13,20 +13,20 @@
* GNU General Public License for more details.
*/
#include <bootblock_common.h>
#include <ec/google/chromeec/ec.h>
#include <fsp/car.h>
#include <soc/gpio.h>
#include "gpio.h"
static void early_config_gpio(void)
{
/* This is a hack for FSP because it does things in MemoryInit()
* which it shouldn't be. We have to prepare certain gpios here
* which it shouldn't do. We have to prepare certain gpios here
* because of the brokenness in FSP. */
gpio_configure_pads(early_gpio_table, ARRAY_SIZE(early_gpio_table));
}
void car_mainboard_post_console_init(void)
void bootblock_mainboard_init(void)
{
/* Ensure the EC and PD are in the right mode for recovery */
google_chromeec_early_init();