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	chosen {
29		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc";
30		stdout-path = "serial1:115200n8";
31	};
32
33	fixed-rate-clocks {
34		xxti {
35			compatible = "samsung,clock-xxti";
36			clock-frequency = <12000000>;
37		};
38
39		xusbxti {
40			compatible = "samsung,clock-xusbxti";
41			clock-frequency = <24000000>;
42		};
43	};
44};
45
46&i2c_0 {
47	#address-cells = <1>;
48	#size-cells = <0>;
49	samsung,i2c-sda-delay = <100>;
50	samsung,i2c-max-bus-freq = <100000>;
51	status = "okay";
52
53	eeprom@50 {
54		compatible = "samsung,24ad0xd1";
55		reg = <0x50>;
56	};
57
58	eeprom@52 {
59		compatible = "samsung,24ad0xd1";
60		reg = <0x52>;
61	};
62};
63
64&keypad {
65	samsung,keypad-num-rows = <2>;
66	samsung,keypad-num-columns = <8>;
67	linux,keypad-no-autorepeat;
68	wakeup-source;
69	pinctrl-names = "default";
70	pinctrl-0 = <&keypad_rows &keypad_cols>;
71	status = "okay";
72
73	key_1 {
74		keypad,row = <0>;
75		keypad,column = <3>;
76		linux,code = <2>;
77	};
78
79	key_2 {
80		keypad,row = <0>;
81		keypad,column = <4>;
82		linux,code = <3>;
83	};
84
85	key_3 {
86		keypad,row = <0>;
87		keypad,column = <5>;
88		linux,code = <4>;
89	};
90
91	key_4 {
92		keypad,row = <0>;
93		keypad,column = <6>;
94		linux,code = <5>;
95	};
96
97	key_5 {
98		keypad,row = <0>;
99		keypad,column = <7>;
100		linux,code = <6>;
101	};
102
103	key_a {
104		keypad,row = <1>;
105		keypad,column = <3>;
106		linux,code = <30>;
107	};
108
109	key_b {
110		keypad,row = <1>;
111		keypad,column = <4>;
112		linux,code = <48>;
113	};
114
115	key_c {
116		keypad,row = <1>;
117		keypad,column = <5>;
118		linux,code = <46>;
119	};
120
121	key_d {
122		keypad,row = <1>;
123		keypad,column = <6>;
124		linux,code = <32>;
125	};
126
127	key_e {
128		keypad,row = <1>;
129		keypad,column = <7>;
130		linux,code = <18>;
131	};
132};
133
134&pinctrl_1 {
135	keypad_rows: keypad-rows {
136		samsung,pins = "gpx2-0", "gpx2-1";
137		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
138		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
139		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
140	};
141
142	keypad_cols: keypad-cols {
143		samsung,pins = "gpx1-0", "gpx1-1", "gpx1-2", "gpx1-3",
144			       "gpx1-4", "gpx1-5", "gpx1-6", "gpx1-7";
145		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
146		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
147		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
148	};
149};
150
151&sdhci_2 {
152	bus-width = <4>;
153	pinctrl-names = "default";
154	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
155	status = "okay";
156};
157
158&serial_0 {
159	status = "okay";
160};
161
162&serial_1 {
163	status = "okay";
164};
165
166&serial_2 {
167	status = "okay";
168};
169
170&serial_3 {
171	status = "okay";
172};
173
174&spi_2 {
175	cs-gpios = <&gpc1 2 GPIO_ACTIVE_HIGH>;
176	status = "okay";
177
178	w25x80@0 {
179		#address-cells = <1>;
180		#size-cells = <1>;
181		compatible = "w25x80";
182		reg = <0>;
183		spi-max-frequency = <1000000>;
184
185		controller-data {
186			samsung,spi-feedback-delay = <0>;
187		};
188
189		partition@0 {
190			label = "U-Boot";
191			reg = <0x0 0x40000>;
192			read-only;
193		};
194
195		partition@40000 {
196			label = "Kernel";
197			reg = <0x40000 0xc0000>;
198		};
199	};
200};
201