162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2016 Marvell Technology Group Ltd.
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Device Tree file for Marvell Armada CP11x.
662306a36Sopenharmony_ci */
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/mvebu-icu.h>
962306a36Sopenharmony_ci#include <dt-bindings/thermal/thermal.h>
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#include "armada-common.dtsi"
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci#define CP11X_PCIEx_CONF_BASE(iface)	(CP11X_PCIEx_MEM_BASE(iface) + CP11X_PCIEx_MEM_SIZE(iface))
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci/ {
1662306a36Sopenharmony_ci	/*
1762306a36Sopenharmony_ci	 * The contents of the node are defined below, in order to
1862306a36Sopenharmony_ci	 * save one indentation level
1962306a36Sopenharmony_ci	 */
2062306a36Sopenharmony_ci	CP11X_NAME: CP11X_NAME { };
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	/*
2362306a36Sopenharmony_ci	 * CPs only have one sensor in the thermal IC.
2462306a36Sopenharmony_ci	 *
2562306a36Sopenharmony_ci	 * The cooling maps are empty as there are no cooling devices.
2662306a36Sopenharmony_ci	 */
2762306a36Sopenharmony_ci	thermal-zones {
2862306a36Sopenharmony_ci		CP11X_LABEL(thermal_ic): CP11X_NODE_NAME(ic-thermal) {
2962306a36Sopenharmony_ci			polling-delay-passive = <0>; /* Interrupt driven */
3062306a36Sopenharmony_ci			polling-delay = <0>; /* Interrupt driven */
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci			thermal-sensors = <&CP11X_LABEL(thermal) 0>;
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci			trips {
3562306a36Sopenharmony_ci				CP11X_LABEL(crit): crit {
3662306a36Sopenharmony_ci					temperature = <100000>; /* mC degrees */
3762306a36Sopenharmony_ci					hysteresis = <2000>; /* mC degrees */
3862306a36Sopenharmony_ci					type = "critical";
3962306a36Sopenharmony_ci				};
4062306a36Sopenharmony_ci			};
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci			cooling-maps { };
4362306a36Sopenharmony_ci		};
4462306a36Sopenharmony_ci	};
4562306a36Sopenharmony_ci};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci&CP11X_NAME {
4862306a36Sopenharmony_ci	#address-cells = <2>;
4962306a36Sopenharmony_ci	#size-cells = <2>;
5062306a36Sopenharmony_ci	compatible = "simple-bus";
5162306a36Sopenharmony_ci	interrupt-parent = <&CP11X_LABEL(icu_nsr)>;
5262306a36Sopenharmony_ci	ranges;
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci	config-space@CP11X_BASE {
5562306a36Sopenharmony_ci		#address-cells = <1>;
5662306a36Sopenharmony_ci		#size-cells = <1>;
5762306a36Sopenharmony_ci		compatible = "simple-bus";
5862306a36Sopenharmony_ci		ranges = <0x0 0x0 ADDRESSIFY(CP11X_BASE) 0x2000000>;
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci		CP11X_LABEL(ethernet): ethernet@0 {
6162306a36Sopenharmony_ci			#address-cells = <1>;
6262306a36Sopenharmony_ci			#size-cells = <0>;
6362306a36Sopenharmony_ci			compatible = "marvell,armada-7k-pp22";
6462306a36Sopenharmony_ci			reg = <0x0 0x100000>, <0x129000 0xb000>, <0x220000 0x800>;
6562306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 3>, <&CP11X_LABEL(clk) 1 9>,
6662306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 5>, <&CP11X_LABEL(clk) 1 6>,
6762306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 18>;
6862306a36Sopenharmony_ci			clock-names = "pp_clk", "gop_clk",
6962306a36Sopenharmony_ci				      "mg_clk", "mg_core_clk", "axi_clk";
7062306a36Sopenharmony_ci			marvell,system-controller = <&CP11X_LABEL(syscon0)>;
7162306a36Sopenharmony_ci			status = "disabled";
7262306a36Sopenharmony_ci			dma-coherent;
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci			CP11X_LABEL(eth0): ethernet-port@0 {
7562306a36Sopenharmony_ci				interrupts = <39 IRQ_TYPE_LEVEL_HIGH>,
7662306a36Sopenharmony_ci					<43 IRQ_TYPE_LEVEL_HIGH>,
7762306a36Sopenharmony_ci					<47 IRQ_TYPE_LEVEL_HIGH>,
7862306a36Sopenharmony_ci					<51 IRQ_TYPE_LEVEL_HIGH>,
7962306a36Sopenharmony_ci					<55 IRQ_TYPE_LEVEL_HIGH>,
8062306a36Sopenharmony_ci					<59 IRQ_TYPE_LEVEL_HIGH>,
8162306a36Sopenharmony_ci					<63 IRQ_TYPE_LEVEL_HIGH>,
8262306a36Sopenharmony_ci					<67 IRQ_TYPE_LEVEL_HIGH>,
8362306a36Sopenharmony_ci					<71 IRQ_TYPE_LEVEL_HIGH>,
8462306a36Sopenharmony_ci					<129 IRQ_TYPE_LEVEL_HIGH>;
8562306a36Sopenharmony_ci				interrupt-names = "hif0", "hif1", "hif2",
8662306a36Sopenharmony_ci					"hif3", "hif4", "hif5", "hif6", "hif7",
8762306a36Sopenharmony_ci					"hif8", "link";
8862306a36Sopenharmony_ci				reg = <0>;
8962306a36Sopenharmony_ci				port-id = <0>; /* For backward compatibility. */
9062306a36Sopenharmony_ci				gop-port-id = <0>;
9162306a36Sopenharmony_ci				status = "disabled";
9262306a36Sopenharmony_ci			};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci			CP11X_LABEL(eth1): ethernet-port@1 {
9562306a36Sopenharmony_ci				interrupts = <40 IRQ_TYPE_LEVEL_HIGH>,
9662306a36Sopenharmony_ci					<44 IRQ_TYPE_LEVEL_HIGH>,
9762306a36Sopenharmony_ci					<48 IRQ_TYPE_LEVEL_HIGH>,
9862306a36Sopenharmony_ci					<52 IRQ_TYPE_LEVEL_HIGH>,
9962306a36Sopenharmony_ci					<56 IRQ_TYPE_LEVEL_HIGH>,
10062306a36Sopenharmony_ci					<60 IRQ_TYPE_LEVEL_HIGH>,
10162306a36Sopenharmony_ci					<64 IRQ_TYPE_LEVEL_HIGH>,
10262306a36Sopenharmony_ci					<68 IRQ_TYPE_LEVEL_HIGH>,
10362306a36Sopenharmony_ci					<72 IRQ_TYPE_LEVEL_HIGH>,
10462306a36Sopenharmony_ci					<128 IRQ_TYPE_LEVEL_HIGH>;
10562306a36Sopenharmony_ci				interrupt-names = "hif0", "hif1", "hif2",
10662306a36Sopenharmony_ci					"hif3", "hif4", "hif5", "hif6", "hif7",
10762306a36Sopenharmony_ci					"hif8", "link";
10862306a36Sopenharmony_ci				reg = <1>;
10962306a36Sopenharmony_ci				port-id = <1>; /* For backward compatibility. */
11062306a36Sopenharmony_ci				gop-port-id = <2>;
11162306a36Sopenharmony_ci				status = "disabled";
11262306a36Sopenharmony_ci			};
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci			CP11X_LABEL(eth2): ethernet-port@2 {
11562306a36Sopenharmony_ci				interrupts = <41 IRQ_TYPE_LEVEL_HIGH>,
11662306a36Sopenharmony_ci					<45 IRQ_TYPE_LEVEL_HIGH>,
11762306a36Sopenharmony_ci					<49 IRQ_TYPE_LEVEL_HIGH>,
11862306a36Sopenharmony_ci					<53 IRQ_TYPE_LEVEL_HIGH>,
11962306a36Sopenharmony_ci					<57 IRQ_TYPE_LEVEL_HIGH>,
12062306a36Sopenharmony_ci					<61 IRQ_TYPE_LEVEL_HIGH>,
12162306a36Sopenharmony_ci					<65 IRQ_TYPE_LEVEL_HIGH>,
12262306a36Sopenharmony_ci					<69 IRQ_TYPE_LEVEL_HIGH>,
12362306a36Sopenharmony_ci					<73 IRQ_TYPE_LEVEL_HIGH>,
12462306a36Sopenharmony_ci					<127 IRQ_TYPE_LEVEL_HIGH>;
12562306a36Sopenharmony_ci				interrupt-names = "hif0", "hif1", "hif2",
12662306a36Sopenharmony_ci					"hif3", "hif4", "hif5", "hif6", "hif7",
12762306a36Sopenharmony_ci					"hif8", "link";
12862306a36Sopenharmony_ci				reg = <2>;
12962306a36Sopenharmony_ci				port-id = <2>; /* For backward compatibility. */
13062306a36Sopenharmony_ci				gop-port-id = <3>;
13162306a36Sopenharmony_ci				status = "disabled";
13262306a36Sopenharmony_ci			};
13362306a36Sopenharmony_ci		};
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci		CP11X_LABEL(comphy): phy@120000 {
13662306a36Sopenharmony_ci			compatible = "marvell,comphy-cp110";
13762306a36Sopenharmony_ci			reg = <0x120000 0x6000>;
13862306a36Sopenharmony_ci			marvell,system-controller = <&CP11X_LABEL(syscon0)>;
13962306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 5>, <&CP11X_LABEL(clk) 1 6>,
14062306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 18>;
14162306a36Sopenharmony_ci			clock-names = "mg_clk", "mg_core_clk", "axi_clk";
14262306a36Sopenharmony_ci			#address-cells = <1>;
14362306a36Sopenharmony_ci			#size-cells = <0>;
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci			CP11X_LABEL(comphy0): phy@0 {
14662306a36Sopenharmony_ci				reg = <0>;
14762306a36Sopenharmony_ci				#phy-cells = <1>;
14862306a36Sopenharmony_ci			};
14962306a36Sopenharmony_ci
15062306a36Sopenharmony_ci			CP11X_LABEL(comphy1): phy@1 {
15162306a36Sopenharmony_ci				reg = <1>;
15262306a36Sopenharmony_ci				#phy-cells = <1>;
15362306a36Sopenharmony_ci			};
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ci			CP11X_LABEL(comphy2): phy@2 {
15662306a36Sopenharmony_ci				reg = <2>;
15762306a36Sopenharmony_ci				#phy-cells = <1>;
15862306a36Sopenharmony_ci			};
15962306a36Sopenharmony_ci
16062306a36Sopenharmony_ci			CP11X_LABEL(comphy3): phy@3 {
16162306a36Sopenharmony_ci				reg = <3>;
16262306a36Sopenharmony_ci				#phy-cells = <1>;
16362306a36Sopenharmony_ci			};
16462306a36Sopenharmony_ci
16562306a36Sopenharmony_ci			CP11X_LABEL(comphy4): phy@4 {
16662306a36Sopenharmony_ci				reg = <4>;
16762306a36Sopenharmony_ci				#phy-cells = <1>;
16862306a36Sopenharmony_ci			};
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ci			CP11X_LABEL(comphy5): phy@5 {
17162306a36Sopenharmony_ci				reg = <5>;
17262306a36Sopenharmony_ci				#phy-cells = <1>;
17362306a36Sopenharmony_ci			};
17462306a36Sopenharmony_ci		};
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci		CP11X_LABEL(mdio): mdio@12a200 {
17762306a36Sopenharmony_ci			#address-cells = <1>;
17862306a36Sopenharmony_ci			#size-cells = <0>;
17962306a36Sopenharmony_ci			compatible = "marvell,orion-mdio";
18062306a36Sopenharmony_ci			reg = <0x12a200 0x10>;
18162306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 9>, <&CP11X_LABEL(clk) 1 5>,
18262306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 6>, <&CP11X_LABEL(clk) 1 18>;
18362306a36Sopenharmony_ci			status = "disabled";
18462306a36Sopenharmony_ci		};
18562306a36Sopenharmony_ci
18662306a36Sopenharmony_ci		CP11X_LABEL(xmdio): mdio@12a600 {
18762306a36Sopenharmony_ci			#address-cells = <1>;
18862306a36Sopenharmony_ci			#size-cells = <0>;
18962306a36Sopenharmony_ci			compatible = "marvell,xmdio";
19062306a36Sopenharmony_ci			reg = <0x12a600 0x10>;
19162306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 5>,
19262306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 6>, <&CP11X_LABEL(clk) 1 18>;
19362306a36Sopenharmony_ci			status = "disabled";
19462306a36Sopenharmony_ci		};
19562306a36Sopenharmony_ci
19662306a36Sopenharmony_ci		CP11X_LABEL(icu): interrupt-controller@1e0000 {
19762306a36Sopenharmony_ci			compatible = "marvell,cp110-icu";
19862306a36Sopenharmony_ci			reg = <0x1e0000 0x440>;
19962306a36Sopenharmony_ci			#address-cells = <1>;
20062306a36Sopenharmony_ci			#size-cells = <1>;
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ci			CP11X_LABEL(icu_nsr): interrupt-controller@10 {
20362306a36Sopenharmony_ci				compatible = "marvell,cp110-icu-nsr";
20462306a36Sopenharmony_ci				reg = <0x10 0x20>;
20562306a36Sopenharmony_ci				#interrupt-cells = <2>;
20662306a36Sopenharmony_ci				interrupt-controller;
20762306a36Sopenharmony_ci				msi-parent = <&gicp>;
20862306a36Sopenharmony_ci			};
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci			CP11X_LABEL(icu_sei): interrupt-controller@50 {
21162306a36Sopenharmony_ci				compatible = "marvell,cp110-icu-sei";
21262306a36Sopenharmony_ci				reg = <0x50 0x10>;
21362306a36Sopenharmony_ci				#interrupt-cells = <2>;
21462306a36Sopenharmony_ci				interrupt-controller;
21562306a36Sopenharmony_ci				msi-parent = <&sei>;
21662306a36Sopenharmony_ci			};
21762306a36Sopenharmony_ci		};
21862306a36Sopenharmony_ci
21962306a36Sopenharmony_ci		CP11X_LABEL(rtc): rtc@284000 {
22062306a36Sopenharmony_ci			compatible = "marvell,armada-8k-rtc";
22162306a36Sopenharmony_ci			reg = <0x284000 0x20>, <0x284080 0x24>;
22262306a36Sopenharmony_ci			reg-names = "rtc", "rtc-soc";
22362306a36Sopenharmony_ci			interrupts = <77 IRQ_TYPE_LEVEL_HIGH>;
22462306a36Sopenharmony_ci		};
22562306a36Sopenharmony_ci
22662306a36Sopenharmony_ci		CP11X_LABEL(syscon0): system-controller@440000 {
22762306a36Sopenharmony_ci			compatible = "syscon", "simple-mfd";
22862306a36Sopenharmony_ci			reg = <0x440000 0x2000>;
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ci			CP11X_LABEL(clk): clock {
23162306a36Sopenharmony_ci				compatible = "marvell,cp110-clock";
23262306a36Sopenharmony_ci				#clock-cells = <2>;
23362306a36Sopenharmony_ci			};
23462306a36Sopenharmony_ci
23562306a36Sopenharmony_ci			CP11X_LABEL(gpio1): gpio@100 {
23662306a36Sopenharmony_ci				compatible = "marvell,armada-8k-gpio";
23762306a36Sopenharmony_ci				offset = <0x100>;
23862306a36Sopenharmony_ci				ngpios = <32>;
23962306a36Sopenharmony_ci				gpio-controller;
24062306a36Sopenharmony_ci				#gpio-cells = <2>;
24162306a36Sopenharmony_ci				gpio-ranges = <&CP11X_LABEL(pinctrl) 0 0 32>;
24262306a36Sopenharmony_ci				marvell,pwm-offset = <0x1f0>;
24362306a36Sopenharmony_ci				#pwm-cells = <2>;
24462306a36Sopenharmony_ci				interrupt-controller;
24562306a36Sopenharmony_ci				interrupts = <86 IRQ_TYPE_LEVEL_HIGH>,
24662306a36Sopenharmony_ci					<85 IRQ_TYPE_LEVEL_HIGH>,
24762306a36Sopenharmony_ci					<84 IRQ_TYPE_LEVEL_HIGH>,
24862306a36Sopenharmony_ci					<83 IRQ_TYPE_LEVEL_HIGH>;
24962306a36Sopenharmony_ci				#interrupt-cells = <2>;
25062306a36Sopenharmony_ci				clock-names = "core", "axi";
25162306a36Sopenharmony_ci				clocks = <&CP11X_LABEL(clk) 1 21>,
25262306a36Sopenharmony_ci					 <&CP11X_LABEL(clk) 1 17>;
25362306a36Sopenharmony_ci				status = "disabled";
25462306a36Sopenharmony_ci			};
25562306a36Sopenharmony_ci
25662306a36Sopenharmony_ci			CP11X_LABEL(gpio2): gpio@140 {
25762306a36Sopenharmony_ci				compatible = "marvell,armada-8k-gpio";
25862306a36Sopenharmony_ci				offset = <0x140>;
25962306a36Sopenharmony_ci				ngpios = <31>;
26062306a36Sopenharmony_ci				gpio-controller;
26162306a36Sopenharmony_ci				#gpio-cells = <2>;
26262306a36Sopenharmony_ci				gpio-ranges = <&CP11X_LABEL(pinctrl) 0 32 31>;
26362306a36Sopenharmony_ci				marvell,pwm-offset = <0x1f0>;
26462306a36Sopenharmony_ci				#pwm-cells = <2>;
26562306a36Sopenharmony_ci				interrupt-controller;
26662306a36Sopenharmony_ci				interrupts = <82 IRQ_TYPE_LEVEL_HIGH>,
26762306a36Sopenharmony_ci					<81 IRQ_TYPE_LEVEL_HIGH>,
26862306a36Sopenharmony_ci					<80 IRQ_TYPE_LEVEL_HIGH>,
26962306a36Sopenharmony_ci					<79 IRQ_TYPE_LEVEL_HIGH>;
27062306a36Sopenharmony_ci				#interrupt-cells = <2>;
27162306a36Sopenharmony_ci				clock-names = "core", "axi";
27262306a36Sopenharmony_ci				clocks = <&CP11X_LABEL(clk) 1 21>,
27362306a36Sopenharmony_ci					 <&CP11X_LABEL(clk) 1 17>;
27462306a36Sopenharmony_ci				status = "disabled";
27562306a36Sopenharmony_ci			};
27662306a36Sopenharmony_ci		};
27762306a36Sopenharmony_ci
27862306a36Sopenharmony_ci		CP11X_LABEL(syscon1): system-controller@400000 {
27962306a36Sopenharmony_ci			compatible = "syscon", "simple-mfd";
28062306a36Sopenharmony_ci			reg = <0x400000 0x1000>;
28162306a36Sopenharmony_ci			#address-cells = <1>;
28262306a36Sopenharmony_ci			#size-cells = <1>;
28362306a36Sopenharmony_ci
28462306a36Sopenharmony_ci			CP11X_LABEL(thermal): thermal-sensor@70 {
28562306a36Sopenharmony_ci				compatible = "marvell,armada-cp110-thermal";
28662306a36Sopenharmony_ci				reg = <0x70 0x10>;
28762306a36Sopenharmony_ci				interrupts-extended =
28862306a36Sopenharmony_ci					<&CP11X_LABEL(icu_sei) 116 IRQ_TYPE_LEVEL_HIGH>;
28962306a36Sopenharmony_ci				#thermal-sensor-cells = <1>;
29062306a36Sopenharmony_ci			};
29162306a36Sopenharmony_ci		};
29262306a36Sopenharmony_ci
29362306a36Sopenharmony_ci		CP11X_LABEL(utmi): utmi@580000 {
29462306a36Sopenharmony_ci			compatible = "marvell,cp110-utmi-phy";
29562306a36Sopenharmony_ci			reg = <0x580000 0x2000>;
29662306a36Sopenharmony_ci			marvell,system-controller = <&CP11X_LABEL(syscon0)>;
29762306a36Sopenharmony_ci			#address-cells = <1>;
29862306a36Sopenharmony_ci			#size-cells = <0>;
29962306a36Sopenharmony_ci			status = "disabled";
30062306a36Sopenharmony_ci
30162306a36Sopenharmony_ci			CP11X_LABEL(utmi0): usb-phy@0 {
30262306a36Sopenharmony_ci				reg = <0>;
30362306a36Sopenharmony_ci				#phy-cells = <0>;
30462306a36Sopenharmony_ci			};
30562306a36Sopenharmony_ci
30662306a36Sopenharmony_ci			CP11X_LABEL(utmi1): usb-phy@1 {
30762306a36Sopenharmony_ci				reg = <1>;
30862306a36Sopenharmony_ci				#phy-cells = <0>;
30962306a36Sopenharmony_ci			};
31062306a36Sopenharmony_ci		};
31162306a36Sopenharmony_ci
31262306a36Sopenharmony_ci		CP11X_LABEL(usb3_0): usb@500000 {
31362306a36Sopenharmony_ci			compatible = "marvell,armada-8k-xhci",
31462306a36Sopenharmony_ci			"generic-xhci";
31562306a36Sopenharmony_ci			reg = <0x500000 0x4000>;
31662306a36Sopenharmony_ci			dma-coherent;
31762306a36Sopenharmony_ci			interrupts = <106 IRQ_TYPE_LEVEL_HIGH>;
31862306a36Sopenharmony_ci			clock-names = "core", "reg";
31962306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 22>,
32062306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 16>;
32162306a36Sopenharmony_ci			status = "disabled";
32262306a36Sopenharmony_ci		};
32362306a36Sopenharmony_ci
32462306a36Sopenharmony_ci		CP11X_LABEL(usb3_1): usb@510000 {
32562306a36Sopenharmony_ci			compatible = "marvell,armada-8k-xhci",
32662306a36Sopenharmony_ci			"generic-xhci";
32762306a36Sopenharmony_ci			reg = <0x510000 0x4000>;
32862306a36Sopenharmony_ci			dma-coherent;
32962306a36Sopenharmony_ci			interrupts = <105 IRQ_TYPE_LEVEL_HIGH>;
33062306a36Sopenharmony_ci			clock-names = "core", "reg";
33162306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 23>,
33262306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 16>;
33362306a36Sopenharmony_ci			status = "disabled";
33462306a36Sopenharmony_ci		};
33562306a36Sopenharmony_ci
33662306a36Sopenharmony_ci		CP11X_LABEL(sata0): sata@540000 {
33762306a36Sopenharmony_ci			compatible = "marvell,armada-8k-ahci",
33862306a36Sopenharmony_ci			"generic-ahci";
33962306a36Sopenharmony_ci			reg = <0x540000 0x30000>;
34062306a36Sopenharmony_ci			dma-coherent;
34162306a36Sopenharmony_ci			interrupts = <107 IRQ_TYPE_LEVEL_HIGH>;
34262306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 15>,
34362306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 16>;
34462306a36Sopenharmony_ci			#address-cells = <1>;
34562306a36Sopenharmony_ci			#size-cells = <0>;
34662306a36Sopenharmony_ci			status = "disabled";
34762306a36Sopenharmony_ci
34862306a36Sopenharmony_ci			sata-port@0 {
34962306a36Sopenharmony_ci				reg = <0>;
35062306a36Sopenharmony_ci			};
35162306a36Sopenharmony_ci
35262306a36Sopenharmony_ci			sata-port@1 {
35362306a36Sopenharmony_ci				reg = <1>;
35462306a36Sopenharmony_ci			};
35562306a36Sopenharmony_ci		};
35662306a36Sopenharmony_ci
35762306a36Sopenharmony_ci		CP11X_LABEL(xor0): xor@6a0000 {
35862306a36Sopenharmony_ci			compatible = "marvell,armada-7k-xor", "marvell,xor-v2";
35962306a36Sopenharmony_ci			reg = <0x6a0000 0x1000>, <0x6b0000 0x1000>;
36062306a36Sopenharmony_ci			dma-coherent;
36162306a36Sopenharmony_ci			msi-parent = <&gic_v2m0>;
36262306a36Sopenharmony_ci			clock-names = "core", "reg";
36362306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 8>,
36462306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 14>;
36562306a36Sopenharmony_ci		};
36662306a36Sopenharmony_ci
36762306a36Sopenharmony_ci		CP11X_LABEL(xor1): xor@6c0000 {
36862306a36Sopenharmony_ci			compatible = "marvell,armada-7k-xor", "marvell,xor-v2";
36962306a36Sopenharmony_ci			reg = <0x6c0000 0x1000>, <0x6d0000 0x1000>;
37062306a36Sopenharmony_ci			dma-coherent;
37162306a36Sopenharmony_ci			msi-parent = <&gic_v2m0>;
37262306a36Sopenharmony_ci			clock-names = "core", "reg";
37362306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 7>,
37462306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 14>;
37562306a36Sopenharmony_ci		};
37662306a36Sopenharmony_ci
37762306a36Sopenharmony_ci		CP11X_LABEL(spi0): spi@700600 {
37862306a36Sopenharmony_ci			compatible = "marvell,armada-380-spi";
37962306a36Sopenharmony_ci			reg = <0x700600 0x50>;
38062306a36Sopenharmony_ci			#address-cells = <0x1>;
38162306a36Sopenharmony_ci			#size-cells = <0x0>;
38262306a36Sopenharmony_ci			clock-names = "core", "axi";
38362306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 21>,
38462306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 17>;
38562306a36Sopenharmony_ci			status = "disabled";
38662306a36Sopenharmony_ci		};
38762306a36Sopenharmony_ci
38862306a36Sopenharmony_ci		CP11X_LABEL(spi1): spi@700680 {
38962306a36Sopenharmony_ci			compatible = "marvell,armada-380-spi";
39062306a36Sopenharmony_ci			reg = <0x700680 0x50>;
39162306a36Sopenharmony_ci			#address-cells = <1>;
39262306a36Sopenharmony_ci			#size-cells = <0>;
39362306a36Sopenharmony_ci			clock-names = "core", "axi";
39462306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 21>,
39562306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 17>;
39662306a36Sopenharmony_ci			status = "disabled";
39762306a36Sopenharmony_ci		};
39862306a36Sopenharmony_ci
39962306a36Sopenharmony_ci		CP11X_LABEL(i2c0): i2c@701000 {
40062306a36Sopenharmony_ci			compatible = "marvell,mv78230-i2c";
40162306a36Sopenharmony_ci			reg = <0x701000 0x20>;
40262306a36Sopenharmony_ci			#address-cells = <1>;
40362306a36Sopenharmony_ci			#size-cells = <0>;
40462306a36Sopenharmony_ci			interrupts = <120 IRQ_TYPE_LEVEL_HIGH>;
40562306a36Sopenharmony_ci			clock-names = "core", "reg";
40662306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 21>,
40762306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 17>;
40862306a36Sopenharmony_ci			status = "disabled";
40962306a36Sopenharmony_ci		};
41062306a36Sopenharmony_ci
41162306a36Sopenharmony_ci		CP11X_LABEL(i2c1): i2c@701100 {
41262306a36Sopenharmony_ci			compatible = "marvell,mv78230-i2c";
41362306a36Sopenharmony_ci			reg = <0x701100 0x20>;
41462306a36Sopenharmony_ci			#address-cells = <1>;
41562306a36Sopenharmony_ci			#size-cells = <0>;
41662306a36Sopenharmony_ci			interrupts = <121 IRQ_TYPE_LEVEL_HIGH>;
41762306a36Sopenharmony_ci			clock-names = "core", "reg";
41862306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 21>,
41962306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 17>;
42062306a36Sopenharmony_ci			status = "disabled";
42162306a36Sopenharmony_ci		};
42262306a36Sopenharmony_ci
42362306a36Sopenharmony_ci		CP11X_LABEL(uart0): serial@702000 {
42462306a36Sopenharmony_ci			compatible = "snps,dw-apb-uart";
42562306a36Sopenharmony_ci			reg = <0x702000 0x100>;
42662306a36Sopenharmony_ci			reg-shift = <2>;
42762306a36Sopenharmony_ci			interrupts = <122 IRQ_TYPE_LEVEL_HIGH>;
42862306a36Sopenharmony_ci			reg-io-width = <1>;
42962306a36Sopenharmony_ci			clock-names = "baudclk", "apb_pclk";
43062306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 21>,
43162306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 17>;
43262306a36Sopenharmony_ci			status = "disabled";
43362306a36Sopenharmony_ci		};
43462306a36Sopenharmony_ci
43562306a36Sopenharmony_ci		CP11X_LABEL(uart1): serial@702100 {
43662306a36Sopenharmony_ci			compatible = "snps,dw-apb-uart";
43762306a36Sopenharmony_ci			reg = <0x702100 0x100>;
43862306a36Sopenharmony_ci			reg-shift = <2>;
43962306a36Sopenharmony_ci			interrupts = <123 IRQ_TYPE_LEVEL_HIGH>;
44062306a36Sopenharmony_ci			reg-io-width = <1>;
44162306a36Sopenharmony_ci			clock-names = "baudclk", "apb_pclk";
44262306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 21>,
44362306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 17>;
44462306a36Sopenharmony_ci			status = "disabled";
44562306a36Sopenharmony_ci		};
44662306a36Sopenharmony_ci
44762306a36Sopenharmony_ci		CP11X_LABEL(uart2): serial@702200 {
44862306a36Sopenharmony_ci			compatible = "snps,dw-apb-uart";
44962306a36Sopenharmony_ci			reg = <0x702200 0x100>;
45062306a36Sopenharmony_ci			reg-shift = <2>;
45162306a36Sopenharmony_ci			interrupts = <124 IRQ_TYPE_LEVEL_HIGH>;
45262306a36Sopenharmony_ci			reg-io-width = <1>;
45362306a36Sopenharmony_ci			clock-names = "baudclk", "apb_pclk";
45462306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 21>,
45562306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 17>;
45662306a36Sopenharmony_ci			status = "disabled";
45762306a36Sopenharmony_ci		};
45862306a36Sopenharmony_ci
45962306a36Sopenharmony_ci		CP11X_LABEL(uart3): serial@702300 {
46062306a36Sopenharmony_ci			compatible = "snps,dw-apb-uart";
46162306a36Sopenharmony_ci			reg = <0x702300 0x100>;
46262306a36Sopenharmony_ci			reg-shift = <2>;
46362306a36Sopenharmony_ci			interrupts = <125 IRQ_TYPE_LEVEL_HIGH>;
46462306a36Sopenharmony_ci			reg-io-width = <1>;
46562306a36Sopenharmony_ci			clock-names = "baudclk", "apb_pclk";
46662306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 21>,
46762306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 17>;
46862306a36Sopenharmony_ci			status = "disabled";
46962306a36Sopenharmony_ci		};
47062306a36Sopenharmony_ci
47162306a36Sopenharmony_ci		CP11X_LABEL(nand_controller): nand-controller@720000 {
47262306a36Sopenharmony_ci			/*
47362306a36Sopenharmony_ci			 * Due to the limitation of the pins available
47462306a36Sopenharmony_ci			 * this controller is only usable on the CPM
47562306a36Sopenharmony_ci			 * for A7K and on the CPS for A8K.
47662306a36Sopenharmony_ci			 */
47762306a36Sopenharmony_ci			compatible = "marvell,armada-8k-nand-controller",
47862306a36Sopenharmony_ci				"marvell,armada370-nand-controller";
47962306a36Sopenharmony_ci			reg = <0x720000 0x54>;
48062306a36Sopenharmony_ci			#address-cells = <1>;
48162306a36Sopenharmony_ci			#size-cells = <0>;
48262306a36Sopenharmony_ci			interrupts = <115 IRQ_TYPE_LEVEL_HIGH>;
48362306a36Sopenharmony_ci			clock-names = "core", "reg";
48462306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 2>,
48562306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 17>;
48662306a36Sopenharmony_ci			marvell,system-controller = <&CP11X_LABEL(syscon0)>;
48762306a36Sopenharmony_ci			status = "disabled";
48862306a36Sopenharmony_ci		};
48962306a36Sopenharmony_ci
49062306a36Sopenharmony_ci		CP11X_LABEL(trng): trng@760000 {
49162306a36Sopenharmony_ci			compatible = "marvell,armada-8k-rng",
49262306a36Sopenharmony_ci			"inside-secure,safexcel-eip76";
49362306a36Sopenharmony_ci			reg = <0x760000 0x7d>;
49462306a36Sopenharmony_ci			interrupts = <95 IRQ_TYPE_LEVEL_HIGH>;
49562306a36Sopenharmony_ci			clock-names = "core", "reg";
49662306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 25>,
49762306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 17>;
49862306a36Sopenharmony_ci			status = "okay";
49962306a36Sopenharmony_ci		};
50062306a36Sopenharmony_ci
50162306a36Sopenharmony_ci		CP11X_LABEL(sdhci0): mmc@780000 {
50262306a36Sopenharmony_ci			compatible = "marvell,armada-cp110-sdhci";
50362306a36Sopenharmony_ci			reg = <0x780000 0x300>;
50462306a36Sopenharmony_ci			interrupts = <27 IRQ_TYPE_LEVEL_HIGH>;
50562306a36Sopenharmony_ci			clock-names = "core", "axi";
50662306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 4>, <&CP11X_LABEL(clk) 1 18>;
50762306a36Sopenharmony_ci			dma-coherent;
50862306a36Sopenharmony_ci			status = "disabled";
50962306a36Sopenharmony_ci		};
51062306a36Sopenharmony_ci
51162306a36Sopenharmony_ci		CP11X_LABEL(crypto): crypto@800000 {
51262306a36Sopenharmony_ci			compatible = "inside-secure,safexcel-eip197b";
51362306a36Sopenharmony_ci			reg = <0x800000 0x200000>;
51462306a36Sopenharmony_ci			interrupts = <88 IRQ_TYPE_LEVEL_HIGH>,
51562306a36Sopenharmony_ci				<89 IRQ_TYPE_LEVEL_HIGH>,
51662306a36Sopenharmony_ci				<90 IRQ_TYPE_LEVEL_HIGH>,
51762306a36Sopenharmony_ci				<91 IRQ_TYPE_LEVEL_HIGH>,
51862306a36Sopenharmony_ci				<92 IRQ_TYPE_LEVEL_HIGH>,
51962306a36Sopenharmony_ci				<87 IRQ_TYPE_LEVEL_HIGH>;
52062306a36Sopenharmony_ci			interrupt-names = "ring0", "ring1", "ring2", "ring3",
52162306a36Sopenharmony_ci					  "eip", "mem";
52262306a36Sopenharmony_ci			clock-names = "core", "reg";
52362306a36Sopenharmony_ci			clocks = <&CP11X_LABEL(clk) 1 26>,
52462306a36Sopenharmony_ci				 <&CP11X_LABEL(clk) 1 17>;
52562306a36Sopenharmony_ci			dma-coherent;
52662306a36Sopenharmony_ci		};
52762306a36Sopenharmony_ci	};
52862306a36Sopenharmony_ci
52962306a36Sopenharmony_ci	CP11X_LABEL(pcie0): pcie@CP11X_PCIE0_BASE {
53062306a36Sopenharmony_ci		compatible = "marvell,armada8k-pcie", "snps,dw-pcie";
53162306a36Sopenharmony_ci		reg = <0 ADDRESSIFY(CP11X_PCIE0_BASE) 0 0x10000>,
53262306a36Sopenharmony_ci		      <0 CP11X_PCIEx_CONF_BASE(0) 0 0x80000>;
53362306a36Sopenharmony_ci		reg-names = "ctrl", "config";
53462306a36Sopenharmony_ci		#address-cells = <3>;
53562306a36Sopenharmony_ci		#size-cells = <2>;
53662306a36Sopenharmony_ci		#interrupt-cells = <1>;
53762306a36Sopenharmony_ci		device_type = "pci";
53862306a36Sopenharmony_ci		dma-coherent;
53962306a36Sopenharmony_ci		msi-parent = <&gic_v2m0>;
54062306a36Sopenharmony_ci
54162306a36Sopenharmony_ci		bus-range = <0 0xff>;
54262306a36Sopenharmony_ci		/* non-prefetchable memory */
54362306a36Sopenharmony_ci		ranges = <0x82000000 0 CP11X_PCIEx_MEM_BASE(0) 0  CP11X_PCIEx_MEM_BASE(0) 0 CP11X_PCIEx_MEM_SIZE(0)>;
54462306a36Sopenharmony_ci		interrupt-map-mask = <0 0 0 0>;
54562306a36Sopenharmony_ci		interrupt-map = <0 0 0 0 &CP11X_LABEL(icu_nsr) 22 IRQ_TYPE_LEVEL_HIGH>;
54662306a36Sopenharmony_ci		interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
54762306a36Sopenharmony_ci		num-lanes = <1>;
54862306a36Sopenharmony_ci		clock-names = "core", "reg";
54962306a36Sopenharmony_ci		clocks = <&CP11X_LABEL(clk) 1 13>, <&CP11X_LABEL(clk) 1 14>;
55062306a36Sopenharmony_ci		status = "disabled";
55162306a36Sopenharmony_ci	};
55262306a36Sopenharmony_ci
55362306a36Sopenharmony_ci	CP11X_LABEL(pcie1): pcie@CP11X_PCIE1_BASE {
55462306a36Sopenharmony_ci		compatible = "marvell,armada8k-pcie", "snps,dw-pcie";
55562306a36Sopenharmony_ci		reg = <0 ADDRESSIFY(CP11X_PCIE1_BASE) 0 0x10000>,
55662306a36Sopenharmony_ci		      <0 CP11X_PCIEx_CONF_BASE(1) 0 0x80000>;
55762306a36Sopenharmony_ci		reg-names = "ctrl", "config";
55862306a36Sopenharmony_ci		#address-cells = <3>;
55962306a36Sopenharmony_ci		#size-cells = <2>;
56062306a36Sopenharmony_ci		#interrupt-cells = <1>;
56162306a36Sopenharmony_ci		device_type = "pci";
56262306a36Sopenharmony_ci		dma-coherent;
56362306a36Sopenharmony_ci		msi-parent = <&gic_v2m0>;
56462306a36Sopenharmony_ci
56562306a36Sopenharmony_ci		bus-range = <0 0xff>;
56662306a36Sopenharmony_ci		/* non-prefetchable memory */
56762306a36Sopenharmony_ci		ranges = <0x82000000 0 CP11X_PCIEx_MEM_BASE(1) 0  CP11X_PCIEx_MEM_BASE(1) 0 CP11X_PCIEx_MEM_SIZE(1)>;
56862306a36Sopenharmony_ci		interrupt-map-mask = <0 0 0 0>;
56962306a36Sopenharmony_ci		interrupt-map = <0 0 0 0 &CP11X_LABEL(icu_nsr) 24 IRQ_TYPE_LEVEL_HIGH>;
57062306a36Sopenharmony_ci		interrupts = <24 IRQ_TYPE_LEVEL_HIGH>;
57162306a36Sopenharmony_ci
57262306a36Sopenharmony_ci		num-lanes = <1>;
57362306a36Sopenharmony_ci		clock-names = "core", "reg";
57462306a36Sopenharmony_ci		clocks = <&CP11X_LABEL(clk) 1 11>, <&CP11X_LABEL(clk) 1 14>;
57562306a36Sopenharmony_ci		status = "disabled";
57662306a36Sopenharmony_ci	};
57762306a36Sopenharmony_ci
57862306a36Sopenharmony_ci	CP11X_LABEL(pcie2): pcie@CP11X_PCIE2_BASE {
57962306a36Sopenharmony_ci		compatible = "marvell,armada8k-pcie", "snps,dw-pcie";
58062306a36Sopenharmony_ci		reg = <0 ADDRESSIFY(CP11X_PCIE2_BASE) 0 0x10000>,
58162306a36Sopenharmony_ci		      <0 CP11X_PCIEx_CONF_BASE(2) 0 0x80000>;
58262306a36Sopenharmony_ci		reg-names = "ctrl", "config";
58362306a36Sopenharmony_ci		#address-cells = <3>;
58462306a36Sopenharmony_ci		#size-cells = <2>;
58562306a36Sopenharmony_ci		#interrupt-cells = <1>;
58662306a36Sopenharmony_ci		device_type = "pci";
58762306a36Sopenharmony_ci		dma-coherent;
58862306a36Sopenharmony_ci		msi-parent = <&gic_v2m0>;
58962306a36Sopenharmony_ci
59062306a36Sopenharmony_ci		bus-range = <0 0xff>;
59162306a36Sopenharmony_ci		/* non-prefetchable memory */
59262306a36Sopenharmony_ci		ranges = <0x82000000 0 CP11X_PCIEx_MEM_BASE(2) 0  CP11X_PCIEx_MEM_BASE(2) 0 CP11X_PCIEx_MEM_SIZE(2)>;
59362306a36Sopenharmony_ci		interrupt-map-mask = <0 0 0 0>;
59462306a36Sopenharmony_ci		interrupt-map = <0 0 0 0 &CP11X_LABEL(icu_nsr) 23 IRQ_TYPE_LEVEL_HIGH>;
59562306a36Sopenharmony_ci		interrupts = <23 IRQ_TYPE_LEVEL_HIGH>;
59662306a36Sopenharmony_ci
59762306a36Sopenharmony_ci		num-lanes = <1>;
59862306a36Sopenharmony_ci		clock-names = "core", "reg";
59962306a36Sopenharmony_ci		clocks = <&CP11X_LABEL(clk) 1 12>, <&CP11X_LABEL(clk) 1 14>;
60062306a36Sopenharmony_ci		status = "disabled";
60162306a36Sopenharmony_ci	};
60262306a36Sopenharmony_ci};
603