/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 {
					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 {
					/* 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>;
			};

			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>;
			};

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