Home | History | Annotate | Download | only in PlatformInitPei
      1 /*++
      2 
      3   Copyright (c) 2004  - 2014, Intel Corporation. All rights reserved.<BR>
      4 
      5   This program and the accompanying materials are licensed and made available under
      7   the terms and conditions of the BSD License that accompanies this distribution.
      9   The full text of the license may be found at
     11   http://opensource.org/licenses/bsd-license.php.
     13 
     15   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     17   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     19 
     21 
     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