blob: d867888e7b35e3cbb3145fb0ec9362f3304b91e5 [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
Rob Herring8dccafa2017-10-13 12:54:51 -050043 firmware@204f000 {
Tomasz Figa15dfdfa2013-07-24 13:41:45 +090044 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
Rob Herring8dccafa2017-10-13 12:54:51 -0500209 ak8975@c {
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 Choi4f423782014-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 Choi4f423782014-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
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200393 panel@0 {
394 compatible = "samsung,s6e8aa0";
395 reg = <0>;
396 vdd3-supply = <&lcd_vdd3_reg>;
397 vci-supply = <&ldo25_reg>;
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +0900398 reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200399 power-on-delay= <50>;
400 reset-delay = <100>;
401 init-delay = <100>;
402 flip-horizontal;
403 flip-vertical;
404 panel-width-mm = <58>;
405 panel-height-mm = <103>;
406
407 display-timings {
408 timing-0 {
409 clock-frequency = <57153600>;
410 hactive = <720>;
411 vactive = <1280>;
412 hfront-porch = <5>;
413 hback-porch = <5>;
414 hsync-len = <5>;
415 vfront-porch = <13>;
416 vback-porch = <1>;
417 vsync-len = <2>;
418 };
419 };
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200420 };
421};
422
423&exynos_usbphy {
Marek Szyprowski4ae9a4c2015-08-21 14:38:38 +0200424 vbus-supply = <&esafeout1_reg>;
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200425 status = "okay";
426};
427
428&fimc_0 {
429 status = "okay";
430 assigned-clocks = <&clock CLK_MOUT_FIMC0>,
431 <&clock CLK_SCLK_FIMC0>;
432 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
433 assigned-clock-rates = <0>, <176000000>;
434};
435
436&fimc_1 {
437 status = "okay";
438 assigned-clocks = <&clock CLK_MOUT_FIMC1>,
439 <&clock CLK_SCLK_FIMC1>;
440 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
441 assigned-clock-rates = <0>, <176000000>;
442};
443
444&fimc_2 {
445 status = "okay";
446 assigned-clocks = <&clock CLK_MOUT_FIMC2>,
447 <&clock CLK_SCLK_FIMC2>;
448 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
449 assigned-clock-rates = <0>, <176000000>;
450};
451
452&fimc_3 {
453 status = "okay";
454 assigned-clocks = <&clock CLK_MOUT_FIMC3>,
455 <&clock CLK_SCLK_FIMC3>;
456 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
457 assigned-clock-rates = <0>, <176000000>;
458};
459
460&fimc_is {
461 pinctrl-0 = <&fimc_is_uart>;
462 pinctrl-names = "default";
463 status = "okay";
464
465 i2c1_isp: i2c-isp@12140000 {
466 pinctrl-0 = <&fimc_is_i2c1>;
467 pinctrl-names = "default";
468
469 s5k6a3@10 {
470 compatible = "samsung,s5k6a3";
471 reg = <0x10>;
472 svdda-supply = <&cam_io_reg>;
473 svddio-supply = <&ldo19_reg>;
474 afvdd-supply = <&ldo19_reg>;
475 clock-frequency = <24000000>;
476 /* CAM_B_CLKOUT */
477 clocks = <&camera 1>;
478 clock-names = "extclk";
479 samsung,camclk-out = <1>;
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +0900480 gpios = <&gpm1 6 GPIO_ACTIVE_HIGH>;
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200481
482 port {
483 is_s5k6a3_ep: endpoint {
484 remote-endpoint = <&csis1_ep>;
485 data-lanes = <1>;
486 };
487 };
488 };
489 };
490};
491
492&fimc_lite_0 {
493 status = "okay";
494};
495
496&fimc_lite_1 {
497 status = "okay";
498};
499
500&fimd {
501 status = "okay";
502};
503
504&hsotg {
505 vusb_d-supply = <&ldo15_reg>;
506 vusb_a-supply = <&ldo12_reg>;
507 dr_mode = "peripheral";
508 status = "okay";
509};
510
511&i2c_0 {
512 samsung,i2c-sda-delay = <100>;
513 samsung,i2c-slave-addr = <0x10>;
514 samsung,i2c-max-bus-freq = <400000>;
515 pinctrl-0 = <&i2c0_bus>;
516 pinctrl-names = "default";
517 status = "okay";
518
519 s5c73m3@3c {
520 compatible = "samsung,s5c73m3";
521 reg = <0x3c>;
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +0900522 standby-gpios = <&gpm0 1 GPIO_ACTIVE_LOW>; /* ISP_STANDBY */
523 xshutdown-gpios = <&gpf1 3 GPIO_ACTIVE_LOW>; /* ISP_RESET */
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200524 vdd-int-supply = <&buck9_reg>;
525 vddio-cis-supply = <&ldo9_reg>;
526 vdda-supply = <&ldo17_reg>;
527 vddio-host-supply = <&ldo18_reg>;
528 vdd-af-supply = <&cam_af_reg>;
529 vdd-reg-supply = <&cam_io_reg>;
530 clock-frequency = <24000000>;
531 /* CAM_A_CLKOUT */
532 clocks = <&camera 0>;
533 clock-names = "cis_extclk";
534 port {
535 s5c73m3_ep: endpoint {
536 remote-endpoint = <&csis0_ep>;
537 data-lanes = <1 2 3 4>;
538 };
539 };
540 };
541};
542
543&i2c_3 {
544 samsung,i2c-sda-delay = <100>;
545 samsung,i2c-slave-addr = <0x10>;
546 samsung,i2c-max-bus-freq = <400000>;
547 pinctrl-0 = <&i2c3_bus>;
548 pinctrl-names = "default";
549 status = "okay";
550
551 mms114-touchscreen@48 {
552 compatible = "melfas,mms114";
553 reg = <0x48>;
554 interrupt-parent = <&gpm2>;
Krzysztof Kozlowski6ff0b902017-06-02 20:13:45 +0200555 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200556 x-size = <720>;
557 y-size = <1280>;
558 avdd-supply = <&ldo23_reg>;
559 vdd-supply = <&ldo24_reg>;
560 };
561};
562
563&i2c_4 {
564 samsung,i2c-sda-delay = <100>;
565 samsung,i2c-slave-addr = <0x10>;
566 samsung,i2c-max-bus-freq = <100000>;
567 pinctrl-0 = <&i2c4_bus>;
568 pinctrl-names = "default";
569 status = "okay";
570
571 wm1811: wm1811@1a {
572 compatible = "wlf,wm1811";
573 reg = <0x1a>;
574 clocks = <&pmu_system_controller 0>;
575 clock-names = "MCLK1";
576 DCVDD-supply = <&ldo3_reg>;
577 DBVDD1-supply = <&ldo3_reg>;
578 wlf,ldo1ena = <&gpj0 4 0>;
579 };
580};
581
582&i2c_7 {
583 samsung,i2c-sda-delay = <100>;
584 samsung,i2c-slave-addr = <0x10>;
585 samsung,i2c-max-bus-freq = <100000>;
586 pinctrl-0 = <&i2c7_bus>;
587 pinctrl-names = "default";
588 status = "okay";
589
Rob Herring8dccafa2017-10-13 12:54:51 -0500590 max77686: max77686_pmic@9 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200591 compatible = "maxim,max77686";
592 interrupt-parent = <&gpx0>;
Krzysztof Kozlowski6ff0b902017-06-02 20:13:45 +0200593 interrupts = <7 IRQ_TYPE_NONE>;
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200594 reg = <0x09>;
595 #clock-cells = <1>;
596
597 voltage-regulators {
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200598 ldo1_reg: LDO1 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200599 regulator-name = "VALIVE_1.0V_AP";
600 regulator-min-microvolt = <1000000>;
601 regulator-max-microvolt = <1000000>;
602 regulator-always-on;
603 };
604
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200605 ldo2_reg: LDO2 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200606 regulator-name = "VM1M2_1.2V_AP";
607 regulator-min-microvolt = <1200000>;
608 regulator-max-microvolt = <1200000>;
609 regulator-always-on;
610 regulator-state-mem {
611 regulator-on-in-suspend;
612 };
613 };
614
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200615 ldo3_reg: LDO3 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200616 regulator-name = "VCC_1.8V_AP";
617 regulator-min-microvolt = <1800000>;
618 regulator-max-microvolt = <1800000>;
619 regulator-always-on;
620 };
621
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200622 ldo4_reg: LDO4 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200623 regulator-name = "VCC_2.8V_AP";
624 regulator-min-microvolt = <2800000>;
625 regulator-max-microvolt = <2800000>;
626 regulator-always-on;
627 };
628
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200629 ldo5_reg: LDO5 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200630 regulator-name = "VCC_1.8V_IO";
631 regulator-min-microvolt = <1800000>;
632 regulator-max-microvolt = <1800000>;
633 regulator-always-on;
634 };
635
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200636 ldo6_reg: LDO6 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200637 regulator-name = "VMPLL_1.0V_AP";
638 regulator-min-microvolt = <1000000>;
639 regulator-max-microvolt = <1000000>;
640 regulator-always-on;
641 regulator-state-mem {
642 regulator-on-in-suspend;
643 };
644 };
645
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200646 ldo7_reg: LDO7 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200647 regulator-name = "VPLL_1.0V_AP";
648 regulator-min-microvolt = <1000000>;
649 regulator-max-microvolt = <1000000>;
650 regulator-always-on;
651 regulator-state-mem {
652 regulator-on-in-suspend;
653 };
654 };
655
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200656 ldo8_reg: LDO8 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200657 regulator-name = "VMIPI_1.0V";
658 regulator-min-microvolt = <1000000>;
659 regulator-max-microvolt = <1000000>;
660 regulator-state-mem {
661 regulator-off-in-suspend;
662 };
663 };
664
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200665 ldo9_reg: LDO9 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200666 regulator-name = "CAM_ISP_MIPI_1.2V";
667 regulator-min-microvolt = <1200000>;
668 regulator-max-microvolt = <1200000>;
669 };
670
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200671 ldo10_reg: LDO10 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200672 regulator-name = "VMIPI_1.8V";
673 regulator-min-microvolt = <1800000>;
674 regulator-max-microvolt = <1800000>;
675 regulator-state-mem {
676 regulator-off-in-suspend;
677 };
678 };
679
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200680 ldo11_reg: LDO11 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200681 regulator-name = "VABB1_1.95V";
682 regulator-min-microvolt = <1950000>;
683 regulator-max-microvolt = <1950000>;
684 regulator-always-on;
685 regulator-state-mem {
686 regulator-off-in-suspend;
687 };
688 };
689
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200690 ldo12_reg: LDO12 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200691 regulator-name = "VUOTG_3.0V";
692 regulator-min-microvolt = <3000000>;
693 regulator-max-microvolt = <3000000>;
694 regulator-state-mem {
695 regulator-off-in-suspend;
696 };
697 };
698
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200699 ldo13_reg: LDO13 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200700 regulator-name = "NFC_AVDD_1.8V";
701 regulator-min-microvolt = <1800000>;
702 regulator-max-microvolt = <1800000>;
703 };
704
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200705 ldo14_reg: LDO14 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200706 regulator-name = "VABB2_1.95V";
707 regulator-min-microvolt = <1950000>;
708 regulator-max-microvolt = <1950000>;
709 regulator-always-on;
710 regulator-state-mem {
711 regulator-off-in-suspend;
712 };
713 };
714
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200715 ldo15_reg: LDO15 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200716 regulator-name = "VHSIC_1.0V";
717 regulator-min-microvolt = <1000000>;
718 regulator-max-microvolt = <1000000>;
719 regulator-state-mem {
720 regulator-on-in-suspend;
721 };
722 };
723
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200724 ldo16_reg: LDO16 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200725 regulator-name = "VHSIC_1.8V";
726 regulator-min-microvolt = <1800000>;
727 regulator-max-microvolt = <1800000>;
728 regulator-state-mem {
729 regulator-on-in-suspend;
730 };
731 };
732
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200733 ldo17_reg: LDO17 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200734 regulator-name = "CAM_SENSOR_CORE_1.2V";
735 regulator-min-microvolt = <1200000>;
736 regulator-max-microvolt = <1200000>;
737 };
738
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200739 ldo18_reg: LDO18 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200740 regulator-name = "CAM_ISP_SEN_IO_1.8V";
741 regulator-min-microvolt = <1800000>;
742 regulator-max-microvolt = <1800000>;
743 };
744
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200745 ldo19_reg: LDO19 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200746 regulator-name = "VT_CAM_1.8V";
747 regulator-min-microvolt = <1800000>;
748 regulator-max-microvolt = <1800000>;
749 };
750
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200751 ldo20_reg: LDO20 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200752 regulator-name = "VDDQ_PRE_1.8V";
753 regulator-min-microvolt = <1800000>;
754 regulator-max-microvolt = <1800000>;
755 };
756
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200757 ldo21_reg: LDO21 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200758 regulator-name = "VTF_2.8V";
759 regulator-min-microvolt = <2800000>;
760 regulator-max-microvolt = <2800000>;
761 maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>;
762 };
763
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200764 ldo22_reg: LDO22 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200765 regulator-name = "VMEM_VDD_2.8V";
766 regulator-min-microvolt = <2800000>;
767 regulator-max-microvolt = <2800000>;
768 maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
769 };
770
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200771 ldo23_reg: LDO23 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200772 regulator-name = "TSP_AVDD_3.3V";
773 regulator-min-microvolt = <3300000>;
774 regulator-max-microvolt = <3300000>;
775 };
776
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200777 ldo24_reg: LDO24 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200778 regulator-name = "TSP_VDD_1.8V";
779 regulator-min-microvolt = <1800000>;
780 regulator-max-microvolt = <1800000>;
781 };
782
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200783 ldo25_reg: LDO25 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200784 regulator-name = "LCD_VCC_3.3V";
785 regulator-min-microvolt = <2800000>;
786 regulator-max-microvolt = <2800000>;
787 };
788
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200789 ldo26_reg: LDO26 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200790 regulator-name = "MOTOR_VCC_3.0V";
791 regulator-min-microvolt = <3000000>;
792 regulator-max-microvolt = <3000000>;
793 };
794
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200795 buck1_reg: BUCK1 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200796 regulator-name = "vdd_mif";
797 regulator-min-microvolt = <850000>;
798 regulator-max-microvolt = <1100000>;
799 regulator-always-on;
800 regulator-boot-on;
801 regulator-state-mem {
802 regulator-off-in-suspend;
803 };
804 };
805
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200806 buck2_reg: BUCK2 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200807 regulator-name = "vdd_arm";
808 regulator-min-microvolt = <850000>;
809 regulator-max-microvolt = <1500000>;
810 regulator-always-on;
811 regulator-boot-on;
812 regulator-state-mem {
813 regulator-on-in-suspend;
814 };
815 };
816
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200817 buck3_reg: BUCK3 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200818 regulator-name = "vdd_int";
819 regulator-min-microvolt = <850000>;
820 regulator-max-microvolt = <1150000>;
821 regulator-always-on;
822 regulator-boot-on;
823 regulator-state-mem {
824 regulator-off-in-suspend;
825 };
826 };
827
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200828 buck4_reg: BUCK4 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200829 regulator-name = "vdd_g3d";
830 regulator-min-microvolt = <850000>;
831 regulator-max-microvolt = <1150000>;
832 regulator-boot-on;
833 regulator-state-mem {
834 regulator-off-in-suspend;
835 };
836 };
837
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200838 buck5_reg: BUCK5 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200839 regulator-name = "VMEM_1.2V_AP";
840 regulator-min-microvolt = <1200000>;
841 regulator-max-microvolt = <1200000>;
842 regulator-always-on;
843 };
844
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200845 buck6_reg: BUCK6 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200846 regulator-name = "VCC_SUB_1.35V";
847 regulator-min-microvolt = <1350000>;
848 regulator-max-microvolt = <1350000>;
849 regulator-always-on;
850 };
851
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200852 buck7_reg: BUCK7 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200853 regulator-name = "VCC_SUB_2.0V";
854 regulator-min-microvolt = <2000000>;
855 regulator-max-microvolt = <2000000>;
856 regulator-always-on;
857 };
858
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200859 buck8_reg: BUCK8 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200860 regulator-name = "VMEM_VDDF_3.0V";
861 regulator-min-microvolt = <2850000>;
862 regulator-max-microvolt = <2850000>;
863 maxim,ena-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
864 };
865
Javier Martinez Canillasc21dbcfe2015-09-28 12:38:34 +0200866 buck9_reg: BUCK9 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200867 regulator-name = "CAM_ISP_CORE_1.2V";
868 regulator-min-microvolt = <1000000>;
869 regulator-max-microvolt = <1200000>;
870 maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
871 };
872 };
873 };
874};
875
876&i2s0 {
877 pinctrl-0 = <&i2s0_bus>;
878 pinctrl-names = "default";
879 status = "okay";
880};
881
882&mshc_0 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +0200883 broken-cd;
884 non-removable;
885 card-detect-delay = <200>;
886 vmmc-supply = <&ldo22_reg>;
887 clock-frequency = <400000000>;
888 samsung,dw-mshc-ciu-div = <0>;
889 samsung,dw-mshc-sdr-timing = <2 3>;
890 samsung,dw-mshc-ddr-timing = <1 2>;
891 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
892 pinctrl-names = "default";
893 status = "okay";
894 bus-width = <8>;
895 cap-mmc-highspeed;
896};
897
Inha Song440e5ae2015-02-04 07:51:38 +0900898&pmu_system_controller {
899 assigned-clocks = <&pmu_system_controller 0>;
900 assigned-clock-parents = <&clock CLK_XUSBXTI>;
901};
902
Tomasz Figa09918a92014-09-24 01:20:03 +0900903&pinctrl_0 {
904 pinctrl-names = "default";
905 pinctrl-0 = <&sleep0>;
906
907 sleep0: sleep-states {
908 PIN_SLP(gpa0-0, INPUT, NONE);
909 PIN_SLP(gpa0-1, OUT0, NONE);
910 PIN_SLP(gpa0-2, INPUT, NONE);
911 PIN_SLP(gpa0-3, INPUT, UP);
912 PIN_SLP(gpa0-4, INPUT, NONE);
913 PIN_SLP(gpa0-5, INPUT, DOWN);
914 PIN_SLP(gpa0-6, INPUT, DOWN);
915 PIN_SLP(gpa0-7, INPUT, UP);
916
917 PIN_SLP(gpa1-0, INPUT, DOWN);
918 PIN_SLP(gpa1-1, INPUT, DOWN);
919 PIN_SLP(gpa1-2, INPUT, DOWN);
920 PIN_SLP(gpa1-3, INPUT, DOWN);
921 PIN_SLP(gpa1-4, INPUT, DOWN);
922 PIN_SLP(gpa1-5, INPUT, DOWN);
923
924 PIN_SLP(gpb-0, INPUT, NONE);
925 PIN_SLP(gpb-1, INPUT, NONE);
926 PIN_SLP(gpb-2, INPUT, NONE);
927 PIN_SLP(gpb-3, INPUT, NONE);
928 PIN_SLP(gpb-4, INPUT, DOWN);
929 PIN_SLP(gpb-5, INPUT, UP);
930 PIN_SLP(gpb-6, INPUT, DOWN);
931 PIN_SLP(gpb-7, INPUT, DOWN);
932
933 PIN_SLP(gpc0-0, INPUT, DOWN);
934 PIN_SLP(gpc0-1, INPUT, DOWN);
935 PIN_SLP(gpc0-2, INPUT, DOWN);
936 PIN_SLP(gpc0-3, INPUT, DOWN);
937 PIN_SLP(gpc0-4, INPUT, DOWN);
938
939 PIN_SLP(gpc1-0, INPUT, NONE);
940 PIN_SLP(gpc1-1, PREV, NONE);
941 PIN_SLP(gpc1-2, INPUT, NONE);
942 PIN_SLP(gpc1-3, INPUT, NONE);
943 PIN_SLP(gpc1-4, INPUT, NONE);
944
945 PIN_SLP(gpd0-0, INPUT, DOWN);
946 PIN_SLP(gpd0-1, INPUT, DOWN);
947 PIN_SLP(gpd0-2, INPUT, NONE);
948 PIN_SLP(gpd0-3, INPUT, NONE);
949
950 PIN_SLP(gpd1-0, INPUT, DOWN);
951 PIN_SLP(gpd1-1, INPUT, DOWN);
952 PIN_SLP(gpd1-2, INPUT, NONE);
953 PIN_SLP(gpd1-3, INPUT, NONE);
954
955 PIN_SLP(gpf0-0, INPUT, NONE);
956 PIN_SLP(gpf0-1, INPUT, NONE);
957 PIN_SLP(gpf0-2, INPUT, DOWN);
958 PIN_SLP(gpf0-3, INPUT, DOWN);
959 PIN_SLP(gpf0-4, INPUT, NONE);
960 PIN_SLP(gpf0-5, INPUT, DOWN);
961 PIN_SLP(gpf0-6, INPUT, NONE);
962 PIN_SLP(gpf0-7, INPUT, DOWN);
963
964 PIN_SLP(gpf1-0, INPUT, DOWN);
965 PIN_SLP(gpf1-1, INPUT, DOWN);
966 PIN_SLP(gpf1-2, INPUT, DOWN);
967 PIN_SLP(gpf1-3, INPUT, DOWN);
968 PIN_SLP(gpf1-4, INPUT, NONE);
969 PIN_SLP(gpf1-5, INPUT, NONE);
970 PIN_SLP(gpf1-6, INPUT, DOWN);
971 PIN_SLP(gpf1-7, PREV, NONE);
972
973 PIN_SLP(gpf2-0, PREV, NONE);
974 PIN_SLP(gpf2-1, INPUT, DOWN);
975 PIN_SLP(gpf2-2, INPUT, DOWN);
976 PIN_SLP(gpf2-3, INPUT, DOWN);
977 PIN_SLP(gpf2-4, INPUT, DOWN);
978 PIN_SLP(gpf2-5, INPUT, DOWN);
979 PIN_SLP(gpf2-6, INPUT, NONE);
980 PIN_SLP(gpf2-7, INPUT, NONE);
981
982 PIN_SLP(gpf3-0, INPUT, NONE);
983 PIN_SLP(gpf3-1, PREV, NONE);
984 PIN_SLP(gpf3-2, PREV, NONE);
985 PIN_SLP(gpf3-3, PREV, NONE);
986 PIN_SLP(gpf3-4, OUT1, NONE);
987 PIN_SLP(gpf3-5, INPUT, DOWN);
988
989 PIN_SLP(gpj0-0, PREV, NONE);
990 PIN_SLP(gpj0-1, PREV, NONE);
991 PIN_SLP(gpj0-2, PREV, NONE);
992 PIN_SLP(gpj0-3, INPUT, DOWN);
993 PIN_SLP(gpj0-4, PREV, NONE);
994 PIN_SLP(gpj0-5, PREV, NONE);
995 PIN_SLP(gpj0-6, INPUT, DOWN);
996 PIN_SLP(gpj0-7, INPUT, DOWN);
997
998 PIN_SLP(gpj1-0, INPUT, DOWN);
999 PIN_SLP(gpj1-1, PREV, NONE);
1000 PIN_SLP(gpj1-2, PREV, NONE);
1001 PIN_SLP(gpj1-3, INPUT, DOWN);
1002 PIN_SLP(gpj1-4, INPUT, DOWN);
1003 };
1004};
1005
1006&pinctrl_1 {
1007 pinctrl-names = "default";
1008 pinctrl-0 = <&sleep1>;
1009
1010 sleep1: sleep-states {
1011 PIN_SLP(gpk0-0, PREV, NONE);
1012 PIN_SLP(gpk0-1, PREV, NONE);
1013 PIN_SLP(gpk0-2, OUT0, NONE);
1014 PIN_SLP(gpk0-3, PREV, NONE);
1015 PIN_SLP(gpk0-4, PREV, NONE);
1016 PIN_SLP(gpk0-5, PREV, NONE);
1017 PIN_SLP(gpk0-6, PREV, NONE);
1018
1019 PIN_SLP(gpk1-0, INPUT, DOWN);
1020 PIN_SLP(gpk1-1, INPUT, DOWN);
1021 PIN_SLP(gpk1-2, INPUT, DOWN);
1022 PIN_SLP(gpk1-3, PREV, NONE);
1023 PIN_SLP(gpk1-4, PREV, NONE);
1024 PIN_SLP(gpk1-5, PREV, NONE);
1025 PIN_SLP(gpk1-6, PREV, NONE);
1026
1027 PIN_SLP(gpk2-0, INPUT, DOWN);
1028 PIN_SLP(gpk2-1, INPUT, DOWN);
1029 PIN_SLP(gpk2-2, INPUT, DOWN);
1030 PIN_SLP(gpk2-3, INPUT, DOWN);
1031 PIN_SLP(gpk2-4, INPUT, DOWN);
1032 PIN_SLP(gpk2-5, INPUT, DOWN);
1033 PIN_SLP(gpk2-6, INPUT, DOWN);
1034
1035 PIN_SLP(gpk3-0, OUT0, NONE);
1036 PIN_SLP(gpk3-1, INPUT, NONE);
1037 PIN_SLP(gpk3-2, INPUT, DOWN);
1038 PIN_SLP(gpk3-3, INPUT, NONE);
1039 PIN_SLP(gpk3-4, INPUT, NONE);
1040 PIN_SLP(gpk3-5, INPUT, NONE);
1041 PIN_SLP(gpk3-6, INPUT, NONE);
1042
1043 PIN_SLP(gpl0-0, INPUT, DOWN);
1044 PIN_SLP(gpl0-1, INPUT, DOWN);
1045 PIN_SLP(gpl0-2, INPUT, DOWN);
1046 PIN_SLP(gpl0-3, INPUT, DOWN);
1047 PIN_SLP(gpl0-4, PREV, NONE);
1048 PIN_SLP(gpl0-6, PREV, NONE);
1049
1050 PIN_SLP(gpl1-0, INPUT, DOWN);
1051 PIN_SLP(gpl1-1, INPUT, DOWN);
1052 PIN_SLP(gpl2-0, INPUT, DOWN);
1053 PIN_SLP(gpl2-1, INPUT, DOWN);
1054 PIN_SLP(gpl2-2, INPUT, DOWN);
1055 PIN_SLP(gpl2-3, INPUT, DOWN);
1056 PIN_SLP(gpl2-4, INPUT, DOWN);
1057 PIN_SLP(gpl2-5, INPUT, DOWN);
1058 PIN_SLP(gpl2-6, PREV, NONE);
1059 PIN_SLP(gpl2-7, INPUT, DOWN);
1060
1061 PIN_SLP(gpm0-0, INPUT, DOWN);
1062 PIN_SLP(gpm0-1, INPUT, DOWN);
1063 PIN_SLP(gpm0-2, INPUT, DOWN);
1064 PIN_SLP(gpm0-3, INPUT, DOWN);
1065 PIN_SLP(gpm0-4, INPUT, DOWN);
1066 PIN_SLP(gpm0-5, INPUT, DOWN);
1067 PIN_SLP(gpm0-6, INPUT, DOWN);
1068 PIN_SLP(gpm0-7, INPUT, DOWN);
1069
1070 PIN_SLP(gpm1-0, INPUT, DOWN);
1071 PIN_SLP(gpm1-1, INPUT, DOWN);
1072 PIN_SLP(gpm1-2, INPUT, NONE);
1073 PIN_SLP(gpm1-3, INPUT, NONE);
1074 PIN_SLP(gpm1-4, INPUT, NONE);
1075 PIN_SLP(gpm1-5, INPUT, NONE);
1076 PIN_SLP(gpm1-6, INPUT, DOWN);
1077
1078 PIN_SLP(gpm2-0, INPUT, NONE);
1079 PIN_SLP(gpm2-1, INPUT, NONE);
1080 PIN_SLP(gpm2-2, INPUT, DOWN);
1081 PIN_SLP(gpm2-3, INPUT, DOWN);
1082 PIN_SLP(gpm2-4, INPUT, DOWN);
1083
1084 PIN_SLP(gpm3-0, PREV, NONE);
1085 PIN_SLP(gpm3-1, PREV, NONE);
1086 PIN_SLP(gpm3-2, PREV, NONE);
1087 PIN_SLP(gpm3-3, OUT1, NONE);
1088 PIN_SLP(gpm3-4, INPUT, DOWN);
1089 PIN_SLP(gpm3-5, INPUT, DOWN);
1090 PIN_SLP(gpm3-6, INPUT, DOWN);
1091 PIN_SLP(gpm3-7, INPUT, DOWN);
1092
1093 PIN_SLP(gpm4-0, INPUT, DOWN);
1094 PIN_SLP(gpm4-1, INPUT, DOWN);
1095 PIN_SLP(gpm4-2, INPUT, DOWN);
1096 PIN_SLP(gpm4-3, INPUT, DOWN);
1097 PIN_SLP(gpm4-4, INPUT, DOWN);
1098 PIN_SLP(gpm4-5, INPUT, DOWN);
1099 PIN_SLP(gpm4-6, INPUT, DOWN);
1100 PIN_SLP(gpm4-7, INPUT, DOWN);
1101
1102 PIN_SLP(gpy0-0, INPUT, DOWN);
1103 PIN_SLP(gpy0-1, INPUT, DOWN);
1104 PIN_SLP(gpy0-2, INPUT, DOWN);
1105 PIN_SLP(gpy0-3, INPUT, DOWN);
1106 PIN_SLP(gpy0-4, INPUT, DOWN);
1107 PIN_SLP(gpy0-5, INPUT, DOWN);
1108
1109 PIN_SLP(gpy1-0, INPUT, DOWN);
1110 PIN_SLP(gpy1-1, INPUT, DOWN);
1111 PIN_SLP(gpy1-2, INPUT, DOWN);
1112 PIN_SLP(gpy1-3, INPUT, DOWN);
1113
1114 PIN_SLP(gpy2-0, PREV, NONE);
1115 PIN_SLP(gpy2-1, INPUT, DOWN);
1116 PIN_SLP(gpy2-2, INPUT, NONE);
1117 PIN_SLP(gpy2-3, INPUT, NONE);
1118 PIN_SLP(gpy2-4, INPUT, NONE);
1119 PIN_SLP(gpy2-5, INPUT, NONE);
1120
1121 PIN_SLP(gpy3-0, INPUT, DOWN);
1122 PIN_SLP(gpy3-1, INPUT, DOWN);
1123 PIN_SLP(gpy3-2, INPUT, DOWN);
1124 PIN_SLP(gpy3-3, INPUT, DOWN);
1125 PIN_SLP(gpy3-4, INPUT, DOWN);
1126 PIN_SLP(gpy3-5, INPUT, DOWN);
1127 PIN_SLP(gpy3-6, INPUT, DOWN);
1128 PIN_SLP(gpy3-7, INPUT, DOWN);
1129
1130 PIN_SLP(gpy4-0, INPUT, DOWN);
1131 PIN_SLP(gpy4-1, INPUT, DOWN);
1132 PIN_SLP(gpy4-2, INPUT, DOWN);
1133 PIN_SLP(gpy4-3, INPUT, DOWN);
1134 PIN_SLP(gpy4-4, INPUT, DOWN);
1135 PIN_SLP(gpy4-5, INPUT, DOWN);
1136 PIN_SLP(gpy4-6, INPUT, DOWN);
1137 PIN_SLP(gpy4-7, INPUT, DOWN);
1138
1139 PIN_SLP(gpy5-0, INPUT, DOWN);
1140 PIN_SLP(gpy5-1, INPUT, DOWN);
1141 PIN_SLP(gpy5-2, INPUT, DOWN);
1142 PIN_SLP(gpy5-3, INPUT, DOWN);
1143 PIN_SLP(gpy5-4, INPUT, DOWN);
1144 PIN_SLP(gpy5-5, INPUT, DOWN);
1145 PIN_SLP(gpy5-6, INPUT, DOWN);
1146 PIN_SLP(gpy5-7, INPUT, DOWN);
1147
1148 PIN_SLP(gpy6-0, INPUT, DOWN);
1149 PIN_SLP(gpy6-1, INPUT, DOWN);
1150 PIN_SLP(gpy6-2, INPUT, DOWN);
1151 PIN_SLP(gpy6-3, INPUT, DOWN);
1152 PIN_SLP(gpy6-4, INPUT, DOWN);
1153 PIN_SLP(gpy6-5, INPUT, DOWN);
1154 PIN_SLP(gpy6-6, INPUT, DOWN);
1155 PIN_SLP(gpy6-7, INPUT, DOWN);
1156 };
1157};
1158
1159&pinctrl_2 {
1160 pinctrl-names = "default";
1161 pinctrl-0 = <&sleep2>;
1162
1163 sleep2: sleep-states {
1164 PIN_SLP(gpz-0, INPUT, DOWN);
1165 PIN_SLP(gpz-1, INPUT, DOWN);
1166 PIN_SLP(gpz-2, INPUT, DOWN);
1167 PIN_SLP(gpz-3, INPUT, DOWN);
1168 PIN_SLP(gpz-4, INPUT, DOWN);
1169 PIN_SLP(gpz-5, INPUT, DOWN);
1170 PIN_SLP(gpz-6, INPUT, DOWN);
1171 };
1172};
1173
1174&pinctrl_3 {
1175 pinctrl-names = "default";
1176 pinctrl-0 = <&sleep3>;
1177
1178 sleep3: sleep-states {
1179 PIN_SLP(gpv0-0, INPUT, DOWN);
1180 PIN_SLP(gpv0-1, INPUT, DOWN);
1181 PIN_SLP(gpv0-2, INPUT, DOWN);
1182 PIN_SLP(gpv0-3, INPUT, DOWN);
1183 PIN_SLP(gpv0-4, INPUT, DOWN);
1184 PIN_SLP(gpv0-5, INPUT, DOWN);
1185 PIN_SLP(gpv0-6, INPUT, DOWN);
1186 PIN_SLP(gpv0-7, INPUT, DOWN);
1187
1188 PIN_SLP(gpv1-0, INPUT, DOWN);
1189 PIN_SLP(gpv1-1, INPUT, DOWN);
1190 PIN_SLP(gpv1-2, INPUT, DOWN);
1191 PIN_SLP(gpv1-3, INPUT, DOWN);
1192 PIN_SLP(gpv1-4, INPUT, DOWN);
1193 PIN_SLP(gpv1-5, INPUT, DOWN);
1194 PIN_SLP(gpv1-6, INPUT, DOWN);
1195 PIN_SLP(gpv1-7, INPUT, DOWN);
1196
1197 PIN_SLP(gpv2-0, INPUT, DOWN);
1198 PIN_SLP(gpv2-1, INPUT, DOWN);
1199 PIN_SLP(gpv2-2, INPUT, DOWN);
1200 PIN_SLP(gpv2-3, INPUT, DOWN);
1201 PIN_SLP(gpv2-4, INPUT, DOWN);
1202 PIN_SLP(gpv2-5, INPUT, DOWN);
1203 PIN_SLP(gpv2-6, INPUT, DOWN);
1204 PIN_SLP(gpv2-7, INPUT, DOWN);
1205
1206 PIN_SLP(gpv3-0, INPUT, DOWN);
1207 PIN_SLP(gpv3-1, INPUT, DOWN);
1208 PIN_SLP(gpv3-2, INPUT, DOWN);
1209 PIN_SLP(gpv3-3, INPUT, DOWN);
1210 PIN_SLP(gpv3-4, INPUT, DOWN);
1211 PIN_SLP(gpv3-5, INPUT, DOWN);
1212 PIN_SLP(gpv3-6, INPUT, DOWN);
1213 PIN_SLP(gpv3-7, INPUT, DOWN);
1214
1215 PIN_SLP(gpv4-0, INPUT, DOWN);
1216 };
1217};
Krzysztof Kozlowskice9940a2015-05-02 14:40:08 +09001218
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +02001219&pwm {
1220 pinctrl-0 = <&pwm0_out>;
1221 pinctrl-names = "default";
1222 samsung,pwm-outputs = <0>;
1223 status = "okay";
1224};
1225
Krzysztof Kozlowskice9940a2015-05-02 14:40:08 +09001226&rtc {
1227 status = "okay";
1228 clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
1229 clock-names = "rtc", "rtc_src";
1230};
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +02001231
1232&sdhci_2 {
1233 bus-width = <4>;
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +09001234 cd-gpios = <&gpx3 4 GPIO_ACTIVE_HIGH>;
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +02001235 cd-inverted;
1236 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
1237 pinctrl-names = "default";
1238 vmmc-supply = <&ldo21_reg>;
1239 status = "okay";
1240};
1241
1242&serial_0 {
1243 status = "okay";
1244};
1245
1246&serial_1 {
1247 status = "okay";
1248};
1249
1250&serial_2 {
1251 status = "okay";
1252};
1253
1254&serial_3 {
1255 status = "okay";
1256};
1257
1258&spi_1 {
1259 pinctrl-names = "default";
1260 pinctrl-0 = <&spi1_bus>;
Javier Martinez Canillasc10d3292015-10-08 07:39:58 +09001261 cs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>;
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +02001262 status = "okay";
1263
Krzysztof Kozlowski26ee29a2016-04-06 11:00:43 +09001264 s5c73m3_spi: s5c73m3@0 {
Krzysztof Kozlowski1fe9a942015-04-06 21:07:42 +02001265 compatible = "samsung,s5c73m3";
1266 spi-max-frequency = <50000000>;
1267 reg = <0>;
1268 controller-data {
1269 samsung,spi-feedback-delay = <2>;
1270 };
1271 };
1272};
1273
1274&tmu {
1275 vtmu-supply = <&ldo10_reg>;
1276 status = "okay";
1277};