summaryrefslogtreecommitdiffstats
path: root/private/ntos/nthals/halncr/i386/ncrpsi.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/ntos/nthals/halncr/i386/ncrpsi.h')
-rw-r--r--private/ntos/nthals/halncr/i386/ncrpsi.h291
1 files changed, 291 insertions, 0 deletions
diff --git a/private/ntos/nthals/halncr/i386/ncrpsi.h b/private/ntos/nthals/halncr/i386/ncrpsi.h
new file mode 100644
index 000000000..2bda2f117
--- /dev/null
+++ b/private/ntos/nthals/halncr/i386/ncrpsi.h
@@ -0,0 +1,291 @@
+/*++
+
+Copyright (C) 1992 NCR Corporation
+
+
+Module Name:
+
+ ncrpsi.h
+
+Author:
+
+Abstract:
+
+ System equates for dealing with the NCR PSI boad.
+
+++*/
+
+#ifndef _NCRPSI_
+#define _NCRPSI_
+
+/*
+ * CAT_I is the only ASIC on the Power Supply Interface Module
+ */
+
+
+/* UNDEFINED STATUS BITS */
+
+#define PSI_Security_Switch_L5 0x01
+
+/* END UNDEFINED STATUS BITS */
+
+
+#define NUM_POWER_SUPPLIES_L5 5
+#define NUM_FANS_L5 8
+
+#define PSI_Interrupt_Status_L5 0x08
+
+ /* Read Values */
+
+#define PSI_DC_Failed0_L5 0x01
+#define PSI_PwrSupplyMon_L5 0x02
+#define PSI_Fault_L5 0x04
+#define PSI_TimerAlarm_L5 0x08
+#define PSI_DVM_Int_L5 0x20
+#define PSI_StatusChange_L5 0x80
+
+ /* Write Values */
+
+#define PSI_ClearFault_L5 0x00
+
+
+#define PSI_Status_Change_1_L5 0x09
+
+#define PSI_Temp2_L5 0x02
+#define PSI_Temp1_L5 0x04
+#define PSI_Diag_Stat_L5 0x40
+
+#define PSI_Status_Change_3_L5 0x0A
+#define PSI_Fan1_Failed_L5 0x01
+#define PSI_Fan2_Failed_L5 0x02
+#define PSI_Fan3_Failed_L5 0x04
+#define PSI_Fan4_Failed_L5 0x08
+#define PSI_Fan5_Failed_L5 0x10
+#define PSI_Fan6_Failed_L5 0x20
+#define PSI_Fan7_Failed_L5 0x40
+#define PSI_Fan8_Failed_L5 0x80
+
+#define PSI_Fault_Status_L5 0x0B
+#define PSI_VSB_OverCurrent_L5 0x01
+#define PSI_PMC_OverCurrent_L5 0x02
+#define PSI_SMC_OverCurrent_L5 0x04
+#define PSI_TempFault_L5 0x80
+
+#define PSI_TMS_Activity_L5 0x0C
+#define PSI_TMSX_0 0x01
+#define PSI_TMSX_1 0x02
+#define PSI_TMSX_2 0x04
+#define PSI_TMSX_3 0x08
+#define PSI_TMSX_4 0x10
+#define PSI_TMSX_5 0x20
+#define PSI_TMSX_MC 0x40
+#define PSI_TMSX_Spare 0x80
+
+#define PSI_General_XS1_L5 0x0D
+
+ /* Read Values */
+
+#define PSI_Red_Disk_LED_L5 0x01
+#define PSI_Grn_Disk_LED_L5 0x02
+#define PSI_Red_Stat_LED_L5 0x04
+#define PSI_Grn_Stat_LED_L5 0x08
+#define PSI_Diag_Stat_L5 0x40
+#define PSI_Q_Cold_Reset_L5 0x80
+
+/* Write Values */
+
+#define PSI_Red_Disk_LED_Off_L5 0x00
+#define PSI_Red_Disk_LED_On_L5 0x10
+#define PSI_Grn_Disk_LED_Off_L5 0x01
+#define PSI_Grn_Disk_LED_On_L5 0x11
+#define PSI_Red_Stat_LED_Off_L5 0x02
+#define PSI_Red_Stat_LED_On_L5 0x12
+#define PSI_Grn_Stat_LED_Off_L5 0x03
+#define PSI_Grn_Stat_LED_On_L5 0x13
+#define PSI_Diag_Stat_Off_L5 0x06
+#define PSI_Diag_Stat_On_L5 0x16
+#define PSI_Assert_Cold_Reset_L5 0x07
+#define PSI_Unassert_Cold_Reset_L5 0x17
+
+#define PSI_Sys_Status_L5 0x0E
+#define PSI_S_128_256_L5 0x04
+#define PSI_Test_L5 0x08
+#define PSI_Enable_Fault_L5 0x40
+#define PSI_Enable_HX_Off_L5 0x80
+
+
+#define PSI_Pwr_Supply_Status_L5 0x8000
+
+ /* read values */
+
+#define PSI_DC_Fail0 0x01
+#define PSI_AC_Fail0 0x02
+#define PSI_PSMon_INT 0x04
+#define PSI_PowerOff_Request 0x08
+#define PSI_HX_Off 0x10
+#define PSI_SecuritySwitch_On 0x20
+#define PSI_CmosBattery_Low 0x40
+#define PSI_CmosBattery_Fail 0x80
+
+ /* write values */
+
+#define PSI_Clear_PowerOff_Request 0x13
+#define PSI_Clear_HXOff_Request 0x14
+#define PSI_Clear_CmosBattery_Fail 0x17
+
+#define PSI_Pwr_Supply_Mask_L5 0x8001
+
+ /* read values */
+
+#define PSI_Redundant_Config 0x20
+
+ /* write values */
+
+#define PSI_PowerSupply1_Mask 0x10
+#define PSI_PowerSupply2_Mask 0x11
+#define PSI_PowerSupply3_Mask 0x12
+#define PSI_PowerSupply4_Mask 0x13
+#define PSI_PowerSupply5_Mask 0x14
+
+#define PSI_Pwr_Supply_Pres_L5 0x8002
+#define PSI_PowerSupply1_Present 0x01
+#define PSI_PowerSupply2_Present 0x02
+#define PSI_PowerSupply3_Present 0x04
+#define PSI_PowerSupply4_Present 0x08
+#define PSI_PowerSupply5_Present 0x10
+#define PSI_UPS_Present 0x20
+#define PSI_True 0x40
+#define PSI_PowerSupply_Failure 0x80
+
+#define PSI_Pwr_Supply_DCFail_L5 0x8003
+#define PSI_DcFail1 0x01
+#define PSI_DcFail2 0x02
+#define PSI_DcFail3 0x04
+#define PSI_DcFail4 0x08
+#define PSI_DcFail5 0x10
+#define PSI_DcChange 0x80
+
+#define PSI_Pwr_Supply_AcFail_L5 0x8004
+#define PSI_AcFail1 0x01
+#define PSI_AcFail2 0x02
+#define PSI_AcFail3 0x04
+#define PSI_AcFail4 0x08
+#define PSI_AcFail5 0x10
+#define PSI_AcChange 0x80
+
+#define PSI_Pwr_Supply_Fail_L5 0x8005
+#define PSI_PwrFail1 0x01
+#define PSI_PwrFail2 0x02
+#define PSI_PwrFail3 0x04
+#define PSI_PwrFail4 0x08
+#define PSI_PwrFail5 0x10
+#define PSI_PsChange 0x80
+
+#define PSI_Pwr_Supply_UpsFail_L5 0x8006
+#define PSI_UpsFail1 0x01
+#define PSI_UpsFail2 0x02
+#define PSI_UpsFail3 0x04
+#define PSI_UpsFail4 0x08
+#define PSI_UpsFail5 0x10
+#define PSI_UpsPresent 0x20
+#define PSI_UpsChargeLow 0x40
+#define PSI_UpsChange 0x80
+
+#define PSI_General_Ps_Status_L5 0x8007
+
+ /* read values */
+
+#define PSI_PowerSwitch_On 0x01
+#define PSI_PowerSwitch_Enabled 0x02
+#define PSI_Alarm_Enabled 0x08
+#define PSI_SecureSwitch_Enabled 0x10
+#define PSI_Cold_Reset 0x20
+#define PSI_Cold_Start 0x80
+
+ /* write values */
+
+#define PSI_SoftwarePowerDown0 0x00
+#define PSI_SoftwarePowerDown1 0x10
+#define PSI_Clear_AlarmEnable 0x01
+#define PSI_Set_AlarmEnable 0x11
+#define PSI_Disable_FrontSwitch 0x02
+#define PSI_Enable_FrontSwitch 0x12
+#define PSI_LPB_Reset 0x13
+#define PSI_SwClear_On 0x14
+#define PSI_Clear_ColdReset 0x05
+#define PSI_Set_ColdReset 0x15
+#define PSI_Clear_ColdStart0 0x07
+#define PSI_Clear_ColdStart1 0x17
+
+#define PSI_DiskGroupEnable_L5 0x8010
+#define PSI_DiskStatus_L5 0x8020
+#define PSI_DiskLatchInstalled_L5 0x8028
+#define PSI_Dvm_Select_L5 0x8030
+#define PSI_Dvm_Int_En_L5 0x80
+#define DVM_CONTROL (0x8030)
+#define DVM_DBASE (0x8038)
+#define DVM_SAMPLE (0x80)
+#define DVM_SAMPLE_TIME (5000000) // 500ms in 100ns ticks
+
+#define PSI_WDT_Command_Register_L5 0x804b
+
+ /* write values */
+
+#define PSI_Set_TDM_Bit 0x04
+
+typedef struct _PSI_INFORMATION {
+ union {
+ CAT_REGISTERS CatRegs;
+ struct {
+ UCHAR Dummy0;
+ UCHAR Dummy1;
+ UCHAR Dummy2;
+ UCHAR Dummy3;
+ UCHAR Dummy4;
+ UCHAR Dummy5;
+ UCHAR Dummy6;
+ UCHAR Dummy7;
+ UCHAR InterruptStatus;
+ UCHAR Status1;
+ UCHAR Status3;
+ UCHAR Fault;
+ UCHAR Tms;
+ UCHAR General1;
+ UCHAR SystemConfig;
+ UCHAR DummyF;
+ } PsiRegisters;
+ } CatRegisters;
+
+ /* Begin Subaddress space */
+
+ UCHAR PowerSupplyStatus; /* begin address 8000 */
+ UCHAR PowerSupplyMask;
+ UCHAR PowerSupplyPres;
+ UCHAR PowerSupplyDcFail;
+ UCHAR PowerSupplyAcFail;
+ UCHAR PowerSupplyPsFail;
+ UCHAR PowerSupplyUpsFail;
+ UCHAR GeneralPowerSupplyStatus;
+ UCHAR DiskPowerStatus[8]; /* begin address 8020 */
+ UCHAR DiskInstallStatus[8]; /* begin address 8028 */
+ UCHAR DvmSelect; /* begin address 8030 */
+ UCHAR DvmData0;
+ UCHAR DvmData1;
+ UCHAR DvmData2;
+ UCHAR DvmData3;
+
+} PSI_INFORMATION, *PPSI_INFORMATION;
+
+/* defines for union referencing */
+#define INTERRUPT_STATUS CatRegisters.PsiRegisters.InterruptStatus
+#define STATUS_CHANGE_1 CatRegisters.PsiRegisters.Status1
+#define STATUS_CHANGE_3 CatRegisters.PsiRegisters.Status3
+#define GENERAL_1 CatRegisters.PsiRegisters.General1
+#define FAULT_STATUS CatRegisters.PsiRegisters.Fault
+#define SYSTEM_CONFIG CatRegisters.PsiRegisters.SystemConfig
+
+#define PSI_SHUTDOWN 0 /* tells kernel power fail code to shutdown */
+#define PSI_POWERFAIL 1 /* tells kernel power fail code to powerfail */
+
+
+#endif // _NCRPSI_