xref: /freebsd/sys/contrib/device-tree/src/arm/samsung/s5pv210-smdkv210.dts (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Samsung's S5PV210 SoC device tree source
4f126890aSEmmanuel Vadot *
5f126890aSEmmanuel Vadot * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.
6f126890aSEmmanuel Vadot *
7f126890aSEmmanuel Vadot * Mateusz Krawczuk <m.krawczuk@partner.samsung.com>
8f126890aSEmmanuel Vadot * Tomasz Figa <t.figa@samsung.com>
9f126890aSEmmanuel Vadot *
10f126890aSEmmanuel Vadot * Board device tree source for YIC System SMDV210 board.
11f126890aSEmmanuel Vadot *
12f126890aSEmmanuel Vadot * NOTE: This file is completely based on original board file for mach-smdkv210
13f126890aSEmmanuel Vadot * available in Linux 3.15 and intends to provide equivalent level of hardware
14f126890aSEmmanuel Vadot * support. Due to lack of hardware, _no_ testing has been performed.
15f126890aSEmmanuel Vadot */
16f126890aSEmmanuel Vadot
17f126890aSEmmanuel Vadot/dts-v1/;
18f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
19f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h>
20f126890aSEmmanuel Vadot#include "s5pv210.dtsi"
21f126890aSEmmanuel Vadot
22f126890aSEmmanuel Vadot/ {
23f126890aSEmmanuel Vadot	model = "YIC System SMDKV210 based on S5PV210";
24f126890aSEmmanuel Vadot	compatible = "yic,smdkv210", "samsung,s5pv210";
25f126890aSEmmanuel Vadot
26f126890aSEmmanuel Vadot	chosen {
27f126890aSEmmanuel Vadot		bootargs = "console=ttySAC0,115200n8 root=/dev/mmcblk0p1 rw rootwait ignore_loglevel earlyprintk";
28f126890aSEmmanuel Vadot	};
29f126890aSEmmanuel Vadot
30f126890aSEmmanuel Vadot	memory@20000000 {
31f126890aSEmmanuel Vadot		device_type = "memory";
32f126890aSEmmanuel Vadot		reg = <0x20000000 0x40000000>;
33f126890aSEmmanuel Vadot	};
34f126890aSEmmanuel Vadot
35f126890aSEmmanuel Vadot	pmic_ap_clk: clock-0 {
36f126890aSEmmanuel Vadot		/* Workaround for missing PMIC and its clock */
37f126890aSEmmanuel Vadot		compatible = "fixed-clock";
38f126890aSEmmanuel Vadot		#clock-cells = <0>;
39f126890aSEmmanuel Vadot		clock-frequency = <32768>;
40f126890aSEmmanuel Vadot	};
41f126890aSEmmanuel Vadot
42f126890aSEmmanuel Vadot	ethernet@a8000000 {
43f126890aSEmmanuel Vadot		compatible = "davicom,dm9000";
44*aa1a8ff2SEmmanuel Vadot		reg = <0xa8000000 0x2>, <0xa8000002 0x2>;
45f126890aSEmmanuel Vadot		interrupt-parent = <&gph1>;
46f126890aSEmmanuel Vadot		interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
47f126890aSEmmanuel Vadot		local-mac-address = [00 00 de ad be ef];
48f126890aSEmmanuel Vadot		davicom,no-eeprom;
49f126890aSEmmanuel Vadot	};
50f126890aSEmmanuel Vadot
51f126890aSEmmanuel Vadot	backlight {
52f126890aSEmmanuel Vadot		compatible = "pwm-backlight";
53f126890aSEmmanuel Vadot		pwms = <&pwm 3 5000000 0>;
54f126890aSEmmanuel Vadot		brightness-levels = <0 4 8 16 32 64 128 255>;
55f126890aSEmmanuel Vadot		default-brightness-level = <6>;
56f126890aSEmmanuel Vadot		pinctrl-names = "default";
57f126890aSEmmanuel Vadot		pinctrl-0 = <&pwm3_out>;
58f126890aSEmmanuel Vadot		power-supply = <&dc5v_reg>;
59f126890aSEmmanuel Vadot	};
60f126890aSEmmanuel Vadot
61f126890aSEmmanuel Vadot	dc5v_reg: regulator-0 {
62f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
63f126890aSEmmanuel Vadot		regulator-name = "DC5V";
64f126890aSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
65f126890aSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
66f126890aSEmmanuel Vadot	};
67f126890aSEmmanuel Vadot};
68f126890aSEmmanuel Vadot
69f126890aSEmmanuel Vadot&xusbxti {
70f126890aSEmmanuel Vadot	clock-frequency = <24000000>;
71f126890aSEmmanuel Vadot};
72f126890aSEmmanuel Vadot
73f126890aSEmmanuel Vadot&keypad {
74f126890aSEmmanuel Vadot	linux,input-no-autorepeat;
75f126890aSEmmanuel Vadot	wakeup-source;
76f126890aSEmmanuel Vadot	samsung,keypad-num-rows = <8>;
77f126890aSEmmanuel Vadot	samsung,keypad-num-columns = <8>;
78f126890aSEmmanuel Vadot	pinctrl-names = "default";
79f126890aSEmmanuel Vadot	pinctrl-0 = <&keypad_row0>, <&keypad_row1>, <&keypad_row2>,
80f126890aSEmmanuel Vadot			<&keypad_row3>, <&keypad_row4>, <&keypad_row5>,
81f126890aSEmmanuel Vadot			<&keypad_row6>, <&keypad_row7>,
82f126890aSEmmanuel Vadot			<&keypad_col0>, <&keypad_col1>, <&keypad_col2>,
83f126890aSEmmanuel Vadot			<&keypad_col3>, <&keypad_col4>, <&keypad_col5>,
84f126890aSEmmanuel Vadot			<&keypad_col6>, <&keypad_col7>;
85f126890aSEmmanuel Vadot	status = "okay";
86f126890aSEmmanuel Vadot
87f126890aSEmmanuel Vadot	key-1 {
88f126890aSEmmanuel Vadot		keypad,row = <0>;
89f126890aSEmmanuel Vadot		keypad,column = <3>;
90f126890aSEmmanuel Vadot		linux,code = <KEY_1>;
91f126890aSEmmanuel Vadot	};
92f126890aSEmmanuel Vadot
93f126890aSEmmanuel Vadot	key-2 {
94f126890aSEmmanuel Vadot		keypad,row = <0>;
95f126890aSEmmanuel Vadot		keypad,column = <4>;
96f126890aSEmmanuel Vadot		linux,code = <KEY_2>;
97f126890aSEmmanuel Vadot	};
98f126890aSEmmanuel Vadot
99f126890aSEmmanuel Vadot	key-3 {
100f126890aSEmmanuel Vadot		keypad,row = <0>;
101f126890aSEmmanuel Vadot		keypad,column = <5>;
102f126890aSEmmanuel Vadot		linux,code = <KEY_3>;
103f126890aSEmmanuel Vadot	};
104f126890aSEmmanuel Vadot
105f126890aSEmmanuel Vadot	key-4 {
106f126890aSEmmanuel Vadot		keypad,row = <0>;
107f126890aSEmmanuel Vadot		keypad,column = <6>;
108f126890aSEmmanuel Vadot		linux,code = <KEY_4>;
109f126890aSEmmanuel Vadot	};
110f126890aSEmmanuel Vadot
111f126890aSEmmanuel Vadot	key-5 {
112f126890aSEmmanuel Vadot		keypad,row = <0
113f126890aSEmmanuel Vadot		>;
114f126890aSEmmanuel Vadot		keypad,column = <7>;
115f126890aSEmmanuel Vadot		linux,code = <KEY_5>;
116f126890aSEmmanuel Vadot	};
117f126890aSEmmanuel Vadot
118f126890aSEmmanuel Vadot	key-6 {
119f126890aSEmmanuel Vadot		keypad,row = <1>;
120f126890aSEmmanuel Vadot		keypad,column = <3>;
121f126890aSEmmanuel Vadot		linux,code = <KEY_A>;
122f126890aSEmmanuel Vadot	};
123f126890aSEmmanuel Vadot	key-7 {
124f126890aSEmmanuel Vadot		keypad,row = <1>;
125f126890aSEmmanuel Vadot		keypad,column = <4>;
126f126890aSEmmanuel Vadot		linux,code = <KEY_B>;
127f126890aSEmmanuel Vadot	};
128f126890aSEmmanuel Vadot
129f126890aSEmmanuel Vadot	key-8 {
130f126890aSEmmanuel Vadot		keypad,row = <1>;
131f126890aSEmmanuel Vadot		keypad,column = <5>;
132f126890aSEmmanuel Vadot		linux,code = <KEY_C>;
133f126890aSEmmanuel Vadot	};
134f126890aSEmmanuel Vadot
135f126890aSEmmanuel Vadot	key-9 {
136f126890aSEmmanuel Vadot		keypad,row = <1>;
137f126890aSEmmanuel Vadot		keypad,column = <6>;
138f126890aSEmmanuel Vadot		linux,code = <KEY_D>;
139f126890aSEmmanuel Vadot	};
140f126890aSEmmanuel Vadot
141f126890aSEmmanuel Vadot	key-10 {
142f126890aSEmmanuel Vadot		keypad,row = <1>;
143f126890aSEmmanuel Vadot		keypad,column = <7>;
144f126890aSEmmanuel Vadot		linux,code = <KEY_E>;
145f126890aSEmmanuel Vadot	};
146f126890aSEmmanuel Vadot};
147f126890aSEmmanuel Vadot
148f126890aSEmmanuel Vadot&uart0 {
149f126890aSEmmanuel Vadot	status = "okay";
150f126890aSEmmanuel Vadot};
151f126890aSEmmanuel Vadot
152f126890aSEmmanuel Vadot&uart1 {
153f126890aSEmmanuel Vadot	status = "okay";
154f126890aSEmmanuel Vadot};
155f126890aSEmmanuel Vadot
156f126890aSEmmanuel Vadot&uart2 {
157f126890aSEmmanuel Vadot	status = "okay";
158f126890aSEmmanuel Vadot};
159f126890aSEmmanuel Vadot
160f126890aSEmmanuel Vadot&uart3 {
161f126890aSEmmanuel Vadot	status = "okay";
162f126890aSEmmanuel Vadot};
163f126890aSEmmanuel Vadot
164f126890aSEmmanuel Vadot&rtc {
165f126890aSEmmanuel Vadot	status = "okay";
166f126890aSEmmanuel Vadot	clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>;
167f126890aSEmmanuel Vadot	clock-names = "rtc", "rtc_src";
168f126890aSEmmanuel Vadot};
169f126890aSEmmanuel Vadot
170f126890aSEmmanuel Vadot&sdhci0 {
171f126890aSEmmanuel Vadot	bus-width = <4>;
172f126890aSEmmanuel Vadot	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus1 &sd0_bus4>;
173f126890aSEmmanuel Vadot	pinctrl-names = "default";
174f126890aSEmmanuel Vadot	status = "okay";
175f126890aSEmmanuel Vadot};
176f126890aSEmmanuel Vadot
177f126890aSEmmanuel Vadot&sdhci1 {
178f126890aSEmmanuel Vadot	bus-width = <4>;
179f126890aSEmmanuel Vadot	pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_cd &sd1_bus1 &sd1_bus4>;
180f126890aSEmmanuel Vadot	pinctrl-names = "default";
181f126890aSEmmanuel Vadot	status = "okay";
182f126890aSEmmanuel Vadot};
183f126890aSEmmanuel Vadot
184f126890aSEmmanuel Vadot&sdhci2 {
185f126890aSEmmanuel Vadot	bus-width = <4>;
186f126890aSEmmanuel Vadot	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
187f126890aSEmmanuel Vadot	pinctrl-names = "default";
188f126890aSEmmanuel Vadot	status = "okay";
189f126890aSEmmanuel Vadot};
190f126890aSEmmanuel Vadot
191f126890aSEmmanuel Vadot&sdhci3 {
192f126890aSEmmanuel Vadot	bus-width = <4>;
193f126890aSEmmanuel Vadot	pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_cd &sd3_bus1 &sd3_bus4>;
194f126890aSEmmanuel Vadot	pinctrl-names = "default";
195f126890aSEmmanuel Vadot	status = "okay";
196f126890aSEmmanuel Vadot};
197f126890aSEmmanuel Vadot
198f126890aSEmmanuel Vadot&hsotg {
199f126890aSEmmanuel Vadot	dr_mode = "peripheral";
200f126890aSEmmanuel Vadot	status = "okay";
201f126890aSEmmanuel Vadot};
202f126890aSEmmanuel Vadot
203f126890aSEmmanuel Vadot&usbphy {
204f126890aSEmmanuel Vadot	status = "okay";
205f126890aSEmmanuel Vadot};
206f126890aSEmmanuel Vadot
207f126890aSEmmanuel Vadot&fimd {
208f126890aSEmmanuel Vadot	pinctrl-0 = <&lcd_clk &lcd_data24>;
209f126890aSEmmanuel Vadot	pinctrl-names = "default";
210f126890aSEmmanuel Vadot	status = "okay";
211f126890aSEmmanuel Vadot
212f126890aSEmmanuel Vadot	display-timings {
213f126890aSEmmanuel Vadot		native-mode = <&timing0>;
214f126890aSEmmanuel Vadot
215f126890aSEmmanuel Vadot		timing0: timing {
216f126890aSEmmanuel Vadot			/* 800x480@60Hz */
217f126890aSEmmanuel Vadot			clock-frequency = <24373920>;
218f126890aSEmmanuel Vadot			hactive = <800>;
219f126890aSEmmanuel Vadot			vactive = <480>;
220f126890aSEmmanuel Vadot			hfront-porch = <8>;
221f126890aSEmmanuel Vadot			hback-porch = <13>;
222f126890aSEmmanuel Vadot			hsync-len = <3>;
223f126890aSEmmanuel Vadot			vback-porch = <7>;
224f126890aSEmmanuel Vadot			vfront-porch = <5>;
225f126890aSEmmanuel Vadot			vsync-len = <1>;
226f126890aSEmmanuel Vadot			hsync-active = <0>;
227f126890aSEmmanuel Vadot			vsync-active = <0>;
228f126890aSEmmanuel Vadot			de-active = <1>;
229f126890aSEmmanuel Vadot			pixelclk-active = <1>;
230f126890aSEmmanuel Vadot		};
231f126890aSEmmanuel Vadot	};
232f126890aSEmmanuel Vadot};
233f126890aSEmmanuel Vadot
234f126890aSEmmanuel Vadot&pwm {
235f126890aSEmmanuel Vadot	samsung,pwm-outputs = <3>;
236f126890aSEmmanuel Vadot};
237f126890aSEmmanuel Vadot
238f126890aSEmmanuel Vadot&i2c0 {
239f126890aSEmmanuel Vadot	status = "okay";
240f126890aSEmmanuel Vadot
241f126890aSEmmanuel Vadot	audio-codec@1b {
242f126890aSEmmanuel Vadot		compatible = "wlf,wm8580";
243f126890aSEmmanuel Vadot		reg = <0x1b>;
244f126890aSEmmanuel Vadot	};
245f126890aSEmmanuel Vadot
246f126890aSEmmanuel Vadot	eeprom@50 {
247f126890aSEmmanuel Vadot		compatible = "atmel,24c08";
248f126890aSEmmanuel Vadot		reg = <0x50>;
249f126890aSEmmanuel Vadot	};
250f126890aSEmmanuel Vadot};
251f126890aSEmmanuel Vadot
252f126890aSEmmanuel Vadot&i2s0 {
253f126890aSEmmanuel Vadot	status = "okay";
254f126890aSEmmanuel Vadot};
255