18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Device Tree Include file for Marvell Armada 37xx family of SoCs.
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (C) 2016 Marvell
68c2ecf20Sopenharmony_ci *
78c2ecf20Sopenharmony_ci * Gregory CLEMENT <gregory.clement@free-electrons.com>
88c2ecf20Sopenharmony_ci *
98c2ecf20Sopenharmony_ci */
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ci/ {
148c2ecf20Sopenharmony_ci	model = "Marvell Armada 37xx SoC";
158c2ecf20Sopenharmony_ci	compatible = "marvell,armada3700";
168c2ecf20Sopenharmony_ci	interrupt-parent = <&gic>;
178c2ecf20Sopenharmony_ci	#address-cells = <2>;
188c2ecf20Sopenharmony_ci	#size-cells = <2>;
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci	aliases {
218c2ecf20Sopenharmony_ci		serial0 = &uart0;
228c2ecf20Sopenharmony_ci		serial1 = &uart1;
238c2ecf20Sopenharmony_ci	};
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci	reserved-memory {
268c2ecf20Sopenharmony_ci		#address-cells = <2>;
278c2ecf20Sopenharmony_ci		#size-cells = <2>;
288c2ecf20Sopenharmony_ci		ranges;
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci		/*
318c2ecf20Sopenharmony_ci		 * The PSCI firmware region depicted below is the default one
328c2ecf20Sopenharmony_ci		 * and should be updated by the bootloader.
338c2ecf20Sopenharmony_ci		 */
348c2ecf20Sopenharmony_ci		psci-area@4000000 {
358c2ecf20Sopenharmony_ci			reg = <0 0x4000000 0 0x200000>;
368c2ecf20Sopenharmony_ci			no-map;
378c2ecf20Sopenharmony_ci		};
388c2ecf20Sopenharmony_ci	};
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci	cpus {
418c2ecf20Sopenharmony_ci		#address-cells = <1>;
428c2ecf20Sopenharmony_ci		#size-cells = <0>;
438c2ecf20Sopenharmony_ci		cpu0: cpu@0 {
448c2ecf20Sopenharmony_ci			device_type = "cpu";
458c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
468c2ecf20Sopenharmony_ci			reg = <0>;
478c2ecf20Sopenharmony_ci			clocks = <&nb_periph_clk 16>;
488c2ecf20Sopenharmony_ci			enable-method = "psci";
498c2ecf20Sopenharmony_ci		};
508c2ecf20Sopenharmony_ci	};
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci	psci {
538c2ecf20Sopenharmony_ci		compatible = "arm,psci-0.2";
548c2ecf20Sopenharmony_ci		method = "smc";
558c2ecf20Sopenharmony_ci	};
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ci	timer {
588c2ecf20Sopenharmony_ci		compatible = "arm,armv8-timer";
598c2ecf20Sopenharmony_ci		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
608c2ecf20Sopenharmony_ci			     <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
618c2ecf20Sopenharmony_ci			     <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
628c2ecf20Sopenharmony_ci			     <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
638c2ecf20Sopenharmony_ci	};
648c2ecf20Sopenharmony_ci
658c2ecf20Sopenharmony_ci	pmu {
668c2ecf20Sopenharmony_ci		compatible = "arm,armv8-pmuv3";
678c2ecf20Sopenharmony_ci		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
688c2ecf20Sopenharmony_ci	};
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci	soc {
718c2ecf20Sopenharmony_ci		compatible = "simple-bus";
728c2ecf20Sopenharmony_ci		#address-cells = <2>;
738c2ecf20Sopenharmony_ci		#size-cells = <2>;
748c2ecf20Sopenharmony_ci		ranges;
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci		internal-regs@d0000000 {
778c2ecf20Sopenharmony_ci			#address-cells = <1>;
788c2ecf20Sopenharmony_ci			#size-cells = <1>;
798c2ecf20Sopenharmony_ci			compatible = "simple-bus";
808c2ecf20Sopenharmony_ci			/* 32M internal register @ 0xd000_0000 */
818c2ecf20Sopenharmony_ci			ranges = <0x0 0x0 0xd0000000 0x2000000>;
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci			wdt: watchdog@8300 {
848c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-wdt";
858c2ecf20Sopenharmony_ci				reg = <0x8300 0x40>;
868c2ecf20Sopenharmony_ci				marvell,system-controller = <&cpu_misc>;
878c2ecf20Sopenharmony_ci				clocks = <&xtalclk>;
888c2ecf20Sopenharmony_ci			};
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci			cpu_misc: system-controller@d000 {
918c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-cpu-misc",
928c2ecf20Sopenharmony_ci					     "syscon";
938c2ecf20Sopenharmony_ci				reg = <0xd000 0x1000>;
948c2ecf20Sopenharmony_ci			};
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ci			spi0: spi@10600 {
978c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-spi";
988c2ecf20Sopenharmony_ci				#address-cells = <1>;
998c2ecf20Sopenharmony_ci				#size-cells = <0>;
1008c2ecf20Sopenharmony_ci				reg = <0x10600 0xA00>;
1018c2ecf20Sopenharmony_ci				clocks = <&nb_periph_clk 7>;
1028c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
1038c2ecf20Sopenharmony_ci				num-cs = <4>;
1048c2ecf20Sopenharmony_ci				status = "disabled";
1058c2ecf20Sopenharmony_ci			};
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ci			i2c0: i2c@11000 {
1088c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-i2c";
1098c2ecf20Sopenharmony_ci				reg = <0x11000 0x24>;
1108c2ecf20Sopenharmony_ci				#address-cells = <1>;
1118c2ecf20Sopenharmony_ci				#size-cells = <0>;
1128c2ecf20Sopenharmony_ci				clocks = <&nb_periph_clk 10>;
1138c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
1148c2ecf20Sopenharmony_ci				mrvl,i2c-fast-mode;
1158c2ecf20Sopenharmony_ci				status = "disabled";
1168c2ecf20Sopenharmony_ci			};
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ci			i2c1: i2c@11080 {
1198c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-i2c";
1208c2ecf20Sopenharmony_ci				reg = <0x11080 0x24>;
1218c2ecf20Sopenharmony_ci				#address-cells = <1>;
1228c2ecf20Sopenharmony_ci				#size-cells = <0>;
1238c2ecf20Sopenharmony_ci				clocks = <&nb_periph_clk 9>;
1248c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
1258c2ecf20Sopenharmony_ci				mrvl,i2c-fast-mode;
1268c2ecf20Sopenharmony_ci				status = "disabled";
1278c2ecf20Sopenharmony_ci			};
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ci			avs: avs@11500 {
1308c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-avs",
1318c2ecf20Sopenharmony_ci					     "syscon";
1328c2ecf20Sopenharmony_ci				reg = <0x11500 0x40>;
1338c2ecf20Sopenharmony_ci			};
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ci			uart0: serial@12000 {
1368c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-uart";
1378c2ecf20Sopenharmony_ci				reg = <0x12000 0x18>;
1388c2ecf20Sopenharmony_ci				clocks = <&xtalclk>;
1398c2ecf20Sopenharmony_ci				interrupts =
1408c2ecf20Sopenharmony_ci				<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
1418c2ecf20Sopenharmony_ci				<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
1428c2ecf20Sopenharmony_ci				<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1438c2ecf20Sopenharmony_ci				interrupt-names = "uart-sum", "uart-tx", "uart-rx";
1448c2ecf20Sopenharmony_ci				status = "disabled";
1458c2ecf20Sopenharmony_ci			};
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_ci			uart1: serial@12200 {
1488c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-uart-ext";
1498c2ecf20Sopenharmony_ci				reg = <0x12200 0x30>;
1508c2ecf20Sopenharmony_ci				clocks = <&xtalclk>;
1518c2ecf20Sopenharmony_ci				interrupts =
1528c2ecf20Sopenharmony_ci				<GIC_SPI 30 IRQ_TYPE_EDGE_RISING>,
1538c2ecf20Sopenharmony_ci				<GIC_SPI 31 IRQ_TYPE_EDGE_RISING>;
1548c2ecf20Sopenharmony_ci				interrupt-names = "uart-tx", "uart-rx";
1558c2ecf20Sopenharmony_ci				status = "disabled";
1568c2ecf20Sopenharmony_ci			};
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ci			nb_periph_clk: nb-periph-clk@13000 {
1598c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-periph-clock-nb",
1608c2ecf20Sopenharmony_ci					     "syscon";
1618c2ecf20Sopenharmony_ci				reg = <0x13000 0x100>;
1628c2ecf20Sopenharmony_ci				clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>,
1638c2ecf20Sopenharmony_ci				<&tbg 3>, <&xtalclk>;
1648c2ecf20Sopenharmony_ci				#clock-cells = <1>;
1658c2ecf20Sopenharmony_ci			};
1668c2ecf20Sopenharmony_ci
1678c2ecf20Sopenharmony_ci			sb_periph_clk: sb-periph-clk@18000 {
1688c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-periph-clock-sb";
1698c2ecf20Sopenharmony_ci				reg = <0x18000 0x100>;
1708c2ecf20Sopenharmony_ci				clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>,
1718c2ecf20Sopenharmony_ci				<&tbg 3>, <&xtalclk>;
1728c2ecf20Sopenharmony_ci				#clock-cells = <1>;
1738c2ecf20Sopenharmony_ci			};
1748c2ecf20Sopenharmony_ci
1758c2ecf20Sopenharmony_ci			tbg: tbg@13200 {
1768c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-tbg-clock";
1778c2ecf20Sopenharmony_ci				reg = <0x13200 0x100>;
1788c2ecf20Sopenharmony_ci				clocks = <&xtalclk>;
1798c2ecf20Sopenharmony_ci				#clock-cells = <1>;
1808c2ecf20Sopenharmony_ci			};
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_ci			pinctrl_nb: pinctrl@13800 {
1838c2ecf20Sopenharmony_ci				compatible = "marvell,armada3710-nb-pinctrl",
1848c2ecf20Sopenharmony_ci					     "syscon", "simple-mfd";
1858c2ecf20Sopenharmony_ci				reg = <0x13800 0x100>, <0x13C00 0x20>;
1868c2ecf20Sopenharmony_ci				/* MPP1[19:0] */
1878c2ecf20Sopenharmony_ci				gpionb: gpio {
1888c2ecf20Sopenharmony_ci					#gpio-cells = <2>;
1898c2ecf20Sopenharmony_ci					gpio-ranges = <&pinctrl_nb 0 0 36>;
1908c2ecf20Sopenharmony_ci					gpio-controller;
1918c2ecf20Sopenharmony_ci					interrupt-controller;
1928c2ecf20Sopenharmony_ci					#interrupt-cells = <2>;
1938c2ecf20Sopenharmony_ci					interrupts =
1948c2ecf20Sopenharmony_ci					<GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
1958c2ecf20Sopenharmony_ci					<GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
1968c2ecf20Sopenharmony_ci					<GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
1978c2ecf20Sopenharmony_ci					<GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
1988c2ecf20Sopenharmony_ci					<GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
1998c2ecf20Sopenharmony_ci					<GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
2008c2ecf20Sopenharmony_ci					<GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
2018c2ecf20Sopenharmony_ci					<GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
2028c2ecf20Sopenharmony_ci					<GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
2038c2ecf20Sopenharmony_ci					<GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
2048c2ecf20Sopenharmony_ci					<GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
2058c2ecf20Sopenharmony_ci					<GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
2068c2ecf20Sopenharmony_ci				};
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ci				xtalclk: xtal-clk {
2098c2ecf20Sopenharmony_ci					compatible = "marvell,armada-3700-xtal-clock";
2108c2ecf20Sopenharmony_ci					clock-output-names = "xtal";
2118c2ecf20Sopenharmony_ci					#clock-cells = <0>;
2128c2ecf20Sopenharmony_ci				};
2138c2ecf20Sopenharmony_ci
2148c2ecf20Sopenharmony_ci				spi_quad_pins: spi-quad-pins {
2158c2ecf20Sopenharmony_ci					groups = "spi_quad";
2168c2ecf20Sopenharmony_ci					function = "spi";
2178c2ecf20Sopenharmony_ci				};
2188c2ecf20Sopenharmony_ci
2198c2ecf20Sopenharmony_ci				spi_cs1_pins: spi-cs1-pins {
2208c2ecf20Sopenharmony_ci					groups = "spi_cs1";
2218c2ecf20Sopenharmony_ci					function = "spi";
2228c2ecf20Sopenharmony_ci				};
2238c2ecf20Sopenharmony_ci
2248c2ecf20Sopenharmony_ci				i2c1_pins: i2c1-pins {
2258c2ecf20Sopenharmony_ci					groups = "i2c1";
2268c2ecf20Sopenharmony_ci					function = "i2c";
2278c2ecf20Sopenharmony_ci				};
2288c2ecf20Sopenharmony_ci
2298c2ecf20Sopenharmony_ci				i2c2_pins: i2c2-pins {
2308c2ecf20Sopenharmony_ci					groups = "i2c2";
2318c2ecf20Sopenharmony_ci					function = "i2c";
2328c2ecf20Sopenharmony_ci				};
2338c2ecf20Sopenharmony_ci
2348c2ecf20Sopenharmony_ci				uart1_pins: uart1-pins {
2358c2ecf20Sopenharmony_ci					groups = "uart1";
2368c2ecf20Sopenharmony_ci					function = "uart";
2378c2ecf20Sopenharmony_ci				};
2388c2ecf20Sopenharmony_ci
2398c2ecf20Sopenharmony_ci				uart2_pins: uart2-pins {
2408c2ecf20Sopenharmony_ci					groups = "uart2";
2418c2ecf20Sopenharmony_ci					function = "uart";
2428c2ecf20Sopenharmony_ci				};
2438c2ecf20Sopenharmony_ci
2448c2ecf20Sopenharmony_ci				mmc_pins: mmc-pins {
2458c2ecf20Sopenharmony_ci					groups = "emmc_nb";
2468c2ecf20Sopenharmony_ci					function = "emmc";
2478c2ecf20Sopenharmony_ci				};
2488c2ecf20Sopenharmony_ci			};
2498c2ecf20Sopenharmony_ci
2508c2ecf20Sopenharmony_ci			nb_pm: syscon@14000 {
2518c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-nb-pm",
2528c2ecf20Sopenharmony_ci					     "syscon";
2538c2ecf20Sopenharmony_ci				reg = <0x14000 0x60>;
2548c2ecf20Sopenharmony_ci			};
2558c2ecf20Sopenharmony_ci
2568c2ecf20Sopenharmony_ci			comphy: phy@18300 {
2578c2ecf20Sopenharmony_ci				compatible = "marvell,comphy-a3700";
2588c2ecf20Sopenharmony_ci				reg = <0x18300 0x300>,
2598c2ecf20Sopenharmony_ci				      <0x1F000 0x400>,
2608c2ecf20Sopenharmony_ci				      <0x5C000 0x400>,
2618c2ecf20Sopenharmony_ci				      <0xe0178 0x8>;
2628c2ecf20Sopenharmony_ci				reg-names = "comphy",
2638c2ecf20Sopenharmony_ci					    "lane1_pcie_gbe",
2648c2ecf20Sopenharmony_ci					    "lane0_usb3_gbe",
2658c2ecf20Sopenharmony_ci					    "lane2_sata_usb3";
2668c2ecf20Sopenharmony_ci				#address-cells = <1>;
2678c2ecf20Sopenharmony_ci				#size-cells = <0>;
2688c2ecf20Sopenharmony_ci
2698c2ecf20Sopenharmony_ci				comphy0: phy@0 {
2708c2ecf20Sopenharmony_ci					reg = <0>;
2718c2ecf20Sopenharmony_ci					#phy-cells = <1>;
2728c2ecf20Sopenharmony_ci				};
2738c2ecf20Sopenharmony_ci
2748c2ecf20Sopenharmony_ci				comphy1: phy@1 {
2758c2ecf20Sopenharmony_ci					reg = <1>;
2768c2ecf20Sopenharmony_ci					#phy-cells = <1>;
2778c2ecf20Sopenharmony_ci				};
2788c2ecf20Sopenharmony_ci
2798c2ecf20Sopenharmony_ci				comphy2: phy@2 {
2808c2ecf20Sopenharmony_ci					reg = <2>;
2818c2ecf20Sopenharmony_ci					#phy-cells = <1>;
2828c2ecf20Sopenharmony_ci				};
2838c2ecf20Sopenharmony_ci			};
2848c2ecf20Sopenharmony_ci
2858c2ecf20Sopenharmony_ci			pinctrl_sb: pinctrl@18800 {
2868c2ecf20Sopenharmony_ci				compatible = "marvell,armada3710-sb-pinctrl",
2878c2ecf20Sopenharmony_ci					     "syscon", "simple-mfd";
2888c2ecf20Sopenharmony_ci				reg = <0x18800 0x100>, <0x18C00 0x20>;
2898c2ecf20Sopenharmony_ci				/* MPP2[23:0] */
2908c2ecf20Sopenharmony_ci				gpiosb: gpio {
2918c2ecf20Sopenharmony_ci					#gpio-cells = <2>;
2928c2ecf20Sopenharmony_ci					gpio-ranges = <&pinctrl_sb 0 0 30>;
2938c2ecf20Sopenharmony_ci					gpio-controller;
2948c2ecf20Sopenharmony_ci					interrupt-controller;
2958c2ecf20Sopenharmony_ci					#interrupt-cells = <2>;
2968c2ecf20Sopenharmony_ci					interrupts =
2978c2ecf20Sopenharmony_ci					<GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
2988c2ecf20Sopenharmony_ci					<GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
2998c2ecf20Sopenharmony_ci					<GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
3008c2ecf20Sopenharmony_ci					<GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
3018c2ecf20Sopenharmony_ci					<GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
3028c2ecf20Sopenharmony_ci				};
3038c2ecf20Sopenharmony_ci
3048c2ecf20Sopenharmony_ci				rgmii_pins: mii-pins {
3058c2ecf20Sopenharmony_ci					groups = "rgmii";
3068c2ecf20Sopenharmony_ci					function = "mii";
3078c2ecf20Sopenharmony_ci				};
3088c2ecf20Sopenharmony_ci
3098c2ecf20Sopenharmony_ci				smi_pins: smi-pins {
3108c2ecf20Sopenharmony_ci					groups = "smi";
3118c2ecf20Sopenharmony_ci					function = "smi";
3128c2ecf20Sopenharmony_ci				};
3138c2ecf20Sopenharmony_ci
3148c2ecf20Sopenharmony_ci				sdio_pins: sdio-pins {
3158c2ecf20Sopenharmony_ci					groups = "sdio_sb";
3168c2ecf20Sopenharmony_ci					function = "sdio";
3178c2ecf20Sopenharmony_ci				};
3188c2ecf20Sopenharmony_ci
3198c2ecf20Sopenharmony_ci				pcie_reset_pins: pcie-reset-pins {
3208c2ecf20Sopenharmony_ci					groups = "pcie1"; /* this actually controls "pcie1_reset" */
3218c2ecf20Sopenharmony_ci					function = "gpio";
3228c2ecf20Sopenharmony_ci				};
3238c2ecf20Sopenharmony_ci
3248c2ecf20Sopenharmony_ci				pcie_clkreq_pins: pcie-clkreq-pins {
3258c2ecf20Sopenharmony_ci					groups = "pcie1_clkreq";
3268c2ecf20Sopenharmony_ci					function = "pcie";
3278c2ecf20Sopenharmony_ci				};
3288c2ecf20Sopenharmony_ci			};
3298c2ecf20Sopenharmony_ci
3308c2ecf20Sopenharmony_ci			eth0: ethernet@30000 {
3318c2ecf20Sopenharmony_ci				   compatible = "marvell,armada-3700-neta";
3328c2ecf20Sopenharmony_ci				   reg = <0x30000 0x4000>;
3338c2ecf20Sopenharmony_ci				   interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
3348c2ecf20Sopenharmony_ci				   clocks = <&sb_periph_clk 8>;
3358c2ecf20Sopenharmony_ci				   status = "disabled";
3368c2ecf20Sopenharmony_ci			};
3378c2ecf20Sopenharmony_ci
3388c2ecf20Sopenharmony_ci			mdio: mdio@32004 {
3398c2ecf20Sopenharmony_ci				#address-cells = <1>;
3408c2ecf20Sopenharmony_ci				#size-cells = <0>;
3418c2ecf20Sopenharmony_ci				compatible = "marvell,orion-mdio";
3428c2ecf20Sopenharmony_ci				reg = <0x32004 0x4>;
3438c2ecf20Sopenharmony_ci			};
3448c2ecf20Sopenharmony_ci
3458c2ecf20Sopenharmony_ci			eth1: ethernet@40000 {
3468c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-neta";
3478c2ecf20Sopenharmony_ci				reg = <0x40000 0x4000>;
3488c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
3498c2ecf20Sopenharmony_ci				clocks = <&sb_periph_clk 7>;
3508c2ecf20Sopenharmony_ci				status = "disabled";
3518c2ecf20Sopenharmony_ci			};
3528c2ecf20Sopenharmony_ci
3538c2ecf20Sopenharmony_ci			usb3: usb@58000 {
3548c2ecf20Sopenharmony_ci				compatible = "marvell,armada3700-xhci",
3558c2ecf20Sopenharmony_ci				"generic-xhci";
3568c2ecf20Sopenharmony_ci				reg = <0x58000 0x4000>;
3578c2ecf20Sopenharmony_ci				marvell,usb-misc-reg = <&usb32_syscon>;
3588c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
3598c2ecf20Sopenharmony_ci				clocks = <&sb_periph_clk 12>;
3608c2ecf20Sopenharmony_ci				phys = <&comphy0 0>, <&usb2_utmi_otg_phy>;
3618c2ecf20Sopenharmony_ci				phy-names = "usb3-phy", "usb2-utmi-otg-phy";
3628c2ecf20Sopenharmony_ci				status = "disabled";
3638c2ecf20Sopenharmony_ci			};
3648c2ecf20Sopenharmony_ci
3658c2ecf20Sopenharmony_ci			usb2_utmi_otg_phy: phy@5d000 {
3668c2ecf20Sopenharmony_ci				compatible = "marvell,a3700-utmi-otg-phy";
3678c2ecf20Sopenharmony_ci				reg = <0x5d000 0x800>;
3688c2ecf20Sopenharmony_ci				marvell,usb-misc-reg = <&usb32_syscon>;
3698c2ecf20Sopenharmony_ci				#phy-cells = <0>;
3708c2ecf20Sopenharmony_ci			};
3718c2ecf20Sopenharmony_ci
3728c2ecf20Sopenharmony_ci			usb32_syscon: system-controller@5d800 {
3738c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-usb2-host-device-misc",
3748c2ecf20Sopenharmony_ci				"syscon";
3758c2ecf20Sopenharmony_ci				reg = <0x5d800 0x800>;
3768c2ecf20Sopenharmony_ci			};
3778c2ecf20Sopenharmony_ci
3788c2ecf20Sopenharmony_ci			usb2: usb@5e000 {
3798c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-ehci";
3808c2ecf20Sopenharmony_ci				reg = <0x5e000 0x1000>;
3818c2ecf20Sopenharmony_ci				marvell,usb-misc-reg = <&usb2_syscon>;
3828c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
3838c2ecf20Sopenharmony_ci				phys = <&usb2_utmi_host_phy>;
3848c2ecf20Sopenharmony_ci				phy-names = "usb2-utmi-host-phy";
3858c2ecf20Sopenharmony_ci				status = "disabled";
3868c2ecf20Sopenharmony_ci			};
3878c2ecf20Sopenharmony_ci
3888c2ecf20Sopenharmony_ci			usb2_utmi_host_phy: phy@5f000 {
3898c2ecf20Sopenharmony_ci				compatible = "marvell,a3700-utmi-host-phy";
3908c2ecf20Sopenharmony_ci				reg = <0x5f000 0x800>;
3918c2ecf20Sopenharmony_ci				marvell,usb-misc-reg = <&usb2_syscon>;
3928c2ecf20Sopenharmony_ci				#phy-cells = <0>;
3938c2ecf20Sopenharmony_ci			};
3948c2ecf20Sopenharmony_ci
3958c2ecf20Sopenharmony_ci			usb2_syscon: system-controller@5f800 {
3968c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-usb2-host-misc",
3978c2ecf20Sopenharmony_ci				"syscon";
3988c2ecf20Sopenharmony_ci				reg = <0x5f800 0x800>;
3998c2ecf20Sopenharmony_ci			};
4008c2ecf20Sopenharmony_ci
4018c2ecf20Sopenharmony_ci			xor@60900 {
4028c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-xor";
4038c2ecf20Sopenharmony_ci				reg = <0x60900 0x100>,
4048c2ecf20Sopenharmony_ci				      <0x60b00 0x100>;
4058c2ecf20Sopenharmony_ci
4068c2ecf20Sopenharmony_ci				xor10 {
4078c2ecf20Sopenharmony_ci					interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
4088c2ecf20Sopenharmony_ci				};
4098c2ecf20Sopenharmony_ci				xor11 {
4108c2ecf20Sopenharmony_ci					interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
4118c2ecf20Sopenharmony_ci				};
4128c2ecf20Sopenharmony_ci			};
4138c2ecf20Sopenharmony_ci
4148c2ecf20Sopenharmony_ci			crypto: crypto@90000 {
4158c2ecf20Sopenharmony_ci				compatible = "inside-secure,safexcel-eip97ies";
4168c2ecf20Sopenharmony_ci				reg = <0x90000 0x20000>;
4178c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
4188c2ecf20Sopenharmony_ci					     <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
4198c2ecf20Sopenharmony_ci					     <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
4208c2ecf20Sopenharmony_ci					     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
4218c2ecf20Sopenharmony_ci					     <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
4228c2ecf20Sopenharmony_ci					     <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
4238c2ecf20Sopenharmony_ci				interrupt-names = "mem", "ring0", "ring1",
4248c2ecf20Sopenharmony_ci						  "ring2", "ring3", "eip";
4258c2ecf20Sopenharmony_ci				clocks = <&nb_periph_clk 15>;
4268c2ecf20Sopenharmony_ci			};
4278c2ecf20Sopenharmony_ci
4288c2ecf20Sopenharmony_ci			rwtm: mailbox@b0000 {
4298c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-rwtm-mailbox";
4308c2ecf20Sopenharmony_ci				reg = <0xb0000 0x100>;
4318c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
4328c2ecf20Sopenharmony_ci				#mbox-cells = <1>;
4338c2ecf20Sopenharmony_ci			};
4348c2ecf20Sopenharmony_ci
4358c2ecf20Sopenharmony_ci			sdhci1: sdhci@d0000 {
4368c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-sdhci",
4378c2ecf20Sopenharmony_ci					     "marvell,sdhci-xenon";
4388c2ecf20Sopenharmony_ci				reg = <0xd0000 0x300>,
4398c2ecf20Sopenharmony_ci				      <0x1e808 0x4>;
4408c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
4418c2ecf20Sopenharmony_ci				clocks = <&nb_periph_clk 0>;
4428c2ecf20Sopenharmony_ci				clock-names = "core";
4438c2ecf20Sopenharmony_ci				status = "disabled";
4448c2ecf20Sopenharmony_ci			};
4458c2ecf20Sopenharmony_ci
4468c2ecf20Sopenharmony_ci			sdhci0: sdhci@d8000 {
4478c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-sdhci",
4488c2ecf20Sopenharmony_ci					     "marvell,sdhci-xenon";
4498c2ecf20Sopenharmony_ci				reg = <0xd8000 0x300>,
4508c2ecf20Sopenharmony_ci				      <0x17808 0x4>;
4518c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
4528c2ecf20Sopenharmony_ci				clocks = <&nb_periph_clk 0>;
4538c2ecf20Sopenharmony_ci				clock-names = "core";
4548c2ecf20Sopenharmony_ci				status = "disabled";
4558c2ecf20Sopenharmony_ci			};
4568c2ecf20Sopenharmony_ci
4578c2ecf20Sopenharmony_ci			sata: sata@e0000 {
4588c2ecf20Sopenharmony_ci				compatible = "marvell,armada-3700-ahci";
4598c2ecf20Sopenharmony_ci				reg = <0xe0000 0x178>;
4608c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
4618c2ecf20Sopenharmony_ci				clocks = <&nb_periph_clk 1>;
4628c2ecf20Sopenharmony_ci				status = "disabled";
4638c2ecf20Sopenharmony_ci			};
4648c2ecf20Sopenharmony_ci
4658c2ecf20Sopenharmony_ci			gic: interrupt-controller@1d00000 {
4668c2ecf20Sopenharmony_ci				compatible = "arm,gic-v3";
4678c2ecf20Sopenharmony_ci				#interrupt-cells = <3>;
4688c2ecf20Sopenharmony_ci				interrupt-controller;
4698c2ecf20Sopenharmony_ci				reg = <0x1d00000 0x10000>, /* GICD */
4708c2ecf20Sopenharmony_ci				      <0x1d40000 0x40000>, /* GICR */
4718c2ecf20Sopenharmony_ci				      <0x1d80000 0x2000>,  /* GICC */
4728c2ecf20Sopenharmony_ci				      <0x1d90000 0x2000>,  /* GICH */
4738c2ecf20Sopenharmony_ci				      <0x1da0000 0x20000>; /* GICV */
4748c2ecf20Sopenharmony_ci				interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
4758c2ecf20Sopenharmony_ci			};
4768c2ecf20Sopenharmony_ci		};
4778c2ecf20Sopenharmony_ci
4788c2ecf20Sopenharmony_ci		pcie0: pcie@d0070000 {
4798c2ecf20Sopenharmony_ci			compatible = "marvell,armada-3700-pcie";
4808c2ecf20Sopenharmony_ci			device_type = "pci";
4818c2ecf20Sopenharmony_ci			status = "disabled";
4828c2ecf20Sopenharmony_ci			reg = <0 0xd0070000 0 0x20000>;
4838c2ecf20Sopenharmony_ci			#address-cells = <3>;
4848c2ecf20Sopenharmony_ci			#size-cells = <2>;
4858c2ecf20Sopenharmony_ci			bus-range = <0x00 0xff>;
4868c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
4878c2ecf20Sopenharmony_ci			#interrupt-cells = <1>;
4888c2ecf20Sopenharmony_ci			msi-parent = <&pcie0>;
4898c2ecf20Sopenharmony_ci			msi-controller;
4908c2ecf20Sopenharmony_ci			/*
4918c2ecf20Sopenharmony_ci			 * The 128 MiB address range [0xe8000000-0xf0000000] is
4928c2ecf20Sopenharmony_ci			 * dedicated for PCIe and can be assigned to 8 windows
4938c2ecf20Sopenharmony_ci			 * with size a power of two. Use one 64 KiB window for
4948c2ecf20Sopenharmony_ci			 * IO at the end and the remaining seven windows
4958c2ecf20Sopenharmony_ci			 * (totaling 127 MiB) for MEM.
4968c2ecf20Sopenharmony_ci			 */
4978c2ecf20Sopenharmony_ci			ranges = <0x82000000 0 0xe8000000   0 0xe8000000   0 0x07f00000   /* Port 0 MEM */
4988c2ecf20Sopenharmony_ci				  0x81000000 0 0x00000000   0 0xefff0000   0 0x00010000>; /* Port 0 IO */
4998c2ecf20Sopenharmony_ci			interrupt-map-mask = <0 0 0 7>;
5008c2ecf20Sopenharmony_ci			interrupt-map = <0 0 0 1 &pcie_intc 0>,
5018c2ecf20Sopenharmony_ci					<0 0 0 2 &pcie_intc 1>,
5028c2ecf20Sopenharmony_ci					<0 0 0 3 &pcie_intc 2>,
5038c2ecf20Sopenharmony_ci					<0 0 0 4 &pcie_intc 3>;
5048c2ecf20Sopenharmony_ci			max-link-speed = <2>;
5058c2ecf20Sopenharmony_ci			phys = <&comphy1 0>;
5068c2ecf20Sopenharmony_ci			pcie_intc: interrupt-controller {
5078c2ecf20Sopenharmony_ci				interrupt-controller;
5088c2ecf20Sopenharmony_ci				#interrupt-cells = <1>;
5098c2ecf20Sopenharmony_ci			};
5108c2ecf20Sopenharmony_ci		};
5118c2ecf20Sopenharmony_ci	};
5128c2ecf20Sopenharmony_ci
5138c2ecf20Sopenharmony_ci	firmware {
5148c2ecf20Sopenharmony_ci		armada-3700-rwtm {
5158c2ecf20Sopenharmony_ci			compatible = "marvell,armada-3700-rwtm-firmware";
5168c2ecf20Sopenharmony_ci			mboxes = <&rwtm 0>;
5178c2ecf20Sopenharmony_ci			status = "okay";
5188c2ecf20Sopenharmony_ci		};
5198c2ecf20Sopenharmony_ci	};
5208c2ecf20Sopenharmony_ci};
521