1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 3 #ifndef GPIO_NAMES_LEWISBURG_H 4 #define GPIO_NAMES_LEWISBURG_H 5 6 #include "gpio_groups.h" 7 #include "sunrise.h" 8 9 static const char *const lewisburg_group_a_names[] = { 10 "GPP_A0", "RCIN#", "n/a", "ESPI_ALERT1#", 11 "GPP_A1", "LAD0", "n/a", "ESPI_IO0", 12 "GPP_A2", "LAD1", "n/a", "ESPI_IO1", 13 "GPP_A3", "LAD2", "n/a", "ESPI_IO2", 14 "GPP_A4", "LAD3", "n/a", "ESPI_IO3", 15 "GPP_A5", "LFRAME#", "n/a", "ESPI_CS0#", 16 "GPP_A6", "SERIRQ", "n/a", "ESPI_CS1#", 17 "GPP_A7", "PIRQA#", "n/a", "ESPI_ALERT0#", 18 "GPP_A8", "CLKRUN#", "n/a", "n/a", 19 "GPP_A9", "CLKOUT_LPC0", "n/a", "ESPI_CLK", 20 "GPP_A10", "CLKOUT_LPC1", "n/a", "n/a", 21 "GPP_A11", "PME#", "n/a", "n/a", 22 "GPP_A12", "BM_BUSY#", "n/a", "SX_EXIT_HOLDOFF#", 23 "GPP_A13", "SUSWARN#/SUSPWRDNACK", "n/a", "n/a", 24 "GPP_A14", "n/a", "n/a", "ESPI_RESET#", 25 "GPP_A15", "SUS_ACK#", "n/a", "n/a", 26 "GPP_A16", "CLKOUT_LPC2", "n/a", "n/a", 27 "GPP_A17", "n/a", "n/a", "n/a", 28 "GPP_A18", "n/a", "n/a", "n/a", 29 "GPP_A19", "n/a", "n/a", "n/a", 30 "GPP_A20", "n/a", "n/a", "n/a", 31 "GPP_A21", "n/a", "n/a", "n/a", 32 "GPP_A22", "n/a", "n/a", "n/a", 33 "GPP_A23", "n/a", "n/a", "n/a", 34 }; 35 36 static const char *const lewisburg_group_b_names[] = { 37 "GPP_B0", "CORE_VID0", "n/a", "n/a", 38 "GPP_B1", "CORE_VID1", "n/a", "n/a", 39 "GPP_B2", "n/a", "n/a", "n/a", 40 "GPP_B3", "CPU_GP2", "n/a", "n/a", 41 "GPP_B4", "CPU_GP3", "n/a", "n/a", 42 "GPP_B5", "SRCCLKREQ0#", "n/a", "n/a", 43 "GPP_B6", "SRCCLKREQ1#", "n/a", "n/a", 44 "GPP_B7", "SRCCLKREQ2#", "n/a", "n/a", 45 "GPP_B8", "SRCCLKREQ3#", "n/a", "n/a", 46 "GPP_B9", "SRCCLKREQ4#", "n/a", "n/a", 47 "GPP_B10", "SRCCLKREQ5#", "n/a", "n/a", 48 "GPP_B11", "n/a", "n/a", "n/a", 49 "GPP_B12", "GLB_RST_WARN_N#", "n/a", "n/a", 50 "GPP_B13", "PLTRST#", "n/a", "n/a", 51 "GPP_B14", "SPKR", "n/a", "n/a", 52 "GPP_B15", "n/a", "n/a", "n/a", 53 "GPP_B16", "n/a", "n/a", "n/a", 54 "GPP_B17", "n/a", "n/a", "n/a", 55 "GPP_B18", "n/a", "n/a", "n/a", 56 "GPP_B19", "n/a", "n/a", "n/a", 57 "GPP_B20", "n/a", "n/a", "n/a", 58 "GPP_B21", "n/a", "n/a", "n/a", 59 "GPP_B22", "n/a", "n/a", "n/a", 60 "GPP_B23", "SML1ALERT#", "PCHHOT#", "MEIE_SML1ALRT#", 61 }; 62 63 static const char *const lewisburg_group_c_names[] = { 64 "GPP_C0", "SMBCLK", "n/a", "n/a", 65 "GPP_C1", "SMBDATA", "n/a", "n/a", 66 "GPP_C2", "SMBALERT#", "n/a", "n/a", 67 "GPP_C3", "SML0CLK", "SML0CLK_IE#", "n/a", 68 "GPP_C4", "SML0DATA", "SML0DATA_IE", "n/a", 69 "GPP_C5", "SML0ALERT#", "SML0ALERT_IE#", "n/a", 70 "GPP_C6", "SML1CLK", "SML1CLK_IE", "n/a", 71 "GPP_C7", "SML1DATA", "SML1DATA_IE", "n/a", 72 "GPP_C8", "n/a", "n/a", "n/a", 73 "GPP_C9", "n/a", "n/a", "n/a", 74 "GPP_C10", "n/a", "n/a", "n/a", 75 "GPP_C11", "n/a", "n/a", "n/a", 76 "GPP_C12", "n/a", "n/a", "n/a", 77 "GPP_C13", "n/a", "n/a", "n/a", 78 "GPP_C14", "n/a", "n/a", "n/a", 79 "GPP_C15", "n/a", "n/a", "n/a", 80 "GPP_C16", "n/a", "n/a", "n/a", 81 "GPP_C17", "n/a", "n/a", "n/a", 82 "GPP_C18", "n/a", "n/a", "n/a", 83 "GPP_C19", "n/a", "n/a", "n/a", 84 "GPP_C20", "n/a", "n/a", "n/a", 85 "GPP_C21", "n/a", "n/a", "n/a", 86 "GPP_C22", "n/a", "n/a", "n/a", 87 "GPP_C23", "n/a", "n/a", "n/a", 88 }; 89 90 static const char *const lewisburg_group_d_names[] = { 91 "GPP_D0", "n/a", "n/a", "SERIAL_BLINK", 92 "GPP_D1", "n/a", "n/a", "SERIAL_BLINK", 93 "GPP_D2", "n/a", "n/a", "SERIAL_BLINK", 94 "GPP_D3", "n/a", "n/a", "SERIAL_BLINK", 95 "GPP_D4", "n/a", "n/a", "SERIAL_BLINK", 96 "GPP_D5", "n/a", "n/a", "n/a", 97 "GPP_D6", "n/a", "n/a", "n/a", 98 "GPP_D7", "n/a", "n/a", "n/a", 99 "GPP_D8", "n/a", "n/a", "n/a", 100 "GPP_D9", "n/a", "n/a", "SSATA_DEVSLP3", 101 "GPP_D10", "n/a", "n/a", "SSATA_DEVSLP4", 102 "GPP_D11", "n/a", "n/a", "SSATA_DEVSLP5", 103 "GPP_D12", "n/a", "n/a", "SSATA_SDATAOUT1", 104 "GPP_D13", "n/a", "SML0BCLK", "SML0BCLK_IE", 105 "GPP_D14", "n/a", "SML0BDATA", "SML0BDATA_IE", 106 "GPP_D15", "n/a", "n/a", "SSATA_SDATAOUT0", 107 "GPP_D16", "n/a", "SML0BALERT#", "SML0BALERT_IE#", 108 "GPP_D17", "n/a", "n/a", "n/a", 109 "GPP_D18", "n/a", "n/a", "n/a", 110 "GPP_D19", "n/a", "n/a", "n/a", 111 "GPP_D20", "n/a", "n/a", "n/a", 112 "GPP_D21", "n/a", "n/a", "IE_UART_RX", 113 "GPP_D22", "n/a", "n/a", "IE_UART_TX", 114 "GPP_D23", "n/a", "n/a", "n/a", 115 }; 116 117 static const char *const lewisburg_group_f_names[] = { 118 "GPP_F0", "SATAXPCIE3", "n/a", "SATAGP3", 119 "GPP_F1", "SATAXPCIE4", "n/a", "SATAGP4", 120 "GPP_F2", "SATAXPCIE5", "n/a", "SATAGP5", 121 "GPP_F3", "SATAXPCIE6", "n/a", "SATAGP6", 122 "GPP_F4", "SATAXPCIE7", "n/a", "SATAGP7", 123 "GPP_F5", "SATA_DEVSLP3", "n/a", "n/a", 124 "GPP_F6", "SATA_DEVSLP4", "n/a", "n/a", 125 "GPP_F7", "SATA_DEVSLP5", "n/a", "n/a", 126 "GPP_F8", "SATA_DEVSLP6", "n/a", "n/a", 127 "GPP_F9", "SATA_DEVSLP7", "n/a", "n/a", 128 "GPP_F10", "SATA_SCLOCK", "n/a", "n/a", 129 "GPP_F11", "SATA_SLOAD", "n/a", "n/a", 130 "GPP_F12", "SATA_SDATAOUT1", "n/a", "n/a", 131 "GPP_F13", "SATA_SDATAOUT2", "n/a", "n/a", 132 "GPP_F14", "n/a", "n/a", "SSATA_LED#", 133 "GPP_F15", "USB_OC4#", "n/a", "n/a", 134 "GPP_F16", "USB_OC5#", "n/a", "n/a", 135 "GPP_F17", "USB_OC6#", "n/a", "n/a", 136 "GPP_F18", "USB_OC7#", "n/a", "n/a", 137 "GPP_F19", "LAN_SMBCLK", "n/a", "n/a", 138 "GPP_F20", "LAN_SMBDATA", "n/a", "n/a", 139 "GPP_F21", "LAN_SMBALRT#", "n/a", "n/a", 140 "GPP_F22", "n/a", "n/a", "SSATA_SCLOCK", 141 "GPP_F23", "n/a", "n/a", "SSATA_SLOAD", 142 }; 143 144 static const char *const lewisburg_group_g_names[] = { 145 "GPP_G0", "FAN_TACH_0", "FAN_TACH_0_IE", "n/a", 146 "GPP_G1", "FAN_TACH_1", "FAN_TACH_1_IE", "n/a", 147 "GPP_G2", "FAN_TACH_2", "FAN_TACH_2_IE", "n/a", 148 "GPP_G3", "FAN_TACH_3", "FAN_TACH_3_IE", "n/a", 149 "GPP_G4", "FAN_TACH_4", "FAN_TACH_4_IE", "n/a", 150 "GPP_G5", "FAN_TACH_5", "FAN_TACH_5_IE", "n/a", 151 "GPP_G6", "FAN_TACH_6", "FAN_TACH_6_IE", "n/a", 152 "GPP_G7", "FAN_TACH_7", "FAN_TACH_7_IE", "n/a", 153 "GPP_G8", "FAN_PWM_0", "FAN_PWM_0_IE", "n/a", 154 "GPP_G9", "FAN_PWM_1", "FAN_PWM_1_IE", "n/a", 155 "GPP_G10", "FAN_PWM_2", "FAN_PWM_2_IE", "n/a", 156 "GPP_G11", "FAN_PWM_3", "FAN_PWM_3_IE", "n/a", 157 "GPP_G12", "n/a", "n/a", "n/a", 158 "GPP_G13", "n/a", "n/a", "n/a", 159 "GPP_G14", "n/a", "n/a", "n/a", 160 "GPP_G15", "n/a", "n/a", "n/a", 161 "GPP_G16", "n/a", "n/a", "n/a", 162 "GPP_G17", "ADR_COMPLETE", "n/a", "n/a", 163 "GPP_G18", "NMI#", "n/a", "n/a", 164 "GPP_G19", "SMI#", "n/a", "n/a", 165 "GPP_G20", "n/a", "SSATA_DEVSLP0", "n/a", 166 "GPP_G21", "n/a", "SSATA_DEVSLP1", "n/a", 167 "GPP_G22", "n/a", "SSATA_DEVSLP2", "n/a", 168 "GPP_G23", "n/a", "SSATAXPCIE0", "SSATAGP0", 169 }; 170 171 static const char *const lewisburg_group_h_names[] = { 172 "GPP_H0", "SRCCLKREQ6#", "n/a", "n/a", 173 "GPP_H1", "SRCCLKREQ7#", "n/a", "n/a", 174 "GPP_H2", "SRCCLKREQ8#", "n/a", "n/a", 175 "GPP_H3", "SRCCLKREQ9#", "n/a", "n/a", 176 "GPP_H4", "SRCCLKREQ10#", "n/a", "n/a", 177 "GPP_H5", "SRCCLKREQ11#", "n/a", "n/a", 178 "GPP_H6", "SRCCLKREQ12#", "n/a", "n/a", 179 "GPP_H7", "SRCCLKREQ13#", "n/a", "n/a", 180 "GPP_H8", "SRCCLKREQ14#", "n/a", "n/a", 181 "GPP_H9", "SRCCLKREQ15#", "n/a", "n/a", 182 "GPP_H10", "SML2CLK", "SML2CLK_IE", "n/a", 183 "GPP_H11", "SML2DATA", "SML2DATA_IE", "n/a", 184 "GPP_H12", "SML2ALERT#", "SML2ALERT#_IE#", "n/a", 185 "GPP_H13", "SML3CLK", "SML3CLK_IE", "n/a", 186 "GPP_H14", "SML3DATA", "SML3DATA_IE", "n/a", 187 "GPP_H15", "SML3ALERT#", "SML3ALERT#_IE#", "n/a", 188 "GPP_H16", "SML4CLK", "SML4CLK_IE", "n/a", 189 "GPP_H17", "SML4DATA", "SML4DATA_IE", "n/a", 190 "GPP_H18", "SML4ALERT#", "SML4ALERT#_IE#", "n/a", 191 "GPP_H19", "n/a", "SSATAXPCIE1", "SSATAGP1", 192 "GPP_H20", "n/a", "SSATAXPCIE2", "SSATAGP2", 193 "GPP_H21", "n/a", "SSATAXPCIE3", "SSATAGP3", 194 "GPP_H22", "n/a", "SSATAXPCIE4", "SSATAGP4", 195 "GPP_H23", "n/a", "SSATAXPCIE5", "SSATAGP5", 196 }; 197 198 static const char *const lewisburg_group_i_names[] = { 199 "GPP_I0", "n/a", "LAN_TDO", "n/a", 200 "GPP_I1", "n/a", "LAN_TCK", "n/a", 201 "GPP_I2", "n/a", "LAN_TMS", "n/a", 202 "GPP_I3", "n/a", "LAN_TDI", "n/a", 203 "GPP_I4", "n/a", "RESET_IN#", "n/a", 204 "GPP_I5", "n/a", "RESET_OUT#", "n/a", 205 "GPP_I6", "n/a", "RESET_DONE", "n/a", 206 "GPP_I7", "n/a", "LAN_TRST_IN", "n/a", 207 "GPP_I8", "n/a", "PCI_DIS", "n/a", 208 "GPP_I9", "n/a", "LAN_DIS", "n/a", 209 "GPP_I10", "n/a", "n/a", "n/a", 210 }; 211 212 static const char *const lewisburg_group_j_names[] = { 213 "GPP_J0", "LAN_LED_P0_0", "n/a", "n/a", 214 "GPP_J1", "LAN_LED_P0_1", "n/a", "n/a", 215 "GPP_J2", "LAN_LED_P1_0", "n/a", "n/a", 216 "GPP_J3", "LAN_LED_P1_1", "n/a", "n/a", 217 "GPP_J4", "LAN_LED_P2_0", "n/a", "n/a", 218 "GPP_J5", "LAN_LED_P2_1", "n/a", "n/a", 219 "GPP_J6", "LAN_LED_P3_0", "n/a", "n/a", 220 "GPP_J7", "LAN_LED_P3_1", "n/a", "n/a", 221 "GPP_J8", "LAN_I2C_SCL_MDC_P0", "n/a", "n/a", 222 "GPP_J9", "LAN_I2C_SDA_MDIO_P0", "n/a", "n/a", 223 "GPP_J10", "LAN_I2C_SCL_MDC_P1", "n/a", "n/a", 224 "GPP_J11", "LAN_I2C_SDA_MDIO_P1", "n/a", "n/a", 225 "GPP_J12", "LAN_I2C_SCL_MDC_P2", "n/a", "n/a", 226 "GPP_J13", "LAN_I2C_SDA_MDIO_P2", "n/a", "n/a", 227 "GPP_J14", "LAN_I2C_SCL_MDC_P3", "n/a", "n/a", 228 "GPP_J15", "LAN_I2C_SDA_MDIO_P3", "n/a", "n/a", 229 "GPP_J16", "LAN_SDP_P0_0", "n/a", "n/a", 230 "GPP_J17", "LAN_SDP_P0_1", "n/a", "n/a", 231 "GPP_J18", "LAN_SDP_P1_0", "n/a", "n/a", 232 "GPP_J19", "LAN_SDP_P1_1", "n/a", "n/a", 233 "GPP_J20", "LAN_SDP_P2_0", "n/a", "n/a", 234 "GPP_J21", "LAN_SDP_P2_1", "n/a", "n/a", 235 "GPP_J22", "LAN_SDP_P3_0", "n/a", "n/a", 236 "GPP_J23", "LAN_SDP_P3_1", "n/a", "n/a", 237 }; 238 239 static const char *const lewisburg_group_k_names[] = { 240 "GPP_K0", "LAN_NCSI_CLK_IN", "n/a", "n/a", 241 "GPP_K1", "LAN_NCSI_TXD0", "n/a", "n/a", 242 "GPP_K2", "LAN_NCSI_TXD1", "n/a", "n/a", 243 "GPP_K3", "LAN_NCSI_TX_EN", "n/a", "n/a", 244 "GPP_K4", "LAN_NCSI_CRS_DV", "n/a", "n/a", 245 "GPP_K5", "LAN_NCSI_RXD0", "n/a", "n/a", 246 "GPP_K6", "LAN_NCSI_RXD1", "n/a", "n/a", 247 "GPP_K7", "RESERVED", "n/a", "n/a", 248 "GPP_K8", "LAN_NCSI_ARB_IN", "n/a", "n/a", 249 "GPP_K9", "LAN_NCSI_ARB_OUT", "n/a", "n/a", 250 "GPP_K10", "PE_RST#", "n/a", "n/a", 251 }; 252 253 static const char *const lewisburg_group_l_names[] = { 254 /* 255 * The description for L0 and L1 was missed in the datasheet, however, the chipset 256 * contains the GPP_L0/CSME_INTR_IN and GPP_L1/CSME_INTR_OUT pads in a schematic 257 * diagram and configuration registers for these pads are present. 258 */ 259 "GPP_L0", "CSME_INTR_IN", "n/a", "n/a", 260 "GPP_L1", "CSME_INTR_OUT", "n/a", "n/a", 261 "GPP_L2", "TESTCH0_D0", "n/a", "n/a", 262 "GPP_L3", "TESTCH0_D1", "n/a", "n/a", 263 "GPP_L4", "TESTCH0_D2", "n/a", "n/a", 264 "GPP_L5", "TESTCH0_D3", "n/a", "n/a", 265 "GPP_L6", "TESTCH0_D4", "n/a", "n/a", 266 "GPP_L7", "TESTCH0_D5", "n/a", "n/a", 267 "GPP_L8", "TESTCH0_D6", "n/a", "n/a", 268 "GPP_L9", "TESTCH0_D7", "n/a", "n/a", 269 "GPP_L10", "TESTCH0_CLK", "n/a", "n/a", 270 "GPP_L11", "TESTCH1_D0", "n/a", "n/a", 271 "GPP_L12", "TESTCH1_D1", "n/a", "n/a", 272 "GPP_L13", "TESTCH1_D2", "n/a", "n/a", 273 "GPP_L14", "TESTCH1_D3", "n/a", "n/a", 274 "GPP_L15", "TESTCH1_D4", "n/a", "n/a", 275 "GPP_L16", "TESTCH1_D5", "n/a", "n/a", 276 "GPP_L17", "TESTCH1_D6", "n/a", "n/a", 277 "GPP_L18", "TESTCH1_D7", "n/a", "n/a", 278 "GPP_L19", "TESTCH1_CLK", "n/a", "n/a", 279 }; 280 281 static const char *const lewisburg_group_gpd_names[] = { 282 "GPD0", "POWER_DEBUG_N", "n/a", "n/a", 283 "GPD1", "ACPRESENT", "n/a", "n/a", 284 "GPD2", "GBE_WAKE#", "n/a", "n/a", 285 "GPD3", "PWRBTN#", "n/a", "n/a", 286 "GPD4", "SLP_S3#", "n/a", "n/a", 287 "GPD5", "SLP_S4#", "n/a", "n/a", 288 "GPD6", "SLP_A#", "n/a", "n/a", 289 "GPD7", "RESERVED", "n/a", "n/a", 290 "GPD8", "SUSCLK", "n/a", "n/a", 291 "GPD9", "RESERVED", "n/a", "n/a", 292 "GPD10", "SLP_S5#", "n/a", "n/a", 293 "GPD11", "GBEPHY", "n/a", "n/a", 294 }; 295 296 static const struct gpio_group lewisburg_group_a = { 297 .display = "------- GPIO Group GPP_A -------", 298 .pad_count = ARRAY_SIZE(lewisburg_group_a_names) / 4, 299 .func_count = 4, 300 .pad_names = lewisburg_group_a_names, 301 }; 302 303 static const struct gpio_group lewisburg_group_b = { 304 .display = "------- GPIO Group GPP_B -------", 305 .pad_count = ARRAY_SIZE(lewisburg_group_b_names) / 4, 306 .func_count = 4, 307 .pad_names = lewisburg_group_b_names, 308 }; 309 310 static const struct gpio_group lewisburg_group_c = { 311 .display = "------- GPIO Group GPP_C -------", 312 .pad_count = ARRAY_SIZE(lewisburg_group_c_names) / 4, 313 .func_count = 4, 314 .pad_names = lewisburg_group_c_names, 315 }; 316 317 static const struct gpio_group lewisburg_group_d = { 318 .display = "------- GPIO Group GPP_D -------", 319 .pad_count = ARRAY_SIZE(lewisburg_group_d_names) / 4, 320 .func_count = 4, 321 .pad_names = lewisburg_group_d_names, 322 }; 323 324 /* The functions in this group are the same as in the pad group E for 325 the Sunrise-H PCH */ 326 static const struct gpio_group lewisburg_group_e = { 327 .display = "------- GPIO Group GPP_E -------", 328 .pad_count = ARRAY_SIZE(sunrise_group_e_names) / 4, 329 .func_count = 4, 330 .pad_names = sunrise_group_e_names, 331 }; 332 333 static const struct gpio_group lewisburg_group_f = { 334 .display = "------- GPIO Group GPP_F -------", 335 .pad_count = ARRAY_SIZE(lewisburg_group_f_names) / 4, 336 .func_count = 4, 337 .pad_names = lewisburg_group_f_names, 338 }; 339 340 static const struct gpio_group lewisburg_group_g = { 341 .display = "------- GPIO Group GPP_G -------", 342 .pad_count = ARRAY_SIZE(lewisburg_group_g_names) / 4, 343 .func_count = 4, 344 .pad_names = lewisburg_group_g_names, 345 }; 346 347 static const struct gpio_group lewisburg_group_h = { 348 .display = "------- GPIO Group GPP_H -------", 349 .pad_count = ARRAY_SIZE(lewisburg_group_h_names) / 4, 350 .func_count = 4, 351 .pad_names = lewisburg_group_h_names, 352 }; 353 354 static const struct gpio_group lewisburg_group_i = { 355 .display = "------- GPIO Group GPP_I -------", 356 .pad_count = ARRAY_SIZE(lewisburg_group_i_names) / 4, 357 .func_count = 4, 358 .pad_names = lewisburg_group_i_names, 359 }; 360 361 static const struct gpio_group lewisburg_group_j = { 362 .display = "------- GPIO Group GPP_J -------", 363 .pad_count = ARRAY_SIZE(lewisburg_group_j_names) / 4, 364 .func_count = 4, 365 .pad_names = lewisburg_group_j_names, 366 }; 367 368 static const struct gpio_group lewisburg_group_k = { 369 .display = "------- GPIO Group GPP_K -------", 370 .pad_count = ARRAY_SIZE(lewisburg_group_k_names) / 4, 371 .func_count = 4, 372 .pad_names = lewisburg_group_k_names, 373 }; 374 375 static const struct gpio_group lewisburg_group_l = { 376 .display = "------- GPIO Group GPP_L -------", 377 .pad_count = ARRAY_SIZE(lewisburg_group_l_names) / 4, 378 .func_count = 4, 379 .pad_names = lewisburg_group_l_names, 380 }; 381 382 static const struct gpio_group lewisburg_group_gpd = { 383 .display = "-------- GPIO Group GPD --------", 384 .pad_count = ARRAY_SIZE(lewisburg_group_gpd_names) / 4, 385 .func_count = 4, 386 .pad_names = lewisburg_group_gpd_names, 387 }; 388 389 static const struct gpio_group *const lewisburg_community0_abf_groups[] = { 390 &lewisburg_group_a, 391 &lewisburg_group_b, 392 &lewisburg_group_f, 393 }; 394 395 static const struct gpio_community lewisburg_community0_abf = { 396 .name = "------- GPIO Community 0 -------", 397 .pcr_port_id = 0xaf, 398 .group_count = ARRAY_SIZE(lewisburg_community0_abf_groups), 399 .groups = lewisburg_community0_abf_groups, 400 }; 401 402 static const struct gpio_group *const lewisburg_community1_cde_groups[] = { 403 &lewisburg_group_c, 404 &lewisburg_group_d, 405 &lewisburg_group_e, 406 }; 407 408 static const struct gpio_community lewisburg_community1_cde = { 409 .name = "------- GPIO Community 1 -------", 410 .pcr_port_id = 0xae, 411 .group_count = ARRAY_SIZE(lewisburg_community1_cde_groups), 412 .groups = lewisburg_community1_cde_groups, 413 }; 414 415 static const struct gpio_group *const lewisburg_community2_gpd_groups[] = { 416 &lewisburg_group_gpd, 417 }; 418 419 static const struct gpio_community lewisburg_community2_gpd = { 420 .name = "------- GPIO Community 2 -------", 421 .pcr_port_id = 0xad, 422 .group_count = ARRAY_SIZE(lewisburg_community2_gpd_groups), 423 .groups = lewisburg_community2_gpd_groups, 424 }; 425 426 static const struct gpio_group *const lewisburg_community3_i_groups[] = { 427 &lewisburg_group_i, 428 }; 429 430 static const struct gpio_community lewisburg_community3_i = { 431 .name = "------- GPIO Community 3 -------", 432 .pcr_port_id = 0xac, 433 .group_count = ARRAY_SIZE(lewisburg_community3_i_groups), 434 .groups = lewisburg_community3_i_groups, 435 }; 436 437 static const struct gpio_group *const lewisburg_community4_jk_groups[] = { 438 &lewisburg_group_j, 439 &lewisburg_group_k, 440 }; 441 442 static const struct gpio_community lewisburg_community4_jk = { 443 .name = "------- GPIO Community 4 -------", 444 .pcr_port_id = 0xab, 445 .group_count = ARRAY_SIZE(lewisburg_community4_jk_groups), 446 .groups = lewisburg_community4_jk_groups, 447 }; 448 449 static const struct gpio_group *const lewisburg_community5_ghl_groups[] = { 450 &lewisburg_group_g, 451 &lewisburg_group_h, 452 &lewisburg_group_l, 453 }; 454 455 static const struct gpio_community lewisburg_community5_ghl = { 456 .name = "------- GPIO Community 5 -------", 457 .pcr_port_id = 0x11, 458 .group_count = ARRAY_SIZE(lewisburg_community5_ghl_groups), 459 .groups = lewisburg_community5_ghl_groups, 460 }; 461 462 static const struct gpio_community *const lewisburg_communities[] = { 463 &lewisburg_community0_abf, 464 &lewisburg_community1_cde, 465 &lewisburg_community2_gpd, 466 &lewisburg_community3_i, 467 &lewisburg_community4_jk, 468 &lewisburg_community5_ghl, 469 }; 470 471 #endif 472