Loading...
Note: File does not exist in v6.13.7.
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 Samsung Goni board.
11 */
12
13/dts-v1/;
14#include <dt-bindings/gpio/gpio.h>
15#include <dt-bindings/interrupt-controller/irq.h>
16#include <dt-bindings/input/input.h>
17#include "s5pv210.dtsi"
18
19/ {
20 model = "Samsung Goni based on S5PC110";
21 compatible = "samsung,goni", "samsung,s5pv210";
22
23 aliases {
24 i2c3 = &i2c_pmic;
25 };
26
27 chosen {
28 bootargs = "console=ttySAC0,115200n8 root=/dev/mmcblk0p5 rw rootwait ignore_loglevel earlyprintk";
29 };
30
31 memory@30000000 {
32 device_type = "memory";
33 reg = <0x30000000 0x05000000>,
34 <0x40000000 0x10000000>,
35 <0x50000000 0x08000000>;
36 };
37
38 pmic_ap_clk: clock-0 {
39 /* Workaround for missing clock on PMIC */
40 compatible = "fixed-clock";
41 #clock-cells = <0>;
42 clock-frequency = <32768>;
43 };
44
45 vtf_reg: regulator-0 {
46 compatible = "regulator-fixed";
47 regulator-name = "V_TF_2.8V";
48 regulator-min-microvolt = <2800000>;
49 regulator-max-microvolt = <2800000>;
50 gpio = <&mp05 4 GPIO_ACTIVE_HIGH>;
51 enable-active-high;
52 };
53
54 pda_reg: regulator-1 {
55 compatible = "regulator-fixed";
56 regulator-name = "VCC_1.8V_PDA";
57 regulator-min-microvolt = <1800000>;
58 regulator-max-microvolt = <1800000>;
59 };
60
61 bat_reg: regulator-2 {
62 compatible = "regulator-fixed";
63 regulator-name = "V_BAT";
64 regulator-min-microvolt = <3700000>;
65 regulator-max-microvolt = <3700000>;
66 };
67
68 tsp_reg: regulator-3 {
69 compatible = "regulator-fixed";
70 regulator-name = "TSP_VDD";
71 regulator-min-microvolt = <2800000>;
72 regulator-max-microvolt = <2800000>;
73 gpio = <&gpj1 3 GPIO_ACTIVE_HIGH>;
74 enable-active-high;
75 };
76
77 i2c_pmic: i2c-pmic {
78 compatible = "i2c-gpio";
79 sda-gpios = <&gpj4 0 GPIO_ACTIVE_HIGH>;
80 scl-gpios = <&gpj4 3 GPIO_ACTIVE_HIGH>;
81 i2c-gpio,delay-us = <2>; /* ~100 kHz */
82 #address-cells = <1>;
83 #size-cells = <0>;
84
85 pmic@66 {
86 compatible = "national,lp3974";
87 reg = <0x66>;
88
89 max8998,pmic-buck1-default-dvs-idx = <0>;
90 max8998,pmic-buck1-dvs-gpios = <&gph0 3 GPIO_ACTIVE_HIGH>,
91 <&gph0 4 GPIO_ACTIVE_HIGH>;
92 max8998,pmic-buck1-dvs-voltage = <1200000>, <1200000>,
93 <1200000>, <1200000>;
94
95 max8998,pmic-buck2-default-dvs-idx = <0>;
96 max8998,pmic-buck2-dvs-gpio = <&gph0 5 GPIO_ACTIVE_HIGH>;
97 max8998,pmic-buck2-dvs-voltage = <1200000>, <1200000>;
98
99 regulators {
100 ldo2_reg: LDO2 {
101 regulator-name = "VALIVE_1.1V";
102 regulator-min-microvolt = <1100000>;
103 regulator-max-microvolt = <1100000>;
104 regulator-always-on;
105 };
106
107 ldo3_reg: LDO3 {
108 regulator-name = "VUSB+MIPI_1.1V";
109 regulator-min-microvolt = <1100000>;
110 regulator-max-microvolt = <1100000>;
111 regulator-always-on;
112 };
113
114 ldo4_reg: LDO4 {
115 regulator-name = "VADC_3.3V";
116 regulator-min-microvolt = <3300000>;
117 regulator-max-microvolt = <3300000>;
118 };
119
120 ldo5_reg: LDO5 {
121 regulator-name = "VTF_2.8V";
122 regulator-min-microvolt = <2800000>;
123 regulator-max-microvolt = <2800000>;
124 };
125
126 ldo6_reg: LDO6 {
127 regulator-name = "VCC_3.3V";
128 regulator-min-microvolt = <3300000>;
129 regulator-max-microvolt = <3300000>;
130 };
131
132 ldo7_reg: LDO7 {
133 regulator-name = "VLCD_1.8V";
134 regulator-min-microvolt = <1800000>;
135 regulator-max-microvolt = <1800000>;
136 regulator-always-on;
137 };
138
139 ldo8_reg: LDO8 {
140 regulator-name = "VUSB+VDAC_3.3V";
141 regulator-min-microvolt = <3300000>;
142 regulator-max-microvolt = <3300000>;
143 };
144
145 ldo9_reg: LDO9 {
146 regulator-name = "VCC+VCAM_2.8V";
147 regulator-min-microvolt = <2800000>;
148 regulator-max-microvolt = <2800000>;
149 };
150
151 ldo10_reg: LDO10 {
152 regulator-name = "VPLL_1.1V";
153 regulator-min-microvolt = <1100000>;
154 regulator-max-microvolt = <1100000>;
155 regulator-boot-on;
156 };
157
158 ldo11_reg: LDO11 {
159 regulator-name = "CAM_IO_2.8V";
160 regulator-min-microvolt = <2800000>;
161 regulator-max-microvolt = <2800000>;
162 };
163
164 ldo12_reg: LDO12 {
165 regulator-name = "CAM_ISP_1.2V";
166 regulator-min-microvolt = <1200000>;
167 regulator-max-microvolt = <1200000>;
168 };
169
170 ldo13_reg: LDO13 {
171 regulator-name = "CAM_A_2.8V";
172 regulator-min-microvolt = <2800000>;
173 regulator-max-microvolt = <2800000>;
174 };
175
176 ldo14_reg: LDO14 {
177 regulator-name = "CAM_CIF_1.8V";
178 regulator-min-microvolt = <1800000>;
179 regulator-max-microvolt = <1800000>;
180 };
181
182 ldo15_reg: LDO15 {
183 regulator-name = "CAM_AF_3.3V";
184 regulator-min-microvolt = <3300000>;
185 regulator-max-microvolt = <3300000>;
186 };
187
188 ldo16_reg: LDO16 {
189 regulator-name = "VMIPI_1.8V";
190 regulator-min-microvolt = <1800000>;
191 regulator-max-microvolt = <1800000>;
192 };
193
194 ldo17_reg: LDO17 {
195 regulator-name = "CAM_8M_1.8V";
196 regulator-min-microvolt = <1800000>;
197 regulator-max-microvolt = <1800000>;
198 regulator-always-on;
199 };
200
201 buck1_reg: BUCK1 {
202 regulator-name = "VARM_1.2V";
203 regulator-min-microvolt = <1200000>;
204 regulator-max-microvolt = <1200000>;
205 };
206
207 buck2_reg: BUCK2 {
208 regulator-name = "VINT_1.2V";
209 regulator-min-microvolt = <1200000>;
210 regulator-max-microvolt = <1200000>;
211 };
212
213 buck3_reg: BUCK3 {
214 regulator-name = "VCC_1.8V";
215 regulator-min-microvolt = <1800000>;
216 regulator-max-microvolt = <1800000>;
217 regulator-always-on;
218 };
219
220 buck4_reg: BUCK4 {
221 regulator-name = "CAM_CORE_1.2V";
222 regulator-min-microvolt = <1200000>;
223 regulator-max-microvolt = <1200000>;
224 regulator-always-on;
225 };
226
227 ap32khz_reg: EN32KHz-AP {
228 regulator-name = "32KHz AP";
229 regulator-always-on;
230 };
231 };
232 };
233 };
234
235 gpio-keys {
236 compatible = "gpio-keys";
237
238 power-key {
239 gpios = <&gph2 6 1>;
240 linux,code = <KEY_POWER>;
241 label = "power";
242 debounce-interval = <1>;
243 wakeup-source;
244 };
245 };
246};
247
248&xusbxti {
249 clock-frequency = <24000000>;
250};
251
252&keypad {
253 linux,input-no-autorepeat;
254 wakeup-source;
255 samsung,keypad-num-rows = <3>;
256 samsung,keypad-num-columns = <3>;
257 pinctrl-names = "default";
258 pinctrl-0 = <&keypad_row0>, <&keypad_row1>, <&keypad_row2>,
259 <&keypad_col0>, <&keypad_col1>, <&keypad_col2>;
260 status = "okay";
261
262 key-1 {
263 keypad,row = <0>;
264 keypad,column = <1>;
265 linux,code = <KEY_CONNECT>;
266 };
267
268 key-2 {
269 keypad,row = <0>;
270 keypad,column = <2>;
271 linux,code = <KEY_BACK>;
272 };
273
274 key-3 {
275 keypad,row = <1>;
276 keypad,column = <1>;
277 linux,code = <KEY_CAMERA_FOCUS>;
278 };
279
280 key-4 {
281 keypad,row = <1>;
282 keypad,column = <2>;
283 linux,code = <KEY_VOLUMEUP>;
284 };
285
286 key-5 {
287 keypad,row = <2>;
288 keypad,column = <1>;
289 linux,code = <KEY_CAMERA>;
290 };
291
292 key-6 {
293 keypad,row = <2>;
294 keypad,column = <2>;
295 linux,code = <KEY_VOLUMEDOWN>;
296 };
297};
298
299&uart0 {
300 status = "okay";
301};
302
303&uart1 {
304 status = "okay";
305};
306
307&uart2 {
308 status = "okay";
309};
310
311&uart3 {
312 status = "okay";
313};
314
315&rtc {
316 clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>;
317 clock-names = "rtc", "rtc_src";
318};
319
320&sdhci0 {
321 bus-width = <4>;
322 non-removable;
323 vmmc-supply = <&ldo5_reg>;
324 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus1 &sd0_bus4>;
325 pinctrl-names = "default";
326 status = "okay";
327};
328
329&sdhci2 {
330 bus-width = <4>;
331 cd-gpios = <&gph3 4 1>;
332 vmmc-supply = <&vtf_reg>;
333 cd-inverted;
334 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
335 pinctrl-names = "default";
336 status = "okay";
337};
338
339&hsotg {
340 vusb_a-supply = <&ldo3_reg>;
341 vusb_d-supply = <&ldo8_reg>;
342 dr_mode = "peripheral";
343 status = "okay";
344};
345
346&usbphy {
347 status = "okay";
348};
349
350&i2c2 {
351 samsung,i2c-sda-delay = <100>;
352 samsung,i2c-max-bus-freq = <400000>;
353 samsung,i2c-slave-addr = <0x10>;
354 status = "okay";
355
356 touchscreen@4a {
357 compatible = "atmel,maxtouch";
358 reg = <0x4a>;
359 interrupt-parent = <&gpj0>;
360 interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
361 vdd-supply = <&tsp_reg>;
362 };
363};
364
365&i2c0 {
366 samsung,i2c-sda-delay = <100>;
367 samsung,i2c-max-bus-freq = <100000>;
368 samsung,i2c-slave-addr = <0x10>;
369 status = "okay";
370
371 noon010pc30: sensor@30 {
372 compatible = "siliconfile,noon010pc30";
373 reg = <0x30>;
374 vddio-supply = <&ldo11_reg>;
375 vdda-supply = <&ldo13_reg>;
376 vdd_core-supply = <&ldo14_reg>;
377
378 clock-frequency = <16000000>;
379 clocks = <&camera 0>;
380 clock-names = "mclk";
381 nreset-gpios = <&gpb 2 GPIO_ACTIVE_HIGH>;
382 nstby-gpios = <&gpb 0 GPIO_ACTIVE_HIGH>;
383
384 port {
385 noon010pc30_ep: endpoint {
386 remote-endpoint = <&fimc0_ep>;
387 bus-width = <8>;
388 hsync-active = <0>;
389 vsync-active = <1>;
390 pclk-sample = <1>;
391 };
392 };
393 };
394};
395
396&camera {
397 pinctrl-0 = <&cam_port_a_io &cam_port_a_clk_active>;
398 pinctrl-1 = <&cam_port_a_io &cam_port_a_clk_idle>;
399 pinctrl-names = "default", "idle";
400
401 parallel-ports {
402 #address-cells = <1>;
403 #size-cells = <0>;
404
405 /* camera A input */
406 port@1 {
407 reg = <1>;
408 fimc0_ep: endpoint {
409 remote-endpoint = <&noon010pc30_ep>;
410 bus-width = <8>;
411 hsync-active = <1>;
412 vsync-active = <1>;
413 pclk-sample = <0>;
414 };
415 };
416 };
417};
418
419&fimd {
420 pinctrl-0 = <&lcd_clk &lcd_data24>;
421 pinctrl-names = "default";
422 status = "okay";
423
424 display-timings {
425 native-mode = <&timing0>;
426 timing0: timing {
427 /* 480x800@55Hz */
428 clock-frequency = <23439570>;
429 hactive = <480>;
430 hfront-porch = <16>;
431 hback-porch = <16>;
432 hsync-len = <2>;
433 vactive = <800>;
434 vback-porch = <2>;
435 vfront-porch = <28>;
436 vsync-len = <1>;
437 hsync-active = <0>;
438 vsync-active = <0>;
439 de-active = <0>;
440 pixelclk-active = <0>;
441 };
442 };
443};
444
445&onenand {
446 status = "okay";
447};