1/*
2 * Copyright 2022 ITE Corporation
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#include <zephyr/dt-bindings/dt-util.h>
8
9/ {
10	/* Mapping between wuc bits and source device */
11	it8xxx2-wuc-map {
12		compatible = "ite,it8xxx2-wuc-map";
13
14		/* WUC group 2 */
15		wuc_wu20: wu20 {
16			wucs = <&wuc2 BIT(0)>; /* GPD0 */
17		};
18		wuc_wu21: wu21 {
19			wucs = <&wuc2 BIT(1)>; /* GPD1 */
20		};
21		wuc_wu22: wu22 {
22			wucs = <&wuc2 BIT(2)>; /* GPC4 */
23		};
24		wuc_wu23: wu23 {
25			wucs = <&wuc2 BIT(3)>; /* GPC6 */
26		};
27		wuc_wu24: wu24{
28			wucs = <&wuc2 BIT(4)>; /* GPD2 */
29		};
30		wuc_wu25: wu25 {
31			wucs = <&wuc2 BIT(5)>; /* GPE4 */
32		};
33
34		/* WUC group 3 */
35		wuc_wu30: wu30 {
36			wucs = <&wuc3 BIT(0)>; /* KSI[0] */
37		};
38		wuc_wu31: wu31 {
39			wucs = <&wuc3 BIT(1)>; /* KSI[1] */
40		};
41		wuc_wu32: wu32 {
42			wucs = <&wuc3 BIT(2)>; /* KSI[2] */
43		};
44		wuc_wu33: wu33 {
45			wucs = <&wuc3 BIT(3)>; /* KSI[3] */
46		};
47		wuc_wu34: wu34{
48			wucs = <&wuc3 BIT(4)>; /* KSI[4] */
49		};
50		wuc_wu35: wu35 {
51			wucs = <&wuc3 BIT(5)>; /* KSI[5] */
52		};
53		wuc_wu36: wu36 {
54			wucs = <&wuc3 BIT(6)>; /* KSI[6] */
55		};
56		wuc_wu37: wu37 {
57			wucs = <&wuc3 BIT(7)>; /* KSI[7] */
58		};
59
60		/* WUC group 4 */
61		wuc_wu40: wu40 {
62			wucs = <&wuc4 BIT(0)>; /* GPE5 */
63		};
64		wuc_wu42: wu42 {
65			wucs = <&wuc4 BIT(2)>; /* eSPI transaction */
66		};
67		wuc_wu45: wu45 {
68			wucs = <&wuc4 BIT(5)>; /* GPE6 */
69		};
70		wuc_wu46: wu46 {
71			wucs = <&wuc4 BIT(6)>; /* GPE7 */
72		};
73
74		/* WUC group 5 */
75		wuc_wu50: wu50 {
76			wucs = <&wuc5 BIT(0)>; /* GPK0 */
77		};
78		wuc_wu51: wu51 {
79			wucs = <&wuc5 BIT(1)>; /* GPK1 */
80		};
81		wuc_wu52: wu52 {
82			wucs = <&wuc5 BIT(2)>; /* GPK2 */
83		};
84		wuc_wu53: wu53 {
85			wucs = <&wuc5 BIT(3)>; /* GPK3 */
86		};
87		wuc_wu54: wu54 {
88			wucs = <&wuc5 BIT(4)>; /* GPK4 */
89		};
90		wuc_wu55: wu55 {
91			wucs = <&wuc5 BIT(5)>; /* GPK5 */
92		};
93		wuc_wu56: wu56 {
94			wucs = <&wuc5 BIT(6)>; /* GPK6 */
95		};
96		wuc_wu57: wu57 {
97			wucs = <&wuc5 BIT(7)>; /* GPK7 */
98		};
99
100		/* WUC group 6 */
101		wuc_wu60: wu60 {
102			wucs = <&wuc6 BIT(0)>; /* GPH0 */
103		};
104		wuc_wu61: wu61 {
105			wucs = <&wuc6 BIT(1)>; /* GPH1 */
106		};
107		wuc_wu62: wu62 {
108			wucs = <&wuc6 BIT(2)>; /* GPH2 */
109		};
110		wuc_wu63: wu63 {
111			wucs = <&wuc6 BIT(3)>; /* GPH3 */
112		};
113		wuc_wu64: wu64 {
114			wucs = <&wuc6 BIT(4)>; /* GPF4 */
115		};
116		wuc_wu65: wu65 {
117			wucs = <&wuc6 BIT(5)>; /* GPF5 */
118		};
119		wuc_wu66: wu66 {
120			wucs = <&wuc6 BIT(6)>; /* GPF6 */
121		};
122		wuc_wu67: wu67 {
123			wucs = <&wuc6 BIT(7)>; /* GPF7 */
124		};
125
126		/* WUC group 7 */
127		wuc_wu70: wu70 {
128			wucs = <&wuc7 BIT(0)>; /* GPE0 */
129		};
130		wuc_wu71: wu71 {
131			wucs = <&wuc7 BIT(1)>; /* GPE1 */
132		};
133		wuc_wu72: wu72 {
134			wucs = <&wuc7 BIT(2)>; /* GPE2 */
135		};
136		wuc_wu73: wu73 {
137			wucs = <&wuc7 BIT(3)>; /* GPE3 */
138		};
139		wuc_wu74: wu74 {
140			wucs = <&wuc7 BIT(4)>; /* GPI4 */
141		};
142		wuc_wu75: wu75 {
143			wucs = <&wuc7 BIT(5)>; /* GPI5 */
144		};
145		wuc_wu76: wu76 {
146			wucs = <&wuc7 BIT(6)>; /* GPI6 */
147		};
148		wuc_wu77: wu77 {
149			wucs = <&wuc7 BIT(7)>; /* GPI7 */
150		};
151
152		/* WUC group 8 */
153		wuc_wu80: wu80 {
154			wucs = <&wuc8 BIT(0)>; /* GPA3 */
155		};
156		wuc_wu81: wu81 {
157			wucs = <&wuc8 BIT(1)>; /* GPA4 */
158		};
159		wuc_wu82: wu82 {
160			wucs = <&wuc8 BIT(2)>; /* GPA5 */
161		};
162		wuc_wu83: wu83 {
163			wucs = <&wuc8 BIT(3)>; /* GPA6 */
164		};
165		wuc_wu84: wu84 {
166			wucs = <&wuc8 BIT(4)>; /* GPB2 */
167		};
168		wuc_wu85: wu85 {
169			wucs = <&wuc8 BIT(5)>; /* GPC0 */
170		};
171		wuc_wu86: wu86 {
172			wucs = <&wuc8 BIT(6)>; /* GPC7 */
173		};
174		wuc_wu87: wu87 {
175			wucs = <&wuc8 BIT(7)>; /* GPD7 */
176		};
177
178		/* WUC group 9 */
179		wuc_wu88: wu88 {
180			wucs = <&wuc9 BIT(0)>; /* GPH4 */
181		};
182		wuc_wu89: wu89 {
183			wucs = <&wuc9 BIT(1)>; /* GPH5 */
184		};
185		wuc_wu90: wu90 {
186			wucs = <&wuc9 BIT(2)>; /* GPH6 */
187		};
188		wuc_wu91: wu91 {
189			wucs = <&wuc9 BIT(3)>; /* GPA0 */
190		};
191		wuc_wu92: wu92 {
192			wucs = <&wuc9 BIT(4)>; /* GPA1 */
193		};
194		wuc_wu93: wu93 {
195			wucs = <&wuc9 BIT(5)>; /* GPA2 */
196		};
197		wuc_wu94: wu94 {
198			wucs = <&wuc9 BIT(6)>; /* GPB4 */
199		};
200		wuc_wu95: wu95 {
201			wucs = <&wuc9 BIT(7)>; /* GPC2 */
202		};
203
204		/* WUC group 10 */
205		wuc_wu96: wu96 {
206			wucs = <&wuc10 BIT(0)>; /* GPF0 */
207		};
208		wuc_wu97: wu97 {
209			wucs = <&wuc10 BIT(1)>; /* GPF1 */
210		};
211		wuc_wu98: wu98 {
212			wucs = <&wuc10 BIT(2)>; /* GPF2 */
213		};
214		wuc_wu99: wu99 {
215			wucs = <&wuc10 BIT(3)>; /* GPF3 */
216		};
217		wuc_wu100: wu100 {
218			wucs = <&wuc10 BIT(4)>; /* GPA7 */
219		};
220		wuc_wu101: wu101 {
221			wucs = <&wuc10 BIT(5)>; /* GPB0 */
222		};
223		wuc_wu102: wu102 {
224			wucs = <&wuc10 BIT(6)>; /* GPB1 */
225		};
226		wuc_wu103: wu103 {
227			wucs = <&wuc10 BIT(7)>; /* GPB3 */
228		};
229
230		/* WUC group 11 */
231		wuc_wu104: wu104 {
232			wucs = <&wuc11 BIT(0)>; /* GPB5 */
233		};
234		wuc_wu105: wu105 {
235			wucs = <&wuc11 BIT(1)>; /* GPB6 */
236		};
237		wuc_wu106: wu106 {
238			wucs = <&wuc11 BIT(2)>; /* GPB7 */
239		};
240		wuc_wu107: wu107 {
241			wucs = <&wuc11 BIT(3)>; /* GPC1 */
242		};
243		wuc_wu108: wu108 {
244			wucs = <&wuc11 BIT(4)>; /* GPC3 */
245		};
246		wuc_wu109: wu109 {
247			wucs = <&wuc11 BIT(5)>; /* GPC5 */
248		};
249		wuc_wu110: wu110 {
250			wucs = <&wuc11 BIT(6)>; /* GPD3 */
251		};
252		wuc_wu111: wu111 {
253			wucs = <&wuc11 BIT(7)>; /* GPD4 */
254		};
255
256		/* WUC group 12 */
257		wuc_wu112: wu112 {
258			wucs = <&wuc12 BIT(0)>; /* GPD5 */
259		};
260		wuc_wu113: wu113 {
261			wucs = <&wuc12 BIT(1)>; /* GPD6 */
262		};
263		wuc_wu114: wu114 {
264			wucs = <&wuc12 BIT(2)>; /* GPE4 */
265		};
266		wuc_wu115: wu115 {
267			wucs = <&wuc12 BIT(3)>; /* GPG0 */
268		};
269		wuc_wu116: wu116 {
270			wucs = <&wuc12 BIT(4)>; /* GPG1 */
271		};
272		wuc_wu117: wu117 {
273			wucs = <&wuc12 BIT(5)>; /* GPG2 */
274		};
275		wuc_wu118: wu118 {
276			wucs = <&wuc12 BIT(6)>; /* GPG6 */
277		};
278		wuc_wu119: wu119 {
279			wucs = <&wuc12 BIT(7)>; /* GPI0 */
280		};
281
282		/* WUC group 13 */
283		wuc_wu120: wu120 {
284			wucs = <&wuc13 BIT(0)>; /* GPI1 */
285		};
286		wuc_wu121: wu121 {
287			wucs = <&wuc13 BIT(1)>; /* GPI2 */
288		};
289		wuc_wu122: wu122 {
290			wucs = <&wuc13 BIT(2)>; /* GPI3 */
291		};
292		wuc_wu123: wu123 {
293			wucs = <&wuc13 BIT(3)>; /* GPG3 */
294		};
295		wuc_wu124: wu124 {
296			wucs = <&wuc13 BIT(4)>; /* GPG4 */
297		};
298		wuc_wu125: wu125 {
299			wucs = <&wuc13 BIT(5)>; /* GPG5 */
300		};
301		wuc_wu126: wu126 {
302			wucs = <&wuc13 BIT(6)>; /* GPG7 */
303		};
304
305		/* WUC group 14 */
306		wuc_wu128: wu128 {
307			wucs = <&wuc14 BIT(0)>; /* GPJ0 */
308		};
309		wuc_wu129: wu129 {
310			wucs = <&wuc14 BIT(1)>; /* GPJ1 */
311		};
312		wuc_wu130: wu130 {
313			wucs = <&wuc14 BIT(2)>; /* GPJ2 */
314		};
315		wuc_wu131: wu131 {
316			wucs = <&wuc14 BIT(3)>; /* GPJ3 */
317		};
318		wuc_wu132: wu132 {
319			wucs = <&wuc14 BIT(4)>; /* GPJ4 */
320		};
321		wuc_wu133: wu133 {
322			wucs = <&wuc14 BIT(5)>; /* GPJ5 */
323		};
324		wuc_wu134: wu134 {
325			wucs = <&wuc14 BIT(6)>; /* GPJ6 */
326		};
327		wuc_wu135: wu135 {
328			wucs = <&wuc14 BIT(7)>; /* GPJ7 */
329		};
330
331		/* WUC group 15 */
332		wuc_wu136: wu136 {
333			wucs = <&wuc15 BIT(0)>; /* GPIO L0 */
334		};
335		wuc_wu137: wu137 {
336			wucs = <&wuc15 BIT(1)>; /* GPIO L1 */
337		};
338		wuc_wu138: wu138 {
339			wucs = <&wuc15 BIT(2)>; /* GPIO L2 */
340		};
341		wuc_wu139: wu139 {
342			wucs = <&wuc15 BIT(3)>; /* GPIO L3 */
343		};
344		wuc_wu140: wu140 {
345			wucs = <&wuc15 BIT(4)>; /* GPIO L4 */
346		};
347		wuc_wu141: wu141 {
348			wucs = <&wuc15 BIT(5)>; /* GPIO L5 */
349		};
350		wuc_wu142: wu142 {
351			wucs = <&wuc15 BIT(6)>; /* GPIO L6 */
352		};
353		wuc_wu143: wu143 {
354			wucs = <&wuc15 BIT(7)>; /* GPIO L7 */
355		};
356
357		/* WUC group 16 */
358		wuc_wu144: wu144 {
359			wucs = <&wuc16 BIT(0)>; /* GPM0 */
360		};
361		wuc_wu145: wu145 {
362			wucs = <&wuc16 BIT(1)>; /* GPM1 */
363		};
364		wuc_wu146: wu146 {
365			wucs = <&wuc16 BIT(2)>; /* GPM2 */
366		};
367		wuc_wu147: wu147 {
368			wucs = <&wuc16 BIT(3)>; /* GPM3 */
369		};
370		wuc_wu148: wu148 {
371			wucs = <&wuc16 BIT(4)>; /* GPM4 */
372		};
373		wuc_wu149: wu149 {
374			wucs = <&wuc16 BIT(5)>; /* GPM5 */
375		};
376		wuc_wu150: wu150 {
377			wucs = <&wuc16 BIT(6)>; /* GPM6 */
378		};
379	};
380};
381