diff options
author | Keith Short <keithshort@chromium.org> | 2020-05-01 15:04:12 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-07-02 02:40:18 +0000 |
commit | 07833a0fc114e28c200fcee5691c082534344bfe (patch) | |
tree | 4eff0da4cc6309f1e1d54c1a5ed659de0b3b740f /baseboard/volteer/cbi_ec_fw_config.c | |
parent | 0d0158ea48e25ac4042d7142db1985e5a6a3472f (diff) | |
download | chrome-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.c | 49 |
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); +} + + |