162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Device Tree Include file for Marvell Armada 37xx family of SoCs.
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2016 Marvell
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Gregory CLEMENT <gregory.clement@free-electrons.com>
862306a36Sopenharmony_ci *
962306a36Sopenharmony_ci */
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci/ {
1462306a36Sopenharmony_ci	model = "Marvell Armada 37xx SoC";
1562306a36Sopenharmony_ci	compatible = "marvell,armada3700";
1662306a36Sopenharmony_ci	interrupt-parent = <&gic>;
1762306a36Sopenharmony_ci	#address-cells = <2>;
1862306a36Sopenharmony_ci	#size-cells = <2>;
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	aliases {
2162306a36Sopenharmony_ci		serial0 = &uart0;
2262306a36Sopenharmony_ci		serial1 = &uart1;
2362306a36Sopenharmony_ci	};
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	reserved-memory {
2662306a36Sopenharmony_ci		#address-cells = <2>;
2762306a36Sopenharmony_ci		#size-cells = <2>;
2862306a36Sopenharmony_ci		ranges;
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci		/*
3162306a36Sopenharmony_ci		 * The PSCI firmware region depicted below is the default one
3262306a36Sopenharmony_ci		 * and should be updated by the bootloader.
3362306a36Sopenharmony_ci		 */
3462306a36Sopenharmony_ci		psci-area@4000000 {
3562306a36Sopenharmony_ci			reg = <0 0x4000000 0 0x200000>;
3662306a36Sopenharmony_ci			no-map;
3762306a36Sopenharmony_ci		};
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci		tee@4400000 {
4062306a36Sopenharmony_ci			reg = <0 0x4400000 0 0x1000000>;
4162306a36Sopenharmony_ci			no-map;
4262306a36Sopenharmony_ci		};
4362306a36Sopenharmony_ci	};
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci	cpus {
4662306a36Sopenharmony_ci		#address-cells = <1>;
4762306a36Sopenharmony_ci		#size-cells = <0>;
4862306a36Sopenharmony_ci		cpu0: cpu@0 {
4962306a36Sopenharmony_ci			device_type = "cpu";
5062306a36Sopenharmony_ci			compatible = "arm,cortex-a53";
5162306a36Sopenharmony_ci			reg = <0>;
5262306a36Sopenharmony_ci			clocks = <&nb_periph_clk 16>;
5362306a36Sopenharmony_ci			enable-method = "psci";
5462306a36Sopenharmony_ci		};
5562306a36Sopenharmony_ci	};
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	psci {
5862306a36Sopenharmony_ci		compatible = "arm,psci-0.2";
5962306a36Sopenharmony_ci		method = "smc";
6062306a36Sopenharmony_ci	};
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci	timer {
6362306a36Sopenharmony_ci		compatible = "arm,armv8-timer";
6462306a36Sopenharmony_ci		interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>,
6562306a36Sopenharmony_ci			     <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>,
6662306a36Sopenharmony_ci			     <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>,
6762306a36Sopenharmony_ci			     <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>;
6862306a36Sopenharmony_ci	};
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci	pmu {
7162306a36Sopenharmony_ci		compatible = "arm,armv8-pmuv3";
7262306a36Sopenharmony_ci		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
7362306a36Sopenharmony_ci	};
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci	soc {
7662306a36Sopenharmony_ci		compatible = "simple-bus";
7762306a36Sopenharmony_ci		#address-cells = <2>;
7862306a36Sopenharmony_ci		#size-cells = <2>;
7962306a36Sopenharmony_ci		ranges;
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci		internal-regs@d0000000 {
8262306a36Sopenharmony_ci			#address-cells = <1>;
8362306a36Sopenharmony_ci			#size-cells = <1>;
8462306a36Sopenharmony_ci			compatible = "simple-bus";
8562306a36Sopenharmony_ci			/* 32M internal register @ 0xd000_0000 */
8662306a36Sopenharmony_ci			ranges = <0x0 0x0 0xd0000000 0x2000000>;
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci			wdt: watchdog@8300 {
8962306a36Sopenharmony_ci				compatible = "marvell,armada-3700-wdt";
9062306a36Sopenharmony_ci				reg = <0x8300 0x40>;
9162306a36Sopenharmony_ci				marvell,system-controller = <&cpu_misc>;
9262306a36Sopenharmony_ci				clocks = <&xtalclk>;
9362306a36Sopenharmony_ci			};
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci			cpu_misc: system-controller@d000 {
9662306a36Sopenharmony_ci				compatible = "marvell,armada-3700-cpu-misc",
9762306a36Sopenharmony_ci					     "syscon";
9862306a36Sopenharmony_ci				reg = <0xd000 0x1000>;
9962306a36Sopenharmony_ci			};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci			spi0: spi@10600 {
10262306a36Sopenharmony_ci				compatible = "marvell,armada-3700-spi";
10362306a36Sopenharmony_ci				#address-cells = <1>;
10462306a36Sopenharmony_ci				#size-cells = <0>;
10562306a36Sopenharmony_ci				reg = <0x10600 0xA00>;
10662306a36Sopenharmony_ci				clocks = <&nb_periph_clk 7>;
10762306a36Sopenharmony_ci				interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
10862306a36Sopenharmony_ci				num-cs = <4>;
10962306a36Sopenharmony_ci				status = "disabled";
11062306a36Sopenharmony_ci			};
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci			i2c0: i2c@11000 {
11362306a36Sopenharmony_ci				compatible = "marvell,armada-3700-i2c";
11462306a36Sopenharmony_ci				reg = <0x11000 0x24>;
11562306a36Sopenharmony_ci				#address-cells = <1>;
11662306a36Sopenharmony_ci				#size-cells = <0>;
11762306a36Sopenharmony_ci				clocks = <&nb_periph_clk 10>;
11862306a36Sopenharmony_ci				interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
11962306a36Sopenharmony_ci				mrvl,i2c-fast-mode;
12062306a36Sopenharmony_ci				status = "disabled";
12162306a36Sopenharmony_ci			};
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci			i2c1: i2c@11080 {
12462306a36Sopenharmony_ci				compatible = "marvell,armada-3700-i2c";
12562306a36Sopenharmony_ci				reg = <0x11080 0x24>;
12662306a36Sopenharmony_ci				#address-cells = <1>;
12762306a36Sopenharmony_ci				#size-cells = <0>;
12862306a36Sopenharmony_ci				clocks = <&nb_periph_clk 9>;
12962306a36Sopenharmony_ci				interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
13062306a36Sopenharmony_ci				mrvl,i2c-fast-mode;
13162306a36Sopenharmony_ci				status = "disabled";
13262306a36Sopenharmony_ci			};
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci			avs: avs@11500 {
13562306a36Sopenharmony_ci				compatible = "marvell,armada-3700-avs",
13662306a36Sopenharmony_ci					     "syscon";
13762306a36Sopenharmony_ci				reg = <0x11500 0x40>;
13862306a36Sopenharmony_ci			};
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_ci			uartclk: clock-controller@12010 {
14162306a36Sopenharmony_ci				compatible = "marvell,armada-3700-uart-clock";
14262306a36Sopenharmony_ci				reg = <0x12010 0x4>, <0x12210 0x4>;
14362306a36Sopenharmony_ci				clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>,
14462306a36Sopenharmony_ci					 <&tbg 3>, <&xtalclk>;
14562306a36Sopenharmony_ci				clock-names = "TBG-A-P", "TBG-B-P", "TBG-A-S",
14662306a36Sopenharmony_ci					      "TBG-B-S", "xtal";
14762306a36Sopenharmony_ci				#clock-cells = <1>;
14862306a36Sopenharmony_ci			};
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci			uart0: serial@12000 {
15162306a36Sopenharmony_ci				compatible = "marvell,armada-3700-uart";
15262306a36Sopenharmony_ci				reg = <0x12000 0x18>;
15362306a36Sopenharmony_ci				clocks = <&uartclk 0>;
15462306a36Sopenharmony_ci				interrupts =
15562306a36Sopenharmony_ci				<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
15662306a36Sopenharmony_ci				<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
15762306a36Sopenharmony_ci				<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
15862306a36Sopenharmony_ci				interrupt-names = "uart-sum", "uart-tx", "uart-rx";
15962306a36Sopenharmony_ci				status = "disabled";
16062306a36Sopenharmony_ci			};
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci			uart1: serial@12200 {
16362306a36Sopenharmony_ci				compatible = "marvell,armada-3700-uart-ext";
16462306a36Sopenharmony_ci				reg = <0x12200 0x30>;
16562306a36Sopenharmony_ci				clocks = <&uartclk 1>;
16662306a36Sopenharmony_ci				interrupts =
16762306a36Sopenharmony_ci				<GIC_SPI 30 IRQ_TYPE_EDGE_RISING>,
16862306a36Sopenharmony_ci				<GIC_SPI 31 IRQ_TYPE_EDGE_RISING>;
16962306a36Sopenharmony_ci				interrupt-names = "uart-tx", "uart-rx";
17062306a36Sopenharmony_ci				status = "disabled";
17162306a36Sopenharmony_ci			};
17262306a36Sopenharmony_ci
17362306a36Sopenharmony_ci			nb_periph_clk: nb-periph-clk@13000 {
17462306a36Sopenharmony_ci				compatible = "marvell,armada-3700-periph-clock-nb",
17562306a36Sopenharmony_ci					     "syscon";
17662306a36Sopenharmony_ci				reg = <0x13000 0x100>;
17762306a36Sopenharmony_ci				clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>,
17862306a36Sopenharmony_ci				<&tbg 3>, <&xtalclk>;
17962306a36Sopenharmony_ci				#clock-cells = <1>;
18062306a36Sopenharmony_ci			};
18162306a36Sopenharmony_ci
18262306a36Sopenharmony_ci			sb_periph_clk: sb-periph-clk@18000 {
18362306a36Sopenharmony_ci				compatible = "marvell,armada-3700-periph-clock-sb";
18462306a36Sopenharmony_ci				reg = <0x18000 0x100>;
18562306a36Sopenharmony_ci				clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>,
18662306a36Sopenharmony_ci				<&tbg 3>, <&xtalclk>;
18762306a36Sopenharmony_ci				#clock-cells = <1>;
18862306a36Sopenharmony_ci			};
18962306a36Sopenharmony_ci
19062306a36Sopenharmony_ci			tbg: tbg@13200 {
19162306a36Sopenharmony_ci				compatible = "marvell,armada-3700-tbg-clock";
19262306a36Sopenharmony_ci				reg = <0x13200 0x100>;
19362306a36Sopenharmony_ci				clocks = <&xtalclk>;
19462306a36Sopenharmony_ci				#clock-cells = <1>;
19562306a36Sopenharmony_ci			};
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ci			pinctrl_nb: pinctrl@13800 {
19862306a36Sopenharmony_ci				compatible = "marvell,armada3710-nb-pinctrl",
19962306a36Sopenharmony_ci					     "syscon", "simple-mfd";
20062306a36Sopenharmony_ci				reg = <0x13800 0x100>, <0x13C00 0x20>;
20162306a36Sopenharmony_ci				/* MPP1[19:0] */
20262306a36Sopenharmony_ci				gpionb: gpio {
20362306a36Sopenharmony_ci					#gpio-cells = <2>;
20462306a36Sopenharmony_ci					gpio-ranges = <&pinctrl_nb 0 0 36>;
20562306a36Sopenharmony_ci					gpio-controller;
20662306a36Sopenharmony_ci					interrupt-controller;
20762306a36Sopenharmony_ci					#interrupt-cells = <2>;
20862306a36Sopenharmony_ci					interrupts =
20962306a36Sopenharmony_ci					<GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>,
21062306a36Sopenharmony_ci					<GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
21162306a36Sopenharmony_ci					<GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
21262306a36Sopenharmony_ci					<GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
21362306a36Sopenharmony_ci					<GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
21462306a36Sopenharmony_ci					<GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
21562306a36Sopenharmony_ci					<GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
21662306a36Sopenharmony_ci					<GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
21762306a36Sopenharmony_ci					<GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>,
21862306a36Sopenharmony_ci					<GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>,
21962306a36Sopenharmony_ci					<GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>,
22062306a36Sopenharmony_ci					<GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>;
22162306a36Sopenharmony_ci				};
22262306a36Sopenharmony_ci
22362306a36Sopenharmony_ci				xtalclk: xtal-clk {
22462306a36Sopenharmony_ci					compatible = "marvell,armada-3700-xtal-clock";
22562306a36Sopenharmony_ci					clock-output-names = "xtal";
22662306a36Sopenharmony_ci					#clock-cells = <0>;
22762306a36Sopenharmony_ci				};
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci				spi_quad_pins: spi-quad-pins {
23062306a36Sopenharmony_ci					groups = "spi_quad";
23162306a36Sopenharmony_ci					function = "spi";
23262306a36Sopenharmony_ci				};
23362306a36Sopenharmony_ci
23462306a36Sopenharmony_ci				spi_cs1_pins: spi-cs1-pins {
23562306a36Sopenharmony_ci					groups = "spi_cs1";
23662306a36Sopenharmony_ci					function = "spi";
23762306a36Sopenharmony_ci				};
23862306a36Sopenharmony_ci
23962306a36Sopenharmony_ci				i2c1_pins: i2c1-pins {
24062306a36Sopenharmony_ci					groups = "i2c1";
24162306a36Sopenharmony_ci					function = "i2c";
24262306a36Sopenharmony_ci				};
24362306a36Sopenharmony_ci
24462306a36Sopenharmony_ci				i2c2_pins: i2c2-pins {
24562306a36Sopenharmony_ci					groups = "i2c2";
24662306a36Sopenharmony_ci					function = "i2c";
24762306a36Sopenharmony_ci				};
24862306a36Sopenharmony_ci
24962306a36Sopenharmony_ci				uart1_pins: uart1-pins {
25062306a36Sopenharmony_ci					groups = "uart1";
25162306a36Sopenharmony_ci					function = "uart";
25262306a36Sopenharmony_ci				};
25362306a36Sopenharmony_ci
25462306a36Sopenharmony_ci				uart2_pins: uart2-pins {
25562306a36Sopenharmony_ci					groups = "uart2";
25662306a36Sopenharmony_ci					function = "uart";
25762306a36Sopenharmony_ci				};
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_ci				mmc_pins: mmc-pins {
26062306a36Sopenharmony_ci					groups = "emmc_nb";
26162306a36Sopenharmony_ci					function = "emmc";
26262306a36Sopenharmony_ci				};
26362306a36Sopenharmony_ci			};
26462306a36Sopenharmony_ci
26562306a36Sopenharmony_ci			nb_pm: syscon@14000 {
26662306a36Sopenharmony_ci				compatible = "marvell,armada-3700-nb-pm",
26762306a36Sopenharmony_ci					     "syscon";
26862306a36Sopenharmony_ci				reg = <0x14000 0x60>;
26962306a36Sopenharmony_ci			};
27062306a36Sopenharmony_ci
27162306a36Sopenharmony_ci			comphy: phy@18300 {
27262306a36Sopenharmony_ci				compatible = "marvell,comphy-a3700";
27362306a36Sopenharmony_ci				reg = <0x18300 0x300>,
27462306a36Sopenharmony_ci				      <0x1F000 0x400>,
27562306a36Sopenharmony_ci				      <0x5C000 0x400>,
27662306a36Sopenharmony_ci				      <0xe0178 0x8>;
27762306a36Sopenharmony_ci				reg-names = "comphy",
27862306a36Sopenharmony_ci					    "lane1_pcie_gbe",
27962306a36Sopenharmony_ci					    "lane0_usb3_gbe",
28062306a36Sopenharmony_ci					    "lane2_sata_usb3";
28162306a36Sopenharmony_ci				#address-cells = <1>;
28262306a36Sopenharmony_ci				#size-cells = <0>;
28362306a36Sopenharmony_ci				clocks = <&xtalclk>;
28462306a36Sopenharmony_ci				clock-names = "xtal";
28562306a36Sopenharmony_ci
28662306a36Sopenharmony_ci				comphy0: phy@0 {
28762306a36Sopenharmony_ci					reg = <0>;
28862306a36Sopenharmony_ci					#phy-cells = <1>;
28962306a36Sopenharmony_ci				};
29062306a36Sopenharmony_ci
29162306a36Sopenharmony_ci				comphy1: phy@1 {
29262306a36Sopenharmony_ci					reg = <1>;
29362306a36Sopenharmony_ci					#phy-cells = <1>;
29462306a36Sopenharmony_ci				};
29562306a36Sopenharmony_ci
29662306a36Sopenharmony_ci				comphy2: phy@2 {
29762306a36Sopenharmony_ci					reg = <2>;
29862306a36Sopenharmony_ci					#phy-cells = <1>;
29962306a36Sopenharmony_ci				};
30062306a36Sopenharmony_ci			};
30162306a36Sopenharmony_ci
30262306a36Sopenharmony_ci			pinctrl_sb: pinctrl@18800 {
30362306a36Sopenharmony_ci				compatible = "marvell,armada3710-sb-pinctrl",
30462306a36Sopenharmony_ci					     "syscon", "simple-mfd";
30562306a36Sopenharmony_ci				reg = <0x18800 0x100>, <0x18C00 0x20>;
30662306a36Sopenharmony_ci				/* MPP2[23:0] */
30762306a36Sopenharmony_ci				gpiosb: gpio {
30862306a36Sopenharmony_ci					#gpio-cells = <2>;
30962306a36Sopenharmony_ci					gpio-ranges = <&pinctrl_sb 0 0 30>;
31062306a36Sopenharmony_ci					gpio-controller;
31162306a36Sopenharmony_ci					interrupt-controller;
31262306a36Sopenharmony_ci					#interrupt-cells = <2>;
31362306a36Sopenharmony_ci					interrupts =
31462306a36Sopenharmony_ci					<GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
31562306a36Sopenharmony_ci					<GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>,
31662306a36Sopenharmony_ci					<GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>,
31762306a36Sopenharmony_ci					<GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
31862306a36Sopenharmony_ci					<GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>;
31962306a36Sopenharmony_ci				};
32062306a36Sopenharmony_ci
32162306a36Sopenharmony_ci				rgmii_pins: mii-pins {
32262306a36Sopenharmony_ci					groups = "rgmii";
32362306a36Sopenharmony_ci					function = "mii";
32462306a36Sopenharmony_ci				};
32562306a36Sopenharmony_ci
32662306a36Sopenharmony_ci				smi_pins: smi-pins {
32762306a36Sopenharmony_ci					groups = "smi";
32862306a36Sopenharmony_ci					function = "smi";
32962306a36Sopenharmony_ci				};
33062306a36Sopenharmony_ci
33162306a36Sopenharmony_ci				sdio_pins: sdio-pins {
33262306a36Sopenharmony_ci					groups = "sdio_sb";
33362306a36Sopenharmony_ci					function = "sdio";
33462306a36Sopenharmony_ci				};
33562306a36Sopenharmony_ci
33662306a36Sopenharmony_ci				pcie_reset_pins: pcie-reset-pins {
33762306a36Sopenharmony_ci					groups = "pcie1"; /* this actually controls "pcie1_reset" */
33862306a36Sopenharmony_ci					function = "gpio";
33962306a36Sopenharmony_ci				};
34062306a36Sopenharmony_ci
34162306a36Sopenharmony_ci				pcie_clkreq_pins: pcie-clkreq-pins {
34262306a36Sopenharmony_ci					groups = "pcie1_clkreq";
34362306a36Sopenharmony_ci					function = "pcie";
34462306a36Sopenharmony_ci				};
34562306a36Sopenharmony_ci			};
34662306a36Sopenharmony_ci
34762306a36Sopenharmony_ci			eth0: ethernet@30000 {
34862306a36Sopenharmony_ci				   compatible = "marvell,armada-3700-neta";
34962306a36Sopenharmony_ci				   reg = <0x30000 0x4000>;
35062306a36Sopenharmony_ci				   interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
35162306a36Sopenharmony_ci				   clocks = <&sb_periph_clk 8>;
35262306a36Sopenharmony_ci				   status = "disabled";
35362306a36Sopenharmony_ci			};
35462306a36Sopenharmony_ci
35562306a36Sopenharmony_ci			mdio: mdio@32004 {
35662306a36Sopenharmony_ci				#address-cells = <1>;
35762306a36Sopenharmony_ci				#size-cells = <0>;
35862306a36Sopenharmony_ci				compatible = "marvell,orion-mdio";
35962306a36Sopenharmony_ci				reg = <0x32004 0x4>;
36062306a36Sopenharmony_ci			};
36162306a36Sopenharmony_ci
36262306a36Sopenharmony_ci			eth1: ethernet@40000 {
36362306a36Sopenharmony_ci				compatible = "marvell,armada-3700-neta";
36462306a36Sopenharmony_ci				reg = <0x40000 0x4000>;
36562306a36Sopenharmony_ci				interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
36662306a36Sopenharmony_ci				clocks = <&sb_periph_clk 7>;
36762306a36Sopenharmony_ci				status = "disabled";
36862306a36Sopenharmony_ci			};
36962306a36Sopenharmony_ci
37062306a36Sopenharmony_ci			usb3: usb@58000 {
37162306a36Sopenharmony_ci				compatible = "marvell,armada3700-xhci",
37262306a36Sopenharmony_ci				"generic-xhci";
37362306a36Sopenharmony_ci				reg = <0x58000 0x4000>;
37462306a36Sopenharmony_ci				marvell,usb-misc-reg = <&usb32_syscon>;
37562306a36Sopenharmony_ci				interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
37662306a36Sopenharmony_ci				clocks = <&sb_periph_clk 12>;
37762306a36Sopenharmony_ci				phys = <&comphy0 0>, <&usb2_utmi_otg_phy>;
37862306a36Sopenharmony_ci				phy-names = "usb3-phy", "usb2-utmi-otg-phy";
37962306a36Sopenharmony_ci				status = "disabled";
38062306a36Sopenharmony_ci			};
38162306a36Sopenharmony_ci
38262306a36Sopenharmony_ci			usb2_utmi_otg_phy: phy@5d000 {
38362306a36Sopenharmony_ci				compatible = "marvell,a3700-utmi-otg-phy";
38462306a36Sopenharmony_ci				reg = <0x5d000 0x800>;
38562306a36Sopenharmony_ci				marvell,usb-misc-reg = <&usb32_syscon>;
38662306a36Sopenharmony_ci				#phy-cells = <0>;
38762306a36Sopenharmony_ci			};
38862306a36Sopenharmony_ci
38962306a36Sopenharmony_ci			usb32_syscon: system-controller@5d800 {
39062306a36Sopenharmony_ci				compatible = "marvell,armada-3700-usb2-host-device-misc",
39162306a36Sopenharmony_ci				"syscon";
39262306a36Sopenharmony_ci				reg = <0x5d800 0x800>;
39362306a36Sopenharmony_ci			};
39462306a36Sopenharmony_ci
39562306a36Sopenharmony_ci			usb2: usb@5e000 {
39662306a36Sopenharmony_ci				compatible = "marvell,armada-3700-ehci";
39762306a36Sopenharmony_ci				reg = <0x5e000 0x1000>;
39862306a36Sopenharmony_ci				marvell,usb-misc-reg = <&usb2_syscon>;
39962306a36Sopenharmony_ci				interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
40062306a36Sopenharmony_ci				phys = <&usb2_utmi_host_phy>;
40162306a36Sopenharmony_ci				phy-names = "usb2-utmi-host-phy";
40262306a36Sopenharmony_ci				status = "disabled";
40362306a36Sopenharmony_ci			};
40462306a36Sopenharmony_ci
40562306a36Sopenharmony_ci			usb2_utmi_host_phy: phy@5f000 {
40662306a36Sopenharmony_ci				compatible = "marvell,a3700-utmi-host-phy";
40762306a36Sopenharmony_ci				reg = <0x5f000 0x800>;
40862306a36Sopenharmony_ci				marvell,usb-misc-reg = <&usb2_syscon>;
40962306a36Sopenharmony_ci				#phy-cells = <0>;
41062306a36Sopenharmony_ci			};
41162306a36Sopenharmony_ci
41262306a36Sopenharmony_ci			usb2_syscon: system-controller@5f800 {
41362306a36Sopenharmony_ci				compatible = "marvell,armada-3700-usb2-host-misc",
41462306a36Sopenharmony_ci				"syscon";
41562306a36Sopenharmony_ci				reg = <0x5f800 0x800>;
41662306a36Sopenharmony_ci			};
41762306a36Sopenharmony_ci
41862306a36Sopenharmony_ci			xor@60900 {
41962306a36Sopenharmony_ci				compatible = "marvell,armada-3700-xor";
42062306a36Sopenharmony_ci				reg = <0x60900 0x100>,
42162306a36Sopenharmony_ci				      <0x60b00 0x100>;
42262306a36Sopenharmony_ci
42362306a36Sopenharmony_ci				xor10 {
42462306a36Sopenharmony_ci					interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
42562306a36Sopenharmony_ci				};
42662306a36Sopenharmony_ci				xor11 {
42762306a36Sopenharmony_ci					interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
42862306a36Sopenharmony_ci				};
42962306a36Sopenharmony_ci			};
43062306a36Sopenharmony_ci
43162306a36Sopenharmony_ci			crypto: crypto@90000 {
43262306a36Sopenharmony_ci				compatible = "inside-secure,safexcel-eip97ies";
43362306a36Sopenharmony_ci				reg = <0x90000 0x20000>;
43462306a36Sopenharmony_ci				interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
43562306a36Sopenharmony_ci					     <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
43662306a36Sopenharmony_ci					     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
43762306a36Sopenharmony_ci					     <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
43862306a36Sopenharmony_ci					     <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
43962306a36Sopenharmony_ci					     <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
44062306a36Sopenharmony_ci				interrupt-names = "ring0", "ring1", "ring2",
44162306a36Sopenharmony_ci						  "ring3", "eip", "mem";
44262306a36Sopenharmony_ci				clocks = <&nb_periph_clk 15>;
44362306a36Sopenharmony_ci			};
44462306a36Sopenharmony_ci
44562306a36Sopenharmony_ci			rwtm: mailbox@b0000 {
44662306a36Sopenharmony_ci				compatible = "marvell,armada-3700-rwtm-mailbox";
44762306a36Sopenharmony_ci				reg = <0xb0000 0x100>;
44862306a36Sopenharmony_ci				interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
44962306a36Sopenharmony_ci				#mbox-cells = <1>;
45062306a36Sopenharmony_ci			};
45162306a36Sopenharmony_ci
45262306a36Sopenharmony_ci			sdhci1: mmc@d0000 {
45362306a36Sopenharmony_ci				compatible = "marvell,armada-3700-sdhci",
45462306a36Sopenharmony_ci					     "marvell,sdhci-xenon";
45562306a36Sopenharmony_ci				reg = <0xd0000 0x300>,
45662306a36Sopenharmony_ci				      <0x1e808 0x4>;
45762306a36Sopenharmony_ci				interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
45862306a36Sopenharmony_ci				clocks = <&nb_periph_clk 0>;
45962306a36Sopenharmony_ci				clock-names = "core";
46062306a36Sopenharmony_ci				status = "disabled";
46162306a36Sopenharmony_ci			};
46262306a36Sopenharmony_ci
46362306a36Sopenharmony_ci			sdhci0: mmc@d8000 {
46462306a36Sopenharmony_ci				compatible = "marvell,armada-3700-sdhci",
46562306a36Sopenharmony_ci					     "marvell,sdhci-xenon";
46662306a36Sopenharmony_ci				reg = <0xd8000 0x300>,
46762306a36Sopenharmony_ci				      <0x17808 0x4>;
46862306a36Sopenharmony_ci				interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
46962306a36Sopenharmony_ci				clocks = <&nb_periph_clk 0>;
47062306a36Sopenharmony_ci				clock-names = "core";
47162306a36Sopenharmony_ci				status = "disabled";
47262306a36Sopenharmony_ci			};
47362306a36Sopenharmony_ci
47462306a36Sopenharmony_ci			sata: sata@e0000 {
47562306a36Sopenharmony_ci				compatible = "marvell,armada-3700-ahci";
47662306a36Sopenharmony_ci				reg = <0xe0000 0x178>;
47762306a36Sopenharmony_ci				interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
47862306a36Sopenharmony_ci				clocks = <&nb_periph_clk 1>;
47962306a36Sopenharmony_ci				phys = <&comphy2 0>;
48062306a36Sopenharmony_ci				phy-names = "sata-phy";
48162306a36Sopenharmony_ci				status = "disabled";
48262306a36Sopenharmony_ci			};
48362306a36Sopenharmony_ci
48462306a36Sopenharmony_ci			gic: interrupt-controller@1d00000 {
48562306a36Sopenharmony_ci				compatible = "arm,gic-v3";
48662306a36Sopenharmony_ci				#interrupt-cells = <3>;
48762306a36Sopenharmony_ci				interrupt-controller;
48862306a36Sopenharmony_ci				reg = <0x1d00000 0x10000>, /* GICD */
48962306a36Sopenharmony_ci				      <0x1d40000 0x40000>, /* GICR */
49062306a36Sopenharmony_ci				      <0x1d80000 0x2000>,  /* GICC */
49162306a36Sopenharmony_ci				      <0x1d90000 0x2000>,  /* GICH */
49262306a36Sopenharmony_ci				      <0x1da0000 0x20000>; /* GICV */
49362306a36Sopenharmony_ci				interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
49462306a36Sopenharmony_ci			};
49562306a36Sopenharmony_ci		};
49662306a36Sopenharmony_ci
49762306a36Sopenharmony_ci		pcie0: pcie@d0070000 {
49862306a36Sopenharmony_ci			compatible = "marvell,armada-3700-pcie";
49962306a36Sopenharmony_ci			device_type = "pci";
50062306a36Sopenharmony_ci			status = "disabled";
50162306a36Sopenharmony_ci			reg = <0 0xd0070000 0 0x20000>;
50262306a36Sopenharmony_ci			#address-cells = <3>;
50362306a36Sopenharmony_ci			#size-cells = <2>;
50462306a36Sopenharmony_ci			bus-range = <0x00 0xff>;
50562306a36Sopenharmony_ci			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
50662306a36Sopenharmony_ci			#interrupt-cells = <1>;
50762306a36Sopenharmony_ci			clocks = <&sb_periph_clk 13>;
50862306a36Sopenharmony_ci			msi-parent = <&pcie0>;
50962306a36Sopenharmony_ci			msi-controller;
51062306a36Sopenharmony_ci			/*
51162306a36Sopenharmony_ci			 * The 128 MiB address range [0xe8000000-0xf0000000] is
51262306a36Sopenharmony_ci			 * dedicated for PCIe and can be assigned to 8 windows
51362306a36Sopenharmony_ci			 * with size a power of two. Use one 64 KiB window for
51462306a36Sopenharmony_ci			 * IO at the end and the remaining seven windows
51562306a36Sopenharmony_ci			 * (totaling 127 MiB) for MEM.
51662306a36Sopenharmony_ci			 */
51762306a36Sopenharmony_ci			ranges = <0x82000000 0 0xe8000000   0 0xe8000000   0 0x07f00000   /* Port 0 MEM */
51862306a36Sopenharmony_ci				  0x81000000 0 0x00000000   0 0xefff0000   0 0x00010000>; /* Port 0 IO */
51962306a36Sopenharmony_ci			interrupt-map-mask = <0 0 0 7>;
52062306a36Sopenharmony_ci			interrupt-map = <0 0 0 1 &pcie_intc 0>,
52162306a36Sopenharmony_ci					<0 0 0 2 &pcie_intc 1>,
52262306a36Sopenharmony_ci					<0 0 0 3 &pcie_intc 2>,
52362306a36Sopenharmony_ci					<0 0 0 4 &pcie_intc 3>;
52462306a36Sopenharmony_ci			max-link-speed = <2>;
52562306a36Sopenharmony_ci			phys = <&comphy1 0>;
52662306a36Sopenharmony_ci			pcie_intc: interrupt-controller {
52762306a36Sopenharmony_ci				interrupt-controller;
52862306a36Sopenharmony_ci				#interrupt-cells = <1>;
52962306a36Sopenharmony_ci			};
53062306a36Sopenharmony_ci		};
53162306a36Sopenharmony_ci	};
53262306a36Sopenharmony_ci
53362306a36Sopenharmony_ci	firmware {
53462306a36Sopenharmony_ci		armada-3700-rwtm {
53562306a36Sopenharmony_ci			compatible = "marvell,armada-3700-rwtm-firmware";
53662306a36Sopenharmony_ci			mboxes = <&rwtm 0>;
53762306a36Sopenharmony_ci			status = "okay";
53862306a36Sopenharmony_ci		};
53962306a36Sopenharmony_ci	};
54062306a36Sopenharmony_ci};
541