From b2ea93f87c851f04969d1d70a617153b7db91cfa Mon Sep 17 00:00:00 2001 From: raywu Date: Thu, 28 Jun 2018 16:36:05 +0800 Subject: Supported F81866 Smart FAN --- Board/IO/F81866/BSP/DxeIoTable.h | 3 +- Board/IO/F81866/BSP/F81866HwmOemHooks.c | 9 +- Board/IO/F81866/BSP/F81866SmartFan.c | 347 +++++++++++++------ Board/IO/F81866/F81866.SD | 593 +++++++++++++++++++------------- Board/IO/F81866/F81866.UNI | Bin 38024 -> 39290 bytes CRB/CSP.sdl | 31 ++ 6 files changed, 630 insertions(+), 353 deletions(-) diff --git a/Board/IO/F81866/BSP/DxeIoTable.h b/Board/IO/F81866/BSP/DxeIoTable.h index d56f42d..fa7096d 100644 --- a/Board/IO/F81866/BSP/DxeIoTable.h +++ b/Board/IO/F81866/BSP/DxeIoTable.h @@ -119,7 +119,8 @@ DXE_DEVICE_INIT_DATA DXE_HWM_Init_Table_After_Active[] = { // PECI/TSI/SMBus Setting #if (F81866_PECI_SUPPORT) {0x0A, 0xDE, (F81866_INTEL_SEL << 5) | F81866_PECI_EN }, - {0x09, 0x01, F81866_I2C_ADDR & 0xFE }, +// {0x09, 0x01, F81866_I2C_ADDR & 0xFE }, + {0x0C, 0x00, 0x64 }, #endif #if (F81866_IBEX_SUPPORT) {0x0A, 0xDD, (F81866_INTEL_SEL << 5) | (F81866_IBEX_EN << 1)}, diff --git a/Board/IO/F81866/BSP/F81866HwmOemHooks.c b/Board/IO/F81866/BSP/F81866HwmOemHooks.c index 0ffa3c6..22d80b9 100644 --- a/Board/IO/F81866/BSP/F81866HwmOemHooks.c +++ b/Board/IO/F81866/BSP/F81866HwmOemHooks.c @@ -469,7 +469,7 @@ GetAndUpdateVIN2Voltage ( //OEM_TODO:Get value with HWM IO interface GetValueWithIO(0x00,0x22,&VIN2) ; // Register 0x22 - VIN2 = VIN2*8*(20+47)/47; + VIN2 = VIN2*8*(20+2)/2; Data->Value = (UINT16)VIN2; return; @@ -503,7 +503,8 @@ GetAndUpdateVIN3Voltage ( //OEM_TODO:Get value with HWM IO interface GetValueWithIO(0x00,0x23,&VIN3) ; // Register 0x23 - VIN3 = VIN3*8; + //VIN3 = VIN3*8; + VIN3 = VIN3*8*(200 + 47) / 47; Data->Value = (UINT16)VIN3; return; @@ -537,7 +538,7 @@ GetAndUpdateVIN4Voltage ( //OEM_TODO:Get value with HWM IO interface GetValueWithIO(0x00,0x24,&VIN4) ; // Register 0x24 - VIN4 = VIN4*8*(100+100)/100; + VIN4 = VIN4*8; Data->Value = (UINT16)VIN4; return; @@ -571,7 +572,7 @@ GetAndUpdateVSB5VVoltage ( //OEM_TODO:Get value with HWM IO interface GetValueWithIO(0x00,0x27,&VSB5V) ; // Register 0x27 - VSB5V = VSB5V*8*2; + VSB5V = VSB5V*8*3; Data->Value = (UINT16)VSB5V; return; diff --git a/Board/IO/F81866/BSP/F81866SmartFan.c b/Board/IO/F81866/BSP/F81866SmartFan.c index 674a73e..23a7cc8 100644 --- a/Board/IO/F81866/BSP/F81866SmartFan.c +++ b/Board/IO/F81866/BSP/F81866SmartFan.c @@ -54,46 +54,70 @@ typedef struct _S3_SAVE_DATA{ //---------------------------------------------------------------------------------------------- // smart system fan registers need init AfterActivate. !!!AfterActivate //---------------------------------------------------------------------------------------------- +#define IDX_FAN_MODE 0 +#define IDX_TEMP_HYS 1 +#define IDX_FAN_SPEED_MSB 2 +#define IDX_FAN_SPEED_LSB 3 +#define IDX_TEMP_BOUND1 4 +#define IDX_TEMP_BOUND2 5 +#define IDX_TEMP_BOUND3 6 +#define IDX_TEMP_BOUND4 7 +#define IDX_SPEED_SEG1 8 +#define IDX_SPEED_SEG2 9 +#define IDX_SPEED_SEG3 10 +#define IDX_SPEED_SEG4 11 +#define IDX_SPEED_SEG5 12 +#define IDX_TEMP_SRCSEL 13 + DXE_SMF_INIT_DATA DXE_FAN1_INIT_TABLE[] = { - {0x96, 0xFC, 0x00}, - {0xA2, 0xFF, 0x00}, - {0xA3, 0xFF, 0x00}, - {0xA6, 0xFF, 0x00}, - {0xA7, 0xFF, 0x00}, - {0xA8, 0xFF, 0x00}, - {0xA9, 0XFF, 0x00}, - {0xAB, 0xFF, 0x00}, - {0xAC, 0xFF, 0x00}, - {0xAD, 0xFF, 0x00}, - {0xAE, 0xFF, 0x00}, + {0x96, 0xFC, 0x00}, + {0x98, 0xF0, 0x02}, + {0xA2, 0xFF, 0x00}, + {0xA3, 0xFF, 0x00}, + {0xA6, 0xFF, 0x00}, + {0xA7, 0xFF, 0x00}, + {0xA8, 0xFF, 0x00}, + {0xA9, 0XFF, 0x00}, + {0xAA, 0xFF, 0xFF}, + {0xAB, 0xFF, 0x00}, + {0xAC, 0xFF, 0x00}, + {0xAD, 0xFF, 0x00}, + {0xAE, 0xFF, 0x00}, + {0xAF, 0xFC, 0x00}, }; DXE_SMF_INIT_DATA DXE_FAN2_INIT_TABLE[] = { {0x96, 0xF3, 0x00}, + {0x98, 0x0F, 0x20}, {0xB2, 0xFF, 0x00}, {0xB3, 0xFF, 0x00}, {0xB6, 0xFF, 0x00}, {0xB7, 0xFF, 0x00}, {0xB8, 0xFF, 0x00}, {0xB9, 0XFF, 0x00}, + {0xBA, 0xFF, 0xFF}, {0xBB, 0xFF, 0x00}, {0xBC, 0xFF, 0x00}, {0xBD, 0xFF, 0x00}, {0xBE, 0xFF, 0x00}, + {0xBF, 0xFC, 0x00}, }; DXE_SMF_INIT_DATA DXE_FAN3_INIT_TABLE[] = { {0x96, 0xCF, 0x00}, + {0x99, 0xF0, 0x02}, {0xC2, 0xFF, 0x00}, {0xC3, 0xFF, 0x00}, {0xC6, 0xFF, 0x00}, {0xC7, 0xFF, 0x00}, {0xC8, 0xFF, 0x00}, {0xC9, 0XFF, 0x00}, + {0xCA, 0xFF, 0xFF}, {0xCB, 0xFF, 0x00}, {0xCC, 0xFF, 0x00}, {0xCD, 0xFF, 0x00}, {0xCE, 0xFF, 0x00}, + {0xCF, 0xFC, 0x00}, }; S3_SAVE_DATA HwmS3SaveRegisterTbl[] = { @@ -102,36 +126,43 @@ S3_SAVE_DATA HwmS3SaveRegisterTbl[] = { // ---------------------- {0x00,0x94}, {0x00,0x96}, + {0x00,0x98}, {0x00,0xA2}, {0x00,0xA3}, {0x00,0xA6}, {0x00,0xA7}, {0x00,0xA8}, {0x00,0xA9}, + {0x00,0xAA}, {0x00,0xAB}, {0x00,0xAC}, {0x00,0xAD}, {0x00,0xAE}, + {0x00,0xAF}, {0x00,0xB2}, {0x00,0xB3}, {0x00,0xB6}, {0x00,0xB7}, {0x00,0xB8}, {0x00,0xB9}, + {0x00,0xBA}, {0x00,0xBB}, {0x00,0xBC}, {0x00,0xBD}, {0x00,0xBE}, + {0x00,0xBF}, {0x00,0xC2}, {0x00,0xC3}, {0x00,0xC6}, {0x00,0xC7}, {0x00,0xC8}, {0x00,0xC9}, + {0x00,0xCA}, {0x00,0xCB}, {0x00,0xCC}, {0x00,0xCD}, {0x00,0xCE}, + {0x00,0xCF}, }; //-------------------------------------------------------------------------- // Definition of smart fan functions @@ -141,6 +172,7 @@ static VOID SmartFanFuncStart(VOID); static VOID F81866_SMF1_INIT(void); static VOID F81866_SMF2_INIT(void); static VOID F81866_SMF3_INIT(void); +VOID F81866_FAN_Full(); static void F81866_SMF_WRITE_CFG(DXE_SMF_INIT_DATA DXE_SMF_MODEx_Table); static EFI_STATUS HwmCallbackReadyToBoot( IN EFI_EVENT Event, @@ -200,7 +232,9 @@ static VOID SmartFanFuncStart(VOID) //-------------------------------------------------------------------------- F81866_SMF1_INIT(); F81866_SMF2_INIT(); - F81866_SMF3_INIT(); +// F81866_SMF3_INIT(); // Zprj Not Suported FAN3 + F81866_FAN_Full(); + //Create event for boot script Status = CreateReadyToBootEvent( TPL_NOTIFY, @@ -228,39 +262,49 @@ void F81866_SMF1_INIT(VOID) { UINT8 i, temp; switch (SetupData.Fan1SmartFanMode) { - case 0: - DXE_FAN1_INIT_TABLE[0].OrData8 = 0x02;//mode - DXE_FAN1_INIT_TABLE[1].OrData8 = (UINT8)(1500000/SetupData.Fan1Mode0FixedSpeed >> 8);//mode - DXE_FAN1_INIT_TABLE[2].OrData8 = (UINT8)(1500000/SetupData.Fan1Mode0FixedSpeed & 0xFF);//mode - break; - case 1: - DXE_FAN1_INIT_TABLE[0].OrData8 = 0x03;//mode - DXE_FAN1_INIT_TABLE[2].OrData8 = (UINT8)SetupData.Fan1Mode1FixedDuty*0xFF/100;//mode - break; - case 2: - DXE_FAN1_INIT_TABLE[0].OrData8 = 0x00;//mode - DXE_FAN1_INIT_TABLE[3].OrData8 = SetupData.Fan1Mode2AutoRpmT1; - DXE_FAN1_INIT_TABLE[4].OrData8 = SetupData.Fan1Mode2AutoRpmT2; - DXE_FAN1_INIT_TABLE[5].OrData8 = SetupData.Fan1Mode2AutoRpmT3; - DXE_FAN1_INIT_TABLE[6].OrData8 = SetupData.Fan1Mode2AutoRpmT4; - DXE_FAN1_INIT_TABLE[7].OrData8 = (UINT8)((100-SetupData.Fan1Mode2AutoRpmF1)*32/60); - DXE_FAN1_INIT_TABLE[8].OrData8 = (UINT8)((100-SetupData.Fan1Mode2AutoRpmF2)*32/60); - DXE_FAN1_INIT_TABLE[9].OrData8 = (UINT8)((100-SetupData.Fan1Mode2AutoRpmF3)*32/60); - DXE_FAN1_INIT_TABLE[10].OrData8 = (UINT8)((100-SetupData.Fan1Mode2AutoRpmF4)*32/60); - break; - case 3: - DXE_FAN1_INIT_TABLE[0].OrData8 = 0x01;//mode - DXE_FAN1_INIT_TABLE[3].OrData8 = SetupData.Fan1Mode3AutoDutyT1; - DXE_FAN1_INIT_TABLE[4].OrData8 = SetupData.Fan1Mode3AutoDutyT2; - DXE_FAN1_INIT_TABLE[5].OrData8 = SetupData.Fan1Mode3AutoDutyT3; - DXE_FAN1_INIT_TABLE[6].OrData8 = SetupData.Fan1Mode3AutoDutyT4; - DXE_FAN1_INIT_TABLE[7].OrData8 = (UINT8)(SetupData.Fan1Mode3AutoDutyF1*0xFF/100); - DXE_FAN1_INIT_TABLE[8].OrData8 = (UINT8)(SetupData.Fan1Mode3AutoDutyF2*0xFF/100); - DXE_FAN1_INIT_TABLE[9].OrData8 = (UINT8)(SetupData.Fan1Mode3AutoDutyF3*0xFF/100); - DXE_FAN1_INIT_TABLE[10].OrData8 = (UINT8)(SetupData.Fan1Mode3AutoDutyF4*0xFF/100); - break; - default: - break; + case 0: + // Manual RPM Mode + DXE_FAN1_INIT_TABLE[ IDX_FAN_MODE ].OrData8 = 0x02;//mode + DXE_FAN1_INIT_TABLE[ IDX_FAN_SPEED_MSB ].OrData8 = (UINT8)(1500000/SetupData.Fan1Mode0FixedSpeed >> 8);//mode + DXE_FAN1_INIT_TABLE[ IDX_FAN_SPEED_LSB ].OrData8 = (UINT8)(1500000/SetupData.Fan1Mode0FixedSpeed & 0xFF);//mode + break; + case 1: + // Manual Duty Mode + DXE_FAN1_INIT_TABLE[ IDX_FAN_MODE ].OrData8 = 0x03;//mode + DXE_FAN1_INIT_TABLE[ IDX_FAN_SPEED_LSB ].OrData8 = (UINT8)SetupData.Fan1Mode1FixedDuty*0xFF/100;//mode + break; + case 2: + // Auto RPM Mode + DXE_FAN1_INIT_TABLE[ IDX_FAN_MODE ].OrData8 = 0x00;//mode + DXE_FAN1_INIT_TABLE[ IDX_TEMP_HYS ].OrData8 = 0x02; // Set hysteresis as 2 + DXE_FAN1_INIT_TABLE[ IDX_TEMP_BOUND1 ].OrData8 = SetupData.Fan1Mode2AutoRpmT1; + DXE_FAN1_INIT_TABLE[ IDX_TEMP_BOUND2 ].OrData8 = SetupData.Fan1Mode2AutoRpmT2; + DXE_FAN1_INIT_TABLE[ IDX_TEMP_BOUND3 ].OrData8 = SetupData.Fan1Mode2AutoRpmT3; + DXE_FAN1_INIT_TABLE[ IDX_TEMP_BOUND4 ].OrData8 = SetupData.Fan1Mode2AutoRpmT4; + DXE_FAN1_INIT_TABLE[ IDX_SPEED_SEG1 ].OrData8 = (UINT8)((100-SetupData.Fan1Mode2AutoRpmF1)*32/SetupData.Fan1Mode2AutoRpmF1); + DXE_FAN1_INIT_TABLE[ IDX_SPEED_SEG2 ].OrData8 = (UINT8)((100-SetupData.Fan1Mode2AutoRpmF2)*32/SetupData.Fan1Mode2AutoRpmF2); + DXE_FAN1_INIT_TABLE[ IDX_SPEED_SEG3 ].OrData8 = (UINT8)((100-SetupData.Fan1Mode2AutoRpmF3)*32/SetupData.Fan1Mode2AutoRpmF3); + DXE_FAN1_INIT_TABLE[ IDX_SPEED_SEG4 ].OrData8 = (UINT8)((100-SetupData.Fan1Mode2AutoRpmF4)*32/SetupData.Fan1Mode2AutoRpmF4); + DXE_FAN1_INIT_TABLE[ IDX_SPEED_SEG5 ].OrData8 = (UINT8)((100-SetupData.Fan1Mode2AutoRpmF5)*32/SetupData.Fan1Mode2AutoRpmF5); + DXE_FAN1_INIT_TABLE[ IDX_TEMP_SRCSEL ].OrData8 = SetupData.Fan1TempSrc; + break; + case 3: + // Auto Duty-Cycle Mode + DXE_FAN1_INIT_TABLE[ IDX_FAN_MODE ].OrData8 = 0x01;//mode + DXE_FAN1_INIT_TABLE[ IDX_TEMP_HYS ].OrData8 = 0x02; // Set hysteresis as 2 + DXE_FAN1_INIT_TABLE[ IDX_TEMP_BOUND1 ].OrData8 = SetupData.Fan1Mode3AutoDutyT1; + DXE_FAN1_INIT_TABLE[ IDX_TEMP_BOUND2 ].OrData8 = SetupData.Fan1Mode3AutoDutyT2; + DXE_FAN1_INIT_TABLE[ IDX_TEMP_BOUND3 ].OrData8 = SetupData.Fan1Mode3AutoDutyT3; + DXE_FAN1_INIT_TABLE[ IDX_TEMP_BOUND4 ].OrData8 = SetupData.Fan1Mode3AutoDutyT4; + DXE_FAN1_INIT_TABLE[ IDX_SPEED_SEG1 ].OrData8 = (UINT8)(SetupData.Fan1Mode3AutoDutyF1*0xFF/100); + DXE_FAN1_INIT_TABLE[ IDX_SPEED_SEG2 ].OrData8 = (UINT8)(SetupData.Fan1Mode3AutoDutyF2*0xFF/100); + DXE_FAN1_INIT_TABLE[ IDX_SPEED_SEG3 ].OrData8 = (UINT8)(SetupData.Fan1Mode3AutoDutyF3*0xFF/100); + DXE_FAN1_INIT_TABLE[ IDX_SPEED_SEG4 ].OrData8 = (UINT8)(SetupData.Fan1Mode3AutoDutyF4*0xFF/100); + DXE_FAN1_INIT_TABLE[ IDX_SPEED_SEG5 ].OrData8 = (UINT8)(SetupData.Fan1Mode3AutoDutyF5*0xFF/100); + DXE_FAN1_INIT_TABLE[ IDX_TEMP_SRCSEL ].OrData8 = SetupData.Fan1TempSrc; + break; + default: + break; } for(i=0; i<( (sizeof(DXE_FAN1_INIT_TABLE))/(sizeof(DXE_SMF_INIT_DATA)) ); i++) { IoWrite8(HWM_CONFIG_INDEX, DXE_FAN1_INIT_TABLE[i].Reg8 ); @@ -292,39 +336,49 @@ void F81866_SMF2_INIT(VOID) { UINT8 i, temp; switch (SetupData.Fan2SmartFanMode) { - case 0: - DXE_FAN2_INIT_TABLE[0].OrData8 = 0x02 << 2;//mode - DXE_FAN2_INIT_TABLE[1].OrData8 = (UINT8)(1500000/SetupData.Fan2Mode0FixedSpeed >> 8);//mode - DXE_FAN2_INIT_TABLE[2].OrData8 = (UINT8)(1500000/SetupData.Fan2Mode0FixedSpeed & 0xFF);//mode - break; - case 1: - DXE_FAN2_INIT_TABLE[0].OrData8 = 0x03 << 2;//mode - DXE_FAN2_INIT_TABLE[2].OrData8 = (UINT8)(SetupData.Fan2Mode1FixedDuty*0xFF/100);//mode - break; - case 2: - DXE_FAN2_INIT_TABLE[0].OrData8 = 0x00 << 2;//mode - DXE_FAN2_INIT_TABLE[3].OrData8 = SetupData.Fan2Mode2AutoRpmT1; - DXE_FAN2_INIT_TABLE[4].OrData8 = SetupData.Fan2Mode2AutoRpmT2; - DXE_FAN2_INIT_TABLE[5].OrData8 = SetupData.Fan2Mode2AutoRpmT3; - DXE_FAN2_INIT_TABLE[6].OrData8 = SetupData.Fan2Mode2AutoRpmT4; - DXE_FAN2_INIT_TABLE[7].OrData8 = (UINT8)((100-SetupData.Fan2Mode2AutoRpmF1)*32/60); - DXE_FAN2_INIT_TABLE[8].OrData8 = (UINT8)((100-SetupData.Fan2Mode2AutoRpmF2)*32/60); - DXE_FAN2_INIT_TABLE[9].OrData8 = (UINT8)((100-SetupData.Fan2Mode2AutoRpmF3)*32/60); - DXE_FAN2_INIT_TABLE[10].OrData8 = (UINT8)((100-SetupData.Fan2Mode2AutoRpmF4)*32/60); - break; - case 3: - DXE_FAN2_INIT_TABLE[0].OrData8 = 0x01 << 2;//mode - DXE_FAN2_INIT_TABLE[3].OrData8 = SetupData.Fan2Mode3AutoDutyT1; - DXE_FAN2_INIT_TABLE[4].OrData8 = SetupData.Fan2Mode3AutoDutyT2; - DXE_FAN2_INIT_TABLE[5].OrData8 = SetupData.Fan2Mode3AutoDutyT3; - DXE_FAN2_INIT_TABLE[6].OrData8 = SetupData.Fan2Mode3AutoDutyT4; - DXE_FAN2_INIT_TABLE[7].OrData8 = (UINT8)(SetupData.Fan2Mode3AutoDutyF1*0xFF/100); - DXE_FAN2_INIT_TABLE[8].OrData8 = (UINT8)(SetupData.Fan2Mode3AutoDutyF2*0xFF/100); - DXE_FAN2_INIT_TABLE[9].OrData8 = (UINT8)(SetupData.Fan2Mode3AutoDutyF3*0xFF/100); - DXE_FAN2_INIT_TABLE[10].OrData8 = (UINT8)(SetupData.Fan2Mode3AutoDutyF4*0xFF/100); - break; - default: - break; + case 0: + // Manual RPM Mode + DXE_FAN2_INIT_TABLE[ IDX_FAN_MODE ].OrData8 = (0x02 << 2);//mode + DXE_FAN2_INIT_TABLE[ IDX_FAN_SPEED_MSB ].OrData8 = (UINT8)(1500000/SetupData.Fan2Mode0FixedSpeed >> 8);//mode + DXE_FAN2_INIT_TABLE[ IDX_FAN_SPEED_LSB ].OrData8 = (UINT8)(1500000/SetupData.Fan2Mode0FixedSpeed & 0xFF);//mode + break; + case 1: + // Manual Duty Mode + DXE_FAN2_INIT_TABLE[ IDX_FAN_MODE ].OrData8 = (0x03 << 2);//mode + DXE_FAN2_INIT_TABLE[ IDX_FAN_SPEED_LSB ].OrData8 = (UINT8)SetupData.Fan2Mode1FixedDuty*0xFF/100;//mode + break; + case 2: + // Auto RPM Mode + DXE_FAN2_INIT_TABLE[ IDX_FAN_MODE ].OrData8 = 0x00;//mode + DXE_FAN2_INIT_TABLE[ IDX_TEMP_HYS ].OrData8 = (0x02 << 4); // Set hysteresis as 2 + DXE_FAN2_INIT_TABLE[ IDX_TEMP_BOUND1 ].OrData8 = SetupData.Fan2Mode2AutoRpmT1; + DXE_FAN2_INIT_TABLE[ IDX_TEMP_BOUND2 ].OrData8 = SetupData.Fan2Mode2AutoRpmT2; + DXE_FAN2_INIT_TABLE[ IDX_TEMP_BOUND3 ].OrData8 = SetupData.Fan2Mode2AutoRpmT3; + DXE_FAN2_INIT_TABLE[ IDX_TEMP_BOUND4 ].OrData8 = SetupData.Fan2Mode2AutoRpmT4; + DXE_FAN2_INIT_TABLE[ IDX_SPEED_SEG1 ].OrData8 = (UINT8)((100-SetupData.Fan2Mode2AutoRpmF1)*32/SetupData.Fan2Mode2AutoRpmF1); + DXE_FAN2_INIT_TABLE[ IDX_SPEED_SEG2 ].OrData8 = (UINT8)((100-SetupData.Fan2Mode2AutoRpmF2)*32/SetupData.Fan2Mode2AutoRpmF2); + DXE_FAN2_INIT_TABLE[ IDX_SPEED_SEG3 ].OrData8 = (UINT8)((100-SetupData.Fan2Mode2AutoRpmF3)*32/SetupData.Fan2Mode2AutoRpmF3); + DXE_FAN2_INIT_TABLE[ IDX_SPEED_SEG4 ].OrData8 = (UINT8)((100-SetupData.Fan2Mode2AutoRpmF4)*32/SetupData.Fan2Mode2AutoRpmF4); + DXE_FAN2_INIT_TABLE[ IDX_SPEED_SEG5 ].OrData8 = (UINT8)((100-SetupData.Fan2Mode2AutoRpmF5)*32/SetupData.Fan2Mode2AutoRpmF5); + DXE_FAN2_INIT_TABLE[ IDX_TEMP_SRCSEL ].OrData8 = SetupData.Fan2TempSrc; + break; + case 3: + // Auto Duty-Cycle Mode + DXE_FAN2_INIT_TABLE[ IDX_FAN_MODE ].OrData8 = (0x01 << 2);//mode + DXE_FAN2_INIT_TABLE[ IDX_TEMP_HYS ].OrData8 = (0x02 << 4); // Set hysteresis as 2 + DXE_FAN2_INIT_TABLE[ IDX_TEMP_BOUND1 ].OrData8 = SetupData.Fan2Mode3AutoDutyT1; + DXE_FAN2_INIT_TABLE[ IDX_TEMP_BOUND2 ].OrData8 = SetupData.Fan2Mode3AutoDutyT2; + DXE_FAN2_INIT_TABLE[ IDX_TEMP_BOUND3 ].OrData8 = SetupData.Fan2Mode3AutoDutyT3; + DXE_FAN2_INIT_TABLE[ IDX_TEMP_BOUND4 ].OrData8 = SetupData.Fan2Mode3AutoDutyT4; + DXE_FAN2_INIT_TABLE[ IDX_SPEED_SEG1 ].OrData8 = (UINT8)(SetupData.Fan2Mode3AutoDutyF1*0xFF/100); + DXE_FAN2_INIT_TABLE[ IDX_SPEED_SEG2 ].OrData8 = (UINT8)(SetupData.Fan2Mode3AutoDutyF2*0xFF/100); + DXE_FAN2_INIT_TABLE[ IDX_SPEED_SEG3 ].OrData8 = (UINT8)(SetupData.Fan2Mode3AutoDutyF3*0xFF/100); + DXE_FAN2_INIT_TABLE[ IDX_SPEED_SEG4 ].OrData8 = (UINT8)(SetupData.Fan2Mode3AutoDutyF4*0xFF/100); + DXE_FAN2_INIT_TABLE[ IDX_SPEED_SEG5 ].OrData8 = (UINT8)(SetupData.Fan2Mode3AutoDutyF5*0xFF/100); + DXE_FAN2_INIT_TABLE[ IDX_TEMP_SRCSEL ].OrData8 = SetupData.Fan2TempSrc; + break; + default: + break; } for(i=0; i<( (sizeof(DXE_FAN2_INIT_TABLE))/(sizeof(DXE_SMF_INIT_DATA)) ); i++) { IoWrite8(HWM_CONFIG_INDEX, DXE_FAN2_INIT_TABLE[i].Reg8 ); @@ -356,39 +410,49 @@ void F81866_SMF3_INIT(VOID) { UINT8 i, temp; switch (SetupData.Fan3SmartFanMode) { - case 0: - DXE_FAN3_INIT_TABLE[0].OrData8 = 0x02 << 4;//mode - DXE_FAN3_INIT_TABLE[1].OrData8 = (UINT8)(1500000/SetupData.Fan3Mode0FixedSpeed >> 8);//mode - DXE_FAN3_INIT_TABLE[2].OrData8 = (UINT8)(1500000/SetupData.Fan3Mode0FixedSpeed & 0xFF);//mode - break; - case 1: - DXE_FAN3_INIT_TABLE[0].OrData8 = 0x03 << 4;//mode - DXE_FAN3_INIT_TABLE[2].OrData8 = (UINT8)(SetupData.Fan3Mode1FixedDuty*0xFF/100);//mode - break; - case 2: - DXE_FAN3_INIT_TABLE[0].OrData8 = 0x00 << 4;//mode - DXE_FAN3_INIT_TABLE[3].OrData8 = SetupData.Fan3Mode2AutoRpmT1; - DXE_FAN3_INIT_TABLE[4].OrData8 = SetupData.Fan3Mode2AutoRpmT2; - DXE_FAN3_INIT_TABLE[5].OrData8 = SetupData.Fan3Mode2AutoRpmT3; - DXE_FAN3_INIT_TABLE[6].OrData8 = SetupData.Fan3Mode2AutoRpmT4; - DXE_FAN3_INIT_TABLE[7].OrData8 = (UINT8)((100-SetupData.Fan3Mode2AutoRpmF1)*32/60); - DXE_FAN3_INIT_TABLE[8].OrData8 = (UINT8)((100-SetupData.Fan3Mode2AutoRpmF2)*32/60); - DXE_FAN3_INIT_TABLE[9].OrData8 = (UINT8)((100-SetupData.Fan3Mode2AutoRpmF3)*32/60); - DXE_FAN3_INIT_TABLE[10].OrData8 = (UINT8)((100-SetupData.Fan3Mode2AutoRpmF4)*32/60); - break; - case 3: - DXE_FAN3_INIT_TABLE[0].OrData8 = 0x01 << 4;//mode - DXE_FAN3_INIT_TABLE[3].OrData8 = SetupData.Fan3Mode3AutoDutyT1; - DXE_FAN3_INIT_TABLE[4].OrData8 = SetupData.Fan3Mode3AutoDutyT2; - DXE_FAN3_INIT_TABLE[5].OrData8 = SetupData.Fan3Mode3AutoDutyT3; - DXE_FAN3_INIT_TABLE[6].OrData8 = SetupData.Fan3Mode3AutoDutyT4; - DXE_FAN3_INIT_TABLE[7].OrData8 = (UINT8)(SetupData.Fan3Mode3AutoDutyF1*0xFF/100); - DXE_FAN3_INIT_TABLE[8].OrData8 = (UINT8)(SetupData.Fan3Mode3AutoDutyF2*0xFF/100); - DXE_FAN3_INIT_TABLE[9].OrData8 = (UINT8)(SetupData.Fan3Mode3AutoDutyF3*0xFF/100); - DXE_FAN3_INIT_TABLE[10].OrData8 = (UINT8)(SetupData.Fan3Mode3AutoDutyF4*0xFF/100); - break; - default: - break; + case 0: + // Manual RPM Mode + DXE_FAN3_INIT_TABLE[ IDX_FAN_MODE ].OrData8 = (0x02 << 4);//mode + DXE_FAN3_INIT_TABLE[ IDX_FAN_SPEED_MSB ].OrData8 = (UINT8)(1500000/SetupData.Fan3Mode0FixedSpeed >> 8);//mode + DXE_FAN3_INIT_TABLE[ IDX_FAN_SPEED_LSB ].OrData8 = (UINT8)(1500000/SetupData.Fan3Mode0FixedSpeed & 0xFF);//mode + break; + case 1: + // Manual Duty Mode + DXE_FAN3_INIT_TABLE[ IDX_FAN_MODE ].OrData8 = (0x03 << 4);//mode + DXE_FAN3_INIT_TABLE[ IDX_FAN_SPEED_LSB ].OrData8 = (UINT8)SetupData.Fan3Mode1FixedDuty*0xFF/100;//mode + break; + case 2: + // Auto RPM Mode + DXE_FAN3_INIT_TABLE[ IDX_FAN_MODE ].OrData8 = 0x00;//mode + DXE_FAN3_INIT_TABLE[ IDX_TEMP_HYS ].OrData8 = 0x02; // Set hysteresis as 2 + DXE_FAN3_INIT_TABLE[ IDX_TEMP_BOUND1 ].OrData8 = SetupData.Fan3Mode2AutoRpmT1; + DXE_FAN3_INIT_TABLE[ IDX_TEMP_BOUND2 ].OrData8 = SetupData.Fan3Mode2AutoRpmT2; + DXE_FAN3_INIT_TABLE[ IDX_TEMP_BOUND3 ].OrData8 = SetupData.Fan3Mode2AutoRpmT3; + DXE_FAN3_INIT_TABLE[ IDX_TEMP_BOUND4 ].OrData8 = SetupData.Fan3Mode2AutoRpmT4; + DXE_FAN3_INIT_TABLE[ IDX_SPEED_SEG1 ].OrData8 = (UINT8)((100-SetupData.Fan3Mode2AutoRpmF1)*32/SetupData.Fan3Mode2AutoRpmF1); + DXE_FAN3_INIT_TABLE[ IDX_SPEED_SEG2 ].OrData8 = (UINT8)((100-SetupData.Fan3Mode2AutoRpmF2)*32/SetupData.Fan3Mode2AutoRpmF2); + DXE_FAN3_INIT_TABLE[ IDX_SPEED_SEG3 ].OrData8 = (UINT8)((100-SetupData.Fan3Mode2AutoRpmF3)*32/SetupData.Fan3Mode2AutoRpmF3); + DXE_FAN3_INIT_TABLE[ IDX_SPEED_SEG4 ].OrData8 = (UINT8)((100-SetupData.Fan3Mode2AutoRpmF4)*32/SetupData.Fan3Mode2AutoRpmF4); + DXE_FAN3_INIT_TABLE[ IDX_SPEED_SEG5 ].OrData8 = (UINT8)((100-SetupData.Fan3Mode2AutoRpmF5)*32/SetupData.Fan3Mode2AutoRpmF5); + DXE_FAN3_INIT_TABLE[ IDX_TEMP_SRCSEL ].OrData8 = SetupData.Fan3TempSrc; + break; + case 3: + // Auto Duty-Cycle Mode + DXE_FAN3_INIT_TABLE[ IDX_FAN_MODE ].OrData8 = (0x01 << 4);//mode + DXE_FAN3_INIT_TABLE[ IDX_TEMP_HYS ].OrData8 = 0x02; // Set hysteresis as 2 + DXE_FAN3_INIT_TABLE[ IDX_TEMP_BOUND1 ].OrData8 = SetupData.Fan3Mode3AutoDutyT1; + DXE_FAN3_INIT_TABLE[ IDX_TEMP_BOUND2 ].OrData8 = SetupData.Fan3Mode3AutoDutyT2; + DXE_FAN3_INIT_TABLE[ IDX_TEMP_BOUND3 ].OrData8 = SetupData.Fan3Mode3AutoDutyT3; + DXE_FAN3_INIT_TABLE[ IDX_TEMP_BOUND4 ].OrData8 = SetupData.Fan3Mode3AutoDutyT4; + DXE_FAN3_INIT_TABLE[ IDX_SPEED_SEG1 ].OrData8 = (UINT8)(SetupData.Fan3Mode3AutoDutyF1*0xFF/100); + DXE_FAN3_INIT_TABLE[ IDX_SPEED_SEG2 ].OrData8 = (UINT8)(SetupData.Fan3Mode3AutoDutyF2*0xFF/100); + DXE_FAN3_INIT_TABLE[ IDX_SPEED_SEG3 ].OrData8 = (UINT8)(SetupData.Fan3Mode3AutoDutyF3*0xFF/100); + DXE_FAN3_INIT_TABLE[ IDX_SPEED_SEG4 ].OrData8 = (UINT8)(SetupData.Fan3Mode3AutoDutyF4*0xFF/100); + DXE_FAN3_INIT_TABLE[ IDX_SPEED_SEG5 ].OrData8 = (UINT8)(SetupData.Fan3Mode3AutoDutyF5*0xFF/100); + DXE_FAN3_INIT_TABLE[ IDX_TEMP_SRCSEL ].OrData8 = SetupData.Fan3TempSrc; + break; + default: + break; } for(i=0; i<( (sizeof(DXE_FAN3_INIT_TABLE))/(sizeof(DXE_SMF_INIT_DATA)) ); i++) { IoWrite8(HWM_CONFIG_INDEX, DXE_FAN3_INIT_TABLE[i].Reg8 ); @@ -403,6 +467,67 @@ void F81866_SMF3_INIT(VOID) } } +void F81866_FAN_Full(VOID) +{ + // Full Speed + // Manual Duty Mode +#if defined(F81866_SMF_SUPPORT) && (F81866_SMF_SUPPORT == 1) + UINT8 i, temp; +#endif + +//#if defined(F81866_SMF1_SUPPORT) && (F81866_SMF1_SUPPORT == 1) + DXE_FAN1_INIT_TABLE[ IDX_FAN_MODE ].OrData8 = 0x03;//mode + DXE_FAN1_INIT_TABLE[ IDX_FAN_SPEED_LSB ].OrData8 = 0xFF; + + for(i=0; i<( (sizeof(DXE_FAN1_INIT_TABLE))/(sizeof(DXE_SMF_INIT_DATA)) ); i++) { + IoWrite8(HWM_CONFIG_INDEX, DXE_FAN1_INIT_TABLE[i].Reg8 ); + if(DXE_FAN1_INIT_TABLE[i].AndData8 == 0xFF) { + temp = DXE_FAN1_INIT_TABLE[i].OrData8; + } else { + temp = IoRead8(HWM_CONFIG_DATA); + temp &= DXE_FAN1_INIT_TABLE[i].AndData8; + temp |= DXE_FAN1_INIT_TABLE[i].OrData8; + } + IoWrite8(HWM_CONFIG_DATA, temp); + } +//#endif + +//#if defined(F81866_SMF2_SUPPORT) && (F81866_SMF2_SUPPORT == 1) + DXE_FAN2_INIT_TABLE[ IDX_FAN_MODE ].OrData8 = 0x0C;//mode + DXE_FAN2_INIT_TABLE[ IDX_FAN_SPEED_LSB ].OrData8 = 0xFF; + + for(i=0; i<( (sizeof(DXE_FAN2_INIT_TABLE))/(sizeof(DXE_SMF_INIT_DATA)) ); i++) { + IoWrite8(HWM_CONFIG_INDEX, DXE_FAN2_INIT_TABLE[i].Reg8 ); + if(DXE_FAN2_INIT_TABLE[i].AndData8 == 0xFF) { + temp = DXE_FAN2_INIT_TABLE[i].OrData8; + } else { + temp = IoRead8(HWM_CONFIG_DATA); + temp &= DXE_FAN2_INIT_TABLE[i].AndData8; + temp |= DXE_FAN2_INIT_TABLE[i].OrData8; + } + IoWrite8(HWM_CONFIG_DATA, temp); + } +//#endif + +// Zprj Not Supported FAN3 +//#if defined(F81866_SMF3_SUPPORT) && (F81866_SMF3_SUPPORT == 1) +// DXE_FAN3_INIT_TABLE[ IDX_FAN_MODE ].OrData8 = 0x30;//mode +// DXE_FAN3_INIT_TABLE[ IDX_FAN_SPEED_LSB ].OrData8 = 0xFF; +// +// for(i=0; i<( (sizeof(DXE_FAN3_INIT_TABLE))/(sizeof(DXE_SMF_INIT_DATA)) ); i++) { +// IoWrite8(HWM_CONFIG_INDEX, DXE_FAN3_INIT_TABLE[i].Reg8 ); +// if(DXE_FAN3_INIT_TABLE[i].AndData8 == 0xFF) { +// temp = DXE_FAN3_INIT_TABLE[i].OrData8; +// } else { +// temp = IoRead8(HWM_CONFIG_DATA); +// temp &= DXE_FAN3_INIT_TABLE[i].AndData8; +// temp |= DXE_FAN3_INIT_TABLE[i].OrData8; +// } +// IoWrite8(HWM_CONFIG_DATA, temp); +// } +//#endif +} + // //--------------------------------------------------------------------------- // Procedure: HwmCallbackReadyToBoot diff --git a/Board/IO/F81866/F81866.SD b/Board/IO/F81866/F81866.SD index 4de5658..7ebedcf 100644 --- a/Board/IO/F81866/F81866.SD +++ b/Board/IO/F81866/F81866.SD @@ -76,6 +76,7 @@ /***********************************************************/ UINT8 SmartFanEnable; + UINT8 Fan1TempSrc; UINT8 Fan1SmartFanMode; UINT16 Fan1Mode0FixedSpeed; UINT8 Fan1Mode1FixedDuty; @@ -87,6 +88,7 @@ UINT8 Fan1Mode2AutoRpmF2; UINT8 Fan1Mode2AutoRpmF3; UINT8 Fan1Mode2AutoRpmF4; + UINT8 Fan1Mode2AutoRpmF5; UINT8 Fan1Mode3AutoDutyT1; UINT8 Fan1Mode3AutoDutyT2; UINT8 Fan1Mode3AutoDutyT3; @@ -95,7 +97,9 @@ UINT8 Fan1Mode3AutoDutyF2; UINT8 Fan1Mode3AutoDutyF3; UINT8 Fan1Mode3AutoDutyF4; + UINT8 Fan1Mode3AutoDutyF5; + UINT8 Fan2TempSrc; UINT8 Fan2SmartFanMode; UINT16 Fan2Mode0FixedSpeed; UINT8 Fan2Mode1FixedDuty; @@ -107,6 +111,7 @@ UINT8 Fan2Mode2AutoRpmF2; UINT8 Fan2Mode2AutoRpmF3; UINT8 Fan2Mode2AutoRpmF4; + UINT8 Fan2Mode2AutoRpmF5; UINT8 Fan2Mode3AutoDutyT1; UINT8 Fan2Mode3AutoDutyT2; UINT8 Fan2Mode3AutoDutyT3; @@ -115,7 +120,9 @@ UINT8 Fan2Mode3AutoDutyF2; UINT8 Fan2Mode3AutoDutyF3; UINT8 Fan2Mode3AutoDutyF4; + UINT8 Fan2Mode3AutoDutyF5; + UINT8 Fan3TempSrc; UINT8 Fan3SmartFanMode; UINT16 Fan3Mode0FixedSpeed; UINT8 Fan3Mode1FixedDuty; @@ -127,6 +134,7 @@ UINT8 Fan3Mode2AutoRpmF2; UINT8 Fan3Mode2AutoRpmF3; UINT8 Fan3Mode2AutoRpmF4; + UINT8 Fan3Mode2AutoRpmF5; UINT8 Fan3Mode3AutoDutyT1; UINT8 Fan3Mode3AutoDutyT2; UINT8 Fan3Mode3AutoDutyT3; @@ -135,6 +143,7 @@ UINT8 Fan3Mode3AutoDutyF2; UINT8 Fan3Mode3AutoDutyF3; UINT8 Fan3Mode3AutoDutyF4; + UINT8 Fan3Mode3AutoDutyF5; UINT8 ParallelGpioSettings; UINT8 F81866LptGpioConfiguration7x[8]; // GPIO7x @@ -442,6 +451,18 @@ endnumeric; endif; + + suppressif NOT ideqval SETUP_DATA.Fan1SmartFanMode == 0x02 + OR ideqval SETUP_DATA.SmartFanEnable == 0x00; + oneof varid = SETUP_DATA.Fan1TempSrc,\ + prompt = STRING_TOKEN(STR_F81866_SMARTFAN_TMPSRC),\ + help = STRING_TOKEN(STR_F81866_SMARTFAN_TMPSRC_HELP),\ + option text = STRING_TOKEN(STR_F81866_SMARTFAN_TMPSRC_T3), value = 0, flags = RESET_REQUIRED;\ + option text = STRING_TOKEN(STR_F81866_SMARTFAN_TMPSRC_T1), value = 1, flags = DEFAULT | RESET_REQUIRED;\ + option text = STRING_TOKEN(STR_F81866_SMARTFAN_TMPSRC_T2), value = 2, flags = RESET_REQUIRED;\ + endoneof; + endif; + suppressif NOT ideqval SETUP_DATA.Fan1SmartFanMode == 0x02 OR ideqval SETUP_DATA.SmartFanEnable == 0x00; numeric varid = SETUP_DATA.Fan1Mode2AutoRpmT1, @@ -545,7 +566,20 @@ default = 50, endnumeric; endif; - + + suppressif NOT ideqval SETUP_DATA.Fan1SmartFanMode == 0x02 + OR ideqval SETUP_DATA.SmartFanEnable == 0x00; + numeric varid = SETUP_DATA.Fan1Mode2AutoRpmF5, + prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_F5), + help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), + flags = RESET_REQUIRED, + minimum = 1, + maximum = 100, + step = 1, + default = 50, + endnumeric; + endif; + suppressif NOT ideqval SETUP_DATA.Fan1SmartFanMode == 0x03 OR ideqval SETUP_DATA.SmartFanEnable == 0x00; numeric varid = SETUP_DATA.Fan1Mode3AutoDutyT1, @@ -649,7 +683,30 @@ default = 50, endnumeric; endif; - + + suppressif NOT ideqval SETUP_DATA.Fan1SmartFanMode == 0x03 + OR ideqval SETUP_DATA.SmartFanEnable == 0x00; + numeric varid = SETUP_DATA.Fan1Mode3AutoDutyF5, + prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_F5), + help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), + flags = RESET_REQUIRED, + minimum = 1, + maximum = 100, + step = 1, + default = 50, + endnumeric; + endif; + + suppressif ideqval SETUP_DATA.SmartFanEnable == 0x00; + oneof varid = SETUP_DATA.Fan2TempSrc,\ + prompt = STRING_TOKEN(STR_F81866_SMARTFAN_TMPSRC),\ + help = STRING_TOKEN(STR_F81866_SMARTFAN_TMPSRC_HELP),\ + option text = STRING_TOKEN(STR_F81866_SMARTFAN_TMPSRC_T3), value = 0, flags = RESET_REQUIRED;\ + option text = STRING_TOKEN(STR_F81866_SMARTFAN_TMPSRC_T1), value = 1, flags = DEFAULT | RESET_REQUIRED;\ + option text = STRING_TOKEN(STR_F81866_SMARTFAN_TMPSRC_T2), value = 2, flags = RESET_REQUIRED;\ + endoneof; + endif; + suppressif ideqval SETUP_DATA.SmartFanEnable == 0x00; oneof varid = SETUP_DATA.Fan2SmartFanMode, prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN2), @@ -790,7 +847,20 @@ default = 50, endnumeric; endif; - + + suppressif NOT ideqval SETUP_DATA.Fan2SmartFanMode == 0x02 + OR ideqval SETUP_DATA.SmartFanEnable == 0x00; + numeric varid = SETUP_DATA.Fan2Mode2AutoRpmF5, + prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_F5), + help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), + flags = RESET_REQUIRED, + minimum = 1, + maximum = 100, + step = 1, + default = 50, + endnumeric; + endif; + suppressif NOT ideqval SETUP_DATA.Fan2SmartFanMode == 0x03 OR ideqval SETUP_DATA.SmartFanEnable == 0x00; numeric varid = SETUP_DATA.Fan2Mode3AutoDutyT1, @@ -895,164 +965,10 @@ endnumeric; endif; - - suppressif ideqval SETUP_DATA.SmartFanEnable == 0x00; - oneof varid = SETUP_DATA.Fan3SmartFanMode, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN3), - help = STRING_TOKEN(STR_F81866_SMARTFAN_CONFIG_HELP), - option text = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE0), value = 0, flags = RESET_REQUIRED; - option text = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE1), value = 1, flags = RESET_REQUIRED; - option text = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2), value = 2, flags = RESET_REQUIRED; - option text = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3), value = 3, flags = DEFAULT |RESET_REQUIRED; - endoneof; - endif; - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x00 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode0FixedSpeed, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE0), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE0_HELP), - flags = RESET_REQUIRED, - minimum = 500, - maximum = 10000, - step = 1, - default = 2000, - endnumeric; - endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x01 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode1FixedDuty, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE1), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE1_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 60, - endnumeric; - endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode2AutoRpmT1, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_T1), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 60, - endnumeric; - endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode2AutoRpmT2, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_T2), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 50, - endnumeric; - endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode2AutoRpmT3, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_T3), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 40, - endnumeric; - endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode2AutoRpmT4, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_T4), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 30, - endnumeric; - endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode2AutoRpmF1, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_F1), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 85, - endnumeric; - endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode2AutoRpmF2, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_F2), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 70, - endnumeric; - endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode2AutoRpmF3, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_F3), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 60, - endnumeric; - endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode2AutoRpmF4, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_F4), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 50, - endnumeric; - endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode3AutoDutyT1, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_T1), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 60, - endnumeric; - endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 + suppressif NOT ideqval SETUP_DATA.Fan2SmartFanMode == 0x03 OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode3AutoDutyT2, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_T2), + numeric varid = SETUP_DATA.Fan2Mode3AutoDutyF5, + prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_F5), help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), flags = RESET_REQUIRED, minimum = 1, @@ -1061,84 +977,287 @@ default = 50, endnumeric; endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode3AutoDutyT3, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_T3), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 40, - endnumeric; - endif; - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode3AutoDutyT4, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_T4), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 30, - endnumeric; - endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode3AutoDutyF1, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_F1), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 85, - endnumeric; - endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode3AutoDutyF2, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_F2), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 70, - endnumeric; - endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode3AutoDutyF3, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_F3), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 60, - endnumeric; - endif; - - suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 - OR ideqval SETUP_DATA.SmartFanEnable == 0x00; - numeric varid = SETUP_DATA.Fan3Mode3AutoDutyF4, - prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_F4), - help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), - flags = RESET_REQUIRED, - minimum = 1, - maximum = 100, - step = 1, - default = 50, - endnumeric; - endif; +// Zprj Not Supported FAN3 +// suppressif ideqval SETUP_DATA.SmartFanEnable == 0x00; +// oneof varid = SETUP_DATA.Fan3TempSrc,\ +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_TMPSRC),\ +// help = STRING_TOKEN(STR_F81866_SMARTFAN_TMPSRC_HELP),\ +// option text = STRING_TOKEN(STR_F81866_SMARTFAN_TMPSRC_T3), value = 0, flags = RESET_REQUIRED;\ +// option text = STRING_TOKEN(STR_F81866_SMARTFAN_TMPSRC_T1), value = 1, flags = DEFAULT | RESET_REQUIRED;\ +// option text = STRING_TOKEN(STR_F81866_SMARTFAN_TMPSRC_T2), value = 2, flags = RESET_REQUIRED;\ +// endoneof; +// endif; +// +// suppressif ideqval SETUP_DATA.SmartFanEnable == 0x00; +// oneof varid = SETUP_DATA.Fan3SmartFanMode, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN3), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_CONFIG_HELP), +// option text = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE0), value = 0, flags = RESET_REQUIRED; +// option text = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE1), value = 1, flags = RESET_REQUIRED; +// option text = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2), value = 2, flags = RESET_REQUIRED; +// option text = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3), value = 3, flags = DEFAULT |RESET_REQUIRED; +// endoneof; +// endif; +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x00 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode0FixedSpeed, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE0), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE0_HELP), +// flags = RESET_REQUIRED, +// minimum = 500, +// maximum = 10000, +// step = 1, +// default = 2000, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x01 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode1FixedDuty, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE1), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE1_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 60, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode2AutoRpmT1, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_T1), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 60, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode2AutoRpmT2, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_T2), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 50, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode2AutoRpmT3, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_T3), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 40, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode2AutoRpmT4, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_T4), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 30, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode2AutoRpmF1, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_F1), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 85, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode2AutoRpmF2, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_F2), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 70, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode2AutoRpmF3, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_F3), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 60, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode2AutoRpmF4, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_F4), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 50, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x02 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode2AutoRpmF5, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_RPM_F5), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE2_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 50, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode3AutoDutyT1, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_T1), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 60, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode3AutoDutyT2, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_T2), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 50, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode3AutoDutyT3, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_T3), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 40, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode3AutoDutyT4, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_T4), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 30, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode3AutoDutyF1, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_F1), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 85, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode3AutoDutyF2, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_F2), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 70, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode3AutoDutyF3, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_F3), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 60, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode3AutoDutyF4, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_F4), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 50, +// endnumeric; +// endif; +// +// suppressif NOT ideqval SETUP_DATA.Fan3SmartFanMode == 0x03 +// OR ideqval SETUP_DATA.SmartFanEnable == 0x00; +// numeric varid = SETUP_DATA.Fan3Mode3AutoDutyF5, +// prompt = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_AUTO_DUTY_F5), +// help = STRING_TOKEN(STR_F81866_SMARTFAN_FAN_MODE3_HELP), +// flags = RESET_REQUIRED, +// minimum = 1, +// maximum = 100, +// step = 1, +// default = 50, +// endnumeric; +// endif; endform; #endif // F81866_SMF_SUPPORT diff --git a/Board/IO/F81866/F81866.UNI b/Board/IO/F81866/F81866.UNI index bb19e03..26468f4 100644 Binary files a/Board/IO/F81866/F81866.UNI and b/Board/IO/F81866/F81866.UNI differ diff --git a/CRB/CSP.sdl b/CRB/CSP.sdl index d8011ad..a6f94ec 100644 --- a/CRB/CSP.sdl +++ b/CRB/CSP.sdl @@ -1399,6 +1399,37 @@ TOKEN TokenType = Boolean TargetH = Yes End +TOKEN + Name = "F81866_IBEX_SUPPORT" + Value = "0" + Help = "Intel PECI 1/0 support/not" + TokenType = Boolean + TargetH = Yes +# Token = "F81866_HWM_PRESENT" "=" "1" +End +TOKEN + Name = "F81866_T2_MODE" + Value = "0" + Help = "0: TEMP2 is connected to a thermistor.\1: TEMP2 is connected to a BJT. (default)" + TokenType = Integer + TargetH = Yes +End +TOKEN + Name = "F81866_T1_MODE" + Value = "0" + Help = "0: TEMP1 is connected to a thermistor\1: TEMP1 is connected to a BJT.(default)" + TokenType = Integer + TargetH = Yes +End +TOKEN + Name = "F81866_SMF_SUPPORT" + Value = "1" + Help = "F81866 SmartFan control support" + TokenType = Boolean + TargetMAK = Yes + TargetH = Yes + Token = "F81866_HWM_PRESENT" "=" "1" +End ## Board\IO\F81216\IO_F81216.SDL TOKEN -- cgit v1.2.3