summaryrefslogtreecommitdiff
path: root/baseboard/guybrush/baseboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'baseboard/guybrush/baseboard.c')
-rw-r--r--baseboard/guybrush/baseboard.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/baseboard/guybrush/baseboard.c b/baseboard/guybrush/baseboard.c
index 5c517be91e..b8f37025eb 100644
--- a/baseboard/guybrush/baseboard.c
+++ b/baseboard/guybrush/baseboard.c
@@ -7,6 +7,8 @@
#include "adc.h"
#include "adc_chip.h"
+#include "cros_board_info.h"
+#include "base_fw_config.h"
#include "battery_fuel_gauge.h"
#include "charge_manager.h"
#include "charge_ramp.h"
@@ -955,3 +957,17 @@ void baseboard_en_pwr_s0(enum gpio_signal signal)
/* Now chain off to the normal power signal interrupt handler. */
power_signal_interrupt(signal);
}
+
+int get_fw_config_field(uint8_t offset, uint8_t width)
+{
+ static uint32_t cached_fw_config = UNINITIALIZED_FW_CONFIG;
+
+ if (cached_fw_config == UNINITIALIZED_FW_CONFIG) {
+ uint32_t val;
+
+ if (cbi_get_fw_config(&val) != EC_SUCCESS)
+ return -1;
+ cached_fw_config = val;
+ }
+ return (cached_fw_config >> offset) & ((1 << width) - 1);
+}