1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's Exynos4412 based SMDK board device tree source
4 *
5 * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
6 *		http://www.samsung.com
7 *
8 * Device tree source file for Samsung's SMDK4412 board which is based on
9 * Samsung's Exynos4412 SoC.
10 */
11
12/dts-v1/;
13#include "exynos4412.dtsi"
14#include "exynos-mfc-reserved-memory.dtsi"
15
16/ {
17	model = "Samsung SMDK evaluation board based on Exynos4412";
18	compatible = "samsung,smdk4412", "samsung,exynos4412", "samsung,exynos4";
19
20	memory@40000000 {
21		device_type = "memory";
22		reg = <0x40000000 0x40000000>;
23	};
24
25	chosen {
26		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc";
27		stdout-path = "serial1:115200n8";
28	};
29
30	fixed-rate-clocks {
31		xxti {
32			compatible = "samsung,clock-xxti";
33			clock-frequency = <0>;
34		};
35
36		xusbxti {
37			compatible = "samsung,clock-xusbxti";
38			clock-frequency = <24000000>;
39		};
40	};
41};
42
43&keypad {
44	samsung,keypad-num-rows = <3>;
45	samsung,keypad-num-columns = <8>;
46	linux,keypad-no-autorepeat;
47	wakeup-source;
48	pinctrl-0 = <&keypad_rows &keypad_cols>;
49	pinctrl-names = "default";
50	status = "okay";
51
52	key_1 {
53		keypad,row = <1>;
54		keypad,column = <3>;
55		linux,code = <2>;
56	};
57
58	key_2 {
59		keypad,row = <1>;
60		keypad,column = <4>;
61		linux,code = <3>;
62	};
63
64	key_3 {
65		keypad,row = <1>;
66		keypad,column = <5>;
67		linux,code = <4>;
68	};
69
70	key_4 {
71		keypad,row = <1>;
72		keypad,column = <6>;
73		linux,code = <5>;
74	};
75
76	key_5 {
77		keypad,row = <1>;
78		keypad,column = <7>;
79		linux,code = <6>;
80	};
81
82	key_A {
83		keypad,row = <2>;
84		keypad,column = <6>;
85		linux,code = <30>;
86	};
87
88	key_B {
89		keypad,row = <2>;
90		keypad,column = <7>;
91		linux,code = <48>;
92	};
93
94	key_C {
95		keypad,row = <0>;
96		keypad,column = <5>;
97		linux,code = <46>;
98	};
99
100	key_D {
101		keypad,row = <2>;
102		keypad,column = <5>;
103		linux,code = <32>;
104	};
105
106	key_E {
107		keypad,row = <0>;
108		keypad,column = <7>;
109		linux,code = <18>;
110	};
111};
112
113&pinctrl_1 {
114	keypad_rows: keypad-rows {
115		samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
116		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
117		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
118		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
119	};
120
121	keypad_cols: keypad-cols {
122		samsung,pins = "gpx1-0", "gpx1-1", "gpx1-2", "gpx1-3",
123			       "gpx1-4", "gpx1-5", "gpx1-6", "gpx1-7";
124		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
125		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
126		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
127	};
128};
129
130&sdhci_2 {
131	bus-width = <4>;
132	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
133	pinctrl-names = "default";
134	status = "okay";
135};
136
137&serial_0 {
138	status = "okay";
139};
140
141&serial_1 {
142	status = "okay";
143};
144
145&serial_2 {
146	status = "okay";
147};
148
149&serial_3 {
150	status = "okay";
151};
152