1// SPDX-License-Identifier: GPL-2.0+ OR MIT
2/*
3 * Apple T8103 "M1" SoC
4 *
5 * Other names: H13G, "Tonga"
6 *
7 * Copyright The Asahi Linux Contributors
8 */
9
10#include <dt-bindings/gpio/gpio.h>
11#include <dt-bindings/interrupt-controller/apple-aic.h>
12#include <dt-bindings/interrupt-controller/irq.h>
13#include <dt-bindings/pinctrl/apple.h>
14
15/ {
16	compatible = "apple,t8103", "apple,arm-platform";
17
18	#address-cells = <2>;
19	#size-cells = <2>;
20
21	cpus {
22		#address-cells = <2>;
23		#size-cells = <0>;
24
25		cpu0: cpu@0 {
26			compatible = "apple,icestorm";
27			device_type = "cpu";
28			reg = <0x0 0x0>;
29			enable-method = "spin-table";
30			cpu-release-addr = <0 0>; /* To be filled by loader */
31		};
32
33		cpu1: cpu@1 {
34			compatible = "apple,icestorm";
35			device_type = "cpu";
36			reg = <0x0 0x1>;
37			enable-method = "spin-table";
38			cpu-release-addr = <0 0>; /* To be filled by loader */
39		};
40
41		cpu2: cpu@2 {
42			compatible = "apple,icestorm";
43			device_type = "cpu";
44			reg = <0x0 0x2>;
45			enable-method = "spin-table";
46			cpu-release-addr = <0 0>; /* To be filled by loader */
47		};
48
49		cpu3: cpu@3 {
50			compatible = "apple,icestorm";
51			device_type = "cpu";
52			reg = <0x0 0x3>;
53			enable-method = "spin-table";
54			cpu-release-addr = <0 0>; /* To be filled by loader */
55		};
56
57		cpu4: cpu@10100 {
58			compatible = "apple,firestorm";
59			device_type = "cpu";
60			reg = <0x0 0x10100>;
61			enable-method = "spin-table";
62			cpu-release-addr = <0 0>; /* To be filled by loader */
63		};
64
65		cpu5: cpu@10101 {
66			compatible = "apple,firestorm";
67			device_type = "cpu";
68			reg = <0x0 0x10101>;
69			enable-method = "spin-table";
70			cpu-release-addr = <0 0>; /* To be filled by loader */
71		};
72
73		cpu6: cpu@10102 {
74			compatible = "apple,firestorm";
75			device_type = "cpu";
76			reg = <0x0 0x10102>;
77			enable-method = "spin-table";
78			cpu-release-addr = <0 0>; /* To be filled by loader */
79		};
80
81		cpu7: cpu@10103 {
82			compatible = "apple,firestorm";
83			device_type = "cpu";
84			reg = <0x0 0x10103>;
85			enable-method = "spin-table";
86			cpu-release-addr = <0 0>; /* To be filled by loader */
87		};
88	};
89
90	timer {
91		compatible = "arm,armv8-timer";
92		interrupt-parent = <&aic>;
93		interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt";
94		interrupts = <AIC_FIQ AIC_TMR_GUEST_PHYS IRQ_TYPE_LEVEL_HIGH>,
95			     <AIC_FIQ AIC_TMR_GUEST_VIRT IRQ_TYPE_LEVEL_HIGH>,
96			     <AIC_FIQ AIC_TMR_HV_PHYS IRQ_TYPE_LEVEL_HIGH>,
97			     <AIC_FIQ AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>;
98	};
99
100	pmu-e {
101		compatible = "apple,icestorm-pmu";
102		interrupt-parent = <&aic>;
103		interrupts = <AIC_FIQ AIC_CPU_PMU_E IRQ_TYPE_LEVEL_HIGH>;
104	};
105
106	pmu-p {
107		compatible = "apple,firestorm-pmu";
108		interrupt-parent = <&aic>;
109		interrupts = <AIC_FIQ AIC_CPU_PMU_P IRQ_TYPE_LEVEL_HIGH>;
110	};
111
112	clkref: clock-ref {
113		compatible = "fixed-clock";
114		#clock-cells = <0>;
115		clock-frequency = <24000000>;
116		clock-output-names = "clkref";
117	};
118
119	/*
120	 * This is a fabulated representation of the input clock
121	 * to NCO since we don't know the true clock tree.
122	 */
123	nco_clkref: clock-ref-nco {
124		compatible = "fixed-clock";
125		#clock-cells = <0>;
126		clock-output-names = "nco_ref";
127	};
128
129	soc {
130		compatible = "simple-bus";
131		#address-cells = <2>;
132		#size-cells = <2>;
133
134		ranges;
135		nonposted-mmio;
136
137		dart_sio: iommu@235004000 {
138			compatible = "apple,t8103-dart";
139			reg = <0x2 0x35004000 0x0 0x4000>;
140			interrupt-parent = <&aic>;
141			interrupts = <AIC_IRQ 635 IRQ_TYPE_LEVEL_HIGH>;
142			#iommu-cells = <1>;
143			power-domains = <&ps_sio_cpu>;
144		};
145
146		i2c0: i2c@235010000 {
147			compatible = "apple,t8103-i2c", "apple,i2c";
148			reg = <0x2 0x35010000 0x0 0x4000>;
149			clocks = <&clkref>;
150			interrupt-parent = <&aic>;
151			interrupts = <AIC_IRQ 627 IRQ_TYPE_LEVEL_HIGH>;
152			pinctrl-0 = <&i2c0_pins>;
153			pinctrl-names = "default";
154			#address-cells = <0x1>;
155			#size-cells = <0x0>;
156			power-domains = <&ps_i2c0>;
157		};
158
159		i2c1: i2c@235014000 {
160			compatible = "apple,t8103-i2c", "apple,i2c";
161			reg = <0x2 0x35014000 0x0 0x4000>;
162			clocks = <&clkref>;
163			interrupt-parent = <&aic>;
164			interrupts = <AIC_IRQ 628 IRQ_TYPE_LEVEL_HIGH>;
165			pinctrl-0 = <&i2c1_pins>;
166			pinctrl-names = "default";
167			#address-cells = <0x1>;
168			#size-cells = <0x0>;
169			power-domains = <&ps_i2c1>;
170		};
171
172		i2c2: i2c@235018000 {
173			compatible = "apple,t8103-i2c", "apple,i2c";
174			reg = <0x2 0x35018000 0x0 0x4000>;
175			clocks = <&clkref>;
176			interrupt-parent = <&aic>;
177			interrupts = <AIC_IRQ 629 IRQ_TYPE_LEVEL_HIGH>;
178			pinctrl-0 = <&i2c2_pins>;
179			pinctrl-names = "default";
180			#address-cells = <0x1>;
181			#size-cells = <0x0>;
182			status = "disabled"; /* not used in all devices */
183			power-domains = <&ps_i2c2>;
184		};
185
186		i2c3: i2c@23501c000 {
187			compatible = "apple,t8103-i2c", "apple,i2c";
188			reg = <0x2 0x3501c000 0x0 0x4000>;
189			clocks = <&clkref>;
190			interrupt-parent = <&aic>;
191			interrupts = <AIC_IRQ 630 IRQ_TYPE_LEVEL_HIGH>;
192			pinctrl-0 = <&i2c3_pins>;
193			pinctrl-names = "default";
194			#address-cells = <0x1>;
195			#size-cells = <0x0>;
196			power-domains = <&ps_i2c3>;
197		};
198
199		i2c4: i2c@235020000 {
200			compatible = "apple,t8103-i2c", "apple,i2c";
201			reg = <0x2 0x35020000 0x0 0x4000>;
202			clocks = <&clkref>;
203			interrupt-parent = <&aic>;
204			interrupts = <AIC_IRQ 631 IRQ_TYPE_LEVEL_HIGH>;
205			pinctrl-0 = <&i2c4_pins>;
206			pinctrl-names = "default";
207			#address-cells = <0x1>;
208			#size-cells = <0x0>;
209			power-domains = <&ps_i2c4>;
210			status = "disabled"; /* only used in J293 */
211		};
212
213		serial0: serial@235200000 {
214			compatible = "apple,s5l-uart";
215			reg = <0x2 0x35200000 0x0 0x1000>;
216			reg-io-width = <4>;
217			interrupt-parent = <&aic>;
218			interrupts = <AIC_IRQ 605 IRQ_TYPE_LEVEL_HIGH>;
219			/*
220			 * TODO: figure out the clocking properly, there may
221			 * be a third selectable clock.
222			 */
223			clocks = <&clkref>, <&clkref>;
224			clock-names = "uart", "clk_uart_baud0";
225			power-domains = <&ps_uart0>;
226			status = "disabled";
227		};
228
229		serial2: serial@235208000 {
230			compatible = "apple,s5l-uart";
231			reg = <0x2 0x35208000 0x0 0x1000>;
232			reg-io-width = <4>;
233			interrupt-parent = <&aic>;
234			interrupts = <AIC_IRQ 607 IRQ_TYPE_LEVEL_HIGH>;
235			clocks = <&clkref>, <&clkref>;
236			clock-names = "uart", "clk_uart_baud0";
237			power-domains = <&ps_uart2>;
238			status = "disabled";
239		};
240
241		admac: dma-controller@238200000 {
242			compatible = "apple,t8103-admac", "apple,admac";
243			reg = <0x2 0x38200000 0x0 0x34000>;
244			dma-channels = <24>;
245			interrupts-extended = <0>,
246					      <&aic AIC_IRQ 626 IRQ_TYPE_LEVEL_HIGH>,
247					      <0>,
248					      <0>;
249			#dma-cells = <1>;
250			iommus = <&dart_sio 2>;
251			power-domains = <&ps_sio_adma>;
252		};
253
254		mca: i2s@238400000 {
255			compatible = "apple,t8103-mca", "apple,mca";
256			reg = <0x2 0x38400000 0x0 0x18000>,
257			      <0x2 0x38300000 0x0 0x30000>;
258
259			interrupt-parent = <&aic>;
260			interrupts = <AIC_IRQ 619 IRQ_TYPE_LEVEL_HIGH>,
261				     <AIC_IRQ 620 IRQ_TYPE_LEVEL_HIGH>,
262				     <AIC_IRQ 621 IRQ_TYPE_LEVEL_HIGH>,
263				     <AIC_IRQ 622 IRQ_TYPE_LEVEL_HIGH>,
264				     <AIC_IRQ 623 IRQ_TYPE_LEVEL_HIGH>,
265				     <AIC_IRQ 624 IRQ_TYPE_LEVEL_HIGH>;
266
267			resets = <&ps_audio_p>;
268			clocks = <&nco 0>, <&nco 1>, <&nco 2>,
269				 <&nco 3>, <&nco 4>, <&nco 4>;
270			power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>,
271					<&ps_mca2>, <&ps_mca3>, <&ps_mca4>, <&ps_mca5>;
272			dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>,
273			       <&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>,
274			       <&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>,
275			       <&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>,
276			       <&admac 16>, <&admac 17>, <&admac 18>, <&admac 19>,
277			       <&admac 20>, <&admac 21>, <&admac 22>, <&admac 23>;
278			dma-names = "tx0a", "rx0a", "tx0b", "rx0b",
279				"tx1a", "rx1a", "tx1b", "rx1b",
280				"tx2a", "rx2a", "tx2b", "rx2b",
281				"tx3a", "rx3a", "tx3b", "rx3b",
282				"tx4a", "rx4a", "tx4b", "rx4b",
283				"tx5a", "rx5a", "tx5b", "rx5b";
284
285			#sound-dai-cells = <1>;
286		};
287
288		nco: clock-controller@23b044000 {
289			compatible = "apple,t8103-nco", "apple,nco";
290			reg = <0x2 0x3b044000 0x0 0x14000>;
291			clocks = <&nco_clkref>;
292			#clock-cells = <1>;
293		};
294
295		aic: interrupt-controller@23b100000 {
296			compatible = "apple,t8103-aic", "apple,aic";
297			#interrupt-cells = <3>;
298			interrupt-controller;
299			reg = <0x2 0x3b100000 0x0 0x8000>;
300			power-domains = <&ps_aic>;
301
302			affinities {
303				e-core-pmu-affinity {
304					apple,fiq-index = <AIC_CPU_PMU_E>;
305					cpus = <&cpu0 &cpu1 &cpu2 &cpu3>;
306				};
307
308				p-core-pmu-affinity {
309					apple,fiq-index = <AIC_CPU_PMU_P>;
310					cpus = <&cpu4 &cpu5 &cpu6 &cpu7>;
311				};
312			};
313		};
314
315		pmgr: power-management@23b700000 {
316			compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd";
317			#address-cells = <1>;
318			#size-cells = <1>;
319			reg = <0x2 0x3b700000 0 0x14000>;
320		};
321
322		pinctrl_ap: pinctrl@23c100000 {
323			compatible = "apple,t8103-pinctrl", "apple,pinctrl";
324			reg = <0x2 0x3c100000 0x0 0x100000>;
325			power-domains = <&ps_gpio>;
326
327			gpio-controller;
328			#gpio-cells = <2>;
329			gpio-ranges = <&pinctrl_ap 0 0 212>;
330			apple,npins = <212>;
331
332			interrupt-controller;
333			#interrupt-cells = <2>;
334			interrupt-parent = <&aic>;
335			interrupts = <AIC_IRQ 190 IRQ_TYPE_LEVEL_HIGH>,
336				     <AIC_IRQ 191 IRQ_TYPE_LEVEL_HIGH>,
337				     <AIC_IRQ 192 IRQ_TYPE_LEVEL_HIGH>,
338				     <AIC_IRQ 193 IRQ_TYPE_LEVEL_HIGH>,
339				     <AIC_IRQ 194 IRQ_TYPE_LEVEL_HIGH>,
340				     <AIC_IRQ 195 IRQ_TYPE_LEVEL_HIGH>,
341				     <AIC_IRQ 196 IRQ_TYPE_LEVEL_HIGH>;
342
343			i2c0_pins: i2c0-pins {
344				pinmux = <APPLE_PINMUX(192, 1)>,
345					 <APPLE_PINMUX(188, 1)>;
346			};
347
348			i2c1_pins: i2c1-pins {
349				pinmux = <APPLE_PINMUX(201, 1)>,
350					 <APPLE_PINMUX(199, 1)>;
351			};
352
353			i2c2_pins: i2c2-pins {
354				pinmux = <APPLE_PINMUX(163, 1)>,
355					 <APPLE_PINMUX(162, 1)>;
356			};
357
358			i2c3_pins: i2c3-pins {
359				pinmux = <APPLE_PINMUX(73, 1)>,
360					 <APPLE_PINMUX(72, 1)>;
361			};
362
363			i2c4_pins: i2c4-pins {
364				pinmux = <APPLE_PINMUX(135, 1)>,
365					 <APPLE_PINMUX(134, 1)>;
366			};
367
368			pcie_pins: pcie-pins {
369				pinmux = <APPLE_PINMUX(150, 1)>,
370					 <APPLE_PINMUX(151, 1)>,
371					 <APPLE_PINMUX(32, 1)>;
372			};
373		};
374
375		pinctrl_nub: pinctrl@23d1f0000 {
376			compatible = "apple,t8103-pinctrl", "apple,pinctrl";
377			reg = <0x2 0x3d1f0000 0x0 0x4000>;
378			power-domains = <&ps_nub_gpio>;
379
380			gpio-controller;
381			#gpio-cells = <2>;
382			gpio-ranges = <&pinctrl_nub 0 0 23>;
383			apple,npins = <23>;
384
385			interrupt-controller;
386			#interrupt-cells = <2>;
387			interrupt-parent = <&aic>;
388			interrupts = <AIC_IRQ 330 IRQ_TYPE_LEVEL_HIGH>,
389				     <AIC_IRQ 331 IRQ_TYPE_LEVEL_HIGH>,
390				     <AIC_IRQ 332 IRQ_TYPE_LEVEL_HIGH>,
391				     <AIC_IRQ 333 IRQ_TYPE_LEVEL_HIGH>,
392				     <AIC_IRQ 334 IRQ_TYPE_LEVEL_HIGH>,
393				     <AIC_IRQ 335 IRQ_TYPE_LEVEL_HIGH>,
394				     <AIC_IRQ 336 IRQ_TYPE_LEVEL_HIGH>;
395		};
396
397		pmgr_mini: power-management@23d280000 {
398			compatible = "apple,t8103-pmgr", "apple,pmgr", "syscon", "simple-mfd";
399			#address-cells = <1>;
400			#size-cells = <1>;
401			reg = <0x2 0x3d280000 0 0x4000>;
402		};
403
404		wdt: watchdog@23d2b0000 {
405			compatible = "apple,t8103-wdt", "apple,wdt";
406			reg = <0x2 0x3d2b0000 0x0 0x4000>;
407			clocks = <&clkref>;
408			interrupt-parent = <&aic>;
409			interrupts = <AIC_IRQ 338 IRQ_TYPE_LEVEL_HIGH>;
410		};
411
412		pinctrl_smc: pinctrl@23e820000 {
413			compatible = "apple,t8103-pinctrl", "apple,pinctrl";
414			reg = <0x2 0x3e820000 0x0 0x4000>;
415
416			gpio-controller;
417			#gpio-cells = <2>;
418			gpio-ranges = <&pinctrl_smc 0 0 16>;
419			apple,npins = <16>;
420
421			interrupt-controller;
422			#interrupt-cells = <2>;
423			interrupt-parent = <&aic>;
424			interrupts = <AIC_IRQ 391 IRQ_TYPE_LEVEL_HIGH>,
425				     <AIC_IRQ 392 IRQ_TYPE_LEVEL_HIGH>,
426				     <AIC_IRQ 393 IRQ_TYPE_LEVEL_HIGH>,
427				     <AIC_IRQ 394 IRQ_TYPE_LEVEL_HIGH>,
428				     <AIC_IRQ 395 IRQ_TYPE_LEVEL_HIGH>,
429				     <AIC_IRQ 396 IRQ_TYPE_LEVEL_HIGH>,
430				     <AIC_IRQ 397 IRQ_TYPE_LEVEL_HIGH>;
431		};
432
433		pinctrl_aop: pinctrl@24a820000 {
434			compatible = "apple,t8103-pinctrl", "apple,pinctrl";
435			reg = <0x2 0x4a820000 0x0 0x4000>;
436
437			gpio-controller;
438			#gpio-cells = <2>;
439			gpio-ranges = <&pinctrl_aop 0 0 42>;
440			apple,npins = <42>;
441
442			interrupt-controller;
443			#interrupt-cells = <2>;
444			interrupt-parent = <&aic>;
445			interrupts = <AIC_IRQ 268 IRQ_TYPE_LEVEL_HIGH>,
446				     <AIC_IRQ 269 IRQ_TYPE_LEVEL_HIGH>,
447				     <AIC_IRQ 270 IRQ_TYPE_LEVEL_HIGH>,
448				     <AIC_IRQ 271 IRQ_TYPE_LEVEL_HIGH>,
449				     <AIC_IRQ 272 IRQ_TYPE_LEVEL_HIGH>,
450				     <AIC_IRQ 273 IRQ_TYPE_LEVEL_HIGH>,
451				     <AIC_IRQ 274 IRQ_TYPE_LEVEL_HIGH>;
452		};
453
454		ans_mbox: mbox@277408000 {
455			compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4";
456			reg = <0x2 0x77408000 0x0 0x4000>;
457			interrupt-parent = <&aic>;
458			interrupts = <AIC_IRQ 583 IRQ_TYPE_LEVEL_HIGH>,
459				<AIC_IRQ 584 IRQ_TYPE_LEVEL_HIGH>,
460				<AIC_IRQ 585 IRQ_TYPE_LEVEL_HIGH>,
461				<AIC_IRQ 586 IRQ_TYPE_LEVEL_HIGH>;
462			interrupt-names = "send-empty", "send-not-empty",
463				"recv-empty", "recv-not-empty";
464			#mbox-cells = <0>;
465			power-domains = <&ps_ans2>;
466		};
467
468		sart: iommu@27bc50000 {
469			compatible = "apple,t8103-sart";
470			reg = <0x2 0x7bc50000 0x0 0x10000>;
471			power-domains = <&ps_ans2>;
472		};
473
474		nvme@27bcc0000 {
475			compatible = "apple,t8103-nvme-ans2", "apple,nvme-ans2";
476			reg = <0x2 0x7bcc0000 0x0 0x40000>,
477				<0x2 0x77400000 0x0 0x4000>;
478			reg-names = "nvme", "ans";
479			interrupt-parent = <&aic>;
480			interrupts = <AIC_IRQ 590 IRQ_TYPE_LEVEL_HIGH>;
481			mboxes = <&ans_mbox>;
482			apple,sart = <&sart>;
483			power-domains = <&ps_ans2>, <&ps_apcie_st>;
484			power-domain-names = "ans", "apcie0";
485			resets = <&ps_ans2>;
486		};
487
488		pcie0_dart_0: dart@681008000 {
489			compatible = "apple,t8103-dart";
490			reg = <0x6 0x81008000 0x0 0x4000>;
491			#iommu-cells = <1>;
492			interrupt-parent = <&aic>;
493			interrupts = <AIC_IRQ 696 IRQ_TYPE_LEVEL_HIGH>;
494			power-domains = <&ps_apcie_gp>;
495		};
496
497		pcie0_dart_1: dart@682008000 {
498			compatible = "apple,t8103-dart";
499			reg = <0x6 0x82008000 0x0 0x4000>;
500			#iommu-cells = <1>;
501			interrupt-parent = <&aic>;
502			interrupts = <AIC_IRQ 699 IRQ_TYPE_LEVEL_HIGH>;
503			power-domains = <&ps_apcie_gp>;
504		};
505
506		pcie0_dart_2: dart@683008000 {
507			compatible = "apple,t8103-dart";
508			reg = <0x6 0x83008000 0x0 0x4000>;
509			#iommu-cells = <1>;
510			interrupt-parent = <&aic>;
511			interrupts = <AIC_IRQ 702 IRQ_TYPE_LEVEL_HIGH>;
512			power-domains = <&ps_apcie_gp>;
513		};
514
515		pcie0: pcie@690000000 {
516			compatible = "apple,t8103-pcie", "apple,pcie";
517			device_type = "pci";
518
519			reg = <0x6 0x90000000 0x0 0x1000000>,
520			      <0x6 0x80000000 0x0 0x100000>,
521			      <0x6 0x81000000 0x0 0x4000>,
522			      <0x6 0x82000000 0x0 0x4000>,
523			      <0x6 0x83000000 0x0 0x4000>;
524			reg-names = "config", "rc", "port0", "port1", "port2";
525
526			interrupt-parent = <&aic>;
527			interrupts = <AIC_IRQ 695 IRQ_TYPE_LEVEL_HIGH>,
528				     <AIC_IRQ 698 IRQ_TYPE_LEVEL_HIGH>,
529				     <AIC_IRQ 701 IRQ_TYPE_LEVEL_HIGH>;
530
531			msi-controller;
532			msi-parent = <&pcie0>;
533			msi-ranges = <&aic AIC_IRQ 704 IRQ_TYPE_EDGE_RISING 32>;
534
535
536			iommu-map = <0x100 &pcie0_dart_0 1 1>,
537				    <0x200 &pcie0_dart_1 1 1>,
538				    <0x300 &pcie0_dart_2 1 1>;
539			iommu-map-mask = <0xff00>;
540
541			bus-range = <0 3>;
542			#address-cells = <3>;
543			#size-cells = <2>;
544			ranges = <0x43000000 0x6 0xa0000000 0x6 0xa0000000 0x0 0x20000000>,
545				 <0x02000000 0x0 0xc0000000 0x6 0xc0000000 0x0 0x40000000>;
546
547			power-domains = <&ps_apcie_gp>;
548			pinctrl-0 = <&pcie_pins>;
549			pinctrl-names = "default";
550
551			port00: pci@0,0 {
552				device_type = "pci";
553				reg = <0x0 0x0 0x0 0x0 0x0>;
554				reset-gpios = <&pinctrl_ap 152 GPIO_ACTIVE_LOW>;
555
556				#address-cells = <3>;
557				#size-cells = <2>;
558				ranges;
559
560				interrupt-controller;
561				#interrupt-cells = <1>;
562
563				interrupt-map-mask = <0 0 0 7>;
564				interrupt-map = <0 0 0 1 &port00 0 0 0 0>,
565						<0 0 0 2 &port00 0 0 0 1>,
566						<0 0 0 3 &port00 0 0 0 2>,
567						<0 0 0 4 &port00 0 0 0 3>;
568			};
569
570			port01: pci@1,0 {
571				device_type = "pci";
572				reg = <0x800 0x0 0x0 0x0 0x0>;
573				reset-gpios = <&pinctrl_ap 153 GPIO_ACTIVE_LOW>;
574
575				#address-cells = <3>;
576				#size-cells = <2>;
577				ranges;
578
579				interrupt-controller;
580				#interrupt-cells = <1>;
581
582				interrupt-map-mask = <0 0 0 7>;
583				interrupt-map = <0 0 0 1 &port01 0 0 0 0>,
584						<0 0 0 2 &port01 0 0 0 1>,
585						<0 0 0 3 &port01 0 0 0 2>,
586						<0 0 0 4 &port01 0 0 0 3>;
587			};
588
589			port02: pci@2,0 {
590				device_type = "pci";
591				reg = <0x1000 0x0 0x0 0x0 0x0>;
592				reset-gpios = <&pinctrl_ap 33 GPIO_ACTIVE_LOW>;
593
594				#address-cells = <3>;
595				#size-cells = <2>;
596				ranges;
597
598				interrupt-controller;
599				#interrupt-cells = <1>;
600
601				interrupt-map-mask = <0 0 0 7>;
602				interrupt-map = <0 0 0 1 &port02 0 0 0 0>,
603						<0 0 0 2 &port02 0 0 0 1>,
604						<0 0 0 3 &port02 0 0 0 2>,
605						<0 0 0 4 &port02 0 0 0 3>;
606			};
607		};
608	};
609};
610
611#include "t8103-pmgr.dtsi"
612