google_eeprom: STRD and DINF layout update
Bug: 205000635
Signed-off-by: Jenny Ho <[email protected]>
Change-Id: Ia91728ddc089a856e762b0e047e3a5764e44a997
diff --git a/google_eeprom.c b/google_eeprom.c
index 20fec14..6fcc43d 100644
--- a/google_eeprom.c
+++ b/google_eeprom.c
@@ -22,8 +22,8 @@
#define BATT_EEPROM_TAG_BGPN_LEN GBMS_BGPN_LEN
#define BATT_EEPROM_TAG_BRID_OFFSET 0x17
#define BATT_EEPROM_TAG_BRID_LEN 1
-#define BATT_EEPROM_TAG_DINF_OFFSET 0x1E
-#define BATT_EEPROM_TAG_DINF_LEN GBMS_DINF_LEN
+#define BATT_EEPROM_TAG_STRD_OFFSET 0x1E
+#define BATT_EEPROM_TAG_STRD_LEN 12
#define BATT_EEPROM_TAG_BCNT_OFFSET 0x2E
#define BATT_EEPROM_TAG_BCNT_LEN (GBMS_CCBIN_BUCKET_COUNT * 2)
#define BATT_EEPROM_TAG_GMSR_OFFSET 0x42
@@ -40,6 +40,9 @@
#define BATT_EEPROM_TAG_HIST_OFFSET 0x5E
#define BATT_EEPROM_TAG_HIST_LEN BATT_ONE_HIST_LEN
+#define BATT_EEPROM_TAG_DINF_OFFSET 0x3FA
+#define BATT_EEPROM_TAG_DINF_LEN 4 // GBMS_DINF_LEN
+
static struct gbms_storage_desc *gbee_desc;
#define GBEE_GET_NVRAM(ptr) ((struct nvmem_device *)(ptr))
@@ -100,6 +103,10 @@
*addr = BATT_EEPROM_TAG_CELC_OFFSET;
*count = BATT_EEPROM_TAG_CELC_LEN;
break;
+ case GBMS_TAG_STRD:
+ *addr = BATT_EEPROM_TAG_STRD_OFFSET;
+ *count = BATT_EEPROM_TAG_STRD_LEN;
+ break;
default:
ret = -ENOENT;
break;
@@ -115,7 +122,8 @@
GBMS_TAG_BRID, GBMS_TAG_SNUM,
GBMS_TAG_GMSR, GBMS_TAG_BCNT,
GBMS_TAG_CNHS, GBMS_TAG_SELC,
- GBMS_TAG_CELC, GBMS_TAG_LOTR };
+ GBMS_TAG_CELC, GBMS_TAG_LOTR,
+ GBMS_TAG_STRD };
const int count = ARRAY_SIZE(keys);
if (index < 0 || index >= count)
@@ -171,7 +179,7 @@
if ((tag != GBMS_TAG_DINF) && (tag != GBMS_TAG_GMSR) &&
(tag != GBMS_TAG_BCNT) && (tag != GBMS_TAG_CNHS) &&
(tag != GBMS_TAG_SELC) && (tag != GBMS_TAG_CELC) &&
- (tag != GBMS_TAG_BPST))
+ (tag != GBMS_TAG_BPST) && (tag != GBMS_TAG_STRD))
return -ENOENT;
ret = GBEE_STORAGE_INFO(tag, &offset, &len, ptr);