/*
 * Hardkernel's Exynos4412 based ODROID-X2 board device tree source
 *
 * Copyright (c) 2012 Dongjin Kim <tobetter@gmail.com>
 *
 * Device tree source file for Hardkernel's ODROID-X2 board which is based
 * on Samsung's Exynos4412 SoC.
 *
 * 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.
*/

#include "exynos4412-odroidx.dts"
#include "exynos4412-prime.dtsi"

/ {
	model = "Hardkernel ODROID-X2 board based on Exynos4412";
	compatible = "hardkernel,odroid-x2", "samsung,exynos4412", "samsung,exynos4";

	memory@40000000 {
		device_type = "memory";
		reg = <0x40000000 0x7FF00000>;
	};
};

/* VDDQ for MSHC (eMMC card) */
&buck8_reg {
	regulator-name = "BUCK8_VDDQ_MMC4_2.8V";
	regulator-min-microvolt = <2800000>;
	regulator-max-microvolt = <2800000>;
};

&mshc_0 {
	vqmmc-supply = <&buck8_reg>;
};

&sound {
	simple-audio-card,name = "Odroid-X2";
	simple-audio-card,widgets =
		"Headphone", "Headphone Jack",
		"Microphone", "Mic Jack",
		"Microphone", "DMIC";
	simple-audio-card,routing =
		"Headphone Jack", "HPL",
		"Headphone Jack", "HPR",
		"IN1", "Mic Jack",
		"Mic Jack", "MICBIAS";
};
