summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
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;
+ }
+}