xref: /aosp_15_r20/external/coreboot/util/inteltool/gpio_names/elkhartlake.h (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef GPIO_NAMES_ELKHARTLAKE
4 #define GPIO_NAMES_ELKHARTLAKE
5 
6 #include "gpio_groups.h"
7 
8 /* ----------------------------- Elkhart Lake ----------------------------- */
9 
10 const char *const elkhartlake_pch_group_a_names[] = {
11 	"GPP_A00",	"PSE_GBE0_RGMII_TXD3",	"n/a",
12 	"GPP_A01",	"PSE_GBE0_RGMII_TXD2",	"n/a",
13 	"GPP_A02",	"PSE_GBE0_RGMII_TXD1",	"n/a",
14 	"GPP_A03",	"PSE_GBE0_RGMII_TXD0",	"n/a",
15 	"GPP_A04",	"PSE_GBE0_RGMII_TXCLK",	"n/a",
16 	"GPP_A05",	"PSE_GBE0_RGMII_TXCTL",	"n/a",
17 	"GPP_A06",	"PSE_GBE0_RGMII_RXCLK",	"n/a",
18 	"GPP_A07",	"PSE_GBE0_RGMII_RXD3",	"n/a",
19 	"GPP_A08",	"PSE_GBE0_RGMII_RXD2",	"n/a",
20 	"GPP_A09",	"PSE_GBE0_RGMII_RXD1",	"n/a",
21 	"GPP_A10",	"PSE_GBE0_RGMII_RXD0",	"n/a",
22 	"GPP_A11",	"PSE_GBE1_RGMII_TXD3",	"n/a",
23 	"GPP_A12",	"PSE_GBE1_RGMII_TXD2",	"n/a",
24 	"GPP_A13",	"PSE_GBE1_RGMII_TXD1",	"n/a",
25 	"GPP_A14",	"PSE_GBE1_RGMII_TXD0",	"n/a",
26 	"GPP_A15",	"PSE_GBE1_RGMII_TXCLK",	"n/a",
27 	"GPP_A16",	"PSE_GBE1_RGMII_TXCTL",	"n/a",
28 	"GPP_A17",	"PSE_GBE1_RGMII_RXCLK",	"n/a",
29 	"GPP_A18",	"PSE_GBE1_RGMII_RXCTL",	"n/a",
30 	"GPP_A19",	"PSE_GBE1_RGMII_RXD3",	"AVS_I2S5_SCLK",
31 	"GPP_A20",	"PSE_GBE1_RGMII_RXD2",	"AVS_I2S5_SFRM",
32 	"GPP_A21",	"PSE_GBE1_RGMII_RXD1",	"AVS_I2S5_TXD",
33 	"GPP_A22",	"PSE_GBE1_RGMII_RXD0",	"AVS_I2S5_RXD",
34 	"GPP_A23",	"PSE_GBE0_RGMII_RXCTL",	"n/a",
35 };
36 
37 const struct gpio_group elkhartlake_pch_group_a = {
38 	.display	= "------- GPIO Group GPP_A -------",
39 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_a_names) / 3,
40 	.func_count	= 3,
41 	.pad_names	= elkhartlake_pch_group_a_names,
42 };
43 
44 const char *const elkhartlake_pch_group_b_names[] = {
45 	"GPP_B00"	,"PMC_CORE_VID0",	"n/a",			"n/a",			"n/a",			"n/a",		"n/a",	"n/a",	"n/a",
46 	"GPP_B01"	,"PMC_CORE_VID1",	"n/a",			"n/a",			"n/a",			"n/a",		"n/a",	"n/a",	"n/a",
47 	"GPP_B02"	,"PMC_VRALERT_N",	"n/a",			"n/a",			"ESPI_ALERT2_N",	"n/a",		"n/a",	"n/a",	"PSE_TGPIO25",
48 	"GPP_B03"	,"CPU_GP2",		"n/a",			"n/a",			"ESPI_ALERT0_N",	"n/a",		"n/a",	"n/a",	"PSE_TGPIO26",
49 	"GPP_B04"	,"CPU_GP3",		"n/a",			"n/a",			"ESPI_ALERT1_N",	"n/a",		"n/a",	"n/a",	"PSE_TGPIO27",
50 	"GPP_B05"	,"PSE_I2C0_SCL",	"n/a",			"n/a",			"n/a",			"n/a",		"n/a",	"n/a",	"PSE_TGPIO06",
51 	"GPP_B06"	,"PSE_I2C0_SDA",	"n/a",			"n/a",			"n/a",			"n/a",		"n/a",	"n/a",	"PSE_TGPIO07",
52 	"GPP_B07"	,"PSE_I2C1_SCL",	"n/a",			"n/a",			"n/a",			"n/a",		"n/a",	"n/a",	"PSE_TGPIO08",
53 	"GPP_B08"	,"PSE_I2C1_SDA",	"n/a",			"n/a",			"n/a",			"n/a",		"n/a",	"n/a",	"PSE_TGPIO09",
54 	"GPP_B09"	,"SIO_I2C5_SDA",	"PSE_I2C2_SDA",		"n/a",			"ESPI_CS3_N",		"n/a",		"n/a",	"n/a",	"n/a",
55 	"GPP_B10"	,"SIO_I2C5_SCL",	"PSE_I2C2_SCL",		"n/a",			"ESPI_ALERT3_N",	"n/a",		"n/a",	"n/a",	"n/a",
56 	"GPP_B11"	,"PMC_ALERT_N",		"n/a",			"n/a",			"n/a",			"n/a",		"n/a",	"n/a",	"PSE_TGPIO06",
57 	"GPP_B12"	,"PMC_SLP_S0_N",	"n/a",			"n/a",			"n/a",			"n/a",		"n/a",	"n/a",	"n/a",
58 	"GPP_B13"	,"PMC_PLTRST_N",	"n/a",			"n/a",			"n/a",			"n/a",		"n/a",	"n/a",	"n/a",
59 	"GPP_B14"	,"SPKR",		"PMC_TGPIO1",		"SIO_SPI0_CS1_N",	"PSE_SPI2_CS1_N",	"n/a",		"n/a",	"n/a",	"n/a",
60 	"GPP_B15"	,"SIO_SPI0_CS0_N",	"n/a",			"PSE_SPI2_CS0_N",	"n/a",			"ESPI_CS1_N",	"n/a",	"n/a",	"n/a",
61 	"GPP_B16"	,"SIO_SPI0_CLK",	"n/a",			"PSE_SPI2_CLK",		"n/a",			"n/a",		"n/a",	"n/a",	"n/a",
62 	"GPP_B17"	,"SIO_SPI0_MISO",	"n/a",			"PSE_SPI2_MISO",	"n/a",			"n/a",		"n/a",	"n/a",	"n/a",
63 	"GPP_B18"	,"SIO_SPI0_MOSI",	"n/a",			"PSE_SPI2_MOSI",	"n/a",			"n/a",		"n/a",	"n/a",	"n/a",
64 	"GPP_B19"	,"SIO_SPI1_CS0_N",	"n/a",			"PSE_SPI3_CS0_N",	"n/a",			"ESPI_CS2_N",	"n/a",	"n/a",	"n/a",
65 	"GPP_B20"	,"SIO_SPI1_CLK",	"RSVD",			"PSE_SPI3_CLK",		"n/a",			"n/a",		"n/a",	"n/a",	"n/a",
66 	"GPP_B21"	,"SIO_SPI1_MISO",	"RSVD",			"PSE_SPI3_MISO",	"n/a",			"n/a",		"n/a",	"n/a",	"n/a",
67 	"GPP_B22"	,"SIO_SPI1_MOSI",	"n/a",			"PSE_SPI3_MOSI",	"n/a",			"n/a",		"n/a",	"n/a",	"n/a",
68 	"GPP_B23"	,"n/a",			"PCHHOT_N",		"SIO_SPI1_CS1_N",	"PSE_SPI3_CS1_N",	"n/a",		"n/a",	"n/a",	"PSE_TGPIO28",
69 	"GPIO_RSVD_0"	,"n/a",			"n/a",			"n/a",			"n/a",			"n/a",		"n/a",	"n/a",	"n/a",
70 	"GPIO_RSVD_1"	,"n/a",			"n/a",			"n/a",			"n/a",			"n/a",		"n/a",	"n/a",	"n/a",
71 };
72 
73 const struct gpio_group elkhartlake_pch_group_b = {
74 	.display	= "------- GPIO Group GPP_B -------",
75 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_b_names) / 9,
76 	.func_count	= 9,
77 	.pad_names	= elkhartlake_pch_group_b_names,
78 };
79 
80 const char *const elkhartlake_pch_group_c_names[] = {
81 	"GPP_C00",	"SMB_CLK",		"PSE_I2C3_SCL",			"n/a",			"n/a",			"n/a",	"n/a",		"n/a",	"PSE_TGPIO18",
82 	"GPP_C01",	"SMB_DATA",		"PSE_I2C3_SDA",			"n/a",			"n/a",			"n/a",	"n/a",		"n/a",	"PSE_TGPIO19",
83 	"GPP_C02",	"PSE_PWM00",		"SMB_ALERT_N",			"n/a",			"n/a",			"n/a",	"n/a",		"n/a",	"PSE_TGPIO29",
84 	"GPP_C03",	"PSE_GBE0_MDC",		"n/a",				"PSE_HSUART3_EN",	"n/a",			"n/a",	"RSVD",		"n/a",	"n/a",
85 	"GPP_C04",	"PSE_GBE0_MDIO",	"n/a",				"PSE_UART3_RTS_N",	"PSE_HSUART3_DE",	"n/a",	"RSVD",		"n/a",	"n/a",
86 	"GPP_C05",	"PSE_PWM01",		"n/a",				"PSE_UART3_CTS_N",	"n/a",			"n/a",	"SML_ALERT0_N",	"n/a",	"PSE_TGPIO30",
87 	"GPP_C06",	"PSE_GBE1_MDC",		"n/a",				"n/a",			"n/a",			"n/a",	"n/a",		"n/a",	"n/a",
88 	"GPP_C07",	"PSE_GBE1_MDIO",	"n/a",				"PSE_HSUART3_RE",	"n/a",			"n/a",	"n/a",		"n/a",	"n/a",
89 	"GPP_C08",	"PSE_TGPIO04",		"DNX_FORCE_RELOAD",		"n/a",			"RSVD",			"n/a",	"n/a",		"n/a",	"n/a",
90 	"GPP_C09",	"PSE_HSUART0_EN",	"n/a",				"n/a",			"RSVD",			"n/a",	"n/a",		"n/a",	"n/a",
91 	"GPP_C10",	"PSE_TGPIO05",		"n/a",				"n/a",			"RSVD",			"n/a",	"n/a",		"n/a",	"n/a",
92 	"GPP_C11",	"PSE_HSUART0_RE",	"n/a",				"n/a",			"RSVD",			"n/a",	"n/a",		"n/a",	"n/a",
93 	"GPP_C12",	"PSE_UART0_RXD",	"n/a",				"n/a",			"SIO_UART1_RXD",	"n/a",	"n/a",		"n/a",	"n/a",
94 	"GPP_C13",	"PSE_UART0_TXD",	"n/a",				"n/a",			"SIO_UART1_TXD",	"n/a",	"n/a",		"n/a",	"n/a",
95 	"GPP_C14",	"PSE_UART0_RTS_N",	"PSE_HSUART0_DE",		"n/a",			"SIO_UART1_RTS_N",	"n/a",	"n/a",		"n/a",	"n/a",
96 	"GPP_C15",	"PSE_UART0_CTS_N",	"n/a",				"n/a",			"SIO_UART1_CTS_N",	"n/a",	"n/a",		"n/a",	"n/a",
97 	"GPP_C16",	"GBE_MDIO",		"n/a",				"PSE_UART3_RXD",	"SIO_I2C0_SDA",		"n/a",	"n/a",		"n/a",	"n/a",
98 	"GPP_C17",	"GBE_MDC",		"n/a",				"PSE_UART3_TXD",	"SIO_I2C0_SCL",		"n/a",	"n/a",		"n/a",	"n/a",
99 	"GPP_C18",	"PSE_I2C4_SDA",		"n/a",				"SML_DATA0",		"SIO_I2C1_SDA",		"n/a",	"n/a",		"n/a",	"n/a",
100 	"GPP_C19",	"PSE_I2C4_SCL",		"n/a",				"SML_CLK0",		"SIO_I2C1_SCL",		"n/a",	"n/a",		"n/a",	"n/a",
101 	"GPP_C20",	"PSE_UART4_RXD",	"n/a",				"RSVD",			"SIO_UART2_RXD",	"n/a",	"n/a",		"n/a",	"n/a",
102 	"GPP_C21",	"PSE_UART4_TXD",	"n/a",				"RSVD",			"SIO_UART2_TXD",	"n/a",	"n/a",		"n/a",	"n/a",
103 	"GPP_C22",	"PSE_UART4_RTS_N",	"A0: N/A B0: ISI_SPIM_MOSI",	"RSVD",			"SIO_UART2_RTS_N",	"n/a",	"n/a",		"n/a",	"n/a",
104 	"GPP_C23",	"PSE_UART4_CTS_N",	"A0: N/A B0: ISI_SPIS_MOSI",	"RSVD",			"SIO_UART2_CTS_N",	"n/a",	"n/a",		"n/a",	"n/a",
105 };
106 
107 const struct gpio_group elkhartlake_pch_group_c = {
108 	.display	= "------- GPIO Group GPP_C -------",
109 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_c_names) / 9,
110 	.func_count	= 9,
111 	.pad_names	= elkhartlake_pch_group_c_names,
112 };
113 
114 const char *const elkhartlake_pch_group_d_names[] = {
115 	"GPP_D00",	"PSE_QEPA0",		"n/a",				"RSVD",	"PSE_SPI1_CS0_N",	"n/a",	"n/a",	"n/a",			"PSE_TGPIO32",
116 	"GPP_D01",	"PSE_QEPB0",		"n/a",				"RSVD",	"PSE_SPI1_CLK",		"n/a",	"n/a",	"n/a",			"PSE_TGPIO33",
117 	"GPP_D02",	"PSE_QEPI0",		"n/a",				"RSVD",	"PSE_SPI1_MISO",	"n/a",	"n/a",	"n/a",			"PSE_TGPIO34",
118 	"GPP_D03",	"PSE_PWM06",		"n/a",				"RSVD",	"PSE_SPI1_MOSI",	"n/a",	"n/a",	"n/a",			"PSE_TGPIO35",
119 	"GPP_D04",	"PSE_PWM02",		"n/a",				"RSVD",	"PSE_SPI1_CS1_N",	"n/a",	"n/a",	"n/a",			"PSE_TGPIO36",
120 	"GPP_D05",	"PCIE_CLKREQ0_N",	"n/a",				"n/a",	"n/a",			"n/a",	"n/a",	"n/a",			"n/a",
121 	"GPP_D06",	"PCIE_CLKREQ1_N",	"n/a",				"n/a",	"n/a",			"n/a",	"n/a",	"n/a",			"n/a",
122 	"GPP_D07",	"PCIE_CLKREQ2_N",	"n/a",				"n/a",	"n/a",			"n/a",	"n/a",	"n/a",			"n/a",
123 	"GPP_D08",	"PCIE_CLKREQ3_N",	"n/a",				"n/a",	"n/a",			"n/a",	"n/a",	"n/a",			"n/a",
124 	"GPP_D09",	"PSE_SPI0_CS0_N",	"n/a",				"n/a",	"n/a",			"n/a",	"n/a",	"SIO_SPI2_CS0_N",	"PSE_TGPIO10",
125 	"GPP_D10",	"PSE_SPI0_CLK",		"n/a",				"n/a",	"n/a",			"n/a",	"n/a",	"SIO_SPI2_CLK",		"PSE_TGPIO11",
126 	"GPP_D11",	"PSE_SPI0_MISO",	"n/a",				"n/a",	"n/a",			"n/a",	"n/a",	"SIO_SPI2_MISO",	"PSE_TGPIO12",
127 	"GPP_D12",	"PSE_SPI0_MOSI",	"n/a",				"n/a",	"n/a",			"n/a",	"n/a",	"SIO_SPI2_MOSI",	"PSE_TGPIO13",
128 	"GPP_D13",	"PSE_QEPA1",		"n/a",				"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",			"PSE_TGPIO37",
129 	"GPP_D14",	"PSE_QEPB1",		"n/a",				"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",			"PSE_TGPIO38",
130 	"GPP_D15",	"PSE_PWM03",		"SIO_SPI2_CS1_N",		"RSVD",	"PSE_SPI0_CS1_N",	"n/a",	"n/a",	"n/a",			"PSE_TGPIO39",
131 	"GPP_D16",	"PSE_QEPI1",		"n/a"			,	"n/a",	"n/a",			"n/a",	"n/a",	"n/a",			"PSE_TGPIO40",
132 	"GPP_D17",	"PSE_PWM04",		"A0: N/A B0: ISI_SPIM_MOSI",	"n/a",	"n/a",			"n/a",	"n/a",	"n/a",			"PSE_TGPIO41",
133 	"GPP_D18",	"PSE_PWM05",		"A0: N/A B0: ISI_SPIS_MOSI",	"n/a",	"n/a",			"n/a",	"n/a",	"n/a",			"PSE_TGPIO42",
134 	"GPP_D19",	"AVS_I2S_MCLK1",	"n/a",				"n/a",	"n/a",			"n/a",	"n/a",	"n/a",			"PSE_TGPIO43",
135 	"GPIO_RSVD_3",	"n/a",			"n/a",				"n/a",	"n/a",			"n/a",	"n/a",	"n/a",			"n/a",
136 };
137 
138 const struct gpio_group elkhartlake_pch_group_d = {
139 	.display	= "------- GPIO Group GPP_D -------",
140 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_d_names) / 9,
141 	.func_count	= 9,
142 	.pad_names	= elkhartlake_pch_group_d_names,
143 };
144 
145 const char *const elkhartlake_pch_group_gpd_names[] = {
146 	"GPD_00",	"PMC_BATLOW_N",
147 	"GPD_01",	"PMC_ACPRESENT",
148 	"GPD_02",	"RSVD",
149 	"GPD_03",	"PMC_PWRBTN_N",
150 	"GPD_04",	"PMC_SLP_S3_N",
151 	"GPD_05",	"PMC_SLP_S4_N",
152 	"GPD_07",	"RSVD",
153 	"GPD_08",	"PMC_SUSCLK",
154 	"GPD_09",	"RSVD",
155 	"GPD_10",	"PMC_SLP_S5_N",
156 	"GPD_11",	"RSVD",
157 	"GPIO_RSVD_8",	"n/a",
158 	"GPIO_RSVD_9",	"n/a",
159 	"GPIO_RSVD_10",	"n/a",
160 	"GPIO_RSVD_11",	"n/a",
161 	"GPIO_RSVD_12",	"n/a",
162 };
163 
164 const struct gpio_group elkhartlake_pch_group_gpd = {
165 	.display	= "------- GPIO Group GPD -------",
166 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_gpd_names) / 2,
167 	.func_count	= 2,
168 	.pad_names	= elkhartlake_pch_group_gpd_names,
169 };
170 
171 const char *const elkhartlake_pch_group_e_names[] = {
172 	"GPP_E00",	"SATA_LED_N",		"SATAXPCIE_0",		"RSVD",	"RSVD",	"RSVD",			"RSVD",	"SATA_0_GP",	"n/a",
173 	"GPP_E01",	"n/a",			"RSVD",			"RSVD",	"RSVD",	"RSVD",			"RSVD",	"RSVD",		"n/a",
174 	"GPP_E02",	"n/a",			"RSVD",			"RSVD",	"RSVD",	"RSVD",			"RSVD",	"RSVD",		"n/a",
175 	"GPP_E03",	"DDI1_HPD",		"PNL_MISC_DDI1",	"RSVD",	"RSVD",	"RSVD",			"RSVD",	"CPU_GP0",	"PSE_TGPIO15",
176 	"GPP_E04",	"SATA_0_DEVSLP",	"n/a",			"RSVD",	"RSVD",	"RSVD",			"RSVD",	"PSE_PWM08",	"PSE_TGPIO44",
177 	"GPP_E05",	"DDI1_DDC_SDA",		"n/a",			"RSVD",	"RSVD",	"RSVD",			"RSVD",	"PSE_PWM09",	"PSE_TGPIO17",
178 	"GPP_E06",	"n/a",			"RSVD",			"RSVD",	"RSVD",	"RSVD",			"RSVD",	"PSE_PWM10",	"PSE_TGPIO18",
179 	"GPP_E07",	"DDI1_DDC_SCL",		"n/a",			"RSVD",	"RSVD",	"RSVD",			"RSVD",	"CPU_GP1",	"PSE_TGPIO16",
180 	"GPP_E08",	"n/a",			"SATA_1_DEVSLP",	"RSVD",	"RSVD",	"n/a",			"RSVD",	"RSVD",		"PSE_TGPIO45",
181 	"GPP_E09",	"USB2_OC0_N",		"n/a",			"RSVD",	"RSVD",	"n/a",			"RSVD",	"n/a",		"n/a",
182 	"GPP_E10",	"n/a",			"RSVD",			"RSVD",	"RSVD",	"n/a",			"RSVD",	"RSVD"	,	"n/a",
183 	"GPP_E11",	"n/a",			"RSVD",			"RSVD",	"RSVD",	"n/a",			"RSVD",	"RSVD",		"n/a",
184 	"GPP_E12",	"n/a",			"RSVD",			"RSVD",	"RSVD",	"n/a",			"RSVD",	"RSVD",		"n/a",
185 	"GPP_E13",	"n/a",			"RSVD",			"RSVD",	"RSVD",	"n/a",			"RSVD",	"RSVD",		"n/a",
186 	"GPP_E14",	"DDI0_HPD",		"PNL_MISC_DDI0",	"RSVD",	"RSVD",	"n/a",			"RSVD",	"n/a",		"PSE_TGPIO19",
187 	"GPP_E15",	"PSE_I2S0_RXD",		"RSVD",			"RSVD",	"RSVD",	"n/a",			"RSVD",	"PSE_CAN0_TX",	"PSE_TGPIO17",
188 	"GPP_E16",	"PSE_I2S0_TXD",		"RSVD",			"RSVD",	"RSVD",	"RSVD",			"RSVD",	"PSE_CAN0_RX",	"PSE_TGPIO16",
189 	"GPP_E17",	"PNL1_VDDEN",		"RSVD",			"RSVD",	"RSVD",	"PNL_MISC_DDI2",	"RSVD",	"PSE_PWM11",	"PSE_TGPIO46",
190 	"GPP_E18",	"DDI0_DDC_SDA",		"n/a",			"n/a",	"n/a",	"RSVD",			"n/a",	"PSE_PWM12",	"PSE_TGPIO23",
191 	"GPP_E19",	"DDI0_DDC_SCL",		"n/a",			"n/a",	"n/a",	"RSVD",			"n/a",	"PSE_PWM13",	"PSE_TGPIO24",
192 	"GPP_E20",	"PSE_I2S0_SCLK",	"n/a",			"n/a",	"n/a",	"n/a",			"n/a",	"PSE_CAN1_TX",	"PSE_TGPIO14",
193 	"GPP_E21",	"PSE_I2S0_SFRM",	"n/a",			"n/a",	"n/a",	"n/a",			"n/a",	"PSE_CAN1_RX",	"PSE_TGPIO15",
194 	"GPP_E22",	"PNL1_BKLTCTL",		"n/a",			"n/a",	"n/a",	"n/a",			"n/a",	"PSE_PWM14",	"PSE_TGPIO18",
195 	"GPP_E23",	"PNL1_BKLTEN",		"n/a",			"n/a",	"n/a",	"n/a",			"n/a",	"PSE_PWM15",	"PSE_TGPIO19",
196 };
197 
198 const struct gpio_group elkhartlake_pch_group_e = {
199 	.display	= "------- GPIO Group GPP_E -------",
200 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_e_names) / 9,
201 	.func_count	= 9,
202 	.pad_names	= elkhartlake_pch_group_e_names,
203 };
204 
205 const char *const elkhartlake_pch_group_f_names[] = {
206 	"GPP_F00",	"RSVD",			"SIO_UART0_RTS_N",	"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
207 	"GPP_F01",	"RSVD",			"SIO_UART0_RXD",	"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
208 	"GPP_F02",	"RSVD",			"SIO_UART0_TXD",	"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
209 	"GPP_F03",	"RSVD",			"SIO_UART0_CTS_N",	"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
210 	"GPP_F04",	"RSVD",			"n/a",			"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
211 	"GPP_F05",	"RSVD",			"RSVD",			"RSVD",	"RSVD",			"n/a",			"n/a",	"n/a",	"PSE_TGPIO14",
212 	"GPP_F06",	"RSVD",			"n/a",			"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"PSE_TGPIO47",
213 	"GPP_F07",	"PSE_I2S1_SCLK",	"n/a",			"n/a",	"n/a",			"AVS_I2S4_SCLK",	"n/a",	"n/a",	"PSE_TGPIO14",
214 	"GPP_F08",	"AVS_I2S_MCLK2",	"n/a",			"n/a",	"PSE_TRACEDATA_0",	"ISI_TRACEDATA_0",	"n/a",	"n/a",	"PSE_TGPIO48",
215 	"GPP_F09",	"BOOT_PWR_EN",		"n/a",			"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
216 	"GPP_F10",	"PSE_I2S1_SFRM",	"n/a",			"n/a",	"n/a",			"AVS_I2S4_SFRM",	"n/a",	"n/a",	"PSE_TGPIO15",
217 	"GPP_F11",	"n/a",			"n/a",			"RSVD",	"PSE_TRACECLK",		"ISI_TRACECLK",		"n/a",	"n/a",	"PSE_TGPIO49",
218 	"GPP_F12",	"RSVD",			"AVS_I2S4_TXD",		"RSVD",	"PSE_TRACESWO",		"ISI_TRACESWO",		"n/a",	"n/a",	"n/a",
219 	"GPP_F13",	"RSVD",			"AVS_I2S4_SFRM",	"RSVD",	"PSE_SWDIO",		"ISI_SWDIO",		"n/a",	"n/a",	"n/a",
220 	"GPP_F14",	"RSVD",			"AVS_I2S4_RXD",		"RSVD",	"PSE_TRACEDATA_1",	"ISI_TRACEDATA_1",	"n/a",	"n/a",	"n/a",
221 	"GPP_F15",	"RSVD",			"n/a",			"RSVD",	"PSE_TRACEDATA_2",	"ISI_TRACEDATA_2",	"n/a",	"n/a",	"n/a",
222 	"GPP_F16",	"RSVD",			"AVS_I2S4_SCLK",	"RSVD",	"PSE_SWCLK",		"ISI_SWCLK",		"n/a",	"n/a",	"n/a",
223 	"GPP_F17",	"n/a",			"n/a",			"RSVD",	"PSE_TRACEDATA_3",	"ISI_TRACEDATA_3",	"n/a",	"n/a",	"PSE_TGPIO50",
224 	"GPP_F18",	"PSE_I2S1_TXD",		"n/a",			"n/a",	"n/a",			"AVS_I2S4_TXD",		"n/a",	"n/a",	"PSE_TGPIO16",
225 	"GPP_F19",	"PSE_I2S1_RXD",		"n/a",			"n/a",	"n/a",			"AVS_I2S4_RXD",		"n/a",	"n/a",	"PSE_TGPIO17",
226 	"GPP_F20",	"RSVD",			"n/a",			"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
227 	"GPP_F21",	"RSVD",			"n/a",			"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
228 	"GPP_F22",	"PMC_VNN_CTRL",		"n/a",			"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
229 	"GPP_F23",	"PMC_V1P05_CTRL",	"n/a",			"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
230 	"GPIO_RSVD_30",	"n/a",			"n/a",			"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
231 	"GPIO_RSVD_31",	"n/a",			"n/a",			"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
232 	"GPIO_RSVD_32",	"n/a",			"n/a",			"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
233 	"GPIO_RSVD_33",	"n/a",			"n/a",			"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
234 	"GPIO_RSVD_34",	"n/a",			"n/a",			"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
235 	"GPIO_RSVD_35",	"n/a",			"n/a",			"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
236 	"GPIO_RSVD_36",	"n/a",			"n/a",			"n/a",	"n/a",			"n/a",			"n/a",	"n/a",	"n/a",
237 };
238 
239 const struct gpio_group elkhartlake_pch_group_f = {
240 	.display	= "------- GPIO Group GPP_F -------",
241 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_f_names) / 9,
242 	.func_count	= 9,
243 	.pad_names	= elkhartlake_pch_group_f_names,
244 };
245 
246 const char *const elkhartlake_pch_group_g_names[] = {
247 	"GPP_G00",	"SD_SDIO_CMD",		"n/a",		"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
248 	"GPP_G01",	"SD_SDIO_D0",		"n/a",		"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
249 	"GPP_G02",	"SD_SDIO_D1",		"n/a",		"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
250 	"GPP_G03",	"SD_SDIO_D2",		"n/a",		"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
251 	"GPP_G04",	"SD_SDIO_D3",		"n/a",		"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
252 	"GPP_G05",	"SD_SDIO_CD_N",		"n/a",		"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
253 	"GPP_G06",	"SD_SDIO_CLK",		"n/a",		"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
254 	"GPP_G07",	"AVS_I2S2_SCLK",	"n/a",		"n/a",		"DMIC_CLK_A0",	"n/a",	"n/a",	"n/a",	"n/a",
255 	"GPP_G08",	"AVS_I2S2_SFRM",	"RSVD",		"n/a",		"DMIC_DATA0",	"n/a",	"n/a",	"n/a",	"n/a",
256 	"GPP_G09",	"AVS_I2S2_TXD",		"RSVD",		"RSVD",		"DMIC_CLK_A1",	"n/a",	"n/a",	"n/a",	"n/a",
257 	"GPP_G10",	"AVS_I2S2_RXD",		"n/a",		"n/a",		"DMIC_DATA1",	"n/a",	"n/a",	"n/a",	"n/a",
258 	"GPP_G11",	"AVS_I2S3_SCLK",	"n/a",		"n/a",		"DMIC_DATA0",	"n/a",	"n/a",	"n/a",	"PSE_TGPIO07",
259 	"GPP_G12",	"AVS_I2S3_SFRM",	"SATA_1_GP",	"SATAXPCIE_1",	"DMIC_DATA1",	"n/a",	"n/a",	"n/a",	"PSE_TGPIO31",
260 	"GPP_G13",	"AVS_I2S3_TXD",		"n/a",		"n/a",		"DMIC_CLK_B0",	"n/a",	"n/a",	"n/a",	"PSE_TGPIO08",
261 	"GPP_G14",	"AVS_I2S3_RXD",		"n/a",		"n/a",		"DMIC_CLK_B1",	"n/a",	"n/a",	"n/a",	"PSE_TGPIO09",
262 	"GPP_G15",	"ESPI_IO0",		"n/a",		"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
263 	"GPP_G16",	"ESPI_IO1",		"n/a",		"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
264 	"GPP_G17",	"ESPI_IO2",		"Reserved",	"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
265 	"GPP_G18",	"ESPI_IO3",		"Reserved",	"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
266 	"GPP_G19",	"AVS_I2S1_SCLK",	"n/a",		"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
267 	"GPP_G20",	"ESPI_CS0_N",		"n/a",		"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
268 	"GPP_G21",	"ESPI_CLK",		"n/a",		"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
269 	"GPP_G22",	"ESPI_RST0_N",		"n/a",		"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
270 	"GPP_G23",	"SD_SDIO_WP",		"n/a",		"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
271 	"GPIO_RSVD_2",	"n/a",			"n/a",		"n/a",		"n/a",		"n/a",	"n/a",	"n/a",	"n/a",
272 };
273 
274 const struct gpio_group elkhartlake_pch_group_g = {
275 	.display	= "------- GPIO Group GPP_G -------",
276 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_g_names) / 9,
277 	.func_count	= 9,
278 	.pad_names	= elkhartlake_pch_group_g_names,
279 };
280 
281 const char *const elkhartlake_pch_group_h_names[] = {
282 	"GPP_H00",	"PSE_GBE1_INT",		"n/a",			"n/a",	"PSE_UART5_RXD",	"n/a",	"n/a",	"n/a",	"n/a",
283 	"GPP_H01",	"PSE_GBE1_RST_N",	"n/a",			"n/a",	"PSE_UART5_TXD",	"n/a",	"n/a",	"n/a",	"n/a",
284 	"GPP_H02",	"PSE_GBE1_AUXTS",	"n/a",			"n/a",	"PSE_UART5_RTS_N",	"n/a",	"n/a",	"n/a",	"n/a",
285 	"GPP_H03",	"PSE_GBE1_PPS",		"n/a",			"n/a",	"PSE_UART5_CTS_N",	"n/a",	"n/a",	"n/a",	"PSE_TGPIO21",
286 	"GPP_H04",	"SIO_I2C2_SDA",		"n/a",			"n/a",	"PSE_PWM08",		"n/a",	"n/a",	"n/a",	"PSE_TGPIO10",
287 	"GPP_H05",	"SIO_I2C2_SCL",		"n/a",			"n/a",	"PSE_PWM09",		"n/a",	"n/a",	"n/a",	"PSE_TGPIO11",
288 	"GPP_H06",	"SIO_I2C3_SDA",		"PSE_I2C5_SDA",		"n/a",	"PSE_PWM10",		"n/a",	"n/a",	"n/a",	"n/a",
289 	"GPP_H07",	"SIO_I2C3_SCL",		"PSE_I2C5_SCL",		"n/a",	"PSE_PWM11",		"n/a",	"n/a",	"n/a",	"n/a",
290 	"GPP_H08",	"SIO_I2C4_SDA",		"RSVD",			"n/a",	"PSE_PWM12",		"n/a",	"n/a",	"n/a",	"n/a",
291 	"GPP_H09",	"SIO_I2C4_SCL",		"RSVD",			"n/a",	"PSE_PWM13",		"n/a",	"n/a",	"n/a",	"n/a",
292 	"GPP_H10",	"PCIE_CLKREQ4_N",	"n/a",			"n/a",	"PSE_PWM14",		"n/a",	"n/a",	"n/a",	"n/a",
293 	"GPP_H11",	"PCIE_CLKREQ5_N",	"n/a",			"n/a",	"PSE_PWM15",		"n/a",	"n/a",	"n/a",	"n/a",
294 	"GPP_H12",	"PSE_UART1_RXD",	"n/a",			"n/a",	"M2_SKT2_CFG0",		"n/a",	"n/a",	"n/a",	"PSE_TGPIO51",
295 	"GPP_H13",	"PSE_UART1_TXD",	"n/a",			"n/a",	"M2_SKT2_CFG1",		"n/a",	"n/a",	"n/a",	"PSE_TGPIO52",
296 	"GPP_H14",	"n/a",			"n/a",			"n/a",	"M2_SKT2_CFG2",		"n/a",	"n/a",	"n/a",	"PSE_TGPIO53",
297 	"GPP_H15",	"PSE_UART1_CTS_N",	"n/a",			"n/a",	"M2_SKT2_CFG3",		"n/a",	"n/a",	"n/a",	"PSE_TGPIO54",
298 	"GPP_H16",	"PCIE_LNK_DOWN",	"DDI2_DDC_SCL",		"n/a",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
299 	"GPP_H17",	"SD_SDIO_PWR_EN_N",	"n/a",			"n/a",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
300 	"GPP_H18",	"PMC_CPU_C10_GATE_N",	"n/a",			"n/a",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
301 	"GPP_H19",	"n/a",			"DDI2_DDC_SDA",		"n/a",	"PMC_TGPIO0",		"n/a",	"n/a",	"n/a",	"PSE_TGPIO20",
302 	"GPP_H20",	"PSE_PWM07",		"DDI2_HPD",		"n/a",	"RSVD",			"n/a",	"n/a",	"n/a",	"PSE_TGPIO55",
303 	"GPP_H21",	"PSE_HSUART1_DE",	"PSE_UART1_RTS_N",	"n/a",	"RSVD",			"n/a",	"n/a",	"n/a",	"PSE_TGPIO56",
304 	"GPP_H22",	"PSE_HSUART1_RE",	"n/a",			"n/a",	"RSVD",			"n/a",	"n/a",	"n/a",	"PSE_TGPIO57",
305 	"GPP_H23",	"PSE_HSUART1_EN",	"n/a",			"n/a",	"RSVD",			"n/a",	"n/a",	"n/a",	"PSE_TGPIO58",
306 };
307 
308 const struct gpio_group elkhartlake_pch_group_h = {
309 	.display	= "------- GPIO Group GPP_H -------",
310 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_h_names) / 9,
311 	.func_count	= 9,
312 	.pad_names	= elkhartlake_pch_group_h_names,
313 };
314 
315 const char *const elkhartlake_pch_group_r_names[] = {
316 	"GPP_R00",	"HDA_BCLK",	"AVS_I2S0_SCLK",	"PSE_I2S0_SCLK",	"RSVD",	"n/a",
317 	"GPP_R01",	"HDA_SYNC",	"AVS_I2S0_SFRM",	"PSE_I2S0_SFRM",	"n/a",	"n/a",
318 	"GPP_R02",	"HDA_SDO",	"AVS_I2S0_TXD",		"PSE_I2S0_TXD",		"RSVD",	"DMIC_CLK_B0",
319 	"GPP_R03",	"HDA_SDI0",	"AVS_I2S0_RXD",		"PSE_I2S0_RXD",		"RSVD",	"DMIC_CLK_B1",
320 	"GPP_R04",	"HDA_RST_N",	"n/a",			"n/a",			"n/a",	"DMIC_CLK_A1",
321 	"GPP_R05",	"HDA_SDI1",	"AVS_I2S1_RXD",		"n/a",			"n/a",	"DMIC_DATA1",
322 	"GPP_R06",	"n/a",		"AVS_I2S1_TXD",		"n/a",			"n/a",	"DMIC_CLK_A0",
323 	"GPP_R07",	"n/a",		"AVS_I2S1_SFRM",	"n/a",			"n/a",	"DMIC_DATA0",
324 };
325 
326 const struct gpio_group elkhartlake_pch_group_r = {
327 	.display	= "------- GPIO Group GPP_R -------",
328 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_r_names) / 6,
329 	.func_count	= 6,
330 	.pad_names	= elkhartlake_pch_group_r_names,
331 };
332 
333 const char *const elkhartlake_pch_group_s_names[] = {
334 	"GPIO_RSVD_13",	"n/a",
335 	"GPIO_RSVD_14",	"n/a",
336 	"GPIO_RSVD_15",	"n/a",
337 	"GPIO_RSVD_16",	"n/a",
338 	"GPIO_RSVD_17",	"n/a",
339 	"GPIO_RSVD_18",	"n/a",
340 	"GPIO_RSVD_19",	"n/a",
341 	"GPIO_RSVD_20",	"n/a",
342 	"GPIO_RSVD_21",	"n/a",
343 	"GPIO_RSVD_22",	"n/a",
344 	"GPIO_RSVD_23",	"n/a",
345 	"GPIO_RSVD_24",	"n/a",
346 	"GPIO_RSVD_25",	"n/a",
347 	"GPIO_RSVD_26",	"n/a",
348 	"GPIO_RSVD_27",	"n/a",
349 	"GPIO_RSVD_28",	"n/a",
350 	"GPIO_RSVD_29",	"n/a",
351 	"GPP_S00",	"n/a",
352 	"GPP_S01",	"n/a",
353 };
354 
355 const struct gpio_group elkhartlake_pch_group_s = {
356 	.display	= "------- GPIO Group GPP_S -------",
357 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_s_names) / 2,
358 	.func_count	= 2,
359 	.pad_names	= elkhartlake_pch_group_s_names,
360 };
361 
362 const char *const elkhartlake_pch_group_t_names[] = {
363 	"GPP_T00",	"PSE_QEPA2",		"n/a",			"SIO_I2C6_SDA",		"n/a",	"n/a",	"n/a",	"n/a",	"PSE_TGPIO08",
364 	"GPP_T01",	"PSE_QEPB2",		"n/a",			"SIO_I2C6_SCL",		"n/a",	"n/a",	"n/a",	"n/a",	"PSE_TGPIO09",
365 	"GPP_T02",	"PSE_QEPI2",		"n/a",			"SIO_I2C7_SDA",		"n/a",	"n/a",	"n/a",	"n/a",	"PSE_TGPIO07",
366 	"GPP_T03",	"n/a",			"n/a",			"SIO_I2C7_SCL",		"n/a",	"n/a",	"n/a",	"n/a",	"PSE_TGPIO06",
367 	"GPP_T04",	"PSE_GBE0_INT",		"n/a",			"n/a",			"RSVD",	"n/a",	"n/a",	"n/a",	"n/a",
368 	"GPP_T05",	"PSE_GBE0_RST_N",	"n/a",			"n/a",			"RSVD",	"n/a",	"n/a",	"n/a",	"n/a",
369 	"GPP_T06",	"PSE_GBE0_AUXTS",	"USB2_OC1_N",		"n/a",			"RSVD",	"n/a",	"n/a",	"n/a",	"n/a",
370 	"GPP_T07",	"PSE_GBE0_PPS",		"n/a",			"n/a",			"RSVD",	"n/a",	"n/a",	"n/a",	"PSE_TGPIO59",
371 	"GPP_T08",	"USB2_OC2_N",		"RSVD",			"n/a",			"n/a",	"n/a",	"n/a",	"n/a",	"PSE_TGPIO22",
372 	"GPP_T09",	"PSE_HSUART2_EN",	"RSVD",			"n/a",			"n/a",	"n/a",	"n/a",	"n/a",	"n/a",
373 	"GPP_T10",	"PSE_HSUART2_RE",	"RSVD",			"n/a",			"n/a",	"n/a",	"n/a",	"n/a",	"n/a",
374 	"GPP_T11",	"USB2_OC3_N",		"RSVD",			"n/a",			"n/a",	"n/a",	"n/a",	"n/a",	"PSE_TGPIO06",
375 	"GPP_T12",	"PSE_UART2_RXD",	"SIO_UART0_RXD",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",	"n/a",
376 	"GPP_T13",	"PSE_UART2_TXD",	"SIO_UART0_TXD",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",	"n/a",
377 	"GPP_T14",	"PSE_UART2_RTS_N",	"SIO_UART0_RTS_N",	"PSE_HSUART2_DE",	"n/a",	"n/a",	"n/a",	"n/a",	"n/a",
378 	"GPP_T15",	"PSE_UART2_CTS_N",	"SIO_UART0_CTS_N",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",	"n/a",
379 };
380 
381 const struct gpio_group elkhartlake_pch_group_t = {
382 	.display	= "------- GPIO Group GPP_T -------",
383 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_t_names) / 9,
384 	.func_count	= 9,
385 	.pad_names	= elkhartlake_pch_group_t_names,
386 };
387 
388 const char *const elkhartlake_pch_group_u_names[] = {
389 	"GPP_U00",	"GBE_INT",		"PSE_I2C6_SCL",	"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
390 	"GPP_U01",	"GBE_RST_N",		"PSE_I2C6_SDA",	"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
391 	"GPP_U02",	"GBE_PPS",		"PSE_I2C7_SCL",	"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
392 	"GPP_U03",	"GBE_AUXTS",		"PSE_I2C7_SDA",	"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
393 	"GPP_U04",	"ISI_SPIM_CS",		"n/a",		"RSVD",	"PSE_SPI1_CS0_N",	"n/a",	"n/a",	"n/a",	"n/a",
394 	"GPP_U05",	"ISI_SPIM_SCLK",	"n/a",		"RSVD",	"PSE_SPI1_CLK",		"n/a",	"n/a",	"n/a",	"n/a",
395 	"GPP_U06",	"ISI_SPIM_MISO",	"n/a",		"RSVD",	"PSE_SPI1_MISO",	"n/a",	"n/a",	"n/a",	"n/a",
396 	"GPP_U07",	"PSE_QEPA3",		"n/a",		"RSVD",	"PSE_SPI1_MOSI",	"n/a",	"n/a",	"n/a",	"PSE_TGPIO10",
397 	"GPP_U08",	"ISI_SPIS_CS",		"n/a",		"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"PSE_TGPIO10",
398 	"GPP_U09",	"ISI_SPIS_SCLK",	"ISI_I2CS_SCL",	"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"PSE_TGPIO11",
399 	"GPP_U10",	"ISI_SPIS_MISO",	"ISI_I2CS_SDA",	"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"PSE_TGPIO12",
400 	"GPP_U11",	"PSE_QEPB3",		"n/a",		"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"PSE_TGPIO11",
401 	"GPP_U12",	"ISI_CHX_OKNOK_0",	"n/a",		"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
402 	"GPP_U13",	"ISI_CHX_OKNOK_1",	"n/a",		"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
403 	"GPP_U14",	"ISI_CHX_RLY_SWTCH",	"n/a",		"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
404 	"GPP_U15",	"ISI_CHX_PMIC_EN",	"n/a",		"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"PSE_TGPIO13",
405 	"GPP_U16",	"ISI_OKNOK_0",		"n/a",		"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
406 	"GPP_U17",	"ISI_OKNOK_1",		"n/a",		"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
407 	"GPP_U18",	"ISI_ALERT_N",		"n/a",		"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
408 	"GPP_U19",	"PSE_QEPI3",		"n/a",		"RSVD",	"n/a",			"n/a",	"n/a",	"n/a",	"PSE_TGPIO12",
409 	"GPIO_RSVD_4",	"n/a",			"n/a",		"n/a",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
410 	"GPIO_RSVD_5",	"n/a",			"n/a",		"n/a",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
411 	"GPIO_RSVD_6",	"n/a",			"n/a",		"n/a",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
412 	"GPIO_RSVD_7",	"n/a",			"n/a",		"n/a",	"n/a",			"n/a",	"n/a",	"n/a",	"n/a",
413 };
414 
415 const struct gpio_group elkhartlake_pch_group_u = {
416 	.display	= "------- GPIO Group GPP_U -------",
417 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_u_names) / 9,
418 	.func_count	= 9,
419 	.pad_names	= elkhartlake_pch_group_u_names,
420 };
421 
422 const char *const elkhartlake_pch_group_v_names[] = {
423 	"GPP_V00",	"EMMC_CMD",
424 	"GPP_V01",	"EMMC_DATA0",
425 	"GPP_V02",	"EMMC_DATA1",
426 	"GPP_V03",	"EMMC_DATA2",
427 	"GPP_V04",	"EMMC_DATA3",
428 	"GPP_V05",	"EMMC_DATA4",
429 	"GPP_V06",	"EMMC_DATA5",
430 	"GPP_V07",	"EMMC_DATA6",
431 	"GPP_V08",	"EMMC_DATA7",
432 	"GPP_V09",	"EMMC_RCLK",
433 	"GPP_V10",	"EMMC_CLK",
434 	"GPP_V11",	"EMMC_RST_N",
435 	"GPP_V12",	"PSE_TGPIO00",
436 	"GPP_V13",	"PSE_TGPIO01",
437 	"GPP_V14",	"PSE_TGPIO02",
438 	"GPP_V15",	"PSE_TGPIO03",
439 };
440 
441 const struct gpio_group elkhartlake_pch_group_v = {
442 	.display	= "------- GPIO Group GPP_V -------",
443 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_v_names) / 2,
444 	.func_count	= 2,
445 	.pad_names	= elkhartlake_pch_group_v_names,
446 };
447 
448 const char *const elkhartlake_pch_group_vgpio_names[] = {
449 	"VGPIO_0",	"VGPIO_0",
450 	"VGPIO_4",	"VGPIO_4",
451 	"VGPIO_5",	"VGPIO_5",
452 	"VGPIO_6",	"VGPIO_6",
453 	"VGPIO_7",	"VGPIO_7",
454 	"VGPIO_8",	"VGPIO_8",
455 	"VGPIO_9",	"VGPIO_9",
456 	"VGPIO_10",	"VGPIO_10",
457 	"VGPIO_11",	"VGPIO_11",
458 	"VGPIO_12",	"VGPIO_12",
459 	"VGPIO_13",	"VGPIO_13",
460 	"VGPIO_18",	"VGPIO_18",
461 	"VGPIO_19",	"VGPIO_19",
462 	"VGPIO_20",	"VGPIO_20",
463 	"VGPIO_21",	"VGPIO_21",
464 	"VGPIO_22",	"VGPIO_22",
465 	"VGPIO_23",	"VGPIO_23",
466 	"VGPIO_24",	"VGPIO_24",
467 	"VGPIO_25",	"VGPIO_25",
468 	"VGPIO_30",	"VGPIO_30",
469 	"VGPIO_31",	"VGPIO_31",
470 	"VGPIO_32",	"VGPIO_32",
471 	"VGPIO_33",	"VGPIO_33",
472 	"VGPIO_34",	"VGPIO_34",
473 	"VGPIO_35",	"VGPIO_35",
474 	"VGPIO_36",	"VGPIO_36",
475 	"VGPIO_37",	"VGPIO_37",
476 	"VGPIO_39",	"VGPIO_39",
477 };
478 
479 const struct gpio_group elkhartlake_pch_group_vgpio = {
480 	.display	= "------- GPIO Group GPP_VGPIO -------",
481 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_vgpio_names) / 2,
482 	.func_count	= 2,
483 	.pad_names	= elkhartlake_pch_group_vgpio_names,
484 };
485 
486 
487 const char *const elkhartlake_pch_group_vgpio_usb_names[] = {
488 	"VGPIO_USB_0",	"VGPIO_USB_0",
489 	"VGPIO_USB_1",	"VGPIO_USB_1",
490 	"VGPIO_USB_2",	"VGPIO_USB_2",
491 	"VGPIO_USB_3",	"VGPIO_USB_3",
492 };
493 
494 const struct gpio_group elkhartlake_pch_group_vgpio_usb = {
495 	.display	= "------- GPIO Group GPP_VGPIO_USB -------",
496 	.pad_count	= ARRAY_SIZE(elkhartlake_pch_group_vgpio_usb_names) / 2,
497 	.func_count	= 2,
498 	.pad_names	= elkhartlake_pch_group_vgpio_usb_names,
499 };
500 
501 const struct gpio_group *const elkhartlake_community_0_groups[] = {
502 	&elkhartlake_pch_group_b,
503 	&elkhartlake_pch_group_t,
504 	&elkhartlake_pch_group_g,
505 };
506 
507 const struct gpio_community elkhartlake_community_0 = {
508 	.name		= "------- GPIO Community 0 -------",
509 	.pcr_port_id	= 0x6e,
510 	.group_count	= ARRAY_SIZE(elkhartlake_community_0_groups),
511 	.groups		= elkhartlake_community_0_groups,
512 };
513 
514 const struct gpio_group *const elkhartlake_community_1_groups[] = {
515 	&elkhartlake_pch_group_v,
516 	&elkhartlake_pch_group_h,
517 	&elkhartlake_pch_group_d,
518 	&elkhartlake_pch_group_u,
519 	&elkhartlake_pch_group_vgpio,
520 };
521 
522 const struct gpio_community elkhartlake_community_1 = {
523 	.name		= "------- GPIO Community 1 -------",
524 	.pcr_port_id	= 0x6d,
525 	.group_count	= ARRAY_SIZE(elkhartlake_community_1_groups),
526 	.groups		= elkhartlake_community_1_groups,
527 };
528 
529 const struct gpio_group *const elkhartlake_community_2_groups[] = {
530 	&elkhartlake_pch_group_gpd,
531 };
532 
533 const struct gpio_community elkhartlake_community_2 = {
534 	.name		= "------- GPIO Community 2 -------",
535 	.pcr_port_id	= 0x6c,
536 	.group_count	= ARRAY_SIZE(elkhartlake_community_2_groups),
537 	.groups		= elkhartlake_community_2_groups,
538 };
539 
540 const struct gpio_group *const elkhartlake_community_3_groups[] = {
541 	&elkhartlake_pch_group_s,
542 	&elkhartlake_pch_group_a,
543 	&elkhartlake_pch_group_vgpio_usb,
544 };
545 
546 const struct gpio_community elkhartlake_community_3 = {
547 	.name		= "------- GPIO Community 3 -------",
548 	.pcr_port_id	= 0x6b,
549 	.group_count	= ARRAY_SIZE(elkhartlake_community_3_groups),
550 	.groups		= elkhartlake_community_3_groups,
551 };
552 
553 const struct gpio_group *const elkhartlake_community_4_groups[] = {
554 	&elkhartlake_pch_group_c,
555 	&elkhartlake_pch_group_f,
556 	&elkhartlake_pch_group_e,
557 };
558 
559 const struct gpio_community elkhartlake_community_4 = {
560 	.name		= "------- GPIO Community 4 -------",
561 	.pcr_port_id	= 0x6a,
562 	.group_count	= ARRAY_SIZE(elkhartlake_community_4_groups),
563 	.groups		= elkhartlake_community_4_groups,
564 };
565 
566 const struct gpio_group *const elkhartlake_community_5_groups[] = {
567 	&elkhartlake_pch_group_r,
568 };
569 
570 const struct gpio_community elkhartlake_community_5 = {
571 	.name		= "------- GPIO Community 5 -------",
572 	.pcr_port_id	= 0x69,
573 	.group_count	= ARRAY_SIZE(elkhartlake_community_5_groups),
574 	.groups		= elkhartlake_community_5_groups,
575 };
576 
577 const struct gpio_community *const elkhartlake_pch_communities[] = {
578 	&elkhartlake_community_0,
579 	&elkhartlake_community_1,
580 	&elkhartlake_community_2,
581 	&elkhartlake_community_3,
582 	&elkhartlake_community_4,
583 	&elkhartlake_community_5,
584 };
585 
586 #endif
587