summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorraywu <raywu@aaeon.com>2018-06-28 16:36:05 +0800
committerraywu <raywu@aaeon.com>2018-06-28 16:36:05 +0800
commitb2ea93f87c851f04969d1d70a617153b7db91cfa (patch)
treeaa82204808d59817a1df5a667d6dcb396d9f5401
parentfc887e4a3296ceea8ce6bc15999f03059760a495 (diff)
downloadzprj-b2ea93f87c851f04969d1d70a617153b7db91cfa.tar.xz
Supported F81866 Smart FAN
-rw-r--r--Board/IO/F81866/BSP/DxeIoTable.h3
-rw-r--r--Board/IO/F81866/BSP/F81866HwmOemHooks.c9
-rw-r--r--Board/IO/F81866/BSP/F81866SmartFan.c347
-rw-r--r--Board/IO/F81866/F81866.SD593
-rw-r--r--Board/IO/F81866/F81866.UNIbin38024 -> 39290 bytes
-rw-r--r--CRB/CSP.sdl31
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
+}
+
//<AMI_PHDR_START>
//---------------------------------------------------------------------------
// 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
--- a/Board/IO/F81866/F81866.UNI
+++ b/Board/IO/F81866/F81866.UNI
Binary files 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