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