From ebe3b3cfe212a2e985e12f1ab93bdef4487733f5 Mon Sep 17 00:00:00 2001 From: Shawn Nematbakhsh Date: Thu, 26 Sep 2013 16:44:14 -0700 Subject: baytrail: Add GPIO initial configuration infrastructure. During ramstage, call mainboard_get_gpios to get initial GPIO configuration from the mainboard code, then initialize GPIOs as requested. BUG=chrome-os-partner:22863 TEST=Manual. Using bayleybay GPIO table, set UART GPIOs to 'function 1', and verify UART still works after GPIO configuration. Also, verify legacy GPIO config is functional by toggling test pin. Change-Id: Ic58d8ddd15c4dc48a751a83f6d26c7809c1efc42 Reviewed-on: https://chromium-review.googlesource.com/170306 Reviewed-by: Aaron Durbin Commit-Queue: Shawn Nematbakhsh Signed-off-by: Shawn Nematbakhsh Tested-by: Shawn Nematbakhsh Signed-off-by: Aaron Durbin Reviewed-on: http://review.coreboot.org/4855 Tested-by: build bot (Jenkins) Reviewed-by: Alexandru Gagniuc --- src/soc/intel/baytrail/ramstage.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/soc/intel/baytrail/ramstage.c') diff --git a/src/soc/intel/baytrail/ramstage.c b/src/soc/intel/baytrail/ramstage.c index e30fc89bc2..10c030fcb3 100644 --- a/src/soc/intel/baytrail/ramstage.c +++ b/src/soc/intel/baytrail/ramstage.c @@ -31,6 +31,7 @@ #include #include #include +#include /* Global PATTRS */ DEFINE_PATTRS; @@ -101,7 +102,14 @@ static void fill_in_pattrs(void) fill_in_msr(&attrs->iacore_vids, MSR_IACORE_VIDS); } + void baytrail_init_pre_device(void) { + struct soc_gpio_config *config; + fill_in_pattrs(); + + /* Get GPIO initial states from mainboard */ + config = mainboard_get_gpios(); + setup_soc_gpios(config); } -- cgit v1.2.3