hc
2024-03-22 a0752693d998599af469473b8dc239ef973a012f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/** @file
  This file contains GPIO name library implementation specific to Ver2
 
  Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
  SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include <Base.h>
#include <Library/BaseLib.h>
#include <Uefi/UefiBaseType.h>
#include <Library/DebugLib.h>
#include <Library/PchInfoLib.h>
#include <Library/GpioPrivateLib.h>
#include <Pins/GpioPinsVer2Lp.h>
 
STATIC CONST CHAR8*  mGpioGppbNames[] = {
  "GSPI0_CLK_LOOPBK",
  "GSPI1_CLK_LOOPBK"
};
 
STATIC CONST CHAR8*  mGpioGppaNames[] = {
  "SPI0_CLK_LOOPBK",
  "ESPI_CLK_LOOPBK"
};
 
STATIC CONST CHAR8*  mPchLpGpioGpdNames[] = {
  "INPUT3VSEL",
  "SLP_LANB",
  "SLP_SUSB",
  "SLP_WAKEB",
  "SLP_DRAM_RESETB"
};
 
STATIC CONST CHAR8*  mPchLpGpioGppdNames[] = {
  "GSPI2_CLK_LOOPBK"
};
 
STATIC CONST CHAR8*  mGpioGppfNames[] = {
  "GPPF_CLK_LOOPBK"
};
 
STATIC CONST CHAR8*  mGpioGppeNames[] = {
  "GPPE_CLK_LOOPBK"
};
 
 
STATIC CONST GPIO_GROUP_NAME_INFO  mPchLpGroupDescriptors[] = {
  GPIO_GROUP_NAME("GPP_B", GPIO_VER2_LP_GSPI0_CLK_LOOPBK, mGpioGppbNames),
  GPIO_GROUP_NAME_BASIC(""),
  GPIO_GROUP_NAME("GPP_A", GPIO_VER2_LP_ESPI_CLK_LOOPBK, mGpioGppaNames),
  GPIO_GROUP_NAME_BASIC("GPP_R"),
  GPIO_GROUP_NAME_BASIC(""),
  GPIO_GROUP_NAME("GPD", GPIO_VER2_LP_INPUT3VSEL, mPchLpGpioGpdNames),
  GPIO_GROUP_NAME_BASIC("GPP_S"),
  GPIO_GROUP_NAME_BASIC("GPP_H"),
  GPIO_GROUP_NAME("GPP_D", GPIO_VER2_LP_GSPI2_CLK_LOOPBK, mPchLpGpioGppdNames),
  GPIO_GROUP_NAME_BASIC(""),
  GPIO_GROUP_NAME_BASIC(""),
  GPIO_GROUP_NAME_BASIC("GPP_C"),
  GPIO_GROUP_NAME("GPP_F", GPIO_VER2_LP_GPPF_CLK_LOOPBK, mGpioGppfNames),
  GPIO_GROUP_NAME_BASIC(""),
  GPIO_GROUP_NAME("GPP_E", GPIO_VER2_LP_GPPE_CLK_LOOPBK, mGpioGppeNames),
  GPIO_GROUP_NAME_BASIC(""),
  GPIO_GROUP_NAME_BASIC(""),
  GPIO_GROUP_NAME_BASIC("")
};
 
/**
  Returns GPIO_GROUP_NAME_INFO corresponding to the given GpioPad
 
  @param[in] GroupIndex  Group index
 
  @retval GPIO_GROUP_NAME_INFO*  Pointer to the GPIO_GROUP_NAME_INFO
  @reval  NULL                   If no group descriptor was found
**/
CONST
GPIO_GROUP_NAME_INFO*
GpioGetGroupNameInfo (
  IN UINT32  GroupIndex
  )
{
  if (GroupIndex < ARRAY_SIZE (mPchLpGroupDescriptors)) {
    return &mPchLpGroupDescriptors[GroupIndex];
  }
 
  ASSERT (FALSE);
  return NULL;
}