summaryrefslogtreecommitdiff
path: root/common/virtual_battery.c
diff options
context:
space:
mode:
authorBoris Mittelberg <bmbm@google.com>2022-04-14 11:38:33 -0700
committerBoris Mittelberg <bmbm@google.com>2022-04-14 11:38:33 -0700
commit10cf54860dc2f7ac36610799919f1a0cf1d501bb (patch)
treeac982e3f9c46d97c7ec713ac5e15ee284179fec7 /common/virtual_battery.c
parent59ede6b1714c313de3e003c0497c70725bf625d5 (diff)
parent265691a2fe290e0fa54ecccba151a5c63dd73e47 (diff)
downloadchrome-ec-10cf54860dc2f7ac36610799919f1a0cf1d501bb.tar.gz
Merge remote-tracking branch cros/main into firmware-brya-14505.B-mainfirmware-brya-14505.71.B-main
Generated by: util/update_release_branch.py --baseboard brya --relevant_paths_file baseboard/brya/relevant-paths.txt firmware-brya-14505.B-main Relevant changes: git log --oneline 59ede6b17..265691a2f -- baseboard/brya board/agah board/anahera board/banshee board/brya board/crota board/felwinter board/gimble board/kano board/primus board/redrix board/taeko board/taniks board/vell board/volmar driver/bc12/pi3usb9201_public.* driver/charger/bq25710.* driver/ppc/nx20p348x.* driver/ppc/syv682x_public.* driver/retimer/bb_retimer_public.* driver/tcpm/nct38xx.* driver/tcpm/ps8xxx_public.* driver/tcpm/tcpci.* include/power/alderlake* include/intel_x86.h power/alderlake* power/intel_x86.c util/getversion.sh 98493ee98 crota: remove type-c port 2 to avoid confusion 88a19dd1b anahera: Tune USBA retimer EQ revision 2 37d45dd56 kano: Support 28w cpu fan table BRANCH=None BUG=b:228775653 b:203837657 b:219176652 TEST=`make -j buildall` Signed-off-by: Boris Mittelberg <bmbm@google.com> Change-Id: Ia775339f54ad90ecdbc81ce1543b1b38f94f3b3b
Diffstat (limited to 'common/virtual_battery.c')
-rw-r--r--common/virtual_battery.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/common/virtual_battery.c b/common/virtual_battery.c
index db7e34ced6..33e014d68e 100644
--- a/common/virtual_battery.c
+++ b/common/virtual_battery.c
@@ -187,6 +187,9 @@ int virtual_battery_operation(const uint8_t *batt_cmd_head,
{
int val;
int year, month, day;
+#ifdef CONFIG_BATTERY_SMART
+ char str[32];
+#endif
/*
* We cache battery operational mode locally for both read and write
* commands. If MODE_CAPACITY bit is set, battery capacity will be
@@ -382,6 +385,16 @@ int virtual_battery_operation(const uint8_t *batt_cmd_head,
}
memcpy(dest, &val, bounded_read_len);
break;
+#ifdef CONFIG_BATTERY_SMART
+ case SB_MANUFACTURER_DATA:
+ if (read_len > ARRAY_SIZE(str))
+ return EC_ERROR_INVAL;
+ /* This may cause an i2c transaction */
+ if (battery_manufacturer_data(str, ARRAY_SIZE(str)))
+ return EC_ERROR_INVAL;
+ memcpy(dest, &str, read_len);
+ break;
+#endif
case SB_MANUFACTURER_ACCESS:
/* No manuf. access reg access allowed over VB interface */
return EC_ERROR_INVAL;