Chip Data XML for TOD fault errors

Signed-off-by: Zane Shelley <zshelle@us.ibm.com>
Change-Id: I92fbf438f6efd167c9e83ca4a861fa3ac00547c5
diff --git a/xml/p10/node_tod_error.xml b/xml/p10/node_tod_error.xml
new file mode 100644
index 0000000..c4713c8
--- /dev/null
+++ b/xml/p10/node_tod_error.xml
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<attn_node model_ec="P10_10,P10_20" name="TOD_ERROR" reg_type="SCOM">
+
+    <rule attn_type="CS" node_inst="0">
+        <!-- TOD_ERROR & ~TOD_ERROR_MASK & ~TOD_ERROR_ROUTING -->
+        <expr type="and">
+            <expr type="reg" value1="TOD_ERROR" />
+            <expr type="not">
+                <expr type="reg" value1="TOD_ERROR_MASK" />
+            </expr>
+            <expr type="not">
+                <expr type="reg" value1="TOD_ERROR_ROUTING" />
+            </expr>
+        </expr>
+    </rule>
+
+    <rule attn_type="RE" node_inst="0">
+        <!-- TOD_ERROR & ~TOD_ERROR_MASK & ~TOD_ERROR_ROUTING -->
+        <expr type="and">
+            <expr type="reg" value1="TOD_ERROR" />
+            <expr type="not">
+                <expr type="reg" value1="TOD_ERROR_MASK" />
+            </expr>
+            <expr type="not">
+                <expr type="reg" value1="TOD_ERROR_ROUTING" />
+            </expr>
+        </expr>
+    </rule>
+
+    <rule attn_type="UCS" node_inst="0">
+        <!-- TOD_ERROR & ~TOD_ERROR_MASK & ~TOD_ERROR_ROUTING -->
+        <expr type="and">
+            <expr type="reg" value1="TOD_ERROR" />
+            <expr type="not">
+                <expr type="reg" value1="TOD_ERROR_MASK" />
+            </expr>
+            <expr type="not">
+                <expr type="reg" value1="TOD_ERROR_ROUTING" />
+            </expr>
+        </expr>
+    </rule>
+
+    <rule attn_type="SPA" node_inst="0">
+        <!-- TOD_ERROR & ~TOD_ERROR_MASK & ~TOD_ERROR_ROUTING -->
+        <expr type="and">
+            <expr type="reg" value1="TOD_ERROR" />
+            <expr type="not">
+                <expr type="reg" value1="TOD_ERROR_MASK" />
+            </expr>
+            <expr type="not">
+                <expr type="reg" value1="TOD_ERROR_ROUTING" />
+            </expr>
+        </expr>
+    </rule>
+
+    <rule attn_type="HA" node_inst="0">
+        <!-- TOD_ERROR & ~TOD_ERROR_MASK & ~TOD_ERROR_ROUTING -->
+        <expr type="and">
+            <expr type="reg" value1="TOD_ERROR" />
+            <expr type="not">
+                <expr type="reg" value1="TOD_ERROR_MASK" />
+            </expr>
+            <expr type="not">
+                <expr type="reg" value1="TOD_ERROR_ROUTING" />
+            </expr>
+        </expr>
+    </rule>
+
+    <bit pos="0">M_PATH_CONTROL_REG_DATA_PARITY_ERROR</bit>
+    <bit pos="1">M_PATH_0_PARITY_ERROR</bit>
+    <bit pos="2">M_PATH_1_PARITY_ERROR</bit>
+    <bit pos="3">PCRP0_DATA_PARITY_ERROR</bit>
+    <bit pos="4">PCRP1_DATA_PARITY_ERROR</bit>
+    <bit pos="5">SCRP0_DATA_PARITY_ERROR</bit>
+    <bit pos="6">SCRP1_DATA_PARITY_ERROR</bit>
+    <bit pos="7">SPCR_DATA_PARITY_ERROR</bit>
+    <bit pos="8">IPCR_DATA_PARITY_ERROR</bit>
+    <bit pos="9">PSMSCR_DATA_PARITY_ERROR</bit>
+    <bit pos="10">S_PATH_0_PARITY_ERROr</bit>
+    <bit pos="11">REG_0X08_DATA_PARITY_ERROR</bit>
+    <bit pos="12">M_PATH_STATUS_REG_DATA_PARITY_ERROR</bit>
+    <bit pos="13">S_PATH_STATUS_REG_DATA_PARITY_ERROR</bit>
+    <bit pos="14">M_PATH_0_STEP_CHECK_ERROR</bit>
+    <bit pos="15">M_PATH_1_STEP_CHECK_ERROR</bit>
+    <bit pos="16">S_PATH_0_STEP_CHECK_ERROR</bit>
+    <bit pos="17">I_PATH_STEP_CHECK_ERROR</bit>
+    <bit pos="18">PSS HAMMING DISTANCE</bit>
+    <bit pos="19">MISC_RESET_REG_DATA_PARITY_ERROR</bit>
+    <bit pos="20">S_PATH_0_PARITY_ERROR</bit>
+    <bit pos="21">S_PATH_1_STEP_CHECK_ERROR</bit>
+    <bit pos="22">I_PATH_DELAY_STEP_CHECK_PARITY_ERROR</bit>
+    <bit pos="23">REG_0X0C DATA_PARITY ERROR</bit>
+    <bit pos="24">REG_0X11_0X12_0X13_0X14_0X15_0X16_DATA_PARITY_ERROR</bit>
+    <bit pos="25">REG_0X17_0X18_0X21_0X22_DATA_PARITY_ERROR</bit>
+    <bit pos="26">REG_0X1D_0X1E_0X1F_DATA_PARITY_ERROR</bit>
+    <bit pos="27">TIMER_VALUE_REG_DATA_PARITY_ERROR</bit>
+    <bit pos="28">LOW_ORDER_STEP_REG_DATA_PARITY_ERROR</bit>
+    <bit pos="29">FSM_REG_DATA_PARITY_ERROR</bit>
+    <bit pos="30">RX_TTYPE_CONTROL_REG_DATA_PARITY_ERROR</bit>
+    <bit pos="31">REG_0X30_0X31_0X32_0X33_DATA_PARITY_ERROR</bit>
+    <bit pos="32">CHIP_CONTROL_REG_DATA_PARITY_ERROR</bit>
+    <bit pos="33">I_PATH_SYNC_CHECK_ERROR</bit>
+    <bit pos="34">I_PATH_FSM_STATE_PARITY_ERROR</bit>
+    <bit pos="35">I_PATH_TIME_REG_PARITY_ERROR</bit>
+    <bit pos="36">I_PATH_TIME_REG_OVERFLOW</bit>
+    <bit pos="37">WOF_LOW_ORDER_STEP_COUNTER_PARITY_ERROR</bit>
+    <bit pos="38:43">RX_TTYPE_1</bit>
+    <bit pos="44">PIB_SLAVE_ADDR_INVALID_ERROR</bit>
+    <bit pos="45">PIB_SLAVE_WRITE_INVALID_ERROR</bit>
+    <bit pos="46">PIB_SLAVE_READ_INVALID_ERROR</bit>
+    <bit pos="47">PIB_SLAVE_ADDR_PARITY_ERROR</bit>
+    <bit pos="48">PIB_SLAVE_DATA_PARITY_ERROR</bit>
+    <bit pos="49">TTYPE_CONTROL_REG_DATA_PARITY_ERROR</bit>
+    <bit pos="50:52">PIB_MASTER_RSP_INFO_ERROR</bit>
+    <bit pos="53">RX_TTYPE_INVALID_ERROR</bit>
+    <bit pos="54">RX_TTYPE_4_DATA_PARITY_ERROR</bit>
+    <bit pos="55">PIB_MASTER_REQUEST_ERROR</bit>
+    <bit pos="56">PIB_RESET_DURING_PIB_ACCESS_ERROR</bit>
+    <bit pos="57">EXTERNAL_XSTOP_ERROR</bit>
+    <bit pos="58:63">SPARE_ERROR</bit>
+</attn_node>
diff --git a/xml/p10/node_tp_local_fir.xml b/xml/p10/node_tp_local_fir.xml
index d9dafa5..a3e0709 100644
--- a/xml/p10/node_tp_local_fir.xml
+++ b/xml/p10/node_tp_local_fir.xml
@@ -107,6 +107,124 @@
         <instance reg_inst="39" addr="0x270F001F" />
     </register>
 
