[coreboot-gerrit] Change in coreboot[master]: google/fizz: Set PL2 value based on sku id/charge max power

Shelley Chen (Code Review) gerrit at coreboot.org
Fri Sep 29 23:45:33 CEST 2017


Shelley Chen has uploaded this change for review. ( https://review.coreboot.org/21772


Change subject: google/fizz: Set PL2 value based on sku id/charge max power
......................................................................

google/fizz: Set PL2 value based on sku id/charge max power

Set PL2 based on either 90% of usb c charger's max power or sku id if
using a barrel jack.

BUG=b:37473486
BRANCH=None
TEST=output debug info for different skus and make sure
     PL2 set correctly.

Change-Id: I487fce4a5d0825a26488e71dee02400dbebbffb3
Signed-off-by: Shelley Chen <shchen at chromium.org>
---
M src/mainboard/google/fizz/mainboard.c
1 file changed, 20 insertions(+), 12 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/72/21772/1

diff --git a/src/mainboard/google/fizz/mainboard.c b/src/mainboard/google/fizz/mainboard.c
index 76fb2b8..1ced07e 100644
--- a/src/mainboard/google/fizz/mainboard.c
+++ b/src/mainboard/google/fizz/mainboard.c
@@ -18,7 +18,9 @@
 #include <chip.h>
 #include <device/device.h>
 #include <ec/ec.h>
-#include <intelblocks/mp_init.h>
+#include <ec/google/chromeec/ec.h>
+#include <gpio.h>
+#include <soc/gpio.h>
 #include <soc/pci_devs.h>
 #include <soc/nhlt.h>
 #include <vendorcode/google/chromeos/chromeos.h>
@@ -29,23 +31,29 @@
 /*
  * mainboard_get_pl2
  *
- * @return value Pl2 should be set to based on cpu id
+ * @return value Pl2 should be set to
  *
- * TODO: This is purely based on cpu id, which only works for the
- * current build because we have a different cpu id per sku.  However,
- * on the next build, we'll have distinct board ids per sku.  We'll
- * need to modify that at this point.
+ * Check if charger is USB C.  If so, set to 90% of the max value.
+ * Otherwise, set PL2 based on sku id.
  */
 static u32 mainboard_get_pl2(void)
 {
-	struct cpuid_result cpuidr;
+	u32 watts = 0.9 * google_chromeec_get_usb_pd_power_info();
+	int sku_id;
 
-	cpuidr = cpuid(1);
-	if (cpuidr.eax == CPUID_KABYLAKE_Y0) {
-		/* i7 needs higher pl2 */
-		return 44;
+	if (watts == 0) {
+		/* using the barrel jack, get PL2 based on sku id */
+		watts = 29;
+		sku_id = gpio_get(GPP_C15) << 3 |
+			gpio_get(GPP_C14) << 2 |
+			gpio_get(GPP_C13) << 1 |
+			gpio_get(GPP_C12);
+		if (sku_id == 0x4) {
+			/* u42 i7 needs higher pl2.  Everything else is 29 */
+			watts = 44;
+		}
 	}
-	return 29;
+	return watts;
 }
 
 static void mainboard_init(device_t dev)

-- 
To view, visit https://review.coreboot.org/21772
To unsubscribe, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I487fce4a5d0825a26488e71dee02400dbebbffb3
Gerrit-Change-Number: 21772
Gerrit-PatchSet: 1
Gerrit-Owner: Shelley Chen <shchen at google.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20170929/bbd1dad1/attachment.html>


More information about the coreboot-gerrit mailing list