• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's Exynos4210 based Universal C210 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 Universal C210 board which is based on
9 * Samsung's Exynos4210 rev0 SoC.
10 */
11
12/dts-v1/;
13#include "exynos4210.dtsi"
14#include <dt-bindings/gpio/gpio.h>
15
16/ {
17	model = "Samsung Universal C210 based on Exynos4210 rev0";
18	compatible = "samsung,universal_c210", "samsung,exynos4210", "samsung,exynos4";
19
20	memory@40000000 {
21		device_type = "memory";
22		reg =  <0x40000000 0x10000000
23			0x50000000 0x10000000>;
24	};
25
26	chosen {
27		bootargs = "root=/dev/mmcblk0p5 rw rootwait earlyprintk panic=5 maxcpus=1";
28		stdout-path = "serial2:115200n8";
29	};
30
31
32	fixed-rate-clocks {
33		xxti {
34			compatible = "samsung,clock-xxti";
35			clock-frequency = <0>;
36		};
37
38		xusbxti {
39			compatible = "samsung,clock-xusbxti";
40			clock-frequency = <24000000>;
41		};
42	};
43
44	vemmc_reg: voltage-regulator {
45	        compatible = "regulator-fixed";
46		regulator-name = "VMEM_VDD_2_8V";
47		regulator-min-microvolt = <2800000>;
48		regulator-max-microvolt = <2800000>;
49		gpio = <&gpe1 3 GPIO_ACTIVE_HIGH>;
50		enable-active-high;
51	};
52
53	gpio-keys {
54		compatible = "gpio-keys";
55
56		vol-up-key {
57			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
58			linux,code = <115>;
59			label = "volume up";
60			debounce-interval = <1>;
61		};
62
63		vol-down-key {
64			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
65			linux,code = <114>;
66			label = "volume down";
67			debounce-interval = <1>;
68		};
69
70		config-key {
71			gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
72			linux,code = <171>;
73			label = "config";
74			debounce-interval = <1>;
75			wakeup-source;
76		};
77
78		camera-key {
79			gpios = <&gpx2 3 GPIO_ACTIVE_LOW>;
80			linux,code = <212>;
81			label = "camera";
82			debounce-interval = <1>;
83		};
84
85		power-key {
86			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
87			linux,code = <116>;
88			label = "power";
89			debounce-interval = <1>;
90			wakeup-source;
91		};
92
93		ok-key {
94			gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
95			linux,code = <352>;
96			label = "ok";
97			debounce-interval = <1>;
98		};
99	};
100
101	tsp_reg: voltage-regulator {
102	        compatible = "regulator-fixed";
103		regulator-name = "TSP_2_8V";
104		regulator-min-microvolt = <2800000>;
105		regulator-max-microvolt = <2800000>;
106		gpio = <&gpe2 3 GPIO_ACTIVE_HIGH>;
107		enable-active-high;
108	};
109
110	spi-lcd {
111		compatible = "spi-gpio";
112		#address-cells = <1>;
113		#size-cells = <0>;
114
115		gpio-sck = <&gpy3 1 GPIO_ACTIVE_HIGH>;
116		gpio-mosi = <&gpy3 3 GPIO_ACTIVE_HIGH>;
117		num-chipselects = <1>;
118		cs-gpios = <&gpy4 3 GPIO_ACTIVE_LOW>;
119
120		lcd@0 {
121			compatible = "samsung,ld9040";
122			reg = <0>;
123			vdd3-supply = <&ldo7_reg>;
124			vci-supply = <&ldo17_reg>;
125			reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
126			spi-max-frequency = <1200000>;
127			power-on-delay = <10>;
128			reset-delay = <10>;
129			panel-width-mm = <90>;
130			panel-height-mm = <154>;
131			display-timings {
132				timing {
133					clock-frequency = <23492370>;
134					hactive = <480>;
135					vactive = <800>;
136					hback-porch = <16>;
137					hfront-porch = <16>;
138					vback-porch = <2>;
139					vfront-porch = <28>;
140					hsync-len = <2>;
141					vsync-len = <1>;
142					hsync-active = <0>;
143					vsync-active = <0>;
144					de-active = <0>;
145					pixelclk-active = <0>;
146				};
147			};
148			port {
149				lcd_ep: endpoint {
150					remote-endpoint = <&fimd_dpi_ep>;
151				};
152			};
153		};
154	};
155
156	hdmi_en: voltage-regulator-hdmi-5v {
157		compatible = "regulator-fixed";
158		regulator-name = "HDMI_5V";
159		regulator-min-microvolt = <5000000>;
160		regulator-max-microvolt = <5000000>;
161		gpio = <&gpe0 1 GPIO_ACTIVE_HIGH>;
162		enable-active-high;
163	};
164
165	hdmi_ddc: i2c-ddc {
166		compatible = "i2c-gpio";
167		gpios = <&gpe4 2 GPIO_ACTIVE_HIGH &gpe4 3 GPIO_ACTIVE_HIGH>;
168		i2c-gpio,delay-us = <100>;
169		#address-cells = <1>;
170		#size-cells = <0>;
171
172		pinctrl-0 = <&i2c_ddc_bus>;
173		pinctrl-names = "default";
174		status = "okay";
175	};
176};
177
178&amba {
179	mdma0: mdma@12840000 {
180		compatible = "arm,pl330", "arm,primecell";
181		reg = <0x12840000 0x1000>;
182		interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
183		clocks = <&clock CLK_MDMA>;
184		clock-names = "apb_pclk";
185		#dma-cells = <1>;
186		#dma-channels = <8>;
187		#dma-requests = <1>;
188		power-domains = <&pd_lcd0>;
189	};
190};
191
192&camera {
193	status = "okay";
194
195	pinctrl-names = "default";
196	pinctrl-0 = <>;
197};
198
199&cpu0 {
200	cpu0-supply = <&vdd_arm_reg>;
201};
202
203&ehci {
204	status = "okay";
205	phys = <&exynos_usbphy 1>;
206	phy-names = "host";
207};
208
209&exynos_usbphy {
210	status = "okay";
211	vbus-supply = <&safeout1_reg>;
212};
213
214&fimc_0 {
215	status = "okay";
216	assigned-clocks = <&clock CLK_MOUT_FIMC0>,
217			  <&clock CLK_SCLK_FIMC0>;
218	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
219	assigned-clock-rates = <0>, <160000000>;
220};
221
222&fimc_1 {
223	status = "okay";
224	assigned-clocks = <&clock CLK_MOUT_FIMC1>,
225			  <&clock CLK_SCLK_FIMC1>;
226	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
227	assigned-clock-rates = <0>, <160000000>;
228};
229
230&fimc_2 {
231	status = "okay";
232	assigned-clocks = <&clock CLK_MOUT_FIMC2>,
233			  <&clock CLK_SCLK_FIMC2>;
234	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
235	assigned-clock-rates = <0>, <160000000>;
236};
237
238&fimc_3 {
239	status = "okay";
240	assigned-clocks = <&clock CLK_MOUT_FIMC3>,
241			  <&clock CLK_SCLK_FIMC3>;
242	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
243	assigned-clock-rates = <0>, <160000000>;
244};
245
246&fimd {
247	pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
248	pinctrl-names = "default";
249	status = "okay";
250	samsung,invert-vden;
251	samsung,invert-vclk;
252	#address-cells = <1>;
253	#size-cells = <0>;
254	port@3 {
255		reg = <3>;
256		fimd_dpi_ep: endpoint {
257			remote-endpoint = <&lcd_ep>;
258		};
259	};
260};
261
262&gpu {
263	mali-supply = <&buck2_reg>;
264	status = "okay";
265};
266
267&hdmi {
268	hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
269	pinctrl-names = "default";
270	pinctrl-0 = <&hdmi_hpd>;
271	hdmi-en-supply = <&hdmi_en>;
272	vdd-supply = <&ldo3_reg>;
273	vdd_osc-supply = <&ldo4_reg>;
274	vdd_pll-supply = <&ldo3_reg>;
275	ddc = <&hdmi_ddc>;
276	status = "okay";
277};
278
279&hsotg {
280	vusb_d-supply = <&ldo3_reg>;
281	vusb_a-supply = <&ldo8_reg>;
282	dr_mode = "peripheral";
283	status = "okay";
284};
285
286&i2c_3 {
287	samsung,i2c-sda-delay = <100>;
288	samsung,i2c-slave-addr = <0x10>;
289	samsung,i2c-max-bus-freq = <100000>;
290	pinctrl-0 = <&i2c3_bus>;
291	pinctrl-names = "default";
292	status = "okay";
293
294	tsp@4a {
295		/* TBD: Atmel maXtouch touchscreen */
296		reg = <0x4a>;
297	};
298};
299
300&i2c_5 {
301	samsung,i2c-sda-delay = <100>;
302	samsung,i2c-slave-addr = <0x10>;
303	samsung,i2c-max-bus-freq = <100000>;
304	pinctrl-0 = <&i2c5_bus>;
305	pinctrl-names = "default";
306	status = "okay";
307
308	vdd_arm_reg: pmic@60 {
309		compatible = "maxim,max8952";
310		reg = <0x60>;
311
312		max8952,vid-gpios = <&gpx0 3 GPIO_ACTIVE_HIGH>,
313				    <&gpx0 4 GPIO_ACTIVE_HIGH>;
314		max8952,default-mode = <0>;
315		max8952,dvs-mode-microvolt = <1250000>, <1200000>,
316						<1050000>, <950000>;
317		max8952,sync-freq = <0>;
318		max8952,ramp-speed = <0>;
319
320		regulator-name = "vdd_arm";
321		regulator-min-microvolt = <770000>;
322		regulator-max-microvolt = <1400000>;
323		regulator-always-on;
324		regulator-boot-on;
325	};
326
327	pmic@66 {
328		compatible = "national,lp3974";
329		interrupts-extended = <&gpx0 7 0>, <&gpx2 7 0>;
330		pinctrl-names = "default";
331		pinctrl-0 = <&lp3974_irq>;
332		reg = <0x66>;
333
334		max8998,pmic-buck1-default-dvs-idx = <0>;
335		max8998,pmic-buck1-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
336						<&gpx0 6 GPIO_ACTIVE_HIGH>;
337		max8998,pmic-buck1-dvs-voltage = <1100000>, <1000000>,
338						<1100000>, <1000000>;
339
340		max8998,pmic-buck2-default-dvs-idx = <0>;
341		max8998,pmic-buck2-dvs-gpio = <&gpe2 0 GPIO_ACTIVE_HIGH>;
342		max8998,pmic-buck2-dvs-voltage = <1200000>, <1100000>;
343
344		regulators {
345			ldo2_reg: LDO2 {
346				regulator-name = "VALIVE_1.2V";
347				regulator-min-microvolt = <1200000>;
348				regulator-max-microvolt = <1200000>;
349				regulator-always-on;
350			};
351
352			ldo3_reg: LDO3 {
353				regulator-name = "VUSB+MIPI_1.1V";
354				regulator-min-microvolt = <1100000>;
355				regulator-max-microvolt = <1100000>;
356				regulator-always-on;
357			};
358
359			ldo4_reg: LDO4 {
360				regulator-name = "VADC_3.3V";
361				regulator-min-microvolt = <3300000>;
362				regulator-max-microvolt = <3300000>;
363			};
364
365			ldo5_reg: LDO5 {
366				regulator-name = "VTF_2.8V";
367				regulator-min-microvolt = <2800000>;
368				regulator-max-microvolt = <2800000>;
369			};
370
371			ldo6_reg: LDO6 {
372				regulator-name = "LDO6";
373				regulator-min-microvolt = <2000000>;
374				regulator-max-microvolt = <2000000>;
375			};
376
377			ldo7_reg: LDO7 {
378				regulator-name = "VLCD+VMIPI_1.8V";
379				regulator-min-microvolt = <1800000>;
380				regulator-max-microvolt = <1800000>;
381			};
382
383			ldo8_reg: LDO8 {
384				regulator-name = "VUSB+VDAC_3.3V";
385				regulator-min-microvolt = <3300000>;
386				regulator-max-microvolt = <3300000>;
387				regulator-always-on;
388			};
389
390			ldo9_reg: LDO9 {
391				regulator-name = "VCC_2.8V";
392				regulator-min-microvolt = <2800000>;
393				regulator-max-microvolt = <2800000>;
394				regulator-always-on;
395			};
396
397			ldo10_reg: LDO10 {
398				regulator-name = "VPLL_1.1V";
399				regulator-min-microvolt = <1100000>;
400				regulator-max-microvolt = <1100000>;
401				regulator-boot-on;
402				regulator-always-on;
403			};
404
405			ldo11_reg: LDO11 {
406				regulator-name = "CAM_AF_3.3V";
407				regulator-min-microvolt = <3300000>;
408				regulator-max-microvolt = <3300000>;
409			};
410
411			ldo12_reg: LDO12 {
412				regulator-name = "PS_2.8V";
413				regulator-min-microvolt = <2800000>;
414				regulator-max-microvolt = <2800000>;
415			};
416
417			ldo13_reg: LDO13 {
418				regulator-name = "VHIC_1.2V";
419				regulator-min-microvolt = <1200000>;
420				regulator-max-microvolt = <1200000>;
421			};
422
423			ldo14_reg: LDO14 {
424				regulator-name = "CAM_I_HOST_1.8V";
425				regulator-min-microvolt = <1800000>;
426				regulator-max-microvolt = <1800000>;
427			};
428
429			ldo15_reg: LDO15 {
430				regulator-name = "CAM_S_DIG+FM33_CORE_1.2V";
431				regulator-min-microvolt = <1200000>;
432				regulator-max-microvolt = <1200000>;
433			};
434
435			ldo16_reg: LDO16 {
436				regulator-name = "CAM_S_ANA_2.8V";
437				regulator-min-microvolt = <2800000>;
438				regulator-max-microvolt = <2800000>;
439			};
440
441			ldo17_reg: LDO17 {
442				regulator-name = "VCC_3.0V_LCD";
443				regulator-min-microvolt = <3000000>;
444				regulator-max-microvolt = <3000000>;
445			};
446
447			buck1_reg: BUCK1 {
448				regulator-name = "VINT_1.1V";
449				regulator-min-microvolt = <750000>;
450				regulator-max-microvolt = <1500000>;
451				regulator-boot-on;
452				regulator-always-on;
453			};
454
455			buck2_reg: BUCK2 {
456				regulator-name = "VG3D_1.1V";
457				regulator-min-microvolt = <750000>;
458				regulator-max-microvolt = <1500000>;
459				regulator-boot-on;
460			};
461
462			buck3_reg: BUCK3 {
463				regulator-name = "VCC_1.8V";
464				regulator-min-microvolt = <1800000>;
465				regulator-max-microvolt = <1800000>;
466				regulator-always-on;
467			};
468
469			buck4_reg: BUCK4 {
470				regulator-name = "VMEM_1.2V";
471				regulator-min-microvolt = <1200000>;
472				regulator-max-microvolt = <1200000>;
473				regulator-always-on;
474			};
475
476			ap32khz_reg: EN32KHz-AP {
477				regulator-name = "32KHz AP";
478				regulator-always-on;
479			};
480
481			cp32khz_reg: EN32KHz-CP {
482				regulator-name = "32KHz CP";
483			};
484
485			vichg_reg: ENVICHG {
486				regulator-name = "VICHG";
487			};
488
489			safeout1_reg: ESAFEOUT1 {
490				regulator-name = "SAFEOUT1";
491			};
492
493			safeout2_reg: ESAFEOUT2 {
494				regulator-name = "SAFEOUT2";
495				regulator-boot-on;
496			};
497		};
498	};
499};
500
501&i2c_8 {
502	status = "okay";
503};
504
505&mct {
506	compatible = "none";
507};
508
509&mdma1 {
510	/* Use the secure mdma0 */
511	status = "disabled";
512};
513
514&mixer {
515	status = "okay";
516};
517
518&ohci {
519	status = "okay";
520};
521
522&pinctrl_1 {
523	lp3974_irq: lp3974-irq {
524		samsung,pins = "gpx0-7", "gpx2-7";
525		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
526	};
527
528	hdmi_hpd: hdmi-hpd {
529		samsung,pins = "gpx3-7";
530		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
531	};
532};
533
534&pinctrl_0 {
535	i2c_ddc_bus: i2c-ddc-bus {
536		samsung,pins = "gpe4-2", "gpe4-3";
537		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
538		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
539		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
540	};
541};
542
543&pwm {
544	compatible = "samsung,s5p6440-pwm";
545	status = "okay";
546};
547
548&sdhci_0 {
549	bus-width = <8>;
550	non-removable;
551	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
552	pinctrl-names = "default";
553	vmmc-supply = <&vemmc_reg>;
554	status = "okay";
555};
556
557&sdhci_2 {
558	bus-width = <4>;
559	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
560	pinctrl-names = "default";
561	vmmc-supply = <&ldo5_reg>;
562	cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
563	status = "okay";
564};
565
566&serial_0 {
567	status = "okay";
568	/delete-property/dmas;
569	/delete-property/dma-names;
570};
571
572&serial_1 {
573	status = "okay";
574	/delete-property/dmas;
575	/delete-property/dma-names;
576};
577
578&serial_2 {
579	status = "okay";
580	/delete-property/dmas;
581	/delete-property/dma-names;
582};
583
584&serial_3 {
585	status = "okay";
586	/delete-property/dmas;
587	/delete-property/dma-names;
588};
589
590&sysram {
591	smp-sysram@0 {
592		status = "disabled";
593	};
594
595	smp-sysram@5000 {
596		compatible = "samsung,exynos4210-sysram";
597		reg = <0x5000 0x1000>;
598	};
599
600	smp-sysram@1f000 {
601		status = "disabled";
602	};
603};
604