#include <dt-bindings/interrupt-controller/arm-gic.h>

#include "skeleton.dtsi"

/ {
	#address-cells = <2>;
	#size-cells = <2>;
	model = "Broadcom STB (bcm7445)";
	compatible = "brcm,bcm7445", "brcm,brcmstb";
	interrupt-parent = <&gic>;

	chosen {
		bootargs = "console=ttyS0,115200 earlyprintk";
	};

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

		cpu@0 {
			compatible = "brcm,brahma-b15";
			device_type = "cpu";
			reg = <0>;
		};

		cpu@1 {
			compatible = "brcm,brahma-b15";
			device_type = "cpu";
			reg = <1>;
		};

		cpu@2 {
			compatible = "brcm,brahma-b15";
			device_type = "cpu";
			reg = <2>;
		};

		cpu@3 {
			compatible = "brcm,brahma-b15";
			device_type = "cpu";
			reg = <3>;
		};
	};

	gic: interrupt-controller@ffd00000 {
		compatible = "brcm,brahma-b15-gic", "arm,cortex-a15-gic";
		reg = <0x00 0xffd01000 0x00 0x1000>,
		      <0x00 0xffd02000 0x00 0x2000>,
		      <0x00 0xffd04000 0x00 0x2000>,
		      <0x00 0xffd06000 0x00 0x2000>;
		interrupt-controller;
		#interrupt-cells = <3>;
	};

	timer {
		compatible = "arm,armv7-timer";
		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(15) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 14 (GIC_CPU_MASK_RAW(15) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 11 (GIC_CPU_MASK_RAW(15) | IRQ_TYPE_LEVEL_LOW)>,
			     <GIC_PPI 10 (GIC_CPU_MASK_RAW(15) | IRQ_TYPE_LEVEL_LOW)>;
	};

	rdb {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "simple-bus";
		ranges = <0 0x00 0xf0000000 0x1000000>;

		serial@406b00 {
			compatible = "ns16550a";
			reg = <0x406b00 0x20>;
			reg-shift = <2>;
			reg-io-width = <4>;
			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
			clock-frequency = <0x4d3f640>;
		};

		sun_top_ctrl: syscon@404000 {
			compatible = "brcm,bcm7445-sun-top-ctrl",
				     "syscon";
			reg = <0x404000 0x51c>;
		};

		hif_cpubiuctrl: syscon@3e2400 {
			compatible = "brcm,bcm7445-hif-cpubiuctrl",
				     "syscon";
			reg = <0x3e2400 0x5b4>;
		};

		hif_continuation: syscon@452000 {
			compatible = "brcm,bcm7445-hif-continuation",
				     "syscon";
			reg = <0x452000 0x100>;
		};

		sata@45a000 {
			compatible = "brcm,sata3-ahci";
			reg = <0x45a000 0xa9c>;
			phy-enable-ssc-mask = <0x0>;
			phy-generation = <0x2800>;
			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
			phy-base-addr = <0xf0458100>;
			top-ctrl-base-addr = <0xf0458040>;
		};

		usb@470200 {
			reg = <0x470200 0x80>;
			compatible = "brcm,usb-instance";
			ioc = <0x1>;
			#size-cells = <0x1>;
			#address-cells = <0x1>;
			ipp = <0x1>;
			ranges;

			ohci@470400 {
				compatible = "brcm,ohci-brcm";
				reg = <0x470400 0x58>;
				interrupts = <GIC_SPI 0x51 IRQ_TYPE_LEVEL_HIGH>;
			};

			ohci@470600 {
				compatible = "brcm,ohci-brcm";
				reg = <0x470600 0x58>;
				interrupts = <GIC_SPI 0x52 IRQ_TYPE_LEVEL_HIGH>;
			};
		};

		usb@480200 {
			reg = <0x480200 0x80>;
			compatible = "brcm,usb-instance";
			ioc = <0x1>;
			#size-cells = <0x1>;
			#address-cells = <0x1>;
			ipp = <0x1>;
			ranges;

			ohci@480400 {
				compatible = "brcm,ohci-brcm";
				reg = <0x480400 0x58>;
				interrupts = <GIC_SPI 0x57 IRQ_TYPE_LEVEL_HIGH>;
			};

			ohci@480600 {
				compatible = "brcm,ohci-brcm";
				reg = <0x480600 0x58>;
				interrupts = <GIC_SPI 0x58 IRQ_TYPE_LEVEL_HIGH>;
			};
		};
	};

	/*
	 * PCIe has funky address translation that touches beyond the
	 * RDB range, so we place the node out here.
	 */
	pci {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "simple-bus";
		ranges = <0 0x00 0x00000000 0xffffffff>;

		pcie@f0460000 {
			#address-cells = <0x3>;
			#size-cells = <0x2>;
			#interrupt-cells = <0x1>;
			compatible = "brcm,pci-plat-dev";
			reg = <0xf0460000 0x9310>;
			interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
			device_type = "pci";
			bus-ranges = <0x0 0xff>;
			tot-num-pcie = <0x1>;
			ranges = <0x2000000 0x0 0x00000000 0xc0000000 0x0 0x8000000>,
				 <0x2000000 0x0 0x08000000 0xc8000000 0x0 0x8000000>,
				 <0x2000000 0x0 0x10000000 0xd0000000 0x0 0x8000000>,
				 <0x2000000 0x0 0x18000000 0xd8000000 0x0 0x8000000>;
			interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
			interrupt-map = <0x0 0x0 0x0 0x1 0x1 0x2f 0x3>,
					<0x0 0x0 0x0 0x2 0x1 0x30 0x3>,
					<0x0 0x0 0x0 0x3 0x1 0x31 0x3>,
					<0x0 0x0 0x0 0x4 0x1 0x32 0x3>;
		};
	};

	smpboot {
		compatible = "brcm,brcmstb-smpboot";
		syscon-cpu = <&hif_cpubiuctrl 0x88 0x178>;
		syscon-cont = <&hif_continuation>;
	};

	reboot {
		compatible = "brcm,brcmstb-reboot";
		syscon = <&sun_top_ctrl 0x304 0x308>;
	};
};
