// SPDX-License-Identifier: GPL-2.0
/*
 * Samsung SMDK5410 board device tree source
 *
 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 */

/dts-v1/;
#include "exynos5410.dtsi"
#include <dt-bindings/interrupt-controller/irq.h>
/ {
	model = "Samsung SMDK5410 board based on Exynos5410";
	compatible = "samsung,smdk5410", "samsung,exynos5410", "samsung,exynos5";

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

	chosen {
		stdout-path = "serial2:115200n8";
	};

	fin_pll: xxti {
		compatible = "fixed-clock";
		clock-frequency = <24000000>;
		clock-output-names = "fin_pll";
		#clock-cells = <0>;
	};

	pmic_ap_clk: pmic-ap-clk {
		/* Workaround for missing PMIC and its clock */
		compatible = "fixed-clock";
		#clock-cells = <0>;
		clock-frequency = <32768>;
	};

	firmware@2037000 {
		compatible = "samsung,secure-firmware";
		reg = <0x02037000 0x1000>;
	};

};

&mmc_0 {
	status = "okay";
	cap-mmc-highspeed;
	broken-cd;
	card-detect-delay = <200>;
	samsung,dw-mshc-ciu-div = <3>;
	samsung,dw-mshc-sdr-timing = <2 3>;
	samsung,dw-mshc-ddr-timing = <1 2>;
	bus-width = <8>;
};

&mmc_2 {
	status = "okay";
	cap-sd-highspeed;
	card-detect-delay = <200>;
	samsung,dw-mshc-ciu-div = <3>;
	samsung,dw-mshc-sdr-timing = <2 3>;
	samsung,dw-mshc-ddr-timing = <1 2>;
	bus-width = <4>;
	disable-wp;
};

&pinctrl_0 {
	srom_ctl: srom-ctl {
		samsung,pins = "gpy0-3", "gpy0-4", "gpy0-5",
			       "gpy1-0", "gpy1-1", "gpy1-2", "gpy1-3";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};

	srom_ebi: srom-ebi {
		samsung,pins = "gpy3-0", "gpy3-1", "gpy3-2", "gpy3-3",
			       "gpy3-4", "gpy3-5", "gpy3-6", "gpy3-7",
			       "gpy5-0", "gpy5-1", "gpy5-2", "gpy5-3",
			       "gpy5-4", "gpy5-5", "gpy5-6", "gpy5-7",
			       "gpy6-0", "gpy6-1", "gpy6-2", "gpy6-3",
			       "gpy6-4", "gpy6-5", "gpy6-6", "gpy6-7";
		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
		samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
	};
};

&rtc {
	clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
	clock-names = "rtc", "rtc_src";
};

&sromc {
	pinctrl-names = "default";
	pinctrl-0 = <&srom_ctl>, <&srom_ebi>;

	ethernet@3,0 {
		compatible = "smsc,lan9115";
		reg = <3 0 0x10000>;
		phy-mode = "mii";
		interrupt-parent = <&gpx0>;
		interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
		reg-io-width = <2>;
		smsc,irq-push-pull;
		smsc,force-internal-phy;

		samsung,srom-page-mode;
		samsung,srom-timing = <9 12 1 9 1 1>;
	};
};

&serial_0 {
	status = "okay";
};

&serial_1 {
	status = "okay";
};

&serial_2 {
	status = "okay";
};
