summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMichael Lim <youhour@us.ibm.com>2016-10-04 14:59:13 -0500
committerGitHub <noreply@github.com>2016-10-04 14:59:13 -0500
commit90b04d63fb4d236990e2834aeada410619bcee85 (patch)
tree3224beac82f34353ddf34a34bca731625c676cb4 /examples
parent00aa62ffd7a0f354b46ba15a67933d0339466a07 (diff)
parent1ad5b8331b9a3c4b784d70b482d129d807421036 (diff)
downloadvpdtools-90b04d63fb4d236990e2834aeada410619bcee85.tar.gz
vpdtools-90b04d63fb4d236990e2834aeada410619bcee85.zip
Merge pull request #1 from open-power/master
update
Diffstat (limited to 'examples')
-rw-r--r--examples/README26
-rw-r--r--examples/comments/comments.tvpd32
-rw-r--r--examples/mixeddata/mixeddata.tvpd35
-rw-r--r--examples/p8/memcard1_ddr3/memcard1_ddr3.tvpd (renamed from examples/memcard1_ddr3/memcard1_ddr3.tvpd)0
-rw-r--r--examples/p8/memcard1_ddr3/openPower_mer0_MCsample.xml (renamed from examples/memcard1_ddr3/openPower_mer0_MCsample.xml)0
-rw-r--r--examples/p8/memcard1_ddr3/openPower_opfr_sample.xml (renamed from examples/memcard1_ddr3/openPower_opfr_sample.xml)0
-rw-r--r--examples/p8/memcard1_ddr3/openPower_spdx_membuf1_sample.xml (renamed from examples/memcard1_ddr3/openPower_spdx_membuf1_sample.xml)0
-rw-r--r--examples/p8/memcard1_ddr3/openPower_veir_MCsample.xml (renamed from examples/memcard1_ddr3/openPower_veir_MCsample.xml)0
-rw-r--r--examples/p8/memcard1_ddr3/openPower_ver0_MCsample.xml (renamed from examples/memcard1_ddr3/openPower_ver0_MCsample.xml)0
-rw-r--r--examples/p8/memcard1_ddr3/openPower_vini_sample.xml (renamed from examples/memcard1_ddr3/openPower_vini_sample.xml)0
-rw-r--r--examples/p8/memcard1_ddr3/openPower_vmsc_sample.xml (renamed from examples/memcard1_ddr3/openPower_vmsc_sample.xml)0
-rw-r--r--examples/p8/memcard1_ddr3/openPower_vndr_sample.xml (renamed from examples/memcard1_ddr3/openPower_vndr_sample.xml)0
-rw-r--r--examples/p8/memcard1_ddr3/openPower_vrtn_sample.xml (renamed from examples/memcard1_ddr3/openPower_vrtn_sample.xml)0
-rw-r--r--examples/p8/memcard1_ddr4/memcard1_ddr4.tvpd (renamed from examples/memcard1_ddr4/memcard1_ddr4.tvpd)0
-rw-r--r--examples/p8/memcard1_ddr4/openPower_mer0_MCsample.xml (renamed from examples/memcard1_ddr4/openPower_mer0_MCsample.xml)0
-rw-r--r--examples/p8/memcard1_ddr4/openPower_opfr_sample.xml (renamed from examples/memcard1_ddr4/openPower_opfr_sample.xml)0
-rw-r--r--examples/p8/memcard1_ddr4/openPower_spdx_membuf1_ddr4_sample.xml (renamed from examples/memcard1_ddr4/openPower_spdx_membuf1_ddr4_sample.xml)0
-rw-r--r--examples/p8/memcard1_ddr4/openPower_veir_MCsample.xml (renamed from examples/memcard1_ddr4/openPower_veir_MCsample.xml)0
-rw-r--r--examples/p8/memcard1_ddr4/openPower_ver0_MCsample.xml (renamed from examples/memcard1_ddr4/openPower_ver0_MCsample.xml)0
-rw-r--r--examples/p8/memcard1_ddr4/openPower_vini_sample.xml (renamed from examples/memcard1_ddr4/openPower_vini_sample.xml)0
-rw-r--r--examples/p8/memcard1_ddr4/openPower_vmsc_sample.xml (renamed from examples/memcard1_ddr4/openPower_vmsc_sample.xml)0
-rw-r--r--examples/p8/memcard1_ddr4/openPower_vndr_sample.xml (renamed from examples/memcard1_ddr4/openPower_vndr_sample.xml)0
-rw-r--r--examples/p8/memcard1_ddr4/openPower_vrtn_sample.xml (renamed from examples/memcard1_ddr4/openPower_vrtn_sample.xml)0
-rw-r--r--examples/p8/memcard4_ddr3/memcard4_ddr3.tvpd (renamed from examples/memcard4_ddr3/memcard4_ddr3.tvpd)0
-rw-r--r--examples/p8/memcard4_ddr3/openPower_mer0_MCsample.xml (renamed from examples/memcard4_ddr3/openPower_mer0_MCsample.xml)0
-rw-r--r--examples/p8/memcard4_ddr3/openPower_opfr_sample.xml (renamed from examples/memcard4_ddr3/openPower_opfr_sample.xml)0
-rw-r--r--examples/p8/memcard4_ddr3/openPower_spdx_membuf4_sample.xml (renamed from examples/memcard4_ddr3/openPower_spdx_membuf4_sample.xml)0
-rw-r--r--examples/p8/memcard4_ddr3/openPower_veir_MCsample.xml (renamed from examples/memcard4_ddr3/openPower_veir_MCsample.xml)0
-rw-r--r--examples/p8/memcard4_ddr3/openPower_ver0_MCsample.xml (renamed from examples/memcard4_ddr3/openPower_ver0_MCsample.xml)0
-rw-r--r--examples/p8/memcard4_ddr3/openPower_vini_sample.xml (renamed from examples/memcard4_ddr3/openPower_vini_sample.xml)0
-rw-r--r--examples/p8/memcard4_ddr3/openPower_vmsc_sample.xml (renamed from examples/memcard4_ddr3/openPower_vmsc_sample.xml)0
-rw-r--r--examples/p8/memcard4_ddr3/openPower_vndr_sample.xml (renamed from examples/memcard4_ddr3/openPower_vndr_sample.xml)0
-rw-r--r--examples/p8/memcard4_ddr3/openPower_vrtn_sample.xml (renamed from examples/memcard4_ddr3/openPower_vrtn_sample.xml)0
-rw-r--r--examples/p8/memcard4_ddr4/memcard4_ddr4.tvpd (renamed from examples/memcard4_ddr4/memcard4_ddr4.tvpd)0
-rw-r--r--examples/p8/memcard4_ddr4/openPower_mer0_MCsample.xml (renamed from examples/memcard4_ddr4/openPower_mer0_MCsample.xml)0
-rw-r--r--examples/p8/memcard4_ddr4/openPower_opfr_sample.xml (renamed from examples/memcard4_ddr4/openPower_opfr_sample.xml)0
-rw-r--r--examples/p8/memcard4_ddr4/openPower_spdx_membuf4_ddr4_sample.xml (renamed from examples/memcard4_ddr4/openPower_spdx_membuf4_ddr4_sample.xml)0
-rw-r--r--examples/p8/memcard4_ddr4/openPower_veir_MCsample.xml (renamed from examples/memcard4_ddr4/openPower_veir_MCsample.xml)0
-rw-r--r--examples/p8/memcard4_ddr4/openPower_ver0_MCsample.xml (renamed from examples/memcard4_ddr4/openPower_ver0_MCsample.xml)0
-rw-r--r--examples/p8/memcard4_ddr4/openPower_vini_sample.xml (renamed from examples/memcard4_ddr4/openPower_vini_sample.xml)0
-rw-r--r--examples/p8/memcard4_ddr4/openPower_vmsc_sample.xml (renamed from examples/memcard4_ddr4/openPower_vmsc_sample.xml)0
-rw-r--r--examples/p8/memcard4_ddr4/openPower_vndr_sample.xml (renamed from examples/memcard4_ddr4/openPower_vndr_sample.xml)0
-rw-r--r--examples/p8/memcard4_ddr4/openPower_vrtn_sample.xml (renamed from examples/memcard4_ddr4/openPower_vrtn_sample.xml)0
-rw-r--r--examples/p8/sysplanar/openPower_mer0_sample.xml (renamed from examples/sysplanar/openPower_mer0_sample.xml)0
-rw-r--r--examples/p8/sysplanar/openPower_opfr_sample.xml (renamed from examples/sysplanar/openPower_opfr_sample.xml)0
-rw-r--r--examples/p8/sysplanar/openPower_osys_sample.xml (renamed from examples/sysplanar/openPower_osys_sample.xml)0
-rw-r--r--examples/p8/sysplanar/openPower_veir_sample.xml (renamed from examples/sysplanar/openPower_veir_sample.xml)0
-rw-r--r--examples/p8/sysplanar/openPower_ver0_sample.xml (renamed from examples/sysplanar/openPower_ver0_sample.xml)0
-rw-r--r--examples/p8/sysplanar/openPower_vini_sample.xml (renamed from examples/sysplanar/openPower_vini_sample.xml)0
-rw-r--r--examples/p8/sysplanar/openPower_vmsc_sample.xml (renamed from examples/sysplanar/openPower_vmsc_sample.xml)0
-rw-r--r--examples/p8/sysplanar/openPower_vndr_sample.xml (renamed from examples/sysplanar/openPower_vndr_sample.xml)0
-rw-r--r--examples/p8/sysplanar/openPower_vrtn_sample.xml (renamed from examples/sysplanar/openPower_vrtn_sample.xml)0
-rw-r--r--examples/p8/sysplanar/sysplanar.tvpd (renamed from examples/sysplanar/sysplanar.tvpd)0
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_mer0_sample.xml (renamed from examples/sysplanar32_ddr3/openPower_mer0_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_opfr_sample.xml (renamed from examples/sysplanar32_ddr3/openPower_opfr_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_osys_sample.xml (renamed from examples/sysplanar32_ddr3/openPower_osys_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_spdx_membuf32_sample.xml (renamed from examples/sysplanar32_ddr3/openPower_spdx_membuf32_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_veir_sample.xml (renamed from examples/sysplanar32_ddr3/openPower_veir_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_ver0_sample.xml (renamed from examples/sysplanar32_ddr3/openPower_ver0_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_vini_sample.xml (renamed from examples/sysplanar32_ddr3/openPower_vini_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_vmsc_sample.xml (renamed from examples/sysplanar32_ddr3/openPower_vmsc_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_vndr_sample.xml (renamed from examples/sysplanar32_ddr3/openPower_vndr_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr3/openPower_vrtn_sample.xml (renamed from examples/sysplanar32_ddr3/openPower_vrtn_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr3/sysplanar32_ddr3.tvpd (renamed from examples/sysplanar32_ddr3/sysplanar32_ddr3.tvpd)0
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_mer0_sample.xml (renamed from examples/sysplanar32_ddr4/openPower_mer0_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_opfr_sample.xml (renamed from examples/sysplanar32_ddr4/openPower_opfr_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_osys_sample.xml (renamed from examples/sysplanar32_ddr4/openPower_osys_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_spdx_membuf32_ddr4_sample.xml (renamed from examples/sysplanar32_ddr4/openPower_spdx_membuf32_ddr4_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_veir_sample.xml (renamed from examples/sysplanar32_ddr4/openPower_veir_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_ver0_sample.xml (renamed from examples/sysplanar32_ddr4/openPower_ver0_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_vini_sample.xml (renamed from examples/sysplanar32_ddr4/openPower_vini_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_vmsc_sample.xml (renamed from examples/sysplanar32_ddr4/openPower_vmsc_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_vndr_sample.xml (renamed from examples/sysplanar32_ddr4/openPower_vndr_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr4/openPower_vrtn_sample.xml (renamed from examples/sysplanar32_ddr4/openPower_vrtn_sample.xml)0
-rw-r--r--examples/p8/sysplanar32_ddr4/sysplanar32_ddr4.tvpd (renamed from examples/sysplanar32_ddr4/sysplanar32_ddr4.tvpd)0
-rw-r--r--examples/p9/sysplanar32_ddr4/openPower_memd_sample.xml549
-rw-r--r--examples/p9/sysplanar32_ddr4/openPower_mer0_sample.xml23
-rw-r--r--examples/p9/sysplanar32_ddr4/openPower_opfr_sample.xml58
-rw-r--r--examples/p9/sysplanar32_ddr4/openPower_osys_sample.xml51
-rw-r--r--examples/p9/sysplanar32_ddr4/openPower_ver0_sample.xml22
-rw-r--r--examples/p9/sysplanar32_ddr4/openPower_vini_sample.xml107
-rw-r--r--examples/p9/sysplanar32_ddr4/openPower_vmsc_sample.xml23
-rw-r--r--examples/p9/sysplanar32_ddr4/openPower_vndr_sample.xml30
-rw-r--r--examples/p9/sysplanar32_ddr4/openPower_vrtn_sample.xml37
-rw-r--r--examples/p9/sysplanar32_ddr4/sysplanar32_ddr4.tvpd46
85 files changed, 1031 insertions, 8 deletions
diff --git a/examples/README b/examples/README
index 10f7a5a..3822563 100644
--- a/examples/README
+++ b/examples/README
@@ -1,33 +1,43 @@
Full Image Examples
===================
-memcard1_ddr3: This is an example of a VPD template for a DDR3 memory riser
+Power8 FRU VPD example:
+======================
+
+p8/memcard1_ddr3: This is an example of a VPD template for a DDR3 memory riser
card with a single memory buffer(Centaur).
-memcard4_ddr3: This is an example of a VPD template for a DDR3 memory riser
+p8/memcard4_ddr3: This is an example of a VPD template for a DDR3 memory riser
card with 2 to 4 memory buffer (Centaurs).
-memcard1_ddr4: This is an example of a VPD template for a DDR4 memory riser
+p8/memcard1_ddr4: This is an example of a VPD template for a DDR4 memory riser
card with a single memory buffer(Centaur).
-memcard4_ddr4: This is an example of a VPD template for a DDR4 memory riser
+p8/memcard4_ddr4: This is an example of a VPD template for a DDR4 memory riser
card with 2 to 4 memory buffer (Centaurs).
-sysplanar: This is an example of a VPD template for an OpenPower system
+p8/sysplanar: This is an example of a VPD template for an OpenPower system
planar (aka mother board) that does not have any memory
buffer on the card. A memory riser card will be plugged
onto this system planar.
-sysplanar32_ddr3: This is an example of a VPD template for an OpenPower system
+p8/sysplanar32_ddr3: This is an example of a VPD template for an OpenPower system
planar (aka mother board) that has upto 32 memory buffers
(Centaurs) on the card. DDR3 ISDIMMs are plugged onto this
system planar.
-sysplanar32_ddr4: This is an example of a VPD template for an OpenPower system
+p8/sysplanar32_ddr4: This is an example of a VPD template for an OpenPower system
planar (aka mother board) that has upto 32 memory buffers
(Centaurs) on the card. DDR3 ISDIMMs are plugged onto this
system planar.
+Power9 FRU VPD example:
+======================
+p9/sysplanar32_ddr4: This is an example of a VPD template for an OpenPower P9 system
+ planar (aka mother board) that has DDR4 ISDIMMs direct attach to
+ the processor on the same card that the ISDIMM are plugged onto.
+
+
Syntax Examples
===============
bindatainput: Shows the syntax to have a binary input file for the keyword
@@ -41,4 +51,4 @@ rbinfile: Shows how to include a binary file that contains an entire
simple: Most basic syntax example
tworecords: Shows how to define multiple records within one top level
- input file \ No newline at end of file
+ input file
diff --git a/examples/comments/comments.tvpd b/examples/comments/comments.tvpd
new file mode 100644
index 0000000..386911d
--- /dev/null
+++ b/examples/comments/comments.tvpd
@@ -0,0 +1,32 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!-- top level comment -->
+<vpd>
+ <!-- vpd level comment -->
+ <name>FILENAME</name>
+ <size>16kb</size>
+ <VD>01</VD>
+ <record name="VINI">
+ <!-- record level comment -->
+ <rdesc>The VINI record</rdesc>
+ <keyword name="RT">
+ <!-- keyword level comment -->
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>VINI</kwdata>
+ </keyword>
+ <keyword name="MX">
+ <kwdesc>The Mixed Data keyword</kwdesc>
+ <kwformat>mixed</kwformat>
+ <kwlen>128</kwlen>
+ <kwdata>
+ <!-- kwdata level comment -->
+ <hex>
+ <!-- mixed level comment -->
+ FEEDB0B0DEADBEEF
+ </hex>
+ <ascii>STRING</ascii>
+ </kwdata>
+ </keyword>
+ </record>
+</vpd>
diff --git a/examples/mixeddata/mixeddata.tvpd b/examples/mixeddata/mixeddata.tvpd
new file mode 100644
index 0000000..ae15c69
--- /dev/null
+++ b/examples/mixeddata/mixeddata.tvpd
@@ -0,0 +1,35 @@
+<?xml version='1.0' encoding='utf-8'?>
+<vpd>
+ <name>FILENAME</name>
+ <size>16kb</size>
+ <VD>01</VD>
+ <record name="VINI">
+ <rdesc>The VINI record</rdesc>
+ <keyword name="MX">
+ <kwdesc>Mixed Data Keyword</kwdesc>
+ <kwformat>mixed</kwformat>
+ <kwlen>128</kwlen>
+ <kwdata>
+ <hex>
+ 0123456789ABCDEF
+ </hex>
+ <ascii>STRING</ascii>
+ <hex>
+ FEEDB0B0 DEADBEEF
+ </hex>
+ </kwdata>
+ </keyword>
+ <keyword name="AS">
+ <kwdesc>The ascii keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>20</kwlen>
+ <kwdata>This is text data</kwdata>
+ </keyword>
+ <keyword name="HX">
+ <kwdesc>The Hex keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>00000000</kwdata>
+ </keyword>
+ </record>
+</vpd>
diff --git a/examples/memcard1_ddr3/memcard1_ddr3.tvpd b/examples/p8/memcard1_ddr3/memcard1_ddr3.tvpd
index 0ec2368..0ec2368 100644
--- a/examples/memcard1_ddr3/memcard1_ddr3.tvpd
+++ b/examples/p8/memcard1_ddr3/memcard1_ddr3.tvpd
diff --git a/examples/memcard1_ddr3/openPower_mer0_MCsample.xml b/examples/p8/memcard1_ddr3/openPower_mer0_MCsample.xml
index b139c06..b139c06 100644
--- a/examples/memcard1_ddr3/openPower_mer0_MCsample.xml
+++ b/examples/p8/memcard1_ddr3/openPower_mer0_MCsample.xml
diff --git a/examples/memcard1_ddr3/openPower_opfr_sample.xml b/examples/p8/memcard1_ddr3/openPower_opfr_sample.xml
index ed8b5b2..ed8b5b2 100644
--- a/examples/memcard1_ddr3/openPower_opfr_sample.xml
+++ b/examples/p8/memcard1_ddr3/openPower_opfr_sample.xml
diff --git a/examples/memcard1_ddr3/openPower_spdx_membuf1_sample.xml b/examples/p8/memcard1_ddr3/openPower_spdx_membuf1_sample.xml
index d9e9ff8..d9e9ff8 100644
--- a/examples/memcard1_ddr3/openPower_spdx_membuf1_sample.xml
+++ b/examples/p8/memcard1_ddr3/openPower_spdx_membuf1_sample.xml
diff --git a/examples/memcard1_ddr3/openPower_veir_MCsample.xml b/examples/p8/memcard1_ddr3/openPower_veir_MCsample.xml
index 5948a09..5948a09 100644
--- a/examples/memcard1_ddr3/openPower_veir_MCsample.xml
+++ b/examples/p8/memcard1_ddr3/openPower_veir_MCsample.xml
diff --git a/examples/memcard1_ddr3/openPower_ver0_MCsample.xml b/examples/p8/memcard1_ddr3/openPower_ver0_MCsample.xml
index 933c01c..933c01c 100644
--- a/examples/memcard1_ddr3/openPower_ver0_MCsample.xml
+++ b/examples/p8/memcard1_ddr3/openPower_ver0_MCsample.xml
diff --git a/examples/memcard1_ddr3/openPower_vini_sample.xml b/examples/p8/memcard1_ddr3/openPower_vini_sample.xml
index 72bbaab..72bbaab 100644
--- a/examples/memcard1_ddr3/openPower_vini_sample.xml
+++ b/examples/p8/memcard1_ddr3/openPower_vini_sample.xml
diff --git a/examples/memcard1_ddr3/openPower_vmsc_sample.xml b/examples/p8/memcard1_ddr3/openPower_vmsc_sample.xml
index cc65fbd..cc65fbd 100644
--- a/examples/memcard1_ddr3/openPower_vmsc_sample.xml
+++ b/examples/p8/memcard1_ddr3/openPower_vmsc_sample.xml
diff --git a/examples/memcard1_ddr3/openPower_vndr_sample.xml b/examples/p8/memcard1_ddr3/openPower_vndr_sample.xml
index f8d6438..f8d6438 100644
--- a/examples/memcard1_ddr3/openPower_vndr_sample.xml
+++ b/examples/p8/memcard1_ddr3/openPower_vndr_sample.xml
diff --git a/examples/memcard1_ddr3/openPower_vrtn_sample.xml b/examples/p8/memcard1_ddr3/openPower_vrtn_sample.xml
index 4c2a97e..4c2a97e 100644
--- a/examples/memcard1_ddr3/openPower_vrtn_sample.xml
+++ b/examples/p8/memcard1_ddr3/openPower_vrtn_sample.xml
diff --git a/examples/memcard1_ddr4/memcard1_ddr4.tvpd b/examples/p8/memcard1_ddr4/memcard1_ddr4.tvpd
index 87ab6b0..87ab6b0 100644
--- a/examples/memcard1_ddr4/memcard1_ddr4.tvpd
+++ b/examples/p8/memcard1_ddr4/memcard1_ddr4.tvpd
diff --git a/examples/memcard1_ddr4/openPower_mer0_MCsample.xml b/examples/p8/memcard1_ddr4/openPower_mer0_MCsample.xml
index b139c06..b139c06 100644
--- a/examples/memcard1_ddr4/openPower_mer0_MCsample.xml
+++ b/examples/p8/memcard1_ddr4/openPower_mer0_MCsample.xml
diff --git a/examples/memcard1_ddr4/openPower_opfr_sample.xml b/examples/p8/memcard1_ddr4/openPower_opfr_sample.xml
index efe5d38..efe5d38 100644
--- a/examples/memcard1_ddr4/openPower_opfr_sample.xml
+++ b/examples/p8/memcard1_ddr4/openPower_opfr_sample.xml
diff --git a/examples/memcard1_ddr4/openPower_spdx_membuf1_ddr4_sample.xml b/examples/p8/memcard1_ddr4/openPower_spdx_membuf1_ddr4_sample.xml
index 7408d43..7408d43 100644
--- a/examples/memcard1_ddr4/openPower_spdx_membuf1_ddr4_sample.xml
+++ b/examples/p8/memcard1_ddr4/openPower_spdx_membuf1_ddr4_sample.xml
diff --git a/examples/memcard1_ddr4/openPower_veir_MCsample.xml b/examples/p8/memcard1_ddr4/openPower_veir_MCsample.xml
index 5948a09..5948a09 100644
--- a/examples/memcard1_ddr4/openPower_veir_MCsample.xml
+++ b/examples/p8/memcard1_ddr4/openPower_veir_MCsample.xml
diff --git a/examples/memcard1_ddr4/openPower_ver0_MCsample.xml b/examples/p8/memcard1_ddr4/openPower_ver0_MCsample.xml
index 933c01c..933c01c 100644
--- a/examples/memcard1_ddr4/openPower_ver0_MCsample.xml
+++ b/examples/p8/memcard1_ddr4/openPower_ver0_MCsample.xml
diff --git a/examples/memcard1_ddr4/openPower_vini_sample.xml b/examples/p8/memcard1_ddr4/openPower_vini_sample.xml
index 9245886..9245886 100644
--- a/examples/memcard1_ddr4/openPower_vini_sample.xml
+++ b/examples/p8/memcard1_ddr4/openPower_vini_sample.xml
diff --git a/examples/memcard1_ddr4/openPower_vmsc_sample.xml b/examples/p8/memcard1_ddr4/openPower_vmsc_sample.xml
index cc65fbd..cc65fbd 100644
--- a/examples/memcard1_ddr4/openPower_vmsc_sample.xml
+++ b/examples/p8/memcard1_ddr4/openPower_vmsc_sample.xml
diff --git a/examples/memcard1_ddr4/openPower_vndr_sample.xml b/examples/p8/memcard1_ddr4/openPower_vndr_sample.xml
index f8d6438..f8d6438 100644
--- a/examples/memcard1_ddr4/openPower_vndr_sample.xml
+++ b/examples/p8/memcard1_ddr4/openPower_vndr_sample.xml
diff --git a/examples/memcard1_ddr4/openPower_vrtn_sample.xml b/examples/p8/memcard1_ddr4/openPower_vrtn_sample.xml
index 4c2a97e..4c2a97e 100644
--- a/examples/memcard1_ddr4/openPower_vrtn_sample.xml
+++ b/examples/p8/memcard1_ddr4/openPower_vrtn_sample.xml
diff --git a/examples/memcard4_ddr3/memcard4_ddr3.tvpd b/examples/p8/memcard4_ddr3/memcard4_ddr3.tvpd
index 570dfa8..570dfa8 100644
--- a/examples/memcard4_ddr3/memcard4_ddr3.tvpd
+++ b/examples/p8/memcard4_ddr3/memcard4_ddr3.tvpd
diff --git a/examples/memcard4_ddr3/openPower_mer0_MCsample.xml b/examples/p8/memcard4_ddr3/openPower_mer0_MCsample.xml
index b139c06..b139c06 100644
--- a/examples/memcard4_ddr3/openPower_mer0_MCsample.xml
+++ b/examples/p8/memcard4_ddr3/openPower_mer0_MCsample.xml
diff --git a/examples/memcard4_ddr3/openPower_opfr_sample.xml b/examples/p8/memcard4_ddr3/openPower_opfr_sample.xml
index ed8b5b2..ed8b5b2 100644
--- a/examples/memcard4_ddr3/openPower_opfr_sample.xml
+++ b/examples/p8/memcard4_ddr3/openPower_opfr_sample.xml
diff --git a/examples/memcard4_ddr3/openPower_spdx_membuf4_sample.xml b/examples/p8/memcard4_ddr3/openPower_spdx_membuf4_sample.xml
index e376a2e..e376a2e 100644
--- a/examples/memcard4_ddr3/openPower_spdx_membuf4_sample.xml
+++ b/examples/p8/memcard4_ddr3/openPower_spdx_membuf4_sample.xml
diff --git a/examples/memcard4_ddr3/openPower_veir_MCsample.xml b/examples/p8/memcard4_ddr3/openPower_veir_MCsample.xml
index 5948a09..5948a09 100644
--- a/examples/memcard4_ddr3/openPower_veir_MCsample.xml
+++ b/examples/p8/memcard4_ddr3/openPower_veir_MCsample.xml
diff --git a/examples/memcard4_ddr3/openPower_ver0_MCsample.xml b/examples/p8/memcard4_ddr3/openPower_ver0_MCsample.xml
index 933c01c..933c01c 100644
--- a/examples/memcard4_ddr3/openPower_ver0_MCsample.xml
+++ b/examples/p8/memcard4_ddr3/openPower_ver0_MCsample.xml
diff --git a/examples/memcard4_ddr3/openPower_vini_sample.xml b/examples/p8/memcard4_ddr3/openPower_vini_sample.xml
index 72bbaab..72bbaab 100644
--- a/examples/memcard4_ddr3/openPower_vini_sample.xml
+++ b/examples/p8/memcard4_ddr3/openPower_vini_sample.xml
diff --git a/examples/memcard4_ddr3/openPower_vmsc_sample.xml b/examples/p8/memcard4_ddr3/openPower_vmsc_sample.xml
index cc65fbd..cc65fbd 100644
--- a/examples/memcard4_ddr3/openPower_vmsc_sample.xml
+++ b/examples/p8/memcard4_ddr3/openPower_vmsc_sample.xml
diff --git a/examples/memcard4_ddr3/openPower_vndr_sample.xml b/examples/p8/memcard4_ddr3/openPower_vndr_sample.xml
index f8d6438..f8d6438 100644
--- a/examples/memcard4_ddr3/openPower_vndr_sample.xml
+++ b/examples/p8/memcard4_ddr3/openPower_vndr_sample.xml
diff --git a/examples/memcard4_ddr3/openPower_vrtn_sample.xml b/examples/p8/memcard4_ddr3/openPower_vrtn_sample.xml
index 4c2a97e..4c2a97e 100644
--- a/examples/memcard4_ddr3/openPower_vrtn_sample.xml
+++ b/examples/p8/memcard4_ddr3/openPower_vrtn_sample.xml
diff --git a/examples/memcard4_ddr4/memcard4_ddr4.tvpd b/examples/p8/memcard4_ddr4/memcard4_ddr4.tvpd
index 7e23ef7..7e23ef7 100644
--- a/examples/memcard4_ddr4/memcard4_ddr4.tvpd
+++ b/examples/p8/memcard4_ddr4/memcard4_ddr4.tvpd
diff --git a/examples/memcard4_ddr4/openPower_mer0_MCsample.xml b/examples/p8/memcard4_ddr4/openPower_mer0_MCsample.xml
index b139c06..b139c06 100644
--- a/examples/memcard4_ddr4/openPower_mer0_MCsample.xml
+++ b/examples/p8/memcard4_ddr4/openPower_mer0_MCsample.xml
diff --git a/examples/memcard4_ddr4/openPower_opfr_sample.xml b/examples/p8/memcard4_ddr4/openPower_opfr_sample.xml
index efe5d38..efe5d38 100644
--- a/examples/memcard4_ddr4/openPower_opfr_sample.xml
+++ b/examples/p8/memcard4_ddr4/openPower_opfr_sample.xml
diff --git a/examples/memcard4_ddr4/openPower_spdx_membuf4_ddr4_sample.xml b/examples/p8/memcard4_ddr4/openPower_spdx_membuf4_ddr4_sample.xml
index 7d753d2..7d753d2 100644
--- a/examples/memcard4_ddr4/openPower_spdx_membuf4_ddr4_sample.xml
+++ b/examples/p8/memcard4_ddr4/openPower_spdx_membuf4_ddr4_sample.xml
diff --git a/examples/memcard4_ddr4/openPower_veir_MCsample.xml b/examples/p8/memcard4_ddr4/openPower_veir_MCsample.xml
index 5948a09..5948a09 100644
--- a/examples/memcard4_ddr4/openPower_veir_MCsample.xml
+++ b/examples/p8/memcard4_ddr4/openPower_veir_MCsample.xml
diff --git a/examples/memcard4_ddr4/openPower_ver0_MCsample.xml b/examples/p8/memcard4_ddr4/openPower_ver0_MCsample.xml
index 933c01c..933c01c 100644
--- a/examples/memcard4_ddr4/openPower_ver0_MCsample.xml
+++ b/examples/p8/memcard4_ddr4/openPower_ver0_MCsample.xml
diff --git a/examples/memcard4_ddr4/openPower_vini_sample.xml b/examples/p8/memcard4_ddr4/openPower_vini_sample.xml
index 9245886..9245886 100644
--- a/examples/memcard4_ddr4/openPower_vini_sample.xml
+++ b/examples/p8/memcard4_ddr4/openPower_vini_sample.xml
diff --git a/examples/memcard4_ddr4/openPower_vmsc_sample.xml b/examples/p8/memcard4_ddr4/openPower_vmsc_sample.xml
index cc65fbd..cc65fbd 100644
--- a/examples/memcard4_ddr4/openPower_vmsc_sample.xml
+++ b/examples/p8/memcard4_ddr4/openPower_vmsc_sample.xml
diff --git a/examples/memcard4_ddr4/openPower_vndr_sample.xml b/examples/p8/memcard4_ddr4/openPower_vndr_sample.xml
index f8d6438..f8d6438 100644
--- a/examples/memcard4_ddr4/openPower_vndr_sample.xml
+++ b/examples/p8/memcard4_ddr4/openPower_vndr_sample.xml
diff --git a/examples/memcard4_ddr4/openPower_vrtn_sample.xml b/examples/p8/memcard4_ddr4/openPower_vrtn_sample.xml
index 4c2a97e..4c2a97e 100644
--- a/examples/memcard4_ddr4/openPower_vrtn_sample.xml
+++ b/examples/p8/memcard4_ddr4/openPower_vrtn_sample.xml
diff --git a/examples/sysplanar/openPower_mer0_sample.xml b/examples/p8/sysplanar/openPower_mer0_sample.xml
index b70f1bc..b70f1bc 100644
--- a/examples/sysplanar/openPower_mer0_sample.xml
+++ b/examples/p8/sysplanar/openPower_mer0_sample.xml
diff --git a/examples/sysplanar/openPower_opfr_sample.xml b/examples/p8/sysplanar/openPower_opfr_sample.xml
index 95680a7..95680a7 100644
--- a/examples/sysplanar/openPower_opfr_sample.xml
+++ b/examples/p8/sysplanar/openPower_opfr_sample.xml
diff --git a/examples/sysplanar/openPower_osys_sample.xml b/examples/p8/sysplanar/openPower_osys_sample.xml
index c2c1c62..c2c1c62 100644
--- a/examples/sysplanar/openPower_osys_sample.xml
+++ b/examples/p8/sysplanar/openPower_osys_sample.xml
diff --git a/examples/sysplanar/openPower_veir_sample.xml b/examples/p8/sysplanar/openPower_veir_sample.xml
index 6d16f6d..6d16f6d 100644
--- a/examples/sysplanar/openPower_veir_sample.xml
+++ b/examples/p8/sysplanar/openPower_veir_sample.xml
diff --git a/examples/sysplanar/openPower_ver0_sample.xml b/examples/p8/sysplanar/openPower_ver0_sample.xml
index f4b7a2e..f4b7a2e 100644
--- a/examples/sysplanar/openPower_ver0_sample.xml
+++ b/examples/p8/sysplanar/openPower_ver0_sample.xml
diff --git a/examples/sysplanar/openPower_vini_sample.xml b/examples/p8/sysplanar/openPower_vini_sample.xml
index 5c2265a..5c2265a 100644
--- a/examples/sysplanar/openPower_vini_sample.xml
+++ b/examples/p8/sysplanar/openPower_vini_sample.xml
diff --git a/examples/sysplanar/openPower_vmsc_sample.xml b/examples/p8/sysplanar/openPower_vmsc_sample.xml
index cc65fbd..cc65fbd 100644
--- a/examples/sysplanar/openPower_vmsc_sample.xml
+++ b/examples/p8/sysplanar/openPower_vmsc_sample.xml
diff --git a/examples/sysplanar/openPower_vndr_sample.xml b/examples/p8/sysplanar/openPower_vndr_sample.xml
index f8d6438..f8d6438 100644
--- a/examples/sysplanar/openPower_vndr_sample.xml
+++ b/examples/p8/sysplanar/openPower_vndr_sample.xml
diff --git a/examples/sysplanar/openPower_vrtn_sample.xml b/examples/p8/sysplanar/openPower_vrtn_sample.xml
index 4c2a97e..4c2a97e 100644
--- a/examples/sysplanar/openPower_vrtn_sample.xml
+++ b/examples/p8/sysplanar/openPower_vrtn_sample.xml
diff --git a/examples/sysplanar/sysplanar.tvpd b/examples/p8/sysplanar/sysplanar.tvpd
index 0cbb258..0cbb258 100644
--- a/examples/sysplanar/sysplanar.tvpd
+++ b/examples/p8/sysplanar/sysplanar.tvpd
diff --git a/examples/sysplanar32_ddr3/openPower_mer0_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_mer0_sample.xml
index b70f1bc..b70f1bc 100644
--- a/examples/sysplanar32_ddr3/openPower_mer0_sample.xml
+++ b/examples/p8/sysplanar32_ddr3/openPower_mer0_sample.xml
diff --git a/examples/sysplanar32_ddr3/openPower_opfr_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_opfr_sample.xml
index 95680a7..95680a7 100644
--- a/examples/sysplanar32_ddr3/openPower_opfr_sample.xml
+++ b/examples/p8/sysplanar32_ddr3/openPower_opfr_sample.xml
diff --git a/examples/sysplanar32_ddr3/openPower_osys_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_osys_sample.xml
index c2c1c62..c2c1c62 100644
--- a/examples/sysplanar32_ddr3/openPower_osys_sample.xml
+++ b/examples/p8/sysplanar32_ddr3/openPower_osys_sample.xml
diff --git a/examples/sysplanar32_ddr3/openPower_spdx_membuf32_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_spdx_membuf32_sample.xml
index 5bf9a97..5bf9a97 100644
--- a/examples/sysplanar32_ddr3/openPower_spdx_membuf32_sample.xml
+++ b/examples/p8/sysplanar32_ddr3/openPower_spdx_membuf32_sample.xml
diff --git a/examples/sysplanar32_ddr3/openPower_veir_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_veir_sample.xml
index 6d16f6d..6d16f6d 100644
--- a/examples/sysplanar32_ddr3/openPower_veir_sample.xml
+++ b/examples/p8/sysplanar32_ddr3/openPower_veir_sample.xml
diff --git a/examples/sysplanar32_ddr3/openPower_ver0_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_ver0_sample.xml
index f4b7a2e..f4b7a2e 100644
--- a/examples/sysplanar32_ddr3/openPower_ver0_sample.xml
+++ b/examples/p8/sysplanar32_ddr3/openPower_ver0_sample.xml
diff --git a/examples/sysplanar32_ddr3/openPower_vini_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_vini_sample.xml
index 5c2265a..5c2265a 100644
--- a/examples/sysplanar32_ddr3/openPower_vini_sample.xml
+++ b/examples/p8/sysplanar32_ddr3/openPower_vini_sample.xml
diff --git a/examples/sysplanar32_ddr3/openPower_vmsc_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_vmsc_sample.xml
index cc65fbd..cc65fbd 100644
--- a/examples/sysplanar32_ddr3/openPower_vmsc_sample.xml
+++ b/examples/p8/sysplanar32_ddr3/openPower_vmsc_sample.xml
diff --git a/examples/sysplanar32_ddr3/openPower_vndr_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_vndr_sample.xml
index f8d6438..f8d6438 100644
--- a/examples/sysplanar32_ddr3/openPower_vndr_sample.xml
+++ b/examples/p8/sysplanar32_ddr3/openPower_vndr_sample.xml
diff --git a/examples/sysplanar32_ddr3/openPower_vrtn_sample.xml b/examples/p8/sysplanar32_ddr3/openPower_vrtn_sample.xml
index 4c2a97e..4c2a97e 100644
--- a/examples/sysplanar32_ddr3/openPower_vrtn_sample.xml
+++ b/examples/p8/sysplanar32_ddr3/openPower_vrtn_sample.xml
diff --git a/examples/sysplanar32_ddr3/sysplanar32_ddr3.tvpd b/examples/p8/sysplanar32_ddr3/sysplanar32_ddr3.tvpd
index 9959356..9959356 100644
--- a/examples/sysplanar32_ddr3/sysplanar32_ddr3.tvpd
+++ b/examples/p8/sysplanar32_ddr3/sysplanar32_ddr3.tvpd
diff --git a/examples/sysplanar32_ddr4/openPower_mer0_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_mer0_sample.xml
index b70f1bc..b70f1bc 100644
--- a/examples/sysplanar32_ddr4/openPower_mer0_sample.xml
+++ b/examples/p8/sysplanar32_ddr4/openPower_mer0_sample.xml
diff --git a/examples/sysplanar32_ddr4/openPower_opfr_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_opfr_sample.xml
index 95680a7..95680a7 100644
--- a/examples/sysplanar32_ddr4/openPower_opfr_sample.xml
+++ b/examples/p8/sysplanar32_ddr4/openPower_opfr_sample.xml
diff --git a/examples/sysplanar32_ddr4/openPower_osys_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_osys_sample.xml
index c2c1c62..c2c1c62 100644
--- a/examples/sysplanar32_ddr4/openPower_osys_sample.xml
+++ b/examples/p8/sysplanar32_ddr4/openPower_osys_sample.xml
diff --git a/examples/sysplanar32_ddr4/openPower_spdx_membuf32_ddr4_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_spdx_membuf32_ddr4_sample.xml
index 160a192..160a192 100644
--- a/examples/sysplanar32_ddr4/openPower_spdx_membuf32_ddr4_sample.xml
+++ b/examples/p8/sysplanar32_ddr4/openPower_spdx_membuf32_ddr4_sample.xml
diff --git a/examples/sysplanar32_ddr4/openPower_veir_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_veir_sample.xml
index 6d16f6d..6d16f6d 100644
--- a/examples/sysplanar32_ddr4/openPower_veir_sample.xml
+++ b/examples/p8/sysplanar32_ddr4/openPower_veir_sample.xml
diff --git a/examples/sysplanar32_ddr4/openPower_ver0_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_ver0_sample.xml
index f4b7a2e..f4b7a2e 100644
--- a/examples/sysplanar32_ddr4/openPower_ver0_sample.xml
+++ b/examples/p8/sysplanar32_ddr4/openPower_ver0_sample.xml
diff --git a/examples/sysplanar32_ddr4/openPower_vini_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_vini_sample.xml
index 5c2265a..5c2265a 100644
--- a/examples/sysplanar32_ddr4/openPower_vini_sample.xml
+++ b/examples/p8/sysplanar32_ddr4/openPower_vini_sample.xml
diff --git a/examples/sysplanar32_ddr4/openPower_vmsc_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_vmsc_sample.xml
index cc65fbd..cc65fbd 100644
--- a/examples/sysplanar32_ddr4/openPower_vmsc_sample.xml
+++ b/examples/p8/sysplanar32_ddr4/openPower_vmsc_sample.xml
diff --git a/examples/sysplanar32_ddr4/openPower_vndr_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_vndr_sample.xml
index f8d6438..f8d6438 100644
--- a/examples/sysplanar32_ddr4/openPower_vndr_sample.xml
+++ b/examples/p8/sysplanar32_ddr4/openPower_vndr_sample.xml
diff --git a/examples/sysplanar32_ddr4/openPower_vrtn_sample.xml b/examples/p8/sysplanar32_ddr4/openPower_vrtn_sample.xml
index 4c2a97e..4c2a97e 100644
--- a/examples/sysplanar32_ddr4/openPower_vrtn_sample.xml
+++ b/examples/p8/sysplanar32_ddr4/openPower_vrtn_sample.xml
diff --git a/examples/sysplanar32_ddr4/sysplanar32_ddr4.tvpd b/examples/p8/sysplanar32_ddr4/sysplanar32_ddr4.tvpd
index c48db63..c48db63 100644
--- a/examples/sysplanar32_ddr4/sysplanar32_ddr4.tvpd
+++ b/examples/p8/sysplanar32_ddr4/sysplanar32_ddr4.tvpd
diff --git a/examples/p9/sysplanar32_ddr4/openPower_memd_sample.xml b/examples/p9/sysplanar32_ddr4/openPower_memd_sample.xml
new file mode 100644
index 0000000..8ad1843
--- /dev/null
+++ b/examples/p9/sysplanar32_ddr4/openPower_memd_sample.xml
@@ -0,0 +1,549 @@
+<?xml version="1.0"?>
+<vpd>
+
+ <record name="MEMD">
+ <rdesc>Memory data record</rdesc>
+
+ <keyword name="RT">
+ <kwdesc>The Record Type keyword</kwdesc>
+ <kwformat>ascii</kwformat>
+ <kwlen>4</kwlen>
+ <kwdata>MEMD</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="MR">
+ <kwdesc>Memory Rotator Mapper keyword </kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="J0">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="J1">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="J2">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="J3">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="J4">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="J5">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="J6">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="J7">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="J8">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="J9">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JA">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JB">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JC">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JD">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JE">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JF">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JG">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JH">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JI">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JJ">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JK">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JL">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JM">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JN">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JO">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JP">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JQ">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JR">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JS">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JT">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JU">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JV">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JW">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JX">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JY">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="JZ">
+ <kwdesc>Memory Rotator Data keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="MT">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="X0">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="X1">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="X2">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="X3">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="X4">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="X5">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="X6">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="X7">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="X8">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="X9">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XA">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XB">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XC">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XD">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XE">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XF">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XG">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XH">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XI">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XJ">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XK">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XL">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XM">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XN">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XO">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XP">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XQ">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XR">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XS">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XT">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XU">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XV">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XW">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XX">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XY">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ <keyword name="XZ">
+ <kwdesc>Memory Terminator Mapper keyword</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>255</kwlen>
+ <kwdata>00</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
+
diff --git a/examples/p9/sysplanar32_ddr4/openPower_mer0_sample.xml b/examples/p9/sysplanar32_ddr4/openPower_mer0_sample.xml
new file mode 100644
index 0000000..cdb7c41
--- /dev/null
+++ b/examples/p9/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>198</kwlen>
+ <kwdata>455202062000</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p9/sysplanar32_ddr4/openPower_opfr_sample.xml b/examples/p9/sysplanar32_ddr4/openPower_opfr_sample.xml
new file mode 100644
index 0000000..7416f58
--- /dev/null
+++ b/examples/p9/sysplanar32_ddr4/openPower_opfr_sample.xml
@@ -0,0 +1,58 @@
+<?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>02</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>
+
+ <keyword name="MB">
+ <kwdesc>Manufacturing Build Date</kwdesc>
+ <kwformat>hex</kwformat>
+ <kwlen>8</kwlen>
+ <kwdata>0000000000000000</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p9/sysplanar32_ddr4/openPower_osys_sample.xml b/examples/p9/sysplanar32_ddr4/openPower_osys_sample.xml
new file mode 100644
index 0000000..c2c1c62
--- /dev/null
+++ b/examples/p9/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/p9/sysplanar32_ddr4/openPower_ver0_sample.xml b/examples/p9/sysplanar32_ddr4/openPower_ver0_sample.xml
new file mode 100644
index 0000000..a834cc2
--- /dev/null
+++ b/examples/p9/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>198</kwlen>
+ <kwdata>455202062000</kwdata>
+ </keyword>
+
+ </record>
+
+</vpd>
diff --git a/examples/p9/sysplanar32_ddr4/openPower_vini_sample.xml b/examples/p9/sysplanar32_ddr4/openPower_vini_sample.xml
new file mode 100644
index 0000000..7acf3b6
--- /dev/null
+++ b/examples/p9/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>00</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/p9/sysplanar32_ddr4/openPower_vmsc_sample.xml b/examples/p9/sysplanar32_ddr4/openPower_vmsc_sample.xml
new file mode 100644
index 0000000..cc65fbd
--- /dev/null
+++ b/examples/p9/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/p9/sysplanar32_ddr4/openPower_vndr_sample.xml b/examples/p9/sysplanar32_ddr4/openPower_vndr_sample.xml
new file mode 100644
index 0000000..f8d6438
--- /dev/null
+++ b/examples/p9/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/p9/sysplanar32_ddr4/openPower_vrtn_sample.xml b/examples/p9/sysplanar32_ddr4/openPower_vrtn_sample.xml
new file mode 100644
index 0000000..4c2a97e
--- /dev/null
+++ b/examples/p9/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/p9/sysplanar32_ddr4/sysplanar32_ddr4.tvpd b/examples/p9/sysplanar32_ddr4/sysplanar32_ddr4.tvpd
new file mode 100644
index 0000000..edac7a9
--- /dev/null
+++ b/examples/p9/sysplanar32_ddr4/sysplanar32_ddr4.tvpd
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<vpd>
+ <!-- OpenPower P9 system Planar with direct attached ISDIMM FRU VPD-->
+ <!-- DDR4 ISDIMMs are plugged onto this system board -->
+
+ <name>FILENAME</name>
+ <size>64kb</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="MEMD">
+ <rtvpdfile>openPower_memd_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