summaryrefslogtreecommitdiff
path: root/baseboard/volteer/cbi_ec_fw_config.c
diff options
context:
space:
mode:
authorKeith Short <keithshort@chromium.org>2020-05-01 15:04:12 -0600
committerCommit Bot <commit-bot@chromium.org>2020-07-02 02:40:18 +0000
commit07833a0fc114e28c200fcee5691c082534344bfe (patch)
tree4eff0da4cc6309f1e1d54c1a5ed659de0b3b740f /baseboard/volteer/cbi_ec_fw_config.c
parent0d0158ea48e25ac4042d7142db1985e5a6a3472f (diff)
downloadchrome-ec-07833a0fc114e28c200fcee5691c082534344bfe.tar.gz
volteer: create common FW_CONFIG layout
Create a common FW_CONFIG layout and access functions for Volteer boards. BUG=b:155497872 BRANCH=none TEST=make buildall TEST=verify FW_CONFIG data on Volteer Signed-off-by: Keith Short <keithshort@chromium.org> Change-Id: I1ec14db6c816d82115caa5e6179e0258f2904ec4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2247616 Reviewed-by: caveh jalali <caveh@chromium.org>
Diffstat (limited to 'baseboard/volteer/cbi_ec_fw_config.c')
-rw-r--r--baseboard/volteer/cbi_ec_fw_config.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/baseboard/volteer/cbi_ec_fw_config.c b/baseboard/volteer/cbi_ec_fw_config.c
new file mode 100644
index 0000000000..145115e930
--- /dev/null
+++ b/baseboard/volteer/cbi_ec_fw_config.c
@@ -0,0 +1,49 @@
+/* Copyright 2020 The Chromium OS Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "common.h"
+#include "console.h"
+#include "cbi_ec_fw_config.h"
+#include "cros_board_info.h"
+
+#define CPRINTS(format, args...) cprints(CC_CHIPSET, format, ## args)
+
+static union volteer_cbi_fw_config fw_config;
+BUILD_ASSERT(sizeof(fw_config) == sizeof(uint32_t));
+
+/*
+ * TODO in separate CL. Update FW_CONFIG default for all Volteer projects
+ */
+union volteer_cbi_fw_config fw_config_defaults = {
+ .usb_db = DB_USB4_GEN2,
+};
+
+/****************************************************************************
+ * Volteer FW_CONFIG access
+ */
+void init_fw_config(void)
+{
+ if (cbi_get_fw_config(&fw_config.raw_value)) {
+ CPRINTS("CBI: Read FW_CONFIG failed, using board defaults");
+ fw_config = fw_config_defaults;
+ }
+}
+
+union volteer_cbi_fw_config get_fw_config(void)
+{
+ return fw_config;
+}
+
+enum ec_cfg_usb_db_type ec_cfg_usb_db_type(void)
+{
+ return fw_config.usb_db;
+}
+
+bool ec_cfg_has_tabletmode(void)
+{
+ return (fw_config.tabletmode == TABLETMODE_ENABLED);
+}
+
+