/*
 * O2D 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,o2d";
	compatible = "ifm,o2d";

	memory {
		reg = <0x00000000 0x08000000>;  // 128MB
	};

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

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

			partition@60000 {
				label = "kernel";
				reg = <0x00060000 0x00260000>;
				read-only;
			};
			/* o2d specific partitions */
			partition@2c0000 {
				label = "o2d user defined";
				reg = <0x002c0000 0x01d40000>;
			};
		};
	};
};
