8 #include <vendorcode/amd/agesa/f15tn/Proc/Fch/FchPlatform.h>
45 {(UINT32)0x0FFFFFFFF, (CODEC_ENTRY *)0x0FFFFFFFFUL}
48 #define FAN_INPUT_INTERNAL_DIODE 0
49 #define FAN_INPUT_TEMP0 1
50 #define FAN_INPUT_TEMP1 2
51 #define FAN_INPUT_TEMP2 3
52 #define FAN_INPUT_TEMP3 4
53 #define FAN_INPUT_TEMP0_FILTER 5
54 #define FAN_INPUT_ZERO 6
55 #define FAN_INPUT_DISABLED 7
57 #define FAN_AUTOMODE (1 << 0)
58 #define FAN_LINEARMODE (1 << 1)
59 #define FAN_STEPMODE ~(1 << 1)
60 #define FAN_POLARITY_HIGH (1 << 2)
61 #define FAN_POLARITY_LOW ~(1 << 2)
64 #define FREQ_28KHZ 0x0
65 #define FREQ_25KHZ 0x1
66 #define FREQ_23KHZ 0x2
67 #define FREQ_21KHZ 0x3
68 #define FREQ_29KHZ 0x4
69 #define FREQ_18KHZ 0x5
70 #define FREQ_100HZ 0xF7
71 #define FREQ_87HZ 0xF8
72 #define FREQ_58HZ 0xF9
73 #define FREQ_44HZ 0xFA
74 #define FREQ_35HZ 0xFB
75 #define FREQ_29HZ 0xFC
76 #define FREQ_22HZ 0xFD
77 #define FREQ_14HZ 0xFE
78 #define FREQ_11HZ 0xFF
89 if (
CONFIG(HUDSON_IMC_FWM)) {
93 FchParams->Hwm.HwMonitorEnable = TRUE;
94 FchParams->Hwm.HwmFchtsiAutoPoll = FALSE;
96 FchParams->Imc.ImcEnable = TRUE;
97 FchParams->Hwm.HwmControl = 1;
98 FchParams->Imc.ImcEnableOverWrite = 1;
100 LibAmdMemFill(&(FchParams->Imc.EcStruct), 0,
sizeof(FCH_EC), FchParams->StdHeader);
103 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg0 = 0x00;
104 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg1 = 0x00;
105 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg2 = 0x3d;
106 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg3 = 0x0e;
107 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg4 = 0x00;
108 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg5 = 0x54;
109 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg6 = 0x98;
110 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg7 = 0x02;
111 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg8 = 0x01;
112 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg9 = 0x00;
115 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg0 = 0x00;
116 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg1 = 0x00;
117 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg2 = 0x46;
118 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg3 = 0x3c;
119 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg4 = 0x32;
120 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg5 = 0xff;
121 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg6 = 0xff;
122 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg7 = 0xff;
123 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg8 = 0xff;
124 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg9 = 0xff;
125 FchParams->Imc.EcStruct.MsgFun83Zone0MsgRegA = 0x4b;
126 FchParams->Imc.EcStruct.MsgFun83Zone0MsgRegB = 0x00;
129 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg0 = 0x00;
130 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg1 = 0x00;
131 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg2 = 0x5a;
132 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg3 = 0x46;
133 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg4 = 0x28;
134 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg5 = 0xff;
135 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg6 = 0xff;
136 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg7 = 0xff;
137 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg8 = 0xff;
138 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg9 = 0xff;
140 FchParams->Imc.EcStruct.IMCFUNSupportBitMap = 0x111;
149 FchParams->Imc.ImcEnable = FALSE;
150 FchParams->Hwm.HwMonitorEnable = TRUE;
151 FchParams->Hwm.HwmFchtsiAutoPoll = TRUE;
157 FchParams_reset->LegacyFree =
CONFIG(HUDSON_LEGACY_FREE);
163 FchParams_env->Azalia.AzaliaOemCodecTablePtr = (CODEC_TBL_LIST *)(&
CodecTableList[0]);
AGESA_STATUS agesa_RunFuncOnAp(UINT32 Func, UINTN Data, VOID *ConfigPtr)
AGESA_STATUS agesa_EmptyIdsInitData(UINT32 Func, UINTN Data, VOID *ConfigPtr)
AGESA_STATUS agesa_NoopUnsupported(UINT32 Func, UINTN Data, VOID *ConfigPtr)
AGESA_STATUS agesa_NoopSuccess(UINT32 Func, UINTN Data, VOID *ConfigPtr)
AGESA_STATUS agesa_Reset(UINT32 Func, UINTN Data, VOID *ConfigPtr)
const int BiosCalloutsLen
const BIOS_CALLOUT_STRUCT BiosCallouts[]
void board_FCH_InitReset(struct sysinfo *cb_NA, FCH_RESET_DATA_BLOCK *FchParams_reset)
void board_FCH_InitEnv(struct sysinfo *cb_NA, FCH_DATA_BLOCK *FchParams_env)
static const CODEC_ENTRY Parmer_Alc272_VerbTbl[]
AMD Parmer Platform ALC272 Verb Table.
static void oem_fan_control(FCH_DATA_BLOCK *FchParams)
static const CODEC_TBL_LIST CodecTableList[]
AGESA_STATUS agesa_GfxGetVbiosImage(UINT32 Func, UINTN FchData, VOID *ConfigPrt)
AGESA_STATUS agesa_ReadSpd(uint32_t Func, uintptr_t Data, void *ConfigPtr)