soc/intel/common/block/itss: Route PCI INT pin to PIRQ using PIR
[coreboot2.git] / util / inteltool / gpio_names / tigerlake.h
blobac5ee43bac011b4a7f4ebcfe67d20ef665ad1762
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #ifndef GPIO_NAMES_TIGERLAKE_LP
4 #define GPIO_NAMES_TIGERLAKE_LP
6 #include "gpio_groups.h"
8 /* ----------------------------- Tiger Lake LP ----------------------------- */
10 const char *const tigerlake_pch_lp_group_a_names[] = {
11 "GPP_A0", "ESPI_IO0", "n/a", "n/a", "n/a", "n/a",
12 "GPP_A1", "ESPI_IO1", "n/a", "n/a", "n/a", "n/a",
13 "GPP_A2", "ESPI_IO2", "SUSWARN#/SUSPWRDNACK", "n/a", "n/a", "n/a",
14 "GPP_A3", "ESPI_IO3", "SUSACK#", "n/a", "n/a", "n/a",
15 "GPP_A4", "ESPI_CS#", "n/a", "n/a", "n/a", "n/a",
16 "GPP_A5", "ESPI_CLK", "n/a", "n/a", "n/a", "n/a",
17 "GPP_A6", "ESPI_RESET#", "n/a", "n/a", "n/a", "n/a",
18 "GPP_A7", "I2S2_SCLK", "n/a", "n/a", "n/a", "DMIC_CLK_A0",
19 "GPP_A8", "I2S2_SFRM", "CNV_RF_RESET#", "n/a", "n/a", "DMIC_DATA0",
20 "GPP_A9", "I2S2_TXD", "MODEM_CLKREQ", "CRF_XTAL_CLKREQ", "n/a", "DMIC_CLK_A1",
21 "GPP_A10", "I2S2_RXD", "n/a", "n/a", "n/a", "DMIC_DATA1",
22 "GPP_A11", "PMC_I2C_SDA", "n/a", "I2S3_SCLK", "n/a", "n/a",
23 "GPP_A12", "SATAXPCIE1", "SATAGP1", "I2S3_SFRM", "n/a", "n/a",
24 "GPP_A13", "PMC_I2C_SCL", "n/a", "I2S3_TXD", "n/a", "DMIC_CLK_B0",
25 "GPP_A14", "USB_OC1#", "DDSP_HPD3", "I2S3_RXD", "DISP_MISC3", "DMIC_CLK_B1",
26 "GPP_A15", "USB_OC2#", "DDSP_HPD4", "I2S4_SCLK", "DISP_MISC4", "n/a",
27 "GPP_A16", "USB_OC3#", "n/a", "I2S4_SFRM", "n/a", "n/a",
28 "GPP_A17", "DDSP_HDPC", "DISP_MISCC", "I2S4_TXD", "n/a", "n/a",
29 "GPP_A18", "DDSP_HPDB", "DISP_MISCB", "I2S4_RXD", "n/a", "n/a",
30 "GPP_A19", "DDSP_HPD1", "DISP_MISC1", "I2S5_SCLK", "n/a", "n/a",
31 "GPP_A20", "DDSP_HPD2", "DISP_MISC2", "I2S5_SFRM", "n/a", "n/a",
32 "GPP_A21", "BKLTEN_SEC", "DDPC_CTRLCLK", "I2S5_TXD", "n/a", "n/a",
33 "GPP_A22", "BKLTCTL_SEC", "DDPC_CTRLDATA", "I2S5_RXD", "n/a", "n/a",
34 "GPP_A23", "I2S1_SCLK", "n/a", "n/a", "n/a", "n/a",
35 "ESPI_CLK_LOOPBK", "ESPI_CLK_LOOPBK", "n/a", "n/a", "n/a", "n/a",
38 const struct gpio_group tigerlake_pch_lp_group_a = {
39 .display = "------- GPIO Group GPP_A -------",
40 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_a_names) / 6,
41 .func_count = 6,
42 .pad_names = tigerlake_pch_lp_group_a_names,
45 const char *const tigerlake_pch_lp_group_b_names[] = {
46 "GPP_B0", "CORE_VID0", "n/a", "n/a",
47 "GPP_B1", "CORE_VID1", "n/a", "n/a",
48 "GPP_B2", "VRALERT#", "n/a", "n/a",
49 "GPP_B3", "CPU_GP2", "n/a", "n/a",
50 "GPP_B4", "CPU_GP3", "n/a", "n/a",
51 "GPP_B5", "ISH_I2C0_SDA", "n/a", "n/a",
52 "GPP_B6", "ISH_I2C0_SCL", "n/a", "n/a",
53 "GPP_B7", "ISH_I2C1_SDA", "n/a", "n/a",
54 "GPP_B8", "ISH_I2C1_SCL", "n/a", "n/a",
55 "GPP_B9", "I2C5_SDA", "ISH_I2C2_SDA", "n/a",
56 "GPP_B10", "I2C5_SCL", "ISH_I2C2_SDL", "n/a",
57 "GPP_B11", "PMCALERT#", "n/a", "n/a",
58 "GPP_B12", "SLP_S0#", "n/a", "n/a",
59 "GPP_B13", "PLTRST#", "n/a", "n/a",
60 "GPP_B14", "SPKR", "TIME_SYNC1", "GSPI0_CS1#",
61 "GPP_B15", "GSPI0_CS0#", "n/a", "n/a",
62 "GPP_B16", "GSPI0_CLK", "n/a", "n/a",
63 "GPP_B17", "GSPI0_MISO", "n/a", "n/a",
64 "GPP_B18", "GSPI0_MOSI", "n/a", "n/a",
65 "GPP_B19", "GSPI1_CS0#", "n/a", "n/a",
66 "GPP_B20", "GSPI1_CLK", "n/a", "n/a",
67 "GPP_B21", "GSPI1_MISO", "n/a", "n/a",
68 "GPP_B22", "GSPI1_MOSI", "n/a", "n/a",
69 "GPP_B23", "SML1ALERT#", "PCHHOT#", "GSPI1_CS1#",
70 "GSPI0_CLK_LOOPBK", "GSPI0_CLK_LOOPBK", "n/a", "n/a",
71 "GSPI1_CLK_LOOPBK", "GSPI1_CLK_LOOPBK", "n/a", "n/a",
74 const struct gpio_group tigerlake_pch_lp_group_b = {
75 .display = "------- GPIO Group GPP_B -------",
76 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_b_names) / 4,
77 .func_count = 4,
78 .pad_names = tigerlake_pch_lp_group_b_names,
81 const char *const tigerlake_pch_lp_group_c_names[] = {
82 "GPP_C0", "SMBCLK", "n/a",
83 "GPP_C1", "SMBDATA", "n/a",
84 "GPP_C2", "SMBALERT#", "n/a",
85 "GPP_C3", "SML0CLK", "n/a",
86 "GPP_C4", "SML0DATA", "n/a",
87 "GPP_C5", "SML0ALERT#", "n/a",
88 "GPP_C6", "SML1CLK", "n/a",
89 "GPP_C7", "SML1DATA", "n/a",
90 "GPP_C8", "UART0_RXD", "n/a",
91 "GPP_C9", "UART0_TXD", "n/a",
92 "GPP_C10", "UART0_RTS#", "n/a",
93 "GPP_C11", "UART0_CTS#", "n/a",
94 "GPP_C12", "UART1_RXD", "ISH_UART1_RXD",
95 "GPP_C13", "UART1_TXD", "ISH_UART1_TXD",
96 "GPP_C14", "UART1_RTS#", "ISH_UART1_RTS#",
97 "GPP_C15", "UART1_CTS#", "ISH_UART1_CTS#",
98 "GPP_C16", "I2C0_SDA", "n/a",
99 "GPP_C17", "I2C0_SCL", "n/a",
100 "GPP_C18", "I2C1_SDA", "n/a",
101 "GPP_C19", "I2C1_SCL", "n/a",
102 "GPP_C20", "UART2_RXD", "n/a",
103 "GPP_C21", "UART2_TXD", "n/a",
104 "GPP_C22", "UART2_RTS#", "n/a",
105 "GPP_C23", "UART2_CTS#", "n/a",
108 const struct gpio_group tigerlake_pch_lp_group_c = {
109 .display = "------- GPIO Group GPP_C -------",
110 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_c_names) / 3,
111 .func_count = 3,
112 .pad_names = tigerlake_pch_lp_group_c_names,
115 const char *const tigerlake_pch_lp_group_d_names[] = {
116 "GPP_D0", "ISH_GP0", "BK0", "n/a", "n/a", "SBK0", "n/a", "n/a",
117 "GPP_D1", "ISH_GP1", "BK1", "n/a", "n/a", "SBK1", "n/a", "n/a",
118 "GPP_D2", "ISH_GP2", "BK2", "n/a", "n/a", "SBK2", "n/a", "n/a",
119 "GPP_D3", "ISH_GP3", "BK3", "n/a", "n/a", "SBK3", "n/a", "n/a",
120 "GPP_D4", "IMGCLKOUT0", "BK4", "n/a", "n/a", "SBK4", "n/a", "n/a",
121 "GPP_D5", "SRCCLKREQ0#", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
122 "GPP_D6", "SRCCLKREQ1#", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
123 "GPP_D7", "SRCCLKREQ2#", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
124 "GPP_D8", "SRCCLKREQ3#", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
125 "GPP_D9", "ISH_SPI_CS#", "DDP3_CTRLCLK", "n/a", "TBT_LSX2_TXD", "BSSB_LS2_RX", "n/a", "GSPI2_CS0#",
126 "GPP_D10", "ISH_SPI_CLK", "DDP3_CTRLDATA", "n/a", "TBT_LSX2_RXD", "BSSB_LS2_TX", "n/a", "GSPI2_CLK",
127 "GPP_D11", "ISH_SPI_MISO", "DDP4_CTRLCLK", "n/a", "TBT_LSX3_TXD", "BSSB_LS3_RX", "n/a", "GSPI2_MISO",
128 "GPP_D12", "ISH_SPI_MOSI", "DDP4_CTRLDATA", "n/a", "TBT_LSX3_RXD", "BSSB_LS3_TX", "n/a", "GSPI2_MOSI",
129 "GPP_D13", "ISH_UART0_RXD", "n/a", "I2C4_SDA", "n/a", "n/a", "n/a", "n/a",
130 "GPP_D14", "ISH_UART0_TXD", "n/a", "I2C4_SCL", "n/a", "n/a", "n/a", "n/a",
131 "GPP_D15", "ISH_UART0_RTS#", "GSPI2_CS1#", "IMGCLKOUT5", "n/a", "n/a", "n/a", "n/a",
132 "GPP_D16", "ISH_UART0_CTS#", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
133 "GPP_D17", "ISH_GP4", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
134 "GPP_D18", "ISH_GP5", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
135 "GPP_D19", "I2S_MCLK1", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
136 "GSPI2_CLK_LOOPBK", "GSPI2_CLK_LOOPBK", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
139 const struct gpio_group tigerlake_pch_lp_group_d = {
140 .display = "------- GPIO Group GPP_D -------",
141 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_d_names) / 8,
142 .func_count = 8,
143 .pad_names = tigerlake_pch_lp_group_d_names,
146 const char *const tigerlake_pch_lp_group_e_names[] = {
147 "GPP_E0", "SATAXPCIE0", "SATAGP0", "n/a", "n/a", "n/a",
148 "GPP_E1", "n/a", "THC0_SPI1_IO2", "n/a", "n/a", "n/a",
149 "GPP_E2", "n/a", "THC0_SPI1_IO3", "n/a", "n/a", "n/a",
150 "GPP_E3", "CPU_GP0", "n/a", "n/a", "n/a", "n/a",
151 "GPP_E4", "SATA_DEVSLP0", "n/a", "n/a", "n/a", "n/a",
152 "GPP_E5", "SATA_DEVSLP1", "n/a", "n/a", "n/a", "n/a",
153 "GPP_E6", "n/a", "THC0_SPI1_RST#", "n/a", "n/a", "n/a",
154 "GPP_E7", "CPU_GP1", "n/a", "n/a", "n/a", "n/a",
155 "GPP_E8", "n/a", "SATA_LED#", "n/a", "n/a", "n/a",
156 "GPP_E9", "USB2_OC0#", "n/a", "n/a", "n/a", "n/a",
157 "GPP_E10", "n/a", "THC0_SPI1_CS#", "n/a", "n/a", "n/a",
158 "GPP_E11", "n/a", "THC0_SPI1_CLK", "n/a", "n/a", "n/a",
159 "GPP_E12", "n/a", "THC0_SPI1_IO1", "n/a", "n/a", "n/a",
160 "GPP_E13", "n/a", "THC0_SPI1_IO0", "n/a", "n/a", "n/a",
161 "GPP_E14", "DDSP_HPDA", "DISP_MISCA", "n/a", "n/a", "n/a",
162 "GPP_E15", "ISH_GP6", "Reserved", "n/a", "n/a", "n/a",
163 "GPP_E16", "ISH_GP7", "Reserved", "n/a", "n/a", "n/a",
164 "GPP_E17", "n/a", "THC0_SPI1_INT#", "n/a", "n/a", "n/a",
165 "GPP_E18", "DDP1_CTRLCLK", "n/a", "n/a", "TBT_LSX0_TXD", "BSSB_LS0_RX",
166 "GPP_E19", "DPP1_CTRLDATA", "n/a", "n/a", "TBT_LSX0_RXD", "BSSB_LS0_TX",
167 "GPP_E20", "DPP2_CTRLCLK", "n/a", "n/a", "TBT_LSX1_TXD", "BSSB_LS1_RX",
168 "GPP_E21", "DPP2_CTRLDATA", "n/a", "n/a", "TBT_LSX1_RXD", "BSSB_LS1_TX",
169 "GPP_E22", "DPAA_CTRLCLK", "DNX_FORCE_RELOAD", "n/a", "n/a", "n/a",
170 "GPP_E23", "DPPA_CTRLDATA", "n/a", "n/a", "n/a", "n/a",
171 "GPPE_CLK_LOOPBK", "n/a", "THC0_CLK_LOOPBACK", "n/a", "n/a", "n/a",
174 const struct gpio_group tigerlake_pch_lp_group_e = {
175 .display = "------- GPIO Group GPP_E -------",
176 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_e_names) / 6,
177 .func_count = 6,
178 .pad_names = tigerlake_pch_lp_group_e_names,
181 const char *const tigerlake_pch_lp_group_hvmos_names[] = {
182 "L_BKLTEN", "L_BKLTEN",
183 "L_BKLTCTL", "L_BKLTCTL",
184 "L_VDDEN", "L_VDDEN",
185 "SYS_PWROK", "SYS_PWROK",
186 "SYS_RESET#", "SYS_RESET#",
187 "MLK_RST#", "MLK_RST#",
190 const struct gpio_group tigerlake_pch_lp_group_hvmos = {
191 .display = "------- GPIO Group HVMOS -------",
192 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_hvmos_names) / 2,
193 .func_count = 2,
194 .pad_names = tigerlake_pch_lp_group_hvmos_names,
197 const char *const tigerlake_pch_lp_group_f_names[] = {
198 "GPP_F0", "CNV_BRI_DT", "UART0_RTS#", "n/a",
199 "GPP_F1", "CNV_BRI_RSP", "UART0_RXD", "n/a",
200 "GPP_F2", "CNV_RGI_DT", "UART0_TXD", "n/a",
201 "GPP_F3", "CNV_RGI_RSP", "UART0_CTS#", "n/a",
202 "GPP_F4", "CNV_RF_RESET#", "n/a", "n/a",
203 "GPP_F5", "n/a", "MODEM_CLKREQ", "CRF_XTAL_CLKREQ",
204 "GPP_F6", "CNV_PA_BLANKING", "n/a", "n/a",
205 "GPP_F7", "n/a", "n/a", "n/a",
206 "GPP_F8", "I2S_MCLK2_INOUT", "n/a", "n/a",
207 "GPP_F9", "Reserved", "n/a", "n/a",
208 "GPP_F10", "n/a", "n/a", "n/a",
209 "GPP_F11", "n/a", "n/a", "THC1_SPI2_CLK",
210 "GPP_F12", "GSXDOUT", "n/a", "THC1_SPI2_IO0",
211 "GPP_F13", "GSXSLOAD", "n/a", "THC1_SPI2_IO1",
212 "GPP_F14", "GSXDIN", "n/a", "THC1_SPI2_IO2",
213 "GPP_F15", "GSXSRESET#", "n/a", "THC1_SPI2_IO3",
214 "GPP_F16", "GSXCLK", "n/a", "THC1_SPI2_CS#",
215 "GPP_F17", "n/a", "n/a", "THC1_SPI2_RST#",
216 "GPP_F18", "n/a", "n/a", "THC1_SPI2_INT#",
217 "GPP_F19", "SRCCLKREQ6#", "n/a", "n/a",
218 "GPP_F20", "EXT_PWR_GATE#", "n/a", "n/a",
219 "GPP_F21", "EXT_PWR_GATE2#", "n/a", "n/a",
220 "GPP_F22", "VNN_CTRL", "n/a", "n/a",
221 "GPP_F23", "V1P05_CTRL", "n/a", "n/a",
222 "GPPF_CLK_LOOPBK", "n/a", "THC1_CLK_LOOPBACK", "n/a",
225 const struct gpio_group tigerlake_pch_lp_group_f = {
226 .display = "------- GPIO Group GPP_F -------",
227 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_f_names) / 4,
228 .func_count = 4,
229 .pad_names = tigerlake_pch_lp_group_f_names,
232 const char *const tigerlake_pch_lp_group_h_names[] = {
233 "GPP_H0", "n/a", "n/a", "n/a",
234 "GPP_H1", "n/a", "n/a", "n/a",
235 "GPP_H2", "n/a", "n/a", "n/a",
236 "GPP_H3", "SX_EXIT_HOLDOFF", "n/a", "n/a",
237 "GPP_H4", "I2C2_SDA", "n/a", "n/a",
238 "GPP_H5", "I2C2_SCL", "n/a", "n/a",
239 "GPP_H6", "I2C3_SDA", "n/a", "n/a",
240 "GPP_H7", "I2C3_SCL", "n/a", "n/a",
241 "GPP_H8", "I2C4_SDA", "CNV_MFUART2_RXD", "n/a",
242 "GPP_H9", "I2C4_SCL", "CNV_MFUART2_TXD", "n/a",
243 "GPP_H10", "SRCCLKREQ4#", "n/a", "n/a",
244 "GPP_H11", "SRCCLKREQ5#", "n/a", "n/a",
245 "GPP_H12", "M2_SKT2_CFG0", "n/a", "n/a",
246 "GPP_H13", "M2_SKT2_CFG1", "n/a", "n/a",
247 "GPP_H14", "M2_SKT2_CFG2", "n/a", "n/a",
248 "GPP_H15", "M2_SKT2_CFG3", "n/a", "n/a",
249 "GPP_H16", "DDPB_CTRLCLK", "n/a", "PCIE_LNK_DOWN",
250 "GPP_H17", "DDPB_CTRLDATA", "n/a", "n/a",
251 "GPP_H18", "CPU_C10_GATE#", "n/a", "n/a",
252 "GPP_H19", "TIME_SYNC0", "n/a", "n/a",
253 "GPP_H20", "IMGCLKOUT1", "n/a", "n/a",
254 "GPP_H21", "IMGCLKOUT2", "n/a", "n/a",
255 "GPP_H22", "IMGCLKOUT3", "n/a", "n/a",
256 "GPP_H23", "IMGCLKOUT4", "n/a", "n/a",
259 const struct gpio_group tigerlake_pch_lp_group_h = {
260 .display = "------- GPIO Group GPP_H -------",
261 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_h_names) / 4,
262 .func_count = 4,
263 .pad_names = tigerlake_pch_lp_group_h_names,
266 const char *const tigerlake_pch_lp_group_r_names[] = {
267 "GPP_R0", "HDA_BCLK", "I2S0_SCLK",
268 "GPP_R1", "HDA_SYNC", "I2S0_SFRM",
269 "GPP_R2", "HDA_SDO", "I2S0_TXD",
270 "GPP_R3", "HDA_SDI0", "I2S0_RXD",
271 "GPP_R4", "HDA_RST#", "n/a",
272 "GPP_R5", "HDA_SDI1", "I2S1_RXD",
273 "GPP_R6", "n/a", "I2S1_TXD",
274 "GPP_R7", "n/a", "I2S1_SFRM",
277 const struct gpio_group tigerlake_pch_lp_group_r = {
278 .display = "------- GPIO Group GPP_R -------",
279 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_r_names) / 3,
280 .func_count = 3,
281 .pad_names = tigerlake_pch_lp_group_r_names,
284 const char *const tigerlake_pch_lp_group_s_names[] = {
285 "GPP_S0", "SNDW0_CLK", "N/A",
286 "GPP_S1", "SNDW0_DATA", "N/A",
287 "GPP_S2", "SNDW1_CLK", "DMIC_CLK_B0",
288 "GPP_S3", "SNDW1_DATA", "DMIC_CLK_B1",
289 "GPP_S4", "SNDW2_CLK#", "DMIC_CLK_A1",
290 "GPP_S5", "SNDW2_DATA", "DMIC_DATA1",
291 "GPP_S6", "SNDW3_CLK", "DMIC_CLK_A0",
292 "GPP_S7", "SNDW3_DATA", "DMIC_DATA0",
295 const struct gpio_group tigerlake_pch_lp_group_s = {
296 .display = "------- GPIO Group GPP_S -------",
297 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_s_names) / 3,
298 .func_count = 3,
299 .pad_names = tigerlake_pch_lp_group_s_names,
302 const char *const tigerlake_pch_lp_group_gpp_t_names[] = {
303 "GPP_T0",
304 "GPP_T1",
305 "GPP_T2",
306 "GPP_T3",
307 "GPP_T4",
308 "GPP_T5",
309 "GPP_T6",
310 "GPP_T7",
311 "GPP_T8",
312 "GPP_T9",
313 "GPP_T10",
314 "GPP_T11",
315 "GPP_T12",
316 "GPP_T13",
317 "GPP_T14",
318 "GPP_T15",
321 const struct gpio_group tigerlake_pch_lp_group_t = {
322 .display = "------- GPIO Group GPP_T (TGL UP3 only) -------",
323 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_gpp_t_names),
324 .func_count = 1,
325 .pad_names = tigerlake_pch_lp_group_gpp_t_names,
328 const char *const tigerlake_pch_lp_group_u_names[] = {
329 "GPP_U0",
330 "GPP_U1",
331 "GPP_U2",
332 "GPP_U3",
333 "GPP_U4",
334 "GPP_U5",
335 "GPP_U6",
336 "GPP_U7",
337 "GPP_U8",
338 "GPP_U9",
339 "GPP_U10",
340 "GPP_U11",
341 "GPP_U12",
342 "GPP_U13",
343 "GPP_U14",
344 "GPP_U15",
345 "GPP_U16",
346 "GPP_U17",
347 "GPP_U18",
348 "GPP_U19",
349 "GSPI3_CLK_LOOPBK",
350 "GSPI4_CLK_LOOPBK",
351 "GSPI5_CLK_LOOPBK",
352 "GSPI6_CLK_LOOPBK",
355 const struct gpio_group tigerlake_pch_lp_group_u = {
356 .display = "------- GPIO Group GPP_U (TGL UP3 only) -------",
357 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_u_names),
358 .func_count = 1,
359 .pad_names = tigerlake_pch_lp_group_u_names,
362 const char *const tigerlake_pch_lp_group_vgpio_names[] = {
363 "VGPIO0", "VGPIO0",
364 "VGPIO4", "VGPIO4",
365 "VGPIO5", "VGPIO5",
366 "VGPIO6", "VGPIO6",
367 "VGPIO7", "VGPIO7",
368 "VGPIO8", "VGPIO8",
369 "VGPIO9", "VGPIO9",
370 "VGPIO10", "VGPIO10",
371 "VGPIO11", "VGPIO11",
372 "VGPIO12", "VGPIO12",
373 "VGPIO13", "VGPIO13",
374 "VGPIO18", "VGPIO18",
375 "VGPIO19", "VGPIO19",
376 "VGPIO20", "VGPIO20",
377 "VGPIO21", "VGPIO21",
378 "VGPIO22", "VGPIO22",
379 "VGPIO23", "VGPIO23",
380 "VGPIO24", "VGPIO24",
381 "VGPIO25", "VGPIO25",
382 "VGPIO30", "VGPIO30",
383 "VGPIO31", "VGPIO31",
384 "VGPIO32", "VGPIO32",
385 "VGPIO33", "VGPIO33",
386 "VGPIO34", "VGPIO34",
387 "VGPIO35", "VGPIO35",
388 "VGPIO36", "VGPIO36",
389 "VGPIO37", "VGPIO37",
392 const struct gpio_group tigerlake_pch_lp_group_vgpio = {
393 .display = "------- GPIO Group VGPIO -------",
394 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_vgpio_names) / 2,
395 .func_count = 2,
396 .pad_names = tigerlake_pch_lp_group_vgpio_names,
399 const char *const tigerlake_pch_lp_group_gpd_names[] = {
400 "GPD0", "BATLOW#",
401 "GPD1", "ACPRESENT",
402 "GPD2", "LAN_WAKE#",
403 "GPD3", "PRWBTN#",
404 "GPD4", "SLP_S3#",
405 "GPD5", "SLP_S4#",
406 "GPD6", "SLP_A#",
407 "GPD7", "n/a",
408 "GPD8", "SUSCLK",
409 "GPD9", "SLP_WLAN#",
410 "GPD10", "SLP_S5#",
411 "GPD11", "LANPHYPC",
412 "INPUT3VSEL", "INPUT3VSEL",
413 "SLP_LAN#", "SLP_LAN#",
414 "SLP_SUS#", "SLP_SUS#",
415 "WAKE#", "WAKE#",
416 "DRAM_RESET#", "DRAM_RESET#",
419 const struct gpio_group tigerlake_pch_lp_group_gpd = {
420 .display = "------- GPIO Group GPD -------",
421 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_gpd_names) / 2,
422 .func_count = 2,
423 .pad_names = tigerlake_pch_lp_group_gpd_names,
426 const char *const tigerlake_pch_lp_group_cpu_names[] = {
427 "HDACPU_SDI", "HDACPU_SDI",
428 "HDACPU_SDO", "HDACPU_SDO",
429 "HDACPU_SCLK", "HDACPU_SCLK",
430 "PM_SYNC", "PM_SYNC",
431 "PECI", "PECI",
432 "CPUPWRGD", "CPUPWRGD",
433 "THRMTRIP#", "THRMTRIP#",
434 "PLTRST_CPU#", "PLTRST_CPU#",
435 "PM_DOWN", "PM_DOWN",
436 "TRIGGER_IN", "TRIGGER_IN",
437 "TRIGGER_OUT", "TRIGGER_OUT",
438 "UFS_RESET#", "UFS_RESET#",
439 "CLKOUT_CPURTC", "CLKOUT_CPURTC",
440 "VCCST_OVERRIDE", "VCCST_OVERRIDE",
441 "C10_WAKE", "C10_WAKE",
444 const struct gpio_group tigerlake_pch_lp_group_cpu = {
445 .display = "------- GPIO Group CPU -------",
446 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_cpu_names) / 2,
447 .func_count = 2,
448 .pad_names = tigerlake_pch_lp_group_cpu_names,
451 const char *const tigerlake_pch_lp_group_vgpio3_names[] = {
452 "VGPIO_PCIE_0", "VGPIO_PCIE_0",
453 "VGPIO_PCIE_1", "VGPIO_PCIE_1",
454 "VGPIO_PCIE_2", "VGPIO_PCIE_2",
455 "VGPIO_PCIE_3", "VGPIO_PCIE_3",
456 "VGPIO_PCIE_4", "VGPIO_PCIE_4",
457 "VGPIO_PCIE_5", "VGPIO_PCIE_5",
458 "VGPIO_PCIE_6", "VGPIO_PCIE_6",
459 "VGPIO_PCIE_7", "VGPIO_PCIE_7",
460 "VGPIO_PCIE_8", "VGPIO_PCIE_8",
461 "VGPIO_PCIE_9", "VGPIO_PCIE_9",
462 "VGPIO_PCIE_10", "VGPIO_PCIE_10",
463 "VGPIO_PCIE_11", "VGPIO_PCIE_11",
464 "VGPIO_PCIE_12", "VGPIO_PCIE_12",
465 "VGPIO_PCIE_13", "VGPIO_PCIE_13",
466 "VGPIO_PCIE_14", "VGPIO_PCIE_14",
467 "VGPIO_PCIE_15", "VGPIO_PCIE_15",
468 "VGPIO_PCIE_16", "VGPIO_PCIE_16",
469 "VGPIO_PCIE_17", "VGPIO_PCIE_17",
470 "VGPIO_PCIE_18", "VGPIO_PCIE_18",
471 "VGPIO_PCIE_19", "VGPIO_PCIE_19",
472 "VGPIO_PCIE_20", "VGPIO_PCIE_20",
473 "VGPIO_PCIE_21", "VGPIO_PCIE_21",
474 "VGPIO_PCIE_22", "VGPIO_PCIE_22",
475 "VGPIO_PCIE_23", "VGPIO_PCIE_23",
476 "VGPIO_PCIE_24", "VGPIO_PCIE_24",
477 "VGPIO_PCIE_25", "VGPIO_PCIE_25",
478 "VGPIO_PCIE_26", "VGPIO_PCIE_26",
479 "VGPIO_PCIE_27", "VGPIO_PCIE_27",
480 "VGPIO_PCIE_28", "VGPIO_PCIE_28",
481 "VGPIO_PCIE_29", "VGPIO_PCIE_29",
482 "VGPIO_PCIE_30", "VGPIO_PCIE_30",
483 "VGPIO_PCIE_31", "VGPIO_PCIE_31",
484 "VGPIO_PCIE_32", "VGPIO_PCIE_32",
485 "VGPIO_PCIE_33", "VGPIO_PCIE_33",
486 "VGPIO_PCIE_34", "VGPIO_PCIE_34",
487 "VGPIO_PCIE_35", "VGPIO_PCIE_35",
488 "VGPIO_PCIE_36", "VGPIO_PCIE_36",
489 "VGPIO_PCIE_37", "VGPIO_PCIE_37",
490 "VGPIO_PCIE_38", "VGPIO_PCIE_38",
491 "VGPIO_PCIE_39", "VGPIO_PCIE_39",
492 "VGPIO_PCIE_40", "VGPIO_PCIE_40",
493 "VGPIO_PCIE_41", "VGPIO_PCIE_41",
494 "VGPIO_PCIE_42", "VGPIO_PCIE_42",
495 "VGPIO_PCIE_43", "VGPIO_PCIE_43",
496 "VGPIO_PCIE_44", "VGPIO_PCIE_44",
497 "VGPIO_PCIE_45", "VGPIO_PCIE_45",
498 "VGPIO_PCIE_46", "VGPIO_PCIE_46",
499 "VGPIO_PCIE_47", "VGPIO_PCIE_47",
500 "VGPIO_PCIE_48", "VGPIO_PCIE_48",
501 "VGPIO_PCIE_49", "VGPIO_PCIE_49",
502 "VGPIO_PCIE_50", "VGPIO_PCIE_50",
503 "VGPIO_PCIE_51", "VGPIO_PCIE_51",
504 "VGPIO_PCIE_52", "VGPIO_PCIE_52",
505 "VGPIO_PCIE_53", "VGPIO_PCIE_53",
506 "VGPIO_PCIE_54", "VGPIO_PCIE_54",
507 "VGPIO_PCIE_55", "VGPIO_PCIE_55",
508 "VGPIO_PCIE_56", "VGPIO_PCIE_56",
509 "VGPIO_PCIE_57", "VGPIO_PCIE_57",
510 "VGPIO_PCIE_58", "VGPIO_PCIE_58",
511 "VGPIO_PCIE_59", "VGPIO_PCIE_59",
512 "VGPIO_PCIE_60", "VGPIO_PCIE_60",
513 "VGPIO_PCIE_61", "VGPIO_PCIE_61",
514 "VGPIO_PCIE_62", "VGPIO_PCIE_62",
515 "VGPIO_PCIE_63", "VGPIO_PCIE_63",
516 "VGPIO_PCIE_64", "VGPIO_PCIE_64",
517 "VGPIO_PCIE_65", "VGPIO_PCIE_65",
518 "VGPIO_PCIE_66", "VGPIO_PCIE_66",
519 "VGPIO_PCIE_67", "VGPIO_PCIE_67",
520 "VGPIO_PCIE_68", "VGPIO_PCIE_68",
521 "VGPIO_PCIE_69", "VGPIO_PCIE_69",
522 "VGPIO_PCIE_70", "VGPIO_PCIE_70",
523 "VGPIO_PCIE_71", "VGPIO_PCIE_71",
524 "VGPIO_PCIE_72", "VGPIO_PCIE_72",
525 "VGPIO_PCIE_73", "VGPIO_PCIE_73",
526 "VGPIO_PCIE_74", "VGPIO_PCIE_74",
527 "VGPIO_PCIE_75", "VGPIO_PCIE_75",
528 "VGPIO_PCIE_76", "VGPIO_PCIE_76",
529 "VGPIO_PCIE_77", "VGPIO_PCIE_77",
530 "VGPIO_PCIE_78", "VGPIO_PCIE_78",
531 "VGPIO_PCIE_79", "VGPIO_PCIE_79",
532 "VGPIO_USB_0", "VGPIO_USB_0",
533 "VGPIO_USB_1", "VGPIO_USB_1",
534 "VGPIO_USB_2", "VGPIO_USB_2",
535 "VGPIO_USB_3", "VGPIO_USB_3",
536 "VGPIO_USB_4", "VGPIO_USB_4",
537 "VGPIO_USB_5", "VGPIO_USB_5",
538 "VGPIO_USB_6", "VGPIO_USB_6",
539 "VGPIO_USB_7", "VGPIO_USB_7",
540 "VGPIO_PCIE_80", "VGPIO_PCIE_80",
541 "VGPIO_PCIE_81", "VGPIO_PCIE_81",
542 "VGPIO_PCIE_82", "VGPIO_PCIE_82",
543 "VGPIO_PCIE_83", "VGPIO_PCIE_83",
546 const struct gpio_group tigerlake_pch_lp_group_vgpio3 = {
547 .display = "------- GPIO Group VGPIO3 -------",
548 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_vgpio3_names) / 2,
549 .func_count = 2,
550 .pad_names = tigerlake_pch_lp_group_vgpio3_names,
553 const char *const tigerlake_pch_lp_group_jtag_names[] = {
554 "JTAG_TDO", "JTAG_TDO",
555 "JTAGX", "JTAGX",
556 "PRDY#", "PRDY#",
557 "PREQ#", "PREQ#",
558 "CPU_TRST#", "CPU_TRST#",
559 "JTAG_TDI", "JTAG_TDI",
560 "JTAG_TMS", "JTAG_TMS",
561 "JTAG_TCK", "JTAG_TCK",
562 "DBG_PMODE", "DBG_PMODE",
563 "MLK", "MLK",
566 const struct gpio_group tigerlake_pch_lp_group_jtag = {
567 .display = "------- GPIO Group JTAG -------",
568 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_jtag_names) / 2,
569 .func_count = 2,
570 .pad_names = tigerlake_pch_lp_group_jtag_names,
573 const char *const tigerlake_pch_lp_group_spi_names[] = {
574 "SPI0_IO_2", "SPI0_IO_2",
575 "SPI0_IO_3", "SPI0_IO_3",
576 "SPI0_MOSI_IO_0", "SPI0_MOSI_IO_0",
577 "SPI0_MISO_IO_1", "SPI0_MISO_IO_1",
578 "SPI0_TPM_CS2#", "SPI0_TPM_CS2#",
579 "SPI0_FLASH_CS0#", "SPI0_FLASH_CS0#",
580 "SPI0_FLASH_CS1#", "SPI0_FLASH_CS1#",
581 "SPI0_CLK", "SPI0_CLK",
582 "SPI0_CLK_LOOPBK", "SPI0_CLK_LOOPBK",
585 const struct gpio_group tigerlake_pch_lp_group_spi = {
586 .display = "------- GPIO Group SPI -------",
587 .pad_count = ARRAY_SIZE(tigerlake_pch_lp_group_spi_names) / 2,
588 .func_count = 2,
589 .pad_names = tigerlake_pch_lp_group_spi_names,
592 const struct gpio_group *const tigerlake_pch_lp_community_0_groups[] = {
593 &tigerlake_pch_lp_group_b,
594 &tigerlake_pch_lp_group_t,
595 &tigerlake_pch_lp_group_a,
598 const struct gpio_community tigerlake_pch_lp_community_0 = {
599 .name = "------- GPIO Community 0 -------",
600 .pcr_port_id = 0x6e,
601 .group_count = ARRAY_SIZE(tigerlake_pch_lp_community_0_groups),
602 .groups = tigerlake_pch_lp_community_0_groups,
605 const struct gpio_group *const tigerlake_pch_lp_community_1_groups[] = {
606 &tigerlake_pch_lp_group_s,
607 &tigerlake_pch_lp_group_h,
608 &tigerlake_pch_lp_group_d,
609 &tigerlake_pch_lp_group_u,
610 &tigerlake_pch_lp_group_vgpio,
612 const struct gpio_community tigerlake_pch_lp_community_1 = {
613 .name = "------- GPIO Community 1 -------",
614 .pcr_port_id = 0x6d,
615 .group_count = ARRAY_SIZE(tigerlake_pch_lp_community_1_groups),
616 .groups = tigerlake_pch_lp_community_1_groups,
619 const struct gpio_group *const tigerlake_pch_lp_community_2_groups[] = {
620 &tigerlake_pch_lp_group_gpd,
623 const struct gpio_community tigerlake_pch_lp_community_2 = {
624 .name = "------- GPIO Community 2 -------",
625 .pcr_port_id = 0x6c,
626 .group_count = ARRAY_SIZE(tigerlake_pch_lp_community_2_groups),
627 .groups = tigerlake_pch_lp_community_2_groups,
630 const struct gpio_group *const tigerlake_pch_lp_community_3_groups[] = {
631 &tigerlake_pch_lp_group_cpu,
632 &tigerlake_pch_lp_group_vgpio3,
635 const struct gpio_community tigerlake_pch_lp_community_3 = {
636 .name = "------- GPIO Community 3 -------",
637 .pcr_port_id = 0x6b,
638 .group_count = ARRAY_SIZE(tigerlake_pch_lp_community_3_groups),
639 .groups = tigerlake_pch_lp_community_3_groups,
642 const struct gpio_group *const tigerlake_pch_lp_community_4_groups[] = {
643 &tigerlake_pch_lp_group_c,
644 &tigerlake_pch_lp_group_f,
645 &tigerlake_pch_lp_group_hvmos,
646 &tigerlake_pch_lp_group_e,
647 &tigerlake_pch_lp_group_jtag,
650 const struct gpio_community tigerlake_pch_lp_community_4 = {
651 .name = "------- GPIO Community 4 -------",
652 .pcr_port_id = 0x6a,
653 .group_count = ARRAY_SIZE(tigerlake_pch_lp_community_4_groups),
654 .groups = tigerlake_pch_lp_community_4_groups,
657 const struct gpio_group *const tigerlake_pch_lp_community_5_groups[] = {
658 &tigerlake_pch_lp_group_r,
659 &tigerlake_pch_lp_group_spi,
662 const struct gpio_community tigerlake_pch_lp_community_5 = {
663 .name = "------- GPIO Community 5 -------",
664 .pcr_port_id = 0x69,
665 .group_count = ARRAY_SIZE(tigerlake_pch_lp_community_5_groups),
666 .groups = tigerlake_pch_lp_community_5_groups,
669 const struct gpio_community *const tigerlake_pch_lp_communities[] = {
670 &tigerlake_pch_lp_community_0,
671 &tigerlake_pch_lp_community_1,
672 &tigerlake_pch_lp_community_2,
673 &tigerlake_pch_lp_community_3,
674 &tigerlake_pch_lp_community_4,
675 &tigerlake_pch_lp_community_5,
678 /* ----------------------------- Tiger Lake H ----------------------------- */
680 const char *const tigerlake_pch_h_group_a_names[] = {
682 * These pads start at offset 0x680, but according to EDS the PADBAR is 0x700.
683 * This would cause the tool to parse the GPIOs incorrectly.
684 * For informational purposes only.
687 "SPI0_IO_2", "SPI0_IO_2", "n/a",
688 "SPI0_IO_3", "SPI0_IO_3", "n/a",
689 "SPI0_MOSI_IO_0", "SPI0_MOSI_IO_0", "n/a",
690 "SPI0_MISO_IO_1", "SPI0_MISO_IO_1", "n/a",
691 "SPI0_TPM_CS2#", "SPI0_TPM_CS2#", "n/a",
692 "SPI0_FLASH_CS0#", "SPI0_FLASH_CS0#", "n/a",
693 "SPI0_FLASH_CS1#", "SPI0_FLASH_CS1#", "n/a",
694 "SPI0_CLK", "SPI0_CLK", "n/a",
696 "GPP_A0", "ESPI_IO0", "n/a",
697 "GPP_A1", "ESPI_IO1", "n/a",
698 "GPP_A2", "ESPI_IO2", "SUSWARN#/SUSPWRDNACK",
699 "GPP_A3", "ESPI_IO3", "SUSACK#",
700 "GPP_A4", "ESPI_CS0#", "n/a",
701 "GPP_A5", "ESPI_CLK", "n/a",
702 "GPP_A6", "ESPI_RESET#", "n/a",
703 "GPP_A7", "ESPI_CS1#", "n/a",
704 "GPP_A8", "ESPI_CS2#", "n/a",
705 "GPP_A9", "ESPI_CS3#", "n/a",
706 "GPP_A10", "ESPI_ALERT0#", "n/a",
707 "GPP_A11", "ESPI_ALERT1#", "n/a",
708 "GPP_A12", "ESPI_ALERT2#", "n/a",
709 "GPP_A13", "ESPI_ALERT3#", "n/a",
710 "GPP_A14", "n/a", "IMGCLKOUT0",
711 "SPI0_CLK_LOOPBK", "SPI0_CLK_LOOPBK", "n/a",
712 "ESPI_CLK_LOOPBK", "ESPI_CLK_LOOPBK", "n/a",
715 const struct gpio_group tigerlake_pch_h_group_a = {
716 .display = "------- GPIO Group GPP_A -------",
717 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_a_names) / 3,
718 .func_count = 3,
719 .pad_names = tigerlake_pch_h_group_a_names,
722 const char *const tigerlake_pch_h_group_b_names[] = {
723 "GPP_B0", "GSPI0_CS1#", "IMGCLKOUT1",
724 "GPP_B1", "GSPI1_CS1#", "TIME_SYNC1",
725 "GPP_B2", "VRALERT#", "n/a",
726 "GPP_B3", "CPU_GP2", "n/a",
727 "GPP_B4", "CPU_GP3", "n/a",
728 "GPP_B5", "SRCCLKREQ0#", "n/a",
729 "GPP_B6", "SRCCLKREQ1#", "n/a",
730 "GPP_B7", "SRCCLKREQ2#", "n/a",
731 "GPP_B8", "SRCCLKREQ3#", "n/a",
732 "GPP_B9", "SRCCLKREQ4#", "n/a",
733 "GPP_B10", "SRCCLKREQ5#", "n/a",
734 "GPP_B11", "I2S_MCLK", "n/a",
735 "GPP_B12", "SLP_S0#", "n/a",
736 "GPP_B13", "PLTRST#", "n/a",
737 "GPP_B14", "SPKR", "n/a",
738 "GPP_B15", "GSPI0_CS0#", "n/a",
739 "GPP_B16", "GSPI0_CLK", "n/a",
740 "GPP_B17", "GSPI0_MISO", "n/a",
741 "GPP_B18", "GSPI0_MOSI", "n/a",
742 "GPP_B19", "GSPI1_CS0#", "n/a",
743 "GPP_B20", "GSPI1_CLK", "n/a",
744 "GPP_B21", "GSPI1_MISO", "n/a",
745 "GPP_B22", "GSPI1_MOSI", "n/a",
746 "GPP_B23", "SML1ALERT#", "PCHHOT#",
747 "GSPI0_CLK_LOOPBK", "GSPI0_CLK_LOOPBK", "n/a",
748 "GSPI1_CLK_LOOPBK", "GSPI1_CLK_LOOPBK", "n/a",
751 const struct gpio_group tigerlake_pch_h_group_b = {
752 .display = "------- GPIO Group GPP_B -------",
753 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_b_names) / 3,
754 .func_count = 3,
755 .pad_names = tigerlake_pch_h_group_b_names,
758 const char *const tigerlake_pch_h_group_c_names[] = {
759 "GPP_C0", "SMBCLK", "n/a", "n/a", "n/a",
760 "GPP_C1", "SMBDATA", "n/a", "n/a", "n/a",
761 "GPP_C2", "SMBALERT#", "n/a", "n/a", "n/a",
762 "GPP_C3", "ISH_UART0_RXD", "n/a", "I2C2_SDA", "n/a",
763 "GPP_C4", "ISH_UART0_TXD", "n/a", "I2C2_SCL", "n/a",
764 "GPP_C5", "SML0ALERT#", "n/a", "n/a", "n/a",
765 "GPP_C6", "ISH_I2C2_SDA", "I2C3_SDA", "SBK4", "BK4",
766 "GPP_C7", "ISH_I2C2_SCL", "I2C3_SCL", "n/a", "n/a",
767 "GPP_C8", "UART0_RXD", "n/a", "n/a", "n/a",
768 "GPP_C9", "UART0_TXD", "n/a", "n/a", "n/a",
769 "GPP_C10", "UART0_RTS#", "n/a", "n/a", "n/a",
770 "GPP_C11", "UART0_CTS#", "n/a", "n/a", "n/a",
771 "GPP_C12", "UART1_RXD", "ISH_UART1_RXD", "n/a", "n/a",
772 "GPP_C13", "UART1_TXD", "ISH_UART1_TXD", "n/a", "n/a",
773 "GPP_C14", "UART1_RTS#", "ISH_UART1_RTS#", "n/a", "n/a",
774 "GPP_C15", "UART1_CTS#", "ISH_UART1_CTS#", "n/a", "n/a",
775 "GPP_C16", "I2C0_SDA", "n/a", "n/a", "n/a",
776 "GPP_C17", "I2C0_SCL", "n/a", "n/a", "n/a",
777 "GPP_C18", "I2C1_SDA", "n/a", "n/a", "n/a",
778 "GPP_C19", "I2C1_SCL", "n/a", "n/a", "n/a",
779 "GPP_C20", "UART2_RXD", "n/a", "n/a", "n/a",
780 "GPP_C21", "UART2_TXD", "n/a", "n/a", "n/a",
781 "GPP_C22", "UART2_RTS#", "n/a", "n/a", "n/a",
782 "GPP_C23", "UART2_CTS#", "n/a", "n/a", "n/a",
785 const struct gpio_group tigerlake_pch_h_group_c = {
786 .display = "------- GPIO Group GPP_C -------",
787 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_c_names) / 5,
788 .func_count = 5,
789 .pad_names = tigerlake_pch_h_group_c_names,
792 const char *const tigerlake_pch_h_group_d_names[] = {
793 "GPP_D0", "n/a", "THC0_SPI1_CS#", "SBK0", "BK0",
794 "GPP_D1", "n/a", "THC0_SPI1_CLK", "SBK1", "BK1",
795 "GPP_D2", "n/a", "THC0_SPI1_IO1", "SBK2", "BK2",
796 "GPP_D3", "n/a", "THC0_SPI1_IO0", "SBK3", "BK3",
797 "GPP_D4", "SML1CLK", "n/a", "n/a", "n/a",
798 "GPP_D5", "I2S2_SFRM", "CNV_RF_RESET#", "n/a", "n/a",
799 "GPP_D6", "I2S2_TXD", "MODEM_CLKREQ", "CRF_XTAL_CLKREQ", "n/a",
800 "GPP_D7", "I2S2_RXD", "THC0_SPI1_RST#", "n/a", "n/a",
801 "GPP_D8", "I2S2_SCLK", "THC0_SPI1_INT#", "n/a", "n/a",
802 "GPP_D9", "SML0CLK", "n/a", "n/a", "n/a",
803 "GPP_D10", "SML0DATA", "n/a", "n/a", "n/a",
804 "GPP_D11", "n/a", "n/a", "n/a", "n/a",
805 "GPP_D12", "ISH_UART0_CTS#", "n/a", "n/a", "n/a",
806 "GPP_D13", "n/a", "THC0_SPI1_IO2", "n/a", "n/a",
807 "GPP_D14", "n/a", "THC0_SPI1_IO3", "n/a", "n/a",
808 "GPP_D15", "SML1DATA", "n/a", "n/a", "n/a",
809 "GPP_D16", "GSPI3_CS0#", "THC1_SPI2_CS#", "n/a", "n/a",
810 "GPP_D17", "GSPI3_CLK", "THC1_SPI2_CLK", "n/a", "n/a",
811 "GPP_D18", "GSPI3_MISO", "THC1_SPI2_IO0", "n/a", "n/a",
812 "GPP_D19", "GSPI3_MOSI", "THC1_SPI2_IO1", "n/a", "n/a",
813 "GPP_D20", "UART3_RXD", "THC1_SPI2_IO2", "n/a", "n/a",
814 "GPP_D21", "UART3_TXD", "THC1_SPI2_IO3", "n/a", "n/a",
815 "GPP_D22", "UART3_RTS#", "THC1_SPI2_RST#", "n/a", "n/a",
816 "GPP_D23", "UART3_CTS#", "THC1_SPI2_INT#", "n/a", "n/a",
817 /* Below are just guesses */
818 "SPI1_CLK_LOOPBK", "n/a", "THC0_CLK_LOOPBK", "n/a", "n/a",
819 "GPI3_CLK_LOOPBK", "n/a", "THC1_CLK_LOOPBK", "n/a", "n/a",
822 const struct gpio_group tigerlake_pch_h_group_d = {
823 .display = "------- GPIO Group GPP_D -------",
824 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_d_names) / 5,
825 .func_count = 5,
826 .pad_names = tigerlake_pch_h_group_d_names,
829 const char *const tigerlake_pch_h_group_e_names[] = {
830 "GPP_E0", "SATAXPCIE0", "SATAGP0",
831 "GPP_E1", "SATAXPCIE1", "SATAGP1",
832 "GPP_E2", "SATAXPCIE2", "SATAGP2",
833 "GPP_E3", "CPU_GP0", "n/a",
834 "GPP_E4", "SATA_DEVSLP0", "n/a",
835 "GPP_E5", "SATA_DEVSLP1", "n/a",
836 "GPP_E6", "SATA_DEVSLP2", "n/a",
837 "GPP_E7", "CPU_GP1", "n/a",
838 "GPP_E8", "SATALED#", "n/a",
839 "GPP_E9", "USB_OC0#", "n/a",
840 "GPP_E10", "USB_OC1#", "n/a",
841 "GPP_E11", "USB_OC2#", "n/a",
842 "GPP_E12", "USB_OC3#", "n/a",
845 const struct gpio_group tigerlake_pch_h_group_e = {
846 .display = "------- GPIO Group GPP_E -------",
847 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_e_names) / 3,
848 .func_count = 3,
849 .pad_names = tigerlake_pch_h_group_e_names,
852 const char *const tigerlake_pch_h_group_f_names[] = {
853 "GPP_F0", "SATAXPCIE3", "SATAGP3",
854 "GPP_F1", "SATAXPCIE4", "SATAGP4",
855 "GPP_F2", "SATAXPCIE5", "SATAGP5",
856 "GPP_F3", "SATAXPCIE6", "SATAGP6",
857 "GPP_F4", "SATAXPCIE7", "SATAGP7",
858 "GPP_F5", "SATA_DEVSLP3", "n/a",
859 "GPP_F6", "SATA_DEVSLP4", "n/a",
860 "GPP_F7", "SATA_DEVSLP5", "n/a",
861 "GPP_F8", "SATA_DEVSLP6", "n/a",
862 "GPP_F9", "SATA_DEVSLP7", "n/a",
863 "GPP_F10", "SATA_SCLOCK", "n/a",
864 "GPP_F11", "SATA_SLOAD", "n/a",
865 "GPP_F12", "SATA_SDATAOUT1", "n/a",
866 "GPP_F13", "SATA_SDATAOUT0", "n/a",
867 "GPP_F14", "PS_ON#", "n/a",
868 "GPP_F15", "M2_SKT2_CFG0", "n/a",
869 "GPP_F16", "M2_SKT2_CFG1", "n/a",
870 "GPP_F17", "M2_SKT2_CFG2", "n/a",
871 "GPP_F18", "M2_SKT2_CFG3", "n/a",
872 "GPP_F19", "eDP_VDDEN", "n/a",
873 "GPP_F20", "eDP_BKLTEN", "n/a",
874 "GPP_F21", "eDP_BKLTCTL", "n/a",
875 "GPP_F22", "VNN_CTRL", "n/a",
876 "GPP_F23", "n/a", "n/a",
879 const struct gpio_group tigerlake_pch_h_group_f = {
880 .display = "------- GPIO Group GPP_F -------",
881 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_f_names) / 3,
882 .func_count = 3,
883 .pad_names = tigerlake_pch_h_group_f_names,
886 const char *const tigerlake_pch_h_group_g_names[] = {
887 "GPP_G0", "DDPA_CTRLCLK", "n/a", "n/a", "n/a", "n/a",
888 "GPP_G1", "DDPA_CTRLDATA", "n/a", "n/a", "n/a", "n/a",
889 "GPP_G2", "DNX_FORCE_RELOAD", "n/a", "n/a", "n/a", "n/a",
890 "GPP_G3", "n/a", "n/a", "n/a", "n/a", "n/a",
891 "GPP_G4", "n/a", "n/a", "n/a", "n/a", "n/a",
892 "GPP_G5", "SLP_DRAM#", "n/a", "n/a", "n/a", "n/a",
893 "GPP_G6", "n/a", "Reserved", "n/a", "n/a", "n/a",
894 "GPP_G7", "n/a", "Reserved", "n/a", "n/a", "n/a",
895 "GPP_G8", "ISH_SPI_CS#", "DDP3_CTRLCLK", "GSPI2_CS0#", "TBT_LSX2_TXD", "BSSB_LS2_RX",
896 "GPP_G9", "ISH_SPI_CLK", "DDP3_CTRLDATA", "GSPI2_CLK", "TBT_LSX2_RXD", "BSSB_LS2_TX",
897 "GPP_G10", "ISH_SPI_MISO", "DDP4_CTRLCLK", "GSPI2_MISO", "TBT_LSX3_TXD", "BSSB_LS3_RX",
898 "GPP_G11", "ISH_SPI_MOSI", "DDP4_CTRLDATA", "GSPI2_MOSI", "TBT_LSX3_RXD", "BSSB_LS3_TX",
899 "GPP_G12", "DDP1_CTRLCLK", "n/a", "TBT_LSX0_TXD", "BSSB_LS0_RX", "n/a",
900 "GPP_G13", "DDP1_CTRLDATA", "n/a", "TBT_LSX0_RXD", "BSSB_LS0_TX", "n/a",
901 "GPP_G14", "DDP2_CTRLCLK", "n/a", "TBT_LSX1_TXD", "BSSB_LS1_RX", "n/a",
902 "GPP_G15", "DDP2_CTRLDATA", "n/a", "TBT_LSX1_RXD", "BSSB_LS1_TX", "n/a",
905 const struct gpio_group tigerlake_pch_h_group_g = {
906 .display = "------- GPIO Group GPP_G -------",
907 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_g_names) / 6,
908 .func_count = 6,
909 .pad_names = tigerlake_pch_h_group_g_names,
912 const char *const tigerlake_pch_h_group_h_names[] = {
913 "GPP_H0", "SRCCLKREQ6#", "n/a",
914 "GPP_H1", "SRCCLKREQ7#", "n/a",
915 "GPP_H2", "SRCCLKREQ8#", "n/a",
916 "GPP_H3", "SRCCLKREQ9#", "n/a",
917 "GPP_H4", "SRCCLKREQ10#", "n/a",
918 "GPP_H5", "SRCCLKREQ11#", "n/a",
919 "GPP_H6", "SRCCLKREQ12#", "n/a",
920 "GPP_H7", "SRCCLKREQ13#", "n/a",
921 "GPP_H8", "SRCCLKREQ14#", "n/a",
922 "GPP_H9", "SRCCLKREQ15#", "n/a",
923 "GPP_H10", "SML2CLK", "n/a",
924 "GPP_H11", "SML2DATA", "n/a",
925 "GPP_H12", "SML2ALERT#", "n/a",
926 "GPP_H13", "SML3CLK", "n/a",
927 "GPP_H14", "SML3DATA", "n/a",
928 "GPP_H15", "SML3ALERT#", "n/a",
929 "GPP_H16", "SML4CLK", "n/a",
930 "GPP_H17", "SML4DATA", "n/a",
931 "GPP_H18", "SML4ALERT#", "n/a",
932 "GPP_H19", "ISH_I2C0_SDA", "n/a",
933 "GPP_H20", "ISH_I2C0_SCL", "n/a",
934 "GPP_H21", "ISH_I2C1_SDA", "SMI#",
935 "GPP_H22", "ISH_I2C1_SCL", "NMI#",
936 "GPP_H23", "TIME_SYNC0", "n/a",
939 const struct gpio_group tigerlake_pch_h_group_h = {
940 .display = "------- GPIO Group GPP_H -------",
941 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_h_names) / 3,
942 .func_count = 3,
943 .pad_names = tigerlake_pch_h_group_h_names,
946 const char *const tigerlake_pch_h_group_i_names[] = {
947 "GPP_I0", "PMCALERT#", "n/a",
948 "GPP_I1", "DDSP_HPD1", "DISP_MISC1",
949 "GPP_I2", "DDSP_HPD2", "DISP_MISC2",
950 "GPP_I3", "DDSP_HPD3", "DISP_MISC3",
951 "GPP_I4", "DDSP_HPD4", "DISP_MISC4",
952 "GPP_I5", "DDPB_CTRLCLK", "n/a",
953 "GPP_I6", "DDPB_CTRLDATA", "n/a",
954 "GPP_I7", "DDPC_CTRLCLK", "n/a",
955 "GPP_I8", "DDPC_CTRLDATA", "n/a",
956 "GPP_I9", "Reserved", "n/a",
957 "GPP_I10", "Reserved", "n/a",
958 "GPP_I11", "USB_OC4#", "I2C4_SDA",
959 "GPP_I12", "USB_OC5#", "I2C4_SCL",
960 "GPP_I13", "USB_OC6#", "I2C5_SDA",
961 "GPP_I14", "USB_OC7#", "I2C5_SCL",
964 const struct gpio_group tigerlake_pch_h_group_i = {
965 .display = "------- GPIO Group GPP_I -------",
966 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_i_names) / 3,
967 .func_count = 3,
968 .pad_names = tigerlake_pch_h_group_i_names,
971 const char *const tigerlake_pch_h_group_j_names[] = {
972 "GPP_J0", "CNV_PA_BLANKING", "n/a",
973 "GPP_J1", "CPU_C10_GATE#", "n/a",
974 "GPP_J2", "CNV_BRI_DT", "UART0_RTS#",
975 "GPP_J3", "CNV_BRI_RSP", "UART0_RXD",
976 "GPP_J4", "CNV_RGI_DT", "UART0_TXD",
977 "GPP_J5", "CNV_RGI_RSP", "UART0_CTS#",
978 "GPP_J6", "CNV_MFUART2_RXD", "n/a",
979 "GPP_J7", "CNV_MFUART2_TXD", "n/a",
980 "GPP_J8", "n/a", "n/a",
981 "GPP_J9", "n/a", "n/a",
984 const struct gpio_group tigerlake_pch_h_group_j = {
985 .display = "------- GPIO Group GPP_J -------",
986 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_j_names) / 3,
987 .func_count = 3,
988 .pad_names = tigerlake_pch_h_group_j_names,
992 const char *const tigerlake_pch_h_group_k_names[] = {
993 "GPP_K0", "GSXDOUT", "n/a",
994 "GPP_K1", "GSXSLOAD", "n/a",
995 "GPP_K2", "GSXDIN", "n/a",
996 "GPP_K3", "GSXSRESET#", "n/a",
997 "GPP_K4", "GSXCLK", "n/a",
998 "GPP_K5", "ADR_COMPLETE", "n/a",
999 "GPP_K6", "DDSP_HPDA", "DISP_MISCA",
1000 "GPP_K7", "DDSP_HPDB", "DISP_MISCB",
1001 "GPP_K8", "CORE_VID0", "n/a",
1002 "GPP_K9", "CORE_VID1", "n/a",
1003 "GPP_K10", "DDSP_HPDC", "DISP_MISCC",
1004 "GPP_K11", "n/a", "n/a",
1005 "SYS_PWROK", "SYS_PWROK", "n/a",
1006 "SYS_RESET#", "SYS_RESET#", "n/a",
1007 "MLK_RST#", "MLK_RST#", "n/a",
1010 const struct gpio_group tigerlake_pch_h_group_k = {
1011 .display = "------- GPIO Group GPP_K -------",
1012 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_k_names) / 3,
1013 .func_count = 3,
1014 .pad_names = tigerlake_pch_h_group_k_names,
1017 const char *const tigerlake_pch_h_group_r_names[] = {
1018 "GPP_R0", "HDA_BCLK", "I2S0_SCLK", "n/a", "HDACPU_BCLK",
1019 "GPP_R1", "HDA_SYNC", "I2S0_SFRM", "n/a", "n/a",
1020 "GPP_R2", "HDA_SDO", "I2S0_TXD", "n/a", "HDACPU_SDO",
1021 "GPP_R3", "HDA_SDI0", "I2S0_RXD", "n/a", "HDACPU_SDI",
1022 "GPP_R4", "HDA_RST#", "n/a", "n/a", "n/a",
1023 "GPP_R5", "HDA_SDI1", "I2S1_RXD", "n/a", "n/a",
1024 "GPP_R6", "n/a", "I2S1_TXD", "n/a", "n/a",
1025 "GPP_R7", "n/a", "I2S1_SFRM", "n/a", "n/a",
1026 "GPP_R8", "n/a", "I2S1_SCLK", "n/a", "n/a",
1027 "GPP_R9", "PCIE_LNK_DOWN", "n/a", "n/a", "n/a",
1028 "GPP_R10", "ISH_UART0_RTS#", "GSPI2_CS1#", "n/a", "n/a",
1029 "GPP_R11", "SX_EXIT_HOLDOFF#", "ISH_GP6", "n/a", "n/a",
1030 "GPP_R12", "CLKOUT_48", "n/a", "n/a", "n/a",
1031 "GPP_R13", "ISH_GP7", "n/a", "n/a", "n/a",
1032 "GPP_R14", "ISH_GP0", "n/a", "n/a", "n/a",
1033 "GPP_R15", "ISH_GP1", "n/a", "n/a", "n/a",
1034 "GPP_R16", "ISH_GP2", "n/a", "n/a", "n/a",
1035 "GPP_R17", "ISH_GP3", "n/a", "n/a", "n/a",
1036 "GPP_R18", "ISH_GP4", "n/a", "n/a", "n/a",
1037 "GPP_R19", "ISH_GP5", "n/a", "n/a", "n/a",
1040 const struct gpio_group tigerlake_pch_h_group_r = {
1041 .display = "------- GPIO Group GPP_R -------",
1042 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_r_names) / 5,
1043 .func_count = 5,
1044 .pad_names = tigerlake_pch_h_group_r_names,
1047 const char *const tigerlake_pch_h_group_s_names[] = {
1048 "GPP_S0", "SNDW1_CLK", "n/a",
1049 "GPP_S1", "SNDW1_DATA", "n/a",
1050 "GPP_S2", "SNDW2_CLK", "DMIC_CKLB0",
1051 "GPP_S3", "SNDW2_DATA", "DMIC_CLKB1",
1052 "GPP_S4", "SNDW3_CLK", "DMIC_CLKA1",
1053 "GPP_S5", "SNDW3_DATA", "DMIC_DATA1",
1054 "GPP_S6", "SNDW4_CLK", "DMIC_CLKA0",
1055 "GPP_S7", "SNDW4_DATA", "DMIC_DATA0",
1058 const struct gpio_group tigerlake_pch_h_group_s = {
1059 .display = "------- GPIO Group GPP_S -------",
1060 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_s_names) / 3,
1061 .func_count = 3,
1062 .pad_names = tigerlake_pch_h_group_s_names,
1065 const char *const tigerlake_pch_h_group_gpd_names[] = {
1066 "GPD0", "BATLOW#",
1067 "GPD1", "ACPRESENT",
1068 "GPD2", "LAN_WAKE#",
1069 "GPD3", "PWRBTN#",
1070 "GPD4", "SLP_S3#",
1071 "GPD5", "SLP_S4#",
1072 "GPD6", "SLP_A#",
1073 "GPD7", "n/a",
1074 "GPD8", "SUSCLK",
1075 "GPD9", "SLP_WLAN#",
1076 "GPD10", "SLP_S5#",
1077 "GPD11", "LANPHYPC",
1078 "GPD12", "n/a",
1079 "SLP_LAN#", "SLP_LAN#",
1080 "SLP_SUS#", "SLP_SUS#",
1081 "WAKE#", "WAKE#",
1082 "DRAM_RESET#", "DRAM_RESET#",
1085 const struct gpio_group tigerlake_pch_h_group_gpd = {
1086 .display = "------- GPIO Group GPD -------",
1087 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_gpd_names) / 2,
1088 .func_count = 2,
1089 .pad_names = tigerlake_pch_h_group_gpd_names,
1092 const char *const tigerlake_pch_h_group_vgpio0_names[] = {
1093 "VGPIO_USB_0", "VGPIO_USB_0",
1094 "VGPIO_USB_1", "VGPIO_USB_1",
1095 "VGPIO_USB_2", "VGPIO_USB_2",
1096 "VGPIO_USB_3", "VGPIO_USB_3",
1097 "VGPIO_USB_8", "VGPIO_USB_8",
1098 "VGPIO_USB_9", "VGPIO_USB_9",
1099 "VGPIO_USB_10", "VGPIO_USB_10",
1100 "VGPIO_USB_11", "VGPIO_USB_11",
1103 const struct gpio_group tigerlake_pch_h_group_vgpio0 = {
1104 .display = "------- GPIO Group VGPIO0 -------",
1105 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_vgpio0_names) / 2,
1106 .func_count = 2,
1107 .pad_names = tigerlake_pch_h_group_vgpio0_names,
1110 const char *const tigerlake_pch_h_group_vgpio_names[] = {
1111 "VGPIO0", "VGPIO0",
1112 "VGPIO4", "VGPIO4",
1113 "VGPIO5", "VGPIO5",
1114 "VGPIO6", "VGPIO6",
1115 "VGPIO7", "VGPIO7",
1116 "VGPIO8", "VGPIO8",
1117 "VGPIO9", "VGPIO9",
1118 "VGPIO10", "VGPIO10",
1119 "VGPIO11", "VGPIO11",
1120 "VGPIO12", "VGPIO12",
1121 "VGPIO13", "VGPIO13",
1122 "VGPIO18", "VGPIO18",
1123 "VGPIO19", "VGPIO19",
1124 "VGPIO20", "VGPIO20",
1125 "VGPIO21", "VGPIO21",
1126 "VGPIO22", "VGPIO22",
1127 "VGPIO23", "VGPIO23",
1128 "VGPIO24", "VGPIO24",
1129 "VGPIO25", "VGPIO25",
1130 "VGPIO30", "VGPIO30",
1131 "VGPIO31", "VGPIO31",
1132 "VGPIO32", "VGPIO32",
1133 "VGPIO33", "VGPIO33",
1134 "VGPIO34", "VGPIO34",
1135 "VGPIO35", "VGPIO35",
1136 "VGPIO36", "VGPIO36",
1137 "VGPIO37", "VGPIO37",
1140 const struct gpio_group tigerlake_pch_h_group_vgpio = {
1141 .display = "------- GPIO Group VGPIO -------",
1142 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_vgpio_names) / 2,
1143 .func_count = 2,
1144 .pad_names = tigerlake_pch_h_group_vgpio_names,
1147 const char *const tigerlake_pch_h_group_cpu_names[] = {
1148 "HDACPU_SDI", "HDACPU_SDI",
1149 "HDACPU_SDO", "HDACPU_SDO",
1150 "HDACPU_BCLK", "HDACPU_BCLK",
1151 "PM_SYNC", "PM_SYNC",
1152 "PECI", "PECI",
1153 "CPUPWRGD", "CPUPWRGD",
1154 "THRMTRIP#", "THRMTRIP#",
1155 "PLTRST_CPU#", "PLTRST_CPU#",
1156 "PM_DOWN", "PM_DOWN",
1157 "TRIGGER_IN", "TRIGGER_IN",
1158 "TRIGGER_OUT", "TRIGGER_OUT",
1159 "CLKOUT_CPURTC", "CLKOUT_CPURTC",
1160 "VCCST_OVERRIDE", "VCCST_OVERRIDE",
1161 "C10_WAKE", "C10_WAKE",
1164 const struct gpio_group tigerlake_pch_h_group_cpu = {
1165 .display = "------- GPIO Group CPU -------",
1166 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_cpu_names) / 2,
1167 .func_count = 2,
1168 .pad_names = tigerlake_pch_h_group_cpu_names,
1171 const char *const tigerlake_pch_h_group_vgpio3_names[] = {
1172 "VGPIO_PCIE_0", "VGPIO_PCIE_0",
1173 "VGPIO_PCIE_1", "VGPIO_PCIE_1",
1174 "VGPIO_PCIE_2", "VGPIO_PCIE_2",
1175 "VGPIO_PCIE_3", "VGPIO_PCIE_3",
1176 "VGPIO_PCIE_4", "VGPIO_PCIE_4",
1177 "VGPIO_PCIE_5", "VGPIO_PCIE_5",
1178 "VGPIO_PCIE_6", "VGPIO_PCIE_6",
1179 "VGPIO_PCIE_7", "VGPIO_PCIE_7",
1180 "VGPIO_PCIE_8", "VGPIO_PCIE_8",
1181 "VGPIO_PCIE_9", "VGPIO_PCIE_9",
1182 "VGPIO_PCIE_10", "VGPIO_PCIE_10",
1183 "VGPIO_PCIE_11", "VGPIO_PCIE_11",
1184 "VGPIO_PCIE_12", "VGPIO_PCIE_12",
1185 "VGPIO_PCIE_13", "VGPIO_PCIE_13",
1186 "VGPIO_PCIE_14", "VGPIO_PCIE_14",
1187 "VGPIO_PCIE_15", "VGPIO_PCIE_15",
1188 "VGPIO_PCIE_16", "VGPIO_PCIE_16",
1189 "VGPIO_PCIE_17", "VGPIO_PCIE_17",
1190 "VGPIO_PCIE_18", "VGPIO_PCIE_18",
1191 "VGPIO_PCIE_19", "VGPIO_PCIE_19",
1192 "VGPIO_PCIE_20", "VGPIO_PCIE_20",
1193 "VGPIO_PCIE_21", "VGPIO_PCIE_21",
1194 "VGPIO_PCIE_22", "VGPIO_PCIE_22",
1195 "VGPIO_PCIE_23", "VGPIO_PCIE_23",
1196 "VGPIO_PCIE_24", "VGPIO_PCIE_24",
1197 "VGPIO_PCIE_25", "VGPIO_PCIE_25",
1198 "VGPIO_PCIE_26", "VGPIO_PCIE_26",
1199 "VGPIO_PCIE_27", "VGPIO_PCIE_27",
1200 "VGPIO_PCIE_28", "VGPIO_PCIE_28",
1201 "VGPIO_PCIE_29", "VGPIO_PCIE_29",
1202 "VGPIO_PCIE_30", "VGPIO_PCIE_30",
1203 "VGPIO_PCIE_31", "VGPIO_PCIE_31",
1204 "VGPIO_PCIE_32", "VGPIO_PCIE_32",
1205 "VGPIO_PCIE_33", "VGPIO_PCIE_33",
1206 "VGPIO_PCIE_34", "VGPIO_PCIE_34",
1207 "VGPIO_PCIE_35", "VGPIO_PCIE_35",
1208 "VGPIO_PCIE_36", "VGPIO_PCIE_36",
1209 "VGPIO_PCIE_37", "VGPIO_PCIE_37",
1210 "VGPIO_PCIE_38", "VGPIO_PCIE_38",
1211 "VGPIO_PCIE_39", "VGPIO_PCIE_39",
1212 "VGPIO_PCIE_40", "VGPIO_PCIE_40",
1213 "VGPIO_PCIE_41", "VGPIO_PCIE_41",
1214 "VGPIO_PCIE_42", "VGPIO_PCIE_42",
1215 "VGPIO_PCIE_43", "VGPIO_PCIE_43",
1216 "VGPIO_PCIE_44", "VGPIO_PCIE_44",
1217 "VGPIO_PCIE_45", "VGPIO_PCIE_45",
1218 "VGPIO_PCIE_46", "VGPIO_PCIE_46",
1219 "VGPIO_PCIE_47", "VGPIO_PCIE_47",
1220 "VGPIO_PCIE_48", "VGPIO_PCIE_48",
1221 "VGPIO_PCIE_49", "VGPIO_PCIE_49",
1222 "VGPIO_PCIE_50", "VGPIO_PCIE_50",
1223 "VGPIO_PCIE_51", "VGPIO_PCIE_51",
1224 "VGPIO_PCIE_52", "VGPIO_PCIE_52",
1225 "VGPIO_PCIE_53", "VGPIO_PCIE_53",
1226 "VGPIO_PCIE_54", "VGPIO_PCIE_54",
1227 "VGPIO_PCIE_55", "VGPIO_PCIE_55",
1228 "VGPIO_PCIE_56", "VGPIO_PCIE_56",
1229 "VGPIO_PCIE_57", "VGPIO_PCIE_57",
1230 "VGPIO_PCIE_58", "VGPIO_PCIE_58",
1231 "VGPIO_PCIE_59", "VGPIO_PCIE_59",
1232 "VGPIO_PCIE_60", "VGPIO_PCIE_60",
1233 "VGPIO_PCIE_61", "VGPIO_PCIE_61",
1234 "VGPIO_PCIE_62", "VGPIO_PCIE_62",
1235 "VGPIO_PCIE_63", "VGPIO_PCIE_63",
1236 "VGPIO_PCIE_64", "VGPIO_PCIE_64",
1237 "VGPIO_PCIE_65", "VGPIO_PCIE_65",
1238 "VGPIO_PCIE_66", "VGPIO_PCIE_66",
1239 "VGPIO_PCIE_67", "VGPIO_PCIE_67",
1240 "VGPIO_PCIE_68", "VGPIO_PCIE_68",
1241 "VGPIO_PCIE_69", "VGPIO_PCIE_69",
1242 "VGPIO_PCIE_70", "VGPIO_PCIE_70",
1243 "VGPIO_PCIE_71", "VGPIO_PCIE_71",
1244 "VGPIO_PCIE_72", "VGPIO_PCIE_72",
1245 "VGPIO_PCIE_73", "VGPIO_PCIE_73",
1246 "VGPIO_PCIE_74", "VGPIO_PCIE_74",
1247 "VGPIO_PCIE_75", "VGPIO_PCIE_75",
1248 "VGPIO_PCIE_76", "VGPIO_PCIE_76",
1249 "VGPIO_PCIE_77", "VGPIO_PCIE_77",
1250 "VGPIO_PCIE_78", "VGPIO_PCIE_78",
1251 "VGPIO_PCIE_79", "VGPIO_PCIE_79",
1252 "VGPIO_PCIE_80", "VGPIO_PCIE_80",
1253 "VGPIO_PCIE_81", "VGPIO_PCIE_81",
1254 "VGPIO_PCIE_82", "VGPIO_PCIE_82",
1255 "VGPIO_PCIE_83", "VGPIO_PCIE_83",
1258 const struct gpio_group tigerlake_pch_h_group_vgpio3 = {
1259 .display = "------- GPIO Group VGPIO3 -------",
1260 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_vgpio3_names) / 2,
1261 .func_count = 2,
1262 .pad_names = tigerlake_pch_h_group_vgpio3_names,
1265 const char *const tigerlake_pch_h_group_jtag_names[] = {
1266 "JTAG_TDO", "JTAG_TDO",
1267 "JTAGX", "JTAGX",
1268 "PRDY#", "PRDY#",
1269 "PREQ#", "PREQ#",
1270 "CPU_TRST#", "CPU_TRST#",
1271 "JTAG_TDI", "JTAG_TDI",
1272 "JTAG_TMS", "JTAG_TMS",
1273 "JTAG_TCK", "JTAG_TCK",
1274 "DBG_PMODE", "DBG_PMODE",
1275 "MLK", "MLK",
1278 const struct gpio_group tigerlake_pch_h_group_jtag = {
1279 .display = "------- GPIO Group JTAG -------",
1280 .pad_count = ARRAY_SIZE(tigerlake_pch_h_group_jtag_names) / 2,
1281 .func_count = 2,
1282 .pad_names = tigerlake_pch_h_group_jtag_names,
1286 const struct gpio_group *const tigerlake_pch_h_community_0_groups[] = {
1287 &tigerlake_pch_h_group_a,
1288 &tigerlake_pch_h_group_r,
1289 &tigerlake_pch_h_group_b,
1290 &tigerlake_pch_h_group_vgpio0,
1293 const struct gpio_community tigerlake_pch_h_community_0 = {
1294 .name = "------- GPIO Community 0 -------",
1295 .pcr_port_id = 0x6e,
1296 .group_count = ARRAY_SIZE(tigerlake_pch_h_community_0_groups),
1297 .groups = tigerlake_pch_h_community_0_groups,
1300 const struct gpio_group *const tigerlake_pch_h_community_1_groups[] = {
1301 &tigerlake_pch_h_group_d,
1302 &tigerlake_pch_h_group_c,
1303 &tigerlake_pch_h_group_s,
1304 &tigerlake_pch_h_group_g,
1305 &tigerlake_pch_h_group_vgpio,
1307 const struct gpio_community tigerlake_pch_h_community_1 = {
1308 .name = "------- GPIO Community 1 -------",
1309 .pcr_port_id = 0x6d,
1310 .group_count = ARRAY_SIZE(tigerlake_pch_h_community_1_groups),
1311 .groups = tigerlake_pch_h_community_1_groups,
1314 const struct gpio_group *const tigerlake_pch_h_community_2_groups[] = {
1315 &tigerlake_pch_h_group_gpd,
1318 const struct gpio_community tigerlake_pch_h_community_2 = {
1319 .name = "------- GPIO Community 2 -------",
1320 .pcr_port_id = 0x6c,
1321 .group_count = ARRAY_SIZE(tigerlake_pch_h_community_2_groups),
1322 .groups = tigerlake_pch_h_community_2_groups,
1325 const struct gpio_group *const tigerlake_pch_h_community_3_groups[] = {
1326 &tigerlake_pch_h_group_e,
1327 &tigerlake_pch_h_group_f,
1328 &tigerlake_pch_h_group_vgpio3,
1331 const struct gpio_community tigerlake_pch_h_community_3 = {
1332 .name = "------- GPIO Community 3 -------",
1333 .pcr_port_id = 0x6b,
1334 .group_count = ARRAY_SIZE(tigerlake_pch_h_community_3_groups),
1335 .groups = tigerlake_pch_h_community_3_groups,
1338 const struct gpio_group *const tigerlake_pch_h_community_4_groups[] = {
1339 &tigerlake_pch_h_group_h,
1340 &tigerlake_pch_h_group_j,
1341 &tigerlake_pch_h_group_k,
1344 const struct gpio_community tigerlake_pch_h_community_4 = {
1345 .name = "------- GPIO Community 4 -------",
1346 .pcr_port_id = 0x6a,
1347 .group_count = ARRAY_SIZE(tigerlake_pch_h_community_4_groups),
1348 .groups = tigerlake_pch_h_community_4_groups,
1351 const struct gpio_group *const tigerlake_pch_h_community_5_groups[] = {
1352 &tigerlake_pch_h_group_i,
1353 &tigerlake_pch_h_group_jtag,
1354 &tigerlake_pch_h_group_cpu,
1357 const struct gpio_community tigerlake_pch_h_community_5 = {
1358 .name = "------- GPIO Community 5 -------",
1359 .pcr_port_id = 0x69,
1360 .group_count = ARRAY_SIZE(tigerlake_pch_h_community_5_groups),
1361 .groups = tigerlake_pch_h_community_5_groups,
1364 const struct gpio_community *const tigerlake_pch_h_communities[] = {
1365 &tigerlake_pch_h_community_0,
1366 &tigerlake_pch_h_community_1,
1367 &tigerlake_pch_h_community_2,
1368 &tigerlake_pch_h_community_3,
1369 &tigerlake_pch_h_community_4,
1370 &tigerlake_pch_h_community_5,
1373 #endif