1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's Exynos4210 based SMDKV310 board device tree source
4 *
5 * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
6 *		http://www.samsung.com
7 * Copyright (c) 2010-2011 Linaro Ltd.
8 *		www.linaro.org
9 *
10 * Device tree source file for Samsung's SMDKV310 board which is based on
11 * Samsung's Exynos4210 SoC.
12 */
13
14/dts-v1/;
15#include "exynos4210.dtsi"
16#include <dt-bindings/gpio/gpio.h>
17#include "exynos-mfc-reserved-memory.dtsi"
18
19/ {
20	model = "Samsung smdkv310 evaluation board based on Exynos4210";
21	compatible = "samsung,smdkv310", "samsung,exynos4210", "samsung,exynos4";
22
23	memory@40000000 {
24		device_type = "memory";
25		reg = <0x40000000 0x80000000>;
26	};
27
28	aliases {
29		mmc0 = &sdhci_2;
30	};
31
32	chosen {
33		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc";
34		stdout-path = "serial1:115200n8";
35	};
36
37	fixed-rate-clocks {
38		xxti {
39			compatible = "samsung,clock-xxti";
40			clock-frequency = <12000000>;
41		};
42
43		xusbxti {
44			compatible = "samsung,clock-xusbxti";
45			clock-frequency = <24000000>;
46		};
47
48		pmic_ap_clk: pmic-ap-clk {
49			/* Workaround for missing clock on PMIC */
50			compatible = "fixed-clock";
51			#clock-cells = <0>;
52			clock-frequency = <32768>;
53		};
54	};
55};
56
57&cpu_thermal {
58	cooling-maps {
59		map0 {
60			/* Corresponds to 800MHz */
61			cooling-device = <&cpu0 2 2>;
62		};
63		map1 {
64			/* Corresponds to 200MHz */
65			cooling-device = <&cpu0 4 4>;
66		};
67	};
68};
69
70&i2c_0 {
71	#address-cells = <1>;
72	#size-cells = <0>;
73	samsung,i2c-sda-delay = <100>;
74	samsung,i2c-max-bus-freq = <100000>;
75	status = "okay";
76
77	eeprom@50 {
78		compatible = "samsung,24ad0xd1";
79		reg = <0x50>;
80	};
81
82	eeprom@52 {
83		compatible = "samsung,24ad0xd1";
84		reg = <0x52>;
85	};
86};
87
88&keypad {
89	samsung,keypad-num-rows = <2>;
90	samsung,keypad-num-columns = <8>;
91	linux,keypad-no-autorepeat;
92	wakeup-source;
93	pinctrl-names = "default";
94	pinctrl-0 = <&keypad_rows &keypad_cols>;
95	status = "okay";
96
97	key-1 {
98		keypad,row = <0>;
99		keypad,column = <3>;
100		linux,code = <2>;
101	};
102
103	key-2 {
104		keypad,row = <0>;
105		keypad,column = <4>;
106		linux,code = <3>;
107	};
108
109	key-3 {
110		keypad,row = <0>;
111		keypad,column = <5>;
112		linux,code = <4>;
113	};
114
115	key-4 {
116		keypad,row = <0>;
117		keypad,column = <6>;
118		linux,code = <5>;
119	};
120
121	key-5 {
122		keypad,row = <0>;
123		keypad,column = <7>;
124		linux,code = <6>;
125	};
126
127	key-a {
128		keypad,row = <1>;
129		keypad,column = <3>;
130		linux,code = <30>;
131	};
132
133	key-b {
134		keypad,row = <1>;
135		keypad,column = <4>;
136		linux,code = <48>;
137	};
138
139	key-c {
140		keypad,row = <1>;
141		keypad,column = <5>;
142		linux,code = <46>;
143	};
144
145	key-d {
146		keypad,row = <1>;
147		keypad,column = <6>;
148		linux,code = <32>;
149	};
150
151	key-e {
152		keypad,row = <1>;
153		keypad,column = <7>;
154		linux,code = <18>;
155	};
156};
157
158&pinctrl_1 {
159	keypad_rows: keypad-rows-pins {
160		samsung,pins = "gpx2-0", "gpx2-1";
161		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
162		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
163		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
164	};
165
166	keypad_cols: keypad-cols-pins {
167		samsung,pins = "gpx1-0", "gpx1-1", "gpx1-2", "gpx1-3",
168			       "gpx1-4", "gpx1-5", "gpx1-6", "gpx1-7";
169		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
170		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
171		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
172	};
173};
174
175&rtc {
176	clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
177	clock-names = "rtc", "rtc_src";
178};
179
180&sdhci_2 {
181	bus-width = <4>;
182	pinctrl-names = "default";
183	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
184	status = "okay";
185};
186
187&serial_0 {
188	status = "okay";
189};
190
191&serial_1 {
192	status = "okay";
193};
194
195&serial_2 {
196	status = "okay";
197};
198
199&serial_3 {
200	status = "okay";
201};
202
203&spi_2 {
204	cs-gpios = <&gpc1 2 GPIO_ACTIVE_HIGH>;
205	status = "okay";
206
207	flash@0 {
208		#address-cells = <1>;
209		#size-cells = <1>;
210		compatible = "winbond,w25x80", "jedec,spi-nor";
211		reg = <0>;
212		spi-max-frequency = <1000000>;
213
214		controller-data {
215			samsung,spi-feedback-delay = <0>;
216		};
217
218		partition@0 {
219			label = "U-Boot";
220			reg = <0x0 0x40000>;
221			read-only;
222		};
223
224		partition@40000 {
225			label = "Kernel";
226			reg = <0x40000 0xc0000>;
227		};
228	};
229};
230