10183b9b0SRonen Krupnik// SPDX-License-Identifier: GPL-2.0
20183b9b0SRonen Krupnik/*
30183b9b0SRonen Krupnik * Copyright 2020, Amazon.com, Inc. or its affiliates. All Rights Reserved
40183b9b0SRonen Krupnik */
50183b9b0SRonen Krupnik
60183b9b0SRonen Krupnik/dts-v1/;
70183b9b0SRonen Krupnik
80183b9b0SRonen Krupnik#include <dt-bindings/interrupt-controller/arm-gic.h>
90183b9b0SRonen Krupnik
100183b9b0SRonen Krupnik/ {
110183b9b0SRonen Krupnik	model = "Amazon's Annapurna Labs Alpine v3";
120183b9b0SRonen Krupnik	compatible = "amazon,al-alpine-v3";
130183b9b0SRonen Krupnik
140183b9b0SRonen Krupnik	interrupt-parent = <&gic>;
150183b9b0SRonen Krupnik
160183b9b0SRonen Krupnik	#address-cells = <2>;
170183b9b0SRonen Krupnik	#size-cells = <2>;
180183b9b0SRonen Krupnik
190183b9b0SRonen Krupnik	cpus {
200183b9b0SRonen Krupnik		#address-cells = <1>;
210183b9b0SRonen Krupnik		#size-cells = <0>;
220183b9b0SRonen Krupnik
230183b9b0SRonen Krupnik		cpu@0 {
240183b9b0SRonen Krupnik			device_type = "cpu";
250183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
260183b9b0SRonen Krupnik			reg = <0x0>;
270183b9b0SRonen Krupnik			enable-method = "psci";
280183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
290183b9b0SRonen Krupnik			d-cache-line-size = <64>;
300183b9b0SRonen Krupnik			d-cache-sets = <256>;
310183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
320183b9b0SRonen Krupnik			i-cache-line-size = <64>;
330183b9b0SRonen Krupnik			i-cache-sets = <256>;
340183b9b0SRonen Krupnik			next-level-cache = <&cluster0_l2>;
350183b9b0SRonen Krupnik		};
360183b9b0SRonen Krupnik
370183b9b0SRonen Krupnik		cpu@1 {
380183b9b0SRonen Krupnik			device_type = "cpu";
390183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
400183b9b0SRonen Krupnik			reg = <0x1>;
410183b9b0SRonen Krupnik			enable-method = "psci";
420183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
430183b9b0SRonen Krupnik			d-cache-line-size = <64>;
440183b9b0SRonen Krupnik			d-cache-sets = <256>;
450183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
460183b9b0SRonen Krupnik			i-cache-line-size = <64>;
470183b9b0SRonen Krupnik			i-cache-sets = <256>;
480183b9b0SRonen Krupnik			next-level-cache = <&cluster0_l2>;
490183b9b0SRonen Krupnik		};
500183b9b0SRonen Krupnik
510183b9b0SRonen Krupnik		cpu@2 {
520183b9b0SRonen Krupnik			device_type = "cpu";
530183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
540183b9b0SRonen Krupnik			reg = <0x2>;
550183b9b0SRonen Krupnik			enable-method = "psci";
560183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
570183b9b0SRonen Krupnik			d-cache-line-size = <64>;
580183b9b0SRonen Krupnik			d-cache-sets = <256>;
590183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
600183b9b0SRonen Krupnik			i-cache-line-size = <64>;
610183b9b0SRonen Krupnik			i-cache-sets = <256>;
620183b9b0SRonen Krupnik			next-level-cache = <&cluster0_l2>;
630183b9b0SRonen Krupnik		};
640183b9b0SRonen Krupnik
650183b9b0SRonen Krupnik		cpu@3 {
660183b9b0SRonen Krupnik			device_type = "cpu";
670183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
680183b9b0SRonen Krupnik			reg = <0x3>;
690183b9b0SRonen Krupnik			enable-method = "psci";
700183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
710183b9b0SRonen Krupnik			d-cache-line-size = <64>;
720183b9b0SRonen Krupnik			d-cache-sets = <256>;
730183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
740183b9b0SRonen Krupnik			i-cache-line-size = <64>;
750183b9b0SRonen Krupnik			i-cache-sets = <256>;
760183b9b0SRonen Krupnik			next-level-cache = <&cluster0_l2>;
770183b9b0SRonen Krupnik		};
780183b9b0SRonen Krupnik
790183b9b0SRonen Krupnik		cpu@100 {
800183b9b0SRonen Krupnik			device_type = "cpu";
810183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
820183b9b0SRonen Krupnik			reg = <0x100>;
830183b9b0SRonen Krupnik			enable-method = "psci";
840183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
850183b9b0SRonen Krupnik			d-cache-line-size = <64>;
860183b9b0SRonen Krupnik			d-cache-sets = <256>;
870183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
880183b9b0SRonen Krupnik			i-cache-line-size = <64>;
890183b9b0SRonen Krupnik			i-cache-sets = <256>;
900183b9b0SRonen Krupnik			next-level-cache = <&cluster1_l2>;
910183b9b0SRonen Krupnik		};
920183b9b0SRonen Krupnik
930183b9b0SRonen Krupnik		cpu@101 {
940183b9b0SRonen Krupnik			device_type = "cpu";
950183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
960183b9b0SRonen Krupnik			reg = <0x101>;
970183b9b0SRonen Krupnik			enable-method = "psci";
980183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
990183b9b0SRonen Krupnik			d-cache-line-size = <64>;
1000183b9b0SRonen Krupnik			d-cache-sets = <256>;
1010183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
1020183b9b0SRonen Krupnik			i-cache-line-size = <64>;
1030183b9b0SRonen Krupnik			i-cache-sets = <256>;
1040183b9b0SRonen Krupnik			next-level-cache = <&cluster1_l2>;
1050183b9b0SRonen Krupnik		};
1060183b9b0SRonen Krupnik
1070183b9b0SRonen Krupnik		cpu@102 {
1080183b9b0SRonen Krupnik			device_type = "cpu";
1090183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
1100183b9b0SRonen Krupnik			reg = <0x102>;
1110183b9b0SRonen Krupnik			enable-method = "psci";
1120183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
1130183b9b0SRonen Krupnik			d-cache-line-size = <64>;
1140183b9b0SRonen Krupnik			d-cache-sets = <256>;
1150183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
1160183b9b0SRonen Krupnik			i-cache-line-size = <64>;
1170183b9b0SRonen Krupnik			i-cache-sets = <256>;
1180183b9b0SRonen Krupnik			next-level-cache = <&cluster1_l2>;
1190183b9b0SRonen Krupnik		};
1200183b9b0SRonen Krupnik
1210183b9b0SRonen Krupnik		cpu@103 {
1220183b9b0SRonen Krupnik			device_type = "cpu";
1230183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
1240183b9b0SRonen Krupnik			reg = <0x103>;
1250183b9b0SRonen Krupnik			enable-method = "psci";
1260183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
1270183b9b0SRonen Krupnik			d-cache-line-size = <64>;
1280183b9b0SRonen Krupnik			d-cache-sets = <256>;
1290183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
1300183b9b0SRonen Krupnik			i-cache-line-size = <64>;
1310183b9b0SRonen Krupnik			i-cache-sets = <256>;
1320183b9b0SRonen Krupnik			next-level-cache = <&cluster1_l2>;
1330183b9b0SRonen Krupnik		};
1340183b9b0SRonen Krupnik
1350183b9b0SRonen Krupnik		cpu@200 {
1360183b9b0SRonen Krupnik			device_type = "cpu";
1370183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
1380183b9b0SRonen Krupnik			reg = <0x200>;
1390183b9b0SRonen Krupnik			enable-method = "psci";
1400183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
1410183b9b0SRonen Krupnik			d-cache-line-size = <64>;
1420183b9b0SRonen Krupnik			d-cache-sets = <256>;
1430183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
1440183b9b0SRonen Krupnik			i-cache-line-size = <64>;
1450183b9b0SRonen Krupnik			i-cache-sets = <256>;
1460183b9b0SRonen Krupnik			next-level-cache = <&cluster2_l2>;
1470183b9b0SRonen Krupnik		};
1480183b9b0SRonen Krupnik
1490183b9b0SRonen Krupnik		cpu@201 {
1500183b9b0SRonen Krupnik			device_type = "cpu";
1510183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
1520183b9b0SRonen Krupnik			reg = <0x201>;
1530183b9b0SRonen Krupnik			enable-method = "psci";
1540183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
1550183b9b0SRonen Krupnik			d-cache-line-size = <64>;
1560183b9b0SRonen Krupnik			d-cache-sets = <256>;
1570183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
1580183b9b0SRonen Krupnik			i-cache-line-size = <64>;
1590183b9b0SRonen Krupnik			i-cache-sets = <256>;
1600183b9b0SRonen Krupnik			next-level-cache = <&cluster2_l2>;
1610183b9b0SRonen Krupnik		};
1620183b9b0SRonen Krupnik
1630183b9b0SRonen Krupnik		cpu@202 {
1640183b9b0SRonen Krupnik			device_type = "cpu";
1650183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
1660183b9b0SRonen Krupnik			reg = <0x202>;
1670183b9b0SRonen Krupnik			enable-method = "psci";
1680183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
1690183b9b0SRonen Krupnik			d-cache-line-size = <64>;
1700183b9b0SRonen Krupnik			d-cache-sets = <256>;
1710183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
1720183b9b0SRonen Krupnik			i-cache-line-size = <64>;
1730183b9b0SRonen Krupnik			i-cache-sets = <256>;
1740183b9b0SRonen Krupnik			next-level-cache = <&cluster2_l2>;
1750183b9b0SRonen Krupnik		};
1760183b9b0SRonen Krupnik
1770183b9b0SRonen Krupnik		cpu@203 {
1780183b9b0SRonen Krupnik			device_type = "cpu";
1790183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
1800183b9b0SRonen Krupnik			reg = <0x203>;
1810183b9b0SRonen Krupnik			enable-method = "psci";
1820183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
1830183b9b0SRonen Krupnik			d-cache-line-size = <64>;
1840183b9b0SRonen Krupnik			d-cache-sets = <256>;
1850183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
1860183b9b0SRonen Krupnik			i-cache-line-size = <64>;
1870183b9b0SRonen Krupnik			i-cache-sets = <256>;
1880183b9b0SRonen Krupnik			next-level-cache = <&cluster2_l2>;
1890183b9b0SRonen Krupnik		};
1900183b9b0SRonen Krupnik
1910183b9b0SRonen Krupnik		cpu@300 {
1920183b9b0SRonen Krupnik			device_type = "cpu";
1930183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
1940183b9b0SRonen Krupnik			reg = <0x300>;
1950183b9b0SRonen Krupnik			enable-method = "psci";
1960183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
1970183b9b0SRonen Krupnik			d-cache-line-size = <64>;
1980183b9b0SRonen Krupnik			d-cache-sets = <256>;
1990183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
2000183b9b0SRonen Krupnik			i-cache-line-size = <64>;
2010183b9b0SRonen Krupnik			i-cache-sets = <256>;
2020183b9b0SRonen Krupnik			next-level-cache = <&cluster3_l2>;
2030183b9b0SRonen Krupnik		};
2040183b9b0SRonen Krupnik
2050183b9b0SRonen Krupnik		cpu@301 {
2060183b9b0SRonen Krupnik			device_type = "cpu";
2070183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
2080183b9b0SRonen Krupnik			reg = <0x301>;
2090183b9b0SRonen Krupnik			enable-method = "psci";
2100183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
2110183b9b0SRonen Krupnik			d-cache-line-size = <64>;
2120183b9b0SRonen Krupnik			d-cache-sets = <256>;
2130183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
2140183b9b0SRonen Krupnik			i-cache-line-size = <64>;
2150183b9b0SRonen Krupnik			i-cache-sets = <256>;
2160183b9b0SRonen Krupnik			next-level-cache = <&cluster3_l2>;
2170183b9b0SRonen Krupnik		};
2180183b9b0SRonen Krupnik
2190183b9b0SRonen Krupnik		cpu@302 {
2200183b9b0SRonen Krupnik			device_type = "cpu";
2210183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
2220183b9b0SRonen Krupnik			reg = <0x302>;
2230183b9b0SRonen Krupnik			enable-method = "psci";
2240183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
2250183b9b0SRonen Krupnik			d-cache-line-size = <64>;
2260183b9b0SRonen Krupnik			d-cache-sets = <256>;
2270183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
2280183b9b0SRonen Krupnik			i-cache-line-size = <64>;
2290183b9b0SRonen Krupnik			i-cache-sets = <256>;
2300183b9b0SRonen Krupnik			next-level-cache = <&cluster3_l2>;
2310183b9b0SRonen Krupnik		};
2320183b9b0SRonen Krupnik
2330183b9b0SRonen Krupnik		cpu@303 {
2340183b9b0SRonen Krupnik			device_type = "cpu";
2350183b9b0SRonen Krupnik			compatible = "arm,cortex-a72";
2360183b9b0SRonen Krupnik			reg = <0x303>;
2370183b9b0SRonen Krupnik			enable-method = "psci";
2380183b9b0SRonen Krupnik			d-cache-size = <0x8000>;
2390183b9b0SRonen Krupnik			d-cache-line-size = <64>;
2400183b9b0SRonen Krupnik			d-cache-sets = <256>;
2410183b9b0SRonen Krupnik			i-cache-size = <0xc000>;
2420183b9b0SRonen Krupnik			i-cache-line-size = <64>;
2430183b9b0SRonen Krupnik			i-cache-sets = <256>;
2440183b9b0SRonen Krupnik			next-level-cache = <&cluster3_l2>;
2450183b9b0SRonen Krupnik		};
2460183b9b0SRonen Krupnik
2470183b9b0SRonen Krupnik		cluster0_l2: cache@0 {
2480183b9b0SRonen Krupnik			compatible = "cache";
2490183b9b0SRonen Krupnik			cache-size = <0x200000>;
2500183b9b0SRonen Krupnik			cache-line-size = <64>;
2510183b9b0SRonen Krupnik			cache-sets = <2048>;
2520183b9b0SRonen Krupnik			cache-level = <2>;
253*9f921604SKrzysztof Kozlowski			cache-unified;
2540183b9b0SRonen Krupnik		};
2550183b9b0SRonen Krupnik
2560183b9b0SRonen Krupnik		cluster1_l2: cache@100 {
2570183b9b0SRonen Krupnik			compatible = "cache";
2580183b9b0SRonen Krupnik			cache-size = <0x200000>;
2590183b9b0SRonen Krupnik			cache-line-size = <64>;
2600183b9b0SRonen Krupnik			cache-sets = <2048>;
2610183b9b0SRonen Krupnik			cache-level = <2>;
262*9f921604SKrzysztof Kozlowski			cache-unified;
2630183b9b0SRonen Krupnik		};
2640183b9b0SRonen Krupnik
2650183b9b0SRonen Krupnik		cluster2_l2: cache@200 {
2660183b9b0SRonen Krupnik			compatible = "cache";
2670183b9b0SRonen Krupnik			cache-size = <0x200000>;
2680183b9b0SRonen Krupnik			cache-line-size = <64>;
2690183b9b0SRonen Krupnik			cache-sets = <2048>;
2700183b9b0SRonen Krupnik			cache-level = <2>;
271*9f921604SKrzysztof Kozlowski			cache-unified;
2720183b9b0SRonen Krupnik		};
2730183b9b0SRonen Krupnik
2740183b9b0SRonen Krupnik		cluster3_l2: cache@300 {
2750183b9b0SRonen Krupnik			compatible = "cache";
2760183b9b0SRonen Krupnik			cache-size = <0x200000>;
2770183b9b0SRonen Krupnik			cache-line-size = <64>;
2780183b9b0SRonen Krupnik			cache-sets = <2048>;
2790183b9b0SRonen Krupnik			cache-level = <2>;
280*9f921604SKrzysztof Kozlowski			cache-unified;
2810183b9b0SRonen Krupnik		};
2820183b9b0SRonen Krupnik
2830183b9b0SRonen Krupnik	};
2840183b9b0SRonen Krupnik
2850183b9b0SRonen Krupnik	reserved-memory {
2860183b9b0SRonen Krupnik		#address-cells = <2>;
2870183b9b0SRonen Krupnik		#size-cells = <2>;
2880183b9b0SRonen Krupnik		ranges;
2890183b9b0SRonen Krupnik
2900183b9b0SRonen Krupnik		secmon@0 {
2910183b9b0SRonen Krupnik			reg = <0x0 0x0 0x0 0x100000>;
2920183b9b0SRonen Krupnik			no-map;
2930183b9b0SRonen Krupnik		};
2940183b9b0SRonen Krupnik	};
2950183b9b0SRonen Krupnik
2960183b9b0SRonen Krupnik	psci {
2970183b9b0SRonen Krupnik		compatible = "arm,psci-0.2";
2980183b9b0SRonen Krupnik		method = "smc";
2990183b9b0SRonen Krupnik	};
3000183b9b0SRonen Krupnik
3010183b9b0SRonen Krupnik	timer {
3020183b9b0SRonen Krupnik		compatible = "arm,armv8-timer";
3030183b9b0SRonen Krupnik		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
3040183b9b0SRonen Krupnik			     <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
3050183b9b0SRonen Krupnik			     <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
3060183b9b0SRonen Krupnik			     <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
3070183b9b0SRonen Krupnik	};
3080183b9b0SRonen Krupnik
3090183b9b0SRonen Krupnik	pmu {
3100183b9b0SRonen Krupnik		compatible = "arm,cortex-a72-pmu";
3110183b9b0SRonen Krupnik		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
3120183b9b0SRonen Krupnik	};
3130183b9b0SRonen Krupnik
3140183b9b0SRonen Krupnik
3150183b9b0SRonen Krupnik	soc {
3160183b9b0SRonen Krupnik		compatible = "simple-bus";
3170183b9b0SRonen Krupnik		#address-cells = <2>;
3180183b9b0SRonen Krupnik		#size-cells = <2>;
3190183b9b0SRonen Krupnik		ranges;
3200183b9b0SRonen Krupnik
3210183b9b0SRonen Krupnik		gic: interrupt-controller@f0000000 {
3220183b9b0SRonen Krupnik			compatible = "arm,gic-v3";
3230183b9b0SRonen Krupnik			#interrupt-cells = <3>;
3240183b9b0SRonen Krupnik			interrupt-controller;
3250183b9b0SRonen Krupnik			reg = <0x0 0xf0800000 0 0x10000>,	/* GICD */
3260183b9b0SRonen Krupnik			      <0x0 0xf0a00000 0 0x200000>,	/* GICR */
3270183b9b0SRonen Krupnik			      <0x0 0xf0000000 0 0x2000>,	/* GICC */
3280183b9b0SRonen Krupnik			      <0x0 0xf0010000 0 0x1000>,	/* GICH */
3290183b9b0SRonen Krupnik			      <0x0 0xf0020000 0 0x2000>;	/* GICV */
3300183b9b0SRonen Krupnik			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
3310183b9b0SRonen Krupnik		};
3320183b9b0SRonen Krupnik
3330183b9b0SRonen Krupnik		pcie@fbd00000 {
3340183b9b0SRonen Krupnik			compatible = "pci-host-ecam-generic";
3350183b9b0SRonen Krupnik			device_type = "pci";
3360183b9b0SRonen Krupnik			#size-cells = <2>;
3370183b9b0SRonen Krupnik			#address-cells = <3>;
3380183b9b0SRonen Krupnik			#interrupt-cells = <1>;
3390183b9b0SRonen Krupnik			reg = <0x0 0xfbd00000 0x0 0x100000>;
3400183b9b0SRonen Krupnik			interrupt-map-mask = <0xf800 0 0 7>;
3410183b9b0SRonen Krupnik			/* 8 x legacy interrupts for SATA only */
3420183b9b0SRonen Krupnik			interrupt-map = <0x4000 0 0 1 &gic 0 57 IRQ_TYPE_LEVEL_HIGH>,
3430183b9b0SRonen Krupnik					<0x4800 0 0 1 &gic 0 58 IRQ_TYPE_LEVEL_HIGH>,
3440183b9b0SRonen Krupnik					<0x5000 0 0 1 &gic 0 59 IRQ_TYPE_LEVEL_HIGH>,
3450183b9b0SRonen Krupnik					<0x5800 0 0 1 &gic 0 60 IRQ_TYPE_LEVEL_HIGH>,
3460183b9b0SRonen Krupnik					<0x6000 0 0 1 &gic 0 61 IRQ_TYPE_LEVEL_HIGH>,
3470183b9b0SRonen Krupnik					<0x6800 0 0 1 &gic 0 62 IRQ_TYPE_LEVEL_HIGH>,
3480183b9b0SRonen Krupnik					<0x7000 0 0 1 &gic 0 63 IRQ_TYPE_LEVEL_HIGH>,
3490183b9b0SRonen Krupnik					<0x7800 0 0 1 &gic 0 64 IRQ_TYPE_LEVEL_HIGH>;
3500183b9b0SRonen Krupnik			ranges = <0x02000000 0x0 0xfe000000 0x0 0xfe000000 0x0 0x1000000>;
3510183b9b0SRonen Krupnik			bus-range = <0x00 0x00>;
3520183b9b0SRonen Krupnik			msi-parent = <&msix>;
3530183b9b0SRonen Krupnik		};
3540183b9b0SRonen Krupnik
3550183b9b0SRonen Krupnik		msix: msix@fbe00000 {
3560183b9b0SRonen Krupnik			compatible = "al,alpine-msix";
3570183b9b0SRonen Krupnik			reg = <0x0 0xfbe00000 0x0 0x100000>;
3580183b9b0SRonen Krupnik			msi-controller;
3590183b9b0SRonen Krupnik			al,msi-base-spi = <336>;
3600183b9b0SRonen Krupnik			al,msi-num-spis = <959>;
3610183b9b0SRonen Krupnik			interrupt-parent = <&gic>;
3620183b9b0SRonen Krupnik		};
3630183b9b0SRonen Krupnik
3640183b9b0SRonen Krupnik		io-fabric {
3650183b9b0SRonen Krupnik			compatible = "simple-bus";
3660183b9b0SRonen Krupnik			#address-cells = <1>;
3670183b9b0SRonen Krupnik			#size-cells = <1>;
3680183b9b0SRonen Krupnik			ranges = <0x0 0x0 0xfc000000 0x2000000>;
3690183b9b0SRonen Krupnik
3700183b9b0SRonen Krupnik			uart0: serial@1883000 {
3710183b9b0SRonen Krupnik				compatible = "ns16550a";
3720183b9b0SRonen Krupnik				reg = <0x1883000 0x1000>;
3730183b9b0SRonen Krupnik				interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
3740183b9b0SRonen Krupnik				clock-frequency = <0>; /* Filled by firmware */
3750183b9b0SRonen Krupnik				reg-shift = <2>;
3760183b9b0SRonen Krupnik				reg-io-width = <4>;
3770183b9b0SRonen Krupnik				status = "disabled";
3780183b9b0SRonen Krupnik			};
3790183b9b0SRonen Krupnik
3800183b9b0SRonen Krupnik			uart1: serial@1884000 {
3810183b9b0SRonen Krupnik				compatible = "ns16550a";
3820183b9b0SRonen Krupnik				reg = <0x1884000 0x1000>;
3830183b9b0SRonen Krupnik				interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
3840183b9b0SRonen Krupnik				clock-frequency = <0>; /* Filled by firmware */
3850183b9b0SRonen Krupnik				reg-shift = <2>;
3860183b9b0SRonen Krupnik				reg-io-width = <4>;
3870183b9b0SRonen Krupnik				status = "disabled";
3880183b9b0SRonen Krupnik			};
3890183b9b0SRonen Krupnik
3900183b9b0SRonen Krupnik			uart2: serial@1885000 {
3910183b9b0SRonen Krupnik				compatible = "ns16550a";
3920183b9b0SRonen Krupnik				reg = <0x1885000 0x1000>;
3930183b9b0SRonen Krupnik				interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
3940183b9b0SRonen Krupnik				clock-frequency = <0>; /* Filled by firmware */
3950183b9b0SRonen Krupnik				reg-shift = <2>;
3960183b9b0SRonen Krupnik				reg-io-width = <4>;
3970183b9b0SRonen Krupnik				status = "disabled";
3980183b9b0SRonen Krupnik			};
3990183b9b0SRonen Krupnik
4000183b9b0SRonen Krupnik			uart3: serial@1886000 {
4010183b9b0SRonen Krupnik				compatible = "ns16550a";
4020183b9b0SRonen Krupnik				reg = <0x1886000 0x1000>;
4030183b9b0SRonen Krupnik				interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
4040183b9b0SRonen Krupnik				clock-frequency = <0>; /* Filled by firmware */
4050183b9b0SRonen Krupnik				reg-shift = <2>;
4060183b9b0SRonen Krupnik				reg-io-width = <4>;
4070183b9b0SRonen Krupnik				status = "disabled";
4080183b9b0SRonen Krupnik			};
4090183b9b0SRonen Krupnik		};
4100183b9b0SRonen Krupnik	};
4110183b9b0SRonen Krupnik};
412