blob: 5414cc04432e73656908472facbbcd8c9a74ec13 [file] [log] [blame]
Filip LewiƄskieacc1c72024-04-12 16:39:47 +02001/* SPDX-License-Identifier: GPL-2.0-only */
2
3#ifndef GPIO_NAMES_METEORLAKE
4#define GPIO_NAMES_METEORLAKE
5
6#include "gpio_groups.h"
7
8/* ----------------------------- Meteor Lake ----------------------------- */
9
10const char *const meteorlake_pch_group_a_names[] = {
11 "GPP_A00", "ESPI_IO0", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A00",
12 "GPP_A01", "ESPI_IO1", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A01",
13 "GPP_A02", "ESPI_IO2", "PRIMPWRDNACK", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A02",
14 "GPP_A03", "ESPI_IO3", "PRIMACK#", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A03",
15 "GPP_A04", "ESPI_CS0#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A04",
16 "GPP_A05", "ESPI_CLK", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A05",
17 "GPP_A06", "ESPI_RESET#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A06",
18 "GPP_A07", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
19 "GPP_A08", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
20 "GPP_A09", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
21 "GPP_A10", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
22 "GPP_A11", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A11",
23 "GPP_A12", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A12",
24 "GPP_A13", "RSVD", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A13",
25 "GPP_A14", "RSVD", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A14",
26 "GPP_A15", "RSVD", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A15",
27 "GPP_A16", "RSVD", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A16",
28 "GPP_A17", "RSVD", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A17",
29 "GPP_A18", "RSVD", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A18",
30 "GPP_A19", "RSVD", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A19",
31 "GPP_A20", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_A20",
32 "GPP_A21", "PMCALERT#", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
33 "GPP_A22", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
34 "GPP_A23", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
35 "ESPI_CLK_LOOPBK", "ESPI_CLK_LOOPBK", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
36};
37
38const struct gpio_group meteorlake_pch_group_a = {
39 .display = "------- GPIO Group GPP_A -------",
40 .pad_count = ARRAY_SIZE(meteorlake_pch_group_a_names) / 8,
41 .func_count = 8,
42 .pad_names = meteorlake_pch_group_a_names,
43};
44
45const char *const meteorlake_pch_group_b_names[] = {
46 "GPP_B00", "RSVD", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_B00", "n/a",
47 "GPP_B01", "RSVD", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_B01", "n/a",
48 "GPP_B02", "n/a", "n/a", "ISH_I2C0_SDA", "ISH_I3C0_SDA", "n/a", "n/a", "USB-C_GPP_B02", "I2C2A_SDA",
49 "GPP_B03", "n/a", "n/a", "ISH_I2C0_SCL", "ISH_I3C0_SCL", "n/a", "n/a", "USB-C_GPP_B03", "I2C2A_SCL",
50 "GPP_B04", "n/a", "BK0", "n/a", "ISH_GP4", "n/a", "SBK0", "USB-C_GPP_B04", "n/a",
51 "GPP_B05", "n/a", "BK1", "n/a", "ISH_GP0", "n/a", "SBK1", "USB-C_GPP_B05", "n/a",
52 "GPP_B06", "n/a", "BK2", "n/a", "ISH_GP1", "n/a", "SBK2", "USB-C_GPP_B06", "n/a",
53 "GPP_B07", "n/a", "BK3", "n/a", "ISH_GP2", "n/a", "SBK3", "USB-C_GPP_B07", "n/a",
54 "GPP_B08", "n/a", "BK4", "n/a", "ISH_GP3", "n/a", "SBK4", "USB-C_GPP_B08", "n/a",
55 "GPP_B09", "n/a", "DDSP_HPD0", "DISP_MISC1", "n/a", "n/a", "n/a", "USB-C_GPP_B09", "n/a",
56 "GPP_B10", "n/a", "DDSP_HPD1", "DISP_MISC2", "n/a", "n/a", "n/a", "USB-C_GPP_B10", "n/a",
57 "GPP_B11", "USB_OC1#", "DDSP_HPD2", "DISP_MISC3", "n/a", "n/a", "n/a", "USB-C_GPP_B11", "n/a",
58 "GPP_B12", "SLP_S0#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_B12", "n/a",
59 "GPP_B13", "PLTRST#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_B13", "n/a",
60 "GPP_B14", "USB_OC2#", "DDSP_HPD3", "DISP_MISC4", "n/a", "n/a", "n/a", "USB-C_GPP_B14", "n/a",
61 "GPP_B15", "USB_OC3#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_B15", "n/a",
62 "GPP_B16", "n/a", "DDSP_HPDB", "DISP_MISCB", "n/a", "n/a", "n/a", "USB-C_GPP_B16", "n/a",
63 "GPP_B17", "n/a", "VDDEN2", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_B17", "n/a",
64 "GPP_B18", "ISH_I2C2_SDA", "I2C4A_SDA", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_B18", "n/a",
65 "GPP_B19", "ISH_I2C2_SCL", "I2C4A_SCL", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_B19", "n/a",
66 "GPP_B20", "n/a", "I2C5A_SDA", "n/a", "ISH_GP8", "n/a", "n/a", "USB-C_GPP_B20", "n/a",
67 "GPP_B21", "n/a", "I2C5A_SCL", "n/a", "ISH_GP9", "n/a", "n/a", "USB-C_GPP_B21", "n/a",
68 "GPP_B22", "TIME_SYNC0", "n/a", "n/a", "ISH_GP5", "n/a", "n/a", "USB-C_GPP_B22", "n/a",
69 "GPP_B23", "TIME_SYNC1", "n/a", "n/a", "ISH_GP6", "n/a", "n/a", "USB-C_GPP_B23", "n/a",
70 "GPP_ACI3C0_CLK_LPBK", "GPP_ACI3C0_CLK_LPBK", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
71};
72
73const struct gpio_group meteorlake_pch_group_b = {
74 .display = "------- GPIO Group GPP_B -------",
75 .pad_count = ARRAY_SIZE(meteorlake_pch_group_b_names) / 9,
76 .func_count = 9,
77 .pad_names = meteorlake_pch_group_b_names,
78};
79
80const char *const meteorlake_pch_group_c_names[] = {
81 "GPP_C00", "SMBCLK", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C00",
82 "GPP_C01", "SMBDATA", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C01",
83 "GPP_C02", "SMBALERT#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C02",
84 "GPP_C03", "SML0CLK", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C03",
85 "GPP_C04", "SML0DATA", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C04",
86 "GPP_C05", "SML0ALERT#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C05",
87 "GPP_C06", "SML1CLK", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C06",
88 "GPP_C07", "SML1DATA", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C07",
89 "GPP_C08", "SML1ALERT#", "SOCHOT#", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C08",
90 "GPP_C09", "SRCCLKREQ0#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C09",
91 "GPP_C10", "SRCCLKREQ1#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C10",
92 "GPP_C11", "SRCCLKREQ2#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C11",
93 "GPP_C12", "SRCCLKREQ3#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C12",
94 "GPP_C13", "SRCCLKREQ4#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C13",
95 "GPP_C14", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
96 "GPP_C15", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C15",
97 "GPP_C16", "TBT_LSX0_TXD", "DDP0_CTRLCLK", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C16",
98 "GPP_C17", "TBT_LSX0_RXD", "DDP0_CTRLDATA", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C17",
99 "GPP_C18", "TBT_LSX1_TXD", "DDP1_CTRLCLK", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C18",
100 "GPP_C19", "TBT_LSX1_RXD", "DDP1_CTRLDATA", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C19",
101 "GPP_C20", "TBT_LSX2_TXD", "DDP2_CTRLCLK", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C20",
102 "GPP_C21", "TBT_LSX2_RXD", "DDP2_CTRLDATA", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C21",
103 "GPP_C22", "TBT_LSX3_TXD", "DDP3_CTRLCLK", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C22",
104 "GPP_C23", "TBT_LSX3_RXD", "DDP3_CTRLDATA", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_C23",
105};
106
107const struct gpio_group meteorlake_pch_group_c = {
108 .display = "------- GPIO Group GPP_C -------",
109 .pad_count = ARRAY_SIZE(meteorlake_pch_group_c_names) / 8,
110 .func_count = 8,
111 .pad_names = meteorlake_pch_group_c_names,
112};
113
114const char *const meteorlake_pch_group_d_names[] = {
115 "GPP_D00", "IMGCLKOUT1", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_D00",
116 "GPP_D01", "I2C3A_SDA", "BKLTEN2", "ISH_I2C2A_SDA", "n/a", "n/a", "n/a", "USB-C_GPP_D01",
117 "GPP_D02", "I2C3A_SCL", "BKLTCTL2", "ISH_I2C2A_SCL", "n/a", "n/a", "n/a", "USB-C_GPP_D02",
118 "GPP_D03", "PROC_GP1", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_D03",
119 "GPP_D04", "IMGCLKOUT0", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_D04",
120 "GPP_D05", "n/a", "ISH_UART0_RXD", "ISH_SPI_CS#", "n/a", "n/a", "SML0BDATA", "USB-C_GPP_D05",
121 "GPP_D06", "n/a", "ISH_UART0_TXD", "ISH_SPI_CLK", "n/a", "n/a", "SML0BCLK", "USB-C_GPP_D06",
122 "GPP_D07", "IMGCLKOUT4", "ISH_UART0_RTS#", "ISH_SPI_MISO", "n/a", "n/a", "n/a", "USB-C_GPP_D07",
123 "GPP_D08", "n/a", "ISH_UART0_CTS#", "ISH_SPI_MOSI", "n/a", "n/a", "SML0BALERT#", "USB-C_GPP_D08",
124 "GPP_D09", "n/a", "I2S_MCLK1_OUT", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_D09",
125 "GPP_D10", "HDA_BCLK", "I2S0_SCLK", "DMIC_CLK_A1", "n/a", "n/a", "n/a", "USB-C_GPP_D10",
126 "GPP_D11", "HDA_SYNC", "I2S0_SFRM", "DMIC_CLK_B1", "n/a", "n/a", "n/a", "USB-C_GPP_D11",
127 "GPP_D12", "HDA_SDO", "I2S0_TXD", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_D12",
128 "GPP_D13", "HDA_SDI0", "I2S0_RXD", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_D13",
129 "GPP_D14", "n/a", "I2S2_SCLK", "DMIC_CLK_A0", "n/a", "n/a", "n/a", "USB-C_GPP_D14",
130 "GPP_D15", "n/a", "I2S2_SFRM", "DMIC_DATA0", "n/a", "n/a", "n/a", "USB-C_GPP_D15",
131 "GPP_D16", "HDA_SDI1", "I2S2_TXD", "DMIC_CLK_B0", "n/a", "n/a", "n/a", "USB-C_GPP_D16",
132 "GPP_D17", "HDA_RST#", "I2S2_RXD", "DMIC_DATA1", "n/a", "n/a", "n/a", "USB-C_GPP_D17",
133 "GPP_D18", "SRCCLKREQ6#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_D18",
134 "GPP_D19", "SRCCLKREQ7#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_D19",
135 "GPP_D20", "SRCCLKREQ8#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_D20",
136 "GPP_D21", "RSVD", "SRCCLKREQ5#", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_D21",
137 "GPP_D22", "n/a", "BSSB_LS0_RX", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_D22",
138 "GPP_D23", "n/a", "BSSB_LS0_TX", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_D23",
139 "GPP_BOOTHALT_B", "GPP_BOOTHALT_B", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
140};
141
142const struct gpio_group meteorlake_pch_group_d = {
143 .display = "------- GPIO Group GPP_D -------",
144 .pad_count = ARRAY_SIZE(meteorlake_pch_group_d_names) / 8,
145 .func_count = 8,
146 .pad_names = meteorlake_pch_group_d_names,
147};
148
149const char *const meteorlake_pch_group_e_names[] = {
150 "GPP_E00", "SATAXPCIE0", "SATAGP0", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_E00", "n/a",
151 "GPP_E01", "USB-C_SMLACLK", "THC0_SPI1_IO2", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_E01", "n/a",
152 "GPP_E02", "USB-C_SMLADATA", "THC0_SPI1_IO3", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_E02", "n/a",
153 "GPP_E03", "PROC_GP0", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_E03", "n/a",
154 "GPP_E04", "SATA_DEVSLP0", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_E04", "n/a",
155 "GPP_E05", "SATA_DEVSLP1", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_E05", "ISH_GP7",
156 "GPP_E06", "n/a", "THC0_SPI1_RST#", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_E06", "n/a",
157 "GPP_E07", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_E07", "n/a",
158 "GPP_E08", "DDPA_CTRLDATA", "SATALED#", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_E08", "n/a",
159 "GPP_E09", "USB_OC0#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_E09", "n/a",
160 "GPP_E10", "n/a", "THC0_SPI1_CS#", "n/a", "n/a", "n/a", "GSPI0_CS0#", "USB-C_GPP_E10", "n/a",
161 "GPP_E11", "n/a", "THC0_SPI1_CLK", "n/a", "n/a", "n/a", "GSPI0_CLK", "USB-C_GPP_E11", "n/a",
162 "GPP_E12", "n/a", "THC0_SPI1_IO1", "n/a", "n/a", "n/a", "GSPI0_MISO", "USB-C_GPP_E12", "I2C4_SDA",
163 "GPP_E13", "n/a", "THC0_SPI1_IO0", "n/a", "n/a", "n/a", "GSPI0_MOSI", "USB-C_GPP_E13", "I2C4_SCL",
164 "GPP_E14", "DDSP_HPDA", "DISP_MISCA", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_E14", "n/a",
165 "GPP_E15", "PROC_GP2", "RSVD", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_E15", "ISH_GP5A",
166 "GPP_E16", "PROC_GP3", "VRALERT#", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_E16", "ISH_GP10",
167 "GPP_E17", "n/a", "THC0_SPI1_INT#", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_E17", "n/a",
168 "GPP_E18", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
169 "GPP_E19", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
170 "GPP_E20", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
171 "GPP_E21", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
172 "GPP_E22", "DDPA_CTRLCLK", "DNX_FORCE_RELOAD", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_E22", "n/a",
173 "GPP_E23", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
174 "GPP_THC0_GSPI_CLK_LPBK", "GPP_THC0_GSPI_CLK_LPBK", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
175};
176
177const struct gpio_group meteorlake_pch_group_e = {
178 .display = "------- GPIO Group GPP_E -------",
179 .pad_count = ARRAY_SIZE(meteorlake_pch_group_e_names) / 9,
180 .func_count = 9,
181 .pad_names = meteorlake_pch_group_e_names,
182};
183
184const char *const meteorlake_pch_group_f_names[] = {
185 "GPP_F00", "CNV_BRI_DT", "UART2_RTS#", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_F00", "n/a",
186 "GPP_F01", "CNV_BRI_RSP", "UART2_RXD", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_F01", "n/a",
187 "GPP_F02", "CNV_RGI_DT", "UART2_TXD", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_F02", "n/a",
188 "GPP_F03", "CNV_RGI_RSP", "UART2_CTS#", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_F03", "n/a",
189 "GPP_F04", "CNV_RF_RESET#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_F04", "n/a",
190 "GPP_F05", "n/a", "n/a", "MODEM_CLKREQ", "n/a", "n/a", "n/a", "USB-C_GPP_F05", "n/a",
191 "GPP_F06", "CNV_PA_BLANKING", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_F06", "n/a",
192 "GPP_F07", "RSVD", "IMGCLKOUT2", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_F07", "n/a",
193 "GPP_F08", "RSVD", "IMGCLKOUT3", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_F08", "n/a",
194 "GPP_F09", "RSVD", "SX_EXIT_HOLDOFF#", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_F09", "ISH_GP11",
195 "GPP_F10", "SATAXPCIE1", "SATAGP1", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_F10", "ISH_GP6A",
196 "GPP_F11", "n/a", "n/a", "THC1_SPI2_CLK", "ISH_SPIA_CLK", "n/a", "GSPI1_CLK", "USB-C_GPP_F11", "n/a",
197 "GPP_F12", "GSXDOUT", "n/a", "THC1_SPI2_IO0", "ISH_SPIA_MISO", "n/a", "GSPI1_MOSI", "USB-C_GPP_F12", "I2C5_SCL",
198 "GPP_F13", "GSXSLOAD", "n/a", "THC1_SPI2_IO1", "ISH_SPIA_MOSI", "n/a", "GSPI1_MISO", "USB-C_GPP_F13", "I2C5_SDA",
199 "GPP_F14", "GSXDIN", "USB-C_SMLCLK", "THC1_SPI2_IO2", "n/a", "n/a", "n/a", "USB-C_GPP_F14", "GSPI0A_MOSI",
200 "GPP_F15", "GSXSRESET#", "USB-C_SMLDATA", "THC1_SPI2_IO3", "n/a", "n/a", "n/a", "USB-C_GPP_F15", "GSPI0A_MISO",
201 "GPP_F16", "GSXCLK", "n/a", "THC1_SPI2_RST#", "n/a", "n/a", "n/a", "USB-C_GPP_F16", "GSPI0A_CLK",
202 "GPP_F17", "n/a", "n/a", "THC1_SPI2_CS#", "ISH_SPIA_CS#", "n/a", "GSPI1_CS0#", "USB-C_GPP_F17", "n/a",
203 "GPP_F18", "n/a", "n/a", "THC1_SPI2_INT#", "n/a", "n/a", "n/a", "USB-C_GPP_F18", "GSPI0A_CS0#",
204 "GPP_F19", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_F19", "n/a",
205 "GPP_F20", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_F20", "n/a",
206 "GPP_F21", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_F21", "n/a",
207 "GPP_F22", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_F22", "ISH_GP8A",
208 "GPP_F23", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_F23", "ISH_GP9A",
209 "GPP_THC1_GSPI1_CLK_LPBK", "GPP_THC1_GSPI1_CLK_LPBK", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
210 "GPP_GSPI0A_CLK_LOOPBK", "GPP_GSPI0A_CLK_LOOPBK", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
211};
212
213const struct gpio_group meteorlake_pch_group_f = {
214 .display = "------- GPIO Group GPP_F -------",
215 .pad_count = ARRAY_SIZE(meteorlake_pch_group_f_names) / 9,
216 .func_count = 9,
217 .pad_names = meteorlake_pch_group_f_names,
218};
219
220const char *const meteorlake_pch_group_h_names[] = {
221 "GPP_H00", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_H00", "n/a",
222 "GPP_H01", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_H01", "n/a",
223 "GPP_H02", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_H02", "n/a",
224 "GPP_H03", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
225 "GPP_H04", "I2C2_SDA", "CNV_MFUART2_RXD", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_H04", "n/a",
226 "GPP_H05", "I2C2_SCL", "CNV_MFUART2_TXD", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_H05", "n/a",
227 "GPP_H06", "I2C3_SDA", "UART1_RXD", "ISH_UART1A_RXD", "n/a", "n/a", "n/a", "USB-C_GPP_H06", "n/a",
228 "GPP_H07", "I2C3_SCL", "UART1_TXD", "ISH_UART1A_TXD", "n/a", "n/a", "n/a", "USB-C_GPP_H07", "n/a",
229 "GPP_H08", "UART0_RXD", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_H08", "n/a",
230 "GPP_H09", "UART0_TXD", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_H09", "n/a",
231 "GPP_H10", "UART0_RTS#", "I3C1A_SDA", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_H10", "ISH_GP10A",
232 "GPP_H11", "UART0_CTS#", "I3C1A_SCL", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_H11", "ISH_GP11A",
233 "GPP_H12", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
234 "GPP_H13", "PROC_C10_GATE#", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_H13", "n/a",
235 "GPP_H14", "ISH_UART1_RXD", "UART1A_RXD", "ISH_I2C1_SDA", "n/a", "n/a", "n/a", "USB-C_GPP_H14", "n/a",
236 "GPP_H15", "ISH_UART1_TXD", "UART1A_TXD", "ISH_I2C1_SCL", "n/a", "n/a", "n/a", "USB-C_GPP_H15", "n/a",
237 "GPP_H16", "DDPB_CTRLCLK", "n/a", "PCIE_LINK_DOWN", "n/a", "n/a", "n/a", "USB-C_GPP_H16", "n/a",
238 "GPP_H17", "DDPB_CTRLDATA", "n/a", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_H17", "n/a",
239 "GPP_H18", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
240 "GPP_H19", "I2C0_SDA", "I3C0_SDA", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_H19", "n/a",
241 "GPP_H20", "I2C0_SCL", "I3C0_SCL", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_H20", "n/a",
242 "GPP_H21", "I2C1_SDA", "I3C1_SDA", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_H21", "n/a",
243 "GPP_H22", "I2C1_SCL", "I3C1_SCL", "n/a", "n/a", "n/a", "n/a", "USB-C_GPP_H22", "n/a",
244 "GPP_H23", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
245 "GPP_LPI3C1_CLK_LPBK", "GPP_LPI3C1_CLK_LPBK", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
246 "GPP_LPI3C0_CLK_LPBK", "GPP_LPI3C0_CLK_LPBK", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a", "n/a",
247};
248
249const struct gpio_group meteorlake_pch_group_h = {
250 .display = "------- GPIO Group GPP_H -------",
251 .pad_count = ARRAY_SIZE(meteorlake_pch_group_h_names) / 9,
252 .func_count = 9,
253 .pad_names = meteorlake_pch_group_h_names,
254};
255
256const char *const meteorlake_pch_group_s_names[] = {
257 "GPP_S00", "SNDW0_CLK", "n/a", "n/a", "n/a", "n/a", "n/a", "I2S1_SCLK",
258 "GPP_S01", "SNDW0_DATA0", "n/a", "n/a", "n/a", "n/a", "n/a", "I2S1_SFRM",
259 "GPP_S02", "SNDW1_CLK", "SNDW0_DATA1", "DMIC_CLK_A0", "n/a", "n/a", "n/a", "I2S1_TXD",
260 "GPP_S03", "SNDW1_DATA", "SNDW0_DATA2", "DMIC_DATA0", "n/a", "n/a", "n/a", "I2S1_RXD",
261 "GPP_S04", "SNDW2_CLK", "SNDW0_DATA3", "DMIC_CLK_B0", "n/a", "n/a", "n/a", "n/a",
262 "GPP_S05", "SNDW2_DATA", "n/a", "DMIC_CLK_B1", "n/a", "n/a", "n/a", "n/a",
263 "GPP_S06", "SNDW3_CLK", "n/a", "DMIC_CLK_A1", "n/a", "n/a", "n/a", "n/a",
264 "GPP_S07", "SNDW3_DATA", "n/a", "DMIC_DATA1", "n/a", "n/a", "n/a", "n/a",
265};
266
267const struct gpio_group meteorlake_pch_group_s = {
268 .display = "------- GPIO Group GPP_S -------",
269 .pad_count = ARRAY_SIZE(meteorlake_pch_group_s_names) / 8,
270 .func_count = 8,
271 .pad_names = meteorlake_pch_group_s_names,
272};
273
274const char *const meteorlake_pch_group_spi0_names[] = {
275 "SPI0_IO_2", "SPI0_IO_2",
276 "SPI0_IO_3", "SPI0_IO_3",
277 "SPI0_MOSI_IO_0", "SPI0_MOSI_IO_0",
278 "SPI0_MOSI_IO_1", "SPI0_MOSI_IO_1",
279 "SPI0_TPM_CS_B", "SPI0_TPM_CS_B",
280 "SPI0_FLASH_0_CS_B", "SPI0_FLASH_0_CS_B",
281 "SPI0_FLASH_1_CS_B", "SPI0_FLASH_1_CS_B",
282 "SPI0_CLK", "SPI0_CLK",
283 "BKLTEN", "BKLTEN",
284 "BKLTCTL", "BKLTCTL",
285 "VDDEN", "VDDEN",
286 "SYS_PWROK", "SYS_PWROK",
287 "SYS_RESET_B", "SYS_RESET_B",
288 "MLK_RST_B", "MLK_RST_B",
289 "SPI0_CLK_LOOPBK", "SPI0_CLK_LOOPBK",
290};
291
292const struct gpio_group meteorlake_pch_group_spi0 = {
293 .display = "------- GPIO Group SPI -------",
294 .pad_count = ARRAY_SIZE(meteorlake_pch_group_spi0_names) / 2,
295 .func_count = 2,
296 .pad_names = meteorlake_pch_group_spi0_names,
297};
298
299const char *const meteorlake_pch_group_cpu_names[] = {
300 "PECI", "PECI",
301 "UFS_RST_B", "UFS_RST_B",
302 "VIDSOUT", "VIDSOUT",
303 "VIDSCK", "VIDSCK",
304 "VIDALERT_B", "VIDALERT_B",
305};
306
307const struct gpio_group meteorlake_pch_group_cpu = {
308 .display = "------- GPIO Group CPU -------",
309 .pad_count = ARRAY_SIZE(meteorlake_pch_group_cpu_names) / 2,
310 .func_count = 2,
311 .pad_names = meteorlake_pch_group_cpu_names,
312};
313
314const char *const meteorlake_pch_group_v_names[] = {
315 "GPP_V00", "BATLOW#",
316 "GPP_V01", "ACPRESENT",
317 "GPP_V02", "SOC_WAKE#",
318 "GPP_V03", "PWRBTN#",
319 "GPP_V04", "SLP_S3#",
320 "GPP_V05", "SLP_S4#",
321 "GPP_V06", "SLP_A#",
322 "GPP_V07", "n/a",
323 "GPP_V08", "SUSCLK",
324 "GPP_V09", "SLP_WLAN#",
325 "GPP_V10", "SLP_S5#",
326 "GPP_V11", "LANPHYPC",
327 "GPP_V12", "SLP_LAN#",
328 "GPP_V13", "n/a",
329 "GPP_V14", "WAKE#",
330 "GPP_V15", "n/a",
331 "GPP_V16", "n/a",
332 "GPP_V17", "n/a",
333 "GPP_V18", "n/a",
334 "GPP_V19", "n/a",
335 "GPP_V20", "n/a",
336 "GPP_V21", "n/a",
337 "GPP_V22", "n/a",
338 "GPP_V23", "n/a",
339};
340
341const struct gpio_group meteorlake_pch_group_v = {
342 .display = "------- GPIO Group V -------",
343 .pad_count = ARRAY_SIZE(meteorlake_pch_group_v_names) / 2,
344 .func_count = 2,
345 .pad_names = meteorlake_pch_group_v_names,
346};
347
348const char *const meteorlake_pch_group_vgpio3_names[] = {
349 "GPP_VGPIO3_USB0", "GPP_VGPIO3_USB0",
350 "GPP_VGPIO3_USB1", "GPP_VGPIO3_USB1",
351 "GPP_VGPIO3_USB2", "GPP_VGPIO3_USB2",
352 "GPP_VGPIO3_USB3", "GPP_VGPIO3_USB3",
353 "GPP_VGPIO3_USB4", "GPP_VGPIO3_USB4",
354 "GPP_VGPIO3_USB5", "GPP_VGPIO3_USB5",
355 "GPP_VGPIO3_USB6", "GPP_VGPIO3_USB6",
356 "GPP_VGPIO3_USB7", "GPP_VGPIO3_USB7",
357 "GPP_VGPIO3_TS0", "GPP_VGPIO3_TS0",
358 "GPP_VGPIO3_TS1", "GPP_VGPIO3_TS1",
359 "GPP_VGPIO3_THC0", "GPP_VGPIO3_THC0",
360 "GPP_VGPIO3_THC1", "GPP_VGPIO3_THC1",
361 "GPP_VGPIO3_THC2", "GPP_VGPIO3_THC2",
362 "GPP_VGPIO3_THC3", "GPP_VGPIO3_THC3",
363};
364
365const struct gpio_group meteorlake_pch_group_vgpio3 = {
366 .display = "------- GPIO Group VGPIO3 -------",
367 .pad_count = ARRAY_SIZE(meteorlake_pch_group_vgpio3_names) / 2,
368 .func_count = 2,
369 .pad_names = meteorlake_pch_group_vgpio3_names,
370};
371
372const char *const meteorlake_pch_group_jtag_names[] = {
373 "JTAG_MBPB0", "JTAG_MBPB0",
374 "JTAG_MBPB1", "JTAG_MBPB1",
375 "JTAG_MBPB2", "JTAG_MBPB2",
376 "JTAG_MBPB3", "JTAG_MBPB3",
377 "JTAG_TD0", "JTAG_TD0",
378 "PRDY_B", "PRDY_B",
379 "PREQ_B", "PREQ_B",
380 "JTAG_TDI", "JTAG_TDI",
381 "JTAG_TMS", "JTAG_TMS",
382 "JTAG_TCK", "JTAG_TCK",
383 "DBG_PMODE", "DBG_PMODE",
384 "JTAG_TRST_B", "JTAG_TRST_B",
385};
386
387const struct gpio_group meteorlake_pch_group_jtag = {
388 .display = "------- GPIO Group JTAG -------",
389 .pad_count = ARRAY_SIZE(meteorlake_pch_group_jtag_names) / 2,
390 .func_count = 2,
391 .pad_names = meteorlake_pch_group_jtag_names,
392};
393
394const char *const meteorlake_pch_group_vgpio_names[] = {
395 "GPP_VGPIO00", "GPP_VGPIO00",
396 "GPP_VGPIO04", "GPP_VGPIO04",
397 "GPP_VGPIO05", "GPP_VGPIO05",
398 "GPP_VGPIO06", "GPP_VGPIO06",
399 "GPP_VGPIO07", "GPP_VGPIO07",
400 "GPP_VGPIO08", "GPP_VGPIO08",
401 "GPP_VGPIO09", "GPP_VGPIO09",
402 "GPP_VGPIO10", "GPP_VGPIO10",
403 "GPP_VGPIO11", "GPP_VGPIO11",
404 "GPP_VGPIO12", "GPP_VGPIO12",
405 "GPP_VGPIO13", "GPP_VGPIO13",
406 "GPP_VGPIO18", "GPP_VGPIO18",
407 "GPP_VGPIO19", "GPP_VGPIO19",
408 "GPP_VGPIO20", "GPP_VGPIO20",
409 "GPP_VGPIO21", "GPP_VGPIO21",
410 "GPP_VGPIO22", "GPP_VGPIO22",
411 "GPP_VGPIO23", "GPP_VGPIO23",
412 "GPP_VGPIO24", "GPP_VGPIO24",
413 "GPP_VGPIO25", "GPP_VGPIO25",
414 "GPP_VGPIO30", "GPP_VGPIO30",
415 "GPP_VGPIO31", "GPP_VGPIO31",
416 "GPP_VGPIO32", "GPP_VGPIO32",
417 "GPP_VGPIO33", "GPP_VGPIO33",
418 "GPP_VGPIO34", "GPP_VGPIO34",
419 "GPP_VGPIO35", "GPP_VGPIO35",
420 "GPP_VGPIO36", "GPP_VGPIO36",
421 "GPP_VGPIO37", "GPP_VGPIO37",
422 "GPP_VGPIO40", "GPP_VGPIO40",
423 "GPP_VGPIO41", "GPP_VGPIO41",
424 "GPP_VGPIO42", "GPP_VGPIO42",
425 "GPP_VGPIO43", "GPP_VGPIO43",
426 "GPP_VGPIO44", "GPP_VGPIO44",
427 "GPP_VGPIO45", "GPP_VGPIO45",
428 "GPP_VGPIO46", "GPP_VGPIO46",
429 "GPP_VGPIO47", "GPP_VGPIO47",
430};
431
432const struct gpio_group meteorlake_pch_group_vgpio = {
433 .display = "------- GPIO Group VGPIO -------",
434 .pad_count = ARRAY_SIZE(meteorlake_pch_group_vgpio_names) / 2,
435 .func_count = 2,
436 .pad_names = meteorlake_pch_group_vgpio_names,
437};
438
439const struct gpio_group *const meteorlake_pch_community_0_groups[] = {
440 &meteorlake_pch_group_cpu,
441 &meteorlake_pch_group_v,
442 &meteorlake_pch_group_c,
443};
444
445const struct gpio_community meteorlake_pch_community_0 = {
446 .name = "------- GPIO Community 0 -------",
447 .pcr_port_id = 0xd1,
448 .group_count = ARRAY_SIZE(meteorlake_pch_community_0_groups),
449 .groups = meteorlake_pch_community_0_groups,
450};
451
452const struct gpio_group *const meteorlake_pch_community_1_groups[] = {
453 &meteorlake_pch_group_a,
454 &meteorlake_pch_group_e,
455};
456
457const struct gpio_community meteorlake_pch_community_1 = {
458 .name = "------- GPIO Community 1 -------",
459 .pcr_port_id = 0xd2,
460 .group_count = ARRAY_SIZE(meteorlake_pch_community_1_groups),
461 .groups = meteorlake_pch_community_1_groups,
462};
463
464const struct gpio_group *const meteorlake_pch_community_3_groups[] = {
465 &meteorlake_pch_group_h,
466 &meteorlake_pch_group_f,
467 &meteorlake_pch_group_spi0,
468 &meteorlake_pch_group_vgpio3,
469};
470
471const struct gpio_community meteorlake_pch_community_3 = {
472 .name = "------- GPIO Community 3 -------",
473 .pcr_port_id = 0xd3,
474 .group_count = ARRAY_SIZE(meteorlake_pch_community_3_groups),
475 .groups = meteorlake_pch_community_3_groups,
476};
477
478const struct gpio_group *const meteorlake_pch_community_4_groups[] = {
479 &meteorlake_pch_group_s,
480 &meteorlake_pch_group_jtag
481};
482
483const struct gpio_community meteorlake_pch_community_4 = {
484 .name = "------- GPIO Community 4 -------",
485 .pcr_port_id = 0xd4,
486 .group_count = ARRAY_SIZE(meteorlake_pch_community_4_groups),
487 .groups = meteorlake_pch_community_4_groups,
488};
489
490const struct gpio_group *const meteorlake_pch_community_5_groups[] = {
491 &meteorlake_pch_group_b,
492 &meteorlake_pch_group_d,
493 &meteorlake_pch_group_vgpio,
494};
495
496const struct gpio_community meteorlake_pch_community_5 = {
497 .name = "------- GPIO Community 5 -------",
498 .pcr_port_id = 0xd5,
499 .group_count = ARRAY_SIZE(meteorlake_pch_community_5_groups),
500 .groups = meteorlake_pch_community_5_groups,
501};
502
503const struct gpio_community *const meteorlake_pch_communities[] = {
504 &meteorlake_pch_community_0,
505 &meteorlake_pch_community_1,
506 &meteorlake_pch_community_3,
507 &meteorlake_pch_community_4,
508 &meteorlake_pch_community_5,
509};
510
511#endif