/*
 * Samsung's Exynos4210 based Universal C210 board device tree source
 *
 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * SPDX-License-Identifier:	GPL-2.0+
 */

/dts-v1/;
#include "exynos4210.dtsi"

/ {
	model = "Samsung Universal C210 based on Exynos4210 rev0";
	compatible = "samsung,universal_c210", "samsung,exynos4210";

	aliases {
		serial0 = "/serial@13800000";
		console = "/serial@13820000";
		mmc0 = "/sdhci@12510000";
		mmc2 = "/sdhci@12530000";
	};

	sdhci@12510000 {
		samsung,bus-width = <8>;
		samsung,timing = <1 3 3>;
		pwr-gpios = <&gpk0 2 0>;
	};

	sdhci@12520000 {
		status = "disabled";
	};

	sdhci@12530000 {
		samsung,bus-width = <4>;
		samsung,timing = <1 2 3>;
		cd-gpios = <&gpx3 4 0>;
	};

	sdhci@12540000 {
		status = "disabled";
	};

	soft-spi {
		compatible = "spi-gpio";
		cs-gpios = <&gpy4 3 0>;
		gpio-sck = <&gpy3 1 0>;
		gpio-mosi = <&gpy3 3 0>;
		gpio-miso = <&gpy3 0 0>;
		spi-delay-us = <1>;
		#address-cells = <1>;
		#size-cells = <0>;
		cs@0 {
		};
	};

	fimd@11c00000 {
		compatible = "samsung,exynos-fimd";
		reg = <0x11c00000 0xa4>;

		samsung,vl-freq = <60>;
		samsung,vl-col = <480>;
		samsung,vl-row = <800>;
		samsung,vl-width = <480>;
		samsung,vl-height = <800>;

		samsung,vl-clkp = <0>;
		samsung,vl-oep = <0>;
		samsung,vl-hsp = <1>;
		samsung,vl-vsp = <1>;
		samsung,vl-dp = <1>;
		samsung,vl-bpix = <4>;

		samsung,vl-hspw = <2>;
		samsung,vl-hbpd = <16>;
		samsung,vl-hfpd = <16>;
		samsung,vl-vspw = <2>;
		samsung,vl-vbpd = <8>;
		samsung,vl-vfpd = <8>;
		samsung,vl-cmd-allow-len = <0xf>;

		samsung,pclk_name = <1>;
		samsung,sclk_div = <1>;

		samsung,winid = <0>;
		samsung,power-on-delay = <10000>;
		samsung,interface-mode = <1>;
		samsung,mipi-enabled = <0>;
		samsung,dp-enabled;
		samsung,dual-lcd-enabled;

		samsung,logo-on = <1>;
		samsung,resolution = <0>;
		samsung,rgb-mode = <0>;
	};
};
