1#!/bin/bash 2echo 3echo "-----FPGA Daytona<x> CRB Register Dump Utility" 4echo 5 6I2CBUS=2 7FPGAADDR=0x41 8 9FPGA_REG=1 10DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 11echo ----------FPGAreg$FPGA_REG------------------------- 12echo M_ABCD_EVENT_R_BUF_N----- : $(((DATA & 0x80) >> 7)) 13echo M_EFGH_EVENT_R_BUF_N----- : $(((DATA & 0x40) >> 6)) 14echo M_IJKL_EVENT_R_BUF_N----- : $(((DATA & 0x20) >> 5)) 15echo M_MNOP_EVENT_R_BUF_N----- : $(((DATA & 0x10) >> 4)) 16 17FPGA_REG=2 18DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 19echo ----------FPGAreg$FPGA_REG------------------------- 20echo BMC_NVDIMM_PRSNT_R_N----- : $(((DATA & 0x80) >> 7)) 21echo FM_ADR_TRIGGER_CPU_BUFF_N : $(((DATA & 0x40) >> 6)) 22echo FM_BMC_ONCTL_N----------- : $(((DATA & 0x20) >> 5)) 23echo FM_NVDIMM_EVENT_N-------- : $(((DATA & 0x10) >> 4)) 24echo P0_FORCE_SELFREFRESH----- : $(((DATA & 0x08) >> 3)) 25echo P0_NV_SAVE--------------- : $(((DATA & 0x04) >> 2)) 26echo P1_FORCE_SELFREFRESH----- : $(((DATA & 0x02) >> 1)) 27echo P1_NV_SAVE--------------- : $((DATA & 0x01)) 28 29FPGA_REG=3 30DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 31echo ----------FPGAreg$FPGA_REG------------------------- 32echo CPLD_PWR_BTN_N----------- : $(((DATA & 0x80) >> 7)) 33echo FM_DEBUG_RST_BTN_N------- : $(((DATA & 0x40) >> 6)) 34echo P0_PWR_BTN_N------------- : $(((DATA & 0x20) >> 5)) 35echo PWRBTN_CPLD_IN_N--------- : $(((DATA & 0x10) >> 4)) 36echo FM_PLD_DEBUG_MODE_N------ : $(((DATA & 0x08) >> 3)) 37echo FM_PLD_DEBUG0------------ : $(((DATA & 0x04) >> 2)) 38echo FM_PLD_DEBUG1------------ : $(((DATA & 0x02) >> 1)) 39echo FM_PLD_DEBUG0------------ : $((DATA & 0x01)) 40 41FPGA_REG=4 42DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 43echo ----------FPGAreg$FPGA_REG------------------------- 44echo FM_PLD_DEBUG3------------ : $(((DATA & 0x80) >> 7)) 45echo FM_PLD_DEBUG4------------ : $(((DATA & 0x40) >> 6)) 46echo FM_PLD_DEBUG5------------ : $(((DATA & 0x20) >> 5)) 47echo FM_PLD_DEBUG6------------ : $(((DATA & 0x10) >> 4)) 48echo FM_PLD_DEBUG7------------ : $(((DATA & 0x08) >> 3)) 49echo BP_SIG_CABLE_PRES_R_N---- : $(((DATA & 0x04) >> 2)) 50echo CPLD_P0_THERMTRIP_N------ : $(((DATA & 0x02) >> 1)) 51echo CPLD_P1_THERMTRIP_N------ : $((DATA & 0x01)) 52 53FPGA_REG=5 54DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 55echo ----------FPGAreg$FPGA_REG------------------------- 56echo FM_BMC_CPLD_GPO---------- : $(((DATA & 0x80) >> 7)) 57echo FM_BMC_READY_N----------- : $(((DATA & 0x40) >> 6)) 58echo FM_CPLD_BMC_PWRDN_N------ : $(((DATA & 0x20) >> 5)) 59echo LED_PWR_AMBER_R---------- : $(((DATA & 0x10) >> 4)) 60echo LED_PWR_GRN_R------------ : $(((DATA & 0x08) >> 3)) 61echo P0_CORETYPE-------------- : $(((DATA & 0x04) >> 2)) 62echo P0_CPU_PRESENT_HDT------- : $(((DATA & 0x02) >> 1)) 63echo P0_CPU_PRESENT_N--------- : $((DATA & 0x01)) 64 65FPGA_REG=6 66DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 67echo ----------FPGAreg$FPGA_REG------------------------- 68echo P0_NMI_SYNC_FLOOD_N------ : $(((DATA & 0x80) >> 7)) 69echo P0_PWROK_RST_BUF_EN_N---- : $(((DATA & 0x40) >> 6)) 70echo P0_SP3R1----------------- : $(((DATA & 0x20) >> 5)) 71echo P0_SP3R2_R--------------- : $(((DATA & 0x10) >> 4)) 72echo P1_CORETYPE-------------- : $(((DATA & 0x08) >> 3)) 73echo P1_CPU_PRESENT_HDT------- : $(((DATA & 0x04) >> 2)) 74echo P1_CPU_PRESENT_N--------- : $(((DATA & 0x02) >> 1)) 75echo P1_PWROK_RST_BUF_EN_N---- : $((DATA & 0x01)) 76 77FPGA_REG=7 78DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 79echo ----------FPGAreg$FPGA_REG------------------------- 80echo P1_SP3R1----------------- : $(((DATA & 0x80) >> 7)) 81echo P1_SP3R2_R--------------- : $(((DATA & 0x40) >> 6)) 82echo PSU1_BLADE_EN_R_N-------- : $(((DATA & 0x20) >> 5)) 83echo SLOT1_CLKREQ_N----------- : $(((DATA & 0x10) >> 4)) 84echo SLOT1_PRSNT_N------------ : $(((DATA & 0x08) >> 3)) 85echo SLOT2_CLKREQ_N----------- : $(((DATA & 0x04) >> 2)) 86echo SLOT2_PRSNT_N------------ : $(((DATA & 0x02) >> 1)) 87echo SMB_M2_S0_ALERT_N-------- : $((DATA & 0x01)) 88 89FPGA_REG=8 90DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 91echo ----------FPGAreg$FPGA_REG------------------------- 92echo SMB_M2_S1_ALERT_N-------- : $(((DATA & 0x80) >> 7)) 93echo FM_BMC_READ_SPD_TEMP----- : $(((DATA & 0x40) >> 6)) 94echo PWR_ALL_ON_N------------- : $(((DATA & 0x20) >> 5)) 95echo I2C_SELECT_CPLD---------- : $(((DATA & 0x10) >> 4)) 96echo CPLD_PWRBRK_N------------ : $(((DATA & 0x08) >> 3)) 97echo FM_PWRBRK_N-------------- : $(((DATA & 0x04) >> 2)) 98echo PSU1_THROTTLE_N---------- : $(((DATA & 0x02) >> 1)) 99echo PSU2_ALERT_EN_N---------- : $((DATA & 0x01)) 100 101FPGA_REG=9 102DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 103echo ----------FPGAreg$FPGA_REG------------------------- 104echo PSU2_ALERT_N------------- : $(((DATA & 0x80) >> 7)) 105echo RM_THROTTLE_EN_N----- ----: $(((DATA & 0x40) >> 6)) 106echo FM_P1V8_AUX_P0_EN-------- : $(((DATA & 0x20) >> 5)) 107echo FM_P1V8_AUX_P1_EN-------- : $(((DATA & 0x10) >> 4)) 108echo FM_P1V8_P0_EN------------ : $(((DATA & 0x08) >> 3)) 109echo FM_P1V8_P1_EN------------ : $(((DATA & 0x04) >> 2)) 110echo FM_P5V_EN---------------- : $(((DATA & 0x02) >> 1)) 111echo FM_PS_P12V_EN------------ : $((DATA & 0x01)) 112 113FPGA_REG=10 114DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 115echo ----------FPGAreg$FPGA_REG------------------------- 116echo FM_PS_P12V_FAN_EN-------- : $(((DATA & 0x80) >> 7)) 117echo FM_PVDDIO_ABCD_EN-------- : $(((DATA & 0x40) >> 6)) 118echo FM_PVDDIO_EFGH_EN-------- : $(((DATA & 0x20) >> 5)) 119echo FM_PVDDIO_IJKL_EN-------- : $(((DATA & 0x10) >> 4)) 120echo FM_PVDDIO_MNOP_EN-------- : $(((DATA & 0x08) >> 3)) 121echo FM_PVPP_ABCD_EN---------- : $(((DATA & 0x04) >> 2)) 122echo FM_PVPP_EFGH_EN---------- : $(((DATA & 0x02) >> 1)) 123echo FM_PVPP_IJKL_EN---------- : $((DATA & 0x01)) 124 125FPGA_REG=11 126DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 127echo ----------FPGAreg$FPGA_REG------------------------- 128echo FM_PVPP_MNOP_EN---------- : $(((DATA & 0x80) >> 7)) 129echo P0_VDDCR_CPU_EN1--------- : $(((DATA & 0x40) >> 6)) 130echo P0_VDDCR_CPU_PWROK_R----- : $(((DATA & 0x20) >> 5)) 131echo P0_VDDCR_SOC_AUX_EN------ : $(((DATA & 0x10) >> 4)) 132echo P0_VDDCR_SOC_EN1--------- : $(((DATA & 0x08) >> 3)) 133echo P0_VDDCR_SOC_PWROK_R----- : $(((DATA & 0x04) >> 2)) 134echo P1_VDDCR_CPU_EN1--------- : $(((DATA & 0x02) >> 1)) 135echo P1_VDDCR_CPU_PWROK_R----- : $((DATA & 0x01)) 136 137FPGA_REG=12 138DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 139echo ----------FPGAreg$FPGA_REG------------------------- 140echo P1_VDDCR_SOC_AUX_EN------ : $(((DATA & 0x80) >> 7)) 141echo P1_VDDCR_SOC_EN1--------- : $(((DATA & 0x40) >> 6)) 142echo P1_VDDCR_SOC_PWROK_R----- : $(((DATA & 0x20) >> 5)) 143echo PVTT_ABCD_EN------------- : $(((DATA & 0x10) >> 4)) 144echo PVTT_EFGH_EN------------- : $(((DATA & 0x08) >> 3)) 145echo PVTT_IJKL_EN------------- : $(((DATA & 0x04) >> 2)) 146echo PVTT_MNOP_EN------------- : $(((DATA & 0x02) >> 1)) 147echo VR_P3V3_EN_N------------- : $((DATA & 0x01)) 148 149FPGA_REG=13 150DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 151echo ----------FPGAreg$FPGA_REG------------------------- 152echo ASSERT_P0_PWROK_L------- : $(((DATA & 0x80) >> 7)) 153echo ASSERT_P1_PWROK_L------- : $(((DATA & 0x40) >> 6)) 154echo HDT_HDR_PWROK----------- : $(((DATA & 0x20) >> 5)) 155echo P0_33_PWROK------------- : $(((DATA & 0x10) >> 4)) 156echo P0_PWR_GOOD------------- : $(((DATA & 0x08) >> 3)) 157echo P0_PWRGD_OUT------------ : $(((DATA & 0x04) >> 2)) 158echo P0_VDDCR_CPU_PG1-------- : $(((DATA & 0x02) >> 1)) 159echo P0_VDDCR_SOC_PG1-------- : $((DATA & 0x01)) 160 161FPGA_REG=14 162DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 163echo ----------FPGAreg$FPGA_REG------------------------- 164echo P1_33_PWROK------------- : $(((DATA & 0x80) >> 7)) 165echo P1_PWR_GOOD------------- : $(((DATA & 0x40) >> 6)) 166echo P1_PWRGD_OUT------------ : $(((DATA & 0x20) >> 5)) 167echo P1_VDDCR_CPU_PG1-------- : $(((DATA & 0x10) >> 4)) 168echo P1_VDDCR_SOC_PG1-------- : $(((DATA & 0x08) >> 3)) 169echo P3V3_AUX_PWRGD---------- : $(((DATA & 0x04) >> 2)) 170echo PWRGD_BMC_ALL----------- : $(((DATA & 0x02) >> 1)) 171echo PWRGD_P0_VDDCR_SOC_AUX-- : $((DATA & 0x01)) 172 173FPGA_REG=15 174DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 175echo ----------FPGAreg$FPGA_REG------------------------- 176echo PWRGD_P1_VDDCR_SOC_AUX-- : $(((DATA & 0x80) >> 7)) 177echo PWRGD_P12V-------------- : $(((DATA & 0x40) >> 6)) 178echo PWRGD_P12V_FAN_R-------- : $(((DATA & 0x20) >> 5)) 179echo PWRGD_P1V8_AUX_P0------- : $(((DATA & 0x10) >> 4)) 180echo PWRGD_P1V8_AUX_P1------- : $(((DATA & 0x08) >> 3)) 181echo PWRGD_P1V8_P0----------- : $(((DATA & 0x04) >> 2)) 182echo PWRGD_P1V8_P1----------- : $(((DATA & 0x02) >> 1)) 183echo PWRGD_P3V3_R3----------- : $((DATA & 0x01)) 184 185FPGA_REG=16 186DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 187echo ----------FPGAreg$FPGA_REG------------------------- 188echo PWRGD_P5V_CPLD_R-------- : $(((DATA & 0x80) >> 7)) 189echo PWRGD_PVDDIO_ABCD------- : $(((DATA & 0x40) >> 6)) 190echo PWRGD_PVDDIO_EFGH------- : $(((DATA & 0x20) >> 5)) 191echo PWRGD_PVDDIO_IJKL------- : $(((DATA & 0x10) >> 4)) 192echo PWRGD_PVDDIO_MNOP------- : $(((DATA & 0x08) >> 3)) 193echo PWRGD_PVPP_ABCD--------- : $(((DATA & 0x04) >> 2)) 194echo PWRGD_PVPP_EFGH--------- : $(((DATA & 0x02) >> 1)) 195echo PWRGD_PVPP_IJKL--------- : $((DATA & 0x01)) 196 197FPGA_REG=17 198DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 199echo ----------FPGAreg$FPGA_REG------------------------- 200echo PWRGD_PVPP_MNOP--------- : $(((DATA & 0x80) >> 7)) 201echo PWRGD_PVTT_ABCD--------- : $(((DATA & 0x40) >> 6)) 202echo PWRGD_PVTT_EFGH--------- : $(((DATA & 0x20) >> 5)) 203echo PWRGD_PVTT_IJKL--------- : $(((DATA & 0x10) >> 4)) 204echo PWRGD_PVTT_MNOP--------- : $(((DATA & 0x08) >> 3)) 205echo PWRGD_SYS_BMC_PWROK----- : $(((DATA & 0x04) >> 2)) 206echo P0_SLP_S3_N------------- : $(((DATA & 0x02) >> 1)) 207echo P0_SLP_S5_N------------- : $((DATA & 0x01)) 208 209FPGA_REG=18 210DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 211echo ----------FPGAreg$FPGA_REG------------------------- 212echo PSU2_PS_ON_N----------- : $(((DATA & 0x80) >> 7)) 213echo BMC_PWRCAP_N----------- : $(((DATA & 0x40) >> 6)) 214echo CPLD_FPH_ALERT_R_N----- : $(((DATA & 0x20) >> 5)) 215echo FAST_PROCHOT_R_N------- : $(((DATA & 0x10) >> 4)) 216echo FM_THROTTLE_IN_N------- : $(((DATA & 0x08) >> 3)) 217echo HSC_GPIO0_PLD_N-------- : $(((DATA & 0x04) >> 2)) 218echo HSC_GPIO1_PLD_N-------- : $(((DATA & 0x02) >> 1)) 219echo P0_BMC_PROCHOT_N------- : $((DATA & 0x01)) 220 221FPGA_REG=19 222DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 223echo ----------FPGAreg$FPGA_REG------------------------- 224echo P1_BMC_PROCHOT_N------- : $(((DATA & 0x80) >> 7)) 225echo PMB_ALERT_SW_N--------- : $(((DATA & 0x40) >> 6)) 226echo RM_THROTTLE_SW_N------- : $(((DATA & 0x20) >> 5)) 227echo RST_PLTRST_DLY--------- : $(((DATA & 0x10) >> 4)) 228echo UV_ALERT_R_N----------- : $(((DATA & 0x08) >> 3)) 229echo ASSERT_P0_RESET-------- : $(((DATA & 0x04) >> 2)) 230echo ASSERT_P1_RESET-------- : $(((DATA & 0x02) >> 1)) 231echo HDT_HDR_RESET_L-------- : $((DATA & 0x01)) 232 233FPGA_REG=20 234DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 235echo ----------FPGAreg$FPGA_REG------------------------- 236echo RST_CPLD_BMC_R_N------- : $(((DATA & 0x80) >> 7)) 237echo RST_CPU_1V8_N---------- : $(((DATA & 0x40) >> 6)) 238echo RST_KBRST_P0_N--------- : $(((DATA & 0x20) >> 5)) 239echo RST_P0_3V3_N----------- : $(((DATA & 0x10) >> 4)) 240echo RST_P0_PE0_N----------- : $(((DATA & 0x08) >> 3)) 241echo RST_P0_PE1_N----------- : $(((DATA & 0x04) >> 2)) 242echo RST_P0_PE2_N----------- : $(((DATA & 0x02) >> 1)) 243echo RST_P0_PE3_N,---------- : $((DATA & 0x01)) 244 245FPGA_REG=21 246DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 247echo ----------FPGAreg$FPGA_REG------------------------- 248echo RST_P0_SASHD_0_R_N----- : $(((DATA & 0x80) >> 7)) 249echo RST_P0_SASHD_1_R_N----- : $(((DATA & 0x40) >> 6)) 250echo RST_P1_3V3_N----------- : $(((DATA & 0x20) >> 5)) 251echo RST_P1_OCU1_R_N-------- : $(((DATA & 0x10) >> 4)) 252echo RST_P1_PE0_N----------- : $(((DATA & 0x08) >> 3)) 253echo RST_P1_PE1_N----------- : $(((DATA & 0x04) >> 2)) 254echo RST_P1_PE2_N----------- : $(((DATA & 0x02) >> 1)) 255echo RST_P1_PE3_N,---------- : $((DATA & 0x01)) 256 257FPGA_REG=22 258DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 259echo ----------FPGAreg$FPGA_REG------------------------- 260echo RST_BMC_RSTBTN_OUT_N_CPLD : $(((DATA & 0x80) >> 7)) 261echo RST_PE_NVME0_N----------- : $(((DATA & 0x40) >> 6)) 262echo RST_PE_NVME1_N----------- : $(((DATA & 0x20) >> 5)) 263echo RST_PE_NVME2_N----------- : $(((DATA & 0x10) >> 4)) 264echo RST_PE_NVME3_N----------- : $(((DATA & 0x08) >> 3)) 265echo RST_PE_SLOT1_N----------- : $(((DATA & 0x04) >> 2)) 266echo RST_PE_SLOT2_N----------- : $(((DATA & 0x02) >> 1)) 267echo RST_PE_SLOT3_N----------- : $((DATA & 0x01)) 268 269FPGA_REG=23 270DATA=$(i2cget -y $I2CBUS $FPGAADDR "$(printf '0x%x' $FPGA_REG)") 271echo ----------FPGAreg$FPGA_REG------------------------- 272echo RST_PE_SLOT4_N----------- : $(((DATA & 0x80) >> 7)) 273echo RST_PE_SLOT5_N----------- : $(((DATA & 0x40) >> 6)) 274echo RST_RSMRST_P0_N---------- : $(((DATA & 0x20) >> 5)) 275echo RST_RSMRST_P1_N---------- : $(((DATA & 0x10) >> 4)) 276echo RST_SYSTEM_BTN_CPLD_N---- : $(((DATA & 0x08) >> 3)) 277echo RST_VSBPWR_BMC_BUF_N----- : $(((DATA & 0x04) >> 2)) 278