8 #include <vendorcode/amd/agesa/f15tn/Proc/Fch/FchPlatform.h>
47 {(UINT32)0x0FFFFFFFF, (CODEC_ENTRY*)0x0FFFFFFFFUL}
50 #define FAN_INPUT_INTERNAL_DIODE 0
51 #define FAN_INPUT_TEMP0 1
52 #define FAN_INPUT_TEMP1 2
53 #define FAN_INPUT_TEMP2 3
54 #define FAN_INPUT_TEMP3 4
55 #define FAN_INPUT_TEMP0_FILTER 5
56 #define FAN_INPUT_ZERO 6
57 #define FAN_INPUT_DISABLED 7
59 #define FAN_AUTOMODE (1 << 0)
60 #define FAN_LINEARMODE (1 << 1)
61 #define FAN_STEPMODE ~(1 << 1)
62 #define FAN_POLARITY_HIGH (1 << 2)
63 #define FAN_POLARITY_LOW ~(1 << 2)
66 #define FREQ_28KHZ 0x0
67 #define FREQ_25KHZ 0x1
68 #define FREQ_23KHZ 0x2
69 #define FREQ_21KHZ 0x3
70 #define FREQ_29KHZ 0x4
71 #define FREQ_18KHZ 0x5
72 #define FREQ_100HZ 0xF7
73 #define FREQ_87HZ 0xF8
74 #define FREQ_58HZ 0xF9
75 #define FREQ_44HZ 0xFA
76 #define FREQ_35HZ 0xFB
77 #define FREQ_29HZ 0xFC
78 #define FREQ_22HZ 0xFD
79 #define FREQ_14HZ 0xFE
80 #define FREQ_11HZ 0xFF
91 if (
CONFIG(HUDSON_IMC_FWM)) {
95 FchParams->Hwm.HwMonitorEnable = TRUE;
96 FchParams->Hwm.HwmFchtsiAutoPoll = FALSE;
98 FchParams->Imc.ImcEnable = TRUE;
99 FchParams->Hwm.HwmControl = 1;
100 FchParams->Imc.ImcEnableOverWrite = 1;
102 LibAmdMemFill(&(FchParams->Imc.EcStruct), 0,
sizeof(FCH_EC), FchParams->StdHeader);
105 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg0 = 0x00;
106 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg1 = 0x00;
107 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg2 = 0x3d;
108 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg3 = 0x0e;
109 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg4 = 0x00;
110 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg5 = 0x54;
111 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg6 = 0x98;
112 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg7 = 0x02;
113 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg8 = 0x01;
114 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg9 = 0x00;
117 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg0 = 0x00;
118 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg1 = 0x00;
119 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg2 = 0x46;
120 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg3 = 0x3c;
121 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg4 = 0x32;
122 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg5 = 0xff;
123 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg6 = 0xff;
124 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg7 = 0xff;
125 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg8 = 0xff;
126 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg9 = 0xff;
127 FchParams->Imc.EcStruct.MsgFun83Zone0MsgRegA = 0x4b;
128 FchParams->Imc.EcStruct.MsgFun83Zone0MsgRegB = 0x00;
131 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg0 = 0x00;
132 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg1 = 0x00;
133 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg2 = 0x5a;
134 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg3 = 0x46;
135 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg4 = 0x28;
136 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg5 = 0xff;
137 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg6 = 0xff;
138 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg7 = 0xff;
139 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg8 = 0xff;
140 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg9 = 0xff;
142 FchParams->Imc.EcStruct.IMCFUNSupportBitMap = 0x111;
151 FchParams->Imc.ImcEnable = FALSE;
152 FchParams->Hwm.HwMonitorEnable = TRUE;
153 FchParams->Hwm.HwmFchtsiAutoPoll = TRUE;
159 FchParams_reset->LegacyFree =
CONFIG(HUDSON_LEGACY_FREE);
165 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)