/*
 * DTS file for CSR SiRFatlas7 SoC
 *
 * Copyright (c) 2014 Cambridge Silicon Radio Limited, a CSR plc group company.
 *
 * Licensed under GPLv2 or later.
 */

/include/ "skeleton.dtsi"
/ {
	compatible = "sirf,atlas7";
	#address-cells = <1>;
	#size-cells = <1>;
	interrupt-parent = <&gic>;
	aliases {
		serial0 = &uart0;
		serial1 = &uart1;
		serial2 = &uart2;
		serial3 = &uart3;
		serial4 = &uart4;
		serial5 = &uart5;
		serial6 = &uart6;
		serial9 = &usp2;
	};
	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a7";
			reg = <0>;
		};
		cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a7";
			reg = <1>;
		};
	};

	noc {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges = <0x10000000 0x10000000 0xc0000000>;

		gic: interrupt-controller@10301000 {
			compatible = "arm,cortex-a9-gic";
			interrupt-controller;
			#interrupt-cells = <3>;
			reg = <0x10301000 0x1000>,
			     <0x10302000 0x0100>;
		};

		pmu_regulator: pmu_regulator@10E30020 {
			compatible = "sirf,atlas7-pmu-ldo";
			reg = <0x10E30020 0x4>;
			ldo: ldo {
				regulator-name = "ldo";
			};
		};

		atlas7_codec: atlas7_codec@10E30000 {
			#sound-dai-cells = <0>;
			compatible = "sirf,atlas7-codec";
			reg = <0x10E30000 0x400>;
			clocks = <&car 62>;
			ldo-supply = <&ldo>;
		};

		atlas7_iacc: atlas7_iacc@10D01000 {
			#sound-dai-cells = <0>;
			compatible = "sirf,atlas7-iacc";
			reg = <0x10D01000 0x100>;
			dmas = <&dmac3 0>, <&dmac3 7>, <&dmac3 8>,
				<&dmac3 3>, <&dmac3 9>;
			dma-names = "rx", "tx0", "tx1", "tx2", "tx3";
			clocks = <&car 62>;
		};

		ipc@13240000 {
			compatible = "sirf,atlas7-ipc";
			ranges = <0x13240000 0x13240000 0x00010000>;
			#address-cells = <1>;
			#size-cells = <1>;

			hwspinlock {
				compatible = "sirf,hwspinlock";
				reg = <0x13240000 0x00010000>;

				num-spinlocks = <30>;
			};

			ns_m3_rproc@0 {
				compatible = "sirf,ns2m30-rproc";
				reg = <0x13240000 0x00010000>;
				interrupts = <0 123 0>;
			};

			ns_m3_rproc@1 {
				compatible = "sirf,ns2m31-rproc";
				reg = <0x13240000 0x00010000>;
				interrupts = <0 126 0>;
			};

			ns_kal_rproc@0 {
				compatible = "sirf,ns2kal0-rproc";
				reg = <0x13240000 0x00010000>;
				interrupts = <0 124 0>;
			};

			ns_kal_rproc@1 {
				compatible = "sirf,ns2kal1-rproc";
				reg = <0x13240000 0x00010000>;
				interrupts = <0 127 0>;
			};
		};

		pinctrl: ioc@18880000 {
			compatible = "sirf,atlas7-ioc";
			reg = <0x18880000 0x1000>,
				<0x10E40000 0x1000>;
		};

		pmipc {
			compatible = "arteris, flexnoc", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x13240000 0x13240000 0x00010000>;
			pmipc@0x13240000 {
				compatible = "sirf,atlas7-pmipc";
				reg = <0x13240000 0x00010000>;
			};
		};

		dramfw {
			compatible = "arteris, flexnoc", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x10830000 0x10830000 0x18000>;
			dramfw@10820000 {
				compatible = "sirf,nocfw-dramfw";
				reg = <0x10830000 0x18000>;
			};
		};

		spramfw {
			compatible = "arteris, flexnoc", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x10250000 0x10250000 0x3000>;
			spramfw@10820000 {
				compatible = "sirf,nocfw-spramfw";
				reg = <0x10250000 0x3000>;
			};
		};

		cpum {
			compatible = "arteris, flexnoc", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x10200000 0x10200000 0x3000>;
			cpum@10200000 {
				compatible = "sirf,nocfw-cpum";
				reg = <0x10200000 0x3000>;
			};
		};

		cgum {
			compatible = "arteris, flexnoc", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x18641000 0x18641000 0x3000>,
					 <0x18620000 0x18620000 0x1000>;

			cgum@18641000 {
				compatible = "sirf,nocfw-cgum";
				reg = <0x18641000 0x3000>;
			};

			car: clock-controller@18620000 {
				compatible = "sirf,atlas7-car";
				reg = <0x18620000 0x1000>;
				#clock-cells = <1>;
				#reset-cells = <1>;
			};
		};

		gnssm {
			compatible = "arteris, flexnoc", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x18000000 0x18000000 0x0000ffff>,
				<0x18010000 0x18010000 0x1000>,
				<0x18020000 0x18020000 0x1000>,
				<0x18030000 0x18030000 0x1000>,
				<0x18040000 0x18040000 0x1000>,
				<0x18050000 0x18050000 0x1000>,
				<0x18060000 0x18060000 0x1000>,
				<0x18100000 0x18100000 0x3000>,
				<0x18250000 0x18250000 0x10000>,
				<0x18200000 0x18200000 0x1000>;

			dmac0: dma-controller@18000000 {
				cell-index = <0>;
				compatible = "sirf,atlas7-dmac";
				reg = <0x18000000 0x1000>;
				interrupts = <0 12 0>;
				clocks = <&car 89>;
				dma-channels = <16>;
				#dma-cells = <1>;
			};

			gnssmfw@0x18100000 {
				compatible = "sirf,nocfw-gnssm";
				reg = <0x18100000 0x3000>;
			};

			uart0: uart@18010000 {
				cell-index = <0>;
				compatible = "sirf,atlas7-uart";
				reg = <0x18010000 0x1000>;
				interrupts = <0 17 0>;
				clocks = <&car 90>;
				fifosize = <128>;
				dmas = <&dmac0 3>, <&dmac0 2>;
				dma-names = "rx", "tx";
			};

			uart1: uart@18020000 {
				cell-index = <1>;
				compatible = "sirf,atlas7-uart";
				reg = <0x18020000 0x1000>;
				interrupts = <0 18 0>;
				clocks = <&car 88>;
				fifosize = <32>;
			};

			uart2: uart@18030000 {
				cell-index = <2>;
				compatible = "sirf,atlas7-uart";
				reg = <0x18030000 0x1000>;
				interrupts = <0 19 0>;
				clocks = <&car 91>;
				fifosize = <128>;
				dmas = <&dmac0 6>, <&dmac0 7>;
				dma-names = "rx", "tx";
				status = "disabled";
			};
			uart3: uart@18040000 {
				cell-index = <3>;
				compatible = "sirf,atlas7-uart";
				reg = <0x18040000 0x1000>;
				interrupts = <0 66 0>;
				clocks = <&car 92>;
				fifosize = <128>;
				dmas = <&dmac0 4>, <&dmac0 5>;
				dma-names = "rx", "tx";
				status = "disabled";
			};
			uart4: uart@18050000 {
				cell-index = <4>;
				compatible = "sirf,atlas7-uart";
				reg = <0x18050000 0x1000>;
				interrupts = <0 69 0>;
				clocks = <&car 93>;
				fifosize = <128>;
				dmas = <&dmac0 0>, <&dmac0 1>;
				dma-names = "rx", "tx";
				status = "disabled";
			};
			uart5: uart@18060000 {
				cell-index = <5>;
				compatible = "sirf,atlas7-uart";
				reg = <0x18060000 0x1000>;
				interrupts = <0 71 0>;
				clocks = <&car 94>;
				fifosize = <128>;
				dmas = <&dmac0 8>, <&dmac0 9>;
				dma-names = "rx", "tx";
				status = "disabled";
			};
			dspub@18250000 {
				compatible = "dx,cc44p";
				reg = <0x18250000 0x10000>;
				interrupts = <0 27 0>;
			};

			spi1: spi@18200000 {
				compatible = "sirf,prima2-spi";
				reg = <0x18200000 0x1000>;
				interrupts = <0 16 0>;
				clocks = <&car 95>;
				#address-cells = <1>;
				#size-cells = <0>;
				dmas = <&dmac0 12>, <&dmac0 13>;
				dma-names = "rx", "tx";
				status = "disabled";
			};
		};


		gpum {
			compatible = "arteris, flexnoc", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x13000000 0x13000000 0x3000>;
			gpum@0x13000000 {
				compatible = "sirf,nocfw-gpum";
				reg = <0x13000000 0x3000>;
			};
		};

		mediam {
			compatible = "arteris, flexnoc", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x16000000 0x16000000 0x00200000>,
				<0x17020000 0x17020000 0x1000>,
				<0x17030000 0x17030000 0x1000>,
				<0x17040000 0x17040000 0x1000>,
				<0x17050000 0x17050000 0x10000>,
				<0x17060000 0x17060000 0x200>,
				<0x17060200 0x17060200 0x100>,
				<0x17070000 0x17070000 0x200>,
				<0x17070200 0x17070200 0x100>,
				<0x170A0000 0x170A0000 0x3000>;

			mediam@170A0000 {
				compatible = "sirf,nocfw-mediam";
				reg = <0x170A0000 0x3000>;
			};

			gpio_0: gpio_mediam@17040000 {
				#gpio-cells = <2>;
				#interrupt-cells = <2>;
				compatible = "sirf,atlas7-gpio";
				reg = <0x17040000 0x1000>;
				interrupts = <0 13 0>, <0 14 0>;
				clocks = <&car 107>;
				clock-names = "gpio0_io";
				gpio-controller;
				interrupt-controller;
			};

			nand@17050000 {
				compatible = "sirf,atlas7-nand";
				reg = <0x17050000 0x10000>;
				interrupts = <0 41 0>;
				clocks = <&car 108>, <&car 112>;
				clock-names = "nand_io", "nand_nand";
			};

			sd0: sdhci@16000000 {
				cell-index = <0>;
				compatible = "sirf,atlas7-sdhc";
				reg = <0x16000000 0x100000>;
				interrupts = <0 38 0>;
				clocks = <&car 109>, <&car 111>;
				clock-names = "core", "iface";
				wp-inverted;
				non-removable;
				status = "disabled";
				bus-width = <8>;
			};

			sd1: sdhci@16100000 {
				cell-index = <1>;
				compatible = "sirf,atlas7-sdhc";
				reg = <0x16100000 0x100000>;
				interrupts = <0 38 0>;
				clocks = <&car 109>, <&car 111>;
				clock-names = "core", "iface";
				non-removable;
				status = "disabled";
				bus-width = <8>;
			};

			usb0: usb@17060000 {
				cell-index = <0>;
				compatible = "sirf,atlas7-usb";
				reg = <0x17060000 0x200>;
				interrupts = <0 10 0>;
				clocks = <&car 113>;
				sirf,usbphy = <&usbphy0>;
				phy_type = "utmi";
				dr_mode = "otg";
				maximum-speed = "high-speed";
				status = "okay";
			};

			usb1: usb@17070000 {
				cell-index = <1>;
				compatible = "sirf,atlas7-usb";
				reg = <0x17070000 0x200>;
				interrupts = <0 11 0>;
				clocks = <&car 114>;
				sirf,usbphy = <&usbphy1>;
				phy_type = "utmi";
				dr_mode = "host";
				maximum-speed = "high-speed";
				status = "okay";
			};

			usbphy0: usbphy@0 {
				compatible = "sirf,atlas7-usbphy";
				reg = <0x17060200 0x100>;
				clocks = <&car 115>;
				status = "okay";
			};

			usbphy1: usbphy@1 {
				compatible = "sirf,atlas7-usbphy";
				reg = <0x17070200 0x100>;
				clocks = <&car 116>;
				status = "okay";
			};

			i2c0: i2c@17020000 {
				cell-index = <0>;
				compatible = "sirf,prima2-i2c";
				reg = <0x17020000 0x1000>;
				interrupts = <0 24 0>;
				clocks = <&car 105>;
				#address-cells = <1>;
				#size-cells = <0>;
			};

		};

		vdifm {
			compatible = "arteris, flexnoc", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x13290000 0x13290000 0x3000>,
				<0x13300000 0x13300000 0x1000>,
				<0x14200000 0x14200000 0x600000>;

			vdifm@13290000 {
				compatible = "sirf,nocfw-vdifm";
				reg = <0x13290000 0x3000>;
			};

			gpio_1: gpio_vdifm@13300000 {
				#gpio-cells = <2>;
				#interrupt-cells = <2>;
				compatible = "sirf,atlas7-gpio";
				reg = <0x13300000 0x1000>;
				interrupts = <0 43 0>, <0 44 0>, <0 45 0>;
				clocks = <&car 84>;
				clock-names = "gpio1_io";
				gpio-controller;
				interrupt-controller;
			};

			sd2: sdhci@14200000 {
				cell-index = <2>;
				compatible = "sirf,atlas7-sdhc";
				reg = <0x14200000 0x100000>;
				interrupts = <0 23 0>;
				clocks = <&car 70>, <&car 75>;
				clock-names = "core", "iface";
				status = "disabled";
				bus-width = <4>;
				sd-uhs-sdr50;
				vqmmc-supply = <&vqmmc>;
				vqmmc: vqmmc@2 {
					regulator-min-microvolt = <1650000>;
					regulator-max-microvolt = <1950000>;
					regulator-name = "vqmmc-ldo";
					regulator-type = "voltage";
					regulator-boot-on;
					regulator-allow-bypass;
				};
			};

			sd3: sdhci@14300000 {
				cell-index = <3>;
				compatible = "sirf,atlas7-sdhc";
				reg = <0x14300000 0x100000>;
				interrupts = <0 23 0>;
				clocks = <&car 76>, <&car 81>;
				clock-names = "core", "iface";
				status = "disabled";
				bus-width = <4>;
			};

			sd5: sdhci@14500000 {
				cell-index = <5>;
				compatible = "sirf,atlas7-sdhc";
				reg = <0x14500000 0x100000>;
				interrupts = <0 39 0>;
				clocks = <&car 71>, <&car 76>;
				clock-names = "core", "iface";
				status = "disabled";
				bus-width = <4>;
				loop-dma;
			};

			sd6: sdhci@14600000 {
				cell-index = <6>;
				compatible = "sirf,atlas7-sdhc";
				reg = <0x14600000 0x100000>;
				interrupts = <0 98 0>;
				clocks = <&car 72>, <&car 77>;
				clock-names = "core", "iface";
				status = "disabled";
				bus-width = <4>;
			};

			sd7: sdhci@14700000 {
				cell-index = <7>;
				compatible = "sirf,atlas7-sdhc";
				reg = <0x14700000 0x100000>;
				interrupts = <0 98 0>;
				clocks = <&car 72>, <&car 77>;
				clock-names = "core", "iface";
				status = "disabled";
				bus-width = <4>;
			};
		};

		audiom {
			compatible = "arteris, flexnoc", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x10d50000 0x10d50000 0x0000ffff>,
					<0x10d60000 0x10d60000 0x0000ffff>,
					<0x10d80000 0x10d80000 0x0000ffff>,
					<0x10d90000 0x10d90000 0x0000ffff>,
					<0x10ED0000 0x10ED0000 0x3000>,
					<0x10dc8000 0x10dc8000 0x1000>,
					<0x10dc0000 0x10dc0000 0x1000>,
					<0x10db0000 0x10db0000 0x4000>,
					<0x10d40000 0x10d40000 0x1000>,
					<0x10d30000 0x10d30000 0x1000>;

			timer@10dc0000 {
				compatible = "sirf,atlas7-tick";
				reg = <0x10dc0000 0x1000>;
				interrupts = <0 0 0>,
					   <0 1 0>,
					   <0 2 0>,
					   <0 49 0>,
					   <0 50 0>,
					   <0 51 0>;
				clocks = <&car 47>;
			};

			timerb@10dc8000 {
					compatible = "sirf,atlas7-tick";
					reg = <0x10dc8000 0x1000>;
					interrupts = <0 74 0>,
							   <0 75 0>,
							   <0 76 0>,
							   <0 77 0>,
							   <0 78 0>,
							   <0 79 0>;
					clocks = <&car 47>;
			};

			vip0@10db0000 {
				compatible = "sirf,atlas7-vip0";
				reg = <0x10db0000 0x2000>;
				interrupts = <0 85 0>;
				sirf,vip_cma_size = <0xC00000>;
			};

			cvd@10db2000 {
				compatible = "sirf,cvd";
				reg = <0x10db2000 0x2000>;
				clocks = <&car 46>;
			};

			dmac2: dma-controller@10d50000 {
				cell-index = <2>;
				compatible = "sirf,atlas7-dmac";
				reg = <0x10d50000 0xffff>;
				interrupts = <0 55 0>;
				clocks = <&car 60>;
				dma-channels = <16>;
				#dma-cells = <1>;
			};

			dmac3: dma-controller@10d60000 {
				cell-index = <3>;
				compatible = "sirf,atlas7-dmac";
				reg = <0x10d60000 0xffff>;
				interrupts = <0 56 0>;
				clocks = <&car 61>;
				dma-channels = <16>;
				#dma-cells = <1>;
			};

			adc: adc@10d80000 {
				compatible = "sirf,atlas7-adc";
				reg = <0x10d80000 0xffff>;
				interrupts = <0 34 0>;
				clocks = <&car 49>;
				#io-channel-cells = <1>;
			};

			pulsec@10d90000 {
				compatible = "sirf,prima2-pulsec";
				reg = <0x10d90000 0xffff>;
				interrupts = <0 42 0>;
				clocks = <&car 54>;
			};

			audiom@10ED0000 {
				compatible = "sirf,nocfw-audiom";
				reg = <0x10ED0000 0x3000>;
				interrupts = <0 102 0>;
			};

			usp1: usp@10d30000 {
				cell-index = <1>;
				reg = <0x10d30000 0x1000>;
				fifosize = <512>;
				clocks = <&car 58>;
				dmas = <&dmac2 6>, <&dmac2 7>;
				dma-names = "rx", "tx";
			};

			usp2: usp@10d40000 {
				cell-index = <2>;
				reg = <0x10d40000 0x1000>;
				interrupts = <0 22 0>;
				clocks = <&car 59>;
				dmas = <&dmac2 12>, <&dmac2 13>;
				dma-names = "rx", "tx";
				#address-cells = <1>;
				#size-cells = <0>;
				status = "disabled";
			};
		};

		ddrm {
			compatible = "arteris, flexnoc", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x10820000 0x10820000 0x3000>,
					<0x10800000 0x10800000 0x2000>;
			ddrm@10820000 {
				compatible = "sirf,nocfw-ddrm";
				reg = <0x10820000 0x3000>;
				interrupts = <0 105 0>;
			};

			memory-controller@0x10800000 {
				compatible = "sirf,atlas7-memc";
				reg = <0x10800000 0x2000>;
			};

		};

		btm {
			compatible = "arteris, flexnoc", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x11002000 0x11002000 0x0000ffff>,
			       <0x11010000 0x11010000 0x3000>,
			       <0x11000000 0x11000000 0x1000>,
			       <0x11001000 0x11001000 0x1000>;

			dmac4: dma-controller@11002000 {
				cell-index = <4>;
				compatible = "sirf,atlas7-dmac";
				reg = <0x11002000 0x1000>;
				interrupts = <0 99 0>;
				clocks = <&car 130>;
				dma-channels = <16>;
				#dma-cells = <1>;
			};
			uart6: uart@11000000 {
				cell-index = <6>;
				compatible = "sirf,atlas7-bt-uart",
						"sirf,atlas7-uart";
				reg = <0x11000000 0x1000>;
				interrupts = <0 100 0>;
				clocks = <&car 131>, <&car 133>, <&car 134>;
				clock-names = "uart", "general", "noc";
				fifosize = <128>;
				dmas = <&dmac4 12>, <&dmac4 13>;
				dma-names = "rx", "tx";
				status = "disabled";
			};

			usp3: usp@11001000 {
				compatible = "sirf,atlas7-bt-usp",
					   "sirf,prima2-usp-pcm";
				cell-index = <3>;
				reg = <0x11001000 0x1000>;
				fifosize = <512>;
				clocks = <&car 132>, <&car 129>, <&car 133>,
					<&car 134>, <&car 135>;
				clock-names = "usp3_io", "a7ca_btss", "a7ca_io",
					"noc_btm_io", "thbtm_io";
				dmas = <&dmac4 0>, <&dmac4 1>;
				dma-names = "rx", "tx";
			};

			btm@11010000 {
				compatible = "sirf,nocfw-btm";
				reg = <0x11010000 0x3000>;
			};
		};

		rtcm {
			compatible = "arteris, flexnoc", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x18810000 0x18810000 0x3000>,
				<0x18840000 0x18840000 0x1000>,
				<0x18890000 0x18890000 0x1000>,
				<0x188B0000 0x188B0000 0x10000>,
				<0x188D0000 0x188D0000 0x1000>;
			rtcm@18810000 {
				compatible = "sirf,nocfw-rtcm";
				reg = <0x18810000 0x3000>;
				interrupts = <0 109 0>;
			};

			gpio_2: gpio_rtcm@18890000 {
				#gpio-cells = <2>;
				#interrupt-cells = <2>;
				compatible = "sirf,atlas7-gpio";
				reg = <0x18890000 0x1000>;
				interrupts = <0 47 0>;
				gpio-controller;
				interrupt-controller;
			};

			rtc-iobg@18840000 {
				compatible = "sirf,prima2-rtciobg",
					"sirf-prima2-rtciobg-bus",
					"simple-bus";
				#address-cells = <1>;
				#size-cells = <1>;
				reg = <0x18840000 0x1000>;

				sysrtc@2000 {
					compatible = "sirf,prima2-sysrtc";
					reg = <0x2000 0x100>;
					interrupts = <0 52 0>;
				};
				pwrc@3000 {
					compatible = "sirf,atlas7-pwrc";
					reg = <0x3000 0x100>;
				};
			};

			qspi: flash@188B0000 {
				cell-index = <0>;
				compatible = "sirf,atlas7-qspi-nor";
				reg = <0x188B0000 0x10000>;
				interrupts = <0 15 0>;
				#address-cells = <1>;
				#size-cells = <0>;
			};

			retain@0x188D0000 {
				compatible = "sirf,atlas7-retain";
				reg = <0x188D0000 0x1000>;
			};

		};
		disp-iobg {
			/* lcdc0 */
			compatible = "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x13100000 0x13100000 0x20000>,
				 <0x10e10000 0x10e10000 0x10000>;

			lcd@13100000 {
				compatible = "sirf,atlas7-lcdc";
				reg = <0x13100000 0x10000>;
				interrupts = <0 30 0>;
				clocks = <&car 79>;
			};
			vpp@13110000 {
				compatible = "sirf,atlas7-vpp";
				reg = <0x13110000 0x10000>;
				interrupts = <0 31 0>;
				clocks = <&car 78>;
				resets = <&car 29>;
			};
			lvds@10e10000 {
				compatible = "sirf,atlas7-lvdsc";
				reg = <0x10e10000 0x10000>;
				interrupts = <0 64 0>;
				clocks = <&car 54>;
				resets = <&car 29>;
			};

		};

		graphics-iobg {
			compatible = "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0x12000000 0x12000000 0x1000000>;

			graphics@12000000 {
				compatible = "powervr,sgx531";
				reg = <0x12000000 0x1000000>;
				interrupts = <0 6 0>;
				clocks = <&car 126>;
			};
		};
	};
};
