[coreboot-gerrit] Change in coreboot[master]: mb/google/poppy : Get SKU_ID from EC for Nami/Vayne

Amanda Hwang (Code Review) gerrit at coreboot.org
Mon Mar 5 12:03:57 CET 2018


Amanda Hwang has uploaded this change for review. ( https://review.coreboot.org/24996


Change subject: mb/google/poppy : Get SKU_ID from EC for Nami/Vayne
......................................................................

mb/google/poppy : Get SKU_ID from EC for Nami/Vayne

CBI abbreviates Cros Board Info.
BUG=b:74177699
BRANCH=master
TEST=Verify CPU log shows expected SKU ID on Nami.

Change-Id: I42dd177de8c49cf3c122c2ebb1fcf42e5ba4cd75
Signed-off-by: amanda_hwang <amanda_hwang at compal.corp-partner.google.com>
---
M src/mainboard/google/poppy/ramstage.c
M src/soc/intel/skylake/chip_fsp20.c
M src/soc/intel/skylake/include/fsp20/soc/ramstage.h
3 files changed, 58 insertions(+), 1 deletion(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/96/24996/1

diff --git a/src/mainboard/google/poppy/ramstage.c b/src/mainboard/google/poppy/ramstage.c
index 39df3ee..3b34a96 100644
--- a/src/mainboard/google/poppy/ramstage.c
+++ b/src/mainboard/google/poppy/ramstage.c
@@ -15,9 +15,59 @@
 
 #include <baseboard/variants.h>
 #include <soc/ramstage.h>
-
+#include <ec/google/chromeec/ec.h>
+#include <string.h>
+#include <assert.h>
 #include <variant/gpio.h>
 
+#define SKU_0_Nami	0x3A7B
+#define SKU_1_Vayne	0x3A63
+#define SKU_2_Vayne	0x3A7F
+
+
+static uint16_t board_sku_id(void)
+{
+	static int sku_id = -1;
+
+	if (sku_id < 0) {
+		uint32_t id;
+		if (google_chromeec_cbi_get_sku_id(&id))
+			/* TODO: Once transition completes, raise error instead
+			   of returning gpio value which could be unintended. */
+			/* Reading from EC may succeed next time but we do not
+			   want to return different values. So, we cache the
+			   value read from GPIOs. */
+			printk(BIOS_INFO, "get sku id failed\n");
+		sku_id = id;
+	}
+
+	return sku_id;
+}
+
+
+void mainboard_devtree_update(struct device *dev)
+{
+       /* Override dev tree settings per board */
+	struct soc_intel_skylake_config *cfg = dev->chip_info;
+	uint16_t sku_id;
+	sku_id = board_sku_id();	
+
+	switch (sku_id) {
+        case SKU_0_Nami:
+			printk(BIOS_INFO, "SKU_0_Nami\n");
+			cfg->usb2_ports[5].enable = 1;//rear camera
+			cfg->usb2_ports[6].enable = 1; //front camera
+			break;
+        case SKU_1_Vayne:
+			printk(BIOS_INFO, "SKU_1_Vayne\n");
+			cfg->usb2_ports[5].enable = 0;//rear camera
+			cfg->usb2_ports[6].enable = 1; //front camera
+		break;
+	default:
+		break;
+	}
+}
+
 void mainboard_silicon_init_params(FSP_SIL_UPD *params)
 {
 	const struct pad_config *pads;
diff --git a/src/soc/intel/skylake/chip_fsp20.c b/src/soc/intel/skylake/chip_fsp20.c
index 3bc66b2..e5ffc21 100644
--- a/src/soc/intel/skylake/chip_fsp20.c
+++ b/src/soc/intel/skylake/chip_fsp20.c
@@ -102,6 +102,7 @@
 		printk(BIOS_ERR, "BUG! Could not find SOC devicetree config\n");
 		return;
 	}
+	mainboard_devtree_update(dev);
 	config = dev->chip_info;
 
 	mainboard_silicon_init_params(params);
@@ -328,3 +329,8 @@
 {
 	printk(BIOS_DEBUG, "WEAK: %s/%s called\n", __FILE__, __func__);
 }
+
+__attribute__((weak)) void mainboard_devtree_update(struct device *dev)
+{
+       /* Override dev tree settings per board */
+}
diff --git a/src/soc/intel/skylake/include/fsp20/soc/ramstage.h b/src/soc/intel/skylake/include/fsp20/soc/ramstage.h
index 23443c3..92d7069 100644
--- a/src/soc/intel/skylake/include/fsp20/soc/ramstage.h
+++ b/src/soc/intel/skylake/include/fsp20/soc/ramstage.h
@@ -31,5 +31,6 @@
 void soc_init_pre_device(void *chip_info);
 void soc_irq_settings(FSP_SIL_UPD *params);
 const char *soc_acpi_name(const struct device *dev);
+void mainboard_devtree_update(struct device *dev);
 
 #endif

-- 
To view, visit https://review.coreboot.org/24996
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I42dd177de8c49cf3c122c2ebb1fcf42e5ba4cd75
Gerrit-Change-Number: 24996
Gerrit-PatchSet: 1
Gerrit-Owner: Amanda Hwang <amanda_hwang at compal.corp-partner.google.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180305/2ae8cc62/attachment.html>


More information about the coreboot-gerrit mailing list