Update field types for Chip Data Files

Change-Id: I5cc76401f97121a1fa4f9cb669d7241113075d8b
Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
diff --git a/src/hei_types.hpp b/src/hei_types.hpp
index 7cb853a..13bc72f 100644
--- a/src/hei_types.hpp
+++ b/src/hei_types.hpp
@@ -25,7 +25,7 @@
  *   both the Chip Data Files and the input into the isolation function.
  *
  * Range:
- *   A 4-byte field should be sufficient.
+ *   This is defined as a 4-byte field in the Chip Data Files.
  */
 using ChipType_t = uint32_t;
 
@@ -39,68 +39,58 @@
  *   The supported register types are listed in this enum.
  *
  * Range:
- *   Power Systems only have a couple different types that would be accessed by
- *   the isolator. The minimum 1-byte field should be sufficient.
+ *   This is defined as the minimum 1-byte field in the Chip Data Files.
  */
 enum RegisterType_t : uint8_t
 {
-    REG_TYPE_INVALID = 0, ///< invalid/unsupported type
-    REG_TYPE_SCOM    = 1, ///< Power Systems SCOM register.
-    REG_TYPE_ID_SCOM = 2, ///< Power Systems Indirect SCOM register.
+    REG_TYPE_SCOM    = 0x01, ///< Power Systems SCOM register.
+    REG_TYPE_ID_SCOM = 0x02, ///< Power Systems Indirect SCOM register.
 };
 
 /**
  * Each register within a chip must have a unique ID. These IDs (combined with
  * other information) will be passed back to the user application to identify
- * all of the active errors reported by this chip. Note that some registers will
- * have multiple instances within a chip. An ID will be used for all instances
- * of a register. See enum RegisterInstance_t for details on the register
- * instance value.
+ * register contents captured for debugging purposes. Note that some registers
+ * will have multiple instances within a chip. An ID will be used for all
+ * instances of a register. See Instance_t for details on the register instance
+ * value.
  *
  * Values:
  *   The isolator does not need to know the possible values because the values
- *   are passed from the Chip Data Files to the user application. Therefore, no
- *   values will be listed in this enum except for the default invalid type.
+ *   are passed from the Chip Data Files to the user application.
  *
  * Range:
- *   A 2-byte field should be sufficient to support up to 65535 registers on a
- *   chip.
+ *   This is defined as a 3-byte field in the Chip Data Files, which should be
+ *   sufficient to support all the registers on a typical chip.
  */
-enum RegisterId_t : uint16_t
-{
-    REG_ID_INVALID = 0, ///< invalid/unsupported type
-};
+using RegisterId_t = uint32_t; // IMPORTANT: see range note above.
 
 /**
- * A chip could contain more than one instance of a register. For example, a
- * register could exist for each instance of a core on a processor chip.
- * This field will be used to differeniate multiple instances of a register in
- * order to avoid repeating common information for every instance.
+ * A chip could contain more than one instance of a register or node. For
+ * example, a register could exist for each instance of a core on a processor
+ * chip. This field will be used to differeniate multiple instances of a
+ * register in order to avoid repeating common information for every instance.
  *
  * Values:
- *   Not all registers will have multiple instances. So the default instance
- *   value is 0, which always indicates the first (or only) logical instance.
- *   Then a value of 1-255 can be used for each subsequent instance.
+ *   Not all registers or nodes will have multiple instances. So the default
+ *   instance value is 0, which always indicates the first (or only) logical
+ *   instance. Then a value of 1-255 can be used for each subsequent instance.
  *
  * Range:
- *   The 1-byte field should be sufficient.
+ *   This is defined as a 1-byte field in the Chip Data Files.
  */
-enum RegisterInstance_t : uint8_t
-{
-    REG_INST_DEFAULT = 0, ///< indicates the first (or only) logical instance
-};
+using Instance_t = uint8_t;
 
 /**
- * This is used to defined a bit field for a register. It is mainly used in the
- * Signature class to indicate which bit on a register had an active attention.
+ * This is used to defined a bit field for a register or node.
  *
  * Values:
- *   The widest supported register is only 64-bits (value 0-63).
+ *   The widest supported register type is only 64-bits (value 0-63).
  *
  * Range:
- *   Only the minimum 1-byte field is necessary.
+ *   This is defined as a 1-byte field in the Chip Data Files.
  */
-typedef uint8_t RegisterBit_t;
+using BitPosition_t = uint8_t;
 
 /**
  * The hardware address of a register (right justified).
@@ -111,10 +101,7 @@
  * Range:
  *   The maximum supported address requires an 8-byte field.
  */
-enum RegisterAddress_t : uint64_t
-{
-    REG_ADDR_INVALID = 0, ///< invalid/unsupported address
-};
+using RegisterAddress_t = uint64_t;
 
 /**
  * The hardware access level of a register.
@@ -123,7 +110,7 @@
  *   The supported access levels are listed in this enum.
  *
  * Range:
- *   Only the minimum 1-byte field is necessary.
+ *   This is defined as a 1-byte field in the Chip Data Files.
  */
 enum RegisterAccessLevel_t : uint8_t
 {
@@ -143,7 +130,7 @@
  *   The supported attention types are listed in this enum.
  *
  * Range:
- *   Only the minimum 1-byte field is necessary.
+ *   This is defined as a 1-byte field in the Chip Data Files.
  */
 enum AttentionType_t : uint8_t
 {