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