/include/ "skeleton.dtsi"

#define MBUS_ID(target,attributes) (((target) << 24) | ((attributes) << 16))

/ {
	compatible = "marvell,dove";
	model = "Marvell Armada 88AP510 SoC";
	interrupt-parent = <&intc>;

	aliases {
		gpio0 = &gpio0;
		gpio1 = &gpio1;
		gpio2 = &gpio2;
	};

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu0: cpu@0 {
			compatible = "marvell,pj4a", "marvell,sheeva-v7";
			device_type = "cpu";
			next-level-cache = <&l2>;
			reg = <0>;
		};
	};

	l2: l2-cache {
		compatible = "marvell,tauros2-cache";
		marvell,tauros2-cache-features = <0>;
	};

	mbus {
		compatible = "marvell,dove-mbus", "marvell,mbus", "simple-bus";
		#address-cells = <2>;
		#size-cells = <1>;
		controller = <&mbusc>;
		pcie-mem-aperture = <0xe0000000 0x10000000>; /* 256M MEM space */
		pcie-io-aperture  = <0xf2000000 0x00200000>; /*   2M I/O space */

		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x0100000   /* MBUS regs  1M */
			  MBUS_ID(0xf0, 0x02) 0 0xf1800000 0x1000000   /* AXI  regs 16M */
			  MBUS_ID(0x01, 0xfd) 0 0xf8000000 0x8000000   /* BootROM  128M */
			  MBUS_ID(0x03, 0x01) 0 0xc8000000 0x0100000   /* CESA SRAM  1M */
			  MBUS_ID(0x0d, 0x00) 0 0xf0000000 0x0100000>; /* PMU  SRAM  1M */

		pcie: pcie-controller {
			compatible = "marvell,dove-pcie";
			status = "disabled";
			device_type = "pci";
			#address-cells = <3>;
			#size-cells = <2>;

			msi-parent = <&intc>;
			bus-range = <0x00 0xff>;

			ranges = <0x82000000 0x0 0x40000 MBUS_ID(0xf0, 0x01) 0x40000 0 0x2000
			          0x82000000 0x0 0x80000 MBUS_ID(0xf0, 0x01) 0x80000 0 0x2000
				  0x82000000 0x1 0x0 MBUS_ID(0x04, 0xe8) 0 1 0   /* Port 0.0 Mem */
				  0x81000000 0x1 0x0 MBUS_ID(0x04, 0xe0) 0 1 0   /* Port 0.0 I/O */
				  0x82000000 0x2 0x0 MBUS_ID(0x08, 0xe8) 0 1 0   /* Port 1.0 Mem */
				  0x81000000 0x2 0x0 MBUS_ID(0x08, 0xe0) 0 1 0>; /* Port 1.0 I/O */

			pcie-port@0 {
				device_type = "pci";
				status = "disabled";
				assigned-addresses = <0x82000800 0 0x40000 0 0x2000>;
				reg = <0x0800 0 0 0 0>;
				clocks = <&gate_clk 4>;
				marvell,pcie-port = <0>;

				#address-cells = <3>;
				#size-cells = <2>;
				ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
				          0x81000000 0 0 0x81000000 0x1 0 1 0>;

				#interrupt-cells = <1>;
				interrupt-map-mask = <0 0 0 0>;
				interrupt-map = <0 0 0 0 &intc 16>;
			};

			pcie-port@1 {
				device_type = "pci";
				status = "disabled";
				assigned-addresses = <0x82002800 0 0x80000 0 0x2000>;
				reg = <0x1000 0 0 0 0>;
				clocks = <&gate_clk 5>;
				marvell,pcie-port = <1>;

				#address-cells = <3>;
				#size-cells = <2>;
				ranges = <0x82000000 0 0 0x82000000 0x2 0 1 0
				          0x81000000 0 0 0x81000000 0x2 0 1 0>;

				#interrupt-cells = <1>;
				interrupt-map-mask = <0 0 0 0>;
				interrupt-map = <0 0 0 0 &intc 18>;
			};
		};

		internal-regs {
			compatible = "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x00000000 MBUS_ID(0xf0, 0x01) 0 0x0100000   /* MBUS regs  1M */
				  0x00800000 MBUS_ID(0xf0, 0x02) 0 0x1000000   /* AXI  regs 16M */
				  0xffffe000 MBUS_ID(0x03, 0x01) 0 0x0000800   /* CESA SRAM  2k */
				  0xfffff000 MBUS_ID(0x0d, 0x00) 0 0x0000800>; /* PMU  SRAM  2k */

			spi0: spi-ctrl@10600 {
				compatible = "marvell,orion-spi";
				#address-cells = <1>;
				#size-cells = <0>;
				cell-index = <0>;
				interrupts = <6>;
				reg = <0x10600 0x28>;
				clocks = <&core_clk 0>;
				pinctrl-0 = <&pmx_spi0>;
				pinctrl-names = "default";
				status = "disabled";
			};

			i2c0: i2c-ctrl@11000 {
				compatible = "marvell,mv64xxx-i2c";
				reg = <0x11000 0x20>;
				#address-cells = <1>;
				#size-cells = <0>;
				interrupts = <11>;
				clock-frequency = <400000>;
				timeout-ms = <1000>;
				clocks = <&core_clk 0>;
				status = "disabled";
			};

			uart0: serial@12000 {
				compatible = "ns16550a";
				reg = <0x12000 0x100>;
				reg-shift = <2>;
				interrupts = <7>;
				clocks = <&core_clk 0>;
				status = "disabled";
			};

			uart1: serial@12100 {
				compatible = "ns16550a";
				reg = <0x12100 0x100>;
				reg-shift = <2>;
				interrupts = <8>;
				clocks = <&core_clk 0>;
				pinctrl-0 = <&pmx_uart1>;
				pinctrl-names = "default";
				status = "disabled";
			};

			uart2: serial@12200 {
				compatible = "ns16550a";
				reg = <0x12000 0x100>;
				reg-shift = <2>;
				interrupts = <9>;
				clocks = <&core_clk 0>;
				status = "disabled";
			};

			uart3: serial@12300 {
				compatible = "ns16550a";
				reg = <0x12100 0x100>;
				reg-shift = <2>;
				interrupts = <10>;
				clocks = <&core_clk 0>;
				status = "disabled";
			};

			spi1: spi-ctrl@14600 {
				compatible = "marvell,orion-spi";
				#address-cells = <1>;
				#size-cells = <0>;
				cell-index = <1>;
				interrupts = <5>;
				reg = <0x14600 0x28>;
				clocks = <&core_clk 0>;
				status = "disabled";
			};

			mbusc: mbus-ctrl@20000 {
				compatible = "marvell,mbus-controller";
				reg = <0x20000 0x80>, <0x800100 0x8>;
			};

			bridge_intc: bridge-interrupt-ctrl@20110 {
				compatible = "marvell,orion-bridge-intc";
				interrupt-controller;
				#interrupt-cells = <1>;
				reg = <0x20110 0x8>;
				interrupts = <0>;
				marvell,#interrupts = <5>;
			};

			intc: main-interrupt-ctrl@20200 {
				compatible = "marvell,orion-intc";
				interrupt-controller;
				#interrupt-cells = <1>;
				reg = <0x20200 0x10>, <0x20210 0x10>;
			};

			timer: timer@20300 {
				compatible = "marvell,orion-timer";
				reg = <0x20300 0x20>;
				interrupt-parent = <&bridge_intc>;
				interrupts = <1>, <2>;
				clocks = <&core_clk 0>;
			};

			crypto: crypto-engine@30000 {
				compatible = "marvell,orion-crypto";
				reg = <0x30000 0x10000>,
				      <0xffffe000 0x800>;
				reg-names = "regs", "sram";
				interrupts = <31>;
				clocks = <&gate_clk 15>;
				status = "okay";
			};

			ehci0: usb-host@50000 {
				compatible = "marvell,orion-ehci";
				reg = <0x50000 0x1000>;
				interrupts = <24>;
				clocks = <&gate_clk 0>;
				status = "okay";
			};

			ehci1: usb-host@51000 {
				compatible = "marvell,orion-ehci";
				reg = <0x51000 0x1000>;
				interrupts = <25>;
				clocks = <&gate_clk 1>;
				status = "okay";
			};

			xor0: dma-engine@60800 {
				compatible = "marvell,orion-xor";
				reg = <0x60800 0x100
				       0x60a00 0x100>;
				clocks = <&gate_clk 23>;
				status = "okay";

				channel0 {
					interrupts = <39>;
					dmacap,memcpy;
					dmacap,xor;
				};

				channel1 {
					interrupts = <40>;
					dmacap,memcpy;
					dmacap,xor;
				};
			};

			xor1: dma-engine@60900 {
				compatible = "marvell,orion-xor";
				reg = <0x60900 0x100
				       0x60b00 0x100>;
				clocks = <&gate_clk 24>;
				status = "okay";

				channel0 {
					interrupts = <42>;
					dmacap,memcpy;
					dmacap,xor;
				};

				channel1 {
					interrupts = <43>;
					dmacap,memcpy;
					dmacap,xor;
				};
			};

			sdio1: sdio-host@90000 {
				compatible = "marvell,dove-sdhci";
				reg = <0x90000 0x100>;
				interrupts = <36>, <38>;
				clocks = <&gate_clk 9>;
				pinctrl-0 = <&pmx_sdio1>;
				pinctrl-names = "default";
				status = "disabled";
			};

			eth: ethernet-ctrl@72000 {
				compatible = "marvell,orion-eth";
				#address-cells = <1>;
				#size-cells = <0>;
				reg = <0x72000 0x4000>;
				clocks = <&gate_clk 2>;
				marvell,tx-checksum-limit = <1600>;
				status = "disabled";

				ethernet-port@0 {
					device_type = "network";
					compatible = "marvell,orion-eth-port";
					reg = <0>;
					interrupts = <29>;
					/* overwrite MAC address in bootloader */
					local-mac-address = [00 00 00 00 00 00];
					phy-handle = <&ethphy>;
				};
			};

			mdio: mdio-bus@72004 {
				compatible = "marvell,orion-mdio";
				#address-cells = <1>;
				#size-cells = <0>;
				reg = <0x72004 0x84>;
				interrupts = <30>;
				clocks = <&gate_clk 2>;
				status = "disabled";

				ethphy: ethernet-phy {
					device_type = "ethernet-phy";
					/* set phy address in board file */
				};
			};

			sdio0: sdio-host@92000 {
				compatible = "marvell,dove-sdhci";
				reg = <0x92000 0x100>;
				interrupts = <35>, <37>;
				clocks = <&gate_clk 8>;
				pinctrl-0 = <&pmx_sdio0>;
				pinctrl-names = "default";
				status = "disabled";
			};

			sata0: sata-host@a0000 {
				compatible = "marvell,orion-sata";
				reg = <0xa0000 0x2400>;
				interrupts = <62>;
				clocks = <&gate_clk 3>;
				phys = <&sata_phy0>;
				phy-names = "port0";
				nr-ports = <1>;
				status = "disabled";
			};

			sata_phy0: sata-phy@a2000 {
				compatible = "marvell,mvebu-sata-phy";
				reg = <0xa2000 0x0334>;
				clocks = <&gate_clk 3>;
				clock-names = "sata";
				#phy-cells = <0>;
				status = "ok";
			};

			audio0: audio-controller@b0000 {
				compatible = "marvell,dove-audio";
				reg = <0xb0000 0x2210>;
				interrupts = <19>, <20>;
				clocks = <&gate_clk 12>;
				clock-names = "internal";
				status = "disabled";
			};

			audio1: audio-controller@b4000 {
				compatible = "marvell,dove-audio";
				reg = <0xb4000 0x2210>;
				interrupts = <21>, <22>;
				clocks = <&gate_clk 13>;
				clock-names = "internal";
				status = "disabled";
			};

			thermal: thermal-diode@d001c {
				compatible = "marvell,dove-thermal";
				reg = <0xd001c 0x0c>, <0xd005c 0x08>;
			};

			gate_clk: clock-gating-ctrl@d0038 {
				compatible = "marvell,dove-gating-clock";
				reg = <0xd0038 0x4>;
				clocks = <&core_clk 0>;
				#clock-cells = <1>;
			};

			pmu_intc: pmu-interrupt-ctrl@d0050 {
				compatible = "marvell,dove-pmu-intc";
				interrupt-controller;
				#interrupt-cells = <1>;
				reg = <0xd0050 0x8>;
				interrupts = <33>;
				marvell,#interrupts = <7>;
			};

			pinctrl: pin-ctrl@d0200 {
				compatible = "marvell,dove-pinctrl";
				reg = <0xd0200 0x10>;
				clocks = <&gate_clk 22>;

				pmx_gpio_0: pmx-gpio-0 {
					marvell,pins = "mpp0";
					marvell,function = "gpio";
				};

				pmx_gpio_1: pmx-gpio-1 {
					marvell,pins = "mpp1";
					marvell,function = "gpio";
				};

				pmx_gpio_2: pmx-gpio-2 {
					marvell,pins = "mpp2";
					marvell,function = "gpio";
				};

				pmx_gpio_3: pmx-gpio-3 {
					marvell,pins = "mpp3";
					marvell,function = "gpio";
				};

				pmx_gpio_4: pmx-gpio-4 {
					marvell,pins = "mpp4";
					marvell,function = "gpio";
				};

				pmx_gpio_5: pmx-gpio-5 {
					marvell,pins = "mpp5";
					marvell,function = "gpio";
				};

				pmx_gpio_6: pmx-gpio-6 {
					marvell,pins = "mpp6";
					marvell,function = "gpio";
				};

				pmx_gpio_7: pmx-gpio-7 {
					marvell,pins = "mpp7";
					marvell,function = "gpio";
				};

				pmx_gpio_8: pmx-gpio-8 {
					marvell,pins = "mpp8";
					marvell,function = "gpio";
				};

				pmx_gpio_9: pmx-gpio-9 {
					marvell,pins = "mpp9";
					marvell,function = "gpio";
				};

				pmx_gpio_10: pmx-gpio-10 {
					marvell,pins = "mpp10";
					marvell,function = "gpio";
				};

				pmx_gpio_11: pmx-gpio-11 {
					marvell,pins = "mpp11";
					marvell,function = "gpio";
				};

				pmx_gpio_12: pmx-gpio-12 {
					marvell,pins = "mpp12";
					marvell,function = "gpio";
				};

				pmx_gpio_13: pmx-gpio-13 {
					marvell,pins = "mpp13";
					marvell,function = "gpio";
				};

				pmx_audio1_extclk: pmx-audio1-extclk {
					marvell,pins = "mpp13";
					marvell,function = "audio1";
				};

				pmx_gpio_14: pmx-gpio-14 {
					marvell,pins = "mpp14";
					marvell,function = "gpio";
				};

				pmx_gpio_15: pmx-gpio-15 {
					marvell,pins = "mpp15";
					marvell,function = "gpio";
				};

				pmx_gpio_16: pmx-gpio-16 {
					marvell,pins = "mpp16";
					marvell,function = "gpio";
				};

				pmx_gpio_17: pmx-gpio-17 {
					marvell,pins = "mpp17";
					marvell,function = "gpio";
				};

				pmx_gpio_18: pmx-gpio-18 {
					marvell,pins = "mpp18";
					marvell,function = "gpio";
				};

				pmx_gpio_19: pmx-gpio-19 {
					marvell,pins = "mpp19";
					marvell,function = "gpio";
				};

				pmx_gpio_20: pmx-gpio-20 {
					marvell,pins = "mpp20";
					marvell,function = "gpio";
				};

				pmx_gpio_21: pmx-gpio-21 {
					marvell,pins = "mpp21";
					marvell,function = "gpio";
				};

				pmx_camera: pmx-camera {
					marvell,pins = "mpp_camera";
					marvell,function = "camera";
				};

				pmx_camera_gpio: pmx-camera-gpio {
					marvell,pins = "mpp_camera";
					marvell,function = "gpio";
				};

				pmx_sdio0: pmx-sdio0 {
					marvell,pins = "mpp_sdio0";
					marvell,function = "sdio0";
				};

				pmx_sdio0_gpio: pmx-sdio0-gpio {
					marvell,pins = "mpp_sdio0";
					marvell,function = "gpio";
				};

				pmx_sdio1: pmx-sdio1 {
					marvell,pins = "mpp_sdio1";
					marvell,function = "sdio1";
				};

				pmx_sdio1_gpio: pmx-sdio1-gpio {
					marvell,pins = "mpp_sdio1";
					marvell,function = "gpio";
				};

				pmx_audio1_gpio: pmx-audio1-gpio {
					marvell,pins = "mpp_audio1";
					marvell,function = "gpio";
				};

				pmx_audio1_i2s1_spdifo: pmx-audio1-i2s1-spdifo {
					marvell,pins = "mpp_audio1";
					marvell,function = "i2s1/spdifo";
				};

				pmx_spi0: pmx-spi0 {
					marvell,pins = "mpp_spi0";
					marvell,function = "spi0";
				};

				pmx_spi0_gpio: pmx-spi0-gpio {
					marvell,pins = "mpp_spi0";
					marvell,function = "gpio";
				};

				pmx_uart1: pmx-uart1 {
					marvell,pins = "mpp_uart1";
					marvell,function = "uart1";
				};

				pmx_uart1_gpio: pmx-uart1-gpio {
					marvell,pins = "mpp_uart1";
					marvell,function = "gpio";
				};

				pmx_nand: pmx-nand {
					marvell,pins = "mpp_nand";
					marvell,function = "nand";
				};

				pmx_nand_gpo: pmx-nand-gpo {
					marvell,pins = "mpp_nand";
					marvell,function = "gpo";
				};
			};

			core_clk: core-clocks@d0214 {
				compatible = "marvell,dove-core-clock";
				reg = <0xd0214 0x4>;
				#clock-cells = <1>;
			};

			gpio0: gpio-ctrl@d0400 {
				compatible = "marvell,orion-gpio";
				#gpio-cells = <2>;
				gpio-controller;
				reg = <0xd0400 0x20>;
				ngpios = <32>;
				interrupt-controller;
				#interrupt-cells = <2>;
				interrupts = <12>, <13>, <14>, <60>;
			};

			gpio1: gpio-ctrl@d0420 {
				compatible = "marvell,orion-gpio";
				#gpio-cells = <2>;
				gpio-controller;
				reg = <0xd0420 0x20>;
				ngpios = <32>;
				interrupt-controller;
				#interrupt-cells = <2>;
				interrupts = <61>;
			};

			rtc: real-time-clock@d8500 {
				compatible = "marvell,orion-rtc";
				reg = <0xd8500 0x20>;
				interrupt-parent = <&pmu_intc>;
				interrupts = <5>;
			};

			gpio2: gpio-ctrl@e8400 {
				compatible = "marvell,orion-gpio";
				#gpio-cells = <2>;
				gpio-controller;
				reg = <0xe8400 0x0c>;
				ngpios = <8>;
			};
		};
	};
};
