1/*
2 * SAMSUNG Exynos5433 TM2 board device tree source
3 *
4 * Copyright (c) 2016 Samsung Electronics Co., Ltd.
5 *
6 * Device tree source file for Samsung's TM2 board which is based on
7 * Samsung Exynos5433 SoC.
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License version 2 as
11 * published by the Free Software Foundation.
12 */
13
14/dts-v1/;
15#include "exynos5433.dtsi"
16#include <dt-bindings/clock/samsung,s2mps11.h>
17#include <dt-bindings/gpio/gpio.h>
18#include <dt-bindings/input/input.h>
19#include <dt-bindings/interrupt-controller/irq.h>
20
21/ {
22	model = "Samsung TM2 board";
23	compatible = "samsung,tm2", "samsung,exynos5433";
24
25	aliases {
26		gsc0 = &gsc_0;
27		gsc1 = &gsc_1;
28		gsc2 = &gsc_2;
29		pinctrl0 = &pinctrl_alive;
30		pinctrl1 = &pinctrl_aud;
31		pinctrl2 = &pinctrl_cpif;
32		pinctrl3 = &pinctrl_ese;
33		pinctrl4 = &pinctrl_finger;
34		pinctrl5 = &pinctrl_fsys;
35		pinctrl6 = &pinctrl_imem;
36		pinctrl7 = &pinctrl_nfc;
37		pinctrl8 = &pinctrl_peric;
38		pinctrl9 = &pinctrl_touch;
39		serial0 = &serial_0;
40		serial1 = &serial_1;
41		serial2 = &serial_2;
42		serial3 = &serial_3;
43		spi0 = &spi_0;
44		spi1 = &spi_1;
45		spi2 = &spi_2;
46		spi3 = &spi_3;
47		spi4 = &spi_4;
48		mshc0 = &mshc_0;
49		mshc2 = &mshc_2;
50	};
51
52	chosen {
53		stdout-path = &serial_1;
54	};
55
56	memory@20000000 {
57		device_type = "memory";
58		reg = <0x0 0x20000000 0x0 0xc0000000>;
59	};
60
61	gpio-keys {
62		compatible = "gpio-keys";
63
64		power-key {
65			gpios = <&gpa2 7 GPIO_ACTIVE_LOW>;
66			linux,code = <KEY_POWER>;
67			label = "power key";
68			debounce-interval = <10>;
69		};
70
71		volume-up-key {
72			gpios = <&gpa2 0 GPIO_ACTIVE_LOW>;
73			linux,code = <KEY_VOLUMEUP>;
74			label = "volume-up key";
75			debounce-interval = <10>;
76		};
77
78		volume-down-key {
79			gpios = <&gpa2 1 GPIO_ACTIVE_LOW>;
80			linux,code = <KEY_VOLUMEDOWN>;
81			label = "volume-down key";
82			debounce-interval = <10>;
83		};
84
85		homepage-key {
86			gpios = <&gpa0 3 GPIO_ACTIVE_LOW>;
87			linux,code = <KEY_MENU>;
88			label = "homepage key";
89			debounce-interval = <10>;
90		};
91	};
92
93	i2c_max98504: i2c-gpio-0 {
94		compatible = "i2c-gpio";
95		gpios = <&gpd0 1 GPIO_ACTIVE_HIGH /* SPK_AMP_SDA */
96			 &gpd0 0 GPIO_ACTIVE_HIGH /* SPK_AMP_SCL */ >;
97		i2c-gpio,delay-us = <2>;
98		#address-cells = <1>;
99		#size-cells = <0>;
100		status = "okay";
101
102		max98504: max98504@31 {
103			compatible = "maxim,max98504";
104			reg = <0x31>;
105			maxim,rx-path = <1>;
106			maxim,tx-path = <1>;
107			maxim,tx-channel-mask = <3>;
108			maxim,tx-channel-source = <2>;
109		};
110	};
111
112	sound {
113		compatible = "samsung,tm2-audio";
114		audio-codec = <&wm5110>;
115		i2s-controller = <&i2s0>;
116		audio-amplifier = <&max98504>;
117		mic-bias-gpios = <&gpr3 2 GPIO_ACTIVE_HIGH>;
118		model = "wm5110";
119		samsung,audio-routing =
120			/* Headphone */
121			"HP", "HPOUT1L",
122			"HP", "HPOUT1R",
123
124			/* Speaker */
125			"SPK", "SPKOUT",
126			"SPKOUT", "HPOUT2L",
127			"SPKOUT", "HPOUT2R",
128
129			/* Receiver */
130			"RCV", "HPOUT3L",
131			"RCV", "HPOUT3R";
132		status = "okay";
133	};
134};
135
136&adc {
137	vdd-supply = <&ldo3_reg>;
138	status = "okay";
139
140	thermistor-ap {
141		compatible = "murata,ncp03wf104";
142		pullup-uv = <1800000>;
143		pullup-ohm = <100000>;
144		pulldown-ohm = <0>;
145		io-channels = <&adc 0>;
146	};
147
148	thermistor-battery {
149		compatible = "murata,ncp03wf104";
150		pullup-uv = <1800000>;
151		pullup-ohm = <100000>;
152		pulldown-ohm = <0>;
153		io-channels = <&adc 1>;
154		#thermal-sensor-cells = <0>;
155	};
156
157	thermistor-charger {
158		compatible = "murata,ncp03wf104";
159		pullup-uv = <1800000>;
160		pullup-ohm = <100000>;
161		pulldown-ohm = <0>;
162		io-channels = <&adc 2>;
163	};
164};
165
166&cmu_aud {
167	assigned-clocks = <&cmu_aud CLK_MOUT_AUD_PLL_USER>;
168	assigned-clock-parents = <&cmu_top CLK_FOUT_AUD_PLL>;
169};
170
171&cmu_fsys {
172	assigned-clocks = <&cmu_top CLK_MOUT_SCLK_USBDRD30>,
173		<&cmu_top CLK_MOUT_SCLK_USBHOST30>,
174		<&cmu_fsys CLK_MOUT_SCLK_USBDRD30_USER>,
175		<&cmu_fsys CLK_MOUT_SCLK_USBHOST30_USER>,
176		<&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_USER>,
177		<&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_USER>,
178		<&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_USER>,
179		<&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_USER>,
180		<&cmu_top CLK_DIV_SCLK_USBDRD30>,
181		<&cmu_top CLK_DIV_SCLK_USBHOST30>;
182	assigned-clock-parents = <&cmu_top CLK_MOUT_BUS_PLL_USER>,
183		<&cmu_top CLK_MOUT_BUS_PLL_USER>,
184		<&cmu_top CLK_SCLK_USBDRD30_FSYS>,
185		<&cmu_top CLK_SCLK_USBHOST30_FSYS>,
186		<&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_PHY>,
187		<&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_PHY>,
188		<&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_PHY>,
189		<&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_PHY>;
190	assigned-clock-rates = <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>,
191			       <66700000>, <66700000>;
192};
193
194&cmu_gscl {
195	assigned-clocks = <&cmu_gscl CLK_MOUT_ACLK_GSCL_111_USER>,
196			  <&cmu_gscl CLK_MOUT_ACLK_GSCL_333_USER>;
197	assigned-clock-parents = <&cmu_top CLK_ACLK_GSCL_111>,
198				 <&cmu_top CLK_ACLK_GSCL_333>;
199};
200
201&cmu_mfc {
202	assigned-clocks = <&cmu_mfc CLK_MOUT_ACLK_MFC_400_USER>;
203	assigned-clock-parents = <&cmu_top CLK_ACLK_MFC_400>;
204};
205
206&cmu_mscl {
207	assigned-clocks = <&cmu_mscl CLK_MOUT_ACLK_MSCL_400_USER>,
208			  <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>,
209			  <&cmu_mscl CLK_MOUT_SCLK_JPEG>,
210			  <&cmu_top CLK_MOUT_SCLK_JPEG_A>;
211	assigned-clock-parents = <&cmu_top CLK_ACLK_MSCL_400>,
212				 <&cmu_top CLK_SCLK_JPEG_MSCL>,
213				 <&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>,
214				 <&cmu_top CLK_MOUT_BUS_PLL_USER>;
215};
216
217&cpu0 {
218	cpu-supply = <&buck3_reg>;
219};
220
221&cpu4 {
222	cpu-supply = <&buck2_reg>;
223};
224
225&decon {
226	status = "okay";
227
228	i80-if-timings {
229	};
230};
231
232&dsi {
233	status = "okay";
234	vddcore-supply = <&ldo6_reg>;
235	vddio-supply = <&ldo7_reg>;
236	samsung,pll-clock-frequency = <24000000>;
237	pinctrl-names = "default";
238	pinctrl-0 = <&te_irq>;
239
240	ports {
241		#address-cells = <1>;
242		#size-cells = <0>;
243
244		port@1 {
245			reg = <1>;
246
247			dsi_out: endpoint {
248				samsung,burst-clock-frequency = <512000000>;
249				samsung,esc-clock-frequency = <16000000>;
250			};
251		};
252	};
253};
254
255&hsi2c_0 {
256	status = "okay";
257	clock-frequency = <2500000>;
258
259	s2mps13-pmic@66 {
260		compatible = "samsung,s2mps13-pmic";
261		interrupt-parent = <&gpa0>;
262		interrupts = <7 IRQ_TYPE_NONE>;
263		reg = <0x66>;
264		samsung,s2mps11-wrstbi-ground;
265
266		s2mps13_osc: clocks {
267			compatible = "samsung,s2mps13-clk";
268			#clock-cells = <1>;
269			clock-output-names = "s2mps13_ap", "s2mps13_cp",
270				"s2mps13_bt";
271		};
272
273		regulators {
274			ldo1_reg: LDO1 {
275				regulator-name = "VDD_ALIVE_0.9V_AP";
276				regulator-min-microvolt = <900000>;
277				regulator-max-microvolt = <900000>;
278				regulator-always-on;
279			};
280
281			ldo2_reg: LDO2 {
282				regulator-name = "VDDQ_MMC2_2.8V_AP";
283				regulator-min-microvolt = <2800000>;
284				regulator-max-microvolt = <2800000>;
285				regulator-always-on;
286				regulator-state-mem {
287					regulator-off-in-suspend;
288				};
289			};
290
291			ldo3_reg: LDO3 {
292				regulator-name = "VDD1_E_1.8V_AP";
293				regulator-min-microvolt = <1800000>;
294				regulator-max-microvolt = <1800000>;
295				regulator-always-on;
296			};
297
298			ldo4_reg: LDO4 {
299				regulator-name = "VDD10_MIF_PLL_1.0V_AP";
300				regulator-min-microvolt = <1300000>;
301				regulator-max-microvolt = <1300000>;
302				regulator-always-on;
303				regulator-state-mem {
304					regulator-off-in-suspend;
305				};
306			};
307
308			ldo5_reg: LDO5 {
309				regulator-name = "VDD10_DPLL_1.0V_AP";
310				regulator-min-microvolt = <1000000>;
311				regulator-max-microvolt = <1000000>;
312				regulator-always-on;
313				regulator-state-mem {
314					regulator-off-in-suspend;
315				};
316			};
317
318			ldo6_reg: LDO6 {
319				regulator-name = "VDD10_MIPI2L_1.0V_AP";
320				regulator-min-microvolt = <1000000>;
321				regulator-max-microvolt = <1000000>;
322				regulator-state-mem {
323					regulator-off-in-suspend;
324				};
325			};
326
327			ldo7_reg: LDO7 {
328				regulator-name = "VDD18_MIPI2L_1.8V_AP";
329				regulator-min-microvolt = <1800000>;
330				regulator-max-microvolt = <1800000>;
331			};
332
333			ldo8_reg: LDO8 {
334				regulator-name = "VDD18_LLI_1.8V_AP";
335				regulator-min-microvolt = <1800000>;
336				regulator-max-microvolt = <1800000>;
337				regulator-always-on;
338				regulator-state-mem {
339					regulator-off-in-suspend;
340				};
341			};
342
343			ldo9_reg: LDO9 {
344				regulator-name = "VDD18_ABB_ETC_1.8V_AP";
345				regulator-min-microvolt = <1800000>;
346				regulator-max-microvolt = <1800000>;
347				regulator-always-on;
348				regulator-state-mem {
349					regulator-off-in-suspend;
350				};
351			};
352
353			ldo10_reg: LDO10 {
354				regulator-name = "VDD33_USB30_3.0V_AP";
355				regulator-min-microvolt = <3000000>;
356				regulator-max-microvolt = <3000000>;
357				regulator-state-mem {
358					regulator-off-in-suspend;
359				};
360			};
361
362			ldo11_reg: LDO11 {
363				regulator-name = "VDD_INT_M_1.0V_AP";
364				regulator-min-microvolt = <1000000>;
365				regulator-max-microvolt = <1000000>;
366				regulator-always-on;
367				regulator-state-mem {
368					regulator-off-in-suspend;
369				};
370			};
371
372			ldo12_reg: LDO12 {
373				regulator-name = "VDD_KFC_M_1.1V_AP";
374				regulator-min-microvolt = <800000>;
375				regulator-max-microvolt = <1350000>;
376				regulator-always-on;
377			};
378
379			ldo13_reg: LDO13 {
380				regulator-name = "VDD_G3D_M_0.95V_AP";
381				regulator-min-microvolt = <950000>;
382				regulator-max-microvolt = <950000>;
383				regulator-always-on;
384				regulator-state-mem {
385					regulator-off-in-suspend;
386				};
387			};
388
389			ldo14_reg: LDO14 {
390				regulator-name = "VDDQ_M1_LDO_1.2V_AP";
391				regulator-min-microvolt = <1200000>;
392				regulator-max-microvolt = <1200000>;
393				regulator-always-on;
394				regulator-state-mem {
395					regulator-off-in-suspend;
396				};
397			};
398
399			ldo15_reg: LDO15 {
400				regulator-name = "VDDQ_M2_LDO_1.2V_AP";
401				regulator-min-microvolt = <1200000>;
402				regulator-max-microvolt = <1200000>;
403				regulator-always-on;
404				regulator-state-mem {
405					regulator-off-in-suspend;
406				};
407			};
408
409			ldo16_reg: LDO16 {
410				regulator-name = "VDDQ_EFUSE";
411				regulator-min-microvolt = <1400000>;
412				regulator-max-microvolt = <3400000>;
413				regulator-always-on;
414			};
415
416			ldo17_reg: LDO17 {
417				regulator-name = "V_TFLASH_2.8V_AP";
418				regulator-min-microvolt = <2800000>;
419				regulator-max-microvolt = <2800000>;
420			};
421
422			ldo18_reg: LDO18 {
423				regulator-name = "V_CODEC_1.8V_AP";
424				regulator-min-microvolt = <1800000>;
425				regulator-max-microvolt = <1800000>;
426			};
427
428			ldo19_reg: LDO19 {
429				regulator-name = "VDDA_1.8V_COMP";
430				regulator-min-microvolt = <1800000>;
431				regulator-max-microvolt = <1800000>;
432				regulator-always-on;
433			};
434
435			ldo20_reg: LDO20 {
436				regulator-name = "VCC_2.8V_AP";
437				regulator-min-microvolt = <2800000>;
438				regulator-max-microvolt = <2800000>;
439				regulator-always-on;
440			};
441
442			ldo21_reg: LDO21 {
443				regulator-name = "VT_CAM_1.8V";
444				regulator-min-microvolt = <1800000>;
445				regulator-max-microvolt = <1800000>;
446			};
447
448			ldo22_reg: LDO22 {
449				regulator-name = "CAM_IO_1.8V_AP";
450				regulator-min-microvolt = <1800000>;
451				regulator-max-microvolt = <1800000>;
452			};
453
454			ldo23_reg: LDO23 {
455				regulator-name = "CAM_SEN_CORE_1.2V_AP";
456				regulator-min-microvolt = <1050000>;
457				regulator-max-microvolt = <1200000>;
458			};
459
460			ldo24_reg: LDO24 {
461				regulator-name = "VT_CAM_1.2V";
462				regulator-min-microvolt = <1200000>;
463				regulator-max-microvolt = <1200000>;
464			};
465
466			ldo25_reg: LDO25 {
467				regulator-name = "CAM_SEN_A2.8V_AP";
468				regulator-min-microvolt = <2800000>;
469				regulator-max-microvolt = <2800000>;
470			};
471
472			ldo26_reg: LDO26 {
473				regulator-name = "CAM_AF_2.8V_AP";
474				regulator-min-microvolt = <2800000>;
475				regulator-max-microvolt = <2800000>;
476			};
477
478			ldo27_reg: LDO27 {
479				regulator-name = "VCC_3.0V_LCD_AP";
480				regulator-min-microvolt = <3000000>;
481				regulator-max-microvolt = <3000000>;
482			};
483
484			ldo28_reg: LDO28 {
485				regulator-name = "VCC_1.8V_LCD_AP";
486				regulator-min-microvolt = <1800000>;
487				regulator-max-microvolt = <1800000>;
488			};
489
490			ldo29_reg: LDO29 {
491				regulator-name = "VT_CAM_2.8V";
492				regulator-min-microvolt = <3000000>;
493				regulator-max-microvolt = <3000000>;
494			};
495
496			ldo30_reg: LDO30 {
497				regulator-name = "TSP_AVDD_3.3V_AP";
498				regulator-min-microvolt = <3300000>;
499				regulator-max-microvolt = <3300000>;
500			};
501
502			ldo31_reg: LDO31 {
503				regulator-name = "TSP_VDD_1.85V_AP";
504				regulator-min-microvolt = <1850000>;
505				regulator-max-microvolt = <1850000>;
506			};
507
508			ldo32_reg: LDO32 {
509				regulator-name = "VTOUCH_1.8V_AP";
510				regulator-min-microvolt = <1800000>;
511				regulator-max-microvolt = <1800000>;
512			};
513
514			ldo33_reg: LDO33 {
515				regulator-name = "VTOUCH_LED_3.3V";
516				regulator-min-microvolt = <2500000>;
517				regulator-max-microvolt = <3300000>;
518				regulator-ramp-delay = <12500>;
519			};
520
521			ldo34_reg: LDO34 {
522				regulator-name = "VCC_1.8V_MHL_AP";
523				regulator-min-microvolt = <1000000>;
524				regulator-max-microvolt = <2100000>;
525			};
526
527			ldo35_reg: LDO35 {
528				regulator-name = "OIS_VM_2.8V";
529				regulator-min-microvolt = <1800000>;
530				regulator-max-microvolt = <2800000>;
531			};
532
533			ldo36_reg: LDO36 {
534				regulator-name = "VSIL_1.0V";
535				regulator-min-microvolt = <1000000>;
536				regulator-max-microvolt = <1000000>;
537			};
538
539			ldo37_reg: LDO37 {
540				regulator-name = "VF_1.8V";
541				regulator-min-microvolt = <1800000>;
542				regulator-max-microvolt = <1800000>;
543			};
544
545			ldo38_reg: LDO38 {
546				regulator-name = "VCC_3.0V_MOTOR_AP";
547				regulator-min-microvolt = <3000000>;
548				regulator-max-microvolt = <3000000>;
549			};
550
551			ldo39_reg: LDO39 {
552				regulator-name = "V_HRM_1.8V";
553				regulator-min-microvolt = <1800000>;
554				regulator-max-microvolt = <1800000>;
555			};
556
557			ldo40_reg: LDO40 {
558				regulator-name = "V_HRM_3.3V";
559				regulator-min-microvolt = <3300000>;
560				regulator-max-microvolt = <3300000>;
561			};
562
563			buck1_reg: BUCK1 {
564				regulator-name = "VDD_MIF_0.9V_AP";
565				regulator-min-microvolt = <600000>;
566				regulator-max-microvolt = <1500000>;
567				regulator-always-on;
568				regulator-state-mem {
569					regulator-off-in-suspend;
570				};
571			};
572
573			buck2_reg: BUCK2 {
574				regulator-name = "VDD_EGL_1.0V_AP";
575				regulator-min-microvolt = <900000>;
576				regulator-max-microvolt = <1300000>;
577				regulator-always-on;
578				regulator-state-mem {
579					regulator-off-in-suspend;
580				};
581			};
582
583			buck3_reg: BUCK3 {
584				regulator-name = "VDD_KFC_1.0V_AP";
585				regulator-min-microvolt = <800000>;
586				regulator-max-microvolt = <1200000>;
587				regulator-always-on;
588				regulator-state-mem {
589					regulator-off-in-suspend;
590				};
591			};
592
593			buck4_reg: BUCK4 {
594				regulator-name = "VDD_INT_0.95V_AP";
595				regulator-min-microvolt = <600000>;
596				regulator-max-microvolt = <1500000>;
597				regulator-always-on;
598				regulator-state-mem {
599					regulator-off-in-suspend;
600				};
601			};
602
603			buck5_reg: BUCK5 {
604				regulator-name = "VDD_DISP_CAM0_0.9V_AP";
605				regulator-min-microvolt = <600000>;
606				regulator-max-microvolt = <1500000>;
607				regulator-always-on;
608				regulator-state-mem {
609					regulator-off-in-suspend;
610				};
611			};
612
613			buck6_reg: BUCK6 {
614				regulator-name = "VDD_G3D_0.9V_AP";
615				regulator-min-microvolt = <600000>;
616				regulator-max-microvolt = <1500000>;
617				regulator-always-on;
618				regulator-state-mem {
619					regulator-off-in-suspend;
620				};
621			};
622
623			buck7_reg: BUCK7 {
624				regulator-name = "VDD_MEM1_1.2V_AP";
625				regulator-min-microvolt = <1200000>;
626				regulator-max-microvolt = <1200000>;
627				regulator-always-on;
628			};
629
630			buck8_reg: BUCK8 {
631				regulator-name = "VDD_LLDO_1.35V_AP";
632				regulator-min-microvolt = <1350000>;
633				regulator-max-microvolt = <3300000>;
634				regulator-always-on;
635			};
636
637			buck9_reg: BUCK9 {
638				regulator-name = "VDD_MLDO_2.0V_AP";
639				regulator-min-microvolt = <1350000>;
640				regulator-max-microvolt = <3300000>;
641				regulator-always-on;
642			};
643
644			buck10_reg: BUCK10 {
645				regulator-name = "vdd_mem2";
646				regulator-min-microvolt = <550000>;
647				regulator-max-microvolt = <1500000>;
648				regulator-always-on;
649			};
650		};
651	};
652};
653
654&hsi2c_8 {
655	status = "okay";
656
657	max77843@66 {
658		compatible = "maxim,max77843";
659		interrupt-parent = <&gpa1>;
660		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
661		reg = <0x66>;
662
663		muic: max77843-muic {
664			compatible = "maxim,max77843-muic";
665		};
666
667		regulators {
668			compatible = "maxim,max77843-regulator";
669			safeout1_reg: SAFEOUT1 {
670				regulator-name = "SAFEOUT1";
671				regulator-min-microvolt = <3300000>;
672				regulator-max-microvolt = <4950000>;
673			};
674
675			safeout2_reg: SAFEOUT2 {
676				regulator-name = "SAFEOUT2";
677				regulator-min-microvolt = <3300000>;
678				regulator-max-microvolt = <4950000>;
679			};
680
681			charger_reg: CHARGER {
682				regulator-name = "CHARGER";
683				regulator-min-microamp = <100000>;
684				regulator-max-microamp = <3150000>;
685			};
686		};
687
688		haptic: max77843-haptic {
689			compatible = "maxim,max77843-haptic";
690			haptic-supply = <&ldo38_reg>;
691			pwms = <&pwm 0 33670 0>;
692			pwm-names = "haptic";
693		};
694	};
695};
696
697&i2s0 {
698	status = "okay";
699};
700
701&mshc_0 {
702	status = "okay";
703	num-slots = <1>;
704	mmc-hs200-1_8v;
705	mmc-hs400-1_8v;
706	cap-mmc-highspeed;
707	non-removable;
708	card-detect-delay = <200>;
709	samsung,dw-mshc-ciu-div = <3>;
710	samsung,dw-mshc-sdr-timing = <0 4>;
711	samsung,dw-mshc-ddr-timing = <0 2>;
712	samsung,dw-mshc-hs400-timing = <0 3>;
713	samsung,read-strobe-delay = <90>;
714	fifo-depth = <0x80>;
715	pinctrl-names = "default";
716	pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4
717			&sd0_bus8 &sd0_rdqs>;
718	bus-width = <8>;
719	assigned-clocks = <&cmu_top CLK_SCLK_MMC0_FSYS>;
720	assigned-clock-rates = <800000000>;
721};
722
723&mshc_2 {
724	status = "okay";
725	num-slots = <1>;
726	cap-sd-highspeed;
727	disable-wp;
728	cd-gpios = <&gpa2 4 GPIO_ACTIVE_HIGH>;
729	cd-inverted;
730	card-detect-delay = <200>;
731	samsung,dw-mshc-ciu-div = <3>;
732	samsung,dw-mshc-sdr-timing = <0 4>;
733	samsung,dw-mshc-ddr-timing = <0 2>;
734	fifo-depth = <0x80>;
735	pinctrl-names = "default";
736	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4>;
737	bus-width = <4>;
738};
739
740&pinctrl_alive {
741	pinctrl-names = "default";
742	pinctrl-0 = <&initial_alive>;
743
744	initial_alive: initial-state {
745		PIN(IN, gpa0-0, DOWN, LV1);
746		PIN(IN, gpa0-1, NONE, LV1);
747		PIN(IN, gpa0-2, DOWN, LV1);
748		PIN(IN, gpa0-3, NONE, LV1);
749		PIN(IN, gpa0-4, NONE, LV1);
750		PIN(IN, gpa0-5, DOWN, LV1);
751		PIN(IN, gpa0-6, NONE, LV1);
752		PIN(IN, gpa0-7, NONE, LV1);
753
754		PIN(IN, gpa1-0, UP, LV1);
755		PIN(IN, gpa1-1, NONE, LV1);
756		PIN(IN, gpa1-2, NONE, LV1);
757		PIN(IN, gpa1-3, DOWN, LV1);
758		PIN(IN, gpa1-4, DOWN, LV1);
759		PIN(IN, gpa1-5, NONE, LV1);
760		PIN(IN, gpa1-6, NONE, LV1);
761		PIN(IN, gpa1-7, NONE, LV1);
762
763		PIN(IN, gpa2-0, NONE, LV1);
764		PIN(IN, gpa2-1, NONE, LV1);
765		PIN(IN, gpa2-2, NONE, LV1);
766		PIN(IN, gpa2-3, DOWN, LV1);
767		PIN(IN, gpa2-4, NONE, LV1);
768		PIN(IN, gpa2-5, DOWN, LV1);
769		PIN(IN, gpa2-6, DOWN, LV1);
770		PIN(IN, gpa2-7, NONE, LV1);
771
772		PIN(IN, gpa3-0, DOWN, LV1);
773		PIN(IN, gpa3-1, DOWN, LV1);
774		PIN(IN, gpa3-2, NONE, LV1);
775		PIN(IN, gpa3-3, DOWN, LV1);
776		PIN(IN, gpa3-4, NONE, LV1);
777		PIN(IN, gpa3-5, DOWN, LV1);
778		PIN(IN, gpa3-6, DOWN, LV1);
779		PIN(IN, gpa3-7, DOWN, LV1);
780
781		PIN(IN, gpf1-0, NONE, LV1);
782		PIN(IN, gpf1-1, NONE, LV1);
783		PIN(IN, gpf1-2, DOWN, LV1);
784		PIN(IN, gpf1-4, UP, LV1);
785		PIN(OUT, gpf1-5, NONE, LV1);
786		PIN(IN, gpf1-6, DOWN, LV1);
787		PIN(IN, gpf1-7, DOWN, LV1);
788
789		PIN(IN, gpf2-0, DOWN, LV1);
790		PIN(IN, gpf2-1, DOWN, LV1);
791		PIN(IN, gpf2-2, DOWN, LV1);
792		PIN(IN, gpf2-3, DOWN, LV1);
793
794		PIN(IN, gpf3-0, DOWN, LV1);
795		PIN(IN, gpf3-1, DOWN, LV1);
796		PIN(IN, gpf3-2, NONE, LV1);
797		PIN(IN, gpf3-3, DOWN, LV1);
798
799		PIN(IN, gpf4-0, DOWN, LV1);
800		PIN(IN, gpf4-1, DOWN, LV1);
801		PIN(IN, gpf4-2, DOWN, LV1);
802		PIN(IN, gpf4-3, DOWN, LV1);
803		PIN(IN, gpf4-4, DOWN, LV1);
804		PIN(IN, gpf4-5, DOWN, LV1);
805		PIN(IN, gpf4-6, DOWN, LV1);
806		PIN(IN, gpf4-7, DOWN, LV1);
807
808		PIN(IN, gpf5-0, DOWN, LV1);
809		PIN(IN, gpf5-1, DOWN, LV1);
810		PIN(IN, gpf5-2, DOWN, LV1);
811		PIN(IN, gpf5-3, DOWN, LV1);
812		PIN(OUT, gpf5-4, NONE, LV1);
813		PIN(IN, gpf5-5, DOWN, LV1);
814		PIN(IN, gpf5-6, DOWN, LV1);
815		PIN(IN, gpf5-7, DOWN, LV1);
816	};
817
818	te_irq: te_irq {
819		samsung,pins = "gpf1-3";
820		samsung,pin-function = <0xf>;
821	};
822};
823
824&pinctrl_cpif {
825	pinctrl-names = "default";
826	pinctrl-0 = <&initial_cpif>;
827
828	initial_cpif: initial-state {
829		PIN(IN, gpv6-0, DOWN, LV1);
830		PIN(IN, gpv6-1, DOWN, LV1);
831	};
832};
833
834&pinctrl_ese {
835	pinctrl-names = "default";
836	pinctrl-0 = <&initial_ese>;
837
838	initial_ese: initial-state {
839		PIN(IN, gpj2-0, DOWN, LV1);
840		PIN(IN, gpj2-1, DOWN, LV1);
841		PIN(IN, gpj2-2, DOWN, LV1);
842	};
843};
844
845&pinctrl_fsys {
846	pinctrl-names = "default";
847	pinctrl-0 = <&initial_fsys>;
848
849	initial_fsys: initial-state {
850		PIN(IN, gpr3-0, NONE, LV1);
851		PIN(IN, gpr3-1, DOWN, LV1);
852		PIN(IN, gpr3-2, DOWN, LV1);
853		PIN(IN, gpr3-3, DOWN, LV1);
854		PIN(IN, gpr3-7, NONE, LV1);
855	};
856};
857
858&pinctrl_imem {
859	pinctrl-names = "default";
860	pinctrl-0 = <&initial_imem>;
861
862	initial_imem: initial-state {
863		PIN(IN, gpf0-0, UP, LV1);
864		PIN(IN, gpf0-1, UP, LV1);
865		PIN(IN, gpf0-2, DOWN, LV1);
866		PIN(IN, gpf0-3, UP, LV1);
867		PIN(IN, gpf0-4, DOWN, LV1);
868		PIN(IN, gpf0-5, NONE, LV1);
869		PIN(IN, gpf0-6, DOWN, LV1);
870		PIN(IN, gpf0-7, UP, LV1);
871	};
872};
873
874&pinctrl_nfc {
875	pinctrl-names = "default";
876	pinctrl-0 = <&initial_nfc>;
877
878	initial_nfc: initial-state {
879		PIN(IN, gpj0-2, DOWN, LV1);
880	};
881};
882
883&pinctrl_peric {
884	pinctrl-names = "default";
885	pinctrl-0 = <&initial_peric>;
886
887	initial_peric: initial-state {
888		PIN(IN, gpv7-0, DOWN, LV1);
889		PIN(IN, gpv7-1, DOWN, LV1);
890		PIN(IN, gpv7-2, NONE, LV1);
891		PIN(IN, gpv7-3, DOWN, LV1);
892		PIN(IN, gpv7-4, DOWN, LV1);
893		PIN(IN, gpv7-5, DOWN, LV1);
894
895		PIN(IN, gpb0-4, DOWN, LV1);
896
897		PIN(IN, gpc0-2, DOWN, LV1);
898		PIN(IN, gpc0-5, DOWN, LV1);
899		PIN(IN, gpc0-7, DOWN, LV1);
900
901		PIN(IN, gpc1-1, DOWN, LV1);
902
903		PIN(IN, gpc3-4, NONE, LV1);
904		PIN(IN, gpc3-5, NONE, LV1);
905		PIN(IN, gpc3-6, NONE, LV1);
906		PIN(IN, gpc3-7, NONE, LV1);
907
908		PIN(OUT, gpg0-0, NONE, LV1);
909		PIN(FUNC1, gpg0-1, DOWN, LV1);
910
911		PIN(IN, gpd2-5, DOWN, LV1);
912
913		PIN(IN, gpd4-0, NONE, LV1);
914		PIN(IN, gpd4-1, DOWN, LV1);
915		PIN(IN, gpd4-2, DOWN, LV1);
916		PIN(IN, gpd4-3, DOWN, LV1);
917		PIN(IN, gpd4-4, DOWN, LV1);
918
919		PIN(IN, gpd6-3, DOWN, LV1);
920
921		PIN(IN, gpd8-1, UP, LV1);
922
923		PIN(IN, gpg1-0, DOWN, LV1);
924		PIN(IN, gpg1-1, DOWN, LV1);
925		PIN(IN, gpg1-2, DOWN, LV1);
926		PIN(IN, gpg1-3, DOWN, LV1);
927		PIN(IN, gpg1-4, DOWN, LV1);
928
929		PIN(IN, gpg2-0, DOWN, LV1);
930		PIN(IN, gpg2-1, DOWN, LV1);
931
932		PIN(IN, gpg3-0, DOWN, LV1);
933		PIN(IN, gpg3-1, DOWN, LV1);
934		PIN(IN, gpg3-5, DOWN, LV1);
935		PIN(IN, gpg3-7, DOWN, LV1);
936	};
937};
938
939&pinctrl_touch {
940	pinctrl-names = "default";
941	pinctrl-0 = <&initial_touch>;
942
943	initial_touch: initial-state {
944		PIN(IN, gpj1-2, DOWN, LV1);
945	};
946};
947
948&pwm {
949	pinctrl-0 = <&pwm0_out>;
950	pinctrl-names = "default";
951	status = "okay";
952};
953
954&mic {
955	status = "okay";
956
957	i80-if-timings {
958	};
959};
960
961&pmu_system_controller {
962	assigned-clocks = <&pmu_system_controller 0>;
963	assigned-clock-parents = <&xxti>;
964};
965
966&serial_1 {
967	status = "okay";
968};
969
970&spi_1 {
971	cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>;
972	status = "okay";
973
974	wm5110: wm5110-codec@0 {
975		compatible = "wlf,wm5110";
976		reg = <0x0>;
977		spi-max-frequency = <20000000>;
978		interrupt-parent = <&gpa0>;
979		interrupts = <4 IRQ_TYPE_NONE>;
980		clocks = <&pmu_system_controller 0>,
981			<&s2mps13_osc S2MPS11_CLK_BT>;
982		clock-names = "mclk1", "mclk2";
983
984		gpio-controller;
985		#gpio-cells = <2>;
986
987		wlf,micd-detect-debounce = <300>;
988		wlf,micd-bias-start-time = <0x1>;
989		wlf,micd-rate = <0x7>;
990		wlf,micd-dbtime = <0x1>;
991		wlf,micd-force-micbias;
992		wlf,micd-configs = <0x0 1 0>;
993		wlf,hpdet-channel = <1>;
994		wlf,gpsw = <0x1>;
995		wlf,inmode = <2 0 2 0>;
996
997		wlf,reset = <&gpc0 7 GPIO_ACTIVE_HIGH>;
998		wlf,ldoena = <&gpf0 0 GPIO_ACTIVE_HIGH>;
999
1000		/* core supplies */
1001		AVDD-supply = <&ldo18_reg>;
1002		DBVDD1-supply = <&ldo18_reg>;
1003		CPVDD-supply = <&ldo18_reg>;
1004		DBVDD2-supply = <&ldo18_reg>;
1005		DBVDD3-supply = <&ldo18_reg>;
1006
1007		controller-data {
1008			samsung,spi-feedback-delay = <0>;
1009		};
1010	};
1011};
1012
1013&timer {
1014	clock-frequency = <24000000>;
1015};
1016
1017&tmu_atlas0 {
1018	vtmu-supply = <&ldo3_reg>;
1019	status = "okay";
1020};
1021
1022&tmu_apollo {
1023	vtmu-supply = <&ldo3_reg>;
1024	status = "okay";
1025};
1026
1027&tmu_g3d {
1028	vtmu-supply = <&ldo3_reg>;
1029	status = "okay";
1030};
1031
1032&usbdrd30 {
1033	vdd33-supply = <&ldo10_reg>;
1034	vdd10-supply = <&ldo6_reg>;
1035	status = "okay";
1036};
1037
1038&usbdrd_dwc3_0 {
1039	dr_mode = "otg";
1040};
1041
1042&usbdrd30_phy {
1043	vbus-supply = <&safeout1_reg>;
1044	status = "okay";
1045};
1046
1047&xxti {
1048	clock-frequency = <24000000>;
1049};
1050