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:
parent
e4a8537ce2
commit
50b9258a0b
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
|
@ -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
|
||||
|
|
|
@ -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();
|
|
@ -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
|
||||
|
|
|
@ -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();
|
|
@ -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
|
||||
|
|
|
@ -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();
|
Loading…
Reference in New Issue