/* Copyright (c) 2012, Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

/ {
	qcom,ion {
		compatible = "qcom,msm-ion";
		#address-cells = <1>;
		#size-cells = <0>;

		qcom,ion-heap@30 { /* SYSTEM HEAP */
			reg = <30>;
		};

		qcom,ion-heap@25 { /* IOMMU HEAP */
			reg = <25>;
		};

		qcom,ion-heap@28 { /* AUDIO HEAP */
			compatible = "qcom,msm-ion-reserve";
			reg = <28>;
			qcom,heap-align = <0x1000>;
			qcom,memory-reservation-type = "EBI1"; /* reserve EBI memory */
			qcom,memory-reservation-size = <0xAF000>;
		};
	};
};