+    <register name="TOD_M_PATH_CTRL">
+        <instance reg_inst="0" addr="0x00040000" />
+    </register>
+
+    <register name="TOD_PRI_PORT_0_CTRL">
+        <instance reg_inst="0" addr="0x00040001" />
+    </register>
+
+    <register name="TOD_PRI_PORT_1_CTRL">
+        <instance reg_inst="0" addr="0x00040002" />
+    </register>
+
+    <register name="TOD_SEC_PORT_0_CTRL">
+        <instance reg_inst="0" addr="0x00040003" />
+    </register>
+
+    <register name="TOD_SEC_PORT_1_CTRL">
+        <instance reg_inst="0" addr="0x00040004" />
+    </register>
+
+    <register name="TOD_S_PATH_CTRL">
+        <instance reg_inst="0" addr="0x00040005" />
+    </register>
+
+    <register name="TOD_I_PATH_CTRL">
+        <instance reg_inst="0" addr="0x00040006" />
+    </register>
+
+    <register name="TOD_PSS_MSS_CTRL">
+        <instance reg_inst="0" addr="0x00040007" />
+    </register>
+
+    <register name="TOD_PSS_MSS_STATUS">
+        <instance reg_inst="0" addr="0x00040008" />
+    </register>
+
+    <register name="TOD_M_PATH_STATUS">
+        <instance reg_inst="0" addr="0x00040009" />
+    </register>
+
+    <register name="TOD_S_PATH_STATUS">
+        <instance reg_inst="0" addr="0x0004000A" />
+    </register>
+
+    <register name="TOD_M_PATH_0_STEP_STEER">
+        <instance reg_inst="0" addr="0x0004000E" />
+    </register>
+
+    <register name="TOD_M_PATH_1_STEP_STEER">
+        <instance reg_inst="0" addr="0x0004000F" />
+    </register>
+
+    <register name="TOD_CHIP_CTRL">
+        <instance reg_inst="0" addr="0x00040010" />
+    </register>
+
+    <register name="TOD_TRACE_DATA_1">
+        <instance reg_inst="0" addr="0x0004001D" />
+    </register>
+
+    <register name="TOD_TRACE_DATA_2">
+        <instance reg_inst="0" addr="0x0004001E" />
+    </register>
+
+    <register name="TOD_TRACE_DATA_3">
+        <instance reg_inst="0" addr="0x0004001F" />
+    </register>
+
+    <register name="TOD_FSM">
+        <instance reg_inst="0" addr="0x00040024" />
+    </register>
+
+    <register name="TOD_TX_TTYPE_CTRL">
+        <instance reg_inst="0" addr="0x00040027" />
+    </register>
+
+    <register name="TOD_RX_TTYPE_CTRL">
+        <instance reg_inst="0" addr="0x00040029" />
+    </register>
+
+    <register name="TOD_ERROR">
+        <instance reg_inst="0" addr="0x00040030" />
+    </register>
+
+    <register name="TOD_ERROR_MASK">
+        <instance reg_inst="0" addr="0x00040032" />
+    </register>
+
+    <register name="TOD_ERROR_ROUTING">
+        <instance reg_inst="0" addr="0x00040033" />
+    </register>
+
+    <capture_group node_inst="0">
+        <capture_register reg_inst="0" reg_name="TOD_M_PATH_CTRL" />
+        <capture_register reg_inst="0" reg_name="TOD_PRI_PORT_0_CTRL" />
+        <capture_register reg_inst="0" reg_name="TOD_PRI_PORT_1_CTRL" />
+        <capture_register reg_inst="0" reg_name="TOD_SEC_PORT_0_CTRL" />
+        <capture_register reg_inst="0" reg_name="TOD_SEC_PORT_1_CTRL" />
+        <capture_register reg_inst="0" reg_name="TOD_S_PATH_CTRL" />
+        <capture_register reg_inst="0" reg_name="TOD_I_PATH_CTRL" />
+        <capture_register reg_inst="0" reg_name="TOD_PSS_MSS_CTRL" />
+        <capture_register reg_inst="0" reg_name="TOD_PSS_MSS_STATUS" />
+        <capture_register reg_inst="0" reg_name="TOD_M_PATH_STATUS" />
+        <capture_register reg_inst="0" reg_name="TOD_S_PATH_STATUS" />
+        <capture_register reg_inst="0" reg_name="TOD_M_PATH_0_STEP_STEER" />
+        <capture_register reg_inst="0" reg_name="TOD_M_PATH_1_STEP_STEER" />
+        <capture_register reg_inst="0" reg_name="TOD_CHIP_CTRL" />
+        <capture_register reg_inst="0" reg_name="TOD_TRACE_DATA_1" />
+        <capture_register reg_inst="0" reg_name="TOD_TRACE_DATA_2" />
+        <capture_register reg_inst="0" reg_name="TOD_TRACE_DATA_3" />
+        <capture_register reg_inst="0" reg_name="TOD_FSM" />
+        <capture_register reg_inst="0" reg_name="TOD_TX_TTYPE_CTRL" />
+        <capture_register reg_inst="0" reg_name="TOD_RX_TTYPE_CTRL" />
+        <capture_register reg_inst="0" reg_name="TOD_ERROR" />
+        <capture_register reg_inst="0" reg_name="TOD_ERROR_MASK" />
+        <capture_register reg_inst="0" reg_name="TOD_ERROR_ROUTING" />
+    </capture_group>
+
     <bit pos="0">CFIR - Parity or PCB access error</bit>
     <bit pos="1">CPLT_CTRL - PCB access error</bit>
     <bit pos="2">CC - PCB access error</bit>
@@ -132,7 +250,7 @@
     <bit pos="22">ITR - PCB error</bit>
     <bit pos="23">PCB Master - timeout</bit>
     <bit pos="24">I2CM - Parity errors</bit>
-    <bit pos="25">TOD - any error</bit>
+    <bit pos="25" child_node="TOD_ERROR">TOD - any error</bit>
     <bit pos="26">TOD - access error PIB</bit>
     <bit pos="27">TOD - Error reported from PHYP</bit>
     <bit pos="28" child_node="PLL_UNLOCK">PCB slave error</bit>