1/*
2 * Copyright (c) 2021 Microchip Technology Inc.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7ecs: ecs@4000fc00 {
8	reg = <0x4000fc00 0x200>;
9};
10pcr: pcr@40080100 {
11	compatible = "microchip,xec-pcr";
12	reg = <0x40080100 0x100 0x4000a400 0x100>;
13	reg-names = "pcrr", "vbatr";
14	interrupts = <174 0>;
15	core-clock-div = <1>;
16	/* MEC172x allows sources to be different */
17	pll-32k-src = <MCHP_XEC_PLL_CLK32K_SRC_SIL_OSC>;
18	periph-32k-src = <MCHP_XEC_PERIPH_CLK32K_SRC_SO_SO>;
19	clk32kmon-period-min = <1435>;
20	clk32kmon-period-max = <1495>;
21	clk32kmon-duty-cycle-var-max = <132>;
22	clk32kmon-valid-min = <4>;
23	xtal-enable-delay-ms = <300>;
24	pll-lock-timeout-ms = <30>;
25	#clock-cells = <3>;
26};
27ecia: ecia@4000e000 {
28	compatible = "microchip,xec-ecia";
29	reg = <0x4000e000 0x400>;
30	direct-capable-girqs = <13 14 15 16 17 18 19 20 21 23>;
31	clocks = <&pcr 1 0 MCHP_XEC_PCR_CLK_PERIPH>;
32	#address-cells = <1>;
33	#size-cells = <1>;
34
35	ranges = <0x0 0x4000e000 0x400>;
36
37	girq8: girq8@0 {
38		compatible = "microchip,xec-ecia-girq";
39		reg = <0x0 0x14>;
40		interrupts = <0 0>;
41		girq-id = <0>;
42		sources = <0 1 2 3 4 5 6 7
43			   8 9 10 11 12 13 14 15
44			   16 17 18 21 22 24 25
45			   26 27 28 29>;
46		status = "disabled";
47	};
48	girq9: girq9@14 {
49		compatible = "microchip,xec-ecia-girq";
50		reg = <0x14 0x14>;
51		interrupts = <1 0>;
52		girq-id = <1>;
53		sources = <0 1 2 3 4 5 6 7
54			   8 9 10 11 12 13 14 15
55			   16 17 18 19 20 21 22 23
56			   24 25 26 27 28 29>;
57		status = "disabled";
58	};
59	girq10: girq10@28 {
60		compatible = "microchip,xec-ecia-girq";
61		reg = <0x28 0x14>;
62		interrupts = <2 0>;
63		girq-id = <2>;
64		sources = <0 1 2 3 4 5 6 7
65			   8 9 10 11 12 13 14 15
66			   16 17 18 19 20 21 22 23
67			   24 25 26 27 28 29 30>;
68		status = "disabled";
69	};
70	girq11: girq11@3c {
71		compatible = "microchip,xec-ecia-girq";
72		reg = <0x3c 0x14>;
73		interrupts = <3 0>;
74		girq-id = <3>;
75		sources = <0 1 2 3 4 5 6 7
76			   8 9 10 11 12 13 14 15
77			   16 17 18 19 20 21 22 23
78			   24 25 26 27 28 29 30>;
79		status = "disabled";
80	};
81	girq12: girq12@50 {
82		compatible = "microchip,xec-ecia-girq";
83		reg = <0x50 0x14>;
84		interrupts = <4 0>;
85		girq-id = <4>;
86		sources = <0 1 2 3 4 5 6 7
87			   8 9 10 11 12 13 14 15
88			   16 17 18 19 20 21 22 23
89			   24 25 26 27 28 29 30>;
90		status = "disabled";
91	};
92	girq13: girq13@64 {
93		compatible = "microchip,xec-ecia-girq";
94		reg = <0x64 0x14>;
95		interrupts = <5 0>;
96		girq-id = <5>;
97		sources = <0 1 2 3 4>;
98		status = "disabled";
99	};
100	girq14: girq14@78 {
101		compatible = "microchip,xec-ecia-girq";
102		reg = <0x78 0x14>;
103		interrupts = <6 0>;
104		girq-id = <6>;
105		sources = <0 1 2 3 4 5 6 7
106			   8 9 10 11 12 13 14 15>;
107		status = "disabled";
108	};
109	girq15: girq15@8c {
110		compatible = "microchip,xec-ecia-girq";
111		reg = <0x8c 0x14>;
112		interrupts = <7 0>;
113		girq-id = <7>;
114		sources = <0 1 2 3 4 5 6 7
115			   8 9 10 11 12 13 14 15
116			   16 17 18 19 20 22>;
117		status = "disabled";
118	};
119	girq16: girq16@a0 {
120		compatible = "microchip,xec-ecia-girq";
121		reg = <0xa0 0x14>;
122		interrupts = <8 0>;
123		girq-id = <8>;
124		sources = <0 2 3>;
125		status = "disabled";
126	};
127	girq17: girq17@b4 {
128		compatible = "microchip,xec-ecia-girq";
129		reg = <0xb4 0x14>;
130		interrupts = <9 0>;
131		girq-id = <9>;
132		sources = <0 1 2 3 4 8 9 10 11 12 13 14 15
133			   16 17 20 21 22 23>;
134		status = "disabled";
135	};
136	girq18: girq18@c8 {
137		compatible = "microchip,xec-ecia-girq";
138		reg = <0xc8 0x14>;
139		interrupts = <10 0>;
140		girq-id = <10>;
141		sources = <0 1 2 3 4 5 6 7
142			   10 20 21 22 23
143			   24 25 26 27 28>;
144		status = "disabled";
145	};
146	girq19: girq19@dc {
147		compatible = "microchip,xec-ecia-girq";
148		reg = <0xdc 0x14>;
149		interrupts = <11 0>;
150		girq-id = <11>;
151		sources = <0 1 2 3 4 5 6 7 8 9 10>;
152		status = "disabled";
153	};
154	girq20: girq20@f0 {
155		compatible = "microchip,xec-ecia-girq";
156		reg = <0xf0 0x14>;
157		interrupts = <12 0>;
158		girq-id = <12>;
159		sources = <3 9>;
160		status = "disabled";
161	};
162	girq21: girq21@104 {
163		compatible = "microchip,xec-ecia-girq";
164		reg = <0x104 0x14>;
165		interrupts = <13 0>;
166		girq-id = <13>;
167		sources = <2 3 4 5 6 7 8 9 10 11 12 13 14 15
168			   18 19 25 26>;
169		status = "disabled";
170	};
171	girq22: girq22@118 {
172		compatible = "microchip,xec-ecia-girq";
173		reg = <0x118 0x14>;
174		interrupts = <255 0>;
175		girq-id = <14>;
176		sources = <0 1 2 3 4 5 9 15>;
177		status = "disabled";
178	};
179	girq23: girq23@12c {
180		compatible = "microchip,xec-ecia-girq";
181		reg = <0x12c 0x14>;
182		interrupts = <14 0>;
183		girq-id = <15>;
184		sources = <0 1 2 3 4 5 6 7 8 9 10 16 17>;
185		status = "disabled";
186	};
187	girq24: girq24@140 {
188		compatible = "microchip,xec-ecia-girq";
189		reg = <0x140 0x14>;
190		interrupts = <15 0>;
191		girq-id = <16>;
192		sources = <0 1 2 3 4 5 6 7 8 9 10 11
193			   12 13 14 15 16 17 18 19
194			   20 21 22 23 24 25 26 27>;
195		status = "disabled";
196	};
197	girq25: girq25@154 {
198		compatible = "microchip,xec-ecia-girq";
199		reg = <0x154 0x14>;
200		interrupts = <16 0>;
201		girq-id = <17>;
202		sources = <0 1 2 3 4 5 6 7 8 9 10 11
203			   12 13 14 15>;
204		status = "disabled";
205	};
206	girq26: girq26@168 {
207		compatible = "microchip,xec-ecia-girq";
208		reg = <0x168 0x14>;
209		interrupts = <17 0>;
210		girq-id = <18>;
211		sources = <0 1 2 3 4 5 6 12 13>;
212		status = "disabled";
213	};
214};
215pinctrl: pin-controller@40081000 {
216	compatible = "microchip,xec-pinctrl";
217	#address-cells = <1>;
218	#size-cells = <1>;
219	reg = <0x40081000 0x1000>;
220
221	gpio_000_036: gpio@40081000 {
222		compatible = "microchip,xec-gpio-v2";
223		reg = < 0x40081000 0x80 0x40081300 0x04
224			0x40081380 0x04 0x400813fc 0x04>;
225		interrupts = <3 2>;
226		gpio-controller;
227		port-id = <0>;
228		girq-id = <11>;
229		#gpio-cells=<2>;
230	};
231	gpio_040_076: gpio@40081080 {
232		compatible = "microchip,xec-gpio-v2";
233		reg = < 0x40081080 0x80 0x40081304 0x04
234			0x40081384 0x04 0x400813f8 0x4>;
235		interrupts = <2 2>;
236		gpio-controller;
237		port-id = <1>;
238		girq-id = <10>;
239		#gpio-cells=<2>;
240	};
241	gpio_100_136: gpio@40081100 {
242		compatible = "microchip,xec-gpio-v2";
243		reg = < 0x40081100 0x80 0x40081308 0x04
244			0x40081388 0x04 0x400813f4 0x04>;
245		gpio-controller;
246		interrupts = <1 2>;
247		port-id = <2>;
248		girq-id = <9>;
249		#gpio-cells=<2>;
250	};
251	gpio_140_176: gpio@40081180 {
252		compatible = "microchip,xec-gpio-v2";
253		reg = < 0x40081180 0x80 0x4008130c 0x04
254			0x4008138c 0x04 0x400813f0 0x04>;
255		gpio-controller;
256		interrupts = <0 2>;
257		port-id = <3>;
258		girq-id = <8>;
259		#gpio-cells=<2>;
260	};
261	gpio_200_236: gpio@40081200 {
262		compatible = "microchip,xec-gpio-v2";
263		reg = < 0x40081200 0x80 0x40081310 0x04
264			0x40081390 0x04 0x400813ec 0x04>;
265		gpio-controller;
266		interrupts = <4 2>;
267		port-id = <4>;
268		girq-id = <12>;
269		#gpio-cells=<2>;
270	};
271	gpio_240_276: gpio@40081280 {
272		compatible = "microchip,xec-gpio-v2";
273		reg = < 0x40081280 0x80 0x40081314 0x04
274			0x40081394 0x04 0x400813e8 0x04>;
275		gpio-controller;
276		interrupts = <17 2>;
277		port-id = <5>;
278		girq-id = <26>;
279		#gpio-cells=<2>;
280	};
281};
282wdog: watchdog@40000400 {
283	compatible = "microchip,xec-watchdog";
284	reg = <0x40000400 0x400>;
285	interrupts = <171 0>;
286	girqs = <21 2>;
287	pcrs = <1 9>;
288};
289rtimer: timer@40007400 {
290	compatible = "microchip,xec-rtos-timer";
291	reg = <0x40007400 0x10>;
292	interrupts = <111 0>;
293	girqs = <23 10>;
294};
295timer0: timer@40000c00 {
296	compatible = "microchip,xec-timer";
297	clock-frequency = <48000000>;
298	reg = <0x40000c00 0x20>;
299	interrupts = <136 0>;
300	girqs = <23 0>;
301	pcrs = <1 30>;
302	max-value = <0xFFFF>;
303	prescaler = <0>;
304	status = "disabled";
305};
306timer1: timer@40000c20 {
307	compatible = "microchip,xec-timer";
308	clock-frequency = <48000000>;
309	reg = <0x40000c20 0x20>;
310	interrupts = <137 0>;
311	girqs = <23 1>;
312	pcrs = <1 31>;
313	max-value = <0xFFFF>;
314	prescaler = <0>;
315	status = "disabled";
316};
317timer2: timer@40000c40 {
318	compatible = "microchip,xec-timer";
319	clock-frequency = <48000000>;
320	reg = <0x40000c40 0x20>;
321	interrupts = <138 0>;
322	girqs = <23 2>;
323	pcrs = <3 21>;
324	max-value = <0xFFFF>;
325	prescaler = <0>;
326	status = "disabled";
327};
328timer3: timer@40000c60 {
329	compatible = "microchip,xec-timer";
330	clock-frequency = <48000000>;
331	reg = <0x40000c60 0x20>;
332	interrupts = <139 0>;
333	girqs = <23 3>;
334	pcrs = <3 22>;
335	max-value = <0xFFFF>;
336	prescaler = <0>;
337	status = "disabled";
338};
339/*
340 * NOTE: When RTOS timer used as kernel timer, timer4 used
341 * to provide high speed busy wait counter. Keep disabled to
342 * prevent counter driver from claiming it.
343 */
344timer4: timer@40000c80 {
345	compatible = "microchip,xec-timer";
346	clock-frequency = <48000000>;
347	reg = <0x40000c80 0x20>;
348	interrupts = <140 0>;
349	girqs = <23 4>;
350	pcrs = <3 23>;
351	max-value = <0xFFFFFFFF>;
352	prescaler = <0>;
353	status = "disabled";
354};
355timer5: timer@40000ca0 {
356	compatible = "microchip,xec-timer";
357	clock-frequency = <48000000>;
358	reg = <0x40000ca0 0x20>;
359	interrupts = <141 0>;
360	girqs = <23 5>;
361	pcrs = <3 24>;
362	max-value = <0xFFFFFFFF>;
363	prescaler = <0>;
364	status = "disabled";
365};
366cntr0: timer@40000d00 {
367	reg = <0x40000d00 0x20>;
368	interrupts = <142 0>;
369	girqs = <23 6>;
370	pcrs = <4 2>;
371	status = "disabled";
372};
373cntr1: timer@40000d20 {
374	reg = <0x40000d20 0x20>;
375	interrupts = <143 0>;
376	girqs = <23 7>;
377	pcrs = <4 3>;
378	status = "disabled";
379};
380cntr2: timer@40000d40 {
381	reg = <0x40000d40 0x20>;
382	interrupts = <144 0>;
383	girqs = <23 8>;
384	pcrs = <4 3>;
385	status = "disabled";
386};
387cntr3: timer@40000d60 {
388	reg = <0x40000d60 0x20>;
389	interrupts = <145 0>;
390	girqs = <23 9>;
391	pcrs = <4 4>;
392	status = "disabled";
393};
394cctmr0: timer@40001000 {
395	reg = <0x40001000 0x40>;
396	interrupts = <146 0>, <147 0>, <148 0>, <149 0>,
397		     <150 0>, <151 0>, <152 0>, <153 0>,
398		     <154 0>;
399	girqs = <18 20>, <18 21>, <18 22>, <18 23>, <18 24>,
400		<18 25>, <18 26>, <18 27>, <18 28>;
401	pcrs = <3 30>;
402	status = "disabled";
403};
404hibtimer0: timer@40009800 {
405	reg = <0x40009800 0x20>;
406	interrupts = <112 0>;
407	girqs = <23 16>;
408};
409hibtimer1: timer@40009820 {
410	reg = <0x40009820 0x20>;
411	interrupts = <113 0>;
412	girqs = <23 17>;
413};
414weektmr0: timer@4000ac80 {
415	reg = <0x4000ac80 0x80>;
416	interrupts = <114 0>, <115 0>, <116 0>,
417		     <117 0>, <118 0>;
418	girqs = <21 3>, <21 4>, <21 5>, <21 6>, <21 7>;
419	status = "disabled";
420};
421bbram: bb-ram@4000a800 {
422	compatible = "microchip,xec-bbram";
423	reg = <0x4000a800 0x100>;
424	reg-names = "memory";
425};
426vci0: vci@4000ae00 {
427	reg = <0x4000ae00 0x40>;
428	interrupts = <121 0>, <122 0>, <123 0>,
429		     <124 0>, <125 0>;
430	girqs = <21 10>, <21 11>, <21 12>, <21 13>, <21 14>;
431	status = "disabled";
432};
433dmac: dmac@40002400 {
434	compatible = "microchip,xec-dmac";
435	reg = <0x40002400 0xc00>;
436	interrupts = <24 1>, <25 1>, <26 1>, <27 1>,
437		     <28 1>, <29 1>, <30 1>, <31 1>,
438		     <32 1>, <33 1>, <34 1>, <35 1>,
439		     <36 1>, <37 1>, <38 1>, <39 1>;
440	girqs = < MCHP_XEC_ECIA(14, 0, 6, 24)
441		  MCHP_XEC_ECIA(14, 1, 6, 25)
442		  MCHP_XEC_ECIA(14, 2, 6, 26)
443		  MCHP_XEC_ECIA(14, 3, 6, 27)
444		  MCHP_XEC_ECIA(14, 4, 6, 28)
445		  MCHP_XEC_ECIA(14, 5, 6, 29)
446		  MCHP_XEC_ECIA(14, 6, 6, 30)
447		  MCHP_XEC_ECIA(14, 7, 6, 31)
448		  MCHP_XEC_ECIA(14, 8, 6, 32)
449		  MCHP_XEC_ECIA(14, 9, 6, 33)
450		  MCHP_XEC_ECIA(14, 10, 6, 34)
451		  MCHP_XEC_ECIA(14, 11, 6, 35)
452		  MCHP_XEC_ECIA(14, 12, 6, 36)
453		  MCHP_XEC_ECIA(14, 13, 6, 37)
454		  MCHP_XEC_ECIA(14, 14, 6, 38)
455		  MCHP_XEC_ECIA(14, 15, 6, 39) >;
456	pcrs = <1 6>;
457	#dma-cells = <2>;
458	dma-channels = <16>;
459	dma-requests = <16>;
460	status = "disabled";
461};
462i2c_smb_0: i2c@40004000 {
463	compatible = "microchip,xec-i2c-v2";
464	reg = <0x40004000 0x80>;
465	clock-frequency = <I2C_BITRATE_STANDARD>;
466	interrupts = <20 1>;
467	girqs = <13 0>;
468	pcrs = <1 10>;
469	#address-cells = <1>;
470	#size-cells = <0>;
471	status = "disabled";
472};
473i2c_smb_1: i2c@40004400 {
474	compatible = "microchip,xec-i2c-v2";
475	reg = <0x40004400 0x80>;
476	clock-frequency = <I2C_BITRATE_STANDARD>;
477	interrupts = <21 1>;
478	girqs = <13 1>;
479	pcrs = <3 13>;
480	#address-cells = <1>;
481	#size-cells = <0>;
482	status = "disabled";
483};
484i2c_smb_2: i2c@40004800 {
485	compatible = "microchip,xec-i2c-v2";
486	reg = <0x40004800 0x80>;
487	clock-frequency = <I2C_BITRATE_STANDARD>;
488	interrupts = <22 1>;
489	girqs = <13 2>;
490	pcrs = <3 14>;
491	#address-cells = <1>;
492	#size-cells = <0>;
493	status = "disabled";
494};
495i2c_smb_3: i2c@40004c00 {
496	compatible = "microchip,xec-i2c-v2";
497	reg = <0x40004C00 0x80>;
498	clock-frequency = <I2C_BITRATE_STANDARD>;
499	interrupts = <23 1>;
500	girqs = <13 3>;
501	pcrs = <3 15>;
502	#address-cells = <1>;
503	#size-cells = <0>;
504	status = "disabled";
505};
506i2c_smb_4: i2c@40005000 {
507	compatible = "microchip,xec-i2c-v2";
508	reg = <0x40005000 0x80>;
509	clock-frequency = <I2C_BITRATE_STANDARD>;
510	interrupts = <158 1>;
511	girqs = <13 4>;
512	pcrs = <3 20>;
513	#address-cells = <1>;
514	#size-cells = <0>;
515	status = "disabled";
516};
517ps2_0: ps2@40009000 {
518	compatible = "microchip,xec-ps2";
519	reg = <0x40009000 0x40>;
520	interrupts = <100 1>;
521	girqs = <18 10>, <21 18>;
522	pcrs = <3 5>;
523	#address-cells = <1>;
524	#size-cells = <0>;
525	status = "disabled";
526};
527pwm0: pwm@40005800 {
528	compatible = "microchip,xec-pwm";
529	reg = <0x40005800 0x20>;
530	pcrs = <1 4>;
531	status = "disabled";
532	#pwm-cells = <3>;
533};
534pwm1: pwm@40005810 {
535	compatible = "microchip,xec-pwm";
536	reg = <0x40005810 0x20>;
537	pcrs = <1 20>;
538	status = "disabled";
539	#pwm-cells = <3>;
540};
541pwm2: pwm@40005820 {
542	compatible = "microchip,xec-pwm";
543	reg = <0x40005820 0x20>;
544	pcrs = <1 21>;
545	status = "disabled";
546	#pwm-cells = <3>;
547};
548pwm3: pwm@40005830 {
549	compatible = "microchip,xec-pwm";
550	reg = <0x40005830 0x20>;
551	pcrs = <1 22>;
552	status = "disabled";
553	#pwm-cells = <3>;
554};
555pwm4: pwm@40005840 {
556	compatible = "microchip,xec-pwm";
557	reg = <0x40005840 0x20>;
558	pcrs = <1 23>;
559	status = "disabled";
560	#pwm-cells = <3>;
561};
562pwm5: pwm@40005850 {
563	compatible = "microchip,xec-pwm";
564	reg = <0x40005850 0x20>;
565	pcrs = <1 24>;
566	status = "disabled";
567	#pwm-cells = <3>;
568};
569pwm6: pwm@40005860 {
570	compatible = "microchip,xec-pwm";
571	reg = <0x40005860 0x20>;
572	pcrs = <1 25>;
573	status = "disabled";
574	#pwm-cells = <3>;
575};
576pwm7: pwm@40005870 {
577	compatible = "microchip,xec-pwm";
578	reg = <0x40005870 0x20>;
579	pcrs = <1 26>;
580	status = "disabled";
581	#pwm-cells = <3>;
582};
583pwm8: pwm@40005880 {
584	compatible = "microchip,xec-pwm";
585	reg = <0x40005880 0x20>;
586	pcrs = <1 27>;
587	status = "disabled";
588	#pwm-cells = <3>;
589};
590tach0: tach@40006000 {
591	compatible = "microchip,xec-tach";
592	reg = <0x40006000 0x10>;
593	interrupts = <71 4>;
594	girqs = <17 1>;
595	pcrs = <1 2>;
596	#address-cells = <1>;
597	#size-cells = <0>;
598	status = "disabled";
599};
600tach1: tach@40006010 {
601	compatible = "microchip,xec-tach";
602	reg = <0x40006010 0x10>;
603	interrupts = <72 4>;
604	girqs = <17 2>;
605	pcrs = <1 11>;
606	#address-cells = <1>;
607	#size-cells = <0>;
608	status = "disabled";
609};
610tach2: tach@40006020 {
611	compatible = "microchip,xec-tach";
612	reg = <0x40006020 0x10>;
613	interrupts = <73 4>;
614	girqs = <17 3>;
615	pcrs = <1 12>;
616	#address-cells = <1>;
617	#size-cells = <0>;
618	status = "disabled";
619};
620tach3: tach@40006030 {
621	compatible = "microchip,xec-tach";
622	reg = <0x40006030 0x10>;
623	interrupts = <159 4>;
624	girqs = <17 4>;
625	pcrs = <1 13>;
626	#address-cells = <1>;
627	#size-cells = <0>;
628	status = "disabled";
629};
630rpmfan0: rpmfan@4000a000 {
631	reg = <0x4000a000 0x80>;
632	interrupts = <74 1>, <75 1>;
633	girqs = <17 20>, <17 21>;
634	pcrs = <3 12>;
635	status = "disabled";
636};
637rpmfan1: rpmfan@4000a080 {
638	reg = <0x4000a080 0x80>;
639	interrupts = <76 1>, <77 1>;
640	girqs = <17 22>, <17 23>;
641	pcrs = <4 7>;
642	status = "disabled";
643};
644adc0: adc@40007c00 {
645	compatible = "microchip,xec-adc";
646	reg = <0x40007c00 0x90>;
647	interrupts = <78 0>, <79 0>;
648	girqs = <17 8>, <17 9>;
649	pcrs = <3 3>;
650	status = "disabled";
651	#io-channel-cells = <1>;
652	clktime = <32>;
653};
654kbd0: kbd@40009c00 {
655	compatible = "microchip,xec-kbd";
656	reg = <0x40009c00 0x18>;
657	interrupts = <135 0>;
658	girqs = <21 25>;
659	pcrs = <3 11>;
660	status = "disabled";
661	#address-cells = <1>;
662	#size-cells = <0>;
663};
664peci0: peci@40006400 {
665	compatible = "microchip,xec-peci";
666	reg = <0x40006400 0x80>;
667	interrupts = <70 4>;
668	girqs = <17 0>;
669	pcrs = <1 1>;
670	#address-cells = <1>;
671	#size-cells = <0>;
672};
673spi0: spi@40070000 {
674	reg = <0x40070000 0x400>;
675	interrupts = <91 2>;
676	girqs = < MCHP_XEC_ECIA(18, 1, 10, 91) >;
677	clocks = <&pcr 4 8 MCHP_XEC_PCR_CLK_PERIPH>;
678	clock-frequency = <12000000>;
679	lines = <1>;
680	chip-select = <0>;
681	#address-cells = <1>;
682	#size-cells = <0>;
683	status = "disabled";
684};
685spi1: spi@40009400 {
686	reg = <0x40009400 0x80>;
687	interrupts = <92 2>, <93 2>;
688	girqs = <18 2>, <18 3>;
689	pcrs = <3 9>;
690	status = "disabled";
691};
692spi2: spi@40009480 {
693	reg = <0x40009480 0x80>;
694	interrupts = <94 2>, <95 2>;
695	girqs = <18 4>, <18 5>;
696	pcrs = <4 22>;
697	status = "disabled";
698};
699prochot0: prochot@40003400 {
700	reg = <0x40003400 0x20>;
701	interrupts = <87 0>;
702	girqs = <17 17>;
703	pcrs = <4 13>;
704	status = "disabled";
705};
706rcid0: rcid@40001400 {
707	reg = <0x40001400 0x80>;
708	interrupts = <80 0>;
709	girqs = <17 10>;
710	pcrs = <4 10>;
711	status = "disabled";
712};
713rcid1: rcid@40001480 {
714	reg = <0x40001480 0x80>;
715	interrupts = <81 0>;
716	girqs = <17 11>;
717	pcrs = <4 11>;
718	status = "disabled";
719};
720rcid2: rcid@40001500 {
721	reg = <0x40001500 0x80>;
722	interrupts = <82 0>;
723	girqs = <17 12>;
724	pcrs = <4 12>;
725	status = "disabled";
726};
727spip0: spip@40007000 {
728	reg = <0x40007000 0x100>;
729	interrupts = <90 0>;
730	girqs = <18 0>;
731	pcrs = <4 16>;
732	status = "disabled";
733};
734bbled0: bbled@4000b800 {
735	reg = <0x4000b800 0x100>;
736	interrupts = <83 0>;
737	girqs = <17 13>;
738	pcrs = <3 16>;
739	status = "disabled";
740};
741bbled1: bbled@4000b900 {
742	reg = <0x4000b900 0x100>;
743	interrupts = <84 0>;
744	girqs = <17 14>;
745	pcrs = <3 17>;
746	status = "disabled";
747};
748bbled2: bbled@4000ba00 {
749	reg = <0x4000ba00 0x100>;
750	interrupts = <85 0>;
751	girqs = <17 15>;
752	pcrs = <3 18>;
753	status = "disabled";
754};
755bbled3: bbled@4000bb00 {
756	reg = <0x4000bb00 0x100>;
757	interrupts = <86 0>;
758	girqs = <17 16>;
759	pcrs = <3 25>;
760	status = "disabled";
761};
762bclink0: bclink@4000cd00 {
763	reg = <0x4000cd00 0x20>;
764	interrupts = <96 0>, <97 0>;
765	girqs = <18 7>, <18 6>;
766	pcrs = <3 19>;
767	status = "disabled";
768};
769tfdp0: tfdp@40008c00 {
770	reg = <0x40008c00 0x10>;
771	pcrs = <1 7>;
772	status = "disabled";
773};
774glblcfg0: glblcfg@400fff00 {
775	reg = <0x400fff00 0x40>;
776	pcrs = <2 12>;
777	status = "disabled";
778};
779uart0: uart@400f2400 {
780	compatible = "microchip,xec-uart";
781	reg = <0x400f2400 0x400>;
782	interrupts = <40 1>;
783	clock-frequency = <1843200>;
784	current-speed = <38400>;
785	girqs = <15 0>;
786	pcrs = <2 1>;
787	ldn = <9>;
788	status = "disabled";
789};
790uart1: uart@400f2800 {
791	compatible = "microchip,xec-uart";
792	reg = <0x400f2800 0x400>;
793	interrupts = <41 1>;
794	clock-frequency = <1843200>;
795	current-speed = <38400>;
796	girqs = <15 1>;
797	pcrs = <2 2>;
798	ldn = <10>;
799	status = "disabled";
800};
801espi0: espi@400f3400 {
802	compatible = "microchip,xec-espi-v2";
803	/* reg tuple contains one 32-bit address cell and one
804	 * 32-bit length(size) cell.
805	 */
806	#address-cells = <1>;
807	#size-cells = <1>;
808	reg = < 0x400f3400 0x400
809		0x400f3800 0x400
810		0x400f9c00 0x400>;
811	reg-names = "io", "mem", "vw";
812	interrupts = <103 3>, <104 3>, <105 3>, <106 3>,
813		     <107 3>, <108 3>, <109 3>, <110 2>,
814		     <156 3>;
815	interrupt-names = "pc", "bm1", "bm2", "ltr", "oob_up",
816			  "oob_dn", "fc", "rst", "vw_chan_en";
817	girqs = < MCHP_XEC_ECIA(19, 0, 11, 103)
818		  MCHP_XEC_ECIA(19, 1, 11, 104)
819		  MCHP_XEC_ECIA(19, 2, 11, 105)
820		  MCHP_XEC_ECIA(19, 3, 11, 106)
821		  MCHP_XEC_ECIA(19, 4, 11, 107)
822		  MCHP_XEC_ECIA(19, 5, 11, 108)
823		  MCHP_XEC_ECIA(19, 6, 11, 109)
824		  MCHP_XEC_ECIA(19, 7, 11, 110)
825		  MCHP_XEC_ECIA(19, 8, 11, 156) >;
826	pcrs = <2 19>;
827	status = "disabled";
828
829	espi_saf0: espi_saf@40008000 {
830		compatible = "microchip,xec-espi-saf-v2";
831		reg = <0x40008000 0x400>, <0x40070000 0x400>,
832		      <0x40071000 0x400>;
833		reg-names = "safbr", "safqspi", "safcomm";
834		interrupts = <166 3>, <167 3>;
835		interrupt-names = "done", "err";
836		girqs = < MCHP_XEC_ECIA(19, 9, 11, 166) >,
837			< MCHP_XEC_ECIA(19, 10, 11, 167) >;
838		pcrs = <2 27>;
839		status = "disabled";
840	};
841
842	mbox0: mbox@400f0000 {
843		compatible = "microchip,xec-espi-host-dev";
844		reg = <0x400f0000 0x200>;
845		interrupts = <60 3>;
846		girqs = < MCHP_XEC_ECIA(15, 20, 7, 60) >;
847		pcrs = <2 17>;
848		ldn = <0>;
849		status = "disabled";
850	};
851	kbc0: kbc@400f0400 {
852		compatible = "microchip,xec-espi-host-dev";
853		reg = <0x400f0400 0x400>;
854		interrupts = <58 3>, <59 3>;
855		interrupt-names = "kbc_obe", "kbc_ibf";
856		girqs = < MCHP_XEC_ECIA(15, 18, 7, 58)
857			  MCHP_XEC_ECIA(15, 19, 7, 59) >;
858		ldn = <1>;
859		status = "disabled";
860	};
861	acpi_ec0: acpi_ec@400f0800 {
862		compatible = "microchip,xec-espi-host-dev";
863		reg = <0x400f0800 0x400>;
864		interrupts = <45 3>, <46 3>;
865		interrupt-names = "acpi_ibf", "acpi_obe";
866		girqs = < MCHP_XEC_ECIA(15, 5, 7, 45)
867			  MCHP_XEC_ECIA(15, 6, 7, 46) >;
868		ldn = <2>;
869		status = "disabled";
870	};
871	acpi_ec1: acpi_ec@400f0c00 {
872		compatible = "microchip,xec-espi-host-dev";
873		reg = <0x400f0c00 0x400>;
874		interrupts = <47 3>, <48 3>;
875		interrupt-names = "acpi_ibf", "acpi_obe";
876		girqs = < MCHP_XEC_ECIA(15, 7, 7, 47)
877			  MCHP_XEC_ECIA(15, 8, 7, 48) >;
878		ldn = <3>;
879		status = "disabled";
880	};
881	acpi_ec2: acpi_ec@400f1000 {
882		compatible = "microchip,xec-espi-host-dev";
883		reg = <0x400f1000 0x400>;
884		interrupts = <49 3>, <50 3>;
885		interrupt-names = "acpi_ibf", "acpi_obe";
886		girqs = < MCHP_XEC_ECIA(15, 9, 7, 49)
887			  MCHP_XEC_ECIA(15, 10, 7, 50) >;
888		ldn = <4>;
889		status = "disabled";
890	};
891	acpi_ec3: acpi_ec@400f1400 {
892		compatible = "microchip,xec-espi-host-dev";
893		reg = <0x400f1400 0x400>;
894		interrupts = <51 3>, <52 3>;
895		interrupt-names = "acpi_ibf", "acpi_obe";
896		girqs = < MCHP_XEC_ECIA(15, 11, 7, 51)
897			  MCHP_XEC_ECIA(15, 12, 7, 52) >;
898		ldn = <5>;
899		status = "disabled";
900	};
901	acpi_ec4: acpi_ec@400f1800 {
902		compatible = "microchip,xec-espi-host-dev";
903		reg = <0x400f1800 0x400>;
904		interrupts = <53 3>, <54 3>;
905		interrupt-names = "acpi_ibf", "acpi_obe";
906		girqs = < MCHP_XEC_ECIA(15, 13, 7, 53)
907			  MCHP_XEC_ECIA(15, 14, 7, 54) >;
908		ldn = <6>;
909		status = "disabled";
910	};
911	acpi_pm1: acpi_pm1@400f1c00 {
912		compatible = "microchip,xec-espi-host-dev";
913		reg = <0x400f1c00 0x400>;
914		interrupts = <55 3>, <56 3>, <57 3>;
915		interrupt-names = "pm1_ctl", "pm1_en", "pm1_sts";
916		girqs = < MCHP_XEC_ECIA(15, 15, 7, 55)
917			  MCHP_XEC_ECIA(15, 16, 7, 56)
918			  MCHP_XEC_ECIA(15, 17, 7, 57) >;
919		ldn = <7>;
920		status = "disabled";
921	};
922	port92: port92@400f2000 {
923		compatible = "microchip,xec-espi-host-dev";
924		reg = <0x400f2000 0x400>;
925		ldn = <8>;
926		status = "disabled";
927	};
928	emi0: emi@400f4000 {
929		compatible = "microchip,xec-espi-host-dev";
930		reg = <0x400f4000 0x400>;
931		interrupts = <42 3>;
932		girqs = < MCHP_XEC_ECIA(15, 2, 7, 42) >;
933		ldn = <16>;
934		status = "disabled";
935	};
936	emi1: emi@400f4400 {
937		compatible = "microchip,xec-espi-host-dev";
938		reg = <0x400f4400 0x400>;
939		interrupts = <43 3>;
940		girqs = < MCHP_XEC_ECIA(15, 3, 7, 43) >;
941		ldn = <17>;
942		status = "disabled";
943	};
944	emi2: emi@400f4800 {
945		compatible = "microchip,xec-espi-host-dev";
946		reg = <0x400f4800 0x400>;
947		interrupts = <44 3>;
948		girqs = < MCHP_XEC_ECIA(15, 4, 7, 44) >;
949		ldn = <18>;
950		status = "disabled";
951	};
952	rtc0: rtc@400f5000 {
953		compatible = "microchip,xec-espi-host-dev";
954		reg = <0x400f5000 0x100>;
955		interrupts = <119 3>, <120 3>;
956		girqs = < MCHP_XEC_ECIA(21, 8, 13, 119)
957			  MCHP_XEC_ECIA(21, 9, 13, 120) >;
958		pcrs = <2 18>;
959		ldn = <20>;
960		status = "disabled";
961	};
962	/* Capture writes to host I/O 0x80 - 0x83 */
963	p80bd0: p80bd@400f8000 {
964		compatible = "microchip,xec-espi-host-dev";
965		reg = <0x400f8000 0x400>;
966		interrupts = <62 0>;
967		girqs = < MCHP_XEC_ECIA(15, 22, 7, 62) >;
968		pcrs = <2 25>;
969		ldn = <32>;
970		status = "disabled";
971	};
972	/* Capture writes to an 8-bit I/O and map to one of 0x80 to 0x83 */
973	p80bd0_alias: p80bd@400f8400 {
974		compatible = "microchip,xec-espi-host-dev";
975		reg = <0x400f8400 0x400>;
976		ldn = <33>;
977		host-io = <0x90>;
978		/* map 0x90 to 0x80 */
979		host-io-addr-mask = <0x01>;
980		status = "disabled";
981	};
982};
983
984symcr: symcr@40100000 {
985	compatible = "microchip,xec-symcr";
986	reg = <0x40100000 0x1000>;
987	interrupts = <68 1>;
988	clocks = <&pcr 3 26 MCHP_XEC_PCR_CLK_PERIPH>;
989	girqs = <16 3>;
990	status = "disabled";
991	#address-cells = <1>;
992	#size-cells = <1>;
993};
994
995rom_api: rom_api@1f000 {
996	reg = <0x1f000 0x1000>;
997	status = "disabled";
998};
999