19 PciAddress.AddressValue = MAKE_SBDFO(0, 0, 0x18, 1, 0xF4);
21 LibAmdPciWrite(
AccessWidth32, PciAddress, &PciData, &StdHeader);
27 PciAddress.AddressValue = MAKE_SBDFO(0, 0, 0x18, 1, 0x84);
30 LibAmdPciWrite(
AccessWidth32, PciAddress, &PciData, &StdHeader);
31 PciAddress.AddressValue = MAKE_SBDFO(0, 0, 0x18, 1, 0x80);
33 LibAmdPciWrite(
AccessWidth32, PciAddress, &PciData, &StdHeader);
36 PciAddress.AddressValue = MAKE_SBDFO(0, 0, 0x18, 1, 0x8C);
38 LibAmdPciWrite(
AccessWidth32, PciAddress, &PciData, &StdHeader);
39 LibAmdMsrRead(
TOP_MEM, &MsrReg, &StdHeader);
40 MsrReg = (MsrReg >> 8) | 3;
41 PciAddress.AddressValue = MAKE_SBDFO(0, 0, 0x18, 1, 0x88);
42 PciData = (UINT32) MsrReg;
43 LibAmdPciWrite(
AccessWidth32, PciAddress, &PciData, &StdHeader);
46 PciAddress.AddressValue = MAKE_SBDFO(0, 0, 0x18, 1, 0xC4);
48 LibAmdPciWrite(
AccessWidth32, PciAddress, &PciData, &StdHeader);
49 PciAddress.AddressValue = MAKE_SBDFO(0, 0, 0x18, 1, 0xC0);
51 LibAmdPciWrite(
AccessWidth32, PciAddress, &PciData, &StdHeader);
56 AMD_INTERFACE_PARAMS AmdParamStruct;
64 PciAddress.Address.Bus = 0;
65 PciAddress.Address.Device = 1;
66 PciAddress.Address.Function = 0;
67 PciAddress.Address.Register = 0x18;
69 LibAmdPciRead(
AccessWidth32, PciAddress, &PciValue, &AmdParamStruct.StdHeader);
70 PciValue |= 0x00010100;
71 LibAmdPciWrite(
AccessWidth32, PciAddress, &PciValue, &AmdParamStruct.StdHeader);
76 PciAddress.Address.Bus = 1;
77 PciAddress.Address.Device = 5;
78 PciAddress.Address.Function = 0;
79 PciAddress.Address.Register = 0x18;
81 LibAmdPciRead(
AccessWidth32, PciAddress, &PciValue, &AmdParamStruct.StdHeader);
82 PciValue |= 0x96000000;
83 LibAmdPciWrite(
AccessWidth32, PciAddress, &PciValue, &AmdParamStruct.StdHeader);
88 PciAddress.Address.Register = 0x10;
89 LibAmdPciRead(
AccessWidth32, PciAddress, &PciValue, &AmdParamStruct.StdHeader);
90 PciValue |= 0x80000000;
91 LibAmdPciWrite(
AccessWidth32, PciAddress, &PciValue, &AmdParamStruct.StdHeader);
96 PciAddress.Address.Bus = 0;
97 PciAddress.Address.Device = 1;
98 PciAddress.Address.Function = 0;
99 PciAddress.Address.Register = 0x18;
101 LibAmdPciRead(
AccessWidth32, PciAddress, &PciValue, &AmdParamStruct.StdHeader);
102 PciValue |= 0x96000000;
103 LibAmdPciWrite(
AccessWidth32, PciAddress, &PciValue, &AmdParamStruct.StdHeader);
108 PciAddress.Address.Register = 0x10;
109 LibAmdPciRead(
AccessWidth32, PciAddress, &PciValue, &AmdParamStruct.StdHeader);
110 PciValue |= 0x80000000;
111 LibAmdPciWrite(
AccessWidth32, PciAddress, &PciValue, &AmdParamStruct.StdHeader);
116 PciAddress.Address.Bus = 0;
117 PciAddress.Address.Device = 1;
118 PciAddress.Address.Function = 0;
119 PciAddress.Address.Register = 0x20;
121 LibAmdPciRead(
AccessWidth32, PciAddress, &PciValue, &AmdParamStruct.StdHeader);
122 PciValue |= 0x96009600;
123 LibAmdPciWrite(
AccessWidth32, PciAddress, &PciValue, &AmdParamStruct.StdHeader);
128 PciAddress.Address.Register = 0x24;
129 LibAmdPciRead(
AccessWidth32, PciAddress, &PciValue, &AmdParamStruct.StdHeader);
130 PciValue |= 0x8FF18001;
131 LibAmdPciWrite(
AccessWidth32, PciAddress, &PciValue, &AmdParamStruct.StdHeader);
@ AccessWidth32
Access width is 32 bits.
#define HPET_BASE_ADDRESS
The standard header for all AGESA services.