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