/*
 * 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@0 {
		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>;
			};
		};
	};
};
