IPMI generic raw command table

Purpose:
   - Gives clarity of the command and what it does.
   - Any change in the IPMI command and o/p doesn't
     impact test but only this table.
   - Programmatically one can call into this to get
     the commands and execute in the test code.

Resolves  openbmc/openbmc-test-automation#1227

Change-Id: I12671b7ddc9ac2ed52e0fc266bf8a4699b926d8a
Signed-off-by: George Keishing <gkeishin@in.ibm.com>
diff --git a/data/ipmi_raw_cmd_table.py b/data/ipmi_raw_cmd_table.py
new file mode 100644
index 0000000..441fe45
--- /dev/null
+++ b/data/ipmi_raw_cmd_table.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+
+r"""
+IPMI raw commands table.
+
+   - Define IPMI interface index, commands and expected output.
+
+"""
+
+IPMI_RAW_CMD = {
+    # Interface name
+    'power_supply_redundancy':
+    {
+        # Command action type
+        'Get':
+        [
+            # raw command, expected output(s), comment
+            "0x04 0x2d 0x0b",
+            "00 00 01 00",
+            "Byte position 3rd LSB e.g. 01 indicates disabled",
+            "00 00 02 00",
+            "Byte position 3rd LSB e.g. 02 indicates enabled",
+        ],
+        'Enabled':
+        [
+            # raw command, expected output, comment
+            "0x04 0x30 0x0b 0x00 0x00 0x02 0x00 0x00 0x00 0x00 0x00 0x00",
+            "none",
+            "Enabled nibble position 6th LSB e.g. 0x2",
+        ],
+        'Disabled':
+        [
+            # raw command, expected output, comment
+            "0x04 0x30 0x0b 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00",
+            "none",
+            "Enabled nibble position 6th LSB e.g. 0x1",
+        ],
+    }
+}