Linux Audio

Check our new training course

Yocto distribution development and maintenance

Need a Yocto distribution for your embedded project?
Loading...
Note: File does not exist in v6.9.4.
  1// SPDX-License-Identifier: GPL-2.0
  2/*
  3 * Samsung's Exynos4210 based Trats board device tree source
  4 *
  5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
  6 *		http://www.samsung.com
  7 *
  8 * Device tree source file for Samsung's Trats board which is based on
  9 * Samsung's Exynos4210 SoC.
 10 */
 11
 12/dts-v1/;
 13#include "exynos4210.dtsi"
 14#include <dt-bindings/gpio/gpio.h>
 15
 16/ {
 17	model = "Samsung Trats based on Exynos4210";
 18	compatible = "samsung,trats", "samsung,exynos4210", "samsung,exynos4";
 19
 20	memory@40000000 {
 21		device_type = "memory";
 22		reg =  <0x40000000 0x10000000
 23			0x50000000 0x10000000
 24			0x60000000 0x10000000
 25			0x70000000 0x10000000>;
 26	};
 27
 28	chosen {
 29		bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
 30		stdout-path = &serial_2;
 31	};
 32
 33	regulators {
 34		compatible = "simple-bus";
 35
 36		vemmc_reg: regulator-0 {
 37			compatible = "regulator-fixed";
 38			regulator-name = "VMEM_VDD_2.8V";
 39			regulator-min-microvolt = <2800000>;
 40			regulator-max-microvolt = <2800000>;
 41			gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
 42			enable-active-high;
 43		};
 44
 45		tsp_reg: regulator-1 {
 46			compatible = "regulator-fixed";
 47			regulator-name = "TSP_FIXED_VOLTAGES";
 48			regulator-min-microvolt = <2800000>;
 49			regulator-max-microvolt = <2800000>;
 50			gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>;
 51			enable-active-high;
 52		};
 53
 54		cam_af_28v_reg: regulator-2 {
 55			compatible = "regulator-fixed";
 56			regulator-name = "8M_AF_2.8V_EN";
 57			regulator-min-microvolt = <2800000>;
 58			regulator-max-microvolt = <2800000>;
 59			gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>;
 60			enable-active-high;
 61		};
 62
 63		cam_io_en_reg: regulator-3 {
 64			compatible = "regulator-fixed";
 65			regulator-name = "CAM_IO_EN";
 66			regulator-min-microvolt = <2800000>;
 67			regulator-max-microvolt = <2800000>;
 68			gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>;
 69			enable-active-high;
 70		};
 71
 72		cam_io_12v_reg: regulator-4 {
 73			compatible = "regulator-fixed";
 74			regulator-name = "8M_1.2V_EN";
 75			regulator-min-microvolt = <1200000>;
 76			regulator-max-microvolt = <1200000>;
 77			gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>;
 78			enable-active-high;
 79		};
 80
 81		vt_core_15v_reg: regulator-5 {
 82			compatible = "regulator-fixed";
 83			regulator-name = "VT_CORE_1.5V";
 84			regulator-min-microvolt = <1500000>;
 85			regulator-max-microvolt = <1500000>;
 86			gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>;
 87			enable-active-high;
 88		};
 89	};
 90
 91	gpio-keys {
 92		compatible = "gpio-keys";
 93
 94		vol-down-key {
 95			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
 96			linux,code = <114>;
 97			label = "volume down";
 98			debounce-interval = <10>;
 99		};
100
101		vol-up-key {
102			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
103			linux,code = <115>;
104			label = "volume up";
105			debounce-interval = <10>;
106		};
107
108		power-key {
109			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
110			linux,code = <116>;
111			label = "power";
112			debounce-interval = <10>;
113			wakeup-source;
114		};
115
116		ok-key {
117			gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
118			linux,code = <352>;
119			label = "ok";
120			debounce-interval = <10>;
121		};
122	};
123
124	fixed-rate-clocks {
125		xxti {
126			compatible = "samsung,clock-xxti";
127			clock-frequency = <0>;
128		};
129
130		xusbxti {
131			compatible = "samsung,clock-xusbxti";
132			clock-frequency = <24000000>;
133		};
134	};
135
136	thermal-zones {
137		cpu_thermal: cpu-thermal {
138			cooling-maps {
139				map0 {
140				     /* Corresponds to 800MHz at freq_table */
141				     cooling-device = <&cpu0 2 2>;
142				};
143				map1 {
144				     /* Corresponds to 200MHz at freq_table */
145				     cooling-device = <&cpu0 4 4>;
146			       };
147		       };
148		};
149	};
150
151};
152
153&camera {
154	pinctrl-names = "default";
155	pinctrl-0 = <>;
156	status = "okay";
157};
158
159&cpu0 {
160	cpu0-supply = <&varm_breg>;
161};
162
163&dsi_0 {
164	vddcore-supply = <&vusb_reg>;
165	vddio-supply = <&vmipi_reg>;
166	samsung,burst-clock-frequency = <500000000>;
167	samsung,esc-clock-frequency = <20000000>;
168	samsung,pll-clock-frequency = <24000000>;
169	status = "okay";
170
171	panel@0 {
172		reg = <0>;
173		compatible = "samsung,s6e8aa0";
174		vdd3-supply = <&vcclcd_reg>;
175		vci-supply = <&vlcd_reg>;
176		reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
177		power-on-delay= <50>;
178		reset-delay = <100>;
179		init-delay = <100>;
180		flip-horizontal;
181		flip-vertical;
182		panel-width-mm = <58>;
183		panel-height-mm = <103>;
184
185		display-timings {
186			timing-0 {
187				clock-frequency = <57153600>;
188				hactive = <720>;
189				vactive = <1280>;
190				hfront-porch = <5>;
191				hback-porch = <5>;
192				hsync-len = <5>;
193				vfront-porch = <13>;
194				vback-porch = <1>;
195				vsync-len = <2>;
196			};
197		};
198	};
199};
200
201&exynos_usbphy {
202	status = "okay";
203	vbus-supply = <&safe1_sreg>;
204};
205
206&fimc_0 {
207	status = "okay";
208	assigned-clocks = <&clock CLK_MOUT_FIMC0>,
209			  <&clock CLK_SCLK_FIMC0>;
210	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
211	assigned-clock-rates = <0>, <160000000>;
212};
213
214&fimc_1 {
215	status = "okay";
216	assigned-clocks = <&clock CLK_MOUT_FIMC1>,
217			  <&clock CLK_SCLK_FIMC1>;
218	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
219	assigned-clock-rates = <0>, <160000000>;
220};
221
222&fimc_2 {
223	status = "okay";
224	assigned-clocks = <&clock CLK_MOUT_FIMC2>,
225			  <&clock CLK_SCLK_FIMC2>;
226	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
227		assigned-clock-rates = <0>, <160000000>;
228};
229
230&fimc_3 {
231	status = "okay";
232	assigned-clocks = <&clock CLK_MOUT_FIMC3>,
233			  <&clock CLK_SCLK_FIMC3>;
234	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
235	assigned-clock-rates = <0>, <160000000>;
236};
237
238&fimd {
239	status = "okay";
240};
241
242&hsotg {
243	vusb_d-supply = <&vusb_reg>;
244	vusb_a-supply = <&vusbdac_reg>;
245	dr_mode = "peripheral";
246	status = "okay";
247};
248
249&i2c_3 {
250	samsung,i2c-sda-delay = <100>;
251	samsung,i2c-slave-addr = <0x10>;
252	samsung,i2c-max-bus-freq = <400000>;
253	pinctrl-0 = <&i2c3_bus>;
254	pinctrl-names = "default";
255	status = "okay";
256
257	mms114-touchscreen@48 {
258		compatible = "melfas,mms114";
259		reg = <0x48>;
260		interrupt-parent = <&gpx0>;
261		interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
262		x-size = <720>;
263		y-size = <1280>;
264		avdd-supply = <&tsp_reg>;
265		vdd-supply = <&tsp_reg>;
266	};
267};
268
269&i2c_5 {
270	samsung,i2c-sda-delay = <100>;
271	samsung,i2c-slave-addr = <0x10>;
272	samsung,i2c-max-bus-freq = <100000>;
273	pinctrl-0 = <&i2c5_bus>;
274	pinctrl-names = "default";
275	status = "okay";
276
277	max8997_pmic@66 {
278		compatible = "maxim,max8997-pmic";
279		interrupts-extended = <&gpx0 7 0>, <&gpx2 3 0>;
280
281		reg = <0x66>;
282		interrupt-parent = <&gpx0>;
283		interrupts = <7 IRQ_TYPE_NONE>;
284
285		max8997,pmic-buck1-uses-gpio-dvs;
286		max8997,pmic-buck2-uses-gpio-dvs;
287		max8997,pmic-buck5-uses-gpio-dvs;
288
289		max8997,pmic-ignore-gpiodvs-side-effect;
290		max8997,pmic-buck125-default-dvs-idx = <0>;
291
292		max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
293						 <&gpx0 6 GPIO_ACTIVE_HIGH>,
294						 <&gpl0 0 GPIO_ACTIVE_HIGH>;
295
296		max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
297						 <1250000>, <1200000>,
298						 <1150000>, <1100000>,
299						 <1000000>, <950000>;
300
301		max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
302						 <950000>,  <900000>,
303						 <1100000>, <1000000>,
304						 <950000>,  <900000>;
305
306		max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
307						 <1200000>, <1200000>,
308						 <1200000>, <1200000>,
309						 <1200000>, <1200000>;
310
311		regulators {
312			valive_reg: LDO2 {
313			     regulator-name = "VALIVE_1.1V_C210";
314			     regulator-min-microvolt = <1100000>;
315			     regulator-max-microvolt = <1100000>;
316			     regulator-always-on;
317			};
318
319			vusb_reg: LDO3 {
320			     regulator-name = "VUSB_1.1V_C210";
321			     regulator-min-microvolt = <1100000>;
322			     regulator-max-microvolt = <1100000>;
323			};
324
325			vmipi_reg: LDO4 {
326			     regulator-name = "VMIPI_1.8V";
327			     regulator-min-microvolt = <1800000>;
328			     regulator-max-microvolt = <1800000>;
329			};
330
331			vpda_reg: LDO6 {
332			     regulator-name = "VCC_1.8V_PDA";
333			     regulator-min-microvolt = <1800000>;
334			     regulator-max-microvolt = <1800000>;
335			     regulator-always-on;
336			};
337
338			vcam_reg: LDO7 {
339			     regulator-name = "CAM_ISP_1.8V";
340			     regulator-min-microvolt = <1800000>;
341			     regulator-max-microvolt = <1800000>;
342			};
343
344			vusbdac_reg: LDO8 {
345			     regulator-name = "VUSB+VDAC_3.3V_C210";
346			     regulator-min-microvolt = <3300000>;
347			     regulator-max-microvolt = <3300000>;
348			};
349
350			vccpda_reg: LDO9 {
351			     regulator-name = "VCC_2.8V_PDA";
352			     regulator-min-microvolt = <2800000>;
353			     regulator-max-microvolt = <2800000>;
354			     regulator-always-on;
355			};
356
357			vpll_reg: LDO10 {
358			     regulator-name = "VPLL_1.1V_C210";
359			     regulator-min-microvolt = <1100000>;
360			     regulator-max-microvolt = <1100000>;
361			     regulator-always-on;
362			};
363
364			vtcam_reg: LDO12 {
365			     regulator-name = "VT_CAM_1.8V";
366			     regulator-min-microvolt = <1800000>;
367			     regulator-max-microvolt = <1800000>;
368			};
369
370			vcclcd_reg: LDO13 {
371			     regulator-name = "VCC_3.3V_LCD";
372			     regulator-min-microvolt = <3300000>;
373			     regulator-max-microvolt = <3300000>;
374			};
375
376			vlcd_reg: LDO15 {
377			     regulator-name = "VLCD_2.2V";
378			     regulator-min-microvolt = <2200000>;
379			     regulator-max-microvolt = <2200000>;
380			};
381
382			camsensor_reg: LDO16 {
383			     regulator-name = "CAM_SENSOR_IO_1.8V";
384			     regulator-min-microvolt = <1800000>;
385			     regulator-max-microvolt = <1800000>;
386			};
387
388			vddq_reg: LDO21 {
389			     regulator-name = "VDDQ_M1M2_1.2V";
390			     regulator-min-microvolt = <1200000>;
391			     regulator-max-microvolt = <1200000>;
392			     regulator-always-on;
393			};
394
395			varm_breg: BUCK1 {
396			     /*
397			      * HACK: The real name is VARM_1.2V_C210,
398			      * but exynos-cpufreq does not support
399			      * DT-based regulator lookup yet.
400			      */
401			     regulator-name = "vdd_arm";
402			     regulator-min-microvolt = <900000>;
403			     regulator-max-microvolt = <1350000>;
404			     regulator-always-on;
405			};
406
407			vint_breg: BUCK2 {
408			     regulator-name = "VINT_1.1V_C210";
409			     regulator-min-microvolt = <900000>;
410			     regulator-max-microvolt = <1100000>;
411			     regulator-always-on;
412			};
413
414			camisp_breg: BUCK4 {
415			     regulator-name = "CAM_ISP_CORE_1.2V";
416			     regulator-min-microvolt = <1200000>;
417			     regulator-max-microvolt = <1200000>;
418			};
419
420			vmem_breg: BUCK5 {
421			     regulator-name = "VMEM_1.2V_C210";
422			     regulator-min-microvolt = <1200000>;
423			     regulator-max-microvolt = <1200000>;
424			     regulator-always-on;
425			};
426
427			vccsub_breg: BUCK7 {
428			     regulator-name = "VCC_SUB_2.0V";
429			     regulator-min-microvolt = <2000000>;
430			     regulator-max-microvolt = <2000000>;
431			     regulator-always-on;
432			};
433
434			safe1_sreg: ESAFEOUT1 {
435			     regulator-name = "SAFEOUT1";
436			};
437
438			safe2_sreg: ESAFEOUT2 {
439			     regulator-name = "SAFEOUT2";
440			     regulator-boot-on;
441			};
442		};
443	};
444};
445
446&sdhci_0 {
447	bus-width = <8>;
448	non-removable;
449	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
450	pinctrl-names = "default";
451	vmmc-supply = <&vemmc_reg>;
452	status = "okay";
453};
454
455&serial_0 {
456	status = "okay";
457};
458
459&serial_1 {
460	status = "okay";
461};
462
463&serial_2 {
464	status = "okay";
465};
466
467&serial_3 {
468	status = "okay";
469};
470
471&tmu {
472	status = "okay";
473};