xref: /aosp_15_r20/external/coreboot/util/inteltool/gpio_names/jasperlake.h (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef GPIO_NAMES_JASPERLAKE
4 #define GPIO_NAMES_JASPERLAKE
5 
6 #include "gpio_groups.h"
7 
8 /* ----------------------------- Jasper Lake ----------------------------- */
9 
10 const char *const jasperlake_pch_group_a_names[] = {
11 	"GPP_A00",		"ESPI_IO_0",		"n/a",
12 	"GPP_A01",		"ESPI_IO_1",		"n/a",
13 	"GPP_A02",		"ESPI_IO_2",		"n/a",
14 	"GPP_A03",		"ESPI_IO_3",		"n/a",
15 	"GPP_A04",		"ESPI_CS_N",		"n/a",
16 	"GPP_A05",		"ESPI_CLK",		"n/a",
17 	"GPP_A06",		"ESPI_RESET_N",		"n/a",
18 	"GPP_A07",		"SMB_CLK",		"n/a",
19 	"GPP_A08",		"SMB_DATA",		"n/a",
20 	"GPP_A09",		"SMB_ALERT_N",		"n/a",
21 	"GPP_A10",		"CPU_GP_0",		"n/a",
22 	"GPP_A11",		"CPU_GP_1",		"n/a",
23 	"GPP_A12",		"USB_OC1_N",		"n/a",
24 	"GPP_A13",		"USB_OC2_N",		"n/a",
25 	"GPP_A14",		"USB_OC3_N",		"n/a",
26 	"GPP_A15",		"n/a",	   	 	"n/a",
27 	"GPP_A16",		"DDI1_HPD",		"TIME_SYNC_1",
28 	"GPP_A17",		"DDI0_HPD",		"n/a",
29 	"GPP_A18",		"USB_OC0_N",		"n/a",
30 	"GPP_A19",		"PCHHOT_N",		"n/a",
31 	"ESPI_CLK_LOOPBK",	"ESPI_CLK_LOOPBK",	"n/a",
32 };
33 
34 const struct gpio_group jasperlake_pch_group_a = {
35 	.display	= "------- GPIO Group GPP_A -------",
36 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_a_names) / 3,
37 	.func_count	= 3,
38 	.pad_names	= jasperlake_pch_group_a_names,
39 };
40 
41 const char *const jasperlake_pch_group_b_names[] = {
42 	"GPP_B00",		"PMC_CORE_VID0",	"n/a",		"n/a",
43 	"GPP_B01",		"PMC_CORE_VID1",	"n/a",		"n/a",
44 	"GPP_B02",		"PMC_VRALERT_N",	"n/a",		"n/a",
45 	"GPP_B03",		"CPU_GP_2",		"n/a",		"n/a",
46 	"GPP_B04",		"CPU_GP_3",		"n/a",		"n/a",
47 	"GPP_B05",		"PCIE_CLKREQ0_N",	"n/a",		"n/a",
48 	"GPP_B06",		"PCIE_CLKREQ1_N",	"n/a",		"n/a",
49 	"GPP_B07",		"PCIE_CLKREQ2_N",	"n/a",		"n/a",
50 	"GPP_B08",		"PCIE_CLKREQ3_N",	"n/a",		"n/a",
51 	"GPP_B09",		"PCIE_CLKREQ4_N",	"n/a",		"n/a",
52 	"GPP_B10",		"PCIE_CLKREQ5_N",	"n/a",		"n/a",
53 	"GPP_B11",		"PMCALERT_N",		"n/a",		"n/a",
54 	"GPP_B12",		"PMC_SLP_S0_N",		"n/a",		"n/a",
55 	"GPP_B13",		"PMC_PLTRST_N",		"n/a",		"n/a",
56 	"GPP_B14",		"SPKR",			"GSPI0_CS1_N",	"n/a",
57 	"GPP_B15",		"GSPI0_CS0_N",		"n/a",		"n/a",
58 	"GPP_B16",		"GSPI0_CLK",		"n/a",		"n/a",
59 	"GPP_B17",		"GSPI0_MISO",		"UART2A_RXD",	"n/a",
60 	"GPP_B18",		"GSPI0_MOSI",		"UART2A_TXD",	"n/a",
61 	"GPP_B19",		"GSPI1_CS0_N",		"n/a",		"n/a",
62 	"GPP_B20",		"GSPI1_CLK",		"NFC_CLK",	"n/a",
63 	"GPP_B21",		"GSPI1_MISO",		"NFC_CLKREQ",	"n/a",
64 	"GPP_B22",		"GSPI1_MOSI",		"n/a",		"n/a",
65 	"GPP_B23",		"DDI2_HPD",		"TIME_SYNC_0",	"GSPI1_CS1_N",
66 	"GSPI0_CLK_LOOPBK",	"GSPI0_CLK_LOOPBK",	"n/a",		"n/a",
67 	"GSPI1_CLK_LOOPBK",	"GSPI1_CLK_LOOPBK",	"n/a",		"n/a",
68 };
69 
70 const struct gpio_group jasperlake_pch_group_b = {
71 	.display	= "------- GPIO Group GPP_B -------",
72 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_b_names) / 4,
73 	.func_count	= 4,
74 	.pad_names	= jasperlake_pch_group_b_names,
75 };
76 
77 const char *const jasperlake_pch_group_c_names[] = {
78 	"GPP_C00",	"n/a",		"n/a",					"n/a",
79 	"GPP_C01",	"n/a",		"n/a",					"n/a",
80 	"GPP_C02",	"n/a",		"n/a",					"n/a",
81 	"GPP_C03",	"n/a",		"n/a",					"n/a",
82 	"GPP_C04",	"n/a",		"n/a",					"n/a",
83 	"GPP_C05",	"n/a",		"n/a",					"n/a",
84 	"GPP_C06",	"n/a",		"PMC_SUSWARN_N_PMC_SUSPWRDNACK",	"n/a",
85 	"GPP_C07",	"n/a",		"PMC_SUSACK_N",				"n/a",
86 	"GPP_C08",	"UART0_RXD",	"n/a",					"n/a",
87 	"GPP_C09",	"UART0_TXD",	"n/a",					"n/a",
88 	"GPP_C10",	"UART0_RTS_N",	"n/a",					"n/a",
89 	"GPP_C11",	"UART0_CTS_N",	"n/a",					"n/a",
90 	"GPP_C12",	"UART1_RXD",  	"n/a",					"n/a",
91 	"GPP_C13",	"UART1_TXD",	"n/a",					"n/a",
92 	"GPP_C14",	"UART1_RTS_N",	"n/a",					"n/a",
93 	"GPP_C15",	"UART1_CTS_N",	"n/a",					"n/a",
94 	"GPP_C16",	"I2C0_SDA",	"n/a",					"n/a",
95 	"GPP_C17",	"I2C0_SCL",	"n/a",					"n/a",
96 	"GPP_C18",	"I2C1_SDA",	"n/a",					"n/a",
97 	"GPP_C19",	"I2C1_SCL",	"n/a",					"n/a",
98 	"GPP_C20",	"UART2_RXD",	"n/a",					"CNV_MFUART0_RXD",
99 	"GPP_C21",	"UART2_TXD",	"n/a",					"CNV_MFUART0_TXD",
100 	"GPP_C22",	"UART2_RTS_N",	"n/a",					"CNV_MFUART0_RTS_N",
101 	"GPP_C23",	"UART2_CTS_N",	"n/a",					"CNV_MFUART0_CTS_N",
102 };
103 
104 const struct gpio_group jasperlake_pch_group_c = {
105 	.display	= "------- GPIO Group GPP_C -------",
106 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_c_names) / 4,
107 	.func_count	= 4,
108 	.pad_names	= jasperlake_pch_group_c_names,
109 };
110 
111 const char *const jasperlake_pch_group_d_names[] = {
112 	"GPP_D00",		"n/a",			"BK_0",			"SBK_0",	"n/a",
113 	"GPP_D01",		"n/a",			"BK_1",			"SBK_1",	"n/a",
114 	"GPP_D02",		"n/a",			"BK_2",			"SBK_2",	"n/a",
115 	"GPP_D03",		"n/a",			"BK_3",			"SBK_3",	"n/a",
116 	"GPP_D04",		"n/a",			"n/a",			"n/a",		"n/a",
117 	"GPP_D05",		"n/a",			"n/a",			"n/a",		"n/a",
118 	"GPP_D06",		"n/a",			"n/a",			"n/a",		"n/a",
119 	"GPP_D07",		"n/a",			"n/a",			"n/a",		"n/a",
120 	"GPP_D08",		"n/a",			"GSPI2_SPI2_CS0_N",	"UART0A_RXD",	"n/a",
121 	"GPP_D09",		"n/a",			"GSPI2_CLK",		"UART0A_TXD",	"n/a",
122 	"GPP_D10",		"n/a",			"GSPI2_MISO",		"UART0A_RTS_N",	"n/a",
123 	"GPP_D11",		"n/a",			"GSPI2_MOSI",		"UART0A_CTS_N",	"n/a",
124 	"GPP_D12",		"n/a",			"n/a",			"I2C4B_SDA",	"n/a",
125 	"GPP_D13",		"n/a",			"n/a",			"I2C4B_SCL",	"n/a",
126 	"GPP_D14",		"n/a",			"GSPI2_CS1_N",		"n/a",		"n/a",
127 	"GPP_D15",		"n/a",			"n/a",			"n/a",		"CNV_WCEN",
128 	"GPP_D16",		"n/a",			"n/a",			"n/a",		"n/a",
129 	"GPP_D17",		"n/a",			"n/a",			"n/a",		"n/a",
130 	"GPP_D18",		"AVS_I2S_MCLK",		"n/a",			"n/a",		"n/a",
131 	"GPP_D19",		"CNV_MFUART2_RXD",	"n/a",			"n/a",		"n/a",
132 	"GPP_D20",		"CNV_MFUART2_TXD",	"n/a",			"n/a",		"n/a",
133 	"GPP_D21",		"CNV_PA_BLANKING",	"n/a",			"n/a",		"n/a",
134 	"GPP_D22",		"I2C5_SDA",		"n/a",			"n/a",		"n/a",
135 	"GPP_D23",		"I2C5_SCL",		"n/a",			"n/a",		"n/a",
136 	"GSPI2_CLK_LOOPBK",	"GSPI2_CLK_LOOPBK",	"n/a",			"n/a",		"n/a",
137 	"SPI1_CLK_LOOPBK",	"SPI1_CLK_LOOPBK",	"n/a",			"n/a",		"n/a",
138 
139 };
140 
141 const struct gpio_group jasperlake_pch_group_d = {
142 	.display	= "------- GPIO Group GPP_D -------",
143 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_d_names) / 5,
144 	.func_count	= 5,
145 	.pad_names	= jasperlake_pch_group_d_names,
146 };
147 
148 
149 const char *const jasperlake_pch_hvcmos_names[] = {
150 	"L_BKLTEN",	"L_BKLTEN",
151 	"L_BKLTCTL",	"L_BKLTCTL",
152 	"LVDDEN",	"LVDDEN",
153 	"SYS_PWROK",	"SYS_PWROK",
154 	"SYS_RESETB",	"SYS_RESETB",
155 	"MLK_RSTB",	"MLK_RSTB",
156 };
157 
158 const struct gpio_group jasperlake_pch_hvcmos = {
159 	.display	= "------- GPIO Group HVCMOS -------",
160 	.pad_count	= ARRAY_SIZE(jasperlake_pch_hvcmos_names) / 2,
161 	.func_count	= 2,
162 	.pad_names	= jasperlake_pch_hvcmos_names,
163 	};
164 
165 const char *const jasperlake_pch_group_e_names[] = {
166 	"GPP_E00",	 "n/a",			"IMGCLKOUT_0",		"n/a",	"n/a",			"n/a",		"n/a",
167 	"GPP_E01",	 "n/a",			"n/a",			"n/a",	"n/a",			"n/a",		"n/a",
168 	"GPP_E02",	 "IMGCLKOUT_1",		"n/a",			"n/a",	"n/a",			"n/a",		"n/a",
169 	"GPP_E03",	 "n/a",			"SATA_0_DEVSLP",	"n/a",	"n/a",			"n/a",		"n/a",
170 	"GPP_E04",	 "IMGCLKOUT_2",		"n/a",			"n/a",	"n/a",			"n/a",		"n/a",
171 	"GPP_E05",	 "SATA_LED_N",		"n/a",			"n/a",	"n/a",			"n/a",		"n/a",
172 	"GPP_E06",	 "IMGCLKOUT_3",		"n/a",			"n/a",	"n/a",			"n/a",		"n/a",
173 	"GPP_E07",	 "n/a",			"SATA_1_DEVSLP",	"n/a",	"n/a",			"n/a",		"n/a",
174 	"GPP_E08",	 "n/a",			"Reserved",		"n/a",	"n/a",			"SATA_0_GP",	"n/a",
175 	"GPP_E09",	 "n/a",			"SML_CLK0",		"n/a",	"n/a",			"SATA_1_GP",	"n/a",
176 	"GPP_E10",	 "n/a",			"SML_DATA0",		"n/a",	"n/a",			"n/a",		"n/a",
177 	"GPP_E11",	 "n/a",			"n/a",			"n/a",	"n/a",			"n/a",		"BSSB_LS3_RX",
178 	"GPP_E12",	 "IMGCLKOUT_4",		"n/a",			"n/a",	"n/a",			"n/a",		"BSSB_LS3_TX",
179 	"GPP_E13",	 "DDI0_DDC_SCL",	"n/a",			"n/a",	"n/a",			"BSSB_LS0_RX",	"n/a",
180 	"GPP_E14",	 "DDI0_DDC_SDA",	"n/a",			"n/a",	"n/a",			"BSSB_LS0_TX",	"n/a",
181 	"GPP_E15",	 "DDI1_DDC_SCL",	"n/a",			"n/a",	"n/a",			"BSSB_LS1_RX",	"n/a",
182 	"GPP_E16",	 "DDI1_DDC_SDA",	"n/a",			"n/a",	"n/a",			"BSSB_LS1_TX",	"n/a",
183 	"GPP_E17",	 "DDI2_DDC_SCL",	"n/a",			"n/a",	"n/a",			"BSSB_LS2_RX",	"n/a",
184 	"GPP_E18",	 "DDI2_DDC_SDA",	"n/a",			"n/a",	"n/a",			"BSSB_LS2_TX",	"n/a",
185 	"GPP_E19",	 "IMGCLKOUT_5",		"Reserved",		"n/a",	"PCIE_LNK_DOWN",	"n/a",		"n/a",
186 	"GPP_E20",	 "CNV_BRI_DT",		"n/a",			"n/a",	"n/a",			"n/a",		"n/a",
187 	"GPP_E21",	 "CNV_BRI_RSP",		"n/a",			"n/a",	"n/a",			"n/a",		"n/a",
188 	"GPP_E22",	 "CNV_RGI_DT",		"n/a",			"n/a",	"n/a",			"n/a",		"n/a",
189 	"GPP_E23",	 "CNV_RGI_RSP",		"n/a",			"n/a",	"n/a",			"n/a",		"n/a",
190 };
191 
192 const struct gpio_group jasperlake_pch_group_e = {
193 	.display	= "------- GPIO Group GPP_E -------",
194 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_e_names) / 7,
195 	.func_count	= 7,
196 	.pad_names	= jasperlake_pch_group_e_names,
197 };
198 
199 const char *const jasperlake_pch_jtag_names[] = {
200       	"JTAG_TD0",	"JTAG_TD0",
201       	"JTAGX",   	"JTAGX",
202       	"PRDYB",   	"PRDYB",
203       	"PREQB",   	"PREQB",
204       	"CPU_TRSTB",	"CPU_TRSTB",
205       	"JTAG_TDI",	"JTAG_TDI",
206       	"JTAG_TMS",	"JTAG_TMS",
207       	"JTAG_TCK",	"JTAG_TCK",
208       	"ITP_PMODE",	"ITP_PMODE",
209 };
210 
211 const struct gpio_group jasperlake_pch_jtag = {
212 	.display	= "------- GPIO Group JTAG -------",
213 	.pad_count	= ARRAY_SIZE(jasperlake_pch_jtag_names) / 2,
214 	.func_count	= 2,
215 	.pad_names	= jasperlake_pch_jtag_names,
216 };
217 
218 const char *const jasperlake_pch_group_f_names[] = {
219 	"GPP_F00",	"n/a",
220 	"GPP_F01",	"n/a",
221 	"GPP_F02",	"n/a",
222 	"GPP_F03",	"n/a",
223 	"GPP_F04",	"CNV_RF_RESET_N",
224 	"GPP_F05",	"n/a",
225 	"GPP_F06",	"n/a",
226 	"GPP_F07",	"EMMC_CMD",
227 	"GPP_F08",	"EMMC_DATA0",
228 	"GPP_F09",	"EMMC_DATA1",
229 	"GPP_F10",	"EMMC_DATA2",
230 	"GPP_F11",	"EMMC_DATA3",
231 	"GPP_F12",	"EMMC_DATA4",
232 	"GPP_F13",	"EMMC_DATA5",
233 	"GPP_F14",	"EMMC_DATA6",
234 	"GPP_F15",	"EMMC_DATA7",
235 	"GPP_F16",	"EMMC_RCLK",
236 	"GPP_F17",	"EMMC_CLK",
237 	"GPP_F18",	"EMMC_RESET_N",
238 	"GPP_F19",	"n/a",
239 };
240 
241 const struct gpio_group jasperlake_pch_group_f = {
242 	.display	= "------- GPIO Group GPP_F -------",
243 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_f_names) / 2,
244 	.func_count	= 2,
245 	.pad_names	= jasperlake_pch_group_f_names,
246 };
247 
248 const char *const jasperlake_pch_group_g_names[] = {
249 	"GPP_G00",	"SD_SDIO_CMD",
250 	"GPP_G01", 	"SD_SDIO_D0",
251 	"GPP_G02", 	"SD_SDIO_D1",
252 	"GPP_G03", 	"SD_SDIO_D2",
253 	"GPP_G04", 	"SD_SDIO_D3",
254 	"GPP_G05", 	"SD_SDIO_CD_N",
255 	"GPP_G06", 	"SD_SDIO_CLK",
256 	"GPP_G07", 	"SD_SDIO_WP",
257 };
258 
259 const struct gpio_group jasperlake_pch_group_g = {
260 	.display	= "------- GPIO Group GPP_G -------",
261 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_g_names) / 2,
262 	.func_count	= 2,
263 	.pad_names	= jasperlake_pch_group_g_names,
264 };
265 
266 const char *const jasperlake_pch_group_h_names[] = {
267 	"GPP_H00",	"n/a",			"n/a",			"n/a",
268 	"GPP_H01", 	"SD_SDIO_PWR_EN_N",	"n/a",			"CNV_RF_RESET_N",
269 	"GPP_H02", 	"n/a",			"n/a",			"MODEM_CLKREQ",
270 	"GPP_H03", 	"SX_EXIT_HOLDOFF_N",	"n/a",			"n/a",
271 	"GPP_H04", 	"I2C2_SDA",		"n/a",			"n/a",
272 	"GPP_H05", 	"I2C2_SCL",		"n/a",			"n/a",
273 	"GPP_H06", 	"I2C3_SDA",		"n/a",			"n/a",
274 	"GPP_H07", 	"I2C3_SCL",		"n/a",			"n/a",
275 	"GPP_H08", 	"I2C4_SDA",		"n/a",			"n/a",
276 	"GPP_H09", 	"I2C4_SCL",		"n/a",			"n/a",
277 	"GPP_H10", 	"CPU_C10_GATE_N",	"n/a",			"n/a",
278 	"GPP_H11", 	"AVS_I2S2_SCLK",	"n/a",			"n/a",
279 	"GPP_H12", 	"AVS_I2S2_SFRM",	"CNV_RF_RESET_N",	"n/a",
280 	"GPP_H13", 	"AVS_I2S2_TXD",		"MODEM_CLKREQ",		"n/a",
281 	"GPP_H14", 	"AVS_I2S2_RXD",		"n/a",			"n/a",
282 	"GPP_H15",	"AVS_I2S1_SCLK",	"n/a",			"n/a",
283 	"GPP_H16", 	"n/a",			"n/a",			"n/a",
284 	"GPP_H17", 	"n/a",			"n/a",			"n/a",
285 	"GPP_H18", 	"n/a",			"n/a",			"n/a",
286 	"GPP_H19", 	"n/a",			"n/a",			"n/a",
287 	"GPP_H20", 	"n/a",			"n/a",			"n/a",
288 	"GPP_H21", 	"n/a",			"n/a",			"n/a",
289 	"GPP_H22", 	"n/a",			"n/a",			"n/a",
290 	"GPP_H23", 	"n/a",			"n/a",			"n/a",
291 };
292 
293 const struct gpio_group jasperlake_pch_group_h = {
294 	.display	= "------- GPIO Group GPP_H -------",
295 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_h_names) / 4,
296 	.func_count	= 4,
297 	.pad_names	= jasperlake_pch_group_h_names,
298 };
299 
300 const char *const jasperlake_pch_group_spi_names[] = {
301 	"SPI0_IO_2",		"SPI0_IO_2",
302 	"SPI0_IO_3",		"SPI0_IO_3",
303 	"SPI0_MOSI_IO_0",	"SPI0_MOSI_IO_0",
304 	"SPI0_MISO_IO_0",	"SPI0_MISO_IO_0",
305 	"SPI0_TPM_CSB",		"SPI0_TPM_CSB",
306 	"SPI0_FLASH_0_CSB",	"SPI0_FLASH_0_CSB",
307 	"SPI0_FLASH_1_CSB",	"SPI0_FLASH_1_CSB",
308 	"SPI0_CLK",		"SPI0_CLK",
309 	"SPI0_CLK_LOOPBK",	"SPI0_CLK_LOOPBK",
310 };
311 
312 const struct gpio_group jasperlake_pch_group_spi = {
313 	.display	= "------- GPIO Group SPI -------",
314 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_spi_names) / 2,
315 	.func_count	= 2,
316 	.pad_names	= jasperlake_pch_group_spi_names,
317 };
318 
319 const char *const jasperlake_pch_group_r_names[] = {
320 	"GPP_R00",	"HDA_BCLK",		"AVS_I2S0_SCLK",
321 	"GPP_R01",	"HDA_SYNC",		"AVS_I2S0_SFRM",
322 	"GPP_R02",	"HDA_SDO",		"AVS_I2S0_TXD",
323 	"GPP_R03",	"HDA_SDI0",		"AVS_I2S0_RXD",
324 	"GPP_R04",	"HDA_RST_N",		"n/a",
325 	"GPP_R05",	"HDA_SDI1",		"AVS_I2S1_RXD",
326 	"GPP_R06",	"AVS_I2S1_SFRM",	"n/a",
327 	"GPP_R07",	"AVS_I2S1_TXD",		"n/a",
328 };
329 
330 const struct gpio_group jasperlake_pch_group_r = {
331 	.display	= "------- GPIO Group GPP_R -------",
332 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_r_names) / 3,
333 	.func_count	= 3,
334 	.pad_names	= jasperlake_pch_group_r_names,
335 };
336 
337 const char *const jasperlake_pch_group_s_names[] = {
338 	"GPP_S00",	"n/a",		"n/a",
339 	"GPP_S01",	"n/a",		"n/a",
340 	"GPP_S02",	"n/a",		"DMIC_CLK_1",
341 	"GPP_S03",	"n/a",		"DMIC_DATA_1",
342 	"GPP_S04",	"SNDW1_CLK",	"n/a",
343 	"GPP_S05",	"SNDW1_DATA",	"n/a",
344 	"GPP_S06",	"n/a",		"DMIC_CLK_0",
345 	"GPP_S07",	"n/a",		"DMIC_DATA_0",
346 };
347 
348 const struct gpio_group jasperlake_pch_group_s = {
349 	.display	= "------- GPIO Group GPP_S -------",
350 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_s_names) / 3,
351 	.func_count	= 3,
352 	.pad_names	= jasperlake_pch_group_s_names,
353 };
354 
355 const char *const jasperlake_pch_group_cpu_names[] = {
356 	"HDACPU_SDI",    	"HDACPU_SDI",
357 	"HDACPU_SDO",    	"HDACPU_SDO",
358 	"HDACPU_SCLK",   	"HDACPU_SCLK",
359 	"PM_SYNC",       	"PM_SYNC",
360 	"PECI",          	"PECI",
361 	"CPUPWRGD",      	"CPUPWRGD",
362 	"THRMTRIPB",     	"THRMTRIPB",
363 	"PLTRST_CPUB",   	"PLTRST_CPUB",
364 	"PM_DOWN",       	"PM_DOWN",
365 	"TRIGGER_IN",    	"TRIGGER_IN",
366 	"TRIGGER_OUT",   	"TRIGGER_OUT",
367 	"UFS_RESETB",    	"UFS_RESETB",
368 	"CLKOUT_CPURTC", 	"CLKOUT_CPURTC",
369 	"VCCST_PWRGD",		"VCCST_PWRGD",
370 	"C10_WAKE",		"C10_WAKE",
371 };
372 
373 const struct gpio_group jasperlake_pch_group_cpu = {
374 	.display	= "------- GPIO Group CPU -------",
375 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_cpu_names) / 2,
376 	.func_count	= 2,
377 	.pad_names	= jasperlake_pch_group_cpu_names,
378 };
379 
380 const char *const jasperlake_pch_group_vgpio_pcie_names[] = {
381 	"VGPIO_PCIE0", 	"VGPIO_PCIE0",
382 	"VGPIO_PCIE1", 	"VGPIO_PCIE1",
383 	"VGPIO_PCIE2", 	"VGPIO_PCIE2",
384 	"VGPIO_PCIE3", 	"VGPIO_PCIE3",
385 	"VGPIO_PCIE4", 	"VGPIO_PCIE4",
386 	"VGPIO_PCIE5", 	"VGPIO_PCIE5",
387 	"VGPIO_PCIE6", 	"VGPIO_PCIE6",
388 	"VGPIO_PCIE7", 	"VGPIO_PCIE7",
389 	"VGPIO_PCIE8", 	"VGPIO_PCIE8",
390 	"VGPIO_PCIE9", 	"VGPIO_PCIE9",
391 	"VGPIO_PCIE10",	"VGPIO_PCIE10",
392 	"VGPIO_PCIE11",	"VGPIO_PCIE11",
393 	"VGPIO_PCIE12",	"VGPIO_PCIE12",
394 	"VGPIO_PCIE13",	"VGPIO_PCIE13",
395 	"VGPIO_PCIE14",	"VGPIO_PCIE14",
396 	"VGPIO_PCIE15",	"VGPIO_PCIE15",
397 	"VGPIO_PCIE16",	"VGPIO_PCIE16",
398 	"VGPIO_PCIE17",	"VGPIO_PCIE17",
399 	"VGPIO_PCIE18",	"VGPIO_PCIE18",
400 	"VGPIO_PCIE19",	"VGPIO_PCIE19",
401 	"VGPIO_PCIE20",	"VGPIO_PCIE20",
402 	"VGPIO_PCIE21",	"VGPIO_PCIE21",
403 	"VGPIO_PCIE22",	"VGPIO_PCIE22",
404 	"VGPIO_PCIE23",	"VGPIO_PCIE23",
405 	"VGPIO_PCIE24",	"VGPIO_PCIE24",
406 	"VGPIO_PCIE25",	"VGPIO_PCIE25",
407 	"VGPIO_PCIE26",	"VGPIO_PCIE26",
408 	"VGPIO_PCIE27",	"VGPIO_PCIE27",
409 	"VGPIO_PCIE28",	"VGPIO_PCIE28",
410 	"VGPIO_PCIE29",	"VGPIO_PCIE29",
411 	"VGPIO_PCIE30",	"VGPIO_PCIE30",
412 	"VGPIO_PCIE31",	"VGPIO_PCIE31",
413 	"VGPIO_PCIE32",	"VGPIO_PCIE32",
414 	"VGPIO_PCIE33",	"VGPIO_PCIE33",
415 	"VGPIO_PCIE34",	"VGPIO_PCIE34",
416 	"VGPIO_PCIE35",	"VGPIO_PCIE35",
417 	"VGPIO_PCIE36",	"VGPIO_PCIE36",
418 	"VGPIO_PCIE37",	"VGPIO_PCIE37",
419 	"VGPIO_PCIE38",	"VGPIO_PCIE38",
420 	"VGPIO_PCIE39",	"VGPIO_PCIE39",
421 	"VGPIO_PCIE40",	"VGPIO_PCIE40",
422 	"VGPIO_PCIE41",	"VGPIO_PCIE41",
423 	"VGPIO_PCIE42",	"VGPIO_PCIE42",
424 	"VGPIO_PCIE43",	"VGPIO_PCIE43",
425 	"VGPIO_PCIE44",	"VGPIO_PCIE44",
426 	"VGPIO_PCIE45",	"VGPIO_PCIE45",
427 	"VGPIO_PCIE46",	"VGPIO_PCIE46",
428 	"VGPIO_PCIE47",	"VGPIO_PCIE47",
429 	"VGPIO_PCIE48",	"VGPIO_PCIE48",
430 	"VGPIO_PCIE49",	"VGPIO_PCIE49",
431 	"VGPIO_PCIE50",	"VGPIO_PCIE50",
432 	"VGPIO_PCIE51",	"VGPIO_PCIE51",
433 	"VGPIO_PCIE52",	"VGPIO_PCIE52",
434 	"VGPIO_PCIE53",	"VGPIO_PCIE53",
435 	"VGPIO_PCIE54",	"VGPIO_PCIE54",
436 	"VGPIO_PCIE55",	"VGPIO_PCIE55",
437 	"VGPIO_PCIE56",	"VGPIO_PCIE56",
438 	"VGPIO_PCIE57",	"VGPIO_PCIE57",
439 	"VGPIO_PCIE58",	"VGPIO_PCIE58",
440 	"VGPIO_PCIE59",	"VGPIO_PCIE59",
441 	"VGPIO_PCIE60",	"VGPIO_PCIE60",
442 	"VGPIO_PCIE61",	"VGPIO_PCIE61",
443 	"VGPIO_PCIE62",	"VGPIO_PCIE62",
444 	"VGPIO_PCIE63",	"VGPIO_PCIE63",
445 	"VGPIO_PCIE64",	"VGPIO_PCIE64",
446 	"VGPIO_PCIE65",	"VGPIO_PCIE65",
447 	"VGPIO_PCIE66",	"VGPIO_PCIE66",
448 	"VGPIO_PCIE67",	"VGPIO_PCIE67",
449 	"VGPIO_PCIE68",	"VGPIO_PCIE68",
450 	"VGPIO_PCIE69",	"VGPIO_PCIE69",
451 	"VGPIO_PCIE70",	"VGPIO_PCIE70",
452 	"VGPIO_PCIE71",	"VGPIO_PCIE71",
453 	"VGPIO_PCIE72",	"VGPIO_PCIE72",
454 	"VGPIO_PCIE73",	"VGPIO_PCIE73",
455 	"VGPIO_PCIE74",	"VGPIO_PCIE74",
456 	"VGPIO_PCIE75",	"VGPIO_PCIE75",
457 	"VGPIO_PCIE76",	"VGPIO_PCIE76",
458 	"VGPIO_PCIE77",	"VGPIO_PCIE77",
459 	"VGPIO_PCIE78",	"VGPIO_PCIE78",
460 	"VGPIO_PCIE79",	"VGPIO_PCIE79",
461 };
462 const struct gpio_group jasperlake_pch_group_vgpio_pcie = {
463 	.display	= "------- GPIO Group VGPIO_PCIE -------",
464 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_vgpio_pcie_names) / 2,
465 	.func_count	= 2,
466 	.pad_names	= jasperlake_pch_group_vgpio_pcie_names,
467 };
468 
469 const char *const jasperlake_pch_group_vgpio_usb_names[] = {
470 	"VGPIO_USB0",  	"VGPIO_USB0",
471 	"VGPIO_USB1",  	"VGPIO_USB1",
472 	"VGPIO_USB2",  	"VGPIO_USB2",
473 	"VGPIO_USB3",  	"VGPIO_USB3",
474 	"VGPIO_USB4",  	"VGPIO_USB4",
475 	"VGPIO_USB5",  	"VGPIO_USB5",
476 	"VGPIO_USB6",  	"VGPIO_USB6",
477 	"VGPIO_USB7",  	"VGPIO_USB7",
478 	"VGPIO_USB8",  	"VGPIO_USB8",
479 	"VGPIO_USB9",  	"VGPIO_USB9",
480 	"VGPIO_USB10", 	"VGPIO_USB10",
481 	"VGPIO_USB11", 	"VGPIO_USB11",
482 };
483 
484 const struct gpio_group jasperlake_pch_group_vgpio_usb = {
485 	.display	= "------- GPIO Group VGPIO_USB -------",
486 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_vgpio_usb_names) / 2,
487 	.func_count	= 2,
488 	.pad_names	= jasperlake_pch_group_vgpio_usb_names,
489 };
490 
491 const char *const jasperlake_pch_vgpio_lnk_dn_names[] = {
492 	"VGPIO_LNK_DN_0",	"VGPIO_LNK_DN_0",
493 	"VGPIO_LNK_DN_1",	"VGPIO_LNK_DN_1",
494 	"VGPIO_LNK_DN_2",	"VGPIO_LNK_DN_2",
495 	"VGPIO_LNK_DN_3",	"VGPIO_LNK_DN_3",
496 };
497 
498 const struct gpio_group jasperlake_pch_vgpio_lnk_dn = {
499 	.display	= "------- GPIO Group VGPIO_LNK -------",
500 	.pad_count	= ARRAY_SIZE(jasperlake_pch_vgpio_lnk_dn_names) / 2,
501 	.func_count	= 2,
502 	.pad_names	= jasperlake_pch_vgpio_lnk_dn_names,
503 };
504 
505 const char *const jasperlake_pch_group_vgpio_names [] ={
506 	"VGPIO0",	"VGPIO0",
507 	"VGPIO3",	"VGPIO3",
508 	"VGPIO4",	"VGPIO4",
509 	"VGPIO5",	"VGPIO5",
510 	"VGPIO6",	"VGPIO6",
511 	"VGPIO7",	"VGPIO7",
512 	"VGPIO8",	"VGPIO8",
513 	"VGPIO9",	"VGPIO9",
514 	"VGPIO10",	"VGPIO10",
515 	"VGPIO11",	"VGPIO11",
516 	"VGPIO12",	"VGPIO12",
517 	"VGPIO13",	"VGPIO13",
518 	"VGPIO18",	"VGPIO18",
519 	"VGPIO19",	"VGPIO19",
520 	"VGPIO20",	"VGPIO20",
521 	"VGPIO21",	"VGPIO21",
522 	"VGPIO22",	"VGPIO22",
523 	"VGPIO23",	"VGPIO23",
524 	"VGPIO24",	"VGPIO24",
525 	"VGPIO25",	"VGPIO25",
526 	"VGPIO30",	"VGPIO30",
527 	"VGPIO31",	"VGPIO31",
528 	"VGPIO32",	"VGPIO32",
529 	"VGPIO33",	"VGPIO33",
530 	"VGPIO34",	"VGPIO34",
531 	"VGPIO35",	"VGPIO35",
532 	"VGPIO36",	"VGPIO36",
533 	"VGPIO37",	"VGPIO37",
534 	"VGPIO39",	"VGPIO39",
535 };
536 
537 const struct gpio_group jasperlake_pch_group_vgpio = {
538 	.display	= "------- GPIO Group VGPIO -------",
539 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_vgpio_names) / 2,
540 	.func_count	= 2,
541 	.pad_names	= jasperlake_pch_group_vgpio_names,
542 };
543 
544 const char *const jasperlake_pch_group_gpd_names[] = {
545 	"GPD0",		"BATLOW#",
546 	"GPD1",		"PMC_ACPRESENT",
547 	"GPD2",		"LAN_WAKE#",
548 	"GPD3",		"PWRBTN#",
549 	"GPD4",		"SLP_S3#",
550 	"GPD5",		"SLP_S4#",
551 	"GPD6",		"SLP_A#",
552 	"GPD7",		"n/a",
553 	"GPD8",		"SUSCLK",
554 	"GPD9",		"SLP_WLAN#",
555 	"GPD10",	"SLP_S5#",
556 	"INPUT3VSEL",	"INPUT3VSEL",
557 	"SLP_SUS#",	"SLP_SUS#",
558 	"WAKE#",	"WAKE#",
559 	"DRAM_RESET#",	"DRAM_RESET#",
560 };
561 
562 const struct gpio_group jasperlake_pch_group_gpd = {
563 	.display	= "------- GPIO Group GPD -------",
564 	.pad_count	= ARRAY_SIZE(jasperlake_pch_group_gpd_names) / 2,
565 	.func_count	= 2,
566 	.pad_names	= jasperlake_pch_group_gpd_names,
567 };
568 
569 /* ------------------------------------------------------------ */
570 /* 			GPIO Group 1				*/
571 /* ------------------------------------------------------------ */
572 const struct gpio_group *const jasperlake_community_0_groups[] = {
573 	&jasperlake_pch_group_g,
574 };
575 
576 const struct gpio_community jasperlake_community_0 = {
577 	.name		= "------- GPIO Community 0 -------",
578 	.pcr_port_id	= 0x69,
579 	.group_count	= ARRAY_SIZE(jasperlake_community_0_groups),
580 	.groups		= jasperlake_community_0_groups,
581 };
582 
583 /* ------------------------------------------------------------ */
584 /* 			GPIO Group 2				*/
585 /* ------------------------------------------------------------ */
586 const struct gpio_group *const jasperlake_community_1_groups[] = {
587 	&jasperlake_pch_hvcmos,
588 	&jasperlake_pch_group_e,
589 	&jasperlake_pch_jtag,
590 	&jasperlake_pch_vgpio_lnk_dn,
591 };
592 
593 const struct gpio_community jasperlake_community_1 = {
594 	.name		= "------- GPIO Community 1 -------",
595 	.pcr_port_id	= 0x6a,
596 	.group_count	= ARRAY_SIZE(jasperlake_community_1_groups),
597 	.groups		= jasperlake_community_1_groups,
598 };
599 
600 /* ------------------------------------------------------------ */
601 /* 			GPIO Group 3				*/
602 /* ------------------------------------------------------------ */
603 const struct gpio_group *const jasperlake_community_2_groups[] = {
604 	&jasperlake_pch_group_cpu,
605 	&jasperlake_pch_group_vgpio_pcie,
606 	&jasperlake_pch_group_vgpio_usb,
607 };
608 
609 const struct gpio_community jasperlake_community_2 = {
610 	.name		= "------- GPIO Community 2 -------",
611 	.pcr_port_id	= 0x6b,
612 	.group_count	= ARRAY_SIZE(jasperlake_community_2_groups),
613 	.groups		= jasperlake_community_2_groups,
614 };
615 
616 /* ------------------------------------------------------------ */
617 /* 			GPIO Group 4				*/
618 /* ------------------------------------------------------------ */
619 const struct gpio_group *const jasperlake_community_3_groups[] = {
620 	&jasperlake_pch_group_gpd,
621 };
622 
623 const struct gpio_community jasperlake_community_3 = {
624 	.name		= "------- GPIO Community 3 -------",
625 	.pcr_port_id	= 0x6c,
626 	.group_count	= ARRAY_SIZE(jasperlake_community_3_groups),
627 	.groups		= jasperlake_community_3_groups,
628 };
629 
630 /* ------------------------------------------------------------ */
631 /* 			GPIO Group 5				*/
632 /* ------------------------------------------------------------ */
633 const struct gpio_group *const jasperlake_community_4_groups[] = {
634 	&jasperlake_pch_group_h,
635 	&jasperlake_pch_group_d,
636 	&jasperlake_pch_group_vgpio,
637 	&jasperlake_pch_group_c,
638 };
639 
640 const struct gpio_community jasperlake_community_4 = {
641 	.name		= "------- GPIO Community 4 -------",
642 	.pcr_port_id	= 0x6d,
643 	.group_count	= ARRAY_SIZE(jasperlake_community_4_groups),
644 	.groups		= jasperlake_community_4_groups,
645 };
646 
647 /* ------------------------------------------------------------ */
648 /* 			GPIO Group 6				*/
649 /* ------------------------------------------------------------ */
650 const struct gpio_group *const jasperlake_community_5_groups[] = {
651 	&jasperlake_pch_group_f,
652 	&jasperlake_pch_group_spi,
653 	&jasperlake_pch_group_b,
654 	&jasperlake_pch_group_a,
655 	&jasperlake_pch_group_s,
656 	&jasperlake_pch_group_r,
657 };
658 
659 const struct gpio_community jasperlake_community_5 = {
660 	.name		= "------- GPIO Community 5 -------",
661 	.pcr_port_id	= 0x6e,
662 	.group_count	= ARRAY_SIZE(jasperlake_community_5_groups),
663 	.groups		= jasperlake_community_5_groups,
664 };
665 
666 const struct gpio_community *const jasperlake_pch_communities[] = {
667 	&jasperlake_community_0,
668 	&jasperlake_community_1,
669 	&jasperlake_community_2,
670 	&jasperlake_community_3,
671 	&jasperlake_community_4,
672 	&jasperlake_community_5,
673 };
674 
675 #endif
676