1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 3 #ifndef GPIO_NAMES_EMMITSBURG_H 4 #define GPIO_NAMES_EMMITSBURG_H 5 6 #include "gpio_groups.h" 7 8 static 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 32 static 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 59 static 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 75 static 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 82 static 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 89 static 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 97 static const struct gpio_group *const emmitsburg_community0_abs_groups[] = { 98 &emmitsburg_group_a, 99 &emmitsburg_group_b, 100 &emmitsburg_group_s, 101 }; 102 103 static 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 110 static 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 135 static 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 142 static const struct gpio_group *const emmitsburg_community1_c_groups[] = { 143 &emmitsburg_group_c, 144 }; 145 146 static 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 173 static 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 180 static const struct gpio_group *const emmitsburg_community1_cd_groups[] = { 181 &emmitsburg_group_c, 182 &emmitsburg_group_d, 183 }; 184 185 static 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 192 static 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 215 static 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 222 static 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 235 static 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 243 static const struct gpio_group *const emmitsburg_community3_e_jtag_groups[] = { 244 &emmitsburg_group_e, 245 &emmitsburg_group_jtag, 246 }; 247 248 static 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 255 static 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 278 static 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 285 static const char *const emmitsburg_group_j_names[] = { 286 "GPP_J0", "CPUPWRGD", 287 "GPP_J1", "CPU_THRMTRIP_N", 288 "GPP_J2", "PLTRST_CPU_N", 289 "GPP_J3", "TRIGGER0_N", 290 "GPP_J4", "TRIGGER1_N", 291 "GPP_J5", "CPU_PWER_DEBUG_N", 292 "GPP_J6", "CPU_MEMTRIP_N", 293 "GPP_J7", "CPU_MSMI_N", 294 "GPP_J8", "ME_PECI", 295 "GPP_J9", "n/a", // Not described in EDS, add here to take space 296 "GPP_J10", "n/a", // Not described in EDS, add here to take space 297 "GPP_J11", "n/a", // Not described in EDS, add here to take space 298 "GPP_J12", "CPU_ERR0_N", 299 "GPP_J13", "CPU_CATERR_N", 300 "GPP_J14", "CPU_ERR1_N", 301 "GPP_J15", "CPU_ERR2_N", 302 }; 303 304 static 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 311 static const struct gpio_group *const emmitsburg_community4_hj_groups[] = { 312 &emmitsburg_group_h, 313 &emmitsburg_group_j, 314 }; 315 316 static 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 323 static 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 350 static 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 357 static 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 369 static 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 376 static 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 397 static 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 405 static const char *const emmitsburg_group_n_names[] = { 406 "GPP_N0", 407 "GPP_N1", 408 "GPP_N2", 409 "GPP_N3", 410 "GPP_N4", 411 }; 412 413 static 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 420 static 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 427 static 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 434 static 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 443