xref: /aosp_15_r20/external/coreboot/util/inteltool/gpio_names/lewisburg.h (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
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