/* V2MemTest - A CLI Tool to test & fix Voodoo² TMU System
* Copyright (C) 2026 ChaCha
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
#ifndef _DEF_FAULTSOURCES_H_
#define _DEF_FAULTSOURCES_H_
#include
#include
#define FAULT_SOURCES(ACTION) \
ACTION(U3_FBI, "U3/FBI (front middle big Chip)" ,VOODOO_BOARD, 1.0)\
ACTION(U9_TMU0, "U9/TMU0 (front right big Chip)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U9_TMU0_TEXDATA_0_0, "pin 52" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_0_1, "pin 53" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_0_2, "pin 54" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_0_3, "pin 55" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_0_4, "pin 56" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_0_5, "pin 57" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_0_6, "pin 59" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_0_7, "pin 60" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_0_8, "pin 61" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_0_9, "pin 62" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_0_10, "pin 64" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_0_11, "pin 65" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_0_12, "pin 66" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_0_13, "pin 67" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_0_14, "pin 69" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_0_15, "pin 70" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_0, "pin 90" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_1, "pin 91" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_2, "pin 92" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_3, "pin 93" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_4, "pin 94" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_5, "pin 95" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_6, "pin 98" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_7, "pin 98" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_8, "pin 100" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_9, "pin 101" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_10, "pin 103" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_11, "pin 104" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_12, "pin 105" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_13, "pin 106" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_14, "pin 107" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_1_15, "pin 108" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_0, "pin 71" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_1, "pin 72" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_2, "pin 74" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_3, "pin 75" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_4, "pin 76" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_5, "pin 77" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_6, "pin 79" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_7, "pin 80" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_8, "pin 81" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_9, "pin 82" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_10, "pin 84" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_11, "pin 85" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_12, "pin 86" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_13, "pin 87" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_14, "pin 88" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_2_15, "pin 89" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_0, "pin 110" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_1, "pin 111" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_2, "pin 112" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_3, "pin 113" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_4, "pin 114" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_5, "pin 115" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_6, "pin 117" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_7, "pin 118" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_8, "pin 119" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_9, "pin 120" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_10, "pin 122" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_11, "pin 123" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_12, "pin 124" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_13, "pin 125" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_14, "pin 126" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEXDATA_3_15, "pin 127" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_0, "pin 188" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_1, "pin 189" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_2, "pin 190" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_3, "pin 191" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_4, "pin 192" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_5, "pin 193" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_6, "pin 194" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_7, "pin 195" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_8, "pin 199" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_9, "pin 200" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_10, "pin 201" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_11, "pin 202" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_12, "pin 204" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_13, "pin 205" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_14, "pin 206" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TT_DATA_15, "pin 207" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_0, "pin 6" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_1, "pin 7" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_2, "pin 8" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_3, "pin 9" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_4, "pin 10" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_5, "pin 11" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_6, "pin 12" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_7, "pin 16" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_8, "pin 17" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_9, "pin 18" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_10, "pin 19" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_11, "pin 20" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_12, "pin 22" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_13, "pin 23" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_14, "pin 24" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_FT_DATA_15, "pin 25" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_0, "pin 30" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_1, "pin 32" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_2, "pin 33" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_3, "pin 34" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_4, "pin 35" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_5, "pin 36" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_6, "pin 37" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_7, "pin 38" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_8, "pin 42" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_9, "pin 44" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_10, "pin 45" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_11, "pin 46" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_12, "pin 47" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_13, "pin 48" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_14, "pin 49" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TF_DATA_15, "pin 80" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_RAS0, "pin 129" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_RAS1, "pin 130" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_CAS0, "pin 131" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_CAS1, "pin 132" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_CAS2, "pin 134" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_CAS3, "pin 135" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_WE, "pin 136" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_0_0, "pin 138" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_0_1, "pin 139" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_0_2, "pin 141" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_0_3, "pin 142" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_0_4, "pin 144" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_0_5, "pin 145" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_0_6, "pin 146" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_0_7, "pin 147" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_0_8, "pin 149" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_1_0, "pin 161" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_1_1, "pin 162" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_1_2, "pin 164" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_1_3, "pin 165" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_1_4, "pin 166" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_1_5, "pin 167" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_1_6, "pin 168" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_1_7, "pin 169" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_1_8, "pin 171" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_2_0, "pin 150" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_2_1, "pin 151" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_2_2, "pin 152" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_2_3, "pin 154" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_2_4, "pin 155" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_2_5, "pin 156" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_2_6, "pin 157" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_2_7, "pin 158" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_2_8, "pin 160" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_3_0, "pin 172" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_3_1, "pin 174" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_3_2, "pin 175" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_3_3, "pin 176" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_3_4, "pin 177" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_3_5, "pin 178" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_3_6, "pin 179" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_3_7, "pin 180" ,U9_TMU0, 1.0)\
ACTION(U9_TMU0_TEX_ADDR_3_8, "pin 182" ,U9_TMU0, 1.0)\
ACTION(U8_TMU1, "U8/TMU1 (front left big Chip)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U8_TMU1_TEXDATA_0_0, "pin 52" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_0_1, "pin 53" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_0_2, "pin 54" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_0_3, "pin 55" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_0_4, "pin 56" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_0_5, "pin 57" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_0_6, "pin 59" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_0_7, "pin 60" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_0_8, "pin 61" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_0_9, "pin 62" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_0_10, "pin 64" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_0_11, "pin 65" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_0_12, "pin 66" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_0_13, "pin 67" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_0_14, "pin 69" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_0_15, "pin 70" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_0, "pin 90" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_1, "pin 91" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_2, "pin 92" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_3, "pin 93" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_4, "pin 94" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_5, "pin 95" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_6, "pin 98" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_7, "pin 98" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_8, "pin 100" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_9, "pin 101" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_10, "pin 103" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_11, "pin 104" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_12, "pin 105" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_13, "pin 106" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_14, "pin 107" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_1_15, "pin 108" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_0, "pin 71" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_1, "pin 72" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_2, "pin 74" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_3, "pin 75" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_4, "pin 76" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_5, "pin 77" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_6, "pin 79" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_7, "pin 80" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_8, "pin 81" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_9, "pin 82" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_10, "pin 84" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_11, "pin 85" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_12, "pin 86" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_13, "pin 87" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_14, "pin 88" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_2_15, "pin 89" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_0, "pin 110" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_1, "pin 111" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_2, "pin 112" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_3, "pin 113" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_4, "pin 114" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_5, "pin 115" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_6, "pin 117" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_7, "pin 118" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_8, "pin 119" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_9, "pin 120" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_10, "pin 122" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_11, "pin 123" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_12, "pin 124" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_13, "pin 125" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_14, "pin 126" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEXDATA_3_15, "pin 127" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_0, "pin 30" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_1, "pin 32" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_2, "pin 33" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_3, "pin 34" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_4, "pin 35" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_5, "pin 36" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_6, "pin 37" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_7, "pin 38" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_8, "pin 42" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_9, "pin 44" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_10, "pin 45" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_11, "pin 46" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_12, "pin 47" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_13, "pin 48" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_14, "pin 49" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TF_DATA_15, "pin 80" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_0, "pin 6" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_1, "pin 7" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_2, "pin 8" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_3, "pin 9" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_4, "pin 10" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_5, "pin 11" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_6, "pin 12" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_7, "pin 16" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_8, "pin 17" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_9, "pin 18" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_10, "pin 19" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_11, "pin 20" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_12, "pin 22" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_13, "pin 23" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_14, "pin 24" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_FT_DATA_15, "pin 25" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_RAS0, "pin 129" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_RAS1, "pin 130" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_CAS0, "pin 131" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_CAS1, "pin 132" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_CAS2, "pin 134" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_CAS3, "pin 135" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_WE, "pin 136" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_0_0, "pin 138" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_0_1, "pin 139" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_0_2, "pin 141" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_0_3, "pin 142" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_0_4, "pin 144" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_0_5, "pin 145" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_0_6, "pin 146" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_0_7, "pin 147" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_0_8, "pin 149" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_1_0, "pin 161" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_1_1, "pin 162" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_1_2, "pin 164" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_1_3, "pin 165" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_1_4, "pin 166" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_1_5, "pin 167" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_1_6, "pin 168" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_1_7, "pin 169" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_1_8, "pin 171" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_2_0, "pin 150" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_2_1, "pin 151" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_2_2, "pin 152" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_2_3, "pin 154" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_2_4, "pin 155" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_2_5, "pin 156" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_2_6, "pin 157" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_2_7, "pin 158" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_2_8, "pin 160" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_3_0, "pin 172" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_3_1, "pin 174" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_3_2, "pin 175" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_3_3, "pin 176" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_3_4, "pin 177" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_3_5, "pin 178" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_3_6, "pin 179" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_3_7, "pin 180" ,U8_TMU1, 1.0)\
ACTION(U8_TMU1_TEX_ADDR_3_8, "pin 182" ,U8_TMU1, 1.0)\
ACTION(U11, "U11/RAM (front left)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U11_DQ0, "pin 2" ,U11, 1.0)\
ACTION(U11_DQ1, "pin 3" ,U11, 1.0)\
ACTION(U11_DQ2, "pin 4" ,U11, 1.0)\
ACTION(U11_DQ3, "pin 5" ,U11, 1.0)\
ACTION(U11_DQ4, "pin 7" ,U11, 1.0)\
ACTION(U11_DQ5, "pin 8" ,U11, 1.0)\
ACTION(U11_DQ6, "pin 9" ,U11, 1.0)\
ACTION(U11_DQ7, "pin 10" ,U11, 1.0)\
ACTION(U11_DQ8, "pin 31" ,U11, 1.0)\
ACTION(U11_DQ9, "pin 32" ,U11, 1.0)\
ACTION(U11_DQ10, "pin 33" ,U11, 1.0)\
ACTION(U11_DQ11, "pin 34" ,U11, 1.0)\
ACTION(U11_DQ12, "pin 36" ,U11, 1.0)\
ACTION(U11_DQ13, "pin 37" ,U11, 1.0)\
ACTION(U11_DQ14, "pin 38" ,U11, 1.0)\
ACTION(U11_DQ15, "pin 39" ,U11, 1.0)\
ACTION(U11_A0, "pin 16" ,U11, 1.0)\
ACTION(U11_A1, "pin 17" ,U11, 1.0)\
ACTION(U11_A2, "pin 18" ,U11, 1.0)\
ACTION(U11_A3, "pin 19" ,U11, 1.0)\
ACTION(U11_A4, "pin 22" ,U11, 1.0)\
ACTION(U11_A5, "pin 23" ,U11, 1.0)\
ACTION(U11_A6, "pin 24" ,U11, 1.0)\
ACTION(U11_A7, "pin 25" ,U11, 1.0)\
ACTION(U11_A8, "pin 26" ,U11, 1.0)\
ACTION(U11_CASH, "pin 28" ,U11, 1.0)\
ACTION(U11_CASL, "pin 29" ,U11, 1.0)\
ACTION(U11_RAS, "pin 14" ,U11, 1.0)\
ACTION(U11_WE, "pin 13" ,U11, 1.0)\
ACTION(U12, "U12/RAM (front right)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U12_DQ0, "pin 2" ,U12, 1.0)\
ACTION(U12_DQ1, "pin 3" ,U12, 1.0)\
ACTION(U12_DQ2, "pin 4" ,U12, 1.0)\
ACTION(U12_DQ3, "pin 5" ,U12, 1.0)\
ACTION(U12_DQ4, "pin 7" ,U12, 1.0)\
ACTION(U12_DQ5, "pin 8" ,U12, 1.0)\
ACTION(U12_DQ6, "pin 9" ,U12, 1.0)\
ACTION(U12_DQ7, "pin 10" ,U12, 1.0)\
ACTION(U12_DQ8, "pin 31" ,U12, 1.0)\
ACTION(U12_DQ9, "pin 32" ,U12, 1.0)\
ACTION(U12_DQ10, "pin 33" ,U12, 1.0)\
ACTION(U12_DQ11, "pin 34" ,U12, 1.0)\
ACTION(U12_DQ12, "pin 36" ,U12, 1.0)\
ACTION(U12_DQ13, "pin 37" ,U12, 1.0)\
ACTION(U12_DQ14, "pin 38" ,U12, 1.0)\
ACTION(U12_DQ15, "pin 39" ,U12, 1.0)\
ACTION(U12_A0, "pin 16" ,U12, 1.0)\
ACTION(U12_A1, "pin 17" ,U12, 1.0)\
ACTION(U12_A2, "pin 18" ,U12, 1.0)\
ACTION(U12_A3, "pin 19" ,U12, 1.0)\
ACTION(U12_A4, "pin 22" ,U12, 1.0)\
ACTION(U12_A5, "pin 23" ,U12, 1.0)\
ACTION(U12_A6, "pin 24" ,U12, 1.0)\
ACTION(U12_A7, "pin 25" ,U12, 1.0)\
ACTION(U12_A8, "pin 26" ,U12, 1.0)\
ACTION(U12_CASH, "pin 28" ,U12, 1.0)\
ACTION(U12_CASL, "pin 29" ,U12, 1.0)\
ACTION(U12_RAS, "pin 14" ,U12, 1.0)\
ACTION(U12_WE, "pin 13" ,U12, 1.0)\
ACTION(U13, "U13/RAM (front left)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U13_DQ0, "pin 2" ,U13, 1.0)\
ACTION(U13_DQ1, "pin 3" ,U13, 1.0)\
ACTION(U13_DQ2, "pin 4" ,U13, 1.0)\
ACTION(U13_DQ3, "pin 5" ,U13, 1.0)\
ACTION(U13_DQ4, "pin 7" ,U13, 1.0)\
ACTION(U13_DQ5, "pin 8" ,U13, 1.0)\
ACTION(U13_DQ6, "pin 9" ,U13, 1.0)\
ACTION(U13_DQ7, "pin 10" ,U13, 1.0)\
ACTION(U13_DQ8, "pin 31" ,U13, 1.0)\
ACTION(U13_DQ9, "pin 32" ,U13, 1.0)\
ACTION(U13_DQ10, "pin 33" ,U13, 1.0)\
ACTION(U13_DQ11, "pin 34" ,U13, 1.0)\
ACTION(U13_DQ12, "pin 36" ,U13, 1.0)\
ACTION(U13_DQ13, "pin 37" ,U13, 1.0)\
ACTION(U13_DQ14, "pin 38" ,U13, 1.0)\
ACTION(U13_DQ15, "pin 39" ,U13, 1.0)\
ACTION(U13_A0, "pin 16" ,U13, 1.0)\
ACTION(U13_A1, "pin 17" ,U13, 1.0)\
ACTION(U13_A2, "pin 18" ,U13, 1.0)\
ACTION(U13_A3, "pin 19" ,U13, 1.0)\
ACTION(U13_A4, "pin 22" ,U13, 1.0)\
ACTION(U13_A5, "pin 23" ,U13, 1.0)\
ACTION(U13_A6, "pin 24" ,U13, 1.0)\
ACTION(U13_A7, "pin 25" ,U13, 1.0)\
ACTION(U13_A8, "pin 26" ,U13, 1.0)\
ACTION(U13_CASH, "pin 28" ,U13, 1.0)\
ACTION(U13_CASL, "pin 29" ,U13, 1.0)\
ACTION(U13_RAS, "pin 14" ,U13, 1.0)\
ACTION(U13_WE, "pin 13" ,U13, 1.0)\
ACTION(U14, "U14/RAM (front right)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U14_DQ0, "pin 2" ,U14, 1.0)\
ACTION(U14_DQ1, "pin 3" ,U14, 1.0)\
ACTION(U14_DQ2, "pin 4" ,U14, 1.0)\
ACTION(U14_DQ3, "pin 5" ,U14, 1.0)\
ACTION(U14_DQ4, "pin 7" ,U14, 1.0)\
ACTION(U14_DQ5, "pin 8" ,U14, 1.0)\
ACTION(U14_DQ6, "pin 9" ,U14, 1.0)\
ACTION(U14_DQ7, "pin 10" ,U14, 1.0)\
ACTION(U14_DQ8, "pin 31" ,U14, 1.0)\
ACTION(U14_DQ9, "pin 32" ,U14, 1.0)\
ACTION(U14_DQ10, "pin 33" ,U14, 1.0)\
ACTION(U14_DQ11, "pin 34" ,U14, 1.0)\
ACTION(U14_DQ12, "pin 36" ,U14, 1.0)\
ACTION(U14_DQ13, "pin 37" ,U14, 1.0)\
ACTION(U14_DQ14, "pin 38" ,U14, 1.0)\
ACTION(U14_DQ15, "pin 39" ,U14, 1.0)\
ACTION(U14_A0, "pin 16" ,U14, 1.0)\
ACTION(U14_A1, "pin 17" ,U14, 1.0)\
ACTION(U14_A2, "pin 18" ,U14, 1.0)\
ACTION(U14_A3, "pin 19" ,U14, 1.0)\
ACTION(U14_A4, "pin 22" ,U14, 1.0)\
ACTION(U14_A5, "pin 23" ,U14, 1.0)\
ACTION(U14_A6, "pin 24" ,U14, 1.0)\
ACTION(U14_A7, "pin 25" ,U14, 1.0)\
ACTION(U14_A8, "pin 26" ,U14, 1.0)\
ACTION(U14_CASH, "pin 28" ,U14, 1.0)\
ACTION(U14_CASL, "pin 29" ,U14, 1.0)\
ACTION(U14_RAS, "pin 14" ,U14, 1.0)\
ACTION(U14_WE, "pin 13" ,U14, 1.0)\
ACTION(U15, "U15/RAM (front left)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U15_DQ0, "pin 2" ,U15, 1.0)\
ACTION(U15_DQ1, "pin 3" ,U15, 1.0)\
ACTION(U15_DQ2, "pin 4" ,U15, 1.0)\
ACTION(U15_DQ3, "pin 5" ,U15, 1.0)\
ACTION(U15_DQ4, "pin 7" ,U15, 1.0)\
ACTION(U15_DQ5, "pin 8" ,U15, 1.0)\
ACTION(U15_DQ6, "pin 9" ,U15, 1.0)\
ACTION(U15_DQ7, "pin 10" ,U15, 1.0)\
ACTION(U15_DQ8, "pin 31" ,U15, 1.0)\
ACTION(U15_DQ9, "pin 32" ,U15, 1.0)\
ACTION(U15_DQ10, "pin 33" ,U15, 1.0)\
ACTION(U15_DQ11, "pin 34" ,U15, 1.0)\
ACTION(U15_DQ12, "pin 36" ,U15, 1.0)\
ACTION(U15_DQ13, "pin 37" ,U15, 1.0)\
ACTION(U15_DQ14, "pin 38" ,U15, 1.0)\
ACTION(U15_DQ15, "pin 39" ,U15, 1.0)\
ACTION(U15_A0, "pin 16" ,U15, 1.0)\
ACTION(U15_A1, "pin 17" ,U15, 1.0)\
ACTION(U15_A2, "pin 18" ,U15, 1.0)\
ACTION(U15_A3, "pin 19" ,U15, 1.0)\
ACTION(U15_A4, "pin 22" ,U15, 1.0)\
ACTION(U15_A5, "pin 23" ,U15, 1.0)\
ACTION(U15_A6, "pin 24" ,U15, 1.0)\
ACTION(U15_A7, "pin 25" ,U15, 1.0)\
ACTION(U15_A8, "pin 26" ,U15, 1.0)\
ACTION(U15_CASH, "pin 28" ,U15, 1.0)\
ACTION(U15_CASL, "pin 29" ,U15, 1.0)\
ACTION(U15_RAS, "pin 14" ,U15, 1.0)\
ACTION(U15_WE, "pin 13" ,U15, 1.0)\
ACTION(U16, "U16/RAM (front left)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U16_DQ0, "pin 2" ,U16, 1.0)\
ACTION(U16_DQ1, "pin 3" ,U16, 1.0)\
ACTION(U16_DQ2, "pin 4" ,U16, 1.0)\
ACTION(U16_DQ3, "pin 5" ,U16, 1.0)\
ACTION(U16_DQ4, "pin 7" ,U16, 1.0)\
ACTION(U16_DQ5, "pin 8" ,U16, 1.0)\
ACTION(U16_DQ6, "pin 9" ,U16, 1.0)\
ACTION(U16_DQ7, "pin 10" ,U16, 1.0)\
ACTION(U16_DQ8, "pin 31" ,U16, 1.0)\
ACTION(U16_DQ9, "pin 32" ,U16, 1.0)\
ACTION(U16_DQ10, "pin 33" ,U16, 1.0)\
ACTION(U16_DQ11, "pin 34" ,U16, 1.0)\
ACTION(U16_DQ12, "pin 36" ,U16, 1.0)\
ACTION(U16_DQ13, "pin 37" ,U16, 1.0)\
ACTION(U16_DQ14, "pin 38" ,U16, 1.0)\
ACTION(U16_DQ15, "pin 39" ,U16, 1.0)\
ACTION(U16_A0, "pin 16" ,U16, 1.0)\
ACTION(U16_A1, "pin 17" ,U16, 1.0)\
ACTION(U16_A2, "pin 18" ,U16, 1.0)\
ACTION(U16_A3, "pin 19" ,U16, 1.0)\
ACTION(U16_A4, "pin 22" ,U16, 1.0)\
ACTION(U16_A5, "pin 23" ,U16, 1.0)\
ACTION(U16_A6, "pin 24" ,U16, 1.0)\
ACTION(U16_A7, "pin 25" ,U16, 1.0)\
ACTION(U16_A8, "pin 26" ,U16, 1.0)\
ACTION(U16_CASH, "pin 28" ,U16, 1.0)\
ACTION(U16_CASL, "pin 29" ,U16, 1.0)\
ACTION(U16_RAS, "pin 14" ,U16, 1.0)\
ACTION(U16_WE, "pin 13" ,U16, 1.0)\
ACTION(U17, "U17/RAM (front right)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U17_DQ0, "pin 2" ,U17, 1.0)\
ACTION(U17_DQ1, "pin 3" ,U17, 1.0)\
ACTION(U17_DQ2, "pin 4" ,U17, 1.0)\
ACTION(U17_DQ3, "pin 5" ,U17, 1.0)\
ACTION(U17_DQ4, "pin 7" ,U17, 1.0)\
ACTION(U17_DQ5, "pin 8" ,U17, 1.0)\
ACTION(U17_DQ6, "pin 9" ,U17, 1.0)\
ACTION(U17_DQ7, "pin 10" ,U17, 1.0)\
ACTION(U17_DQ8, "pin 31" ,U17, 1.0)\
ACTION(U17_DQ9, "pin 32" ,U17, 1.0)\
ACTION(U17_DQ10, "pin 33" ,U17, 1.0)\
ACTION(U17_DQ11, "pin 34" ,U17, 1.0)\
ACTION(U17_DQ12, "pin 36" ,U17, 1.0)\
ACTION(U17_DQ13, "pin 37" ,U17, 1.0)\
ACTION(U17_DQ14, "pin 38" ,U17, 1.0)\
ACTION(U17_DQ15, "pin 39" ,U17, 1.0)\
ACTION(U17_A0, "pin 16" ,U17, 1.0)\
ACTION(U17_A1, "pin 17" ,U17, 1.0)\
ACTION(U17_A2, "pin 18" ,U17, 1.0)\
ACTION(U17_A3, "pin 19" ,U17, 1.0)\
ACTION(U17_A4, "pin 22" ,U17, 1.0)\
ACTION(U17_A5, "pin 23" ,U17, 1.0)\
ACTION(U17_A6, "pin 24" ,U17, 1.0)\
ACTION(U17_A7, "pin 25" ,U17, 1.0)\
ACTION(U17_A8, "pin 26" ,U17, 1.0)\
ACTION(U17_CASH, "pin 28" ,U17, 1.0)\
ACTION(U17_CASL, "pin 29" ,U17, 1.0)\
ACTION(U17_RAS, "pin 14" ,U17, 1.0)\
ACTION(U17_WE, "pin 13" ,U17, 1.0)\
ACTION(U18, "U18/RAM (front right)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U18_DQ0, "pin 2" ,U18, 1.0)\
ACTION(U18_DQ1, "pin 3" ,U18, 1.0)\
ACTION(U18_DQ2, "pin 4" ,U18, 1.0)\
ACTION(U18_DQ3, "pin 5" ,U18, 1.0)\
ACTION(U18_DQ4, "pin 7" ,U18, 1.0)\
ACTION(U18_DQ5, "pin 8" ,U18, 1.0)\
ACTION(U18_DQ6, "pin 9" ,U18, 1.0)\
ACTION(U18_DQ7, "pin 10" ,U18, 1.0)\
ACTION(U18_DQ8, "pin 31" ,U18, 1.0)\
ACTION(U18_DQ9, "pin 32" ,U18, 1.0)\
ACTION(U18_DQ10, "pin 33" ,U18, 1.0)\
ACTION(U18_DQ11, "pin 34" ,U18, 1.0)\
ACTION(U18_DQ12, "pin 36" ,U18, 1.0)\
ACTION(U18_DQ13, "pin 37" ,U18, 1.0)\
ACTION(U18_DQ14, "pin 38" ,U18, 1.0)\
ACTION(U18_DQ15, "pin 39" ,U18, 1.0)\
ACTION(U18_A0, "pin 16" ,U18, 1.0)\
ACTION(U18_A1, "pin 17" ,U18, 1.0)\
ACTION(U18_A2, "pin 18" ,U18, 1.0)\
ACTION(U18_A3, "pin 19" ,U18, 1.0)\
ACTION(U18_A4, "pin 22" ,U18, 1.0)\
ACTION(U18_A5, "pin 23" ,U18, 1.0)\
ACTION(U18_A6, "pin 24" ,U18, 1.0)\
ACTION(U18_A7, "pin 25" ,U18, 1.0)\
ACTION(U18_A8, "pin 26" ,U18, 1.0)\
ACTION(U18_CASH, "pin 28" ,U18, 1.0)\
ACTION(U18_CASL, "pin 29" ,U18, 1.0)\
ACTION(U18_RAS, "pin 14" ,U18, 1.0)\
ACTION(U18_WE, "pin 13" ,U18, 1.0)\
ACTION(U23, "U23/RAM (back left)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U23_DQ0, "pin 2" ,U23, 1.0)\
ACTION(U23_DQ1, "pin 3" ,U23, 1.0)\
ACTION(U23_DQ2, "pin 4" ,U23, 1.0)\
ACTION(U23_DQ3, "pin 5" ,U23, 1.0)\
ACTION(U23_DQ4, "pin 7" ,U23, 1.0)\
ACTION(U23_DQ5, "pin 8" ,U23, 1.0)\
ACTION(U23_DQ6, "pin 9" ,U23, 1.0)\
ACTION(U23_DQ7, "pin 10" ,U23, 1.0)\
ACTION(U23_DQ8, "pin 31" ,U23, 1.0)\
ACTION(U23_DQ9, "pin 32" ,U23, 1.0)\
ACTION(U23_DQ10, "pin 33" ,U23, 1.0)\
ACTION(U23_DQ11, "pin 34" ,U23, 1.0)\
ACTION(U23_DQ12, "pin 36" ,U23, 1.0)\
ACTION(U23_DQ13, "pin 37" ,U23, 1.0)\
ACTION(U23_DQ14, "pin 38" ,U23, 1.0)\
ACTION(U23_DQ15, "pin 39" ,U23, 1.0)\
ACTION(U23_A0, "pin 16" ,U23, 1.0)\
ACTION(U23_A1, "pin 17" ,U23, 1.0)\
ACTION(U23_A2, "pin 18" ,U23, 1.0)\
ACTION(U23_A3, "pin 19" ,U23, 1.0)\
ACTION(U23_A4, "pin 22" ,U23, 1.0)\
ACTION(U23_A5, "pin 23" ,U23, 1.0)\
ACTION(U23_A6, "pin 24" ,U23, 1.0)\
ACTION(U23_A7, "pin 25" ,U23, 1.0)\
ACTION(U23_A8, "pin 26" ,U23, 1.0)\
ACTION(U23_CASH, "pin 28" ,U23, 1.0)\
ACTION(U23_CASL, "pin 29" ,U23, 1.0)\
ACTION(U23_RAS, "pin 14" ,U23, 1.0)\
ACTION(U23_WE, "pin 13" ,U23, 1.0)\
ACTION(U24, "U24/RAM (back left)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U24_DQ0, "pin 2" ,U24, 1.0)\
ACTION(U24_DQ1, "pin 3" ,U24, 1.0)\
ACTION(U24_DQ2, "pin 4" ,U24, 1.0)\
ACTION(U24_DQ3, "pin 5" ,U24, 1.0)\
ACTION(U24_DQ4, "pin 7" ,U24, 1.0)\
ACTION(U24_DQ5, "pin 8" ,U24, 1.0)\
ACTION(U24_DQ6, "pin 9" ,U24, 1.0)\
ACTION(U24_DQ7, "pin 10" ,U24, 1.0)\
ACTION(U24_DQ8, "pin 31" ,U24, 1.0)\
ACTION(U24_DQ9, "pin 32" ,U24, 1.0)\
ACTION(U24_DQ10, "pin 33" ,U24, 1.0)\
ACTION(U24_DQ11, "pin 34" ,U24, 1.0)\
ACTION(U24_DQ12, "pin 36" ,U24, 1.0)\
ACTION(U24_DQ13, "pin 37" ,U24, 1.0)\
ACTION(U24_DQ14, "pin 38" ,U24, 1.0)\
ACTION(U24_DQ15, "pin 39" ,U24, 1.0)\
ACTION(U24_A0, "pin 16" ,U24, 1.0)\
ACTION(U24_A1, "pin 17" ,U24, 1.0)\
ACTION(U24_A2, "pin 18" ,U24, 1.0)\
ACTION(U24_A3, "pin 19" ,U24, 1.0)\
ACTION(U24_A4, "pin 22" ,U24, 1.0)\
ACTION(U24_A5, "pin 23" ,U24, 1.0)\
ACTION(U24_A6, "pin 24" ,U24, 1.0)\
ACTION(U24_A7, "pin 25" ,U24, 1.0)\
ACTION(U24_A8, "pin 26" ,U24, 1.0)\
ACTION(U24_CASH, "pin 28" ,U24, 1.0)\
ACTION(U24_CASL, "pin 29" ,U24, 1.0)\
ACTION(U24_RAS, "pin 14" ,U24, 1.0)\
ACTION(U24_WE, "pin 13" ,U24, 1.0)\
ACTION(U25, "U25/RAM (back left)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U25_DQ0, "pin 2" ,U25, 1.0)\
ACTION(U25_DQ1, "pin 3" ,U25, 1.0)\
ACTION(U25_DQ2, "pin 4" ,U25, 1.0)\
ACTION(U25_DQ3, "pin 5" ,U25, 1.0)\
ACTION(U25_DQ4, "pin 7" ,U25, 1.0)\
ACTION(U25_DQ5, "pin 8" ,U25, 1.0)\
ACTION(U25_DQ6, "pin 9" ,U25, 1.0)\
ACTION(U25_DQ7, "pin 10" ,U25, 1.0)\
ACTION(U25_DQ8, "pin 31" ,U25, 1.0)\
ACTION(U25_DQ9, "pin 32" ,U25, 1.0)\
ACTION(U25_DQ10, "pin 33" ,U25, 1.0)\
ACTION(U25_DQ11, "pin 34" ,U25, 1.0)\
ACTION(U25_DQ12, "pin 36" ,U25, 1.0)\
ACTION(U25_DQ13, "pin 37" ,U25, 1.0)\
ACTION(U25_DQ14, "pin 38" ,U25, 1.0)\
ACTION(U25_DQ15, "pin 39" ,U25, 1.0)\
ACTION(U25_A0, "pin 16" ,U25, 1.0)\
ACTION(U25_A1, "pin 17" ,U25, 1.0)\
ACTION(U25_A2, "pin 18" ,U25, 1.0)\
ACTION(U25_A3, "pin 19" ,U25, 1.0)\
ACTION(U25_A4, "pin 22" ,U25, 1.0)\
ACTION(U25_A5, "pin 23" ,U25, 1.0)\
ACTION(U25_A6, "pin 24" ,U25, 1.0)\
ACTION(U25_A7, "pin 25" ,U25, 1.0)\
ACTION(U25_A8, "pin 26" ,U25, 1.0)\
ACTION(U25_CASH, "pin 28" ,U25, 1.0)\
ACTION(U25_CASL, "pin 29" ,U25, 1.0)\
ACTION(U25_RAS, "pin 14" ,U25, 1.0)\
ACTION(U25_WE, "pin 13" ,U25, 1.0)\
ACTION(U26, "U26/RAM (back left)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U26_DQ0, "pin 2" ,U26, 1.0)\
ACTION(U26_DQ1, "pin 3" ,U26, 1.0)\
ACTION(U26_DQ2, "pin 4" ,U26, 1.0)\
ACTION(U26_DQ3, "pin 5" ,U26, 1.0)\
ACTION(U26_DQ4, "pin 7" ,U26, 1.0)\
ACTION(U26_DQ5, "pin 8" ,U26, 1.0)\
ACTION(U26_DQ6, "pin 9" ,U26, 1.0)\
ACTION(U26_DQ7, "pin 10" ,U26, 1.0)\
ACTION(U26_DQ8, "pin 31" ,U26, 1.0)\
ACTION(U26_DQ9, "pin 32" ,U26, 1.0)\
ACTION(U26_DQ10, "pin 33" ,U26, 1.0)\
ACTION(U26_DQ11, "pin 34" ,U26, 1.0)\
ACTION(U26_DQ12, "pin 36" ,U26, 1.0)\
ACTION(U26_DQ13, "pin 37" ,U26, 1.0)\
ACTION(U26_DQ14, "pin 38" ,U26, 1.0)\
ACTION(U26_DQ15, "pin 39" ,U26, 1.0)\
ACTION(U26_A0, "pin 16" ,U26, 1.0)\
ACTION(U26_A1, "pin 17" ,U26, 1.0)\
ACTION(U26_A2, "pin 18" ,U26, 1.0)\
ACTION(U26_A3, "pin 19" ,U26, 1.0)\
ACTION(U26_A4, "pin 22" ,U26, 1.0)\
ACTION(U26_A5, "pin 23" ,U26, 1.0)\
ACTION(U26_A6, "pin 24" ,U26, 1.0)\
ACTION(U26_A7, "pin 25" ,U26, 1.0)\
ACTION(U26_A8, "pin 26" ,U26, 1.0)\
ACTION(U26_CASH, "pin 28" ,U26, 1.0)\
ACTION(U26_CASL, "pin 29" ,U26, 1.0)\
ACTION(U26_RAS, "pin 14" ,U26, 1.0)\
ACTION(U26_WE, "pin 13" ,U26, 1.0)\
ACTION(U27, "U27/RAM (back right)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U27_DQ0, "pin 2" ,U27, 1.0)\
ACTION(U27_DQ1, "pin 3" ,U27, 1.0)\
ACTION(U27_DQ2, "pin 4" ,U27, 1.0)\
ACTION(U27_DQ3, "pin 5" ,U27, 1.0)\
ACTION(U27_DQ4, "pin 7" ,U27, 1.0)\
ACTION(U27_DQ5, "pin 8" ,U27, 1.0)\
ACTION(U27_DQ6, "pin 9" ,U27, 1.0)\
ACTION(U27_DQ7, "pin 10" ,U27, 1.0)\
ACTION(U27_DQ8, "pin 31" ,U27, 1.0)\
ACTION(U27_DQ9, "pin 32" ,U27, 1.0)\
ACTION(U27_DQ10, "pin 33" ,U27, 1.0)\
ACTION(U27_DQ11, "pin 34" ,U27, 1.0)\
ACTION(U27_DQ12, "pin 36" ,U27, 1.0)\
ACTION(U27_DQ13, "pin 37" ,U27, 1.0)\
ACTION(U27_DQ14, "pin 38" ,U27, 1.0)\
ACTION(U27_DQ15, "pin 39" ,U27, 1.0)\
ACTION(U27_A0, "pin 16" ,U27, 1.0)\
ACTION(U27_A1, "pin 17" ,U27, 1.0)\
ACTION(U27_A2, "pin 18" ,U27, 1.0)\
ACTION(U27_A3, "pin 19" ,U27, 1.0)\
ACTION(U27_A4, "pin 22" ,U27, 1.0)\
ACTION(U27_A5, "pin 23" ,U27, 1.0)\
ACTION(U27_A6, "pin 24" ,U27, 1.0)\
ACTION(U27_A7, "pin 25" ,U27, 1.0)\
ACTION(U27_A8, "pin 26" ,U27, 1.0)\
ACTION(U27_CASH, "pin 28" ,U27, 1.0)\
ACTION(U27_CASL, "pin 29" ,U27, 1.0)\
ACTION(U27_RAS, "pin 14" ,U27, 1.0)\
ACTION(U27_WE, "pin 13" ,U27, 1.0)\
ACTION(U28, "U28/RAM (back left)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U28_DQ0, "pin 2" ,U28, 1.0)\
ACTION(U28_DQ1, "pin 3" ,U28, 1.0)\
ACTION(U28_DQ2, "pin 4" ,U28, 1.0)\
ACTION(U28_DQ3, "pin 5" ,U28, 1.0)\
ACTION(U28_DQ4, "pin 7" ,U28, 1.0)\
ACTION(U28_DQ5, "pin 8" ,U28, 1.0)\
ACTION(U28_DQ6, "pin 9" ,U28, 1.0)\
ACTION(U28_DQ7, "pin 10" ,U28, 1.0)\
ACTION(U28_DQ8, "pin 31" ,U28, 1.0)\
ACTION(U28_DQ9, "pin 32" ,U28, 1.0)\
ACTION(U28_DQ10, "pin 33" ,U28, 1.0)\
ACTION(U28_DQ11, "pin 34" ,U28, 1.0)\
ACTION(U28_DQ12, "pin 36" ,U28, 1.0)\
ACTION(U28_DQ13, "pin 37" ,U28, 1.0)\
ACTION(U28_DQ14, "pin 38" ,U28, 1.0)\
ACTION(U28_DQ15, "pin 39" ,U28, 1.0)\
ACTION(U28_A0, "pin 16" ,U28, 1.0)\
ACTION(U28_A1, "pin 17" ,U28, 1.0)\
ACTION(U28_A2, "pin 18" ,U28, 1.0)\
ACTION(U28_A3, "pin 19" ,U28, 1.0)\
ACTION(U28_A4, "pin 22" ,U28, 1.0)\
ACTION(U28_A5, "pin 23" ,U28, 1.0)\
ACTION(U28_A6, "pin 24" ,U28, 1.0)\
ACTION(U28_A7, "pin 25" ,U28, 1.0)\
ACTION(U28_A8, "pin 26" ,U28, 1.0)\
ACTION(U28_CASH, "pin 28" ,U28, 1.0)\
ACTION(U28_CASL, "pin 29" ,U28, 1.0)\
ACTION(U28_RAS, "pin 14" ,U28, 1.0)\
ACTION(U28_WE, "pin 13" ,U28, 1.0)\
ACTION(U29, "U29/RAM (back left)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U29_DQ0, "pin 2" ,U29, 1.0)\
ACTION(U29_DQ1, "pin 3" ,U29, 1.0)\
ACTION(U29_DQ2, "pin 4" ,U29, 1.0)\
ACTION(U29_DQ3, "pin 5" ,U29, 1.0)\
ACTION(U29_DQ4, "pin 7" ,U29, 1.0)\
ACTION(U29_DQ5, "pin 8" ,U29, 1.0)\
ACTION(U29_DQ6, "pin 9" ,U29, 1.0)\
ACTION(U29_DQ7, "pin 10" ,U29, 1.0)\
ACTION(U29_DQ8, "pin 31" ,U29, 1.0)\
ACTION(U29_DQ9, "pin 32" ,U29, 1.0)\
ACTION(U29_DQ10, "pin 33" ,U29, 1.0)\
ACTION(U29_DQ11, "pin 34" ,U29, 1.0)\
ACTION(U29_DQ12, "pin 36" ,U29, 1.0)\
ACTION(U29_DQ13, "pin 37" ,U29, 1.0)\
ACTION(U29_DQ14, "pin 38" ,U29, 1.0)\
ACTION(U29_DQ15, "pin 39" ,U29, 1.0)\
ACTION(U29_A0, "pin 16" ,U29, 1.0)\
ACTION(U29_A1, "pin 17" ,U29, 1.0)\
ACTION(U29_A2, "pin 18" ,U29, 1.0)\
ACTION(U29_A3, "pin 19" ,U29, 1.0)\
ACTION(U29_A4, "pin 22" ,U29, 1.0)\
ACTION(U29_A5, "pin 23" ,U29, 1.0)\
ACTION(U29_A6, "pin 24" ,U29, 1.0)\
ACTION(U29_A7, "pin 25" ,U29, 1.0)\
ACTION(U29_A8, "pin 26" ,U29, 1.0)\
ACTION(U29_CASH, "pin 28" ,U29, 1.0)\
ACTION(U29_CASL, "pin 29" ,U29, 1.0)\
ACTION(U29_RAS, "pin 14" ,U29, 1.0)\
ACTION(U29_WE, "pin 13" ,U29, 1.0)\
ACTION(U30, "U30/RAM (back left)" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(U30_DQ0, "pin 2" ,U30, 1.0)\
ACTION(U30_DQ1, "pin 3" ,U30, 1.0)\
ACTION(U30_DQ2, "pin 4" ,U30, 1.0)\
ACTION(U30_DQ3, "pin 5" ,U30, 1.0)\
ACTION(U30_DQ4, "pin 7" ,U30, 1.0)\
ACTION(U30_DQ5, "pin 8" ,U30, 1.0)\
ACTION(U30_DQ6, "pin 9" ,U30, 1.0)\
ACTION(U30_DQ7, "pin 10" ,U30, 1.0)\
ACTION(U30_DQ8, "pin 31" ,U30, 1.0)\
ACTION(U30_DQ9, "pin 32" ,U30, 1.0)\
ACTION(U30_DQ10, "pin 33" ,U30, 1.0)\
ACTION(U30_DQ11, "pin 34" ,U30, 1.0)\
ACTION(U30_DQ12, "pin 36" ,U30, 1.0)\
ACTION(U30_DQ13, "pin 37" ,U30, 1.0)\
ACTION(U30_DQ14, "pin 38" ,U30, 1.0)\
ACTION(U30_DQ15, "pin 39" ,U30, 1.0)\
ACTION(U30_A0, "pin 16" ,U30, 1.0)\
ACTION(U30_A1, "pin 17" ,U30, 1.0)\
ACTION(U30_A2, "pin 18" ,U30, 1.0)\
ACTION(U30_A3, "pin 19" ,U30, 1.0)\
ACTION(U30_A4, "pin 22" ,U30, 1.0)\
ACTION(U30_A5, "pin 23" ,U30, 1.0)\
ACTION(U30_A6, "pin 24" ,U30, 1.0)\
ACTION(U30_A7, "pin 25" ,U30, 1.0)\
ACTION(U30_A8, "pin 26" ,U30, 1.0)\
ACTION(U30_CASH, "pin 28" ,U30, 1.0)\
ACTION(U30_CASL, "pin 29" ,U30, 1.0)\
ACTION(U30_RAS, "pin 14" ,U30, 1.0)\
ACTION(U30_WE, "pin 13" ,U30, 1.0)\
ACTION(RA10, "RA10/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA10_1, "pin 1-2" ,RA10, 1.0)\
ACTION(RA10_2, "pin 3-4" ,RA10, 1.0)\
ACTION(RA10_3, "pin 5-6" ,RA10, 1.0)\
ACTION(RA10_4, "pin 7-8" ,RA10, 1.0)\
ACTION(RA11, "RA11/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA11_1, "pin 1-2" ,RA11, 1.0)\
ACTION(RA11_2, "pin 3-4" ,RA11, 1.0)\
ACTION(RA11_3, "pin 5-6" ,RA11, 1.0)\
ACTION(RA11_4, "pin 7-8" ,RA11, 1.0)\
ACTION(RA12, "RA12/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA12_1, "pin 1-2" ,RA12, 1.0)\
ACTION(RA12_2, "pin 3-4" ,RA12, 1.0)\
ACTION(RA12_3, "pin 5-6" ,RA12, 1.0)\
ACTION(RA12_4, "pin 7-8" ,RA12, 1.0)\
ACTION(RA13, "RA13/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA13_1, "pin 1-2" ,RA13, 1.0)\
ACTION(RA13_2, "pin 3-4" ,RA13, 1.0)\
ACTION(RA13_3, "pin 5-6" ,RA13, 1.0)\
ACTION(RA13_4, "pin 7-8" ,RA13, 1.0)\
/* /!\ TT_TDATA list need to stay in this order*/ \
ACTION(TT_TDATA_R131, "R131" ,VOODOO_BOARD, 1.0)\
ACTION(TT_TDATA_R134, "R134" ,VOODOO_BOARD, 1.0)\
ACTION(TT_TDATA_R132, "R132" ,VOODOO_BOARD, 1.0)\
ACTION(TT_TDATA_R135, "R135" ,VOODOO_BOARD, 1.0)\
ACTION(TT_TDATA_R133, "R133" ,VOODOO_BOARD, 1.0)\
ACTION(TT_TDATA_R136, "R136" ,VOODOO_BOARD, 1.0)\
ACTION(TT_TDATA_R127, "R127" ,VOODOO_BOARD, 1.0)\
ACTION(TT_TDATA_R137, "R137" ,VOODOO_BOARD, 1.0)\
ACTION(TT_TDATA_R138, "R138" ,VOODOO_BOARD, 1.0)\
ACTION(TT_TDATA_R129, "R129" ,VOODOO_BOARD, 1.0)\
ACTION(TT_TDATA_R140, "R140" ,VOODOO_BOARD, 1.0)\
ACTION(TT_TDATA_R130, "R130" ,VOODOO_BOARD, 1.0)\
ACTION(TT_TDATA_R84, "R84" ,VOODOO_BOARD, 1.0)\
ACTION(TT_TDATA_R83, "R83" ,VOODOO_BOARD, 1.0)\
ACTION(TT_TDATA_R68, "R68" ,VOODOO_BOARD, 1.0)\
ACTION(TT_TDATA_R67, "R67" ,VOODOO_BOARD, 1.0)\
ACTION(RA31, "RA31/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA31_1, "pin 1-2" ,RA31, 1.0)\
ACTION(RA31_2, "pin 3-4" ,RA31, 1.0)\
ACTION(RA31_3, "pin 5-6" ,RA31, 1.0)\
ACTION(RA31_4, "pin 7-8" ,RA31, 1.0)\
ACTION(RA30, "RA30/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA30_1, "pin 1-2" ,RA30, 1.0)\
ACTION(RA30_2, "pin 3-4" ,RA30, 1.0)\
ACTION(RA30_3, "pin 5-6" ,RA30, 1.0)\
ACTION(RA30_4, "pin 7-8" ,RA30, 1.0)\
ACTION(R113, "R115" ,VOODOO_BOARD, 1.0)\
ACTION(RA25, "RA25/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA25_1, "pin 1-2" ,RA25, 1.0)\
ACTION(RA25_2, "pin 3-4" ,RA25, 1.0)\
ACTION(RA25_3, "pin 5-6" ,RA25, 1.0)\
ACTION(RA25_4, "pin 7-8" ,RA25, 1.0)\
ACTION(RA23, "RA23/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA23_1, "pin 1-2" ,RA23, 1.0)\
ACTION(RA23_2, "pin 3-4" ,RA23, 1.0)\
ACTION(RA23_3, "pin 5-6" ,RA23, 1.0)\
ACTION(RA23_4, "pin 7-8" ,RA23, 1.0)\
ACTION(R101, "R101" ,VOODOO_BOARD, 1.0)\
ACTION(RA29, "RA29/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA29_1, "pin 1-2" ,RA29, 1.0)\
ACTION(RA29_2, "pin 3-4" ,RA29, 1.0)\
ACTION(RA29_3, "pin 5-6" ,RA29, 1.0)\
ACTION(RA29_4, "pin 7-8" ,RA29, 1.0)\
ACTION(RA27, "RA27/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA27_1, "pin 1-2" ,RA27, 1.0)\
ACTION(RA27_2, "pin 3-4" ,RA27, 1.0)\
ACTION(RA27_3, "pin 5-6" ,RA27, 1.0)\
ACTION(RA27_4, "pin 7-8" ,RA27, 1.0)\
ACTION(R111, "R111" ,VOODOO_BOARD, 1.0)\
ACTION(RA20, "RA20/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA20_1, "pin 1-2" ,RA20, 1.0)\
ACTION(RA20_2, "pin 3-4" ,RA20, 1.0)\
ACTION(RA20_3, "pin 5-6" ,RA20, 1.0)\
ACTION(RA20_4, "pin 7-8" ,RA20, 1.0)\
ACTION(RA19, "RA19/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA19_1, "pin 1-2" ,RA19, 1.0)\
ACTION(RA19_2, "pin 3-4" ,RA19, 1.0)\
ACTION(RA19_3, "pin 5-6" ,RA19, 1.0)\
ACTION(RA19_4, "pin 7-8" ,RA19, 1.0)\
ACTION(R97, "R97" ,VOODOO_BOARD, 1.0)\
ACTION(RA32, "RA32/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA32_1, "pin 1-2" ,RA32, 1.0)\
ACTION(RA32_2, "pin 3-4" ,RA32, 1.0)\
ACTION(RA32_3, "pin 5-6" ,RA32, 1.0)\
ACTION(RA32_4, "pin 7-8" ,RA32, 1.0)\
ACTION(R115, "R115" ,VOODOO_BOARD, 1.0)\
ACTION(R150, "R150" ,VOODOO_BOARD, 1.0)\
ACTION(R114, "R114" ,VOODOO_BOARD, 1.0)\
ACTION(RA35, "RA35/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA35_1, "pin 1-2" ,RA35, 1.0)\
ACTION(RA35_2, "pin 3-4" ,RA35, 1.0)\
ACTION(RA35_3, "pin 5-6" ,RA35, 1.0)\
ACTION(RA35_4, "pin 7-8" ,RA35, 1.0)\
ACTION(RA34, "RA34/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA34_1, "pin 1-2" ,RA34, 1.0)\
ACTION(RA34_2, "pin 3-4" ,RA34, 1.0)\
ACTION(RA34_3, "pin 5-6" ,RA34, 1.0)\
ACTION(RA34_4, "pin 7-8" ,RA34, 1.0)\
ACTION(R116, "R116" ,VOODOO_BOARD, 1.0)\
ACTION(RA26, "RA26/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA26_1, "pin 1-2" ,RA26, 1.0)\
ACTION(RA26_2, "pin 3-4" ,RA26, 1.0)\
ACTION(RA26_3, "pin 5-6" ,RA26, 1.0)\
ACTION(RA26_4, "pin 7-8" ,RA26, 1.0)\
ACTION(RA24, "RA24/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA24_1, "pin 1-2" ,RA24, 1.0)\
ACTION(RA24_2, "pin 3-4" ,RA24, 1.0)\
ACTION(RA24_3, "pin 5-6" ,RA24, 1.0)\
ACTION(RA24_4, "pin 7-8" ,RA24, 1.0)\
ACTION(R102, "R102" ,VOODOO_BOARD, 1.0)\
ACTION(RA33, "RA33/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA33_1, "pin 1-2" ,RA33, 1.0)\
ACTION(RA33_2, "pin 3-4" ,RA33, 1.0)\
ACTION(RA33_3, "pin 5-6" ,RA33, 1.0)\
ACTION(RA33_4, "pin 7-8" ,RA33, 1.0)\
ACTION(RA28, "RA28/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA28_1, "pin 1-2" ,RA28, 1.0)\
ACTION(RA28_2, "pin 3-4" ,RA28, 1.0)\
ACTION(RA28_3, "pin 5-6" ,RA28, 1.0)\
ACTION(RA28_4, "pin 7-8" ,RA28, 1.0)\
ACTION(R112, "R112" ,VOODOO_BOARD, 1.0)\
ACTION(RA22, "RA22/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA22_1, "pin 1-2" ,RA22, 1.0)\
ACTION(RA22_2, "pin 3-4" ,RA22, 1.0)\
ACTION(RA22_3, "pin 5-6" ,RA22, 1.0)\
ACTION(RA22_4, "pin 7-8" ,RA22, 1.0)\
ACTION(RA21, "RA21/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA21_1, "pin 1-2" ,RA21, 1.0)\
ACTION(RA21_2, "pin 3-4" ,RA21, 1.0)\
ACTION(RA21_3, "pin 5-6" ,RA21, 1.0)\
ACTION(RA21_4, "pin 7-8" ,RA21, 1.0)\
ACTION(R98, "R98" ,VOODOO_BOARD, 1.0)\
ACTION(RA36, "RA36/RPACK" ,VOODOO_BOARD, 1.0)\
/* /!\ Keep in-order, only appEND new fields */ \
ACTION(RA36_1, "pin 1-2" ,RA36, 1.0)\
ACTION(RA36_2, "pin 3-4" ,RA36, 1.0)\
ACTION(RA36_3, "pin 5-6" ,RA36, 1.0)\
ACTION(RA36_4, "pin 7-8" ,RA36, 1.0)\
ACTION(R118, "R118" ,VOODOO_BOARD, 1.0)\
ACTION(R149, "R149" ,VOODOO_BOARD, 1.0)\
ACTION(R117, "R117" ,VOODOO_BOARD, 1.0)\
#define GEN_FAULT_SOURCES_ENUMS(_NAME_,_LOC_,_PARRENT_,_WEIGHT_) _NAME_,
#define GEN_FAULT_SOURCES_ARRAY(_NAME_,_LOC_,_PARRENT_,_WEIGHT_) { .eThisFaultSource=_NAME_ ,.szName=#_NAME_,.szLoc=_LOC_,.eParrentFaultSource=_PARRENT_, .dScore=0.0,.dWeight=_WEIGHT_},
typedef enum _def_eFaultSource{
VOODOO_BOARD = 0,
FAULT_SOURCES(GEN_FAULT_SOURCES_ENUMS)
_INVALID_FAULT_SOURCE_
}def_eFaultSource;
#define NB_FAULT_SOURCE _INVALID_FAULT_SOURCE_
typedef struct _def_sFaultSourceScoreRec{
def_eFaultSource eThisFaultSource;
char *szName;
char *szLoc;
def_eFaultSource eParrentFaultSource;
double dScore;
double dWeight;
}def_sFaultSourceScoreRec;
extern def_sFaultSourceScoreRec ar_dFaultScores[NB_FAULT_SOURCE];
extern def_sFaultSourceScoreRec ar_dFaultScores_sorted[NB_FAULT_SOURCE];
void
FaultSource_Reset();
void
FaultSource_AddScore(def_eFaultSource eFaultSource, double dScore);
void
FaultSource_Sort();
void
FaultSource_GetLoc(def_eFaultSource eFaultSource, char* loc);
void
FaultSource_Display();
static inline void
WordBitFaultSet( const uint32_t ErrorMark,
const double dScore,
const def_eFaultSource eFaultSourceL,
const def_eFaultSource eFaultSourceH)
{
for(unsigned char bitPos = 0; bitPos <= 31 ; bitPos++)
if(ErrorMark & (1u << bitPos))
{
if(bitPos < 16)
FaultSource_AddScore(eFaultSourceL + bitPos, dScore);
else
FaultSource_AddScore(eFaultSourceH + bitPos - 16, dScore);
}
}
static inline void
QuartetBitFaultSet( const uint8_t ErrorMark,
const double dScore,
const def_eFaultSource eFaultSource)
{
for(uint8_t bitPos = 0; bitPos <= 4 ; bitPos++)
if(ErrorMark & (1u << bitPos))
FaultSource_AddScore(eFaultSource + bitPos, dScore);
}
static inline void
MemChipDQFaultSet( const uint32_t ErrorMark,
const double dScore,
const def_eFaultSource eFaultSourceL,
const def_eFaultSource eFaultSourceH)
{
WordBitFaultSet(ErrorMark, dScore, eFaultSourceL + 1, eFaultSourceH + 1);
}
static inline void
TMUTexDataFaultSet( const uint32_t ErrorMark_w0w1,
const uint32_t ErrorMark_w2w3,
const double dScore,
const def_eFaultSource eTMUFaultSource)
{
WordBitFaultSet(ErrorMark_w0w1, dScore, eTMUFaultSource + 0 + 1, eTMUFaultSource + 16 + 1);
WordBitFaultSet(ErrorMark_w2w3, dScore, eTMUFaultSource + 32 + 1, eTMUFaultSource + 48 + 1);
}
static inline void
TMUTexDataCtrlFaultSet( const uint32_t ErrorMark,
double dScore,
const def_eFaultSource eFaultSourceCASL,
const def_eFaultSource eFaultSourceCASH,
const def_eFaultSource eFaultSourceRAS,
const def_eFaultSource eFaultSourceWE
)
{
if( count_bit32(ErrorMark) > 16 )
{
if(ErrorMark & 0x000000FF)
FaultSource_AddScore(eFaultSourceCASL,dScore);
if(ErrorMark & 0x0000FF00)
FaultSource_AddScore(eFaultSourceCASH,dScore);
if(ErrorMark & 0x00FF0000)
FaultSource_AddScore(eFaultSourceCASL,dScore);
if(ErrorMark & 0xFF000000)
FaultSource_AddScore(eFaultSourceCASH,dScore);
FaultSource_AddScore(eFaultSourceRAS,dScore / 2);
FaultSource_AddScore(eFaultSourceWE,dScore / 2);
}
}
#endif //_DEF_FAULTSOURCES_H_