17b0b0191SHector Martin// SPDX-License-Identifier: GPL-2.0+ OR MIT
27b0b0191SHector Martin/*
37b0b0191SHector Martin * Devices used on die 0 on the Apple T6002 "M1 Ultra" SoC and present on
47b0b0191SHector Martin * Apple T6000 / T6001 "M1 Pro" / "M1 Max".
57b0b0191SHector Martin *
67b0b0191SHector Martin * Copyright The Asahi Linux Contributors
77b0b0191SHector Martin */
87b0b0191SHector Martin
97b0b0191SHector Martin
1051979fbbSJanne Grunau	nco: clock-controller@28e03c000 {
1151979fbbSJanne Grunau		compatible = "apple,t6000-nco", "apple,nco";
1251979fbbSJanne Grunau		reg = <0x2 0x8e03c000 0x0 0x14000>;
1351979fbbSJanne Grunau		clocks = <&nco_clkref>;
1451979fbbSJanne Grunau		#clock-cells = <1>;
1551979fbbSJanne Grunau	};
1651979fbbSJanne Grunau
177b0b0191SHector Martin	aic: interrupt-controller@28e100000 {
187b0b0191SHector Martin		compatible = "apple,t6000-aic", "apple,aic2";
197b0b0191SHector Martin		#interrupt-cells = <4>;
207b0b0191SHector Martin		interrupt-controller;
217b0b0191SHector Martin		reg = <0x2 0x8e100000 0x0 0xc000>,
227b0b0191SHector Martin			<0x2 0x8e10c000 0x0 0x4>;
237b0b0191SHector Martin		reg-names = "core", "event";
247b0b0191SHector Martin		power-domains = <&ps_aic>;
257b0b0191SHector Martin	};
267b0b0191SHector Martin
277b0b0191SHector Martin	pinctrl_smc: pinctrl@290820000 {
287b0b0191SHector Martin		compatible = "apple,t6000-pinctrl", "apple,pinctrl";
297b0b0191SHector Martin		reg = <0x2 0x90820000 0x0 0x4000>;
307b0b0191SHector Martin
317b0b0191SHector Martin		gpio-controller;
327b0b0191SHector Martin		#gpio-cells = <2>;
337b0b0191SHector Martin		gpio-ranges = <&pinctrl_smc 0 0 30>;
347b0b0191SHector Martin		apple,npins = <30>;
357b0b0191SHector Martin
367b0b0191SHector Martin		interrupt-controller;
377b0b0191SHector Martin		#interrupt-cells = <2>;
387b0b0191SHector Martin		interrupt-parent = <&aic>;
397b0b0191SHector Martin		interrupts = <AIC_IRQ 0 743 IRQ_TYPE_LEVEL_HIGH>,
407b0b0191SHector Martin				<AIC_IRQ 0 744 IRQ_TYPE_LEVEL_HIGH>,
417b0b0191SHector Martin				<AIC_IRQ 0 745 IRQ_TYPE_LEVEL_HIGH>,
427b0b0191SHector Martin				<AIC_IRQ 0 746 IRQ_TYPE_LEVEL_HIGH>,
437b0b0191SHector Martin				<AIC_IRQ 0 747 IRQ_TYPE_LEVEL_HIGH>,
447b0b0191SHector Martin				<AIC_IRQ 0 748 IRQ_TYPE_LEVEL_HIGH>,
457b0b0191SHector Martin				<AIC_IRQ 0 749 IRQ_TYPE_LEVEL_HIGH>;
467b0b0191SHector Martin	};
477b0b0191SHector Martin
487b0b0191SHector Martin	wdt: watchdog@2922b0000 {
497b0b0191SHector Martin		compatible = "apple,t6000-wdt", "apple,wdt";
507b0b0191SHector Martin		reg = <0x2 0x922b0000 0x0 0x4000>;
517b0b0191SHector Martin		clocks = <&clkref>;
527b0b0191SHector Martin		interrupt-parent = <&aic>;
537b0b0191SHector Martin		interrupts = <AIC_IRQ 0 631 IRQ_TYPE_LEVEL_HIGH>;
547b0b0191SHector Martin	};
557b0b0191SHector Martin
5663bf0b66SHector Martin	sio_dart_0: iommu@39b004000 {
5751979fbbSJanne Grunau		compatible = "apple,t6000-dart";
5851979fbbSJanne Grunau		reg = <0x3 0x9b004000 0x0 0x4000>;
5951979fbbSJanne Grunau		interrupt-parent = <&aic>;
6051979fbbSJanne Grunau		interrupts = <AIC_IRQ 0 1130 IRQ_TYPE_LEVEL_HIGH>;
6151979fbbSJanne Grunau		#iommu-cells = <1>;
6251979fbbSJanne Grunau		power-domains = <&ps_sio_cpu>;
6351979fbbSJanne Grunau	};
6451979fbbSJanne Grunau
6563bf0b66SHector Martin	sio_dart_1: iommu@39b008000 {
6651979fbbSJanne Grunau		compatible = "apple,t6000-dart";
6751979fbbSJanne Grunau		reg = <0x3 0x9b008000 0x0 0x8000>;
6851979fbbSJanne Grunau		interrupt-parent = <&aic>;
6951979fbbSJanne Grunau		interrupts = <AIC_IRQ 0 1130 IRQ_TYPE_LEVEL_HIGH>;
7051979fbbSJanne Grunau		#iommu-cells = <1>;
7151979fbbSJanne Grunau		power-domains = <&ps_sio_cpu>;
7251979fbbSJanne Grunau	};
7351979fbbSJanne Grunau
74*b15999c2SSasha Finkelstein	fpwm0: pwm@39b030000 {
75*b15999c2SSasha Finkelstein		compatible = "apple,t6000-fpwm", "apple,s5l-fpwm";
76*b15999c2SSasha Finkelstein		reg = <0x3 0x9b030000 0x0 0x4000>;
77*b15999c2SSasha Finkelstein		power-domains = <&ps_fpwm0>;
78*b15999c2SSasha Finkelstein		clocks = <&clkref>;
79*b15999c2SSasha Finkelstein		#pwm-cells = <2>;
80*b15999c2SSasha Finkelstein		status = "disabled";
81*b15999c2SSasha Finkelstein	};
82*b15999c2SSasha Finkelstein
837b0b0191SHector Martin	i2c0: i2c@39b040000 {
847b0b0191SHector Martin		compatible = "apple,t6000-i2c", "apple,i2c";
857b0b0191SHector Martin		reg = <0x3 0x9b040000 0x0 0x4000>;
867b0b0191SHector Martin		clocks = <&clkref>;
877b0b0191SHector Martin		interrupt-parent = <&aic>;
887b0b0191SHector Martin		interrupts = <AIC_IRQ 0 1119 IRQ_TYPE_LEVEL_HIGH>;
897b0b0191SHector Martin		pinctrl-0 = <&i2c0_pins>;
907b0b0191SHector Martin		pinctrl-names = "default";
917b0b0191SHector Martin		power-domains = <&ps_i2c0>;
927b0b0191SHector Martin		#address-cells = <0x1>;
937b0b0191SHector Martin		#size-cells = <0x0>;
947b0b0191SHector Martin	};
957b0b0191SHector Martin
967b0b0191SHector Martin	i2c1: i2c@39b044000 {
977b0b0191SHector Martin		compatible = "apple,t6000-i2c", "apple,i2c";
987b0b0191SHector Martin		reg = <0x3 0x9b044000 0x0 0x4000>;
997b0b0191SHector Martin		clocks = <&clkref>;
1007b0b0191SHector Martin		interrupt-parent = <&aic>;
1017b0b0191SHector Martin		interrupts = <AIC_IRQ 0 1120 IRQ_TYPE_LEVEL_HIGH>;
1027b0b0191SHector Martin		pinctrl-0 = <&i2c1_pins>;
1037b0b0191SHector Martin		pinctrl-names = "default";
1047b0b0191SHector Martin		power-domains = <&ps_i2c1>;
1057b0b0191SHector Martin		#address-cells = <0x1>;
1067b0b0191SHector Martin		#size-cells = <0x0>;
1077b0b0191SHector Martin		status = "disabled";
1087b0b0191SHector Martin	};
1097b0b0191SHector Martin
1107b0b0191SHector Martin	i2c2: i2c@39b048000 {
1117b0b0191SHector Martin		compatible = "apple,t6000-i2c", "apple,i2c";
1127b0b0191SHector Martin		reg = <0x3 0x9b048000 0x0 0x4000>;
1137b0b0191SHector Martin		clocks = <&clkref>;
1147b0b0191SHector Martin		interrupt-parent = <&aic>;
1157b0b0191SHector Martin		interrupts = <AIC_IRQ 0 1121 IRQ_TYPE_LEVEL_HIGH>;
1167b0b0191SHector Martin		pinctrl-0 = <&i2c2_pins>;
1177b0b0191SHector Martin		pinctrl-names = "default";
1187b0b0191SHector Martin		power-domains = <&ps_i2c2>;
1197b0b0191SHector Martin		#address-cells = <0x1>;
1207b0b0191SHector Martin		#size-cells = <0x0>;
1217b0b0191SHector Martin		status = "disabled";
1227b0b0191SHector Martin	};
1237b0b0191SHector Martin
1247b0b0191SHector Martin	i2c3: i2c@39b04c000 {
1257b0b0191SHector Martin		compatible = "apple,t6000-i2c", "apple,i2c";
1267b0b0191SHector Martin		reg = <0x3 0x9b04c000 0x0 0x4000>;
1277b0b0191SHector Martin		clocks = <&clkref>;
1287b0b0191SHector Martin		interrupt-parent = <&aic>;
1297b0b0191SHector Martin		interrupts = <AIC_IRQ 0 1122 IRQ_TYPE_LEVEL_HIGH>;
1307b0b0191SHector Martin		pinctrl-0 = <&i2c3_pins>;
1317b0b0191SHector Martin		pinctrl-names = "default";
1327b0b0191SHector Martin		power-domains = <&ps_i2c3>;
1337b0b0191SHector Martin		#address-cells = <0x1>;
1347b0b0191SHector Martin		#size-cells = <0x0>;
1357b0b0191SHector Martin		status = "disabled";
1367b0b0191SHector Martin	};
1377b0b0191SHector Martin
1387b0b0191SHector Martin	i2c4: i2c@39b050000 {
1397b0b0191SHector Martin		compatible = "apple,t6000-i2c", "apple,i2c";
1407b0b0191SHector Martin		reg = <0x3 0x9b050000 0x0 0x4000>;
1417b0b0191SHector Martin		clocks = <&clkref>;
1427b0b0191SHector Martin		interrupt-parent = <&aic>;
1437b0b0191SHector Martin		interrupts = <AIC_IRQ 0 1123 IRQ_TYPE_LEVEL_HIGH>;
1447b0b0191SHector Martin		pinctrl-0 = <&i2c4_pins>;
1457b0b0191SHector Martin		pinctrl-names = "default";
1467b0b0191SHector Martin		power-domains = <&ps_i2c4>;
1477b0b0191SHector Martin		#address-cells = <0x1>;
1487b0b0191SHector Martin		#size-cells = <0x0>;
1497b0b0191SHector Martin		status = "disabled";
1507b0b0191SHector Martin	};
1517b0b0191SHector Martin
1527b0b0191SHector Martin	i2c5: i2c@39b054000 {
1537b0b0191SHector Martin		compatible = "apple,t6000-i2c", "apple,i2c";
1547b0b0191SHector Martin		reg = <0x3 0x9b054000 0x0 0x4000>;
1557b0b0191SHector Martin		clocks = <&clkref>;
1567b0b0191SHector Martin		interrupt-parent = <&aic>;
1577b0b0191SHector Martin		interrupts = <AIC_IRQ 0 1124 IRQ_TYPE_LEVEL_HIGH>;
1587b0b0191SHector Martin		pinctrl-0 = <&i2c5_pins>;
1597b0b0191SHector Martin		pinctrl-names = "default";
1607b0b0191SHector Martin		power-domains = <&ps_i2c5>;
1617b0b0191SHector Martin		#address-cells = <0x1>;
1627b0b0191SHector Martin		#size-cells = <0x0>;
1637b0b0191SHector Martin		status = "disabled";
1647b0b0191SHector Martin	};
1657b0b0191SHector Martin
1667b0b0191SHector Martin	serial0: serial@39b200000 {
1677b0b0191SHector Martin		compatible = "apple,s5l-uart";
1687b0b0191SHector Martin		reg = <0x3 0x9b200000 0x0 0x1000>;
1697b0b0191SHector Martin		reg-io-width = <4>;
1707b0b0191SHector Martin		interrupt-parent = <&aic>;
1717b0b0191SHector Martin		interrupts = <AIC_IRQ 0 1097 IRQ_TYPE_LEVEL_HIGH>;
1727b0b0191SHector Martin		/*
1737b0b0191SHector Martin		 * TODO: figure out the clocking properly, there may
1747b0b0191SHector Martin		 * be a third selectable clock.
1757b0b0191SHector Martin		 */
1767b0b0191SHector Martin		clocks = <&clkref>, <&clkref>;
1777b0b0191SHector Martin		clock-names = "uart", "clk_uart_baud0";
1787b0b0191SHector Martin		power-domains = <&ps_uart0>;
1797b0b0191SHector Martin		status = "disabled";
1807b0b0191SHector Martin	};
1817b0b0191SHector Martin
18251979fbbSJanne Grunau	admac: dma-controller@39b400000 {
18351979fbbSJanne Grunau		compatible = "apple,t6000-admac", "apple,admac";
18451979fbbSJanne Grunau		reg = <0x3 0x9b400000 0x0 0x34000>;
18551979fbbSJanne Grunau		#dma-cells = <1>;
18651979fbbSJanne Grunau		dma-channels = <16>;
18751979fbbSJanne Grunau		interrupts-extended = <0>,
18851979fbbSJanne Grunau				      <&aic AIC_IRQ 0 1118 IRQ_TYPE_LEVEL_HIGH>,
18951979fbbSJanne Grunau				      <0>,
19051979fbbSJanne Grunau				      <0>;
19163bf0b66SHector Martin		iommus = <&sio_dart_0 2>, <&sio_dart_1 2>;
19251979fbbSJanne Grunau		power-domains = <&ps_sio_adma>;
19356fed763SMartin Povišer		resets = <&ps_audio_p>;
19451979fbbSJanne Grunau	};
19551979fbbSJanne Grunau
19651979fbbSJanne Grunau	mca: mca@39b600000 {
19751979fbbSJanne Grunau		compatible = "apple,t6000-mca", "apple,mca";
19851979fbbSJanne Grunau		reg = <0x3 0x9b600000 0x0 0x10000>,
19951979fbbSJanne Grunau		      <0x3 0x9b500000 0x0 0x20000>;
20051979fbbSJanne Grunau		clocks = <&nco 0>, <&nco 1>, <&nco 2>, <&nco 3>;
20151979fbbSJanne Grunau		dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>,
20251979fbbSJanne Grunau		       <&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>,
20351979fbbSJanne Grunau		       <&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>,
20451979fbbSJanne Grunau		       <&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>;
20551979fbbSJanne Grunau		dma-names = "tx0a", "rx0a", "tx0b", "rx0b",
20651979fbbSJanne Grunau			    "tx1a", "rx1a", "tx1b", "rx1b",
20751979fbbSJanne Grunau			    "tx2a", "rx2a", "tx2b", "rx2b",
20851979fbbSJanne Grunau			    "tx3a", "rx3a", "tx3b", "rx3b";
20951979fbbSJanne Grunau		interrupt-parent = <&aic>;
21051979fbbSJanne Grunau		interrupts = <AIC_IRQ 0 1112 IRQ_TYPE_LEVEL_HIGH>,
21151979fbbSJanne Grunau			     <AIC_IRQ 0 1113 IRQ_TYPE_LEVEL_HIGH>,
21251979fbbSJanne Grunau			     <AIC_IRQ 0 1114 IRQ_TYPE_LEVEL_HIGH>,
21351979fbbSJanne Grunau			     <AIC_IRQ 0 1115 IRQ_TYPE_LEVEL_HIGH>;
21451979fbbSJanne Grunau		power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>,
21551979fbbSJanne Grunau				<&ps_mca2>, <&ps_mca3>;
21651979fbbSJanne Grunau		resets = <&ps_audio_p>;
21751979fbbSJanne Grunau		#sound-dai-cells = <1>;
21851979fbbSJanne Grunau	};
21951979fbbSJanne Grunau
22097423509SJanne Grunau	pcie0_dart_0: iommu@581008000 {
2217b0b0191SHector Martin		compatible = "apple,t6000-dart";
2227b0b0191SHector Martin		reg = <0x5 0x81008000 0x0 0x4000>;
2237b0b0191SHector Martin		#iommu-cells = <1>;
2247b0b0191SHector Martin		interrupt-parent = <&aic>;
2257b0b0191SHector Martin		interrupts = <AIC_IRQ 0 1271 IRQ_TYPE_LEVEL_HIGH>;
2267b0b0191SHector Martin		power-domains = <&ps_apcie_gp_sys>;
2277b0b0191SHector Martin	};
2287b0b0191SHector Martin
22997423509SJanne Grunau	pcie0_dart_1: iommu@582008000 {
2307b0b0191SHector Martin		compatible = "apple,t6000-dart";
2317b0b0191SHector Martin		reg = <0x5 0x82008000 0x0 0x4000>;
2327b0b0191SHector Martin		#iommu-cells = <1>;
2337b0b0191SHector Martin		interrupt-parent = <&aic>;
2347b0b0191SHector Martin		interrupts = <AIC_IRQ 0 1274 IRQ_TYPE_LEVEL_HIGH>;
2357b0b0191SHector Martin		power-domains = <&ps_apcie_gp_sys>;
2367b0b0191SHector Martin	};
2377b0b0191SHector Martin
23897423509SJanne Grunau	pcie0_dart_2: iommu@583008000 {
2397b0b0191SHector Martin		compatible = "apple,t6000-dart";
2407b0b0191SHector Martin		reg = <0x5 0x83008000 0x0 0x4000>;
2417b0b0191SHector Martin		#iommu-cells = <1>;
2427b0b0191SHector Martin		interrupt-parent = <&aic>;
2437b0b0191SHector Martin		interrupts = <AIC_IRQ 0 1277 IRQ_TYPE_LEVEL_HIGH>;
2447b0b0191SHector Martin		power-domains = <&ps_apcie_gp_sys>;
2458d59efc3SJanne Grunau		status = "disabled";
2467b0b0191SHector Martin	};
2477b0b0191SHector Martin
24897423509SJanne Grunau	pcie0_dart_3: iommu@584008000 {
2497b0b0191SHector Martin		compatible = "apple,t6000-dart";
2507b0b0191SHector Martin		reg = <0x5 0x84008000 0x0 0x4000>;
2517b0b0191SHector Martin		#iommu-cells = <1>;
2527b0b0191SHector Martin		interrupt-parent = <&aic>;
2537b0b0191SHector Martin		interrupts = <AIC_IRQ 0 1280 IRQ_TYPE_LEVEL_HIGH>;
2547b0b0191SHector Martin		power-domains = <&ps_apcie_gp_sys>;
2558d59efc3SJanne Grunau		status = "disabled";
2567b0b0191SHector Martin	};
2577b0b0191SHector Martin
2587b0b0191SHector Martin	pcie0: pcie@590000000 {
2597b0b0191SHector Martin		compatible = "apple,t6000-pcie", "apple,pcie";
2607b0b0191SHector Martin		device_type = "pci";
2617b0b0191SHector Martin
2627b0b0191SHector Martin		reg = <0x5 0x90000000 0x0 0x1000000>,
2637b0b0191SHector Martin			<0x5 0x80000000 0x0 0x100000>,
2647b0b0191SHector Martin			<0x5 0x81000000 0x0 0x4000>,
2657b0b0191SHector Martin			<0x5 0x82000000 0x0 0x4000>,
2667b0b0191SHector Martin			<0x5 0x83000000 0x0 0x4000>,
2677b0b0191SHector Martin			<0x5 0x84000000 0x0 0x4000>;
2687b0b0191SHector Martin		reg-names = "config", "rc", "port0", "port1", "port2", "port3";
2697b0b0191SHector Martin
2707b0b0191SHector Martin		interrupt-parent = <&aic>;
2717b0b0191SHector Martin		interrupts = <AIC_IRQ 0 1270 IRQ_TYPE_LEVEL_HIGH>,
2727b0b0191SHector Martin				<AIC_IRQ 0 1273 IRQ_TYPE_LEVEL_HIGH>,
2737b0b0191SHector Martin				<AIC_IRQ 0 1276 IRQ_TYPE_LEVEL_HIGH>,
2747b0b0191SHector Martin				<AIC_IRQ 0 1279 IRQ_TYPE_LEVEL_HIGH>;
2757b0b0191SHector Martin
2767b0b0191SHector Martin		msi-controller;
2777b0b0191SHector Martin		msi-parent = <&pcie0>;
2787b0b0191SHector Martin		msi-ranges = <&aic AIC_IRQ 0 1581 IRQ_TYPE_EDGE_RISING 32>;
2797b0b0191SHector Martin
2807b0b0191SHector Martin
2817b0b0191SHector Martin		iommu-map = <0x100 &pcie0_dart_0 1 1>,
2827b0b0191SHector Martin				<0x200 &pcie0_dart_1 1 1>,
2837b0b0191SHector Martin				<0x300 &pcie0_dart_2 1 1>,
2847b0b0191SHector Martin				<0x400 &pcie0_dart_3 1 1>;
2857b0b0191SHector Martin		iommu-map-mask = <0xff00>;
2867b0b0191SHector Martin
2877b0b0191SHector Martin		bus-range = <0 4>;
2887b0b0191SHector Martin		#address-cells = <3>;
2897b0b0191SHector Martin		#size-cells = <2>;
2907b0b0191SHector Martin		ranges = <0x43000000 0x5 0xa0000000 0x5 0xa0000000 0x0 0x20000000>,
2917b0b0191SHector Martin				<0x02000000 0x0 0xc0000000 0x5 0xc0000000 0x0 0x40000000>;
2927b0b0191SHector Martin
2937b0b0191SHector Martin		power-domains = <&ps_apcie_gp_sys>;
2947b0b0191SHector Martin		pinctrl-0 = <&pcie_pins>;
2957b0b0191SHector Martin		pinctrl-names = "default";
2967b0b0191SHector Martin
2977b0b0191SHector Martin		port00: pci@0,0 {
2987b0b0191SHector Martin			device_type = "pci";
2997b0b0191SHector Martin			reg = <0x0 0x0 0x0 0x0 0x0>;
3007b0b0191SHector Martin			reset-gpios = <&pinctrl_ap 4 GPIO_ACTIVE_LOW>;
3017b0b0191SHector Martin
3027b0b0191SHector Martin			#address-cells = <3>;
3037b0b0191SHector Martin			#size-cells = <2>;
3047b0b0191SHector Martin			ranges;
3057b0b0191SHector Martin
3067b0b0191SHector Martin			interrupt-controller;
3077b0b0191SHector Martin			#interrupt-cells = <1>;
3087b0b0191SHector Martin
3097b0b0191SHector Martin			interrupt-map-mask = <0 0 0 7>;
3107b0b0191SHector Martin			interrupt-map = <0 0 0 1 &port00 0 0 0 0>,
3117b0b0191SHector Martin					<0 0 0 2 &port00 0 0 0 1>,
3127b0b0191SHector Martin					<0 0 0 3 &port00 0 0 0 2>,
3137b0b0191SHector Martin					<0 0 0 4 &port00 0 0 0 3>;
3147b0b0191SHector Martin		};
3157b0b0191SHector Martin
3167b0b0191SHector Martin		port01: pci@1,0 {
3177b0b0191SHector Martin			device_type = "pci";
3187b0b0191SHector Martin			reg = <0x800 0x0 0x0 0x0 0x0>;
3197b0b0191SHector Martin			reset-gpios = <&pinctrl_ap 5 GPIO_ACTIVE_LOW>;
3207b0b0191SHector Martin
3217b0b0191SHector Martin			#address-cells = <3>;
3227b0b0191SHector Martin			#size-cells = <2>;
3237b0b0191SHector Martin			ranges;
3247b0b0191SHector Martin
3257b0b0191SHector Martin			interrupt-controller;
3267b0b0191SHector Martin			#interrupt-cells = <1>;
3277b0b0191SHector Martin
3287b0b0191SHector Martin			interrupt-map-mask = <0 0 0 7>;
3297b0b0191SHector Martin			interrupt-map = <0 0 0 1 &port01 0 0 0 0>,
3307b0b0191SHector Martin					<0 0 0 2 &port01 0 0 0 1>,
3317b0b0191SHector Martin					<0 0 0 3 &port01 0 0 0 2>,
3327b0b0191SHector Martin					<0 0 0 4 &port01 0 0 0 3>;
3337b0b0191SHector Martin		};
3347b0b0191SHector Martin
3357b0b0191SHector Martin		port02: pci@2,0 {
3367b0b0191SHector Martin			device_type = "pci";
3377b0b0191SHector Martin			reg = <0x1000 0x0 0x0 0x0 0x0>;
3387b0b0191SHector Martin			reset-gpios = <&pinctrl_ap 6 GPIO_ACTIVE_LOW>;
3397b0b0191SHector Martin
3407b0b0191SHector Martin			#address-cells = <3>;
3417b0b0191SHector Martin			#size-cells = <2>;
3427b0b0191SHector Martin			ranges;
3437b0b0191SHector Martin
3447b0b0191SHector Martin			interrupt-controller;
3457b0b0191SHector Martin			#interrupt-cells = <1>;
3467b0b0191SHector Martin
3477b0b0191SHector Martin			interrupt-map-mask = <0 0 0 7>;
3487b0b0191SHector Martin			interrupt-map = <0 0 0 1 &port02 0 0 0 0>,
3497b0b0191SHector Martin					<0 0 0 2 &port02 0 0 0 1>,
3507b0b0191SHector Martin					<0 0 0 3 &port02 0 0 0 2>,
3517b0b0191SHector Martin					<0 0 0 4 &port02 0 0 0 3>;
3528d59efc3SJanne Grunau			status = "disabled";
3537b0b0191SHector Martin		};
3547b0b0191SHector Martin
3557b0b0191SHector Martin		port03: pci@3,0 {
3567b0b0191SHector Martin			device_type = "pci";
3577b0b0191SHector Martin			reg = <0x1800 0x0 0x0 0x0 0x0>;
3587b0b0191SHector Martin			reset-gpios = <&pinctrl_ap 7 GPIO_ACTIVE_LOW>;
3597b0b0191SHector Martin
3607b0b0191SHector Martin			#address-cells = <3>;
3617b0b0191SHector Martin			#size-cells = <2>;
3627b0b0191SHector Martin			ranges;
3637b0b0191SHector Martin
3647b0b0191SHector Martin			interrupt-controller;
3657b0b0191SHector Martin			#interrupt-cells = <1>;
3667b0b0191SHector Martin
3677b0b0191SHector Martin			interrupt-map-mask = <0 0 0 7>;
3687b0b0191SHector Martin			interrupt-map = <0 0 0 1 &port03 0 0 0 0>,
3697b0b0191SHector Martin					<0 0 0 2 &port03 0 0 0 1>,
3707b0b0191SHector Martin					<0 0 0 3 &port03 0 0 0 2>,
3717b0b0191SHector Martin					<0 0 0 4 &port03 0 0 0 3>;
3728d59efc3SJanne Grunau			status = "disabled";
3737b0b0191SHector Martin		};
3747b0b0191SHector Martin	};
375