i2c-vr: add XDPE192C3E,XDPE1D2G3B support

Extend xdpe1x2xx to support XDPE192C3E,XDPE1D2G3B VR devices which share
similar programming interfaces but use slightly different config size.

Tested pass on Yv5 platform.

Change-Id: I4f8bde67bce433a2536ffc9f88a49784d565ce42
Signed-off-by: Leo Yang <Leo-Yang@quantatw.com>
diff --git a/i2c-vr/xdpe1x2xx/xdpe1x2xx.cpp b/i2c-vr/xdpe1x2xx/xdpe1x2xx.cpp
index 184c17b..1247bbe 100644
--- a/i2c-vr/xdpe1x2xx/xdpe1x2xx.cpp
+++ b/i2c-vr/xdpe1x2xx/xdpe1x2xx.cpp
@@ -21,6 +21,7 @@
     REV_B,
     REV_C,
     REV_D,
+    REV_E,
 };
 
 enum ProductID
@@ -31,6 +32,8 @@
     ProductIDXDPE19283D = 0xAE,  // Revision D
     ProductIDXDPE192C3AC = 0x96, // Revision A,B,C
     ProductIDXDPE192C3D = 0xAF,  // Revision D
+    ProductIDXDPE192C3E = 0xB8,  // Revision E
+    ProductIDXDPE1D2G3B = 0xA5,  // Revision B
 };
 
 constexpr uint8_t PMBusICDeviceID = 0xAD;
@@ -48,6 +51,8 @@
 constexpr int XDPE152XXConfSize = 1344;
 constexpr int XDPE152XXDConfSize = 1312;
 constexpr int XDPE192XXBConfSize = 1416; // Config(728) + PMBus(568) + SVID(120)
+constexpr int XDPE192C3EConfSize = 1532; // Config(844) + PMBus(568) + SVID(120)
+constexpr int XDPE1D2G3BConfSize = 1552; // Config(864) + PMBus(568) + SVID(120)
 constexpr uint8_t VRWarnRemaining = 3;
 constexpr uint8_t SectTrim = 0x02;
 
@@ -202,6 +207,8 @@
         {{ProductIDXDPE15284, REV_C}, XDPE152XXConfSize},
         {{ProductIDXDPE15284, REV_D}, XDPE152XXDConfSize},
         {{ProductIDXDPE192C3AC, REV_B}, XDPE192XXBConfSize},
+        {{ProductIDXDPE192C3E, REV_E}, XDPE192C3EConfSize},
+        {{ProductIDXDPE1D2G3B, REV_B}, XDPE1D2G3BConfSize},
     };
 
     auto it = configSizeMap.find({deviceId, revision});
diff --git a/i2c-vr/xdpe1x2xx/xdpe1x2xx.hpp b/i2c-vr/xdpe1x2xx/xdpe1x2xx.hpp
index 6c38667..14a4070 100644
--- a/i2c-vr/xdpe1x2xx/xdpe1x2xx.hpp
+++ b/i2c-vr/xdpe1x2xx/xdpe1x2xx.hpp
@@ -25,7 +25,9 @@
 
   private:
     static const int MaxSectCnt = 16;
-    static const int MaxSectDataCnt = 200;
+    /*According to the XDPE192C3E datasheet, the Config User Section size has
+      reached 864 bytes, so MaxSectDataCnt requires at least 216.*/
+    static const int MaxSectDataCnt = 300;
 
     struct deviceInfo
     {