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