blob: 85223967deacc3ed8f800b3a4bcaaf45181b6515 [file] [log] [blame]
Nicholas Chind5b0aea2023-10-24 18:30:51 -06001/* SPDX-License-Identifier: GPL-2.0-only */
2
Christian Walter1364ac32022-09-08 11:44:19 +02003#ifndef GPIO_NAMES_EMMITSBURG_H
4#define GPIO_NAMES_EMMITSBURG_H
5
6#include "gpio_groups.h"
7
8static const char *const emmitsburg_group_a_names[] = {
9 "GPPC_A0", "ESPI_ALERT0_N", "n/a",
10 "GPPC_A1", "ESPI_ALERT1_N", "n/a",
11 "GPPC_A2", "ESPI_IO_0", "n/a",
12 "GPPC_A3", "ESPI_IO_1", "n/a",
13 "GPPC_A4", "ESPI_IO_2", "n/a",
14 "GPPC_A5", "ESPI_IO_3", "n/a",
15 "GPPC_A6", "ESPI_CS0_N", "ESPI_CS1_N",
16 "GPPC_A7", "ESPI_CS1_N", "ESPI_CS0_N",
17 "GPPC_A8", "ESPI_RESET_N", "n/a",
18 "GPPC_A9", "ESPI_CLK", "n/a",
19 "GPPC_A10", "SRCCLKREQ0_N", "n/a",
20 "GPPC_A11", "SRCCLKREQ1_N", "n/a",
21 "GPPC_A12", "SRCCLKREQ2_N", "n/a",
22 "GPPC_A13", "SRCCLKREQ3_N", "n/a",
23 "GPPC_A14", "SRCCLKREQ4_N", "n/a",
24 "GPPC_A15", "SRCCLKREQ5_N", "n/a",
25 "GPPC_A16", "SRCCLKREQ6_N", "n/a",
26 "GPPC_A17", "SRCCLKREQ7_N", "n/a",
27 "GPPC_A18", "SRCCLKREQ8_N", "n/a",
28 "GPPC_A19", "SRCCLKREQ9_N", "n/a",
29 "ESPI_CLK_LOOPBK", "n/a", "n/a",
30};
31
32static const char *const emmitsburg_group_b_names[] = {
33 "GPPC_B0","GSXDOUT","n/a","1P8_VISA_CH0_CLK","1P8_PTI_CLK0","n/a","n/a","n/a","n/a",
34 "GPPC_B1","GSXSLOAD","n/a","1P8_VISA_CH0_D0","1P8_PTI_DATA0","n/a","n/a","n/a","n/a",
35 "GPPC_B2","GSXDIN","n/a","1P8_VISA_CH0_D1","1P8_PTI_DATA1","n/a","n/a","n/a","n/a",
36 "GPPC_B3","GSXRESET_N","n/a","1P8_VISA_CH0_D2","1P8_PTI_DATA2","n/a","n/a","n/a","n/a",
37 "GPPC_B4","GSXCLK","n/a","1P8_VISA_CH0_D3","1P8_PTI_DATA3","n/a","n/a","n/a","n/a",
38 "GPPC_B5","USB2_OC0_N","n/a","1P8_VISA_CH0_D4","1P8_PTI_DATA4","n/a","n/a","n/a","n/a",
39 "GPPC_B6","USB2_OC1_N","n/a","n/a","n/a","n/a","n/a","n/a","n/a",
40 "GPPC_B7","USB2_OC2_N","n/a","n/a","n/a","n/a","n/a","n/a","n/a",
41 "GPPC_B8","USB2_OC3_N","n/a","n/a","n/a","n/a","n/a","n/a","n/a",
42 "GPPC_B9","USB2_OC4_N","n/a","n/a","n/a","n/a","n/a","n/a","n/a",
43 "GPPC_B10","USB2_OC5_N","n/a","n/a","n/a","n/a","n/a","n/a","n/a",
44 "GPPC_B11","USB2_OC6_N","n/a","n/a","n/a","n/a","n/a","n/a","n/a",
45 "GPPC_B12","HS_UART0_RXD","n/a","1P8_VISA_CH0_D5","1P8_PTI_DATA5","n/a","n/a","n/a","n/a",
46 "GPPC_B13","HS_UART0_TXD","n/a","1P8_VISA_CH0_D6","1P8_PTI_DATA6","n/a","n/a","n/a","n/a",
47 "GPPC_B14","HS_UART0_RTS_N","n/a","1P8_VISA_CH0_D7","1P8_PTI_DATA7","n/a","n/a","n/a","n/a",
48 "GPPC_B15","HS_UART0_CTS_N","n/a","1P8_VISA_CH1_D0","1P8_PTI_DATA8","n/a","n/a","n/a","n/a",
49 "GPPC_B16","HS_UART1_RXD","n/a","1P8_VISA_CH1_D1","1P8_PTI_DATA9","n/a","n/a","n/a","n/a",
50 "GPPC_B17","HS_UART1_TXD","n/a","1P8_VISA_CH1_D2","1P8_PTI_DATA10","n/a","n/a","n/a","n/a",
51 "GPPC_B18","HS_UART1_RTX_N","n/a","1P8_VISA_CH1_D3","1P8_PTI_DATA11","n/a","n/a","n/a","n/a",
52 "GPPC_B19","HS_UART1_CTS_N","n/a","1P8_VISA_CH1_D4","1P8_PTI_DATA12","n/a","n/a","SBK0","BK0",
53 "GPPC_B20","n/a","n/a","1P8_VISA_CH1_D5","1P8_PTI_DATA13","n/a","n/a","SBK1","BK1",
54 "GPPC_B21","n/a","n/a","1P8_VISA_CH1_D6","1P8_PTI_DATA14","n/a","n/a","SBK2","BK2",
55 "GPPC_B22","n/a","n/a","1P8_VISA_CH1_D7","1P8_PTI_DATA15","n/a","n/a","SBK3","BK3",
56 "GPPC_B23","PS_ONB","n/a","1P8_VISA_CH1_CLK","n/a","n/a","GPPB_EC_23","SBK4","BK4",
57};
58
59static const char *const emmitsburg_group_s_names[] = {
60 "GPPC_S0","TIME_SYNC_0","n/a",
61 "GPPC_S1","SPRK","TIME_SYNC_1",
62 "GPPC_S2","CPU_GP_0","n/a",
63 "GPPC_S3","CPU_GP_1","n/a",
64 "GPPC_S4","CPU_GP_2","n/a",
65 "GPPC_S5","CPU_GP_3","n/a",
66 "GPPC_S6","SUSWARN_N_SUSWRDNACK","n/a",
67 "GPPC_S7","SUSACK_N","n/a",
68 "GPPC_S8","NMI_N","n/a",
69 "GPPC_S9","SMI_N","n/a",
70 "GPPC_S10","n/a","n/a",
71 "GPPC_S11","n/a","n/a",
72 "SPI_CLK_LOOPBK", "n/a", "n/a",
73};
74
75static const struct gpio_group emmitsburg_group_a = {
76 .display = "------- GPIO Group GPPC_A -------",
77 .pad_count = ARRAY_SIZE(emmitsburg_group_a_names) / 3,
78 .func_count = 3,
79 .pad_names = emmitsburg_group_a_names,
80};
81
82static const struct gpio_group emmitsburg_group_b = {
83 .display = "------- GPIO Group GPPC_B -------",
84 .pad_count = ARRAY_SIZE(emmitsburg_group_b_names) / 9,
85 .func_count = 9,
86 .pad_names = emmitsburg_group_b_names,
87};
88
89static const struct gpio_group emmitsburg_group_s = {
90 .display = "------- GPIO Group GPPC_S -------",
91 .pad_count = ARRAY_SIZE(emmitsburg_group_s_names) / 3,
92 .func_count = 3,
93 .pad_offset = 0xA50,
94 .pad_names = emmitsburg_group_s_names,
95};
96
97static const struct gpio_group *const emmitsburg_community0_abs_groups[] = {
98 &emmitsburg_group_a,
99 &emmitsburg_group_b,
100 &emmitsburg_group_s,
101};
102
103static const struct gpio_community emmitsburg_community0_abs = {
104 .name = "------- GPIO Community 0 -------",
105 .pcr_port_id = 0x6e,
106 .group_count = ARRAY_SIZE(emmitsburg_community0_abs_groups),
107 .groups = emmitsburg_community0_abs_groups,
108};
109
110static const char *const emmitsburg_group_c_names[] = {
111 "GPPC_C0", "ME_SML0CLK",
112 "GPPC_C1", "ME_SML0DATA",
113 "GPPC_C2", "ME_SML0ALERT_N",
114 "GPPC_C3", "ME_SML0BDATA",
115 "GPPC_C4", "ME_SML0BCLK",
116 "GPPC_C5", "ME_SML0BALART_N",
117 "GPPC_C6", "ME_SML1CLK",
118 "GPPC_C7", "ME_SML1DATA",
119 "GPPC_C8", "ME_SML1ALERT_N",
120 "GPPC_C9", "ME_SML2CLK",
121 "GPPC_C10", "ME_SML2DATA",
122 "GPPC_C11", "ME_SML2ALERT_N",
123 "GPPC_C12", "ME_SML3CLK",
124 "GPPC_C13", "ME_SML3DATA",
125 "GPPC_C14", "ME_SML3ALERT_N",
126 "GPPC_C15", "ME_SML4CLK",
127 "GPPC_C16", "ME_SML4DATA",
128 "GPPC_C17", "ME_SML4ALERT_N",
129 "GPPC_C18", "n/a",
130 "GPPC_C19", "MC_SMBCLK",
131 "GPPC_C20", "MC_SMBDATA",
132 "GPPC_C21", "MC_SMBALERT_N",
133};
134
135static const struct gpio_group emmitsburg_group_c = {
136 .display = "------- GPIO Group GPPC_C -------",
137 .pad_count = ARRAY_SIZE(emmitsburg_group_c_names) / 2,
138 .func_count = 2,
139 .pad_names = emmitsburg_group_c_names,
140};
141
142static const struct gpio_group *const emmitsburg_community1_c_groups[] = {
143 &emmitsburg_group_c,
144};
145
146static const char *const emmitsburg_group_d_names[] = {
147 "GPP_D0", "HS_SMBCLK",
148 "GPP_D1", "HS_SMBDATA",
149 "GPP_D2", "HS_SMBALERT_N",
150 "GPP_D3", "n/a", // Not described in EDS, add here to take space
151 "GPP_D4", "n/a", // Not described in EDS, add here to take space
152 "GPP_D5", "n/a", // Not described in EDS, add here to take space
153 "GPP_D6", "n/a",
154 "GPP_D7", "n/a",
155 "GPP_D8", "CRASHLOG_TRIG_N",
156 "GPP_D9", "PME_N",
157 "GPP_D10", "BM_BUSY_N",
158 "GPP_D11", "PLTRST_N",
159 "GPP_D12", "PCHHOT_N",
160 "GPP_D13", "ADR_COMPLETE",
161 "GPP_D14", "ADR_TRIGGER",
162 "GPP_D15", "VRALERT_N",
163 "GPP_D16", "ADR_ACK",
164 "GPP_D17", "THERMTRIP_N",
165 "GPP_D18", "MEMTRIP_N",
166 "GPP_D19", "MSMI_N",
167 "GPP_D20", "CATERR_N",
168 "GPP_D21", "GLB_RST_WARN_N",
169 "GPP_D22", "USB2_OCB_7",
170 "GPP_D23", "n/a",
171};
172
173static const struct gpio_group emmitsburg_group_d = {
174 .display = "------- GPIO Group GPP_D -------",
175 .pad_count = ARRAY_SIZE(emmitsburg_group_d_names) / 2,
176 .func_count = 2,
177 .pad_names = emmitsburg_group_d_names,
178};
179
180static const struct gpio_group *const emmitsburg_community1_cd_groups[] = {
181 &emmitsburg_group_c,
182 &emmitsburg_group_d,
183};
184
185static const struct gpio_community emmitsburg_community1_cd = {
186 .name = "------- GPIO Community 1 -------",
187 .pcr_port_id = 0x6d,
188 .group_count = ARRAY_SIZE(emmitsburg_community1_cd_groups),
189 .groups = emmitsburg_community1_cd_groups,
190};
191
192static const char *const emmitsburg_group_e_names[] = {
193 "GPP_E0", "SATA1_XPCIE_0", "n/a",
194 "GPP_E1", "SATA1_XPCIE_1", "n/a",
195 "GPP_E2", "SATA1_XPCIE_2", "n/a",
196 "GPP_E3", "SATA1_XPCIE_3", "n/a",
197 "GPP_E4", "SATA0_XPCIE_2", "n/a",
198 "GPP_E5", "SATA0_XPCIE_1", "n/a",
199 "GPP_E6", "SATA0_USB3_XPCIE_0", "n/a",
200 "GPP_E7", "SATA0_USB3_XPCIE_1", "n/a",
201 "GPP_E8", "SATA0_SCLOCK", "SATA0_LED_N",
202 "GPP_E9", "SATA0_SLOAD", "SATA0_DEVSLP",
203 "GPP_E10", "SATA0_SDATAOUT", "SATA1_GP",
204 "GPP_E11", "SATA1_SCLOCK", "SATA1_LED_N",
205 "GPP_E12", "SATA1_SLOAD", "SATA1_GP",
206 "GPP_E13", "SATA1_SDATAOUT", "SATA1_DEVSLP",
207 "GPP_E14", "SATA2_SCLOCK", "SATA2_LED_N",
208 "GPP_E15", "SATA2_SLOAD", "SATA2_GP",
209 "GPP_E16", "SATA2_SDATAOUT", "SATA2_DEVSLP",
210 "GPP_E17", "n/a", "ERR0_N",
211 "GPP_E18", "n/a", "ERR1_N",
212 "GPP_E19", "n/a", "ERR2_N",
213};
214
215static const struct gpio_group emmitsburg_group_e = {
216 .display = "------- GPIO Group GPP_E -------",
217 .pad_count = ARRAY_SIZE(emmitsburg_group_e_names) / 3,
218 .func_count = 3,
219 .pad_names = emmitsburg_group_e_names,
220};
221
222static const char *const emmitsburg_group_jtag_names[] = {
223 "JTAG_0",
224 "JTAG_1",
225 "JTAG_2",
226 "JTAG_3",
227 "JTAG_4",
228 "JTAG_5",
229 "JTAG_6",
230 "JTAG_7",
231 "JTAG_8",
232 "JTAG_9",
233};
234
235static const struct gpio_group emmitsburg_group_jtag = {
236 .display = "------- GPIO Group JTAG -------",
237 .pad_count = ARRAY_SIZE(emmitsburg_group_jtag_names) / 1,
238 .func_count = 1,
239 .pad_offset = 0x880,
240 .pad_names = emmitsburg_group_jtag_names,
241};
242
243static const struct gpio_group *const emmitsburg_community3_e_jtag_groups[] = {
244 &emmitsburg_group_e,
245 &emmitsburg_group_jtag,
246};
247
248static const struct gpio_community emmitsburg_community3_e_jtag = {
249 .name = "------- GPIO Community 3 -------",
250 .pcr_port_id = 0x6b,
251 .group_count = ARRAY_SIZE(emmitsburg_community3_e_jtag_groups),
252 .groups = emmitsburg_community3_e_jtag_groups,
253};
254
255static const char *const emmitsburg_group_h_names[] = {
256 "GPPC_H0", "n/a", "n/a",
257 "GPPC_H1", "n/a", "n/a",
258 "GPPC_H2", "n/a", "n/a", // Not described in EDS, add here to take space
259 "GPPC_H3", "n/a", "n/a", // Not described in EDS, add here to take space
260 "GPPC_H4", "n/a", "n/a", // Not described in EDS, add here to take space
261 "GPPC_H5", "n/a", "n/a", // Not described in EDS, add here to take space
262 "GPPC_H6", "n/a", "n/a",
263 "GPPC_H7", "n/a", "n/a",
264 "GPPC_H8", "n/a", "n/a", // Not described in EDS, add here to take space
265 "GPPC_H9", "n/a", "n/a", // Not described in EDS, add here to take space
266 "GPPC_H10", "n/a", "n/a", // Not described in EDS, add here to take space
267 "GPPC_H11", "n/a", "n/a", // Not described in EDS, add here to take space
268 "GPPC_H12", "n/a", "n/a", // Not described in EDS, add here to take space
269 "GPPC_H13", "n/a", "n/a", // Not described in EDS, add here to take space
270 "GPPC_H14", "n/a", "n/a", // Not described in EDS, add here to take space
271 "GPPC_H15", "n/a", "ISCLK_CLK_OUT_0",
272 "GPPC_H16", "n/a", "ISCLK_CLK_OUT_1",
273 "GPPC_H17", "n/a", "ISCLK_CLK_OUT_2",
274 "GPPC_H18", "n/a", "PMCALERT_N",
275 "GPPC_H19", "n/a", "n/a",
276};
277
278static const struct gpio_group emmitsburg_group_h = {
279 .display = "------- GPIO Group GPPC_H -------",
280 .pad_count = ARRAY_SIZE(emmitsburg_group_h_names) / 3,
281 .func_count = 3,
282 .pad_names = emmitsburg_group_h_names,
283};
284
285static const char *const emmitsburg_group_j_names[] = {
286 "GPPC_J0", "CPUPWRGD",
287 "GPPC_J1", "CPU_THRMTRIP_N",
288 "GPPC_J2", "PLTRST_CPU_N",
289 "GPPC_J3", "TRIGGER0_N",
290 "GPPC_J4", "TRIGGER1_N",
291 "GPPC_J5", "CPU_PWER_DEBUG_N",
292 "GPPC_J6", "CPU_MEMTRIP_N",
293 "GPPC_J7", "CPU_MSMI_N",
294 "GPPC_J8", "ME_PECI",
295 "GPPC_J9", "n/a", // Not described in EDS, add here to take space
296 "GPPC_J10", "n/a", // Not described in EDS, add here to take space
297 "GPPC_J11", "n/a", // Not described in EDS, add here to take space
298 "GPPC_J12", "CPU_ERR0_N",
299 "GPPC_J13", "CPU_CATERR_N",
300 "GPPC_J14", "CPU_ERR1_N",
301 "GPPC_J15", "CPU_ERR2_N",
302};
303
304static const struct gpio_group emmitsburg_group_j = {
305 .display = "------- GPIO Group GPP_J -------",
306 .pad_count = ARRAY_SIZE(emmitsburg_group_j_names) / 2,
307 .func_count = 2,
308 .pad_names = emmitsburg_group_j_names,
309};
310
311static const struct gpio_group *const emmitsburg_community4_hj_groups[] = {
312 &emmitsburg_group_h,
313 &emmitsburg_group_j,
314};
315
316static const struct gpio_community emmitsburg_community4_hj = {
317 .name = "------- GPIO Community 4 -------",
318 .pcr_port_id = 0x6a,
319 .group_count = ARRAY_SIZE(emmitsburg_community4_hj_groups),
320 .groups = emmitsburg_community4_hj_groups,
321};
322
323static const char *const emmitsburg_group_i_names[] = {
324 "GPP_I0", "n/a", "n/a", // Not described in EDS, add here to take space
325 "GPP_I1", "n/a", "n/a", // Not described in EDS, add here to take space
326 "GPP_I2", "n/a", "n/a", // Not described in EDS, add here to take space
327 "GPP_I3", "n/a", "n/a", // Not described in EDS, add here to take space
328 "GPP_I4", "n/a", "n/a", // Not described in EDS, add here to take space
329 "GPP_I5", "n/a", "n/a", // Not described in EDS, add here to take space
330 "GPP_I6", "n/a", "n/a", // Not described in EDS, add here to take space
331 "GPP_I7", "n/a", "n/a", // Not described in EDS, add here to take space
332 "GPP_I8", "n/a", "n/a", // Not described in EDS, add here to take space
333 "GPP_I9", "n/a", "n/a", // Not described in EDS, add here to take space
334 "GPP_I10", "n/a", "n/a", // Not described in EDS, add here to take space
335 "GPP_I11", "n/a", "n/a", // Not described in EDS, add here to take space
336 "GPP_I12", "n/a", "HDA_BCLK",
337 "GPP_I13", "n/a", "HDA_RST_N",
338 "GPP_I14", "n/a", "HDA_SYNC",
339 "GPP_I15", "n/a", "HDA_SDO",
340 "GPP_I16", "n/a", "HDA_SDI_0",
341 "GPP_I17", "n/a", "HDA_SDI_1",
342 "GPP_I18", "n/a", "n/a", // Not described in EDS, add here to take space
343 "GPP_I19", "n/a", "n/a", // Not described in EDS, add here to take space
344 "GPP_I20", "n/a", "n/a", // Not described in EDS, add here to take space
345 "GPP_I21", "n/a", "n/a",
346 "GPP_I22", "n/a", "n/a",
347 "GPP_I23", "n/a", "n/a",
348};
349
350static const struct gpio_group emmitsburg_group_i = {
351 .display = "------- GPIO Group GPP_I -------",
352 .pad_count = ARRAY_SIZE(emmitsburg_group_i_names) / 3,
353 .func_count = 3,
354 .pad_names = emmitsburg_group_i_names,
355};
356
357static const char *const emmitsburg_group_l_names[] = {
358 "GPP_L0", "PM_SYNC_0",
359 "GPP_L1", "PM_DOWN_0",
360 "GPP_L2", "SUSCLK_CPU",
361 "GPP_L3", "n/a",
362 "GPP_L4", "n/a",
363 "GPP_L5", "n/a",
364 "GPP_L6", "n/a",
365 "GPP_L7", "n/a",
366 "GPP_L8", "n/a",
367};
368
369static const struct gpio_group emmitsburg_group_l = {
370 .display = "------- GPIO Group GPP_L -------",
371 .pad_count = ARRAY_SIZE(emmitsburg_group_l_names) / 2,
372 .func_count = 2,
373 .pad_names = emmitsburg_group_l_names,
374};
375
376static const char *const emmitsburg_group_m_names[] = {
377 "GPP_M0",
378 "GPP_M1",
379 "GPP_M2",
380 "GPP_M3",
381 "GPP_M4",
382 "GPP_M5",
383 "GPP_M6",
384 "GPP_M7",
385 "GPP_M8",
386 "GPP_M9",
387 "GPP_M10",
388 "GPP_M11",
389 "GPP_M12",
390 "GPP_M13",
391 "GPP_M14",
392 "GPP_M15",
393 "GPP_M16",
394 "GPP_M17",
395};
396
397static const struct gpio_group emmitsburg_group_m = {
398 .display = "------- GPIO Group GPP_M -------",
399 .pad_count = ARRAY_SIZE(emmitsburg_group_m_names) / 1,
400 .func_count = 1,
401 .pad_offset = 0x9A0,
402 .pad_names = emmitsburg_group_m_names,
403};
404
405static const char *const emmitsburg_group_n_names[] = {
406 "GPP_N0",
407 "GPP_N1",
408 "GPP_N2",
409 "GPP_N3",
410 "GPP_N4",
411};
412
413static const struct gpio_group emmitsburg_group_n = {
414 .display = "------- GPIO Group GPP_N -------",
415 .pad_count = ARRAY_SIZE(emmitsburg_group_n_names) / 1,
416 .func_count = 1,
417 .pad_names = emmitsburg_group_n_names,
418};
419
420static const struct gpio_group *const emmitsburg_community5_ilmn_groups[] = {
421 &emmitsburg_group_i,
422 &emmitsburg_group_l,
423 &emmitsburg_group_m,
424 &emmitsburg_group_n,
425};
426
427static const struct gpio_community emmitsburg_community5_ilmn = {
428 .name = "------- GPIO Community 5 -------",
429 .pcr_port_id = 0x69,
430 .group_count = ARRAY_SIZE(emmitsburg_community5_ilmn_groups),
431 .groups = emmitsburg_community5_ilmn_groups,
432};
433
434static const struct gpio_community *const emmitsburg_communities[] = {
435 &emmitsburg_community0_abs,
436 &emmitsburg_community1_cd,
437 &emmitsburg_community3_e_jtag,
438 &emmitsburg_community4_hj,
439 &emmitsburg_community5_ilmn,
440};
441
442#endif