blob: 35e9b94b86b8d6853e919574fec8d486543061c8 [file] [log] [blame]
Tomasz Figa15dfdfa2013-07-24 13:41:45 +09001/*
2 * Samsung's Exynos4412 based Trats 2 board device tree source
3 *
4 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com
6 *
7 * Device tree source file for Samsung's Trats 2 board which is based on
8 * Samsung's Exynos4412 SoC.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13*/
14
15/dts-v1/;
16#include "exynos4412.dtsi"
Chanwoo Choi4a804672016-04-11 12:57:55 +090017#include "exynos4412-ppmu-common.dtsi"
Krzysztof Kozlowski7eec1262014-09-24 01:22:49 +090018#include <dt-bindings/gpio/gpio.h>
Krzysztof Kozlowskie8614292015-02-04 07:43:44 +090019#include <dt-bindings/interrupt-controller/irq.h>
Krzysztof Kozlowskice9940a2015-05-02 14:40:08 +090020#include <dt-bindings/clock/maxim,max77686.h>
Tomasz Figa15dfdfa2013-07-24 13:41:45 +090021
22/ {
23 model = "Samsung Trats 2 based on Exynos4412";
Sachin Kamat8bdb31b2014-03-21 02:17:22 +090024 compatible = "samsung,trats2", "samsung,exynos4412", "samsung,exynos4";
Tomasz Figa15dfdfa2013-07-24 13:41:45 +090025
Jacek Anaszewski9f1eaef2013-08-06 02:49:44 +090026 aliases {
Tomasz Stanislawski6af2ba92014-05-09 05:58:59 +090027 i2c9 = &i2c_ak8975;
Beomho Seo85cb4e02014-05-22 07:56:53 +090028 i2c10 = &i2c_cm36651;
Krzysztof Kozlowski7eec1262014-09-24 01:22:49 +090029 i2c11 = &i2c_max77693;
Krzysztof Kozlowskie8614292015-02-04 07:43:44 +090030 i2c12 = &i2c_max77693_fuel;
Jacek Anaszewski9f1eaef2013-08-06 02:49:44 +090031 };
32
Javier Martinez Canillas824e4132016-09-01 11:06:55 +020033 memory@40000000 {
Javier Martinez Canillas13548352016-09-01 11:06:52 +020034 device_type = "memory";
Tomasz Figa15dfdfa2013-07-24 13:41:45 +090035 reg = <0x40000000 0x40000000>;
36 };
37
38 chosen {
39 bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
Tomasz Figa62d38092015-01-23 14:47:42 +010040 stdout-path = &serial_2;
Tomasz Figa15dfdfa2013-07-24 13:41:45 +090041 };
42
43 firmware@0204F000 {
44 compatible = "samsung,secure-firmware";
45 reg = <0x0204F000 0x1000>;
46 };
47
48 fixed-rate-clocks {
49 xxti {
50 compatible = "samsung,clock-xxti", "fixed-clock";
51 clock-frequency = <0>;
52 };
53
54 xusbxti {
55 compatible = "samsung,clock-xusbxti", "fixed-clock";
56 clock-frequency = <24000000>;
57 };
58 };
59
60 regulators {
61 compatible = "simple-bus";
62 #address-cells = <1>;
63 #size-cells = <0>;
64
Sylwester Nawrockib4fec642013-08-06 02:49:44 +090065 cam_io_reg: voltage-regulator-1 {
66 compatible = "regulator-fixed";
67 regulator-name = "CAM_SENSOR_A";
68 regulator-min-microvolt = <2800000>;
69 regulator-max-microvolt = <2800000>;
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +090070 gpio = <&gpm0 2 GPIO_ACTIVE_HIGH>;
Sylwester Nawrockib4fec642013-08-06 02:49:44 +090071 enable-active-high;
72 };
73
Andrzej Hajda420ae842014-03-28 12:52:45 +010074 lcd_vdd3_reg: voltage-regulator-2 {
75 compatible = "regulator-fixed";
76 regulator-name = "LCD_VDD_2.2V";
77 regulator-min-microvolt = <2200000>;
78 regulator-max-microvolt = <2200000>;
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +090079 gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;
Andrzej Hajda420ae842014-03-28 12:52:45 +010080 enable-active-high;
81 };
82
Sylwester Nawrocki4cb37862014-05-09 06:01:40 +090083 cam_af_reg: voltage-regulator-3 {
84 compatible = "regulator-fixed";
85 regulator-name = "CAM_AF";
86 regulator-min-microvolt = <2800000>;
87 regulator-max-microvolt = <2800000>;
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +090088 gpio = <&gpm0 4 GPIO_ACTIVE_HIGH>;
Sylwester Nawrocki4cb37862014-05-09 06:01:40 +090089 enable-active-high;
90 };
91
Beomho Seo85cb4e02014-05-22 07:56:53 +090092 ps_als_reg: voltage-regulator-5 {
93 compatible = "regulator-fixed";
94 regulator-name = "LED_A_3.0V";
95 regulator-min-microvolt = <3000000>;
96 regulator-max-microvolt = <3000000>;
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +090097 gpio = <&gpj0 5 GPIO_ACTIVE_HIGH>;
Beomho Seo85cb4e02014-05-22 07:56:53 +090098 enable-active-high;
99 };
Tomasz Figa15dfdfa2013-07-24 13:41:45 +0900100 };
101
102 gpio-keys {
103 compatible = "gpio-keys";
104
105 key-down {
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +0900106 gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
Tomasz Figa15dfdfa2013-07-24 13:41:45 +0900107 linux,code = <114>;
108 label = "volume down";
109 debounce-interval = <10>;
110 };
111
112 key-up {
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +0900113 gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
Tomasz Figa15dfdfa2013-07-24 13:41:45 +0900114 linux,code = <115>;
115 label = "volume up";
116 debounce-interval = <10>;
117 };
118
119 key-power {
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +0900120 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
Tomasz Figa15dfdfa2013-07-24 13:41:45 +0900121 linux,code = <116>;
122 label = "power";
123 debounce-interval = <10>;
Sudeep Holla36a02822016-01-28 15:59:58 +0000124 wakeup-source;
Tomasz Figa15dfdfa2013-07-24 13:41:45 +0900125 };
Beomho Seo172ff6c2014-05-22 07:57:39 +0900126
127 key-ok {
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +0900128 gpios = <&gpx0 1 GPIO_ACTIVE_LOW>;
Beomho Seo172ff6c2014-05-22 07:57:39 +0900129 linux,code = <139>;
130 label = "ok";
131 debounce-inteval = <10>;
Sudeep Holla36a02822016-01-28 15:59:58 +0000132 wakeup-source;
Beomho Seo172ff6c2014-05-22 07:57:39 +0900133 };
Tomasz Figa15dfdfa2013-07-24 13:41:45 +0900134 };
135
Krzysztof Kozlowski7eec1262014-09-24 01:22:49 +0900136 i2c_max77693: i2c-gpio-1 {
137 compatible = "i2c-gpio";
138 gpios = <&gpm2 0 GPIO_ACTIVE_HIGH>, <&gpm2 1 GPIO_ACTIVE_HIGH>;
139 i2c-gpio,delay-us = <2>;
140 #address-cells = <1>;
141 #size-cells = <0>;
142 status = "okay";
143
144 max77693@66 {
145 compatible = "maxim,max77693";
146 interrupt-parent = <&gpx1>;
Krzysztof Kozlowski6ff0b902017-06-02 20:13:45 +0200147 interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
Krzysztof Kozlowski7eec1262014-09-24 01:22:49 +0900148 reg = <0x66>;
149
150 regulators {
Krzysztof Kozlowski26ee29a2016-04-06 11:00:43 +0900151 esafeout1_reg: ESAFEOUT1 {
Krzysztof Kozlowski7eec1262014-09-24 01:22:49 +0900152 regulator-name = "ESAFEOUT1";
153 };
Krzysztof Kozlowski26ee29a2016-04-06 11:00:43 +0900154 esafeout2_reg: ESAFEOUT2 {
Krzysztof Kozlowski7eec1262014-09-24 01:22:49 +0900155 regulator-name = "ESAFEOUT2";
156 };
Krzysztof Kozlowski26ee29a2016-04-06 11:00:43 +0900157 charger_reg: CHARGER {
Krzysztof Kozlowski7eec1262014-09-24 01:22:49 +0900158 regulator-name = "CHARGER";
159 regulator-min-microamp = <60000>;
160 regulator-max-microamp = <2580000>;
161 };
162 };
Jaewon Kimd9c68082014-11-22 23:19:22 +0900163
164 max77693_haptic {
165 compatible = "maxim,max77693-haptic";
166 haptic-supply = <&ldo26_reg>;
167 pwms = <&pwm 0 38022 0>;
168 };
Krzysztof Kozlowski043ef142015-02-04 07:47:39 +0900169
170 charger {
171 compatible = "maxim,max77693-charger";
172
173 maxim,constant-microvolt = <4350000>;
174 maxim,min-system-microvolt = <3600000>;
175 maxim,thermal-regulation-celsius = <100>;
176 maxim,battery-overcurrent-microamp = <3500000>;
177 maxim,charge-input-threshold-microvolt = <4300000>;
178 };
Krzysztof Kozlowski7eec1262014-09-24 01:22:49 +0900179 };
180 };
181
Krzysztof Kozlowskie8614292015-02-04 07:43:44 +0900182 i2c_max77693_fuel: i2c-gpio-3 {
183 compatible = "i2c-gpio";
184 gpios = <&gpf1 5 GPIO_ACTIVE_HIGH>, <&gpf1 4 GPIO_ACTIVE_HIGH>;
185 i2c-gpio,delay-us = <2>;
186 #address-cells = <1>;
187 #size-cells = <0>;
188 status = "okay";
189
190 max77693-fuel-gauge@36 {
191 compatible = "maxim,max17047";
192 interrupt-parent = <&gpx2>;
193 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
194 reg = <0x36>;
Krzysztof Kozlowski82449f22015-06-07 13:21:00 +0900195
196 maxim,over-heat-temp = <700>;
197 maxim,over-volt = <4500>;
Tomasz Figa15dfdfa2013-07-24 13:41:45 +0900198 };
199 };
200
Jacek Anaszewski9f1eaef2013-08-06 02:49:44 +0900201 i2c_ak8975: i2c-gpio-0 {
202 compatible = "i2c-gpio";
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +0900203 gpios = <&gpy2 4 GPIO_ACTIVE_HIGH>, <&gpy2 5 GPIO_ACTIVE_HIGH>;
Jacek Anaszewski9f1eaef2013-08-06 02:49:44 +0900204 i2c-gpio,delay-us = <2>;
205 #address-cells = <1>;
206 #size-cells = <0>;
207 status = "okay";
208
209 ak8975@0c {
Beomho Seo30cc7982014-05-20 01:12:50 +0900210 compatible = "asahi-kasei,ak8975";
Jacek Anaszewski9f1eaef2013-08-06 02:49:44 +0900211 reg = <0x0c>;
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +0900212 gpios = <&gpj0 7 GPIO_ACTIVE_HIGH>;
Jacek Anaszewski9f1eaef2013-08-06 02:49:44 +0900213 };
214 };
Sylwester Nawrockib4fec642013-08-06 02:49:44 +0900215
Beomho Seo85cb4e02014-05-22 07:56:53 +0900216 i2c_cm36651: i2c-gpio-2 {
217 compatible = "i2c-gpio";
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +0900218 gpios = <&gpf0 0 GPIO_ACTIVE_LOW>, <&gpf0 1 GPIO_ACTIVE_LOW>;
Beomho Seo85cb4e02014-05-22 07:56:53 +0900219 i2c-gpio,delay-us = <2>;
220 #address-cells = <1>;
221 #size-cells = <0>;
222
223 cm36651@18 {
224 compatible = "capella,cm36651";
225 reg = <0x18>;
226 interrupt-parent = <&gpx0>;
Krzysztof Kozlowski6ff0b902017-06-02 20:13:45 +0200227 interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
Beomho Seo85cb4e02014-05-22 07:56:53 +0900228 vled-supply = <&ps_als_reg>;
229 };
230 };
231
Sylwester Nawrocki4cb37862014-05-09 06:01:40 +0900232 camera: camera {
233 pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>;
Sylwester Nawrockib4fec642013-08-06 02:49:44 +0900234 pinctrl-names = "default";
235 status = "okay";
Sylwester Nawrocki0357a442014-11-22 23:13:03 +0900236 assigned-clocks = <&clock CLK_MOUT_CAM0>,
237 <&clock CLK_MOUT_CAM1>;
Sylwester Nawrockicfe3b8932015-02-04 07:49:49 +0900238 assigned-clock-parents = <&clock CLK_XUSBXTI>,
239 <&clock CLK_XUSBXTI>;
Sylwester Nawrockib4fec642013-08-06 02:49:44 +0900240
Sylwester Nawrockib4fec642013-08-06 02:49:44 +0900241
Inha Song440e5ae2015-02-04 07:51:38 +0900242 };
243
244 sound {
245 compatible = "samsung,trats2-audio";
246 samsung,i2s-controller = <&i2s0>;
247 samsung,model = "Trats2";
248 samsung,audio-codec = <&wm1811>;
249 samsung,audio-routing =
250 "SPK", "SPKOUTLN",
251 "SPK", "SPKOUTLP",
252 "SPK", "SPKOUTRN",
253 "SPK", "SPKOUTRP";
254 };
255
Krzysztof Kozlowski26ee29a2016-04-06 11:00:43 +0900256 thermistor-ap {
Naveen Krishna Chatradhidd9ad462014-06-25 11:59:32 +0530257 compatible = "murata,ncp15wb473";
Chanwoo Choi4f4237882014-03-18 06:25:59 +0900258 pullup-uv = <1800000>; /* VCC_1.8V_AP */
259 pullup-ohm = <100000>; /* 100K */
260 pulldown-ohm = <100000>; /* 100K */
261 io-channels = <&adc 1>; /* AP temperature */
262 };
263
Krzysztof Kozlowski26ee29a2016-04-06 11:00:43 +0900264 thermistor-battery {
Naveen Krishna Chatradhidd9ad462014-06-25 11:59:32 +0530265 compatible = "murata,ncp15wb473";
Chanwoo Choi4f4237882014-03-18 06:25:59 +0900266 pullup-uv = <1800000>; /* VCC_1.8V_AP */
267 pullup-ohm = <100000>; /* 100K */
268 pulldown-ohm = <100000>; /* 100K */
269 io-channels = <&adc 2>; /* Battery temperature */
270 };
Lukasz Majewskibf4a0be2015-01-30 08:26:02 +0900271
272 thermal-zones {
273 cpu_thermal: cpu-thermal {
274 cooling-maps {
275 map0 {
276 /* Corresponds to 800MHz at freq_table */
277 cooling-device = <&cpu0 7 7>;
278 };
279 map1 {
280 /* Corresponds to 200MHz at freq_table */
281 cooling-device = <&cpu0 13 13>;
282 };
283 };
284 };
285 };
Tomasz Figa15dfdfa2013-07-24 13:41:45 +0900286};
Tomasz Figa09918a92014-09-24 01:20:03 +0900287
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200288&adc {
289 vdd-supply = <&ldo3_reg>;
290 status = "okay";
291};
292
Chanwoo Choi4f20aa02016-04-11 12:57:58 +0900293&bus_dmc {
294 devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
295 vdd-supply = <&buck1_reg>;
296 status = "okay";
297};
298
299&bus_acp {
300 devfreq = <&bus_dmc>;
301 status = "okay";
302};
303
304&bus_c2c {
305 devfreq = <&bus_dmc>;
306 status = "okay";
307};
308
309&bus_leftbus {
310 devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
311 vdd-supply = <&buck3_reg>;
312 status = "okay";
313};
314
315&bus_rightbus {
316 devfreq = <&bus_leftbus>;
317 status = "okay";
318};
319
320&bus_display {
321 devfreq = <&bus_leftbus>;
322 status = "okay";
323};
324
325&bus_fsys {
326 devfreq = <&bus_leftbus>;
327 status = "okay";
328};
329
330&bus_peri {
331 devfreq = <&bus_leftbus>;
332 status = "okay";
333};
334
335&bus_mfc {
336 devfreq = <&bus_leftbus>;
337 status = "okay";
338};
339
Bartlomiej Zolnierkiewiczf4499742015-08-12 07:38:45 +0900340&cpu0 {
341 cpu0-supply = <&buck2_reg>;
342};
343
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200344&csis_0 {
345 status = "okay";
346 vddcore-supply = <&ldo8_reg>;
347 vddio-supply = <&ldo10_reg>;
348 assigned-clocks = <&clock CLK_MOUT_CSIS0>,
349 <&clock CLK_SCLK_CSIS0>;
350 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
351 assigned-clock-rates = <0>, <176000000>;
352
353 /* Camera C (3) MIPI CSI-2 (CSIS0) */
354 port@3 {
355 reg = <3>;
356 csis0_ep: endpoint {
357 remote-endpoint = <&s5c73m3_ep>;
358 data-lanes = <1 2 3 4>;
359 samsung,csis-hs-settle = <12>;
360 };
361 };
362};
363
364&csis_1 {
365 status = "okay";
366 vddcore-supply = <&ldo8_reg>;
367 vddio-supply = <&ldo10_reg>;
368 assigned-clocks = <&clock CLK_MOUT_CSIS1>,
369 <&clock CLK_SCLK_CSIS1>;
370 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
371 assigned-clock-rates = <0>, <176000000>;
372
373 /* Camera D (4) MIPI CSI-2 (CSIS1) */
374 port@4 {
375 reg = <4>;
376 csis1_ep: endpoint {
377 remote-endpoint = <&is_s5k6a3_ep>;
378 data-lanes = <1>;
379 samsung,csis-hs-settle = <18>;
380 samsung,csis-wclk;
381 };
382 };
383};
384
385&dsi_0 {
386 vddcore-supply = <&ldo8_reg>;
387 vddio-supply = <&ldo10_reg>;
Hoegeun Kwon4c74ea42017-03-08 13:54:09 +0900388 samsung,burst-clock-frequency = <500000000>;
389 samsung,esc-clock-frequency = <20000000>;
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200390 samsung,pll-clock-frequency = <24000000>;
391 status = "okay";
392
393 ports {
394 #address-cells = <1>;
395 #size-cells = <0>;
396
397 port@1 {
398 reg = <1>;
399
400 dsi_out: endpoint {
401 remote-endpoint = <&dsi_in>;
402 samsung,burst-clock-frequency = <500000000>;
403 samsung,esc-clock-frequency = <20000000>;
404 };
405 };
406 };
407
408 panel@0 {
409 compatible = "samsung,s6e8aa0";
410 reg = <0>;
411 vdd3-supply = <&lcd_vdd3_reg>;
412 vci-supply = <&ldo25_reg>;
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +0900413 reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200414 power-on-delay= <50>;
415 reset-delay = <100>;
416 init-delay = <100>;
417 flip-horizontal;
418 flip-vertical;
419 panel-width-mm = <58>;
420 panel-height-mm = <103>;
421
422 display-timings {
423 timing-0 {
424 clock-frequency = <57153600>;
425 hactive = <720>;
426 vactive = <1280>;
427 hfront-porch = <5>;
428 hback-porch = <5>;
429 hsync-len = <5>;
430 vfront-porch = <13>;
431 vback-porch = <1>;
432 vsync-len = <2>;
433 };
434 };
435
436 port {
437 dsi_in: endpoint {
438 remote-endpoint = <&dsi_out>;
439 };
440 };
441 };
442};
443
444&exynos_usbphy {
Marek Szyprowski4ae9a4c2015-08-21 14:38:38 +0200445 vbus-supply = <&esafeout1_reg>;
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200446 status = "okay";
447};
448
449&fimc_0 {
450 status = "okay";
451 assigned-clocks = <&clock CLK_MOUT_FIMC0>,
452 <&clock CLK_SCLK_FIMC0>;
453 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
454 assigned-clock-rates = <0>, <176000000>;
455};
456
457&fimc_1 {
458 status = "okay";
459 assigned-clocks = <&clock CLK_MOUT_FIMC1>,
460 <&clock CLK_SCLK_FIMC1>;
461 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
462 assigned-clock-rates = <0>, <176000000>;
463};
464
465&fimc_2 {
466 status = "okay";
467 assigned-clocks = <&clock CLK_MOUT_FIMC2>,
468 <&clock CLK_SCLK_FIMC2>;
469 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
470 assigned-clock-rates = <0>, <176000000>;
471};
472
473&fimc_3 {
474 status = "okay";
475 assigned-clocks = <&clock CLK_MOUT_FIMC3>,
476 <&clock CLK_SCLK_FIMC3>;
477 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
478 assigned-clock-rates = <0>, <176000000>;
479};
480
481&fimc_is {
482 pinctrl-0 = <&fimc_is_uart>;
483 pinctrl-names = "default";
484 status = "okay";
485
486 i2c1_isp: i2c-isp@12140000 {
487 pinctrl-0 = <&fimc_is_i2c1>;
488 pinctrl-names = "default";
489
490 s5k6a3@10 {
491 compatible = "samsung,s5k6a3";
492 reg = <0x10>;
493 svdda-supply = <&cam_io_reg>;
494 svddio-supply = <&ldo19_reg>;
495 afvdd-supply = <&ldo19_reg>;
496 clock-frequency = <24000000>;
497 /* CAM_B_CLKOUT */
498 clocks = <&camera 1>;
499 clock-names = "extclk";
500 samsung,camclk-out = <1>;
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +0900501 gpios = <&gpm1 6 GPIO_ACTIVE_HIGH>;
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200502
503 port {
504 is_s5k6a3_ep: endpoint {
505 remote-endpoint = <&csis1_ep>;
506 data-lanes = <1>;
507 };
508 };
509 };
510 };
511};
512
513&fimc_lite_0 {
514 status = "okay";
515};
516
517&fimc_lite_1 {
518 status = "okay";
519};
520
521&fimd {
522 status = "okay";
523};
524
525&hsotg {
526 vusb_d-supply = <&ldo15_reg>;
527 vusb_a-supply = <&ldo12_reg>;
528 dr_mode = "peripheral";
529 status = "okay";
530};
531
532&i2c_0 {
533 samsung,i2c-sda-delay = <100>;
534 samsung,i2c-slave-addr = <0x10>;
535 samsung,i2c-max-bus-freq = <400000>;
536 pinctrl-0 = <&i2c0_bus>;
537 pinctrl-names = "default";
538 status = "okay";
539
540 s5c73m3@3c {
541 compatible = "samsung,s5c73m3";
542 reg = <0x3c>;
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +0900543 standby-gpios = <&gpm0 1 GPIO_ACTIVE_LOW>; /* ISP_STANDBY */
544 xshutdown-gpios = <&gpf1 3 GPIO_ACTIVE_LOW>; /* ISP_RESET */
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200545 vdd-int-supply = <&buck9_reg>;
546 vddio-cis-supply = <&ldo9_reg>;
547 vdda-supply = <&ldo17_reg>;
548 vddio-host-supply = <&ldo18_reg>;
549 vdd-af-supply = <&cam_af_reg>;
550 vdd-reg-supply = <&cam_io_reg>;
551 clock-frequency = <24000000>;
552 /* CAM_A_CLKOUT */
553 clocks = <&camera 0>;
554 clock-names = "cis_extclk";
555 port {
556 s5c73m3_ep: endpoint {
557 remote-endpoint = <&csis0_ep>;
558 data-lanes = <1 2 3 4>;
559 };
560 };
561 };
562};
563
564&i2c_3 {
565 samsung,i2c-sda-delay = <100>;
566 samsung,i2c-slave-addr = <0x10>;
567 samsung,i2c-max-bus-freq = <400000>;
568 pinctrl-0 = <&i2c3_bus>;
569 pinctrl-names = "default";
570 status = "okay";
571
572 mms114-touchscreen@48 {
573 compatible = "melfas,mms114";
574 reg = <0x48>;
575 interrupt-parent = <&gpm2>;
Krzysztof Kozlowski6ff0b902017-06-02 20:13:45 +0200576 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200577 x-size = <720>;
578 y-size = <1280>;
579 avdd-supply = <&ldo23_reg>;
580 vdd-supply = <&ldo24_reg>;
581 };
582};
583
584&i2c_4 {
585 samsung,i2c-sda-delay = <100>;
586 samsung,i2c-slave-addr = <0x10>;
587 samsung,i2c-max-bus-freq = <100000>;
588 pinctrl-0 = <&i2c4_bus>;
589 pinctrl-names = "default";
590 status = "okay";
591
592 wm1811: wm1811@1a {
593 compatible = "wlf,wm1811";
594 reg = <0x1a>;
595 clocks = <&pmu_system_controller 0>;
596 clock-names = "MCLK1";
597 DCVDD-supply = <&ldo3_reg>;
598 DBVDD1-supply = <&ldo3_reg>;
599 wlf,ldo1ena = <&gpj0 4 0>;
600 };
601};
602
603&i2c_7 {
604 samsung,i2c-sda-delay = <100>;
605 samsung,i2c-slave-addr = <0x10>;
606 samsung,i2c-max-bus-freq = <100000>;
607 pinctrl-0 = <&i2c7_bus>;
608 pinctrl-names = "default";
609 status = "okay";
610
611 max77686: max77686_pmic@09 {
612 compatible = "maxim,max77686";
613 interrupt-parent = <&gpx0>;
Krzysztof Kozlowski6ff0b902017-06-02 20:13:45 +0200614 interrupts = <7 IRQ_TYPE_NONE>;
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200615 reg = <0x09>;
616 #clock-cells = <1>;
617
618 voltage-regulators {
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200619 ldo1_reg: LDO1 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200620 regulator-name = "VALIVE_1.0V_AP";
621 regulator-min-microvolt = <1000000>;
622 regulator-max-microvolt = <1000000>;
623 regulator-always-on;
624 };
625
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200626 ldo2_reg: LDO2 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200627 regulator-name = "VM1M2_1.2V_AP";
628 regulator-min-microvolt = <1200000>;
629 regulator-max-microvolt = <1200000>;
630 regulator-always-on;
631 regulator-state-mem {
632 regulator-on-in-suspend;
633 };
634 };
635
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200636 ldo3_reg: LDO3 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200637 regulator-name = "VCC_1.8V_AP";
638 regulator-min-microvolt = <1800000>;
639 regulator-max-microvolt = <1800000>;
640 regulator-always-on;
641 };
642
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200643 ldo4_reg: LDO4 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200644 regulator-name = "VCC_2.8V_AP";
645 regulator-min-microvolt = <2800000>;
646 regulator-max-microvolt = <2800000>;
647 regulator-always-on;
648 };
649
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200650 ldo5_reg: LDO5 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200651 regulator-name = "VCC_1.8V_IO";
652 regulator-min-microvolt = <1800000>;
653 regulator-max-microvolt = <1800000>;
654 regulator-always-on;
655 };
656
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200657 ldo6_reg: LDO6 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200658 regulator-name = "VMPLL_1.0V_AP";
659 regulator-min-microvolt = <1000000>;
660 regulator-max-microvolt = <1000000>;
661 regulator-always-on;
662 regulator-state-mem {
663 regulator-on-in-suspend;
664 };
665 };
666
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200667 ldo7_reg: LDO7 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200668 regulator-name = "VPLL_1.0V_AP";
669 regulator-min-microvolt = <1000000>;
670 regulator-max-microvolt = <1000000>;
671 regulator-always-on;
672 regulator-state-mem {
673 regulator-on-in-suspend;
674 };
675 };
676
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200677 ldo8_reg: LDO8 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200678 regulator-name = "VMIPI_1.0V";
679 regulator-min-microvolt = <1000000>;
680 regulator-max-microvolt = <1000000>;
681 regulator-state-mem {
682 regulator-off-in-suspend;
683 };
684 };
685
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200686 ldo9_reg: LDO9 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200687 regulator-name = "CAM_ISP_MIPI_1.2V";
688 regulator-min-microvolt = <1200000>;
689 regulator-max-microvolt = <1200000>;
690 };
691
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200692 ldo10_reg: LDO10 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200693 regulator-name = "VMIPI_1.8V";
694 regulator-min-microvolt = <1800000>;
695 regulator-max-microvolt = <1800000>;
696 regulator-state-mem {
697 regulator-off-in-suspend;
698 };
699 };
700
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200701 ldo11_reg: LDO11 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200702 regulator-name = "VABB1_1.95V";
703 regulator-min-microvolt = <1950000>;
704 regulator-max-microvolt = <1950000>;
705 regulator-always-on;
706 regulator-state-mem {
707 regulator-off-in-suspend;
708 };
709 };
710
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200711 ldo12_reg: LDO12 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200712 regulator-name = "VUOTG_3.0V";
713 regulator-min-microvolt = <3000000>;
714 regulator-max-microvolt = <3000000>;
715 regulator-state-mem {
716 regulator-off-in-suspend;
717 };
718 };
719
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200720 ldo13_reg: LDO13 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200721 regulator-name = "NFC_AVDD_1.8V";
722 regulator-min-microvolt = <1800000>;
723 regulator-max-microvolt = <1800000>;
724 };
725
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200726 ldo14_reg: LDO14 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200727 regulator-name = "VABB2_1.95V";
728 regulator-min-microvolt = <1950000>;
729 regulator-max-microvolt = <1950000>;
730 regulator-always-on;
731 regulator-state-mem {
732 regulator-off-in-suspend;
733 };
734 };
735
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200736 ldo15_reg: LDO15 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200737 regulator-name = "VHSIC_1.0V";
738 regulator-min-microvolt = <1000000>;
739 regulator-max-microvolt = <1000000>;
740 regulator-state-mem {
741 regulator-on-in-suspend;
742 };
743 };
744
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200745 ldo16_reg: LDO16 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200746 regulator-name = "VHSIC_1.8V";
747 regulator-min-microvolt = <1800000>;
748 regulator-max-microvolt = <1800000>;
749 regulator-state-mem {
750 regulator-on-in-suspend;
751 };
752 };
753
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200754 ldo17_reg: LDO17 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200755 regulator-name = "CAM_SENSOR_CORE_1.2V";
756 regulator-min-microvolt = <1200000>;
757 regulator-max-microvolt = <1200000>;
758 };
759
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200760 ldo18_reg: LDO18 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200761 regulator-name = "CAM_ISP_SEN_IO_1.8V";
762 regulator-min-microvolt = <1800000>;
763 regulator-max-microvolt = <1800000>;
764 };
765
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200766 ldo19_reg: LDO19 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200767 regulator-name = "VT_CAM_1.8V";
768 regulator-min-microvolt = <1800000>;
769 regulator-max-microvolt = <1800000>;
770 };
771
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200772 ldo20_reg: LDO20 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200773 regulator-name = "VDDQ_PRE_1.8V";
774 regulator-min-microvolt = <1800000>;
775 regulator-max-microvolt = <1800000>;
776 };
777
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200778 ldo21_reg: LDO21 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200779 regulator-name = "VTF_2.8V";
780 regulator-min-microvolt = <2800000>;
781 regulator-max-microvolt = <2800000>;
782 maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
783 };
784
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200785 ldo22_reg: LDO22 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200786 regulator-name = "VMEM_VDD_2.8V";
787 regulator-min-microvolt = <2800000>;
788 regulator-max-microvolt = <2800000>;
789 maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
790 };
791
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200792 ldo23_reg: LDO23 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200793 regulator-name = "TSP_AVDD_3.3V";
794 regulator-min-microvolt = <3300000>;
795 regulator-max-microvolt = <3300000>;
796 };
797
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200798 ldo24_reg: LDO24 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200799 regulator-name = "TSP_VDD_1.8V";
800 regulator-min-microvolt = <1800000>;
801 regulator-max-microvolt = <1800000>;
802 };
803
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200804 ldo25_reg: LDO25 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200805 regulator-name = "LCD_VCC_3.3V";
806 regulator-min-microvolt = <2800000>;
807 regulator-max-microvolt = <2800000>;
808 };
809
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200810 ldo26_reg: LDO26 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200811 regulator-name = "MOTOR_VCC_3.0V";
812 regulator-min-microvolt = <3000000>;
813 regulator-max-microvolt = <3000000>;
814 };
815
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200816 buck1_reg: BUCK1 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200817 regulator-name = "vdd_mif";
818 regulator-min-microvolt = <850000>;
819 regulator-max-microvolt = <1100000>;
820 regulator-always-on;
821 regulator-boot-on;
822 regulator-state-mem {
823 regulator-off-in-suspend;
824 };
825 };
826
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200827 buck2_reg: BUCK2 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200828 regulator-name = "vdd_arm";
829 regulator-min-microvolt = <850000>;
830 regulator-max-microvolt = <1500000>;
831 regulator-always-on;
832 regulator-boot-on;
833 regulator-state-mem {
834 regulator-on-in-suspend;
835 };
836 };
837
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200838 buck3_reg: BUCK3 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200839 regulator-name = "vdd_int";
840 regulator-min-microvolt = <850000>;
841 regulator-max-microvolt = <1150000>;
842 regulator-always-on;
843 regulator-boot-on;
844 regulator-state-mem {
845 regulator-off-in-suspend;
846 };
847 };
848
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200849 buck4_reg: BUCK4 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200850 regulator-name = "vdd_g3d";
851 regulator-min-microvolt = <850000>;
852 regulator-max-microvolt = <1150000>;
853 regulator-boot-on;
854 regulator-state-mem {
855 regulator-off-in-suspend;
856 };
857 };
858
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200859 buck5_reg: BUCK5 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200860 regulator-name = "VMEM_1.2V_AP";
861 regulator-min-microvolt = <1200000>;
862 regulator-max-microvolt = <1200000>;
863 regulator-always-on;
864 };
865
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200866 buck6_reg: BUCK6 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200867 regulator-name = "VCC_SUB_1.35V";
868 regulator-min-microvolt = <1350000>;
869 regulator-max-microvolt = <1350000>;
870 regulator-always-on;
871 };
872
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200873 buck7_reg: BUCK7 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200874 regulator-name = "VCC_SUB_2.0V";
875 regulator-min-microvolt = <2000000>;
876 regulator-max-microvolt = <2000000>;
877 regulator-always-on;
878 };
879
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200880 buck8_reg: BUCK8 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200881 regulator-name = "VMEM_VDDF_3.0V";
882 regulator-min-microvolt = <2850000>;
883 regulator-max-microvolt = <2850000>;
884 maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
885 };
886
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200887 buck9_reg: BUCK9 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200888 regulator-name = "CAM_ISP_CORE_1.2V";
889 regulator-min-microvolt = <1000000>;
890 regulator-max-microvolt = <1200000>;
891 maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
892 };
893 };
894 };
895};
896
897&i2s0 {
898 pinctrl-0 = <&i2s0_bus>;
899 pinctrl-names = "default";
900 status = "okay";
901};
902
903&mshc_0 {
904 num-slots = <1>;
905 broken-cd;
906 non-removable;
907 card-detect-delay = <200>;
908 vmmc-supply = <&ldo22_reg>;
909 clock-frequency = <400000000>;
910 samsung,dw-mshc-ciu-div = <0>;
911 samsung,dw-mshc-sdr-timing = <2 3>;
912 samsung,dw-mshc-ddr-timing = <1 2>;
913 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
914 pinctrl-names = "default";
915 status = "okay";
916 bus-width = <8>;
917 cap-mmc-highspeed;
918};
919
Inha Song440e5ae2015-02-04 07:51:38 +0900920&pmu_system_controller {
921 assigned-clocks = <&pmu_system_controller 0>;
922 assigned-clock-parents = <&clock CLK_XUSBXTI>;
923};
924
Tomasz Figa09918a92014-09-24 01:20:03 +0900925&pinctrl_0 {
926 pinctrl-names = "default";
927 pinctrl-0 = <&sleep0>;
928
929 sleep0: sleep-states {
930 PIN_SLP(gpa0-0, INPUT, NONE);
931 PIN_SLP(gpa0-1, OUT0, NONE);
932 PIN_SLP(gpa0-2, INPUT, NONE);
933 PIN_SLP(gpa0-3, INPUT, UP);
934 PIN_SLP(gpa0-4, INPUT, NONE);
935 PIN_SLP(gpa0-5, INPUT, DOWN);
936 PIN_SLP(gpa0-6, INPUT, DOWN);
937 PIN_SLP(gpa0-7, INPUT, UP);
938
939 PIN_SLP(gpa1-0, INPUT, DOWN);
940 PIN_SLP(gpa1-1, INPUT, DOWN);
941 PIN_SLP(gpa1-2, INPUT, DOWN);
942 PIN_SLP(gpa1-3, INPUT, DOWN);
943 PIN_SLP(gpa1-4, INPUT, DOWN);
944 PIN_SLP(gpa1-5, INPUT, DOWN);
945
946 PIN_SLP(gpb-0, INPUT, NONE);
947 PIN_SLP(gpb-1, INPUT, NONE);
948 PIN_SLP(gpb-2, INPUT, NONE);
949 PIN_SLP(gpb-3, INPUT, NONE);
950 PIN_SLP(gpb-4, INPUT, DOWN);
951 PIN_SLP(gpb-5, INPUT, UP);
952 PIN_SLP(gpb-6, INPUT, DOWN);
953 PIN_SLP(gpb-7, INPUT, DOWN);
954
955 PIN_SLP(gpc0-0, INPUT, DOWN);
956 PIN_SLP(gpc0-1, INPUT, DOWN);
957 PIN_SLP(gpc0-2, INPUT, DOWN);
958 PIN_SLP(gpc0-3, INPUT, DOWN);
959 PIN_SLP(gpc0-4, INPUT, DOWN);
960
961 PIN_SLP(gpc1-0, INPUT, NONE);
962 PIN_SLP(gpc1-1, PREV, NONE);
963 PIN_SLP(gpc1-2, INPUT, NONE);
964 PIN_SLP(gpc1-3, INPUT, NONE);
965 PIN_SLP(gpc1-4, INPUT, NONE);
966
967 PIN_SLP(gpd0-0, INPUT, DOWN);
968 PIN_SLP(gpd0-1, INPUT, DOWN);
969 PIN_SLP(gpd0-2, INPUT, NONE);
970 PIN_SLP(gpd0-3, INPUT, NONE);
971
972 PIN_SLP(gpd1-0, INPUT, DOWN);
973 PIN_SLP(gpd1-1, INPUT, DOWN);
974 PIN_SLP(gpd1-2, INPUT, NONE);
975 PIN_SLP(gpd1-3, INPUT, NONE);
976
977 PIN_SLP(gpf0-0, INPUT, NONE);
978 PIN_SLP(gpf0-1, INPUT, NONE);
979 PIN_SLP(gpf0-2, INPUT, DOWN);
980 PIN_SLP(gpf0-3, INPUT, DOWN);
981 PIN_SLP(gpf0-4, INPUT, NONE);
982 PIN_SLP(gpf0-5, INPUT, DOWN);
983 PIN_SLP(gpf0-6, INPUT, NONE);
984 PIN_SLP(gpf0-7, INPUT, DOWN);
985
986 PIN_SLP(gpf1-0, INPUT, DOWN);
987 PIN_SLP(gpf1-1, INPUT, DOWN);
988 PIN_SLP(gpf1-2, INPUT, DOWN);
989 PIN_SLP(gpf1-3, INPUT, DOWN);
990 PIN_SLP(gpf1-4, INPUT, NONE);
991 PIN_SLP(gpf1-5, INPUT, NONE);
992 PIN_SLP(gpf1-6, INPUT, DOWN);
993 PIN_SLP(gpf1-7, PREV, NONE);
994
995 PIN_SLP(gpf2-0, PREV, NONE);
996 PIN_SLP(gpf2-1, INPUT, DOWN);
997 PIN_SLP(gpf2-2, INPUT, DOWN);
998 PIN_SLP(gpf2-3, INPUT, DOWN);
999 PIN_SLP(gpf2-4, INPUT, DOWN);
1000 PIN_SLP(gpf2-5, INPUT, DOWN);
1001 PIN_SLP(gpf2-6, INPUT, NONE);
1002 PIN_SLP(gpf2-7, INPUT, NONE);
1003
1004 PIN_SLP(gpf3-0, INPUT, NONE);
1005 PIN_SLP(gpf3-1, PREV, NONE);
1006 PIN_SLP(gpf3-2, PREV, NONE);
1007 PIN_SLP(gpf3-3, PREV, NONE);
1008 PIN_SLP(gpf3-4, OUT1, NONE);
1009 PIN_SLP(gpf3-5, INPUT, DOWN);
1010
1011 PIN_SLP(gpj0-0, PREV, NONE);
1012 PIN_SLP(gpj0-1, PREV, NONE);
1013 PIN_SLP(gpj0-2, PREV, NONE);
1014 PIN_SLP(gpj0-3, INPUT, DOWN);
1015 PIN_SLP(gpj0-4, PREV, NONE);
1016 PIN_SLP(gpj0-5, PREV, NONE);
1017 PIN_SLP(gpj0-6, INPUT, DOWN);
1018 PIN_SLP(gpj0-7, INPUT, DOWN);
1019
1020 PIN_SLP(gpj1-0, INPUT, DOWN);
1021 PIN_SLP(gpj1-1, PREV, NONE);
1022 PIN_SLP(gpj1-2, PREV, NONE);
1023 PIN_SLP(gpj1-3, INPUT, DOWN);
1024 PIN_SLP(gpj1-4, INPUT, DOWN);
1025 };
1026};
1027
1028&pinctrl_1 {
1029 pinctrl-names = "default";
1030 pinctrl-0 = <&sleep1>;
1031
1032 sleep1: sleep-states {
1033 PIN_SLP(gpk0-0, PREV, NONE);
1034 PIN_SLP(gpk0-1, PREV, NONE);
1035 PIN_SLP(gpk0-2, OUT0, NONE);
1036 PIN_SLP(gpk0-3, PREV, NONE);
1037 PIN_SLP(gpk0-4, PREV, NONE);
1038 PIN_SLP(gpk0-5, PREV, NONE);
1039 PIN_SLP(gpk0-6, PREV, NONE);
1040
1041 PIN_SLP(gpk1-0, INPUT, DOWN);
1042 PIN_SLP(gpk1-1, INPUT, DOWN);
1043 PIN_SLP(gpk1-2, INPUT, DOWN);
1044 PIN_SLP(gpk1-3, PREV, NONE);
1045 PIN_SLP(gpk1-4, PREV, NONE);
1046 PIN_SLP(gpk1-5, PREV, NONE);
1047 PIN_SLP(gpk1-6, PREV, NONE);
1048
1049 PIN_SLP(gpk2-0, INPUT, DOWN);
1050 PIN_SLP(gpk2-1, INPUT, DOWN);
1051 PIN_SLP(gpk2-2, INPUT, DOWN);
1052 PIN_SLP(gpk2-3, INPUT, DOWN);
1053 PIN_SLP(gpk2-4, INPUT, DOWN);
1054 PIN_SLP(gpk2-5, INPUT, DOWN);
1055 PIN_SLP(gpk2-6, INPUT, DOWN);
1056
1057 PIN_SLP(gpk3-0, OUT0, NONE);
1058 PIN_SLP(gpk3-1, INPUT, NONE);
1059 PIN_SLP(gpk3-2, INPUT, DOWN);
1060 PIN_SLP(gpk3-3, INPUT, NONE);
1061 PIN_SLP(gpk3-4, INPUT, NONE);
1062 PIN_SLP(gpk3-5, INPUT, NONE);
1063 PIN_SLP(gpk3-6, INPUT, NONE);
1064
1065 PIN_SLP(gpl0-0, INPUT, DOWN);
1066 PIN_SLP(gpl0-1, INPUT, DOWN);
1067 PIN_SLP(gpl0-2, INPUT, DOWN);
1068 PIN_SLP(gpl0-3, INPUT, DOWN);
1069 PIN_SLP(gpl0-4, PREV, NONE);
1070 PIN_SLP(gpl0-6, PREV, NONE);
1071
1072 PIN_SLP(gpl1-0, INPUT, DOWN);
1073 PIN_SLP(gpl1-1, INPUT, DOWN);
1074 PIN_SLP(gpl2-0, INPUT, DOWN);
1075 PIN_SLP(gpl2-1, INPUT, DOWN);
1076 PIN_SLP(gpl2-2, INPUT, DOWN);
1077 PIN_SLP(gpl2-3, INPUT, DOWN);
1078 PIN_SLP(gpl2-4, INPUT, DOWN);
1079 PIN_SLP(gpl2-5, INPUT, DOWN);
1080 PIN_SLP(gpl2-6, PREV, NONE);
1081 PIN_SLP(gpl2-7, INPUT, DOWN);
1082
1083 PIN_SLP(gpm0-0, INPUT, DOWN);
1084 PIN_SLP(gpm0-1, INPUT, DOWN);
1085 PIN_SLP(gpm0-2, INPUT, DOWN);
1086 PIN_SLP(gpm0-3, INPUT, DOWN);
1087 PIN_SLP(gpm0-4, INPUT, DOWN);
1088 PIN_SLP(gpm0-5, INPUT, DOWN);
1089 PIN_SLP(gpm0-6, INPUT, DOWN);
1090 PIN_SLP(gpm0-7, INPUT, DOWN);
1091
1092 PIN_SLP(gpm1-0, INPUT, DOWN);
1093 PIN_SLP(gpm1-1, INPUT, DOWN);
1094 PIN_SLP(gpm1-2, INPUT, NONE);
1095 PIN_SLP(gpm1-3, INPUT, NONE);
1096 PIN_SLP(gpm1-4, INPUT, NONE);
1097 PIN_SLP(gpm1-5, INPUT, NONE);
1098 PIN_SLP(gpm1-6, INPUT, DOWN);
1099
1100 PIN_SLP(gpm2-0, INPUT, NONE);
1101 PIN_SLP(gpm2-1, INPUT, NONE);
1102 PIN_SLP(gpm2-2, INPUT, DOWN);
1103 PIN_SLP(gpm2-3, INPUT, DOWN);
1104 PIN_SLP(gpm2-4, INPUT, DOWN);
1105
1106 PIN_SLP(gpm3-0, PREV, NONE);
1107 PIN_SLP(gpm3-1, PREV, NONE);
1108 PIN_SLP(gpm3-2, PREV, NONE);
1109 PIN_SLP(gpm3-3, OUT1, NONE);
1110 PIN_SLP(gpm3-4, INPUT, DOWN);
1111 PIN_SLP(gpm3-5, INPUT, DOWN);
1112 PIN_SLP(gpm3-6, INPUT, DOWN);
1113 PIN_SLP(gpm3-7, INPUT, DOWN);
1114
1115 PIN_SLP(gpm4-0, INPUT, DOWN);
1116 PIN_SLP(gpm4-1, INPUT, DOWN);
1117 PIN_SLP(gpm4-2, INPUT, DOWN);
1118 PIN_SLP(gpm4-3, INPUT, DOWN);
1119 PIN_SLP(gpm4-4, INPUT, DOWN);
1120 PIN_SLP(gpm4-5, INPUT, DOWN);
1121 PIN_SLP(gpm4-6, INPUT, DOWN);
1122 PIN_SLP(gpm4-7, INPUT, DOWN);
1123
1124 PIN_SLP(gpy0-0, INPUT, DOWN);
1125 PIN_SLP(gpy0-1, INPUT, DOWN);
1126 PIN_SLP(gpy0-2, INPUT, DOWN);
1127 PIN_SLP(gpy0-3, INPUT, DOWN);
1128 PIN_SLP(gpy0-4, INPUT, DOWN);
1129 PIN_SLP(gpy0-5, INPUT, DOWN);
1130
1131 PIN_SLP(gpy1-0, INPUT, DOWN);
1132 PIN_SLP(gpy1-1, INPUT, DOWN);
1133 PIN_SLP(gpy1-2, INPUT, DOWN);
1134 PIN_SLP(gpy1-3, INPUT, DOWN);
1135
1136 PIN_SLP(gpy2-0, PREV, NONE);
1137 PIN_SLP(gpy2-1, INPUT, DOWN);
1138 PIN_SLP(gpy2-2, INPUT, NONE);
1139 PIN_SLP(gpy2-3, INPUT, NONE);
1140 PIN_SLP(gpy2-4, INPUT, NONE);
1141 PIN_SLP(gpy2-5, INPUT, NONE);
1142
1143 PIN_SLP(gpy3-0, INPUT, DOWN);
1144 PIN_SLP(gpy3-1, INPUT, DOWN);
1145 PIN_SLP(gpy3-2, INPUT, DOWN);
1146 PIN_SLP(gpy3-3, INPUT, DOWN);
1147 PIN_SLP(gpy3-4, INPUT, DOWN);
1148 PIN_SLP(gpy3-5, INPUT, DOWN);
1149 PIN_SLP(gpy3-6, INPUT, DOWN);
1150 PIN_SLP(gpy3-7, INPUT, DOWN);
1151
1152 PIN_SLP(gpy4-0, INPUT, DOWN);
1153 PIN_SLP(gpy4-1, INPUT, DOWN);
1154 PIN_SLP(gpy4-2, INPUT, DOWN);
1155 PIN_SLP(gpy4-3, INPUT, DOWN);
1156 PIN_SLP(gpy4-4, INPUT, DOWN);
1157 PIN_SLP(gpy4-5, INPUT, DOWN);
1158 PIN_SLP(gpy4-6, INPUT, DOWN);
1159 PIN_SLP(gpy4-7, INPUT, DOWN);
1160
1161 PIN_SLP(gpy5-0, INPUT, DOWN);
1162 PIN_SLP(gpy5-1, INPUT, DOWN);
1163 PIN_SLP(gpy5-2, INPUT, DOWN);
1164 PIN_SLP(gpy5-3, INPUT, DOWN);
1165 PIN_SLP(gpy5-4, INPUT, DOWN);
1166 PIN_SLP(gpy5-5, INPUT, DOWN);
1167 PIN_SLP(gpy5-6, INPUT, DOWN);
1168 PIN_SLP(gpy5-7, INPUT, DOWN);
1169
1170 PIN_SLP(gpy6-0, INPUT, DOWN);
1171 PIN_SLP(gpy6-1, INPUT, DOWN);
1172 PIN_SLP(gpy6-2, INPUT, DOWN);
1173 PIN_SLP(gpy6-3, INPUT, DOWN);
1174 PIN_SLP(gpy6-4, INPUT, DOWN);
1175 PIN_SLP(gpy6-5, INPUT, DOWN);
1176 PIN_SLP(gpy6-6, INPUT, DOWN);
1177 PIN_SLP(gpy6-7, INPUT, DOWN);
1178 };
1179};
1180
1181&pinctrl_2 {
1182 pinctrl-names = "default";
1183 pinctrl-0 = <&sleep2>;
1184
1185 sleep2: sleep-states {
1186 PIN_SLP(gpz-0, INPUT, DOWN);
1187 PIN_SLP(gpz-1, INPUT, DOWN);
1188 PIN_SLP(gpz-2, INPUT, DOWN);
1189 PIN_SLP(gpz-3, INPUT, DOWN);
1190 PIN_SLP(gpz-4, INPUT, DOWN);
1191 PIN_SLP(gpz-5, INPUT, DOWN);
1192 PIN_SLP(gpz-6, INPUT, DOWN);
1193 };
1194};
1195
1196&pinctrl_3 {
1197 pinctrl-names = "default";
1198 pinctrl-0 = <&sleep3>;
1199
1200 sleep3: sleep-states {
1201 PIN_SLP(gpv0-0, INPUT, DOWN);
1202 PIN_SLP(gpv0-1, INPUT, DOWN);
1203 PIN_SLP(gpv0-2, INPUT, DOWN);
1204 PIN_SLP(gpv0-3, INPUT, DOWN);
1205 PIN_SLP(gpv0-4, INPUT, DOWN);
1206 PIN_SLP(gpv0-5, INPUT, DOWN);
1207 PIN_SLP(gpv0-6, INPUT, DOWN);
1208 PIN_SLP(gpv0-7, INPUT, DOWN);
1209
1210 PIN_SLP(gpv1-0, INPUT, DOWN);
1211 PIN_SLP(gpv1-1, INPUT, DOWN);
1212 PIN_SLP(gpv1-2, INPUT, DOWN);
1213 PIN_SLP(gpv1-3, INPUT, DOWN);
1214 PIN_SLP(gpv1-4, INPUT, DOWN);
1215 PIN_SLP(gpv1-5, INPUT, DOWN);
1216 PIN_SLP(gpv1-6, INPUT, DOWN);
1217 PIN_SLP(gpv1-7, INPUT, DOWN);
1218
1219 PIN_SLP(gpv2-0, INPUT, DOWN);
1220 PIN_SLP(gpv2-1, INPUT, DOWN);
1221 PIN_SLP(gpv2-2, INPUT, DOWN);
1222 PIN_SLP(gpv2-3, INPUT, DOWN);
1223 PIN_SLP(gpv2-4, INPUT, DOWN);
1224 PIN_SLP(gpv2-5, INPUT, DOWN);
1225 PIN_SLP(gpv2-6, INPUT, DOWN);
1226 PIN_SLP(gpv2-7, INPUT, DOWN);
1227
1228 PIN_SLP(gpv3-0, INPUT, DOWN);
1229 PIN_SLP(gpv3-1, INPUT, DOWN);
1230 PIN_SLP(gpv3-2, INPUT, DOWN);
1231 PIN_SLP(gpv3-3, INPUT, DOWN);
1232 PIN_SLP(gpv3-4, INPUT, DOWN);
1233 PIN_SLP(gpv3-5, INPUT, DOWN);
1234 PIN_SLP(gpv3-6, INPUT, DOWN);
1235 PIN_SLP(gpv3-7, INPUT, DOWN);
1236
1237 PIN_SLP(gpv4-0, INPUT, DOWN);
1238 };
1239};
Krzysztof Kozlowskice9940a2015-05-02 14:40:08 +09001240
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +02001241&pwm {
1242 pinctrl-0 = <&pwm0_out>;
1243 pinctrl-names = "default";
1244 samsung,pwm-outputs = <0>;
1245 status = "okay";
1246};
1247
Krzysztof Kozlowskice9940a2015-05-02 14:40:08 +09001248&rtc {
1249 status = "okay";
1250 clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
1251 clock-names = "rtc", "rtc_src";
1252};
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +02001253
1254&sdhci_2 {
1255 bus-width = <4>;
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +09001256 cd-gpios = <&gpx3 4 GPIO_ACTIVE_HIGH>;
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +02001257 cd-inverted;
1258 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
1259 pinctrl-names = "default";
1260 vmmc-supply = <&ldo21_reg>;
1261 status = "okay";
1262};
1263
1264&serial_0 {
1265 status = "okay";
1266};
1267
1268&serial_1 {
1269 status = "okay";
1270};
1271
1272&serial_2 {
1273 status = "okay";
1274};
1275
1276&serial_3 {
1277 status = "okay";
1278};
1279
1280&spi_1 {
1281 pinctrl-names = "default";
1282 pinctrl-0 = <&spi1_bus>;
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +09001283 cs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>;
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +02001284 status = "okay";
1285
Krzysztof Kozlowski26ee29a2016-04-06 11:00:43 +09001286 s5c73m3_spi: s5c73m3@0 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +02001287 compatible = "samsung,s5c73m3";
1288 spi-max-frequency = <50000000>;
1289 reg = <0>;
1290 controller-data {
1291 samsung,spi-feedback-delay = <2>;
1292 };
1293 };
1294};
1295
1296&tmu {
1297 vtmu-supply = <&ldo10_reg>;
1298 status = "okay";
1299};