/*
 * Samsung's Exynos SoC MFC (Video Codec) reserved memory common definition.
 *
 * Copyright (c) 2016 Samsung Electronics Co., Ltd
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

/ {
	reserved-memory {
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		mfc_left: region_mfc_left {
			compatible = "shared-dma-pool";
			no-map;
			size = <0x2400000>;
			alignment = <0x100000>;
		};

		mfc_right: region_mfc_right {
			compatible = "shared-dma-pool";
			no-map;
			size = <0x800000>;
			alignment = <0x100000>;
		};
	};
};

&mfc {
	memory-region = <&mfc_left>, <&mfc_right>;
};
