/*
 * BSC9132 QDS Device Tree Source
 *
 * Copyright 2014 Freescale Semiconductor Inc.
 *
 * This program is free software; you can redistribute  it and/or modify it
 * under  the terms of  the GNU General  Public License as published by the
 * Free Software Foundation;  either version 2 of the  License, or (at your
 * option) any later version.
 */

/include/ "bsc9132si-pre.dtsi"

/ {
	model = "fsl,bsc9132qds";
	compatible = "fsl,bsc9132qds";

	memory {
		device_type = "memory";
	};

	ifc: ifc@ff71e000 {
		/* NOR, NAND Flash on board */
		ranges = <0x0 0x0 0x0 0x88000000 0x08000000
			  0x1 0x0 0x0 0xff800000 0x00010000>;
		reg = <0x0 0xff71e000 0x0 0x2000>;
	};

	soc: soc@ff700000 {
		ranges = <0x0 0x0 0xff700000 0x100000>;
	};
};

/include/ "bsc9132qds.dtsi"
/include/ "bsc9132si-post.dtsi"
