summaryrefslogtreecommitdiffstats
path: root/examples/p8
diff options
context:
space:
mode:
Diffstat (limited to 'examples/p8')
-rw-r--r--examples/p8/memcard1_ddr3/memcard1_ddr3.tvpd44
-rw-r--r--examples/p8/memcard1_ddr3/openPower_mer0_MCsample.xml23
-rw-r--r--examples/p8/memcard1_ddr3/openPower_opfr_sample.xml51
-rw-r--r--examples/p8/memcard1_ddr3/openPower_spdx_membuf1_sample.xml107
-rw-r--r--examples/p8/memcard1_ddr3/openPower_veir_MCsample.xml22
-rw-r--r--examples/p8/memcard1_ddr3/openPower_ver0_MCsample.xml22
-rw-r--r--examples/p8/memcard1_ddr3/openPower_vini_sample.xml107
-rw-r--r--examples/p8/memcard1_ddr3/openPower_vmsc_sample.xml23
-rw-r--r--examples/p8/memcard1_ddr3/openPower_vndr_sample.xml30
-rw-r--r--examples/p8/memcard1_ddr3/openPower_vrtn_sample.xml37
-rw-r--r--examples/p8/memcard1_ddr4/memcard1_ddr4.tvpd45
-rw-r--r--examples/p8/memcard1_ddr4/openPower_mer0_MCsample.xml23
-rw-r--r--examples/p8/memcard1_ddr4/openPower_opfr_sample.xml51
-rw-r--r--examples/p8/memcard1_ddr4/openPower_spdx_membuf1_ddr4_sample.xml114
-rw-r--r--examples/p8/memcard1_ddr4/openPower_veir_MCsample.xml22
-rw-r--r--examples/p8/memcard1_ddr4/openPower_ver0_MCsample.xml22
-rw-r--r--examples/p8/memcard1_ddr4/openPower_vini_sample.xml107
-rw-r--r--examples/p8/memcard1_ddr4/openPower_vmsc_sample.xml23
-rw-r--r--examples/p8/memcard1_ddr4/openPower_vndr_sample.xml30
-rw-r--r--examples/p8/memcard1_ddr4/openPower_vrtn_sample.xml37
-rw-r--r--examples/p8/memcard4_ddr3/memcard4_ddr3.tvpd45
-rw-r--r--examples/p8/memcard4_ddr3/openPower_mer0_MCsample.xml23
-rw-r--r--examples/p8/memcard4_ddr3/openPower_opfr_sample.xml51
-rw-r--r--examples/p8/memcard4_ddr3/openPower_spdx_membuf4_sample.xml193
-rw-r--r--examples/p8/memcard4_ddr3/openPower_veir_MCsample.xml22
-rw-r--r--examples/p8/memcard4_ddr3/openPower_ver0_MCsample.xml22
-rw-r--r--examples/p8/memcard4_ddr3/openPower_vini_sample.xml107
-rw-r--r--examples/p8/memcard4_ddr3/openPower_vmsc_sample.xml23
-rw-r--r--examples/p8/memcard4_ddr3/openPower_vndr_sample.xml30
-rw-r--r--examples/p8/memcard4_ddr3/openPower_vrtn_sample.xml37
-rw-r--r--examples/p8/memcard4_ddr4/memcard4_ddr4.tvpd45
-rw-r--r--examples/p8/memcard4_ddr4/openPower_mer0_MCsample.xml23
-rw-r--r--examples/p8/memcard4_ddr4/openPower_opfr_sample.xml51
-rw-r--r--examples/p8/memcard4_ddr4/openPower_spdx_membuf4_ddr4_sample.xml200
-rw-r--r--examples/p8/memcard4_ddr4/openPower_veir_MCsample.xml22
-rw-r--r--examples/p8/memcard4_ddr4/openPower_ver0_MCsample.xml22
-rw-r--r--examples/p8/memcard4_ddr4/openPower_vini_sample.xml107
-rw-r--r--examples/p8/memcard4_ddr4/openPower_vmsc_sample.xml23
-rw-r--r--examples/p8/memcard4_ddr4/openPower_vndr_sample.xml30
-rw-r--r--examples/p8/memcard4_ddr4/openPower_vrtn_sample.xml37
-rw-r--r--examples/p8/sysplanar/openPower_mer0_sample.xml23
-rw-r--r--examples/p8/sysplanar/openPower_opfr_sample.xml51
-rw-r--r--examples/p8/sysplanar/openPower_osys_sample.xml51
-rw-r--r--examples/p8/sysplanar/openPower_veir_sample.xml22
-rw-r--r--examples/p8/sysplanar/openPower_ver0_sample.xml22
-rw-r--r--examples/p8/sysplanar/openPower_vini_sample.xml107
-rw-r--r--examples/p8/sysplanar/openPower_vmsc_sample.xml23
-rw-r--r--examples/p8/sysplanar/openPower_vndr_sample.xml30
-rw-r--r--examples/p8/sysplanar/openPower_vrtn_sample.xml37
-rw-r--r--examples/p8/sysplanar/sysplanar.tvpd46
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_mer0_sample.xml23
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_opfr_sample.xml51
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_osys_sample.xml51
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_spdx_membuf32_sample.xml276
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_veir_sample.xml22
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_ver0_sample.xml22
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_vini_sample.xml107
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_vmsc_sample.xml23
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_vndr_sample.xml30
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_vrtn_sample.xml37
-rw-r--r--examples/p8/sysplanar32_ddr3/sysplanar32_ddr3.tvpd50
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_mer0_sample.xml23
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_opfr_sample.xml51
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_osys_sample.xml51
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_spdx_membuf32_ddr4_sample.xml283
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_veir_sample.xml22
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_ver0_sample.xml22
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_vini_sample.xml107
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_vmsc_sample.xml23
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_vndr_sample.xml30
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_vrtn_sample.xml37
-rw-r--r--examples/p8/sysplanar32_ddr4/sysplanar32_ddr4.tvpd50
72 files changed, 3856 insertions, 0 deletions
diff --git a/examples/p8/memcard1_ddr3/memcard1_ddr3.tvpd b/examples/p8/memcard1_ddr3/memcard1_ddr3.tvpd
new file mode 100644
index 0000000..0ec2368
--- /dev/null
+++ b/examples/p8/memcard1_ddr3/memcard1_ddr3.tvpd
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<vpd>
+ <!-- OpenPower DDR3 memory riser card with one memory buffer -->
+
+ <name>FILENAME</name>
+ <size>16kb</size>
+ <VD>01</VD>
+
+ <record name="VINI">
+ <rtvpdfile>openPower_vini_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="OPFR">
+ <rtvpdfile>openPower_opfr_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VNDR">
+ <rtvpdfile>openPower_vndr_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="SPDX">
+ <rtvpdfile>openPower_spdx_membuf1_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VEIR">
+ <rtvpdfile>openPower_veir_MCsample.xml</rtvpdfile>
+ </record>
+
+ <record name="VER0">
+ <rtvpdfile>openPower_ver0_MCsample.xml</rtvpdfile>
+ </record>
+
+ <record name="MER0">
+ <rtvpdfile>openPower_mer0_MCsample.xml</rtvpdfile>
+ </record>
+
+ <record name="VMSC">
+ <rtvpdfile>openPower_vmsc_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VRTN">
+ <rtvpdfile>openPower_vrtn_sample.xml</rtvpdfile>
+ </record>
+</vpd>
diff --git a/examples/p8/memcard1_ddr3/openPower_mer0_MCsample.xml b/examples/p8/memcard1_ddr3/openPower_mer0_MCsample.xml
new file mode 100644
index 0000000..b139c06
--- /dev/null
+++ b/examples/p8/memcard1_ddr3/openPower_mer0_MCsample.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="MER0">
+ <rdesc>The Manufacturing repair data record for Memriser</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>MER0</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>48</kwlen>
+ <kwdata>01040800</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr3/openPower_opfr_sample.xml b/examples/p8/memcard1_ddr3/openPower_opfr_sample.xml
new file mode 100644
index 0000000..ed8b5b2
--- /dev/null
+++ b/examples/p8/memcard1_ddr3/openPower_opfr_sample.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="OPFR">
+ <rdesc>The OPFR record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>OPFR</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="VN">
+ <kwdesc>Vendor Name</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>FRU Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>xxxGB DDR3 MEMCD</kwdata>
+ </keyword>
+
+ <keyword name="VP">
+ <kwdesc>Card Part Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="VS">
+ <kwdesc>Card Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr3/openPower_spdx_membuf1_sample.xml b/examples/p8/memcard1_ddr3/openPower_spdx_membuf1_sample.xml
new file mode 100644
index 0000000..d9e9ff8
--- /dev/null
+++ b/examples/p8/memcard1_ddr3/openPower_spdx_membuf1_sample.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="SPDX">
+ <rdesc>The Memory data record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>SPDX</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>02</kwdata>
+ </keyword>
+
+ <keyword name="VM">
+ <kwdesc>Memory data version keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>00000000</kwdata>
+ </keyword>
+
+ <keyword name="DW">
+ <kwdesc>Memory Buffer Voltage keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>0000</kwdata>
+ </keyword>
+
+ <keyword name="MX">
+ <kwdesc>Bank Delete keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>64</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M0">
+ <kwdesc>MR Centaur Mappter (Centaur MRUID)Delete keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M1">
+ <kwdesc>First copy of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="T1">
+ <kwdesc>First copy of MT data keyword (1 dimm 1 rank)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="T2">
+ <kwdesc>Second copy of MT data (1 dimm 2 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="T4">
+ <kwdesc>Third copy of MT data (1 dimm 4 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q0">
+ <kwdesc>DQ Data mapper-Memory Buffer MRUID</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q1">
+ <kwdesc>First copy of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K0">
+ <kwdesc>DQS Data mapper-Memory Buffer MRUID</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K1">
+ <kwdesc>First copy of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr3/openPower_veir_MCsample.xml b/examples/p8/memcard1_ddr3/openPower_veir_MCsample.xml
new file mode 100644
index 0000000..5948a09
--- /dev/null
+++ b/examples/p8/memcard1_ddr3/openPower_veir_MCsample.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<vpd>
+ <record name="VEIR">
+ <rdesc>The Field repair data record for Memriser</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VEIR</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>01041400</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr3/openPower_ver0_MCsample.xml b/examples/p8/memcard1_ddr3/openPower_ver0_MCsample.xml
new file mode 100644
index 0000000..933c01c
--- /dev/null
+++ b/examples/p8/memcard1_ddr3/openPower_ver0_MCsample.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<vpd>
+ <record name="VER0">
+ <rdesc>The Vendor repair data record for Memriser</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VER0</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>48</kwlen>
+ <kwdata>01040800</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr3/openPower_vini_sample.xml b/examples/p8/memcard1_ddr3/openPower_vini_sample.xml
new file mode 100644
index 0000000..72bbaab
--- /dev/null
+++ b/examples/p8/memcard1_ddr3/openPower_vini_sample.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VINI">
+ <rdesc>Initial VPD Record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VINI</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>xxxGB DDR3 MEMCD</kwdata>
+ </keyword>
+
+ <keyword name="CE">
+ <kwdesc>CCIN Extension</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>1</kwdata>
+ </keyword>
+
+ <keyword name="VZ">
+ <kwdesc>Overall VPD version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="FN">
+ <kwdesc>FRU Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>7</kwlen>
+ <kwdata>0000000</kwdata>
+ </keyword>
+
+ <keyword name="PN">
+ <kwdesc>Card Part Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>7</kwlen>
+ <kwdata>0000000</kwdata>
+ </keyword>
+
+ <keyword name="SN">
+ <kwdesc>Card Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>12</kwlen>
+ <kwdata>000000000000</kwdata>
+ </keyword>
+
+ <keyword name="CC">
+ <kwdesc>Card CCIN Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>P0XX</kwdata>
+ </keyword>
+
+ <keyword name="HE">
+ <kwdesc>Hardware EC</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>0001</kwdata>
+ </keyword>
+
+ <keyword name="CT">
+ <kwdesc>Card Type</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>00000000</kwdata>
+ </keyword>
+
+ <keyword name="HW">
+ <kwdesc>Hardware Level</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>0001</kwdata>
+ </keyword>
+
+ <keyword name="B3">
+ <kwdesc>Hardware Characteristics</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>6</kwlen>
+ <kwdata>000000000001</kwdata>
+ </keyword>
+
+ <keyword name="B4">
+ <kwdesc>Manufacturing FRU Control</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="B7">
+ <kwdesc>Hardware Level</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>12</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr3/openPower_vmsc_sample.xml b/examples/p8/memcard1_ddr3/openPower_vmsc_sample.xml
new file mode 100644
index 0000000..cc65fbd
--- /dev/null
+++ b/examples/p8/memcard1_ddr3/openPower_vmsc_sample.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VMSC">
+ <rdesc>The VMSC record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VMSC</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Free Space for Software Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>205</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr3/openPower_vndr_sample.xml b/examples/p8/memcard1_ddr3/openPower_vndr_sample.xml
new file mode 100644
index 0000000..f8d6438
--- /dev/null
+++ b/examples/p8/memcard1_ddr3/openPower_vndr_sample.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VNDR">
+ <rdesc>The VNDR record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VNDR</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Vendor Specific Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>128</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr3/openPower_vrtn_sample.xml b/examples/p8/memcard1_ddr3/openPower_vrtn_sample.xml
new file mode 100644
index 0000000..4c2a97e
--- /dev/null
+++ b/examples/p8/memcard1_ddr3/openPower_vrtn_sample.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VRTN">
+ <rdesc>The VRTN record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VRTN</kwdata>
+ </keyword>
+
+ <keyword name="SO">
+ <kwdesc>The SO keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Free Space for Sofware Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>254</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="I2">
+ <kwdesc>Additional Free Space for Sofware Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>254</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr4/memcard1_ddr4.tvpd b/examples/p8/memcard1_ddr4/memcard1_ddr4.tvpd
new file mode 100644
index 0000000..87ab6b0
--- /dev/null
+++ b/examples/p8/memcard1_ddr4/memcard1_ddr4.tvpd
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<vpd>
+ <!-- OpenPower DDR4 Memory Riser Card with 1 buffer -->
+
+ <name>FILENAME</name>
+ <size>16kb</size>
+ <VD>01</VD>
+
+ <record name="VINI">
+ <rtvpdfile>./openPower_vini_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="OPFR">
+ <rtvpdfile>./openPower_opfr_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VNDR">
+ <rtvpdfile>./openPower_vndr_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="SPDX">
+ <rtvpdfile>./openPower_spdx_membuf1_ddr4_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VEIR">
+ <rtvpdfile>./openPower_veir_MCsample.xml</rtvpdfile>
+ </record>
+
+ <record name="VER0">
+ <rtvpdfile>./openPower_ver0_MCsample.xml</rtvpdfile>
+ </record>
+
+ <record name="MER0">
+ <rtvpdfile>./openPower_mer0_MCsample.xml</rtvpdfile>
+ </record>
+
+ <record name="VMSC">
+ <rtvpdfile>./openPower_vmsc_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VRTN">
+ <rtvpdfile>./openPower_vrtn_sample.xml</rtvpdfile>
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr4/openPower_mer0_MCsample.xml b/examples/p8/memcard1_ddr4/openPower_mer0_MCsample.xml
new file mode 100644
index 0000000..b139c06
--- /dev/null
+++ b/examples/p8/memcard1_ddr4/openPower_mer0_MCsample.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="MER0">
+ <rdesc>The Manufacturing repair data record for Memriser</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>MER0</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>48</kwlen>
+ <kwdata>01040800</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr4/openPower_opfr_sample.xml b/examples/p8/memcard1_ddr4/openPower_opfr_sample.xml
new file mode 100644
index 0000000..efe5d38
--- /dev/null
+++ b/examples/p8/memcard1_ddr4/openPower_opfr_sample.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="OPFR">
+ <rdesc>The OPFR record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>OPFR</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="VN">
+ <kwdesc>Vendor Name</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>FRU Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>xxxGB DDR4 MEMCD</kwdata>
+ </keyword>
+
+ <keyword name="VP">
+ <kwdesc>Card Part Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="VS">
+ <kwdesc>Card Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr4/openPower_spdx_membuf1_ddr4_sample.xml b/examples/p8/memcard1_ddr4/openPower_spdx_membuf1_ddr4_sample.xml
new file mode 100644
index 0000000..7408d43
--- /dev/null
+++ b/examples/p8/memcard1_ddr4/openPower_spdx_membuf1_ddr4_sample.xml
@@ -0,0 +1,114 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="SPDX">
+ <rdesc>DDR4 Memory data record for 1 Centaur</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>SPDX</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>04</kwdata>
+ </keyword>
+
+ <keyword name="VM">
+ <kwdesc>Memory data version keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>00000000</kwdata>
+ </keyword>
+
+ <keyword name="DW">
+ <kwdesc>Memory Buffer Voltage keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>0000</kwdata>
+ </keyword>
+
+ <keyword name="MX">
+ <kwdesc>Bank Delete keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>64</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M0">
+ <kwdesc>MR Centaur Mappter (Centaur MRUID)Delete keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M1">
+ <kwdesc>First set of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="#1">
+ <kwdesc>First set of MT data keyword (1 dimm 1 rank)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>384</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="#Z">
+ <kwdesc>Second set of MT data (1 dimm 2 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>384</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="#4">
+ <kwdesc>Third set of MT data (1 dimm 4 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>384</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q0">
+ <kwdesc>DQ Data mapper-Memory Buffer MRUID</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q1">
+ <kwdesc>First set of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K0">
+ <kwdesc>DQS Data mapper-Memory Buffer MRUID</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K1">
+ <kwdesc>First set of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="LR">
+ <kwdesc>LR memory attributions</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr4/openPower_veir_MCsample.xml b/examples/p8/memcard1_ddr4/openPower_veir_MCsample.xml
new file mode 100644
index 0000000..5948a09
--- /dev/null
+++ b/examples/p8/memcard1_ddr4/openPower_veir_MCsample.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<vpd>
+ <record name="VEIR">
+ <rdesc>The Field repair data record for Memriser</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VEIR</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>01041400</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr4/openPower_ver0_MCsample.xml b/examples/p8/memcard1_ddr4/openPower_ver0_MCsample.xml
new file mode 100644
index 0000000..933c01c
--- /dev/null
+++ b/examples/p8/memcard1_ddr4/openPower_ver0_MCsample.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<vpd>
+ <record name="VER0">
+ <rdesc>The Vendor repair data record for Memriser</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VER0</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>48</kwlen>
+ <kwdata>01040800</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr4/openPower_vini_sample.xml b/examples/p8/memcard1_ddr4/openPower_vini_sample.xml
new file mode 100644
index 0000000..9245886
--- /dev/null
+++ b/examples/p8/memcard1_ddr4/openPower_vini_sample.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VINI">
+ <rdesc>Initial VPD Record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VINI</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>xxxGB DDR4 MEMCD</kwdata>
+ </keyword>
+
+ <keyword name="CE">
+ <kwdesc>CCIN Extension</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>1</kwdata>
+ </keyword>
+
+ <keyword name="VZ">
+ <kwdesc>Overall VPD version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="FN">
+ <kwdesc>FRU Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>7</kwlen>
+ <kwdata>0000000</kwdata>
+ </keyword>
+
+ <keyword name="PN">
+ <kwdesc>Card Part Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>7</kwlen>
+ <kwdata>0000000</kwdata>
+ </keyword>
+
+ <keyword name="SN">
+ <kwdesc>Card Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>12</kwlen>
+ <kwdata>000000000000</kwdata>
+ </keyword>
+
+ <keyword name="CC">
+ <kwdesc>Card CCIN Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>P0XX</kwdata>
+ </keyword>
+
+ <keyword name="HE">
+ <kwdesc>Hardware EC</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>0001</kwdata>
+ </keyword>
+
+ <keyword name="CT">
+ <kwdesc>Card Type</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>00000000</kwdata>
+ </keyword>
+
+ <keyword name="HW">
+ <kwdesc>Hardware Level</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>0001</kwdata>
+ </keyword>
+
+ <keyword name="B3">
+ <kwdesc>Hardware Characteristics</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>6</kwlen>
+ <kwdata>000000000001</kwdata>
+ </keyword>
+
+ <keyword name="B4">
+ <kwdesc>Manufacturing FRU Control</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="B7">
+ <kwdesc>Hardware Level</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>12</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr4/openPower_vmsc_sample.xml b/examples/p8/memcard1_ddr4/openPower_vmsc_sample.xml
new file mode 100644
index 0000000..cc65fbd
--- /dev/null
+++ b/examples/p8/memcard1_ddr4/openPower_vmsc_sample.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VMSC">
+ <rdesc>The VMSC record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VMSC</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Free Space for Software Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>205</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr4/openPower_vndr_sample.xml b/examples/p8/memcard1_ddr4/openPower_vndr_sample.xml
new file mode 100644
index 0000000..f8d6438
--- /dev/null
+++ b/examples/p8/memcard1_ddr4/openPower_vndr_sample.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VNDR">
+ <rdesc>The VNDR record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VNDR</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Vendor Specific Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>128</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard1_ddr4/openPower_vrtn_sample.xml b/examples/p8/memcard1_ddr4/openPower_vrtn_sample.xml
new file mode 100644
index 0000000..4c2a97e
--- /dev/null
+++ b/examples/p8/memcard1_ddr4/openPower_vrtn_sample.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VRTN">
+ <rdesc>The VRTN record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VRTN</kwdata>
+ </keyword>
+
+ <keyword name="SO">
+ <kwdesc>The SO keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Free Space for Sofware Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>254</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="I2">
+ <kwdesc>Additional Free Space for Sofware Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>254</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr3/memcard4_ddr3.tvpd b/examples/p8/memcard4_ddr3/memcard4_ddr3.tvpd
new file mode 100644
index 0000000..570dfa8
--- /dev/null
+++ b/examples/p8/memcard4_ddr3/memcard4_ddr3.tvpd
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<vpd>
+ <!-- OpenPower DDR3 memory riser card with 2 to 4 memory buffers -->
+
+ <name>FILENAME</name>
+ <size>16kb</size>
+ <VD>01</VD>
+
+ <record name="VINI">
+ <rtvpdfile>openPower_vini_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="OPFR">
+ <rtvpdfile>openPower_opfr_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VNDR">
+ <rtvpdfile>openPower_vndr_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="SPDX">
+ <rtvpdfile>openPower_spdx_membuf4_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VEIR">
+ <rtvpdfile>openPower_veir_MCsample.xml</rtvpdfile>
+ </record>
+
+ <record name="VER0">
+ <rtvpdfile>openPower_ver0_MCsample.xml</rtvpdfile>
+ </record>
+
+ <record name="MER0">
+ <rtvpdfile>openPower_mer0_MCsample.xml</rtvpdfile>
+ </record>
+
+ <record name="VMSC">
+ <rtvpdfile>openPower_vmsc_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VRTN">
+ <rtvpdfile>openPower_vrtn_sample.xml</rtvpdfile>
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr3/openPower_mer0_MCsample.xml b/examples/p8/memcard4_ddr3/openPower_mer0_MCsample.xml
new file mode 100644
index 0000000..b139c06
--- /dev/null
+++ b/examples/p8/memcard4_ddr3/openPower_mer0_MCsample.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="MER0">
+ <rdesc>The Manufacturing repair data record for Memriser</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>MER0</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>48</kwlen>
+ <kwdata>01040800</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr3/openPower_opfr_sample.xml b/examples/p8/memcard4_ddr3/openPower_opfr_sample.xml
new file mode 100644
index 0000000..ed8b5b2
--- /dev/null
+++ b/examples/p8/memcard4_ddr3/openPower_opfr_sample.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="OPFR">
+ <rdesc>The OPFR record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>OPFR</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="VN">
+ <kwdesc>Vendor Name</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>FRU Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>xxxGB DDR3 MEMCD</kwdata>
+ </keyword>
+
+ <keyword name="VP">
+ <kwdesc>Card Part Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="VS">
+ <kwdesc>Card Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr3/openPower_spdx_membuf4_sample.xml b/examples/p8/memcard4_ddr3/openPower_spdx_membuf4_sample.xml
new file mode 100644
index 0000000..e376a2e
--- /dev/null
+++ b/examples/p8/memcard4_ddr3/openPower_spdx_membuf4_sample.xml
@@ -0,0 +1,193 @@
+<?xml version="1.0"?>
+<vpd>
+
+
+ <record name="SPDX">
+ <rdesc>The Memory data record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>SPDX</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>03</kwdata>
+ </keyword>
+
+ <keyword name="VM">
+ <kwdesc>Memory data version keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>00000000</kwdata>
+ </keyword>
+
+ <keyword name="DW">
+ <kwdesc>Memory Buffer Voltage keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>0000</kwdata>
+ </keyword>
+
+ <keyword name="MX">
+ <kwdesc>Bank Delete keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>64</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M0">
+ <kwdesc>MR Centaur Mappter (Centaur MRUID)Delete keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M1">
+ <kwdesc>First copy of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M2">
+ <kwdesc>Second copy of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M3">
+ <kwdesc>Third copy of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M4">
+ <kwdesc>Fourth copy of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="T1">
+ <kwdesc>First copy of MT data keyword (1 dimm 1 rank)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="T2">
+ <kwdesc>Second copy of MT data (1 dimm 2 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="T4">
+ <kwdesc>Third copy of MT data (1 dimm 4 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="T5">
+ <kwdesc>Fourth copy of MT data keyword (2 dimm 1 rank)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="T6">
+ <kwdesc>Fifth copy of MT data keyword (2 dimm 2 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="T8">
+ <kwdesc>Sixth copy of MT data keyword (2 dimm 4 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q0">
+ <kwdesc>DQ Data mapper-Memory Buffer MRUID</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q1">
+ <kwdesc>First copy of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q2">
+ <kwdesc>Second copy of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q3">
+ <kwdesc>Third copy of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q4">
+ <kwdesc>Fourth copy of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K0">
+ <kwdesc>DQS Data mapper-Memory Buffer MRUID</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K1">
+ <kwdesc>First copy of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K2">
+ <kwdesc>Second copy of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K3">
+ <kwdesc>Third copy of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K4">
+ <kwdesc>Fourth copy of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
+
diff --git a/examples/p8/memcard4_ddr3/openPower_veir_MCsample.xml b/examples/p8/memcard4_ddr3/openPower_veir_MCsample.xml
new file mode 100644
index 0000000..5948a09
--- /dev/null
+++ b/examples/p8/memcard4_ddr3/openPower_veir_MCsample.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<vpd>
+ <record name="VEIR">
+ <rdesc>The Field repair data record for Memriser</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VEIR</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>01041400</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr3/openPower_ver0_MCsample.xml b/examples/p8/memcard4_ddr3/openPower_ver0_MCsample.xml
new file mode 100644
index 0000000..933c01c
--- /dev/null
+++ b/examples/p8/memcard4_ddr3/openPower_ver0_MCsample.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<vpd>
+ <record name="VER0">
+ <rdesc>The Vendor repair data record for Memriser</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VER0</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>48</kwlen>
+ <kwdata>01040800</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr3/openPower_vini_sample.xml b/examples/p8/memcard4_ddr3/openPower_vini_sample.xml
new file mode 100644
index 0000000..72bbaab
--- /dev/null
+++ b/examples/p8/memcard4_ddr3/openPower_vini_sample.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VINI">
+ <rdesc>Initial VPD Record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VINI</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>xxxGB DDR3 MEMCD</kwdata>
+ </keyword>
+
+ <keyword name="CE">
+ <kwdesc>CCIN Extension</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>1</kwdata>
+ </keyword>
+
+ <keyword name="VZ">
+ <kwdesc>Overall VPD version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="FN">
+ <kwdesc>FRU Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>7</kwlen>
+ <kwdata>0000000</kwdata>
+ </keyword>
+
+ <keyword name="PN">
+ <kwdesc>Card Part Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>7</kwlen>
+ <kwdata>0000000</kwdata>
+ </keyword>
+
+ <keyword name="SN">
+ <kwdesc>Card Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>12</kwlen>
+ <kwdata>000000000000</kwdata>
+ </keyword>
+
+ <keyword name="CC">
+ <kwdesc>Card CCIN Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>P0XX</kwdata>
+ </keyword>
+
+ <keyword name="HE">
+ <kwdesc>Hardware EC</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>0001</kwdata>
+ </keyword>
+
+ <keyword name="CT">
+ <kwdesc>Card Type</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>00000000</kwdata>
+ </keyword>
+
+ <keyword name="HW">
+ <kwdesc>Hardware Level</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>0001</kwdata>
+ </keyword>
+
+ <keyword name="B3">
+ <kwdesc>Hardware Characteristics</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>6</kwlen>
+ <kwdata>000000000001</kwdata>
+ </keyword>
+
+ <keyword name="B4">
+ <kwdesc>Manufacturing FRU Control</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="B7">
+ <kwdesc>Hardware Level</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>12</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr3/openPower_vmsc_sample.xml b/examples/p8/memcard4_ddr3/openPower_vmsc_sample.xml
new file mode 100644
index 0000000..cc65fbd
--- /dev/null
+++ b/examples/p8/memcard4_ddr3/openPower_vmsc_sample.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VMSC">
+ <rdesc>The VMSC record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VMSC</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Free Space for Software Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>205</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr3/openPower_vndr_sample.xml b/examples/p8/memcard4_ddr3/openPower_vndr_sample.xml
new file mode 100644
index 0000000..f8d6438
--- /dev/null
+++ b/examples/p8/memcard4_ddr3/openPower_vndr_sample.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VNDR">
+ <rdesc>The VNDR record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VNDR</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Vendor Specific Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>128</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr3/openPower_vrtn_sample.xml b/examples/p8/memcard4_ddr3/openPower_vrtn_sample.xml
new file mode 100644
index 0000000..4c2a97e
--- /dev/null
+++ b/examples/p8/memcard4_ddr3/openPower_vrtn_sample.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VRTN">
+ <rdesc>The VRTN record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VRTN</kwdata>
+ </keyword>
+
+ <keyword name="SO">
+ <kwdesc>The SO keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Free Space for Sofware Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>254</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="I2">
+ <kwdesc>Additional Free Space for Sofware Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>254</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr4/memcard4_ddr4.tvpd b/examples/p8/memcard4_ddr4/memcard4_ddr4.tvpd
new file mode 100644
index 0000000..7e23ef7
--- /dev/null
+++ b/examples/p8/memcard4_ddr4/memcard4_ddr4.tvpd
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<vpd>
+ <!-- OpenPower DDR4 Memory Riser Card with 2 to 4 memory buffers -->
+
+ <name>FILENAME</name>
+ <size>16kb</size>
+ <VD>01</VD>
+
+ <record name="VINI">
+ <rtvpdfile>openPower_vini_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="OPFR">
+ <rtvpdfile>openPower_opfr_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VNDR">
+ <rtvpdfile>openPower_vndr_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="SPDX">
+ <rtvpdfile>openPower_spdx_membuf4_ddr4_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VEIR">
+ <rtvpdfile>openPower_veir_MCsample.xml</rtvpdfile>
+ </record>
+
+ <record name="VER0">
+ <rtvpdfile>openPower_ver0_MCsample.xml</rtvpdfile>
+ </record>
+
+ <record name="MER0">
+ <rtvpdfile>openPower_mer0_MCsample.xml</rtvpdfile>
+ </record>
+
+ <record name="VMSC">
+ <rtvpdfile>openPower_vmsc_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VRTN">
+ <rtvpdfile>openPower_vrtn_sample.xml</rtvpdfile>
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr4/openPower_mer0_MCsample.xml b/examples/p8/memcard4_ddr4/openPower_mer0_MCsample.xml
new file mode 100644
index 0000000..b139c06
--- /dev/null
+++ b/examples/p8/memcard4_ddr4/openPower_mer0_MCsample.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="MER0">
+ <rdesc>The Manufacturing repair data record for Memriser</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>MER0</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>48</kwlen>
+ <kwdata>01040800</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr4/openPower_opfr_sample.xml b/examples/p8/memcard4_ddr4/openPower_opfr_sample.xml
new file mode 100644
index 0000000..efe5d38
--- /dev/null
+++ b/examples/p8/memcard4_ddr4/openPower_opfr_sample.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="OPFR">
+ <rdesc>The OPFR record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>OPFR</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="VN">
+ <kwdesc>Vendor Name</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>FRU Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>xxxGB DDR4 MEMCD</kwdata>
+ </keyword>
+
+ <keyword name="VP">
+ <kwdesc>Card Part Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="VS">
+ <kwdesc>Card Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr4/openPower_spdx_membuf4_ddr4_sample.xml b/examples/p8/memcard4_ddr4/openPower_spdx_membuf4_ddr4_sample.xml
new file mode 100644
index 0000000..7d753d2
--- /dev/null
+++ b/examples/p8/memcard4_ddr4/openPower_spdx_membuf4_ddr4_sample.xml
@@ -0,0 +1,200 @@
+<?xml version="1.0"?>
+<vpd>
+
+
+ <record name="SPDX">
+ <rdesc>DDR4 Memory data record for 2-4 Centaurs</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>SPDX</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>05</kwdata>
+ </keyword>
+
+ <keyword name="VM">
+ <kwdesc>Memory data version keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>00000000</kwdata>
+ </keyword>
+
+ <keyword name="DW">
+ <kwdesc>Memory Buffer Voltage keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>0000</kwdata>
+ </keyword>
+
+ <keyword name="MX">
+ <kwdesc>Bank Delete keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>64</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M0">
+ <kwdesc>MR Centaur Mappter (Centaur MRUID)Delete keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M1">
+ <kwdesc>First set of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M2">
+ <kwdesc>Second set of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M3">
+ <kwdesc>Third set of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M4">
+ <kwdesc>Fourth set of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="#1">
+ <kwdesc>First set of MT data keyword (1 dimm 1 rank)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>384</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="#Z">
+ <kwdesc>Second set of MT data (1 dimm 2 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>384</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="#4">
+ <kwdesc>Third set of MT data (1 dimm 4 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>384</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="#5">
+ <kwdesc>Fourth set of MT data keyword (2 dimms 1 rank)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>384</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="#6">
+ <kwdesc>Fifth set of MT data keyword (2 dimms 2 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>384</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="#8">
+ <kwdesc>Sixth set of MT data keyword (2 dimms 4 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>384</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q0">
+ <kwdesc>DQ Data mapper-Memory Buffer MRUID</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q1">
+ <kwdesc>First set of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q2">
+ <kwdesc>Second set of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q3">
+ <kwdesc>Third set of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q4">
+ <kwdesc>Fourth set of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K0">
+ <kwdesc>DQS Data mapper-Memory Buffer MRUID</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K1">
+ <kwdesc>First set of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K2">
+ <kwdesc>Second set of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K3">
+ <kwdesc>Third set of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K4">
+ <kwdesc>Fourth set of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="LR">
+ <kwdesc>LR memory Attributions</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
+
diff --git a/examples/p8/memcard4_ddr4/openPower_veir_MCsample.xml b/examples/p8/memcard4_ddr4/openPower_veir_MCsample.xml
new file mode 100644
index 0000000..5948a09
--- /dev/null
+++ b/examples/p8/memcard4_ddr4/openPower_veir_MCsample.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<vpd>
+ <record name="VEIR">
+ <rdesc>The Field repair data record for Memriser</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VEIR</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>01041400</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr4/openPower_ver0_MCsample.xml b/examples/p8/memcard4_ddr4/openPower_ver0_MCsample.xml
new file mode 100644
index 0000000..933c01c
--- /dev/null
+++ b/examples/p8/memcard4_ddr4/openPower_ver0_MCsample.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<vpd>
+ <record name="VER0">
+ <rdesc>The Vendor repair data record for Memriser</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VER0</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>48</kwlen>
+ <kwdata>01040800</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr4/openPower_vini_sample.xml b/examples/p8/memcard4_ddr4/openPower_vini_sample.xml
new file mode 100644
index 0000000..9245886
--- /dev/null
+++ b/examples/p8/memcard4_ddr4/openPower_vini_sample.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VINI">
+ <rdesc>Initial VPD Record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VINI</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>xxxGB DDR4 MEMCD</kwdata>
+ </keyword>
+
+ <keyword name="CE">
+ <kwdesc>CCIN Extension</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>1</kwdata>
+ </keyword>
+
+ <keyword name="VZ">
+ <kwdesc>Overall VPD version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="FN">
+ <kwdesc>FRU Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>7</kwlen>
+ <kwdata>0000000</kwdata>
+ </keyword>
+
+ <keyword name="PN">
+ <kwdesc>Card Part Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>7</kwlen>
+ <kwdata>0000000</kwdata>
+ </keyword>
+
+ <keyword name="SN">
+ <kwdesc>Card Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>12</kwlen>
+ <kwdata>000000000000</kwdata>
+ </keyword>
+
+ <keyword name="CC">
+ <kwdesc>Card CCIN Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>P0XX</kwdata>
+ </keyword>
+
+ <keyword name="HE">
+ <kwdesc>Hardware EC</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>0001</kwdata>
+ </keyword>
+
+ <keyword name="CT">
+ <kwdesc>Card Type</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>00000000</kwdata>
+ </keyword>
+
+ <keyword name="HW">
+ <kwdesc>Hardware Level</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>0001</kwdata>
+ </keyword>
+
+ <keyword name="B3">
+ <kwdesc>Hardware Characteristics</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>6</kwlen>
+ <kwdata>000000000001</kwdata>
+ </keyword>
+
+ <keyword name="B4">
+ <kwdesc>Manufacturing FRU Control</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="B7">
+ <kwdesc>Hardware Level</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>12</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr4/openPower_vmsc_sample.xml b/examples/p8/memcard4_ddr4/openPower_vmsc_sample.xml
new file mode 100644
index 0000000..cc65fbd
--- /dev/null
+++ b/examples/p8/memcard4_ddr4/openPower_vmsc_sample.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VMSC">
+ <rdesc>The VMSC record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VMSC</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Free Space for Software Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>205</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr4/openPower_vndr_sample.xml b/examples/p8/memcard4_ddr4/openPower_vndr_sample.xml
new file mode 100644
index 0000000..f8d6438
--- /dev/null
+++ b/examples/p8/memcard4_ddr4/openPower_vndr_sample.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VNDR">
+ <rdesc>The VNDR record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VNDR</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Vendor Specific Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>128</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/memcard4_ddr4/openPower_vrtn_sample.xml b/examples/p8/memcard4_ddr4/openPower_vrtn_sample.xml
new file mode 100644
index 0000000..4c2a97e
--- /dev/null
+++ b/examples/p8/memcard4_ddr4/openPower_vrtn_sample.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VRTN">
+ <rdesc>The VRTN record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VRTN</kwdata>
+ </keyword>
+
+ <keyword name="SO">
+ <kwdesc>The SO keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Free Space for Sofware Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>254</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="I2">
+ <kwdesc>Additional Free Space for Sofware Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>254</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar/openPower_mer0_sample.xml b/examples/p8/sysplanar/openPower_mer0_sample.xml
new file mode 100644
index 0000000..b70f1bc
--- /dev/null
+++ b/examples/p8/sysplanar/openPower_mer0_sample.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="MER0">
+ <rdesc>The Manufacturing repair data record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>MER0</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>320</kwlen>
+ <kwdata>01044E00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar/openPower_opfr_sample.xml b/examples/p8/sysplanar/openPower_opfr_sample.xml
new file mode 100644
index 0000000..95680a7
--- /dev/null
+++ b/examples/p8/sysplanar/openPower_opfr_sample.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="OPFR">
+ <rdesc>The OPFR record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>OPFR</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="VN">
+ <kwdesc>Vendor Name</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>FRU Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>SYSTEM PLANAR </kwdata>
+ </keyword>
+
+ <keyword name="VP">
+ <kwdesc>Card Part Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="VS">
+ <kwdesc>Card Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar/openPower_osys_sample.xml b/examples/p8/sysplanar/openPower_osys_sample.xml
new file mode 100644
index 0000000..c2c1c62
--- /dev/null
+++ b/examples/p8/sysplanar/openPower_osys_sample.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="OSYS">
+ <rdesc>The OpenPower System Record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>OSYS</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>FRU Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>SYSTEM </kwdata>
+ </keyword>
+
+ <keyword name="MM">
+ <kwdesc>Machine Type Model</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="SS">
+ <kwdesc>System Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="ET">
+ <kwdesc>Enclosure Type</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>02</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar/openPower_veir_sample.xml b/examples/p8/sysplanar/openPower_veir_sample.xml
new file mode 100644
index 0000000..6d16f6d
--- /dev/null
+++ b/examples/p8/sysplanar/openPower_veir_sample.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<vpd>
+ <record name="VEIR">
+ <rdesc>The Field repair data record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VEIR</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>788</kwlen>
+ <kwdata>0104C300</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar/openPower_ver0_sample.xml b/examples/p8/sysplanar/openPower_ver0_sample.xml
new file mode 100644
index 0000000..f4b7a2e
--- /dev/null
+++ b/examples/p8/sysplanar/openPower_ver0_sample.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<vpd>
+ <record name="VER0">
+ <rdesc>The Vendor repair data record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VER0</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>320</kwlen>
+ <kwdata>01044E00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar/openPower_vini_sample.xml b/examples/p8/sysplanar/openPower_vini_sample.xml
new file mode 100644
index 0000000..5c2265a
--- /dev/null
+++ b/examples/p8/sysplanar/openPower_vini_sample.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VINI">
+ <rdesc>Initial VPD Record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VINI</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>SYSTEM PLANAR </kwdata>
+ </keyword>
+
+ <keyword name="CE">
+ <kwdesc>CCIN Extension</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>1</kwdata>
+ </keyword>
+
+ <keyword name="VZ">
+ <kwdesc>Overall VPD version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="FN">
+ <kwdesc>FRU Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>7</kwlen>
+ <kwdata>0000000</kwdata>
+ </keyword>
+
+ <keyword name="PN">
+ <kwdesc>Card Part Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>7</kwlen>
+ <kwdata>0000000</kwdata>
+ </keyword>
+
+ <keyword name="SN">
+ <kwdesc>Card Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>12</kwlen>
+ <kwdata>000000000000</kwdata>
+ </keyword>
+
+ <keyword name="CC">
+ <kwdesc>Card CCIN Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>P0XX</kwdata>
+ </keyword>
+
+ <keyword name="HE">
+ <kwdesc>Hardware EC</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>0001</kwdata>
+ </keyword>
+
+ <keyword name="CT">
+ <kwdesc>Card Type</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>00000000</kwdata>
+ </keyword>
+
+ <keyword name="HW">
+ <kwdesc>Hardware Level</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>0001</kwdata>
+ </keyword>
+
+ <keyword name="B3">
+ <kwdesc>Hardware Characteristics</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>6</kwlen>
+ <kwdata>000000000001</kwdata>
+ </keyword>
+
+ <keyword name="B4">
+ <kwdesc>Manufacturing FRU Control</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="B7">
+ <kwdesc>Hardware Level</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>12</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar/openPower_vmsc_sample.xml b/examples/p8/sysplanar/openPower_vmsc_sample.xml
new file mode 100644
index 0000000..cc65fbd
--- /dev/null
+++ b/examples/p8/sysplanar/openPower_vmsc_sample.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VMSC">
+ <rdesc>The VMSC record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VMSC</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Free Space for Software Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>205</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar/openPower_vndr_sample.xml b/examples/p8/sysplanar/openPower_vndr_sample.xml
new file mode 100644
index 0000000..f8d6438
--- /dev/null
+++ b/examples/p8/sysplanar/openPower_vndr_sample.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VNDR">
+ <rdesc>The VNDR record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VNDR</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Vendor Specific Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>128</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar/openPower_vrtn_sample.xml b/examples/p8/sysplanar/openPower_vrtn_sample.xml
new file mode 100644
index 0000000..4c2a97e
--- /dev/null
+++ b/examples/p8/sysplanar/openPower_vrtn_sample.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VRTN">
+ <rdesc>The VRTN record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VRTN</kwdata>
+ </keyword>
+
+ <keyword name="SO">
+ <kwdesc>The SO keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Free Space for Sofware Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>254</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="I2">
+ <kwdesc>Additional Free Space for Sofware Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>254</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar/sysplanar.tvpd b/examples/p8/sysplanar/sysplanar.tvpd
new file mode 100644
index 0000000..0cbb258
--- /dev/null
+++ b/examples/p8/sysplanar/sysplanar.tvpd
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<vpd>
+ <!-- OpenPower system Planar with no memory buffer -->
+ <!-- This card will be using with memory riser card -->
+ <!-- and memory buffer/buffers are on the riser card -->
+
+ <name>FILENAME</name>
+ <size>16kb</size>
+ <VD>01</VD>
+
+ <record name="VINI">
+ <rtvpdfile>openPower_vini_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="OSYS">
+ <rtvpdfile>openPower_osys_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="OPFR">
+ <rtvpdfile>openPower_opfr_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VNDR">
+ <rtvpdfile>openPower_vndr_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VEIR">
+ <rtvpdfile>openPower_veir_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VER0">
+ <rtvpdfile>openPower_ver0_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="MER0">
+ <rtvpdfile>openPower_mer0_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VMSC">
+ <rtvpdfile>openPower_vmsc_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VRTN">
+ <rtvpdfile>openPower_vrtn_sample.xml</rtvpdfile>
+ </record>
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr3/openPower_mer0_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_mer0_sample.xml
new file mode 100644
index 0000000..b70f1bc
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr3/openPower_mer0_sample.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="MER0">
+ <rdesc>The Manufacturing repair data record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>MER0</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>320</kwlen>
+ <kwdata>01044E00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr3/openPower_opfr_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_opfr_sample.xml
new file mode 100644
index 0000000..95680a7
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr3/openPower_opfr_sample.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="OPFR">
+ <rdesc>The OPFR record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>OPFR</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="VN">
+ <kwdesc>Vendor Name</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>FRU Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>SYSTEM PLANAR </kwdata>
+ </keyword>
+
+ <keyword name="VP">
+ <kwdesc>Card Part Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="VS">
+ <kwdesc>Card Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr3/openPower_osys_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_osys_sample.xml
new file mode 100644
index 0000000..c2c1c62
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr3/openPower_osys_sample.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="OSYS">
+ <rdesc>The OpenPower System Record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>OSYS</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>FRU Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>SYSTEM </kwdata>
+ </keyword>
+
+ <keyword name="MM">
+ <kwdesc>Machine Type Model</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="SS">
+ <kwdesc>System Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="ET">
+ <kwdesc>Enclosure Type</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>02</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr3/openPower_spdx_membuf32_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_spdx_membuf32_sample.xml
new file mode 100644
index 0000000..5bf9a97
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr3/openPower_spdx_membuf32_sample.xml
@@ -0,0 +1,276 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="SPDX">
+ <rdesc>The Memory data record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>SPDX</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="VM">
+ <kwdesc>Memory data version keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>00000000</kwdata>
+ </keyword>
+
+ <keyword name="DW">
+ <kwdesc>Memory Buffer Voltage keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>0000</kwdata>
+ </keyword>
+
+ <keyword name="MX">
+ <kwdesc>Bank Delete keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>64</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M0">
+ <kwdesc>MR Centaur Mappter (Centaur MRUID)Delete keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M1">
+ <kwdesc>First copy of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M2">
+ <kwdesc>Second copy of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M3">
+ <kwdesc>Third copy of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M4">
+ <kwdesc>Fourth copy of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M5">
+ <kwdesc>Fifth copy of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M6">
+ <kwdesc>Sixth copy of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M7">
+ <kwdesc>Seventh copy of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M8">
+ <kwdesc>Eighth copy of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="T1">
+ <kwdesc>First copy of MT data keyword (1 dimm 1 rank)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="T2">
+ <kwdesc>Second copy of MT data (1 dimm 2 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="T4">
+ <kwdesc>Third copy of MT data (1 dimm 4 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="T5">
+ <kwdesc>Fourth copy of MT data keyword (2 dimm 1 rank)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="T6">
+ <kwdesc>Fifth copy of MT data keyword (2 dimm 2 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="T8">
+ <kwdesc>Sixth copy of MT data keyword (2 dimm 4 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q0">
+ <kwdesc>DQ Data mapper-Memory Buffer MRUID</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q1">
+ <kwdesc>First copy of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q2">
+ <kwdesc>Second copy of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q3">
+ <kwdesc>Third copy of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q4">
+ <kwdesc>Fourth copy of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q5">
+ <kwdesc>Fifth copy of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q6">
+ <kwdesc>Sixth copy of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q7">
+ <kwdesc>Seventh copy of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q8">
+ <kwdesc>Eighth copy of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K0">
+ <kwdesc>DQS Data mapper-Memory Buffer MRUID</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K1">
+ <kwdesc>First copy of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K2">
+ <kwdesc>Second copy of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K3">
+ <kwdesc>Third copy of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K4">
+ <kwdesc>Fourth copy of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K5">
+ <kwdesc>Fifth copy of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K6">
+ <kwdesc>Sixth copy of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K7">
+ <kwdesc>Seventh copy of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K8">
+ <kwdesc>Eighth copy of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
+
diff --git a/examples/p8/sysplanar32_ddr3/openPower_veir_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_veir_sample.xml
new file mode 100644
index 0000000..6d16f6d
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr3/openPower_veir_sample.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<vpd>
+ <record name="VEIR">
+ <rdesc>The Field repair data record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VEIR</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>788</kwlen>
+ <kwdata>0104C300</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr3/openPower_ver0_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_ver0_sample.xml
new file mode 100644
index 0000000..f4b7a2e
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr3/openPower_ver0_sample.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<vpd>
+ <record name="VER0">
+ <rdesc>The Vendor repair data record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VER0</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>320</kwlen>
+ <kwdata>01044E00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr3/openPower_vini_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_vini_sample.xml
new file mode 100644
index 0000000..5c2265a
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr3/openPower_vini_sample.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VINI">
+ <rdesc>Initial VPD Record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VINI</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>SYSTEM PLANAR </kwdata>
+ </keyword>
+
+ <keyword name="CE">
+ <kwdesc>CCIN Extension</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>1</kwdata>
+ </keyword>
+
+ <keyword name="VZ">
+ <kwdesc>Overall VPD version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="FN">
+ <kwdesc>FRU Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>7</kwlen>
+ <kwdata>0000000</kwdata>
+ </keyword>
+
+ <keyword name="PN">
+ <kwdesc>Card Part Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>7</kwlen>
+ <kwdata>0000000</kwdata>
+ </keyword>
+
+ <keyword name="SN">
+ <kwdesc>Card Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>12</kwlen>
+ <kwdata>000000000000</kwdata>
+ </keyword>
+
+ <keyword name="CC">
+ <kwdesc>Card CCIN Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>P0XX</kwdata>
+ </keyword>
+
+ <keyword name="HE">
+ <kwdesc>Hardware EC</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>0001</kwdata>
+ </keyword>
+
+ <keyword name="CT">
+ <kwdesc>Card Type</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>00000000</kwdata>
+ </keyword>
+
+ <keyword name="HW">
+ <kwdesc>Hardware Level</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>0001</kwdata>
+ </keyword>
+
+ <keyword name="B3">
+ <kwdesc>Hardware Characteristics</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>6</kwlen>
+ <kwdata>000000000001</kwdata>
+ </keyword>
+
+ <keyword name="B4">
+ <kwdesc>Manufacturing FRU Control</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="B7">
+ <kwdesc>Hardware Level</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>12</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr3/openPower_vmsc_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_vmsc_sample.xml
new file mode 100644
index 0000000..cc65fbd
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr3/openPower_vmsc_sample.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VMSC">
+ <rdesc>The VMSC record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VMSC</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Free Space for Software Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>205</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr3/openPower_vndr_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_vndr_sample.xml
new file mode 100644
index 0000000..f8d6438
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr3/openPower_vndr_sample.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VNDR">
+ <rdesc>The VNDR record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VNDR</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Vendor Specific Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>128</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr3/openPower_vrtn_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_vrtn_sample.xml
new file mode 100644
index 0000000..4c2a97e
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr3/openPower_vrtn_sample.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VRTN">
+ <rdesc>The VRTN record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VRTN</kwdata>
+ </keyword>
+
+ <keyword name="SO">
+ <kwdesc>The SO keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Free Space for Sofware Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>254</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="I2">
+ <kwdesc>Additional Free Space for Sofware Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>254</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr3/sysplanar32_ddr3.tvpd b/examples/p8/sysplanar32_ddr3/sysplanar32_ddr3.tvpd
new file mode 100644
index 0000000..9959356
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr3/sysplanar32_ddr3.tvpd
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<vpd>
+ <!-- OpenPower system planar with upto 32 memory buffers on the card -->
+ <!-- DDR3 ISDIMM will be plugged onto this system board -->
+
+ <name>FILENAME</name>
+ <size>16kb</size>
+ <VD>01</VD>
+
+ <record name="VINI">
+ <rtvpdfile>openPower_vini_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="OSYS">
+ <rtvpdfile>openPower_osys_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="OPFR">
+ <rtvpdfile>openPower_opfr_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VNDR">
+ <rtvpdfile>openPower_vndr_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="SPDX">
+ <rtvpdfile>openPower_spdx_membuf32_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VEIR">
+ <rtvpdfile>openPower_veir_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VER0">
+ <rtvpdfile>openPower_ver0_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="MER0">
+ <rtvpdfile>openPower_mer0_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VMSC">
+ <rtvpdfile>openPower_vmsc_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VRTN">
+ <rtvpdfile>openPower_vrtn_sample.xml</rtvpdfile>
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr4/openPower_mer0_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_mer0_sample.xml
new file mode 100644
index 0000000..b70f1bc
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr4/openPower_mer0_sample.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="MER0">
+ <rdesc>The Manufacturing repair data record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>MER0</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>320</kwlen>
+ <kwdata>01044E00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr4/openPower_opfr_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_opfr_sample.xml
new file mode 100644
index 0000000..95680a7
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr4/openPower_opfr_sample.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="OPFR">
+ <rdesc>The OPFR record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>OPFR</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="VN">
+ <kwdesc>Vendor Name</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>FRU Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>SYSTEM PLANAR </kwdata>
+ </keyword>
+
+ <keyword name="VP">
+ <kwdesc>Card Part Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="VS">
+ <kwdesc>Card Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr4/openPower_osys_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_osys_sample.xml
new file mode 100644
index 0000000..c2c1c62
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr4/openPower_osys_sample.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="OSYS">
+ <rdesc>The OpenPower System Record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>OSYS</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>FRU Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>SYSTEM </kwdata>
+ </keyword>
+
+ <keyword name="MM">
+ <kwdesc>Machine Type Model</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="SS">
+ <kwdesc>System Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ <keyword name="ET">
+ <kwdesc>Enclosure Type</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>02</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr4/openPower_spdx_membuf32_ddr4_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_spdx_membuf32_ddr4_sample.xml
new file mode 100644
index 0000000..160a192
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr4/openPower_spdx_membuf32_ddr4_sample.xml
@@ -0,0 +1,283 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="SPDX">
+ <rdesc>DDR4 Memory data record for upto 32 Centaurs</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>SPDX</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>06</kwdata>
+ </keyword>
+
+ <keyword name="VM">
+ <kwdesc>Memory data version keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>00000000</kwdata>
+ </keyword>
+
+ <keyword name="DW">
+ <kwdesc>Memory Buffer Voltage keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>0000</kwdata>
+ </keyword>
+
+ <keyword name="MX">
+ <kwdesc>Bank Delete keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>64</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M0">
+ <kwdesc>MR Centaur Mappter (Centaur MRUID)Delete keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M1">
+ <kwdesc>First set of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M2">
+ <kwdesc>Second set of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M3">
+ <kwdesc>Third set of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M4">
+ <kwdesc>Fourth set of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M5">
+ <kwdesc>Fifth set of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M6">
+ <kwdesc>Sixth set of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M7">
+ <kwdesc>Seventh set of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="M8">
+ <kwdesc>Eighth set of MR data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="#1">
+ <kwdesc>First set of MT data keyword (1 dimm 1 rank)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>384</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="#Z">
+ <kwdesc>Second set of MT data (1 dimm 2 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>384</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="#4">
+ <kwdesc>Third set of MT data (1 dimm 4 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>384</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="#5">
+ <kwdesc>Fourth set of MT data keyword (2 dimms 1 rank)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>384</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="#6">
+ <kwdesc>Fifth set of MT data keyword (2 dimms 2 ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>384</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="#8">
+ <kwdesc>Sixth set of MT data keyword (2 dimms ranks)</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>384</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q0">
+ <kwdesc>DQ Data mapper-Memory Buffer MRUID</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q1">
+ <kwdesc>First set of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q2">
+ <kwdesc>Second set of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q3">
+ <kwdesc>Third set of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q4">
+ <kwdesc>Fourth set of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q5">
+ <kwdesc>Fifth set of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q6">
+ <kwdesc>Sixth set of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q7">
+ <kwdesc>Seventh set of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="Q8">
+ <kwdesc>Eighth set of DQ</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>96</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K0">
+ <kwdesc>DQS Data mapper-Memory Buffer MRUID</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K1">
+ <kwdesc>First set of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K2">
+ <kwdesc>Second set of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K3">
+ <kwdesc>Third set of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K4">
+ <kwdesc>Fourth set of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K5">
+ <kwdesc>Fifth set of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K6">
+ <kwdesc>Sixth set of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K7">
+ <kwdesc>Seventh set of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="K8">
+ <kwdesc>Eighth set of DQS</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>32</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="LR">
+ <kwdesc>LR Attributes</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
+
diff --git a/examples/p8/sysplanar32_ddr4/openPower_veir_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_veir_sample.xml
new file mode 100644
index 0000000..6d16f6d
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr4/openPower_veir_sample.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<vpd>
+ <record name="VEIR">
+ <rdesc>The Field repair data record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VEIR</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>788</kwlen>
+ <kwdata>0104C300</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr4/openPower_ver0_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_ver0_sample.xml
new file mode 100644
index 0000000..f4b7a2e
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr4/openPower_ver0_sample.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<vpd>
+ <record name="VER0">
+ <rdesc>The Vendor repair data record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VER0</kwdata>
+ </keyword>
+
+ <keyword name="#I">
+ <kwdesc>Repair Data </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>320</kwlen>
+ <kwdata>01044E00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr4/openPower_vini_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_vini_sample.xml
new file mode 100644
index 0000000..5c2265a
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr4/openPower_vini_sample.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VINI">
+ <rdesc>Initial VPD Record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VINI</kwdata>
+ </keyword>
+
+ <keyword name="DR">
+ <kwdesc>Description</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>16</kwlen>
+ <kwdata>SYSTEM PLANAR </kwdata>
+ </keyword>
+
+ <keyword name="CE">
+ <kwdesc>CCIN Extension</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>1</kwdata>
+ </keyword>
+
+ <keyword name="VZ">
+ <kwdesc>Overall VPD version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="FN">
+ <kwdesc>FRU Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>7</kwlen>
+ <kwdata>0000000</kwdata>
+ </keyword>
+
+ <keyword name="PN">
+ <kwdesc>Card Part Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>7</kwlen>
+ <kwdata>0000000</kwdata>
+ </keyword>
+
+ <keyword name="SN">
+ <kwdesc>Card Serial Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>12</kwlen>
+ <kwdata>000000000000</kwdata>
+ </keyword>
+
+ <keyword name="CC">
+ <kwdesc>Card CCIN Number</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>P0XX</kwdata>
+ </keyword>
+
+ <keyword name="HE">
+ <kwdesc>Hardware EC</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>0001</kwdata>
+ </keyword>
+
+ <keyword name="CT">
+ <kwdesc>Card Type</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>00000000</kwdata>
+ </keyword>
+
+ <keyword name="HW">
+ <kwdesc>Hardware Level</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>0001</kwdata>
+ </keyword>
+
+ <keyword name="B3">
+ <kwdesc>Hardware Characteristics</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>6</kwlen>
+ <kwdata>000000000001</kwdata>
+ </keyword>
+
+ <keyword name="B4">
+ <kwdesc>Manufacturing FRU Control</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>1</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="B7">
+ <kwdesc>Hardware Level</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>12</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr4/openPower_vmsc_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_vmsc_sample.xml
new file mode 100644
index 0000000..cc65fbd
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr4/openPower_vmsc_sample.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VMSC">
+ <rdesc>The VMSC record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VMSC</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Free Space for Software Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>205</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr4/openPower_vndr_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_vndr_sample.xml
new file mode 100644
index 0000000..f8d6438
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr4/openPower_vndr_sample.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VNDR">
+ <rdesc>The VNDR record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VNDR</kwdata>
+ </keyword>
+
+ <keyword name="VD">
+ <kwdesc>Record Version</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>01</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Vendor Specific Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>128</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr4/openPower_vrtn_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_vrtn_sample.xml
new file mode 100644
index 0000000..4c2a97e
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr4/openPower_vrtn_sample.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="VRTN">
+ <rdesc>The VRTN record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VRTN</kwdata>
+ </keyword>
+
+ <keyword name="SO">
+ <kwdesc>The SO keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>2</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="IN">
+ <kwdesc>Free Space for Sofware Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>254</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="I2">
+ <kwdesc>Additional Free Space for Sofware Data</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>254</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p8/sysplanar32_ddr4/sysplanar32_ddr4.tvpd b/examples/p8/sysplanar32_ddr4/sysplanar32_ddr4.tvpd
new file mode 100644
index 0000000..c48db63
--- /dev/null
+++ b/examples/p8/sysplanar32_ddr4/sysplanar32_ddr4.tvpd
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<vpd>
+ <!-- OpenPower system Planar with upto 32 memory buffers on the card -->
+ <!-- DDR4 ISDIMMs are plugged onto this system board -->
+
+ <name>FILENAME</name>
+ <size>16kb</size>
+ <VD>01</VD>
+
+ <record name="VINI">
+ <rtvpdfile>openPower_vini_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="OSYS">
+ <rtvpdfile>openPower_osys_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="OPFR">
+ <rtvpdfile>openPower_opfr_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VNDR">
+ <rtvpdfile>openPower_vndr_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="SPDX">
+ <rtvpdfile>openPower_spdx_membuf32_ddr4_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VEIR">
+ <rtvpdfile>openPower_veir_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VER0">
+ <rtvpdfile>openPower_ver0_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="MER0">
+ <rtvpdfile>openPower_mer0_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VMSC">
+ <rtvpdfile>openPower_vmsc_sample.xml</rtvpdfile>
+ </record>
+
+ <record name="VRTN">
+ <rtvpdfile>openPower_vrtn_sample.xml</rtvpdfile>
+ </record>
+
+</vpd>
OpenPOWER on IntegriCloud