/*
 * O3DNT Device Tree Source
 *
 * Copyright (C) 2012 DENX Software Engineering
 * Anatolij Gustschin <agust@denx.de>
 *
 * 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/ "o2d.dtsi"

/ {
	model = "ifm,o3dnt";
	compatible = "ifm,o2d";

	memory@0 {
		reg = <0x00000000 0x04000000>;  // 64MB
	};

	localbus {
		ranges = <0 0 0xfc000000 0x01000000
			  3 0 0xe3000000 0x00100000>;

		flash@0,0 {
			compatible = "cfi-flash";
			reg = <0 0 0x01000000>;
			bank-width = <2>;
			device-width = <2>;
			#size-cells = <1>;
			#address-cells = <1>;

			partition@60000 {
				label = "kernel";
				reg = <0x00060000 0x00260000>;
				read-only;
			};

			/* o3dnt specific partitions */
			partition@2c0000 {
				label = "o3dnt user defined";
				reg = <0x002c0000 0x00d40000>;
			};
		};
	};
};
