1 /* SPDX-License-Identifier: MIT */
2 /*
3  * Copyright © 2022 Intel Corporation
4  */
5 
6 #ifndef _XE_PCIIDS_H_
7 #define _XE_PCIIDS_H_
8 
9 /*
10  * Lists below can be turned into initializers for a struct pci_device_id
11  * by defining INTEL_VGA_DEVICE:
12  *
13  * #define INTEL_VGA_DEVICE(id, info) { \
14  *	0x8086, id,			\
15  *	~0, ~0,				\
16  *	0x030000, 0xff0000,		\
17  *	(unsigned long) info }
18  *
19  * And then calling like:
20  *
21  * XE_TGL_12_GT1_IDS(INTEL_VGA_DEVICE, ## __VA_ARGS__)
22  *
23  * To turn them into something else, just provide a different macro passed as
24  * first argument.
25  */
26 
27 /* TGL */
28 #define XE_TGL_GT1_IDS(MACRO__, ...)		\
29 	MACRO__(0x9A60, ## __VA_ARGS__),	\
30 	MACRO__(0x9A68, ## __VA_ARGS__),	\
31 	MACRO__(0x9A70, ## __VA_ARGS__)
32 
33 #define XE_TGL_GT2_IDS(MACRO__, ...)		\
34 	MACRO__(0x9A40, ## __VA_ARGS__),	\
35 	MACRO__(0x9A49, ## __VA_ARGS__),	\
36 	MACRO__(0x9A59, ## __VA_ARGS__),	\
37 	MACRO__(0x9A78, ## __VA_ARGS__),	\
38 	MACRO__(0x9AC0, ## __VA_ARGS__),	\
39 	MACRO__(0x9AC9, ## __VA_ARGS__),	\
40 	MACRO__(0x9AD9, ## __VA_ARGS__),	\
41 	MACRO__(0x9AF8, ## __VA_ARGS__)
42 
43 #define XE_TGL_IDS(MACRO__, ...)		\
44 	XE_TGL_GT1_IDS(MACRO__, ## __VA_ARGS__),\
45 	XE_TGL_GT2_IDS(MACRO__, ## __VA_ARGS__)
46 
47 /* RKL */
48 #define XE_RKL_IDS(MACRO__, ...)		\
49 	MACRO__(0x4C80, ## __VA_ARGS__),	\
50 	MACRO__(0x4C8A, ## __VA_ARGS__),	\
51 	MACRO__(0x4C8B, ## __VA_ARGS__),	\
52 	MACRO__(0x4C8C, ## __VA_ARGS__),	\
53 	MACRO__(0x4C90, ## __VA_ARGS__),	\
54 	MACRO__(0x4C9A, ## __VA_ARGS__)
55 
56 /* DG1 */
57 #define XE_DG1_IDS(MACRO__, ...)		\
58 	MACRO__(0x4905, ## __VA_ARGS__),	\
59 	MACRO__(0x4906, ## __VA_ARGS__),	\
60 	MACRO__(0x4907, ## __VA_ARGS__),	\
61 	MACRO__(0x4908, ## __VA_ARGS__),	\
62 	MACRO__(0x4909, ## __VA_ARGS__)
63 
64 /* ADL-S */
65 #define XE_ADLS_IDS(MACRO__, ...)		\
66 	MACRO__(0x4680, ## __VA_ARGS__),	\
67 	MACRO__(0x4682, ## __VA_ARGS__),	\
68 	MACRO__(0x4688, ## __VA_ARGS__),	\
69 	MACRO__(0x468A, ## __VA_ARGS__),	\
70 	MACRO__(0x468B, ## __VA_ARGS__),	\
71 	MACRO__(0x4690, ## __VA_ARGS__),	\
72 	MACRO__(0x4692, ## __VA_ARGS__),	\
73 	MACRO__(0x4693, ## __VA_ARGS__)
74 
75 /* ADL-P */
76 #define XE_ADLP_IDS(MACRO__, ...)		\
77 	MACRO__(0x46A0, ## __VA_ARGS__),	\
78 	MACRO__(0x46A1, ## __VA_ARGS__),	\
79 	MACRO__(0x46A2, ## __VA_ARGS__),	\
80 	MACRO__(0x46A3, ## __VA_ARGS__),	\
81 	MACRO__(0x46A6, ## __VA_ARGS__),	\
82 	MACRO__(0x46A8, ## __VA_ARGS__),	\
83 	MACRO__(0x46AA, ## __VA_ARGS__),	\
84 	MACRO__(0x462A, ## __VA_ARGS__),	\
85 	MACRO__(0x4626, ## __VA_ARGS__),	\
86 	MACRO__(0x4628, ## __VA_ARGS__),	\
87 	MACRO__(0x46B0, ## __VA_ARGS__),	\
88 	MACRO__(0x46B1, ## __VA_ARGS__),	\
89 	MACRO__(0x46B2, ## __VA_ARGS__),	\
90 	MACRO__(0x46B3, ## __VA_ARGS__),	\
91 	MACRO__(0x46C0, ## __VA_ARGS__),	\
92 	MACRO__(0x46C1, ## __VA_ARGS__),	\
93 	MACRO__(0x46C2, ## __VA_ARGS__),	\
94 	MACRO__(0x46C3, ## __VA_ARGS__)
95 
96 /* ADL-N */
97 #define XE_ADLN_IDS(MACRO__, ...)		\
98 	MACRO__(0x46D0, ## __VA_ARGS__),	\
99 	MACRO__(0x46D1, ## __VA_ARGS__),	\
100 	MACRO__(0x46D2, ## __VA_ARGS__)
101 
102 /* RPL-S */
103 #define XE_RPLS_IDS(MACRO__, ...)		\
104 	MACRO__(0xA780, ## __VA_ARGS__),	\
105 	MACRO__(0xA781, ## __VA_ARGS__),	\
106 	MACRO__(0xA782, ## __VA_ARGS__),	\
107 	MACRO__(0xA783, ## __VA_ARGS__),	\
108 	MACRO__(0xA788, ## __VA_ARGS__),	\
109 	MACRO__(0xA789, ## __VA_ARGS__),	\
110 	MACRO__(0xA78A, ## __VA_ARGS__),	\
111 	MACRO__(0xA78B, ## __VA_ARGS__)
112 
113 /* RPL-U */
114 #define XE_RPLU_IDS(MACRO__, ...)		\
115 	MACRO__(0xA721, ## __VA_ARGS__),	\
116 	MACRO__(0xA7A1, ## __VA_ARGS__),	\
117 	MACRO__(0xA7A9, ## __VA_ARGS__),	\
118 	MACRO__(0xA7AC, ## __VA_ARGS__),	\
119 	MACRO__(0xA7AD, ## __VA_ARGS__)
120 
121 /* RPL-P */
122 #define XE_RPLP_IDS(MACRO__, ...)		\
123 	XE_RPLU_IDS(MACRO__, ## __VA_ARGS__),	\
124 	MACRO__(0xA720, ## __VA_ARGS__),	\
125 	MACRO__(0xA7A0, ## __VA_ARGS__),	\
126 	MACRO__(0xA7A8, ## __VA_ARGS__),	\
127 	MACRO__(0xA7AA, ## __VA_ARGS__),	\
128 	MACRO__(0xA7AB, ## __VA_ARGS__)
129 
130 /* DG2 */
131 #define XE_DG2_G10_IDS(MACRO__, ...)		\
132 	MACRO__(0x5690, ## __VA_ARGS__),	\
133 	MACRO__(0x5691, ## __VA_ARGS__),	\
134 	MACRO__(0x5692, ## __VA_ARGS__),	\
135 	MACRO__(0x56A0, ## __VA_ARGS__),	\
136 	MACRO__(0x56A1, ## __VA_ARGS__),	\
137 	MACRO__(0x56A2, ## __VA_ARGS__),	\
138 	MACRO__(0x56BE, ## __VA_ARGS__),	\
139 	MACRO__(0x56BF, ## __VA_ARGS__)
140 
141 #define XE_DG2_G11_IDS(MACRO__, ...)		\
142 	MACRO__(0x5693, ## __VA_ARGS__),	\
143 	MACRO__(0x5694, ## __VA_ARGS__),	\
144 	MACRO__(0x5695, ## __VA_ARGS__),	\
145 	MACRO__(0x56A5, ## __VA_ARGS__),	\
146 	MACRO__(0x56A6, ## __VA_ARGS__),	\
147 	MACRO__(0x56B0, ## __VA_ARGS__),	\
148 	MACRO__(0x56B1, ## __VA_ARGS__),	\
149 	MACRO__(0x56BA, ## __VA_ARGS__),	\
150 	MACRO__(0x56BB, ## __VA_ARGS__),	\
151 	MACRO__(0x56BC, ## __VA_ARGS__),	\
152 	MACRO__(0x56BD, ## __VA_ARGS__)
153 
154 #define XE_DG2_G12_IDS(MACRO__, ...)		\
155 	MACRO__(0x5696, ## __VA_ARGS__),	\
156 	MACRO__(0x5697, ## __VA_ARGS__),	\
157 	MACRO__(0x56A3, ## __VA_ARGS__),	\
158 	MACRO__(0x56A4, ## __VA_ARGS__),	\
159 	MACRO__(0x56B2, ## __VA_ARGS__),	\
160 	MACRO__(0x56B3, ## __VA_ARGS__)
161 
162 #define XE_DG2_IDS(MACRO__, ...)		\
163 	XE_DG2_G10_IDS(MACRO__, ## __VA_ARGS__),\
164 	XE_DG2_G11_IDS(MACRO__, ## __VA_ARGS__),\
165 	XE_DG2_G12_IDS(MACRO__, ## __VA_ARGS__)
166 
167 #define XE_ATS_M150_IDS(MACRO__, ...)		\
168 	MACRO__(0x56C0, ## __VA_ARGS__),	\
169 	MACRO__(0x56C2, ## __VA_ARGS__)
170 
171 #define XE_ATS_M75_IDS(MACRO__, ...)		\
172 	MACRO__(0x56C1, ## __VA_ARGS__)
173 
174 #define XE_ATS_M_IDS(MACRO__, ...)		\
175 	XE_ATS_M150_IDS(MACRO__, ## __VA_ARGS__),\
176 	XE_ATS_M75_IDS(MACRO__, ## __VA_ARGS__)
177 
178 /* MTL / ARL */
179 #define XE_MTL_IDS(MACRO__, ...)		\
180 	MACRO__(0x7D40, ## __VA_ARGS__),	\
181 	MACRO__(0x7D41, ## __VA_ARGS__),	\
182 	MACRO__(0x7D45, ## __VA_ARGS__),	\
183 	MACRO__(0x7D51, ## __VA_ARGS__),        \
184 	MACRO__(0x7D55, ## __VA_ARGS__),	\
185 	MACRO__(0x7D60, ## __VA_ARGS__),	\
186 	MACRO__(0x7D67, ## __VA_ARGS__),	\
187 	MACRO__(0x7DD1, ## __VA_ARGS__),        \
188 	MACRO__(0x7DD5, ## __VA_ARGS__)
189 
190 #define XE_LNL_IDS(MACRO__, ...) \
191 	MACRO__(0x6420, ## __VA_ARGS__), \
192 	MACRO__(0x64A0, ## __VA_ARGS__), \
193 	MACRO__(0x64B0, ## __VA_ARGS__)
194 
195 #define XE_BMG_IDS(MACRO__, ...) \
196 	MACRO__(0xE202, ## __VA_ARGS__), \
197 	MACRO__(0xE20B, ## __VA_ARGS__), \
198 	MACRO__(0xE20C, ## __VA_ARGS__), \
199 	MACRO__(0xE20D, ## __VA_ARGS__), \
200 	MACRO__(0xE212, ## __VA_ARGS__)
201 
202 #endif
203