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