1 /*++
2 
3   Copyright (c) 2004  - 2016, Intel Corporation. All rights reserved.<BR>
4 
5 
6   This program and the accompanying materials are licensed and made available under
7 
8   the terms and conditions of the BSD License that accompanies this distribution.
9 
10   The full text of the license may be found at
11 
12   http://opensource.org/licenses/bsd-license.php.
13 
14 
15 
16   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
17 
18   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19 
20 
21 
22 
23 Module Name:
24 
25   PlatformEarlyInit.h
26 
27 Abstract:
28 
29   Platform Early Stage header file
30 
31 
32 
33 --*/
34 
35 /*++
36  This file contains an 'Intel Peripheral Driver' and is
37  licensed for Intel CPUs and chipsets under the terms of your
38  license agreement with Intel or your vendor.  This file may
39  be modified by the user, subject to additional terms of the
40  license agreement
41 --*/
42 
43 #ifndef _EFI_PLATFORM_EARLY_INIT_H_
44 #define _EFI_PLATFORM_EARLY_INIT_H_
45 
46 #define EFI_FORWARD_DECLARATION(x) typedef struct _##x x
47 #include <FrameworkPei.h>
48 #include "PlatformBaseAddresses.h"
49 #include "PchAccess.h"
50 #include "VlvAccess.h"
51 #include "SetupMode.h"
52 #include "PlatformBootMode.h"
53 #include "Platform.h"
54 #include "LegacySpeaker.h"
55 
56 #include <Ppi/Stall.h>
57 #include <Guid/PlatformInfo.h>
58 #include <Guid/SetupVariable.h>
59 #include <Ppi/AtaController.h>
60 #include <Ppi/FindFv.h>
61 #include <Ppi/BootInRecoveryMode.h>
62 #include <Ppi/ReadOnlyVariable2.h>
63 #include <Ppi/Capsule.h>
64 #include <Guid/EfiVpdData.h>
65 #include <Library/DebugLib.h>
66 #include <Library/BaseMemoryLib.h>
67 #include <Library/PcdLib.h>
68 #include <Library/IoLib.h>
69 #include <Library/HobLib.h>
70 #include <Library/BaseLib.h>
71 #include <Library/PeiServicesLib.h>
72 #include <Library/MtrrLib.h>
73 #include <Library/CpuIA32.h>
74 
75 #include <IndustryStandard/Pci22.h>
76 #include <Ppi/Speaker.h>
77 #include <Guid/FirmwareFileSystem.h>
78 #include <Guid/MemoryTypeInformation.h>
79 #include <Ppi/Cache.h>
80 #include <Ppi/Smbus.h>
81 #include <Library/PchPlatformLib.h>
82 #include <Ppi/SmbusPolicy.h>
83 #include <Ppi/Reset.h>
84 #include <Ppi/EndOfPeiPhase.h>
85 #include <Ppi/MemoryDiscovered.h>
86 #include <Ppi/VlvPolicy.h>
87 #include <Guid/GlobalVariable.h>
88 #include <Ppi/RecoveryModule.h>
89 #include <Ppi/DeviceRecoveryModule.h>
90 #include <Guid/Capsule.h>
91 #include <Guid/RecoveryDevice.h>
92 #include <Ppi/MasterBootMode.h>
93 #include <Guid/PlatformCpuInfo.h>
94 #include <Guid/OsSelection.h>
95 #include <Guid/SmramMemoryReserve.h>
96 
97 #define SMC_LAN_ON       0x46
98 #define SMC_LAN_OFF    0x47
99 #define SMC_DEEP_S3_STS    0xB2
100 
101 
102 
103 
104 //
105 // Wake Event Types
106 //
107 #define SMBIOS_WAKEUP_TYPE_RESERVED           0x00
108 #define SMBIOS_WAKEUP_TYPE_OTHERS             0x01
109 #define SMBIOS_WAKEUP_TYPE_UNKNOWN            0x02
110 #define SMBIOS_WAKEUP_TYPE_APM_TIMER          0x03
111 #define SMBIOS_WAKEUP_TYPE_MODEM_RING         0x04
112 #define SMBIOS_WAKEUP_TYPE_LAN_REMOTE         0x05
113 #define SMBIOS_WAKEUP_TYPE_POWER_SWITCH       0x06
114 #define SMBIOS_WAKEUP_TYPE_PCI_PME            0x07
115 #define SMBIOS_WAKEUP_TYPE_AC_POWER_RESTORED  0x08
116 
117 #define EFI_CPUID_VIRT_PHYS_ADDRESS_SIZE       0x80000008
118 
119 //
120 // Defines for stall ppi
121 //
122 #define PEI_STALL_RESOLUTION  1
123 
124 //
125 // Used in PEI memory test routines
126 //
127 #define MEMORY_TEST_COVER_SPAN  0x40000
128 #define MEMORY_TEST_PATTERN     0x5A5A5A5A
129 
130 #define EFI_LOW_BEEP_FREQUENCY            0x31B
131 #define EFI_HIGH_BEEP_FREQUENCY           0x254
132 
133 //
134 // General Purpose Constants
135 //
136 #define ICH_ACPI_TIMER_MAX_VALUE  0x1000000 //The timer is 24 bit overflow
137 
138 
139 
140 //
141 //
142 //              GPIO Register Settings for ValleyFalls (Tablet)
143 //
144 //
145 //                   IO Space configyuration registers
146 // Field Descriptions:
147 //    USE: Defines the pin's usage model:  GPIO (G) or Native (N) mode.
148 //    I/O: Defines whether GPIOs are inputs (I) or outputs (O).
149 //         (Note:  Only meaningful for pins used as GPIOs.)
150 //    LVL: This field gives you the initial value for "output" GPIO's.
151 //         (Note: The output level is dependent upon whether the pin is inverted.)
152 //    TPE: Defines whether Trigger Positive Edge Enable.
153 //    TNE: Defines whether Trigger Negative Edge Enable.
154 //    WAKE_EN: only support in SUS community
155 //         (Note:  Only affects the level sent to the GPE logic and does not
156 //         affect the level read through the GPIO registers.)
157 //
158 //
159 //                    Memory spcae configuration registers
160 //
161 // Field Descriptions:
162 //   PAD releated:
163 //    PAD_CONF0
164 //      PAD_CONF1
165 //      PAD_VAL
166 //      PAD_DFT
167 //
168 // Notes:
169 //    1. N = Native , G = GPIO , I = Input, O = Output, - = BOTH/NOT SURE
170 //
171 // Signal          UsedAs                       USE     I/O      LVL     TPE     TNE   PCONF0   PCONF1   PVAL  PDFT
172 // -------------------------------------------------------------------------------------------------------------------------
173 // GPIO0           UART1_RXD-L                   N       I        -       -       -     cd29h    -         -     -
174 // GPIO1           UART1_TXD-0                   N       O        -       -       -     cd29h    -         -     -
175 // *GPIO2           UART1_RTS_B-1                N       I        -       -       -     cca9h    -         -     -
176 // *GPIO3           UART1_CTS_B-H                N       O        -       -       -     cca9h    -         -     -
177 
178 // GPIO4           I2C1_SDA-OD-O                 N       -        -       -       -     cca9h    -         -     -
179 // GPIO5           I2C1_SCL-OD-O                 N       -        -       -       -     cca9h    -         -     -
180 // GPIO6           I2S_SYSCLK-0                  N       O        -       -       -     8d51h    -         -     -
181 // GPIO7           I2S_L_R-0 (SP)                N       O        -       -       -     8cd1h    -         -     -
182 // GPIO8           I2S_DATA_OUT-0                N       O        -       -       -     8cd1h    -         -     -
183 // GPIO9           I2S_SDATA_IN-L                N       I        -       -       -     8cd1h    -         -     -
184 
185 // GPIO10          PCM_CLK-0                     N       O        -       -       -     8d51h    -         -     -
186 // GPIO11          PCM_FSYNC-0 (SP)              N       O        -       -       -     8cd1h    -         -     -
187 // GPIO12          PCM_DATA_OUT-0 (SP)           N       O        -       -       -     8cd1h    -         -     -
188 // GPIO13          PCM_DATA_IN-L                 N       I        -       -       -     8d51h    -         -     -
189 
190 // GPIO14          SATA_GP0                      N       -        -       -       -      -       -         -     -
191 // GPIO15          I2C2_SDA-OD-O/I               N       -        -       -       -     ccaah    -         -     -
192 
193 // GPIO16          SATA_LEDN                     N       O        -       -       -      -       -         -     -
194 // GPIO17          UART2_RTS_B-1                 N       I        -       -       -     cd2ah    -         -     -
195 // GPIO18          UART2_CTS_B-H                 N       O        -       -       -     ccaah    -         -     -
196 // GPIO19          UART2_RXD-H                   N       I        -       -       -     ccaah    -         -     -
197 
198 // GPIO20          I2C2_SCL-OD-O/I               N       -        -       -       -     ccaah    -         -     -
199 // GPIO21          **PCIE_CLKREQ4B               N       -        -       -       -      -       -         -     -
200 // GPIO22          UART2_TXD-0                   N       O        -       -       -     ccaah    -         -     -
201 // GPIO23          FLEX_CLK_SE1                  N       -        -       -       -      -       -         -     -
202 
203 // GPIO24          SPI0_SCK-0                    N       O        -       -       -     8d02h    -         -     -
204 // GPIO25          SPI0_CS-1                     N       O        -       -       -     8d02h    -         -     -
205 // GPIO26          SPI0_MOSI-0                   N       O        -       -       -     8d02h    -         -     -
206 // GPIO27          SPI0_MISO-L                   N       I        -       -       -     8d02h    -         -     -
207 
208 // GPIO28          UART3_RXD-L                   N       I        -       -       -      -       -         -     -
209 // GPIO29          UART3_TXD-0                   N       O        -       -       -      -       -         -     -
210 // GPIO30          UART4_RXD-L                   N       I        -       -       -      -       -         -     -
211 // GPIO31          UART4_TXD-0                   N       O        -       -       -      -       -         -     -
212 
213 // GPIO32          SDMMC1_CLK                    N       -        -       -       -     208d51h   -         -     -
214 // GPIO33          SDMMC1_D0                     N       -        -       -       -     8cd1h     -         -     -
215 // GPIO34          SDMMC1_D1                     N       -        -       -       -     8cd1h     -         -     -
216 // GPIO35          SDMMC1_D2                     N       -        -       -       -     8cd1h     -         -     -
217 // GPIO36          SDMMC1_D3_CD_B                N       -        -       -       -     8cd1h     -         -     -
218 // GPIO37          MMC1_D4_SD_WE                 N       -        -       -       -     8cd1h     -         -     -
219 // GPIO38          MMC1_D5                       N       -        -       -       -     8cd1h     -         -     -
220 // GPIO39          MMC1_D6                       N       -        -       -       -     8cd1h     -         -     -
221 // GPIO40          MMC1_D7                       N       -        -       -       -     8cd1h     -         -     -
222 // GPIO41          SDMMC1_CMD                    N       -        -       -       -     8cd1h     -         -     -
223 // GPIO42          MMC1_RESET_B                  N       -        -       -       -     208d51h   -         -     -
224 
225 // GPIO43          SDMMC2_CLK                    N       -        -       -       -     208d51h   -         -     -
226 // GPIO44          SDMMC2_D0                     N       -        -       -       -     8cd1h     -         -     -
227 // GPIO45          SDMMC2_D1                     N       -        -       -       -     8cd1h     -         -     -
228 // GPIO46          SDMMC2_D2                     N       -        -       -       -     8cd1h     -         -     -
229 // GPIO47          SDMMC2_D3_CD_B                N       -        -       -       -     8cd1h     -         -     -
230 // GPIO48          SDMMC2_CMD                    N       -        -       -       -     8cd1h     -         -     -
231 
232 // GPIO49          SDMMC3_CLK                    N       -        -       -       -     8d51h      -         -     -
233 // GPIO50          SDMMC3_D0                     N       -        -       -       -     8cd1h      -         -     -
234 // GPIO51          SDMMC3_D1                     N       -        -       -       -      8cd1h      -         -     -
235 // GPIO52          SDMMC3_D2                     N       -        -       -       -      8cd1h      -         -     -
236 // GPIO53          SDMMC3_D3                     N       -        -       -       -      8cd1h      -         -     -
237 // GPIO54          SDMMC3_CD_B                   N       -        -       -       -      cca9h      -         -     -
238 // GPIO55          SDMMC3_CMD                    N       -        -       -       -      8cd1h      -         -     -
239 // GPIO56          SDMMC3_1P8_EN                 N       -        -       -       -      cd29h   -         -     -
240 
241 // GPIO57            LPC_AD0                     N       -        -       -       -      -       -         -     -
242 // GPIO58            LPC_AD1                     N       -        -       -       -      -       -         -     -
243 // GPIO59            LPC_AD2                     N       -        -       -       -      -       -         -     -
244 // GPIO60            LPC_AD3                     N       -        -       -       -      -       -         -     -
245 // GPIO61            LPC_FRAMEB                  N       O        -       -       -      -       -         -     -
246 // GPIO62            LPC_CLKOUT0                 N       O        -       -       -      -       -         -     -
247 // GPIO63            LPC_CLKOUT1                 N       O        -       -       -      -       -         -     -
248 // GPIO64            LPC_CLKRUNB                 N       -        -       -       -      -       -         -     -
249 
250 // GPIO65            SMB_DATA                    N       -        -       -       -      -       -         -     -
251 // GPIO66            SMB_CLK                     N       -        -       -       -      -       -         -     -
252 // GPIO67            SMB_ALERTB                  N       -        -       -       -      -       -         -     -
253 
254 // GPIO68            ILB_SEIRQ                   N       -       -        -       -      -       -         -     -
255 // GPIO69            SPKR                        N       O       -        -       -      -       -         -     -
256 
257 //SUS WELL
258 
259 //GPIO_SUS0             BT_WAKEUP_VLV               N       O       -        -       -    CCA8h       -         -     -
260 //GPIO_SUS1             BT_CLOCK_REQ                N       O       -        -       -    CCA8h       -         -     -
261 //GPIO_SUS2             WIFI_PWR_EN                 N       O       -        -       -    CCA8h       -         -     -
262 //GPIO_SUS3             SD_CARD_PWR_EN              N       O       -        -       -    CD28h       -         -     -
263 //GPIO_SUS4             GPIO_SUS4                   N       O       -        -       -    CD28h       -         -     -
264 //GPIO_SUS5             GPIO_SUS5                   N       O       -        -       -    CD28h       -         -     -
265 //GPIO_SUS6             SUSPWRDNACK                 N       O       -        -       -    8850h       -         -     -
266 //GPIO_SUS7             PMU_SLP_DDRVTT_B            N       O       -        -       -    8850h       -         -     -
267 //GPIO_SUS8             PMU_WAKE_B                  N       O       -        -       -    CCA8h       -         -     -
268 //GPIO_SUS9             PMU_PWRBTN_B                N       O       -        -       -    CCA8h       -         -     -
269 //GPIO_SUS10            PMU_WAKE_LAN_B              N       O       -        -       -    CCA8h       -         -     -
270 //GPIO_SUS11            SUS_STAT_B                  N       O       -        -       -    C828h       -         -     -
271 //GPIO_SUS12            GPIO_SUS12                  N       O       -        -       -    C828h      -         -     -
272 //GPIO_SUS13            USB_OC0_B-20K,H             N       O       -        -       -    CCA8h       -         -     -
273 //GPIO_SUS14            GPIO_SUS14                  N       O       -        -       -    CCA8h       -         -     -
274 //GPIO_SUS15            SPI_CS1_B-20K,H             N       O       -        -       -    8C80h       -         -     -
275 //GPIO_SUS16            PMU_SUSCLK                  N       O       -        -       -    C828h       -         -     -
276 //
277 
278 
279 #define VF_TAB_GPIO_USE_SEL_VAL_0_31        0x00000000
280 #define VF_TAB_GPIO_USE_SEL_VAL_32_63       0x00000000
281 #define VF_TAB_GPIO_USE_SEL_VAL_64_70       0x00000000
282 #define VF_TAB_GPIO_USE_SEL_VAL_SUS         0x00000000
283 
284 //
285 //1010 --00 0100 01-- 0101 --0- 0001 1010
286 //
287 #define VF_TAB_GPIO_IO_SEL_VAL_0_31         0x00000000 // BIT30 | BIT28 | BIT27 | BIT19 | BIT17 | BIT13 | BIT9 | BIT2 | BIT0
288 #define VF_TAB_GPIO_IO_SEL_VAL_32_63        0x00000000
289 #define VF_TAB_GPIO_IO_SEL_VAL_64_70        0x00000000
290 #define VF_TAB_GPIO_IO_SEL_VAL_SUS          0x00000000
291 
292 
293 #define VF_TAB_GPIO_LVL_VAL_0_31            0x00000000
294 #define VF_TAB_GPIO_LVL_VAL_32_63           0x00000000
295 #define VF_TAB_GPIO_LVL_VAL_64_70           0x00000000
296 #define VF_TAB_GPIO_LVL_VAL_SUS             0x00000000
297 
298 #define VF_TAB_GPIO_TPE_VAL_0_31            0x00000000
299 #define VF_TAB_GPIO_TPE_VAL_SUS             0x00000000
300 
301 #define VF_TAB_GPIO_TNE_VAL_0_31            0x00000000
302 #define VF_TAB_GPIO_TNE_VAL_SUS             0x00000000
303 
304 #define VF_TAB_GPIO_TS_VAL_0_31             0x00000000
305 #define VF_TAB_GPIO_TS_VAL_SUS              0x00000000
306 
307 
308 //
309 // Memory space registers
310 //
311 
312 //
313 // CONF0
314 //
315 #define  VF_TAB_PAD_CONF0_GPIO0  0xcd29
316 #define  VF_TAB_PAD_CONF0_GPIO1  0xcd29
317 #define  VF_TAB_PAD_CONF0_GPIO2  0xcca9
318 #define  VF_TAB_PAD_CONF0_GPIO3  0xcca9
319 #define  VF_TAB_PAD_CONF0_GPIO4  0xcca9
320 #define  VF_TAB_PAD_CONF0_GPIO5  0xcca9
321 #define  VF_TAB_PAD_CONF0_GPIO6  0x8d51
322 #define  VF_TAB_PAD_CONF0_GPIO7  0x8cd1
323 #define  VF_TAB_PAD_CONF0_GPIO8  0x8cd1
324 #define  VF_TAB_PAD_CONF0_GPIO9  0x8cd1
325 #define  VF_TAB_PAD_CONF0_GPIO10  0x8d51
326 #define  VF_TAB_PAD_CONF0_GPIO11  0x8cd1
327 #define  VF_TAB_PAD_CONF0_GPIO12  0x8cd1
328 #define  VF_TAB_PAD_CONF0_GPIO13  0x8d51
329 #define  VF_TAB_PAD_CONF0_GPIO14  0xCCA8
330 #define  VF_TAB_PAD_CONF0_GPIO15  0xccaa
331 #define  VF_TAB_PAD_CONF0_GPIO16  0xC828
332 #define  VF_TAB_PAD_CONF0_GPIO17  0xcd2a
333 #define  VF_TAB_PAD_CONF0_GPIO18  0xccaa
334 #define  VF_TAB_PAD_CONF0_GPIO19  0xccaa
335 #define  VF_TAB_PAD_CONF0_GPIO20  0xccaa
336 #define  VF_TAB_PAD_CONF0_GPIO21  0xCCA9
337 #define  VF_TAB_PAD_CONF0_GPIO22  0xccaa
338 #define  VF_TAB_PAD_CONF0_GPIO23  0xCD2A
339 #define  VF_TAB_PAD_CONF0_GPIO24  0x8d02
340 #define  VF_TAB_PAD_CONF0_GPIO25  0x8d02
341 #define  VF_TAB_PAD_CONF0_GPIO26  0x8d02
342 #define  VF_TAB_PAD_CONF0_GPIO27  0x8d02
343 #define  VF_TAB_PAD_CONF0_GPIO28  0x8D02
344 #define  VF_TAB_PAD_CONF0_GPIO29  0x8D02
345 #define  VF_TAB_PAD_CONF0_GPIO30  0x8D00
346 #define  VF_TAB_PAD_CONF0_GPIO31  0xCD2A
347 #define  VF_TAB_PAD_CONF0_GPIO32  0x208d51
348 #define  VF_TAB_PAD_CONF0_GPIO33  0x8cd1
349 #define  VF_TAB_PAD_CONF0_GPIO34  0x8cd1
350 #define  VF_TAB_PAD_CONF0_GPIO35  0x8cd1
351 #define  VF_TAB_PAD_CONF0_GPIO36  0x8cd1
352 #define  VF_TAB_PAD_CONF0_GPIO37  0x8cd1
353 #define  VF_TAB_PAD_CONF0_GPIO38  0x8cd1
354 #define  VF_TAB_PAD_CONF0_GPIO39  0x8cd1
355 #define  VF_TAB_PAD_CONF0_GPIO40  0x8cd1
356 #define  VF_TAB_PAD_CONF0_GPIO41  0x8cd1
357 #define  VF_TAB_PAD_CONF0_GPIO42  0x208d51
358 #define  VF_TAB_PAD_CONF0_GPIO43  0x208d51
359 #define  VF_TAB_PAD_CONF0_GPIO44  0x8cd1
360 #define  VF_TAB_PAD_CONF0_GPIO45  0x8cd1
361 #define  VF_TAB_PAD_CONF0_GPIO46  0x8cd1
362 #define  VF_TAB_PAD_CONF0_GPIO47  0x8cd1
363 #define  VF_TAB_PAD_CONF0_GPIO48  0x8cd1
364 #define  VF_TAB_PAD_CONF0_GPIO49  0x8d51
365 #define  VF_TAB_PAD_CONF0_GPIO50  0x8cd1
366 #define  VF_TAB_PAD_CONF0_GPIO51  0x8cd1
367 #define  VF_TAB_PAD_CONF0_GPIO52  0x8cd1
368 #define  VF_TAB_PAD_CONF0_GPIO53  0x8cd1
369 #define  VF_TAB_PAD_CONF0_GPIO54  0xcca9
370 #define  VF_TAB_PAD_CONF0_GPIO55  0x8cd1
371 #define  VF_TAB_PAD_CONF0_GPIO56  0xcd29
372 #define  VF_TAB_PAD_CONF0_GPIO57  0x8C80
373 #define  VF_TAB_PAD_CONF0_GPIO58  0x8C80
374 #define  VF_TAB_PAD_CONF0_GPIO59  0x8C80
375 #define  VF_TAB_PAD_CONF0_GPIO60  0x8C80
376 #define  VF_TAB_PAD_CONF0_GPIO61  0x8800
377 #define  VF_TAB_PAD_CONF0_GPIO62  0x8D00
378 #define  VF_TAB_PAD_CONF0_GPIO63  0x8800
379 #define  VF_TAB_PAD_CONF0_GPIO64  0x8800
380 #define  VF_TAB_PAD_CONF0_GPIO65  0xC828
381 #define  VF_TAB_PAD_CONF0_GPIO66  0xC828
382 #define  VF_TAB_PAD_CONF0_GPIO67  0xC828
383 #define  VF_TAB_PAD_CONF0_GPIO68  0xCCA8
384 #define  VF_TAB_PAD_CONF0_GPIO69  0xC828
385 #define  VF_TAB_PAD_CONF0_GPIO70  0xCCA8
386 
387 
388 
389 //
390 // PAD_CONF1
391 //
392 #define  VF_TAB_PAD_CONF1_GPIO0  0x20002
393 #define  VF_TAB_PAD_CONF1_GPIO1  0x20002
394 #define  VF_TAB_PAD_CONF1_GPIO2  0x20002
395 #define  VF_TAB_PAD_CONF1_GPIO3  0x20002
396 #define  VF_TAB_PAD_CONF1_GPIO4  0x20002
397 #define  VF_TAB_PAD_CONF1_GPIO5  0x20002
398 #define  VF_TAB_PAD_CONF1_GPIO6  0x1F000F
399 #define  VF_TAB_PAD_CONF1_GPIO7  0x1F000F
400 #define  VF_TAB_PAD_CONF1_GPIO8  0x1F000F
401 #define  VF_TAB_PAD_CONF1_GPIO9  0x1F000F
402 #define  VF_TAB_PAD_CONF1_GPIO10  0x1F000F
403 #define  VF_TAB_PAD_CONF1_GPIO11  0x1F000F
404 #define  VF_TAB_PAD_CONF1_GPIO12  0x1F000F
405 #define  VF_TAB_PAD_CONF1_GPIO13  0x1F000F
406 #define  VF_TAB_PAD_CONF1_GPIO14  0x20002
407 #define  VF_TAB_PAD_CONF1_GPIO15  0x20002
408 #define  VF_TAB_PAD_CONF1_GPIO16  0x20002
409 #define  VF_TAB_PAD_CONF1_GPIO17  0x20002
410 #define  VF_TAB_PAD_CONF1_GPIO18  0x20002
411 #define  VF_TAB_PAD_CONF1_GPIO19  0x20002
412 #define  VF_TAB_PAD_CONF1_GPIO20  0x20002
413 #define  VF_TAB_PAD_CONF1_GPIO21  0x20002
414 #define  VF_TAB_PAD_CONF1_GPIO22  0x20002
415 #define  VF_TAB_PAD_CONF1_GPIO23  0x20002
416 #define  VF_TAB_PAD_CONF1_GPIO24  0x00000
417 #define  VF_TAB_PAD_CONF1_GPIO25  0x00000
418 #define  VF_TAB_PAD_CONF1_GPIO26  0x00000
419 #define  VF_TAB_PAD_CONF1_GPIO27  0x00000
420 #define  VF_TAB_PAD_CONF1_GPIO28  0x00000
421 #define  VF_TAB_PAD_CONF1_GPIO29  0x00000
422 #define  VF_TAB_PAD_CONF1_GPIO30  0x00000
423 #define  VF_TAB_PAD_CONF1_GPIO31  0x20002
424 #define  VF_TAB_PAD_CONF1_GPIO32  0x00000
425 #define  VF_TAB_PAD_CONF1_GPIO33  0x00000
426 #define  VF_TAB_PAD_CONF1_GPIO34  0x00000
427 #define  VF_TAB_PAD_CONF1_GPIO35  0x00000
428 #define  VF_TAB_PAD_CONF1_GPIO36  0x00000
429 #define  VF_TAB_PAD_CONF1_GPIO37  0x00000
430 #define  VF_TAB_PAD_CONF1_GPIO38  0x00000
431 #define  VF_TAB_PAD_CONF1_GPIO39  0x00000
432 #define  VF_TAB_PAD_CONF1_GPIO40  0x00000
433 #define  VF_TAB_PAD_CONF1_GPIO41  0x00000
434 #define  VF_TAB_PAD_CONF1_GPIO42  0x00000
435 #define  VF_TAB_PAD_CONF1_GPIO43  0x00000
436 #define  VF_TAB_PAD_CONF1_GPIO44  0x00000
437 #define  VF_TAB_PAD_CONF1_GPIO45  0x00000
438 #define  VF_TAB_PAD_CONF1_GPIO46  0x00000
439 #define  VF_TAB_PAD_CONF1_GPIO47  0x00000
440 #define  VF_TAB_PAD_CONF1_GPIO48  0x00000
441 #define  VF_TAB_PAD_CONF1_GPIO49  0x00000
442 #define  VF_TAB_PAD_CONF1_GPIO50  0x00000
443 #define  VF_TAB_PAD_CONF1_GPIO51  0x00000
444 #define  VF_TAB_PAD_CONF1_GPIO52  0x00000
445 #define  VF_TAB_PAD_CONF1_GPIO53  0x00000
446 #define  VF_TAB_PAD_CONF1_GPIO54  0x20002
447 #define  VF_TAB_PAD_CONF1_GPIO55  0x00000
448 #define  VF_TAB_PAD_CONF1_GPIO56  0x20002
449 #define  VF_TAB_PAD_CONF1_GPIO57  0x00000
450 #define  VF_TAB_PAD_CONF1_GPIO58  0x00000
451 #define  VF_TAB_PAD_CONF1_GPIO59  0x00000
452 #define  VF_TAB_PAD_CONF1_GPIO60  0x00000
453 #define  VF_TAB_PAD_CONF1_GPIO61  0x00000
454 #define  VF_TAB_PAD_CONF1_GPIO62  0x00000
455 #define  VF_TAB_PAD_CONF1_GPIO63  0x00000
456 #define  VF_TAB_PAD_CONF1_GPIO64  0x00000
457 #define  VF_TAB_PAD_CONF1_GPIO65  0x20002
458 #define  VF_TAB_PAD_CONF1_GPIO66  0x20002
459 #define  VF_TAB_PAD_CONF1_GPIO67  0x20002
460 #define  VF_TAB_PAD_CONF1_GPIO68  0x20002
461 #define  VF_TAB_PAD_CONF1_GPIO69  0x20002
462 #define  VF_TAB_PAD_CONF1_GPIO70  0x20002
463 
464 
465 //
466 // PAD_VAL
467 //
468 #define  VF_TAB_PAD_VAL_GPIO0  0x2
469 #define  VF_TAB_PAD_VAL_GPIO1  0x2
470 #define  VF_TAB_PAD_VAL_GPIO2  0x2
471 #define  VF_TAB_PAD_VAL_GPIO3  0x2
472 #define  VF_TAB_PAD_VAL_GPIO4  0x2
473 #define  VF_TAB_PAD_VAL_GPIO5  0x2
474 #define  VF_TAB_PAD_VAL_GPIO6  0x2
475 #define  VF_TAB_PAD_VAL_GPIO7  0x2
476 #define  VF_TAB_PAD_VAL_GPIO8  0x2
477 #define  VF_TAB_PAD_VAL_GPIO9  0x2
478 #define  VF_TAB_PAD_VAL_GPIO10  0x2
479 #define  VF_TAB_PAD_VAL_GPIO11  0x2
480 #define  VF_TAB_PAD_VAL_GPIO12  0x2
481 #define  VF_TAB_PAD_VAL_GPIO13  0x2
482 #define  VF_TAB_PAD_VAL_GPIO14  0x2
483 #define  VF_TAB_PAD_VAL_GPIO15  0x2
484 #define  VF_TAB_PAD_VAL_GPIO16  0x4
485 #define  VF_TAB_PAD_VAL_GPIO17  0x2
486 #define  VF_TAB_PAD_VAL_GPIO18  0x2
487 #define  VF_TAB_PAD_VAL_GPIO19  0x2
488 #define  VF_TAB_PAD_VAL_GPIO20  0x2
489 #define  VF_TAB_PAD_VAL_GPIO21  0x2
490 #define  VF_TAB_PAD_VAL_GPIO22  0x2
491 #define  VF_TAB_PAD_VAL_GPIO23  0x2
492 #define  VF_TAB_PAD_VAL_GPIO24  0x2
493 #define  VF_TAB_PAD_VAL_GPIO25  0x2
494 #define  VF_TAB_PAD_VAL_GPIO26  0x2
495 #define  VF_TAB_PAD_VAL_GPIO27  0x2
496 #define  VF_TAB_PAD_VAL_GPIO28  0x2
497 #define  VF_TAB_PAD_VAL_GPIO29  0x2
498 #define  VF_TAB_PAD_VAL_GPIO30  0x2
499 #define  VF_TAB_PAD_VAL_GPIO31  0x2
500 #define  VF_TAB_PAD_VAL_GPIO32  0x2
501 #define  VF_TAB_PAD_VAL_GPIO33  0x2
502 #define  VF_TAB_PAD_VAL_GPIO34  0x2
503 #define  VF_TAB_PAD_VAL_GPIO35  0x2
504 #define  VF_TAB_PAD_VAL_GPIO36  0x2
505 #define  VF_TAB_PAD_VAL_GPIO37  0x2
506 #define  VF_TAB_PAD_VAL_GPIO38  0x2
507 #define  VF_TAB_PAD_VAL_GPIO39  0x2
508 #define  VF_TAB_PAD_VAL_GPIO40  0x2
509 #define  VF_TAB_PAD_VAL_GPIO41  0x2
510 #define  VF_TAB_PAD_VAL_GPIO42  0x2
511 #define  VF_TAB_PAD_VAL_GPIO43  0x2
512 #define  VF_TAB_PAD_VAL_GPIO44  0x2
513 #define  VF_TAB_PAD_VAL_GPIO45  0x2
514 #define  VF_TAB_PAD_VAL_GPIO46  0x2
515 #define  VF_TAB_PAD_VAL_GPIO47  0x2
516 #define  VF_TAB_PAD_VAL_GPIO48  0x2
517 #define  VF_TAB_PAD_VAL_GPIO49  0x2
518 #define  VF_TAB_PAD_VAL_GPIO50  0x2
519 #define  VF_TAB_PAD_VAL_GPIO51  0x2
520 #define  VF_TAB_PAD_VAL_GPIO52  0x2
521 #define  VF_TAB_PAD_VAL_GPIO53  0x2
522 #define  VF_TAB_PAD_VAL_GPIO54  0x2
523 #define  VF_TAB_PAD_VAL_GPIO55  0x2
524 #define  VF_TAB_PAD_VAL_GPIO56  0x2
525 #define  VF_TAB_PAD_VAL_GPIO57  0x2
526 #define  VF_TAB_PAD_VAL_GPIO58  0x2
527 #define  VF_TAB_PAD_VAL_GPIO59  0x2
528 #define  VF_TAB_PAD_VAL_GPIO60  0x2
529 #define  VF_TAB_PAD_VAL_GPIO61  0x4
530 #define  VF_TAB_PAD_VAL_GPIO62  0x2
531 #define  VF_TAB_PAD_VAL_GPIO63  0x2
532 #define  VF_TAB_PAD_VAL_GPIO64  0x2
533 #define  VF_TAB_PAD_VAL_GPIO65  0x2
534 #define  VF_TAB_PAD_VAL_GPIO66  0x2
535 #define  VF_TAB_PAD_VAL_GPIO67  0x0
536 #define  VF_TAB_PAD_VAL_GPIO68  0x2
537 #define  VF_TAB_PAD_VAL_GPIO69  0x4
538 #define  VF_TAB_PAD_VAL_GPIO70  0x2
539 
540 
541 //
542 // PAD_DFT
543 //
544 #define  VF_TAB_PAD_DFT_GPIO0  0xC
545 #define  VF_TAB_PAD_DFT_GPIO1  0xC
546 #define  VF_TAB_PAD_DFT_GPIO2  0xC
547 #define  VF_TAB_PAD_DFT_GPIO3  0xC
548 #define  VF_TAB_PAD_DFT_GPIO4  0xC
549 #define  VF_TAB_PAD_DFT_GPIO5  0xC
550 #define  VF_TAB_PAD_DFT_GPIO6  0xC
551 #define  VF_TAB_PAD_DFT_GPIO7  0xC
552 #define  VF_TAB_PAD_DFT_GPIO8  0xC
553 #define  VF_TAB_PAD_DFT_GPIO9  0xC
554 #define  VF_TAB_PAD_DFT_GPIO10  0xC
555 #define  VF_TAB_PAD_DFT_GPIO11  0xC
556 #define  VF_TAB_PAD_DFT_GPIO12  0xC
557 #define  VF_TAB_PAD_DFT_GPIO13  0xC
558 #define  VF_TAB_PAD_DFT_GPIO14  0xC
559 #define  VF_TAB_PAD_DFT_GPIO15  0xC
560 #define  VF_TAB_PAD_DFT_GPIO16  0xC
561 #define  VF_TAB_PAD_DFT_GPIO17  0xC
562 #define  VF_TAB_PAD_DFT_GPIO18  0xC
563 #define  VF_TAB_PAD_DFT_GPIO19  0xC
564 #define  VF_TAB_PAD_DFT_GPIO20  0xC
565 #define  VF_TAB_PAD_DFT_GPIO21  0xC
566 #define  VF_TAB_PAD_DFT_GPIO22  0xC
567 #define  VF_TAB_PAD_DFT_GPIO23  0xC
568 #define  VF_TAB_PAD_DFT_GPIO24  0xC
569 #define  VF_TAB_PAD_DFT_GPIO25  0xC
570 #define  VF_TAB_PAD_DFT_GPIO26  0xC
571 #define  VF_TAB_PAD_DFT_GPIO27  0xC
572 #define  VF_TAB_PAD_DFT_GPIO28  0xC
573 #define  VF_TAB_PAD_DFT_GPIO29  0xC
574 #define  VF_TAB_PAD_DFT_GPIO30  0xC
575 #define  VF_TAB_PAD_DFT_GPIO31  0xC
576 #define  VF_TAB_PAD_DFT_GPIO32  0xC
577 #define  VF_TAB_PAD_DFT_GPIO33  0xC
578 #define  VF_TAB_PAD_DFT_GPIO34  0xC
579 #define  VF_TAB_PAD_DFT_GPIO35  0xC
580 #define  VF_TAB_PAD_DFT_GPIO36  0xC
581 #define  VF_TAB_PAD_DFT_GPIO37  0xC
582 #define  VF_TAB_PAD_DFT_GPIO38  0xC
583 #define  VF_TAB_PAD_DFT_GPIO39  0xC
584 #define  VF_TAB_PAD_DFT_GPIO40  0xC
585 #define  VF_TAB_PAD_DFT_GPIO41  0xC
586 #define  VF_TAB_PAD_DFT_GPIO42  0xC
587 #define  VF_TAB_PAD_DFT_GPIO43  0xC
588 #define  VF_TAB_PAD_DFT_GPIO44  0xC
589 #define  VF_TAB_PAD_DFT_GPIO45  0xC
590 #define  VF_TAB_PAD_DFT_GPIO46  0xC
591 #define  VF_TAB_PAD_DFT_GPIO47  0xC
592 #define  VF_TAB_PAD_DFT_GPIO48  0xC
593 #define  VF_TAB_PAD_DFT_GPIO49  0xC
594 #define  VF_TAB_PAD_DFT_GPIO50  0xC
595 #define  VF_TAB_PAD_DFT_GPIO51  0xC
596 #define  VF_TAB_PAD_DFT_GPIO52  0xC
597 #define  VF_TAB_PAD_DFT_GPIO53  0xC
598 #define  VF_TAB_PAD_DFT_GPIO54  0xC
599 #define  VF_TAB_PAD_DFT_GPIO55  0xC
600 #define  VF_TAB_PAD_DFT_GPIO56  0xC
601 #define  VF_TAB_PAD_DFT_GPIO57  0xC
602 #define  VF_TAB_PAD_DFT_GPIO58  0xC
603 #define  VF_TAB_PAD_DFT_GPIO59  0xC
604 #define  VF_TAB_PAD_DFT_GPIO60  0xC
605 #define  VF_TAB_PAD_DFT_GPIO61  0xC
606 #define  VF_TAB_PAD_DFT_GPIO62  0xC
607 #define  VF_TAB_PAD_DFT_GPIO63  0xC
608 #define  VF_TAB_PAD_DFT_GPIO64  0xC
609 #define  VF_TAB_PAD_DFT_GPIO65  0xC
610 #define  VF_TAB_PAD_DFT_GPIO66  0xC
611 #define  VF_TAB_PAD_DFT_GPIO67  0xC
612 #define  VF_TAB_PAD_DFT_GPIO68  0xC
613 #define  VF_TAB_PAD_DFT_GPIO69  0xC
614 #define  VF_TAB_PAD_DFT_GPIO70  0xC
615 
616 
617 //
618 //SUS WELL
619 //
620 
621 //
622 // CONF0
623 //
624 #define  VF_TAB_PAD_CONF0_GPIO_SUS0  0xCCA8
625 #define  VF_TAB_PAD_CONF0_GPIO_SUS1  0xCCA8
626 #define  VF_TAB_PAD_CONF0_GPIO_SUS2  0xCCA8
627 #define  VF_TAB_PAD_CONF0_GPIO_SUS3  0xCD28
628 #define  VF_TAB_PAD_CONF0_GPIO_SUS4  0xCD28
629 #define  VF_TAB_PAD_CONF0_GPIO_SUS5  0xCD28
630 #define  VF_TAB_PAD_CONF0_GPIO_SUS6  0x8850
631 #define  VF_TAB_PAD_CONF0_GPIO_SUS7  0x8850
632 #define  VF_TAB_PAD_CONF0_GPIO_SUS8  0xCCA8
633 #define  VF_TAB_PAD_CONF0_GPIO_SUS9  0xCCA8
634 #define  VF_TAB_PAD_CONF0_GPIO_SUS10  0xCCA8
635 #define  VF_TAB_PAD_CONF0_GPIO_SUS11  0xC828
636 #define  VF_TAB_PAD_CONF0_GPIO_SUS12  0xC828
637 #define  VF_TAB_PAD_CONF0_GPIO_SUS13  0xCCA8
638 #define  VF_TAB_PAD_CONF0_GPIO_SUS14  0xCCA8
639 #define  VF_TAB_PAD_CONF0_GPIO_SUS15  0x8C80
640 #define  VF_TAB_PAD_CONF0_GPIO_SUS16  0xC828
641 
642 //
643 // CONF1
644 //
645 #define  VF_TAB_PAD_CONF1_GPIO_SUS0  0
646 #define  VF_TAB_PAD_CONF1_GPIO_SUS1  0
647 #define  VF_TAB_PAD_CONF1_GPIO_SUS2  0
648 #define  VF_TAB_PAD_CONF1_GPIO_SUS3  0
649 #define  VF_TAB_PAD_CONF1_GPIO_SUS4  0
650 #define  VF_TAB_PAD_CONF1_GPIO_SUS5  0
651 #define  VF_TAB_PAD_CONF1_GPIO_SUS6  0
652 #define  VF_TAB_PAD_CONF1_GPIO_SUS7  0
653 #define  VF_TAB_PAD_CONF1_GPIO_SUS8  0
654 #define  VF_TAB_PAD_CONF1_GPIO_SUS9  0
655 #define  VF_TAB_PAD_CONF1_GPIO_SUS10  0
656 #define  VF_TAB_PAD_CONF1_GPIO_SUS11  0
657 #define  VF_TAB_PAD_CONF1_GPIO_SUS12  0
658 #define  VF_TAB_PAD_CONF1_GPIO_SUS13  0
659 #define  VF_TAB_PAD_CONF1_GPIO_SUS14  0
660 #define  VF_TAB_PAD_CONF1_GPIO_SUS15  0
661 #define  VF_TAB_PAD_CONF1_GPIO_SUS16  0
662 
663 //
664 // PAD_VAL
665 //
666 #define  VF_TAB_PAD_VAL_GPIO_SUS0  0
667 #define  VF_TAB_PAD_VAL_GPIO_SUS1  0
668 #define  VF_TAB_PAD_VAL_GPIO_SUS2  0
669 #define  VF_TAB_PAD_VAL_GPIO_SUS3  0
670 #define  VF_TAB_PAD_VAL_GPIO_SUS4  0
671 #define  VF_TAB_PAD_VAL_GPIO_SUS5  0
672 #define  VF_TAB_PAD_VAL_GPIO_SUS6  0
673 #define  VF_TAB_PAD_VAL_GPIO_SUS7  0
674 #define  VF_TAB_PAD_VAL_GPIO_SUS8  0
675 #define  VF_TAB_PAD_VAL_GPIO_SUS9  0
676 #define  VF_TAB_PAD_VAL_GPIO_SUS10  0
677 #define  VF_TAB_PAD_VAL_GPIO_SUS11  0
678 #define  VF_TAB_PAD_VAL_GPIO_SUS12  0
679 #define  VF_TAB_PAD_VAL_GPIO_SUS13  0
680 #define  VF_TAB_PAD_VAL_GPIO_SUS14  0
681 #define  VF_TAB_PAD_VAL_GPIO_SUS15  0
682 #define  VF_TAB_PAD_VAL_GPIO_SUS16  0
683 
684 //
685 // PAD_DFT
686 //
687 #define  VF_TAB_PAD_DFT_GPIO_SUS0  0
688 #define  VF_TAB_PAD_DFT_GPIO_SUS1  0
689 #define  VF_TAB_PAD_DFT_GPIO_SUS2  0
690 #define  VF_TAB_PAD_DFT_GPIO_SUS3  0
691 #define  VF_TAB_PAD_DFT_GPIO_SUS4  0
692 #define  VF_TAB_PAD_DFT_GPIO_SUS5  0
693 #define  VF_TAB_PAD_DFT_GPIO_SUS6  0
694 #define  VF_TAB_PAD_DFT_GPIO_SUS7  0
695 #define  VF_TAB_PAD_DFT_GPIO_SUS8  0
696 #define  VF_TAB_PAD_DFT_GPIO_SUS9  0
697 #define  VF_TAB_PAD_DFT_GPIO_SUS10  0
698 #define  VF_TAB_PAD_DFT_GPIO_SUS11  0
699 #define  VF_TAB_PAD_DFT_GPIO_SUS12  0
700 #define  VF_TAB_PAD_DFT_GPIO_SUS13  0
701 #define  VF_TAB_PAD_DFT_GPIO_SUS14  0
702 #define  VF_TAB_PAD_DFT_GPIO_SUS15  0
703 #define  VF_TAB_PAD_DFT_GPIO_SUS16  0
704 
705 
706 //
707 //
708 //              GPIO Register Settings for ValleyFalls (Netbook)
709 //
710 //
711 //                   IO Space configyuration registers
712 // Field Descriptions:
713 //    USE: Defines the pin's usage model:  GPIO (G) or Native (N) mode.
714 //    I/O: Defines whether GPIOs are inputs (I) or outputs (O).
715 //         (Note:  Only meaningful for pins used as GPIOs.)
716 //    LVL: This field gives you the initial value for "output" GPIO's.
717 //         (Note: The output level is dependent upon whether the pin is inverted.)
718 //    TPE: Defines whether Trigger Positive Edge Enable.
719 //    TNE: Defines whether Trigger Negative Edge Enable.
720 //    WAKE_EN: only support in SUS community
721 //         (Note:  Only affects the level sent to the GPE logic and does not
722 //         affect the level read through the GPIO registers.)
723 //
724 //
725 //                    Memory spcae configuration registers
726 //
727 // Field Descriptions:
728 //   PAD releated:
729 //    PAD_CONF0
730 //      PAD_CONF1
731 //      PAD_VAL
732 //      PAD_DFT
733 //
734 // Notes:
735 //    1. N = Native , G = GPIO , I = Input, O = Output, - = BOTH/NOT SURE
736 //
737 // Signal          UsedAs                       USE     I/O      LVL     TPE     TNE   PCONF0   PCONF1   PVAL  PDFT
738 // -------------------------------------------------------------------------------------------------------------------------
739 // GPIO0           UART1_RXD-L                   N       I        -       -       -     cd29h    -         -     -
740 // GPIO1           UART1_TXD-0                   N       O        -       -       -     cd29h    -         -     -
741 // *GPIO2           UART1_RTS_B-1                N       I        -       -       -     cca9h    -         -     -
742 // *GPIO3           UART1_CTS_B-H                N       O        -       -       -     cca9h    -         -     -
743 
744 // GPIO4           NMI_B-H                       G       -        -       -       -     cca9h    -         -     -
745 // GPIO5           GPIO_D5                       G       -        -       -       -     cca9h    -         -     -
746 // GPIO6           GPIO_D6                       G       O        -       -       -     8d51h    -         -     -
747 // GPIO7           GPIO_D7                       G       O        -       -       -     8cd1h    -         -     -
748 // GPIO8           GPIO_D8                       G       O        -       -       -     8cd1h    -         -     -
749 // GPIO9           GPIO_D9                       G       I        -       -       -     8cd1h    -         -     -
750 
751 // GPIO10          GPIO_D10                      G       O        -       -       -     8d51h    -         -     -
752 // GPIO11          GPIO_D11                      G       O        -       -       -     8cd1h    -         -     -
753 // GPIO12          GPIO_D12                      G       O        -       -       -     8cd1h    -         -     -
754 // GPIO13          GPIO_D13                      G       I        -       -       -     8d51h    -         -     -
755 
756 // GPIO14          SATA_GP0                      N       -        -       -       -      -       -         -     -
757 // GPIO15          SATA_GP1-L                    N       -        -       -       -     ccaah    -         -     -
758 
759 // GPIO16          SATA_LEDN-OD-O                N       O        -       -       -      -       -         -     -
760 // GPIO17          PCIE_CLKREQ0B-20K,H           N       I        -       -       -     cd2ah    -         -     -
761 // GPIO18          PCIE_CLKREQ1B-20K,H           N       O        -       -       -     ccaah    -         -     -
762 // GPIO19          PCIE_CLKREQ2B-20K,H           N       I        -       -       -     ccaah    -         -     -
763 // GPIO20          PCIE_CLKREQ3B-20K,H           N       -        -       -       -     ccaah    -         -     -
764 // GPIO21          PCIE_CLKREQ4B-20K,H           N       -        -       -       -      -       -         -     -
765 // GPIO22          FLEX_CLK_SE0-20K,L            N       O        -       -       -     ccaah    -         -     -
766 // GPIO23          FLEX_CLK_SE1-20K,L            N       -        -       -       -      -       -         -     -
767 
768 // GPIO24          HDA_RSTB                      N       O        -       -       -     8d02h    -         -     -
769 // GPIO25          HDA_SYNC                      N       O        -       -       -     8d02h    -         -     -
770 // GPIO26          HDA_CLK                       N       O        -       -       -     8d02h    -         -     -
771 // GPIO27          HDA_SDO                       N       I        -       -       -     8d02h    -         -     -
772 // GPIO28          HDA_SDI0                      N       I        -       -       -      -       -         -     -
773 // GPIO29          HDA_SDI1                      N       O        -       -       -      -       -         -     -
774 // GPIO30          HDA_DOCKRSTB                  N       I        -       -       -      -       -         -     -
775 // GPIO31          HDA_DOCKENB                   N       O        -       -       -      -       -         -     -
776 
777 // GPIO32          SDMMC1_CLK                    N       -        -       -       -     208d51h   -         -     -
778 // GPIO33          SDMMC1_D0                     N       -        -       -       -     8cd1h     -         -     -
779 // GPIO34          SDMMC1_D1                     N       -        -       -       -     8cd1h     -         -     -
780 // GPIO35          SDMMC1_D2                     N       -        -       -       -     8cd1h     -         -     -
781 // GPIO36          SDMMC1_D3_CD_B                N       -        -       -       -     8cd1h     -         -     -
782 // GPIO37          MMC1_D4_SD_WE                 N       -        -       -       -     8cd1h     -         -     -
783 // GPIO38          MMC1_D5                       N       -        -       -       -     8cd1h     -         -     -
784 // GPIO39          MMC1_D6                       N       -        -       -       -     8cd1h     -         -     -
785 // GPIO40          MMC1_D7                       N       -        -       -       -     8cd1h     -         -     -
786 // GPIO41          SDMMC1_CMD                    N       -        -       -       -     8cd1h     -         -     -
787 // GPIO42          MMC1_RESET_B                  N       -        -       -       -     208d51h   -         -     -
788 
789 // GPIO43          SDMMC2_CLK                    N       -        -       -       -     208d51h   -         -     -
790 // GPIO44          SDMMC2_D0                     N       -        -       -       -     8cd1h     -         -     -
791 // GPIO45          SDMMC2_D1                     N       -        -       -       -     8cd1h     -         -     -
792 // GPIO46          SDMMC2_D2                     N       -        -       -       -     8cd1h     -         -     -
793 // GPIO47          SDMMC2_D3_CD_B                N       -        -       -       -     8cd1h     -         -     -
794 // GPIO48          SDMMC2_CMD                    N       -        -       -       -     8cd1h     -         -     -
795 
796 // GPIO49          SDMMC3_CLK                    N       -        -       -       -     8d51h      -         -     -
797 // GPIO50          SDMMC3_D0                     N       -        -       -       -     8cd1h      -         -     -
798 // GPIO51          SDMMC3_D1                     N       -        -       -       -      8cd1h      -         -     -
799 // GPIO52          SDMMC3_D2                     N       -        -       -       -      8cd1h      -         -     -
800 // GPIO53          SDMMC3_D3                     N       -        -       -       -      8cd1h      -         -     -
801 // GPIO54          SDMMC3_CD_B                   N       -        -       -       -      cca9h      -         -     -
802 // GPIO55          SDMMC3_CMD                    N       -        -       -       -      8cd1h      -         -     -
803 // GPIO56          SDMMC3_1P8_EN                 N       -        -       -       -      cd29h   -         -     -
804 
805 // GPIO57          LPC_AD0                     N       -        -       -       -      -       -         -     -
806 // GPIO58          LPC_AD1                     N       -        -       -       -      -       -         -     -
807 // GPIO59          LPC_AD2                     N       -        -       -       -      -       -         -     -
808 // GPIO60          LPC_AD3                     N       -        -       -       -      -       -         -     -
809 // GPIO61          LPC_FRAMEB                  N       O        -       -       -      -       -         -     -
810 // GPIO62          LPC_CLKOUT0                 N       O        -       -       -      -       -         -     -
811 // GPIO63          LPC_CLKOUT1                 N       O        -       -       -      -       -         -     -
812 // GPIO64          LPC_CLKRUNB                 N       -        -       -       -      -       -         -     -
813 
814 // GPIO65          SMB_DATA                    N       -        -       -       -      -       -         -     -
815 // GPIO66          SMB_CLK                     N       -        -       -       -      -       -         -     -
816 // GPIO67          SMB_ALERTB                  N       -        -       -       -      -       -         -     -
817 
818 // GPIO68          ILB_SEIRQ                   N       -       -        -       -      -       -         -     -
819 // GPIO69          SPKR                        N       O       -        -       -      -       -         -     -
820 
821 //SUS WELL
822 
823 
824 //GPIO_SUS0             GPIO_SUS0                   N       O       -        -       -     CCA8h       -         -     -
825 //GPIO_SUS1             GPIO_SUS1                   N       O       -        -       -     CCA8h       -         -     -
826 //GPIO_SUS2             GPIO_SUS2                   N       O       -        -       -     CCA8h       -         -     -
827 //GPIO_SUS3             GPIO_SUS3                   N       O       -        -       -     CD28h       -         -     -
828 //GPIO_SUS4             GPIO_SUS4                   N       O       -        -       -     CD28h       -         -     -
829 //GPIO_SUS5             GPIO_SUS5                   N       O       -        -       -     CD28h       -         -     -
830 //GPIO_SUS6             SUSPWRDNACK-0               N       O       -        -       -     8850h       -         -     -
831 //GPIO_SUS7             PMU_SLP_DDRVTT_B-0          N       O       -        -       -     8850h       -         -     -
832 //GPIO_SUS8             PMU_WAKE_B-20K,H            N       O       -        -       -     CCA8h       -         -     -
833 //GPIO_SUS9             PMU_PWRBTN_B-20K,H          N       O       -        -       -     CCA8h       -         -     -
834 //GPIO_SUS10            PMU_WAKE_LAN_B-20K,H        N       O       -        -       -     CCA8h       -         -     -
835 //GPIO_SUS11            SUS_STAT_B-1                N       O       -        -       -     C828h       -         -     -
836 //GPIO_SUS12            PMU_SUSCLK-0                N       O       -        -       -     C828h       -         -     -
837 //GPIO_SUS13            USB_OC0_B-20K,H             N       O       -        -       -     CCA8h       -         -     -
838 //GPIO_SUS14            USB_OC1_B-20K,H             N       O       -        -       -     CCA8h       -         -     -
839 //GPIO_SUS15            SPI_CS1_B-20K,H             N       O       -        -       -     8C80h       -         -     -
840 //GPIO_SUS16            SPI_CS1_B-20K,H             N       O       -        -       -     C828h       -         -     -
841 //
842 
843 #define VF_NET_GPIO_USE_SEL_VAL_0_31        0x00000000
844 #define VF_NET_GPIO_USE_SEL_VAL_32_63       0x00000000
845 #define VF_NET_GPIO_USE_SEL_VAL_64_70       0x00000000
846 #define VF_NET_GPIO_USE_SEL_VAL_SUS         0x00000000
847 
848 //
849 //1010 --00 0100 01-- 0101 --0- 0001 1010
850 //
851 #define VF_NET_GPIO_IO_SEL_VAL_0_31         0x00000000 // BIT30 | BIT28 | BIT27 | BIT19 | BIT17 | BIT13 | BIT9 | BIT2 | BIT0
852 #define VF_NET_GPIO_IO_SEL_VAL_32_63        0x00000000
853 #define VF_NET_GPIO_IO_SEL_VAL_64_70        0x00000000
854 #define VF_NET_GPIO_IO_SEL_VAL_SUS          0x00000000
855 
856 
857 #define VF_NET_GPIO_LVL_VAL_0_31            0x00000000
858 #define VF_NET_GPIO_LVL_VAL_32_63           0x00000000
859 #define VF_NET_GPIO_LVL_VAL_64_70           0x00000000
860 #define VF_NET_GPIO_LVL_VAL_SUS             0x00000000
861 
862 #define VF_NET_GPIO_TPE_VAL_0_31            0x00000000
863 #define VF_NET_GPIO_TPE_VAL_SUS             0x00000000
864 
865 #define VF_NET_GPIO_TNE_VAL_0_31            0x00000000
866 #define VF_NET_GPIO_TNE_VAL_SUS             0x00000000
867 
868 #define VF_NET_GPIO_TS_VAL_0_31             0x00000000
869 #define VF_NET_GPIO_TS_VAL_SUS              0x00000000
870 
871 
872 //
873 // Memory space registers
874 //
875 
876 
877 //
878 // CONF0
879 //
880 #define  VF_NET_PAD_CONF0_GPIO0  0xcd29
881 #define  VF_NET_PAD_CONF0_GPIO1  0xcd29
882 #define  VF_NET_PAD_CONF0_GPIO2  0xcca9
883 #define  VF_NET_PAD_CONF0_GPIO3  0xcca9
884 #define  VF_NET_PAD_CONF0_GPIO4  0xcca8
885 #define  VF_NET_PAD_CONF0_GPIO5  0xcca8
886 #define  VF_NET_PAD_CONF0_GPIO6  0x8d50
887 #define  VF_NET_PAD_CONF0_GPIO7  0x8cd0
888 #define  VF_NET_PAD_CONF0_GPIO8  0x8cd0
889 #define  VF_NET_PAD_CONF0_GPIO9  0x8cd0
890 #define  VF_NET_PAD_CONF0_GPIO10  0x8d50
891 #define  VF_NET_PAD_CONF0_GPIO11  0x8cd0
892 #define  VF_NET_PAD_CONF0_GPIO12  0x8cd0
893 #define  VF_NET_PAD_CONF0_GPIO13  0x8d50
894 #define  VF_NET_PAD_CONF0_GPIO14  0xCCA8
895 #define  VF_NET_PAD_CONF0_GPIO15  0xccaa
896 #define  VF_NET_PAD_CONF0_GPIO16  0xC828
897 #define  VF_NET_PAD_CONF0_GPIO17  0xcd2a
898 #define  VF_NET_PAD_CONF0_GPIO18  0xccaa
899 #define  VF_NET_PAD_CONF0_GPIO19  0xccaa
900 #define  VF_NET_PAD_CONF0_GPIO20  0xccaa
901 #define  VF_NET_PAD_CONF0_GPIO21  0xCCA9
902 #define  VF_NET_PAD_CONF0_GPIO22  0xccaa
903 #define  VF_NET_PAD_CONF0_GPIO23  0xCD2A
904 #define  VF_NET_PAD_CONF0_GPIO24  0x8d02
905 #define  VF_NET_PAD_CONF0_GPIO25  0x8d02
906 #define  VF_NET_PAD_CONF0_GPIO26  0x8d02
907 #define  VF_NET_PAD_CONF0_GPIO27  0x8d02
908 #define  VF_NET_PAD_CONF0_GPIO28  0x8D02
909 #define  VF_NET_PAD_CONF0_GPIO29  0x8D02
910 #define  VF_NET_PAD_CONF0_GPIO30  0x8D00
911 #define  VF_NET_PAD_CONF0_GPIO31  0xCD2A
912 #define  VF_NET_PAD_CONF0_GPIO32  0x208d51
913 #define  VF_NET_PAD_CONF0_GPIO33  0x8cd1
914 #define  VF_NET_PAD_CONF0_GPIO34  0x8cd1
915 #define  VF_NET_PAD_CONF0_GPIO35  0x8cd1
916 #define  VF_NET_PAD_CONF0_GPIO36  0x8cd1
917 #define  VF_NET_PAD_CONF0_GPIO37  0x8cd1
918 #define  VF_NET_PAD_CONF0_GPIO38  0x8cd1
919 #define  VF_NET_PAD_CONF0_GPIO39  0x8cd1
920 #define  VF_NET_PAD_CONF0_GPIO40  0x8cd1
921 #define  VF_NET_PAD_CONF0_GPIO41  0x8cd1
922 #define  VF_NET_PAD_CONF0_GPIO42  0x208d51
923 #define  VF_NET_PAD_CONF0_GPIO43  0x208d51
924 #define  VF_NET_PAD_CONF0_GPIO44  0x8cd1
925 #define  VF_NET_PAD_CONF0_GPIO45  0x8cd1
926 #define  VF_NET_PAD_CONF0_GPIO46  0x8cd1
927 #define  VF_NET_PAD_CONF0_GPIO47  0x8cd1
928 #define  VF_NET_PAD_CONF0_GPIO48  0x8cd1
929 #define  VF_NET_PAD_CONF0_GPIO49  0x8d51
930 #define  VF_NET_PAD_CONF0_GPIO50  0x8cd1
931 #define  VF_NET_PAD_CONF0_GPIO51  0x8cd1
932 #define  VF_NET_PAD_CONF0_GPIO52  0x8cd1
933 #define  VF_NET_PAD_CONF0_GPIO53  0x8cd1
934 #define  VF_NET_PAD_CONF0_GPIO54  0xcca9
935 #define  VF_NET_PAD_CONF0_GPIO55  0x8cd1
936 #define  VF_NET_PAD_CONF0_GPIO56  0xcd29
937 #define  VF_NET_PAD_CONF0_GPIO57  0x8C80
938 #define  VF_NET_PAD_CONF0_GPIO58  0x8C80
939 #define  VF_NET_PAD_CONF0_GPIO59  0x8C80
940 #define  VF_NET_PAD_CONF0_GPIO60  0x8C80
941 #define  VF_NET_PAD_CONF0_GPIO61  0x8800
942 #define  VF_NET_PAD_CONF0_GPIO62  0x8D00
943 #define  VF_NET_PAD_CONF0_GPIO63  0x8800
944 #define  VF_NET_PAD_CONF0_GPIO64  0x8800
945 #define  VF_NET_PAD_CONF0_GPIO65  0xC828
946 #define  VF_NET_PAD_CONF0_GPIO66  0xC828
947 #define  VF_NET_PAD_CONF0_GPIO67  0xC828
948 #define  VF_NET_PAD_CONF0_GPIO68  0xCCA8
949 #define  VF_NET_PAD_CONF0_GPIO69  0xC828
950 #define  VF_NET_PAD_CONF0_GPIO70  0xCCA8
951 
952 
953 
954 
955 //
956 // PAD_CONF1
957 //
958 #define  VF_NET_PAD_CONF1_GPIO0  0x20002
959 #define  VF_NET_PAD_CONF1_GPIO1  0x20002
960 #define  VF_NET_PAD_CONF1_GPIO2  0x20002
961 #define  VF_NET_PAD_CONF1_GPIO3  0x20002
962 #define  VF_NET_PAD_CONF1_GPIO4  0x20002
963 #define  VF_NET_PAD_CONF1_GPIO5  0x20002
964 #define  VF_NET_PAD_CONF1_GPIO6  0x1F000F
965 #define  VF_NET_PAD_CONF1_GPIO7  0x1F000F
966 #define  VF_NET_PAD_CONF1_GPIO8  0x1F000F
967 #define  VF_NET_PAD_CONF1_GPIO9  0x1F000F
968 #define  VF_NET_PAD_CONF1_GPIO10  0x1F000F
969 #define  VF_NET_PAD_CONF1_GPIO11  0x1F000F
970 #define  VF_NET_PAD_CONF1_GPIO12  0x1F000F
971 #define  VF_NET_PAD_CONF1_GPIO13  0x1F000F
972 #define  VF_NET_PAD_CONF1_GPIO14  0x20002
973 #define  VF_NET_PAD_CONF1_GPIO15  0x20002
974 #define  VF_NET_PAD_CONF1_GPIO16  0x20002
975 #define  VF_NET_PAD_CONF1_GPIO17  0x20002
976 #define  VF_NET_PAD_CONF1_GPIO18  0x20002
977 #define  VF_NET_PAD_CONF1_GPIO19  0x20002
978 #define  VF_NET_PAD_CONF1_GPIO20  0x20002
979 #define  VF_NET_PAD_CONF1_GPIO21  0x20002
980 #define  VF_NET_PAD_CONF1_GPIO22  0x20002
981 #define  VF_NET_PAD_CONF1_GPIO23  0x20002
982 #define  VF_NET_PAD_CONF1_GPIO24  0x00000
983 #define  VF_NET_PAD_CONF1_GPIO25  0x00000
984 #define  VF_NET_PAD_CONF1_GPIO26  0x00000
985 #define  VF_NET_PAD_CONF1_GPIO27  0x00000
986 #define  VF_NET_PAD_CONF1_GPIO28  0x00000
987 #define  VF_NET_PAD_CONF1_GPIO29  0x00000
988 #define  VF_NET_PAD_CONF1_GPIO30  0x00000
989 #define  VF_NET_PAD_CONF1_GPIO31  0x20002
990 #define  VF_NET_PAD_CONF1_GPIO32  0x00000
991 #define  VF_NET_PAD_CONF1_GPIO33  0x00000
992 #define  VF_NET_PAD_CONF1_GPIO34  0x00000
993 #define  VF_NET_PAD_CONF1_GPIO35  0x00000
994 #define  VF_NET_PAD_CONF1_GPIO36  0x00000
995 #define  VF_NET_PAD_CONF1_GPIO37  0x00000
996 #define  VF_NET_PAD_CONF1_GPIO38  0x00000
997 #define  VF_NET_PAD_CONF1_GPIO39  0x00000
998 #define  VF_NET_PAD_CONF1_GPIO40  0x00000
999 #define  VF_NET_PAD_CONF1_GPIO41  0x00000
1000 #define  VF_NET_PAD_CONF1_GPIO42  0x00000
1001 #define  VF_NET_PAD_CONF1_GPIO43  0x00000
1002 #define  VF_NET_PAD_CONF1_GPIO44  0x00000
1003 #define  VF_NET_PAD_CONF1_GPIO45  0x00000
1004 #define  VF_NET_PAD_CONF1_GPIO46  0x00000
1005 #define  VF_NET_PAD_CONF1_GPIO47  0x00000
1006 #define  VF_NET_PAD_CONF1_GPIO48  0x00000
1007 #define  VF_NET_PAD_CONF1_GPIO49  0x00000
1008 #define  VF_NET_PAD_CONF1_GPIO50  0x00000
1009 #define  VF_NET_PAD_CONF1_GPIO51  0x00000
1010 #define  VF_NET_PAD_CONF1_GPIO52  0x00000
1011 #define  VF_NET_PAD_CONF1_GPIO53  0x00000
1012 #define  VF_NET_PAD_CONF1_GPIO54  0x20002
1013 #define  VF_NET_PAD_CONF1_GPIO55  0x00000
1014 #define  VF_NET_PAD_CONF1_GPIO56  0x20002
1015 #define  VF_NET_PAD_CONF1_GPIO57  0x00000
1016 #define  VF_NET_PAD_CONF1_GPIO58  0x00000
1017 #define  VF_NET_PAD_CONF1_GPIO59  0x00000
1018 #define  VF_NET_PAD_CONF1_GPIO60  0x00000
1019 #define  VF_NET_PAD_CONF1_GPIO61  0x00000
1020 #define  VF_NET_PAD_CONF1_GPIO62  0x00000
1021 #define  VF_NET_PAD_CONF1_GPIO63  0x00000
1022 #define  VF_NET_PAD_CONF1_GPIO64  0x00000
1023 #define  VF_NET_PAD_CONF1_GPIO65  0x20002
1024 #define  VF_NET_PAD_CONF1_GPIO66  0x20002
1025 #define  VF_NET_PAD_CONF1_GPIO67  0x20002
1026 #define  VF_NET_PAD_CONF1_GPIO68  0x20002
1027 #define  VF_NET_PAD_CONF1_GPIO69  0x20002
1028 #define  VF_NET_PAD_CONF1_GPIO70  0x20002
1029 
1030 
1031 
1032 //
1033 // PAD_VAL
1034 //
1035 #define  VF_NET_PAD_VAL_GPIO0  0x2
1036 #define  VF_NET_PAD_VAL_GPIO1  0x2
1037 #define  VF_NET_PAD_VAL_GPIO2  0x2
1038 #define  VF_NET_PAD_VAL_GPIO3  0x2
1039 #define  VF_NET_PAD_VAL_GPIO4  0x2
1040 #define  VF_NET_PAD_VAL_GPIO5  0x2
1041 #define  VF_NET_PAD_VAL_GPIO6  0x2
1042 #define  VF_NET_PAD_VAL_GPIO7  0x2
1043 #define  VF_NET_PAD_VAL_GPIO8  0x2
1044 #define  VF_NET_PAD_VAL_GPIO9  0x2
1045 #define  VF_NET_PAD_VAL_GPIO10  0x2
1046 #define  VF_NET_PAD_VAL_GPIO11  0x2
1047 #define  VF_NET_PAD_VAL_GPIO12  0x2
1048 #define  VF_NET_PAD_VAL_GPIO13  0x2
1049 #define  VF_NET_PAD_VAL_GPIO14  0x2
1050 #define  VF_NET_PAD_VAL_GPIO15  0x2
1051 #define  VF_NET_PAD_VAL_GPIO16  0x4
1052 #define  VF_NET_PAD_VAL_GPIO17  0x2
1053 #define  VF_NET_PAD_VAL_GPIO18  0x2
1054 #define  VF_NET_PAD_VAL_GPIO19  0x2
1055 #define  VF_NET_PAD_VAL_GPIO20  0x2
1056 #define  VF_NET_PAD_VAL_GPIO21  0x2
1057 #define  VF_NET_PAD_VAL_GPIO22  0x2
1058 #define  VF_NET_PAD_VAL_GPIO23  0x2
1059 #define  VF_NET_PAD_VAL_GPIO24  0x2
1060 #define  VF_NET_PAD_VAL_GPIO25  0x2
1061 #define  VF_NET_PAD_VAL_GPIO26  0x2
1062 #define  VF_NET_PAD_VAL_GPIO27  0x2
1063 #define  VF_NET_PAD_VAL_GPIO28  0x2
1064 #define  VF_NET_PAD_VAL_GPIO29  0x2
1065 #define  VF_NET_PAD_VAL_GPIO30  0x2
1066 #define  VF_NET_PAD_VAL_GPIO31  0x2
1067 #define  VF_NET_PAD_VAL_GPIO32  0x2
1068 #define  VF_NET_PAD_VAL_GPIO33  0x2
1069 #define  VF_NET_PAD_VAL_GPIO34  0x2
1070 #define  VF_NET_PAD_VAL_GPIO35  0x2
1071 #define  VF_NET_PAD_VAL_GPIO36  0x2
1072 #define  VF_NET_PAD_VAL_GPIO37  0x2
1073 #define  VF_NET_PAD_VAL_GPIO38  0x2
1074 #define  VF_NET_PAD_VAL_GPIO39  0x2
1075 #define  VF_NET_PAD_VAL_GPIO40  0x2
1076 #define  VF_NET_PAD_VAL_GPIO41  0x2
1077 #define  VF_NET_PAD_VAL_GPIO42  0x2
1078 #define  VF_NET_PAD_VAL_GPIO43  0x2
1079 #define  VF_NET_PAD_VAL_GPIO44  0x2
1080 #define  VF_NET_PAD_VAL_GPIO45  0x2
1081 #define  VF_NET_PAD_VAL_GPIO46  0x2
1082 #define  VF_NET_PAD_VAL_GPIO47  0x2
1083 #define  VF_NET_PAD_VAL_GPIO48  0x2
1084 #define  VF_NET_PAD_VAL_GPIO49  0x2
1085 #define  VF_NET_PAD_VAL_GPIO50  0x2
1086 #define  VF_NET_PAD_VAL_GPIO51  0x2
1087 #define  VF_NET_PAD_VAL_GPIO52  0x2
1088 #define  VF_NET_PAD_VAL_GPIO53  0x2
1089 #define  VF_NET_PAD_VAL_GPIO54  0x2
1090 #define  VF_NET_PAD_VAL_GPIO55  0x2
1091 #define  VF_NET_PAD_VAL_GPIO56  0x2
1092 #define  VF_NET_PAD_VAL_GPIO57  0x2
1093 #define  VF_NET_PAD_VAL_GPIO58  0x2
1094 #define  VF_NET_PAD_VAL_GPIO59  0x2
1095 #define  VF_NET_PAD_VAL_GPIO60  0x2
1096 #define  VF_NET_PAD_VAL_GPIO61  0x4
1097 #define  VF_NET_PAD_VAL_GPIO62  0x2
1098 #define  VF_NET_PAD_VAL_GPIO63  0x2
1099 #define  VF_NET_PAD_VAL_GPIO64  0x2
1100 #define  VF_NET_PAD_VAL_GPIO65  0x2
1101 #define  VF_NET_PAD_VAL_GPIO66  0x2
1102 #define  VF_NET_PAD_VAL_GPIO67  0x0
1103 #define  VF_NET_PAD_VAL_GPIO68  0x2
1104 #define  VF_NET_PAD_VAL_GPIO69  0x4
1105 #define  VF_NET_PAD_VAL_GPIO70  0x2
1106 
1107 
1108 //
1109 // PAD_DFT
1110 //
1111 #define  VF_NET_PAD_DFT_GPIO0  0xC
1112 #define  VF_NET_PAD_DFT_GPIO1  0xC
1113 #define  VF_NET_PAD_DFT_GPIO2  0xC
1114 #define  VF_NET_PAD_DFT_GPIO3  0xC
1115 #define  VF_NET_PAD_DFT_GPIO4  0xC
1116 #define  VF_NET_PAD_DFT_GPIO5  0xC
1117 #define  VF_NET_PAD_DFT_GPIO6  0xC
1118 #define  VF_NET_PAD_DFT_GPIO7  0xC
1119 #define  VF_NET_PAD_DFT_GPIO8  0xC
1120 #define  VF_NET_PAD_DFT_GPIO9  0xC
1121 #define  VF_NET_PAD_DFT_GPIO10  0xC
1122 #define  VF_NET_PAD_DFT_GPIO11  0xC
1123 #define  VF_NET_PAD_DFT_GPIO12  0xC
1124 #define  VF_NET_PAD_DFT_GPIO13  0xC
1125 #define  VF_NET_PAD_DFT_GPIO14  0xC
1126 #define  VF_NET_PAD_DFT_GPIO15  0xC
1127 #define  VF_NET_PAD_DFT_GPIO16  0xC
1128 #define  VF_NET_PAD_DFT_GPIO17  0xC
1129 #define  VF_NET_PAD_DFT_GPIO18  0xC
1130 #define  VF_NET_PAD_DFT_GPIO19  0xC
1131 #define  VF_NET_PAD_DFT_GPIO20  0xC
1132 #define  VF_NET_PAD_DFT_GPIO21  0xC
1133 #define  VF_NET_PAD_DFT_GPIO22  0xC
1134 #define  VF_NET_PAD_DFT_GPIO23  0xC
1135 #define  VF_NET_PAD_DFT_GPIO24  0xC
1136 #define  VF_NET_PAD_DFT_GPIO25  0xC
1137 #define  VF_NET_PAD_DFT_GPIO26  0xC
1138 #define  VF_NET_PAD_DFT_GPIO27  0xC
1139 #define  VF_NET_PAD_DFT_GPIO28  0xC
1140 #define  VF_NET_PAD_DFT_GPIO29  0xC
1141 #define  VF_NET_PAD_DFT_GPIO30  0xC
1142 #define  VF_NET_PAD_DFT_GPIO31  0xC
1143 #define  VF_NET_PAD_DFT_GPIO32  0xC
1144 #define  VF_NET_PAD_DFT_GPIO33  0xC
1145 #define  VF_NET_PAD_DFT_GPIO34  0xC
1146 #define  VF_NET_PAD_DFT_GPIO35  0xC
1147 #define  VF_NET_PAD_DFT_GPIO36  0xC
1148 #define  VF_NET_PAD_DFT_GPIO37  0xC
1149 #define  VF_NET_PAD_DFT_GPIO38  0xC
1150 #define  VF_NET_PAD_DFT_GPIO39  0xC
1151 #define  VF_NET_PAD_DFT_GPIO40  0xC
1152 #define  VF_NET_PAD_DFT_GPIO41  0xC
1153 #define  VF_NET_PAD_DFT_GPIO42  0xC
1154 #define  VF_NET_PAD_DFT_GPIO43  0xC
1155 #define  VF_NET_PAD_DFT_GPIO44  0xC
1156 #define  VF_NET_PAD_DFT_GPIO45  0xC
1157 #define  VF_NET_PAD_DFT_GPIO46  0xC
1158 #define  VF_NET_PAD_DFT_GPIO47  0xC
1159 #define  VF_NET_PAD_DFT_GPIO48  0xC
1160 #define  VF_NET_PAD_DFT_GPIO49  0xC
1161 #define  VF_NET_PAD_DFT_GPIO50  0xC
1162 #define  VF_NET_PAD_DFT_GPIO51  0xC
1163 #define  VF_NET_PAD_DFT_GPIO52  0xC
1164 #define  VF_NET_PAD_DFT_GPIO53  0xC
1165 #define  VF_NET_PAD_DFT_GPIO54  0xC
1166 #define  VF_NET_PAD_DFT_GPIO55  0xC
1167 #define  VF_NET_PAD_DFT_GPIO56  0xC
1168 #define  VF_NET_PAD_DFT_GPIO57  0xC
1169 #define  VF_NET_PAD_DFT_GPIO58  0xC
1170 #define  VF_NET_PAD_DFT_GPIO59  0xC
1171 #define  VF_NET_PAD_DFT_GPIO60  0xC
1172 #define  VF_NET_PAD_DFT_GPIO61  0xC
1173 #define  VF_NET_PAD_DFT_GPIO62  0xC
1174 #define  VF_NET_PAD_DFT_GPIO63  0xC
1175 #define  VF_NET_PAD_DFT_GPIO64  0xC
1176 #define  VF_NET_PAD_DFT_GPIO65  0xC
1177 #define  VF_NET_PAD_DFT_GPIO66  0xC
1178 #define  VF_NET_PAD_DFT_GPIO67  0xC
1179 #define  VF_NET_PAD_DFT_GPIO68  0xC
1180 #define  VF_NET_PAD_DFT_GPIO69  0xC
1181 #define  VF_NET_PAD_DFT_GPIO70  0xC
1182 
1183 //
1184 // PCONF0
1185 //
1186 #define  VF_NET_PAD_CONF0_GPIO_SUS0  0xCCA8
1187 #define  VF_NET_PAD_CONF0_GPIO_SUS1  0xCCA8
1188 #define  VF_NET_PAD_CONF0_GPIO_SUS2  0xCCA8
1189 #define  VF_NET_PAD_CONF0_GPIO_SUS3  0xCD28
1190 #define  VF_NET_PAD_CONF0_GPIO_SUS4  0xCD28
1191 #define  VF_NET_PAD_CONF0_GPIO_SUS5  0xCD28
1192 #define  VF_NET_PAD_CONF0_GPIO_SUS6  0x8850
1193 #define  VF_NET_PAD_CONF0_GPIO_SUS7  0x8850
1194 #define  VF_NET_PAD_CONF0_GPIO_SUS8  0xCCA8
1195 #define  VF_NET_PAD_CONF0_GPIO_SUS9  0xCCA8
1196 #define  VF_NET_PAD_CONF0_GPIO_SUS10  0xCCA8
1197 #define  VF_NET_PAD_CONF0_GPIO_SUS11  0xC828
1198 #define  VF_NET_PAD_CONF0_GPIO_SUS12  0xC828
1199 #define  VF_NET_PAD_CONF0_GPIO_SUS13  0xCCA8
1200 #define  VF_NET_PAD_CONF0_GPIO_SUS14  0xCCA8
1201 #define  VF_NET_PAD_CONF0_GPIO_SUS15  0x8C80
1202 #define  VF_NET_PAD_CONF0_GPIO_SUS16  0xC828
1203 
1204 //
1205 // PCONF1
1206 //
1207 #define  VF_NET_PAD_CONF1_GPIO_SUS0  0
1208 #define  VF_NET_PAD_CONF1_GPIO_SUS1  0
1209 #define  VF_NET_PAD_CONF1_GPIO_SUS2  0
1210 #define  VF_NET_PAD_CONF1_GPIO_SUS3  0
1211 #define  VF_NET_PAD_CONF1_GPIO_SUS4  0
1212 #define  VF_NET_PAD_CONF1_GPIO_SUS5  0
1213 #define  VF_NET_PAD_CONF1_GPIO_SUS6  0
1214 #define  VF_NET_PAD_CONF1_GPIO_SUS7  0
1215 #define  VF_NET_PAD_CONF1_GPIO_SUS8  0
1216 #define  VF_NET_PAD_CONF1_GPIO_SUS9  0
1217 #define  VF_NET_PAD_CONF1_GPIO_SUS10  0
1218 #define  VF_NET_PAD_CONF1_GPIO_SUS11  0
1219 #define  VF_NET_PAD_CONF1_GPIO_SUS12  0
1220 #define  VF_NET_PAD_CONF1_GPIO_SUS13  0
1221 #define  VF_NET_PAD_CONF1_GPIO_SUS14  0
1222 #define  VF_NET_PAD_CONF1_GPIO_SUS15  0
1223 #define  VF_NET_PAD_CONF1_GPIO_SUS16  0
1224 
1225 
1226 #define  VF_NET_PAD_VAL_GPIO_SUS0  0
1227 #define  VF_NET_PAD_VAL_GPIO_SUS1  0
1228 #define  VF_NET_PAD_VAL_GPIO_SUS2  0
1229 #define  VF_NET_PAD_VAL_GPIO_SUS3  0
1230 #define  VF_NET_PAD_VAL_GPIO_SUS4  0
1231 #define  VF_NET_PAD_VAL_GPIO_SUS5  0
1232 #define  VF_NET_PAD_VAL_GPIO_SUS6  0
1233 #define  VF_NET_PAD_VAL_GPIO_SUS7  0
1234 #define  VF_NET_PAD_VAL_GPIO_SUS8  0
1235 #define  VF_NET_PAD_VAL_GPIO_SUS9  0
1236 #define  VF_NET_PAD_VAL_GPIO_SUS10  0
1237 #define  VF_NET_PAD_VAL_GPIO_SUS11  0
1238 #define  VF_NET_PAD_VAL_GPIO_SUS12  0
1239 #define  VF_NET_PAD_VAL_GPIO_SUS13  0
1240 #define  VF_NET_PAD_VAL_GPIO_SUS14  0
1241 #define  VF_NET_PAD_VAL_GPIO_SUS15  0
1242 #define  VF_NET_PAD_VAL_GPIO_SUS16  0
1243 
1244 
1245 #define  VF_NET_PAD_DFT_GPIO_SUS0  0
1246 #define  VF_NET_PAD_DFT_GPIO_SUS1  0
1247 #define  VF_NET_PAD_DFT_GPIO_SUS2  0
1248 #define  VF_NET_PAD_DFT_GPIO_SUS3  0
1249 #define  VF_NET_PAD_DFT_GPIO_SUS4  0
1250 #define  VF_NET_PAD_DFT_GPIO_SUS5  0
1251 #define  VF_NET_PAD_DFT_GPIO_SUS6  0
1252 #define  VF_NET_PAD_DFT_GPIO_SUS7  0
1253 #define  VF_NET_PAD_DFT_GPIO_SUS8  0
1254 #define  VF_NET_PAD_DFT_GPIO_SUS9  0
1255 #define  VF_NET_PAD_DFT_GPIO_SUS10  0
1256 #define  VF_NET_PAD_DFT_GPIO_SUS11  0
1257 #define  VF_NET_PAD_DFT_GPIO_SUS12  0
1258 #define  VF_NET_PAD_DFT_GPIO_SUS13  0
1259 #define  VF_NET_PAD_DFT_GPIO_SUS14  0
1260 #define  VF_NET_PAD_DFT_GPIO_SUS15  0
1261 #define  VF_NET_PAD_DFT_GPIO_SUS16  0
1262 
1263 
1264 //
1265 // Function Prototypes
1266 //
1267 EFI_STATUS
1268 PlatformPchInit (
1269   IN SYSTEM_CONFIGURATION        *SystemConfiguration,
1270   IN CONST EFI_PEI_SERVICES      **PeiServices,
1271   IN UINT16                      PlatformType
1272   );
1273 
1274 EFI_STATUS
1275 PlatformCpuInit (
1276   IN CONST EFI_PEI_SERVICES            **PeiServices,
1277   IN SYSTEM_CONFIGURATION        *SystemConfiguration,
1278   IN EFI_PLATFORM_CPU_INFO       *PlatformCpuInfo
1279   );
1280 
1281 EFI_STATUS
1282 PeimInitializeFlashMap (
1283   IN EFI_FFS_FILE_HEADER        *FfsHeader,
1284   IN CONST EFI_PEI_SERVICES           **PeiServices
1285   );
1286 
1287 EFI_STATUS
1288 PeimInstallFlashMapPpi (
1289   IN EFI_FFS_FILE_HEADER        *FfsHeader,
1290   IN CONST EFI_PEI_SERVICES           **PeiServices
1291   );
1292 
1293 EFI_STATUS
1294 EFIAPI
1295 IchReset (
1296   IN CONST EFI_PEI_SERVICES           **PeiServices
1297   )
1298 ;
1299 
1300 BOOLEAN
1301 GetSleepTypeAfterWakeup (
1302   IN  CONST EFI_PEI_SERVICES          **PeiServices,
1303   OUT UINT16                    *SleepType
1304   );
1305 
1306 EFI_STATUS
1307 EFIAPI
1308 GetWakeupEventAndSaveToHob (
1309   IN CONST EFI_PEI_SERVICES   **PeiServices
1310   )
1311 ;
1312 
1313 EFI_STATUS
1314 EFIAPI
1315 MemoryDiscoveredPpiNotifyCallback (
1316   IN CONST EFI_PEI_SERVICES           **PeiServices,
1317   IN EFI_PEI_NOTIFY_DESCRIPTOR  *NotifyDescriptor,
1318   IN VOID                       *Ppi
1319   )
1320 ;
1321 
1322 EFI_STATUS
1323 EFIAPI
1324 PeiGetVariable (
1325   IN CONST EFI_PEI_SERVICES             **PeiServices,
1326   IN CHAR16                       *VariableName,
1327   IN EFI_GUID                     * VendorGuid,
1328   OUT UINT32                      *Attributes OPTIONAL,
1329   IN OUT UINTN                    *DataSize,
1330   OUT VOID                        *Data
1331   )
1332 ;
1333 
1334 EFI_STATUS
1335 EFIAPI
1336 PeiGetNextVariableName (
1337   IN CONST EFI_PEI_SERVICES             **PeiServices,
1338   IN OUT UINTN                    *VariableNameSize,
1339   IN OUT CHAR16                   *VariableName,
1340   IN OUT EFI_GUID                 *VendorGuid
1341   )
1342 ;
1343 
1344 EFI_STATUS
1345 UpdateBootMode (
1346   IN CONST EFI_PEI_SERVICES                       **PeiServices,
1347   IN OUT EFI_PLATFORM_INFO_HOB                    *PlatformInfoHob
1348   );
1349 
1350 EFI_STATUS
1351 EFIAPI
1352 EndOfPeiPpiNotifyCallback (
1353   IN CONST EFI_PEI_SERVICES           **PeiServices,
1354   IN EFI_PEI_NOTIFY_DESCRIPTOR  *NotifyDescriptor,
1355   IN VOID                       *Ppi
1356   );
1357 
1358 EFI_STATUS
1359 EFIAPI
1360 PeimInitializeRecovery (
1361   IN CONST EFI_PEI_SERVICES     **PeiServices
1362   )
1363 ;
1364 
1365 VOID
1366 CheckPowerOffNow (
1367   VOID
1368   );
1369 
1370 VOID
1371 IchGpioInit (
1372   IN UINT16                     PlatformType,
1373   IN SYSTEM_CONFIGURATION       *SystemConfiguration
1374   );
1375 
1376 EFI_STATUS
1377 PcieSecondaryBusReset (
1378   IN CONST EFI_PEI_SERVICES  **PeiServices,
1379   IN UINT8             Bus,
1380   IN UINT8             Dev,
1381   IN UINT8             Fun
1382   );
1383 
1384 VOID
1385 SetPlatformBootMode (
1386   IN CONST EFI_PEI_SERVICES             **PeiServices,
1387   IN OUT EFI_PLATFORM_INFO_HOB *PlatformInfoHob
1388   );
1389 
1390 BOOLEAN
1391 CheckIfJumperSetForRecovery(
1392   VOID
1393   );
1394 
1395 EFI_STATUS
1396 EFIAPI
1397 FindFv (
1398   IN EFI_PEI_FIND_FV_PPI              *This,
1399   IN CONST EFI_PEI_SERVICES             **PeiServices,
1400   IN OUT UINT8                    *FvNumber,
1401   OUT EFI_FIRMWARE_VOLUME_HEADER  **FVAddress
1402   );
1403 
1404 BOOLEAN
1405 IsA16Inverted (
1406   );
1407 
1408 EFI_STATUS
1409 EFIAPI
1410 CpuOnlyReset (
1411   IN CONST EFI_PEI_SERVICES   **PeiServices
1412   );
1413 
1414 EFI_STATUS
1415 EFIAPI
1416 InitLan (
1417   IN CONST EFI_PEI_SERVICES          **PeiServices,
1418   IN SYSTEM_CONFIGURATION      *Buffer
1419   );
1420 
1421 EFI_STATUS
1422 EFIAPI
1423 Stall (
1424   IN CONST EFI_PEI_SERVICES     **PeiServices,
1425   IN CONST EFI_PEI_STALL_PPI    *This,
1426   IN UINTN                      Microseconds
1427   );
1428 
1429 EFI_STATUS
1430 MultiPlatformInfoInit (
1431   IN CONST EFI_PEI_SERVICES          **PeiServices,
1432   IN OUT EFI_PLATFORM_INFO_HOB *PlatformInfoHob
1433   );
1434 
1435 BOOLEAN
1436 IsRecoveryJumper (
1437   IN CONST EFI_PEI_SERVICES    **PeiServices,
1438     IN OUT EFI_PLATFORM_INFO_HOB *PlatformInfoHob
1439 );
1440 
1441 EFI_STATUS
1442 CheckOsSelection (
1443   IN CONST EFI_PEI_SERVICES          **PeiServices,
1444   IN SYSTEM_CONFIGURATION            *SystemConfiguration
1445   );
1446 
1447 EFI_STATUS
1448 PlatformInfoUpdate (
1449   IN CONST EFI_PEI_SERVICES          **PeiServices,
1450   IN OUT EFI_PLATFORM_INFO_HOB *PlatformInfoHob,
1451   IN SYSTEM_CONFIGURATION      *SystemConfiguration
1452   );
1453 
1454 VOID
1455 PlatformSsaInit (
1456 IN SYSTEM_CONFIGURATION        *SystemConfiguration,
1457 IN CONST EFI_PEI_SERVICES      **PeiServices
1458   );
1459 
1460 EFI_STATUS
1461 InitializePlatform (
1462   IN CONST EFI_PEI_SERVICES             **PeiServices,
1463   IN EFI_PLATFORM_INFO_HOB        *PlatformInfoHob,
1464   IN SYSTEM_CONFIGURATION         *SystemConfiguration
1465 );
1466 
1467 VOID
1468 MchInit (
1469 IN CONST EFI_PEI_SERVICES                     **PeiServices
1470   );
1471 
1472 
1473 EFI_STATUS
1474 EFIAPI
1475 SetPeiCacheMode (
1476   IN  CONST EFI_PEI_SERVICES    **PeiServices
1477   );
1478 
1479 EFI_STATUS
1480 EFIAPI
1481 SetDxeCacheMode (
1482   IN  CONST EFI_PEI_SERVICES    **PeiServices
1483   );
1484 
1485 EFI_STATUS
1486 GPIO_initialization (
1487   IN EFI_PEI_SERVICES                   **PeiServices,
1488   IN EFI_PEI_NOTIFY_DESCRIPTOR          *NotifyDescriptor,
1489   IN VOID                               *SmbusPpi
1490   );
1491 
1492 
1493 BOOLEAN
1494 IsRtcUipAlwaysSet (
1495   IN CONST EFI_PEI_SERVICES       **PeiServices
1496   );
1497 
1498 
1499 
1500 EFI_STATUS
1501 InitPchUsb (
1502   IN CONST EFI_PEI_SERVICES  **PeiServices
1503   );
1504 
1505 EFI_STATUS
1506 EFIAPI
1507 PublishMemoryTypeInfo (
1508   void
1509   );
1510 
1511 
1512 #endif
1513