7 #include <FchPlatform.h>
51 {(UINT32)0x0FFFFFFFF, (CODEC_ENTRY*)0x0FFFFFFFFUL}
54 #define FAN_INPUT_INTERNAL_DIODE 0
55 #define FAN_INPUT_TEMP0 1
56 #define FAN_INPUT_TEMP1 2
57 #define FAN_INPUT_TEMP2 3
58 #define FAN_INPUT_TEMP3 4
59 #define FAN_INPUT_TEMP0_FILTER 5
60 #define FAN_INPUT_ZERO 6
61 #define FAN_INPUT_DISABLED 7
63 #define FAN_AUTOMODE (1 << 0)
64 #define FAN_LINEARMODE (1 << 1)
65 #define FAN_STEPMODE ~(1 << 1)
66 #define FAN_POLARITY_HIGH (1 << 2)
67 #define FAN_POLARITY_LOW ~(1 << 2)
70 #define FREQ_28KHZ 0x0
71 #define FREQ_25KHZ 0x1
72 #define FREQ_23KHZ 0x2
73 #define FREQ_21KHZ 0x3
74 #define FREQ_29KHZ 0x4
75 #define FREQ_18KHZ 0x5
76 #define FREQ_100HZ 0xF7
77 #define FREQ_87HZ 0xF8
78 #define FREQ_58HZ 0xF9
79 #define FREQ_44HZ 0xFA
80 #define FREQ_35HZ 0xFB
81 #define FREQ_29HZ 0xFC
82 #define FREQ_22HZ 0xFD
83 #define FREQ_14HZ 0xFE
84 #define FREQ_11HZ 0xFF
95 if (
CONFIG(HUDSON_IMC_FWM)) {
99 FchParams->Hwm.HwMonitorEnable = TRUE;
100 FchParams->Hwm.HwmFchtsiAutoPoll = FALSE;
102 FchParams->Imc.ImcEnable = TRUE;
103 FchParams->Hwm.HwmControl = 1;
104 FchParams->Imc.ImcEnableOverWrite = 1;
106 LibAmdMemFill(&(FchParams->Imc.EcStruct), 0,
sizeof(FCH_EC), FchParams->StdHeader);
109 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg0 = 0x00;
110 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg1 = 0x00;
111 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg2 = 0x3d;
112 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg3 = 0x4e;
113 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg4 = 0x00;
114 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg5 = 0x04;
115 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg6 = 0x9a;
116 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg7 = 0x01;
117 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg8 = 0x01;
118 FchParams->Imc.EcStruct.MsgFun81Zone0MsgReg9 = 0x00;
121 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg0 = 0x00;
122 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg1 = 0x00;
123 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg2 = 50;
124 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg3 = 45;
125 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg4 = 40;
126 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg5 = 0xff;
127 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg6 = 0xff;
128 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg7 = 0xff;
129 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg8 = 0xff;
130 FchParams->Imc.EcStruct.MsgFun83Zone0MsgReg9 = 0xff;
131 FchParams->Imc.EcStruct.MsgFun83Zone0MsgRegA = 0x4b;
132 FchParams->Imc.EcStruct.MsgFun83Zone0MsgRegB = 0x00;
135 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg0 = 0x00;
136 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg1 = 0x00;
137 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg2 = 100;
138 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg3 = 99;
139 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg4 = 98;
140 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg5 = 0xff;
141 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg6 = 0xff;
142 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg7 = 0xff;
143 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg8 = 0xff;
144 FchParams->Imc.EcStruct.MsgFun85Zone0MsgReg9 = 0xff;
146 FchParams->Imc.EcStruct.IMCFUNSupportBitMap = 0x111;
155 FchParams->Imc.ImcEnable = FALSE;
156 FchParams->Hwm.HwMonitorEnable = TRUE;
157 FchParams->Hwm.HwmFchtsiAutoPoll = TRUE;
168 FchParams_env->Azalia.AzaliaOemCodecTablePtr = (CODEC_TBL_LIST *)(&
CodecTableList[0]);
175 FchParams_env->Sata.SataMode.SataSetMaxGen2 = FALSE;
180 AGESA_READ_SPD_PARAMS *
info = ConfigPtr;
186 if (
CONFIG(BAP_E20_DDR3_1066))
191 if (
info->MemChannelId > 0)
193 if (
info->SocketId != 0)
195 if (
info->DimmId != 0)
200 die(
"No SPD data\n");
unsigned int AGESA_STATUS
#define AGESA_UNSUPPORTED
void __noreturn die(const char *fmt,...)
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)
static struct smmstore_params_info info
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 AGESA_STATUS board_ReadSpd_from_cbfs(UINT32 Func, UINTN Data, VOID *ConfigPtr)
const CODEC_ENTRY Alc272_VerbTbl[]
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)
int read_ddr3_spd_from_cbfs(u8 *buf, int idx)