summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
authorKevin Chiu <Kevin.Chiu@quantatw.com>2017-10-16 16:38:08 +0800
committerAaron Durbin <adurbin@chromium.org>2017-10-18 16:01:30 +0000
commit53660ed499fa2a523de4d7619fd1067f64f564fb (patch)
treef5f74cd6b2b07263a295e9951728c01755367be3 /src/mainboard
parentc869cd2f44f9880e1757cb83be0aa23d351fa99c (diff)
downloadcoreboot-53660ed499fa2a523de4d7619fd1067f64f564fb.tar.xz
google/snappy: Override USB2 strength by SKUID
14" BigDaddy needs to override USB2 TxiSet additionally to enhance driving strength. Otherwise EA test will fail on USB2 eye pattern. BUG=b:67820719 BRANCH=reef TEST=emerge-snappy coreboot Change-Id: I674c121a71866a5d44439eeb49e07f917d816de8 Signed-off-by: Kevin Chiu <Kevin.Chiu@quantatw.com> Reviewed-on: https://review.coreboot.org/22037 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/google/reef/variants/snappy/mainboard.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/mainboard/google/reef/variants/snappy/mainboard.c b/src/mainboard/google/reef/variants/snappy/mainboard.c
index 2767df245e..ac76a88a98 100644
--- a/src/mainboard/google/reef/variants/snappy/mainboard.c
+++ b/src/mainboard/google/reef/variants/snappy/mainboard.c
@@ -17,6 +17,22 @@
#include <baseboard/variants.h>
#include <ec/google/chromeec/ec.h>
#include <vendorcode/google/chromeos/cros_vpd.h>
+#include <soc/cpu.h>
+#include <soc/intel/apollolake/chip.h>
+
+/* SKU ID enumeration */
+enum snappy_sku {
+ SKU_UNKNOWN = -1,
+ SKU_RESERVED0,
+ SKU_RESERVED1,
+ SKU_BIGDADDY_KBDBKLIGHT,
+ SKU_RESERVED3,
+ SKU_RESERVED4,
+ SKU_BIGDADDY,
+ SKU_RESERVED6,
+ SKU_ALAN,
+ SKU_SNAPPY,
+};
void variant_board_ec_set_skuid(void)
{
@@ -63,3 +79,24 @@ uint8_t variant_board_sku(void)
return board_sku_num;
}
+
+void mainboard_devtree_update(struct device *dev)
+{
+ /* Override dev tree settings per board */
+ struct soc_intel_apollolake_config *cfg = dev->chip_info;
+ uint8_t sku_id;
+
+ sku_id = variant_board_sku();
+
+ switch (sku_id) {
+ case SKU_BIGDADDY_KBDBKLIGHT:
+ case SKU_BIGDADDY:
+ cfg->usb2eye[1].Usb20PerPortPeTxiSet = 7;
+ cfg->usb2eye[1].Usb20PerPortTxiSet = 7;
+ cfg->usb2eye[1].Usb20IUsbTxEmphasisEn = 3;
+ cfg->usb2eye[1].Usb20PerPortTxPeHalf = 0;
+ break;
+ default:
+ break;
+ }
+}