From b7c51c9cf4864df6aabb99a1ae843becd577237c Mon Sep 17 00:00:00 2001 From: raywu Date: Fri, 15 Jun 2018 00:00:50 +0800 Subject: init. 1AQQW051 --- Board/SB/SBPEIBoard.c | 343 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 343 insertions(+) create mode 100644 Board/SB/SBPEIBoard.c (limited to 'Board/SB/SBPEIBoard.c') diff --git a/Board/SB/SBPEIBoard.c b/Board/SB/SBPEIBoard.c new file mode 100644 index 0000000..c9cc67b --- /dev/null +++ b/Board/SB/SBPEIBoard.c @@ -0,0 +1,343 @@ +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2011, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//************************************************************************* + +//************************************************************************* +// $Header: /Alaska/BIN/Chipset/Intel/SouthBridge/LynxPoint/Intel Pch SB Board/SBPEIBoard.c 6 4/02/13 10:30a Scottyang $ +// +// $Revision: 6 $ +// +// $Date: 4/02/13 10:30a $ +//************************************************************************* +// Revision History +// ---------------- +// $Log: /Alaska/BIN/Chipset/Intel/SouthBridge/LynxPoint/Intel Pch SB Board/SBPEIBoard.c $ +// +// 6 4/02/13 10:30a Scottyang +// [TAG] None +// [Category] Improvement +// [Description] Follow Intel BIOS 114.4 GPIO setting at ULT platform. +// [Files] SB.sdl +// SBPEIBoard.c +// +// 5 1/17/13 3:33a Scottyang +// [TAG] None +// [Category] Improvement +// [Description] Correct ULT GPIO's help message +// [Files] SB.sdl +// SBPEIBoard.c +// +// 4 1/09/13 8:24a Scottyang +// [TAG] None +// [Category] Improvement +// [Description] Synchronous GPIO with Intel BIOS V104.2. +// [Files] SB.sdl +// SBPEIBoard.c +// +// 3 11/08/12 7:15a Scottyang +// [TAG] None +// [Category] New Feature +// [Description] Add token "PROGRAM_GPIO_TYPE" for select ULT GPIO +// program function(token or array directly). +// [Files] SB.sdl, SBPEIBoard.c +// +// 2 10/14/12 8:24a Scottyang +// [TAG] None +// [Category] Improvement +// [Description] One rom for two chip and one chip. +// [Files] SPPEIBoard.c, SB.sd, SBDxe.c, SBPEI.c, PCH.asl +// +// 1 2/08/12 8:22a Yurenlai +// Intel Lynx Point/SB eChipset initially releases. +// +//************************************************************************* +// +// +// Name: SBPeiBoard.C +// +// Description: This file contains PEI stage board component code for +// South Bridge. +// +// +//************************************************************************* + +//---------------------------------------------------------------------------- +// Include(s) +//---------------------------------------------------------------------------- + +#include +#include +#include +#include +#include +#include +#include +#include "Sb.h" + +//---------------------------------------------------------------------------- +// Constant, Macro and Type Definition(s) +//---------------------------------------------------------------------------- +// Constant Definition(s) + +// Macro Definition(s) + +// Type Definition(s) + +// Function Prototype(s) + +//---------------------------------------------------------------------------- +// Variable and External Declaration(s) +//---------------------------------------------------------------------------- +// Variable Declaration(s) + +// GUID Definition(s) + +// PPI Definition(s) + +// PPI that are installed + +// PPI that are notified + +// External Declaration(s) + +// Function Definition(s) + +//---------------------------------------------------------------------------- + +//----------------------------------------------------------------------- +// SB : GPIO Initialize Table +//----------------------------------------------------------------------- +AMI_GPIO_INIT_TABLE_STRUCT stSB_GPIODefaultInitTable[] = +{ +// { OFFSET, VALUE } +#include +}; + +AMI_GPIO_INIT_TABLE_STRUCT stSB_GPIODefaultULTInitTable[] = +{ +#if defined (PROGRAM_GPIO_TYPE) && (PROGRAM_GPIO_TYPE == 1) && (ULT_SUPPORT == 1) +// { OFFSET, VALUE } + {0, ULT_GPIO_000}, + {1, ULT_GPIO_001}, + {2, ULT_GPIO_002}, + {3, ULT_GPIO_003}, + {4, ULT_GPIO_004}, + {5, ULT_GPIO_005}, + {6, ULT_GPIO_006}, + {7, ULT_GPIO_007}, + {8, ULT_GPIO_008}, + {9, ULT_GPIO_009}, + {10, ULT_GPIO_010}, + {11, ULT_GPIO_011}, + {12, ULT_GPIO_012}, + {13, ULT_GPIO_013}, + {14, ULT_GPIO_014}, + {15, ULT_GPIO_015}, + {16, ULT_GPIO_016}, + {17, ULT_GPIO_017}, + {18, ULT_GPIO_018}, + {19, ULT_GPIO_019}, + {20, ULT_GPIO_020}, + {21, ULT_GPIO_021}, + {22, ULT_GPIO_022}, + {23, ULT_GPIO_023}, + {24, ULT_GPIO_024}, + {25, ULT_GPIO_025}, + {26, ULT_GPIO_026}, + {27, ULT_GPIO_027}, + {28, ULT_GPIO_028}, + {29, ULT_GPIO_029}, + {30, ULT_GPIO_030}, + {31, ULT_GPIO_031}, + {32, ULT_GPIO_032}, + {33, ULT_GPIO_033}, + {34, ULT_GPIO_034}, + {35, ULT_GPIO_035}, + {36, ULT_GPIO_036}, + {37, ULT_GPIO_037}, + {38, ULT_GPIO_038}, + {39, ULT_GPIO_039}, + {40, ULT_GPIO_040}, + {41, ULT_GPIO_041}, + {42, ULT_GPIO_042}, + {43, ULT_GPIO_043}, + {44, ULT_GPIO_044}, + {45, ULT_GPIO_045}, + {46, ULT_GPIO_046}, + {47, ULT_GPIO_047}, + {48, ULT_GPIO_048}, + {49, ULT_GPIO_049}, + {50, ULT_GPIO_050}, + {51, ULT_GPIO_051}, + {52, ULT_GPIO_052}, + {53, ULT_GPIO_053}, + {54, ULT_GPIO_054}, + {55, ULT_GPIO_055}, + {56, ULT_GPIO_056}, + {57, ULT_GPIO_057}, + {58, ULT_GPIO_058}, + {59, ULT_GPIO_059}, + {60, ULT_GPIO_060}, + {61, ULT_GPIO_061}, + {62, ULT_GPIO_062}, + {63, ULT_GPIO_063}, + {64, ULT_GPIO_064}, + {65, ULT_GPIO_065}, + {66, ULT_GPIO_066}, + {67, ULT_GPIO_067}, + {68, ULT_GPIO_068}, + {69, ULT_GPIO_069}, + {70, ULT_GPIO_070}, + {71, ULT_GPIO_071}, + {72, ULT_GPIO_072}, + {73, ULT_GPIO_073}, + {74, ULT_GPIO_074}, + {75, ULT_GPIO_075}, + {76, ULT_GPIO_076}, + {77, ULT_GPIO_077}, + {78, ULT_GPIO_078}, + {79, ULT_GPIO_079}, + {80, ULT_GPIO_080}, + {81, ULT_GPIO_081}, + {82, ULT_GPIO_082}, + {83, ULT_GPIO_083}, + {84, ULT_GPIO_084}, + {85, ULT_GPIO_085}, + {86, ULT_GPIO_086}, + {87, ULT_GPIO_087}, + {88, ULT_GPIO_088}, + {89, ULT_GPIO_089}, + {90, ULT_GPIO_090}, + {91, ULT_GPIO_091}, + {92, ULT_GPIO_092}, + {93, ULT_GPIO_093}, + {94, ULT_GPIO_094}, + {95, ULT_GPIO_095}, +#else +// { OFFSET, VALUE("BIT0:GPIO USE Select - 0:Native Mode/1:GPIO Mode.;\BIT1:GPIO Input/Output Select.\BIT2:GPIO Level Select.\BIT3:GPIO Signal Invert(Only For GPIO_00~31).\BIT4:GPIO Blink Enable(Only For GPIO_00~31).\BIT5:GPIO Reset Select.\BIT6:GPIO OWN - 0:ACPI driver/ 1:GPIO driver \ BIT7:GPIO LEB - 0: Edge Mode/ 1: Level Mode \BIT8: GPIO DIS - 0: Input seneing enable/ 1: Iutput seneing disable \BIT9~10 - 00: none/ 01:pull down/ 10: pull up/ 11: invalid ") } + {0, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {1, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {2, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {3, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {4, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {5, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {6, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {7, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {8, (IS_GPIO)|(IS_GPI)|(GPI_INV)|(GPI_LEB_LEVEL)|(GPIO_OWN_GPIO)}, + {9, (IS_GPIO)|(IS_GPI)|(GPI_LEB_LEVEL)|(GPIO_OWN_GPIO)}, + {10, (IS_GPIO)|(IS_GPI)|(GPI_INV)}, + {11, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPI_LEB_LEVEL)|(GPIO_OWN_GPIO)}, + {12, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {13, (IS_GPIO)|(OUTPUT_HIGH)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {14, (IS_GPIO)|(IS_GPI)|(GPI_INV)|(GPIO_GPIWP_DOWN)|(GPIO_OWN_GPIO)}, + {15, (IS_GPIO)|(OUTPUT_LOW)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {16, (IS_GPIO)|(OUTPUT_HIGH)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {17, (IS_GPIO)|(IS_GPI)|(GPI_INV)|(GPI_LEB_LEVEL)|(GPIO_OWN_GPIO)}, + {18, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPI_LEB_LEVEL)|(GPIO_OWN_GPIO)}, + {19, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {20, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {21, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {22, (IS_GPIO)|(OUTPUT_LOW)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {23, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {24, (IS_GPIO)|(IS_GPI)|(GPIO_OWN_GPIO)|(GPIO_RESET)}, + {25, (IS_GPIO)|(OUTPUT_HIGH)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {26, (IS_GPIO)|(IS_GPI)|(GPIO_OWN_GPIO)}, + {27, (IS_GPIO)|(IS_GPI)|(GPI_INV)|(GPI_LEB_LEVEL)}, + {28, (IS_GPIO)|(OUTPUT_LOW)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {29, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {30, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {31, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {32, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {33, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {34, (IS_GPIO)|(IS_GPI)|(GPI_INV)|(GPIO_OWN_GPIO)}, + {35, (IS_GPIO)|(IS_GPI)|(GPI_INV)|(OUTPUT_HIGH)}, + {36, (IS_GPIO)|(IS_GPI)|(GPI_INV)|(GPI_LEB_LEVEL)|(GPIO_OWN_GPIO)}, + {37, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {38, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {39, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {40, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {41, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {42, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {43, (IS_GPIO)|(OUTPUT_HIGH)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {44, (IS_GPIO)|(OUTPUT_HIGH)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {45, (IS_GPIO)|(IS_GPI)|(GPI_INV)|(GPI_LEB_LEVEL)|(GPIO_OWN_GPIO)}, + {46, (IS_GPIO)|(OUTPUT_HIGH)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {47, (IS_GPIO)|(IS_GPI)|(GPI_INV)|(GPIO_OWN_GPIO)}, + {48, (IS_GPIO)|(OUTPUT_HIGH)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {49, (IS_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {50, (IS_GPIO)|(IS_GPI)|(GPI_LEB_LEVEL)|(GPIO_OWN_GPIO)}, + {51, (IS_GPIO)|(IS_GPI)|(GPI_INV)|(GPI_LEB_LEVEL)|(GPIO_OWN_GPIO)}, + {52, (IS_GPIO)|(OUTPUT_HIGH)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {53, (IS_GPIO)|(IS_GPI)|(GPIO_OWN_GPIO)}, + {54, (IS_GPIO)|(IS_GPI)|(GPI_INV)|(GPI_LEB_LEVEL)|(GPIO_OWN_GPIO)}, + {55, (IS_GPIO)|(IS_GPI)|(GPI_LEB_LEVEL)|(GPIO_OWN_GPIO)}, + {56, (IS_GPIO)|(OUTPUT_HIGH)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {57, (IS_GPIO)|(OUTPUT_LOW)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {58, (IS_GPIO)|(IS_GPI)|(GPI_LEB_LEVEL)|(GPIO_OWN_GPIO)}, + {59, (IS_GPIO)|(OUTPUT_HIGH)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {60, (IS_GPIO)|(OUTPUT_LOW)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {61, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {62, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {63, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {64, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {65, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {66, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {67, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {68, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {69, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {70, (IS_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {71, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {72, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {73, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {74, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {75, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {76, (IS_GPIO)|(OUTPUT_HIGH)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {77, (IS_GPIO)|(OUTPUT_HIGH)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {78, (IS_GPIO)|(IS_GPI)|(GPI_LEB_LEVEL)|(GPIO_OWN_GPIO)}, + {79, (IS_GPIO)|(IS_GPI)|(GPI_INV)|(GPI_LEB_LEVEL)|(GPIO_OWN_GPIO)}, + {80, (IS_GPIO)|(IS_GPI)|(GPI_LEB_LEVEL)|(GPIO_OWN_GPIO)}, + {81, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {82, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {83, (IS_GPIO)|(OUTPUT_LOW)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {84, (IS_GPIO)|(OUTPUT_LOW)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {85, (IS_GPIO)|(OUTPUT_LOW)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {86, (IS_GPIO)|(OUTPUT_LOW)|(GPI_LEB_LEVEL)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {87, (IS_GPIO)|(OUTPUT_LOW)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {88, (IS_GPIO)|(OUTPUT_HIGH)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {89, (IS_GPIO)|(OUTPUT_HIGH)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {90, (IS_GPIO)|(OUTPUT_LOW)|(GPI_NDIS_DISABLE)|(GPIO_OWN_GPIO)}, + {91, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {92, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {93, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {94, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, + {95, (IS_NOT_GPIO)|(OUTPUT_HIGH)|(GPIO_OWN_GPIO)}, +#endif + {0xffff, 0xffff}, // End of the table. + +}; + +//---------------------------------------------------------------------------- + +//************************************************************************* +//************************************************************************* +//** ** +//** (C)Copyright 1985-2011, American Megatrends, Inc. ** +//** ** +//** All Rights Reserved. ** +//** ** +//** 5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093 ** +//** ** +//** Phone: (770)-246-8600 ** +//** ** +//************************************************************************* +//************************************************************************* -- cgit v1.2.3