1ee37a457SArtur Weber// SPDX-License-Identifier: GPL-2.0
2ee37a457SArtur Weber/*
3ee37a457SArtur Weber * Samsung's Exynos4212 based Galaxy Tab 3 board common source
4ee37a457SArtur Weber *
5ee37a457SArtur Weber * Copyright (c) 2013 Samsung Electronics Co., Ltd.
6ee37a457SArtur Weber *		http://www.samsung.com
7ee37a457SArtur Weber */
8ee37a457SArtur Weber
9ee37a457SArtur Weber/dts-v1/;
10ee37a457SArtur Weber#include "exynos4212.dtsi"
11ee37a457SArtur Weber#include "exynos4412-ppmu-common.dtsi"
12ee37a457SArtur Weber#include "exynos-mfc-reserved-memory.dtsi"
13ee37a457SArtur Weber#include <dt-bindings/clock/samsung,s2mps11.h>
14ee37a457SArtur Weber#include <dt-bindings/gpio/gpio.h>
15ee37a457SArtur Weber#include <dt-bindings/leds/common.h>
16ee37a457SArtur Weber#include <dt-bindings/input/gpio-keys.h>
17ee37a457SArtur Weber#include <dt-bindings/input/input.h>
18ee37a457SArtur Weber#include <dt-bindings/interrupt-controller/irq.h>
19ee37a457SArtur Weber#include "exynos-pinctrl.h"
20ee37a457SArtur Weber
21ee37a457SArtur Weber/ {
22ee37a457SArtur Weber	compatible = "samsung,tab3", "samsung,exynos4212", "samsung,exynos4";
23ee37a457SArtur Weber
24ee37a457SArtur Weber	memory@40000000 {
25ee37a457SArtur Weber		device_type = "memory";
26ee37a457SArtur Weber
27ee37a457SArtur Weber		/*
28ee37a457SArtur Weber		 * Technically 1.5GB is available, but the latter 512MB is handled
29ee37a457SArtur Weber		 * in a special way by downstream (every second page is skipped),
30ee37a457SArtur Weber		 * and thus doesn't initialize correctly on mainline. Only 1020M is
31ee37a457SArtur Weber		 * used for now.
32ee37a457SArtur Weber		 */
33ee37a457SArtur Weber		reg = <0x40000000 0x3fc00000>;
34ee37a457SArtur Weber	};
35ee37a457SArtur Weber
36ee37a457SArtur Weber	aliases {
37ee37a457SArtur Weber		mmc0 = &mshc_0;   /* Internal storage */
38ee37a457SArtur Weber		mmc1 = &sdhci_2;  /* SD card */
39ee37a457SArtur Weber		mmc2 = &sdhci_3;  /* WiFi */
40ee37a457SArtur Weber	};
41ee37a457SArtur Weber
42ee37a457SArtur Weber	chosen {
43ee37a457SArtur Weber		stdout-path = &serial_2;
44ee37a457SArtur Weber
45ee37a457SArtur Weber		/* Default S-BOOT bootloader loads initramfs here */
46ee37a457SArtur Weber		linux,initrd-start = <0x42000000>;
47ee37a457SArtur Weber		linux,initrd-end = <0x42800000>;
48ee37a457SArtur Weber	};
49ee37a457SArtur Weber
50ee37a457SArtur Weber	firmware@204f000 {
51ee37a457SArtur Weber		compatible = "samsung,secure-firmware";
52ee37a457SArtur Weber		reg = <0x0204F000 0x1000>;
53ee37a457SArtur Weber	};
54ee37a457SArtur Weber
55ee37a457SArtur Weber	fixed-rate-clocks {
56ee37a457SArtur Weber		xxti {
57ee37a457SArtur Weber			compatible = "samsung,clock-xxti";
58ee37a457SArtur Weber			clock-frequency = <0>;
59ee37a457SArtur Weber		};
60ee37a457SArtur Weber
61ee37a457SArtur Weber		xusbxti {
62ee37a457SArtur Weber			compatible = "samsung,clock-xusbxti";
63ee37a457SArtur Weber			clock-frequency = <24000000>;
64ee37a457SArtur Weber		};
65ee37a457SArtur Weber	};
66ee37a457SArtur Weber
67ee37a457SArtur Weber	gpio-keys {
68ee37a457SArtur Weber		compatible = "gpio-keys";
69ee37a457SArtur Weber		pinctrl-names = "default";
70ee37a457SArtur Weber		pinctrl-0 = <&gpio_keys>;
71ee37a457SArtur Weber
72ee37a457SArtur Weber		key-power {
73ee37a457SArtur Weber			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
74ee37a457SArtur Weber			linux,code = <KEY_POWER>;
75ee37a457SArtur Weber			label = "power";
76ee37a457SArtur Weber			debounce-interval = <10>;
77ee37a457SArtur Weber			wakeup-source;
78ee37a457SArtur Weber		};
79ee37a457SArtur Weber
80ee37a457SArtur Weber		key-up {
81ee37a457SArtur Weber			gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
82ee37a457SArtur Weber			linux,code = <KEY_VOLUMEUP>;
83ee37a457SArtur Weber			label = "volume down";
84ee37a457SArtur Weber			debounce-interval = <10>;
85ee37a457SArtur Weber		};
86ee37a457SArtur Weber
87ee37a457SArtur Weber		key-down {
88ee37a457SArtur Weber			gpios = <&gpx3 3 GPIO_ACTIVE_LOW>;
89ee37a457SArtur Weber			linux,code = <KEY_VOLUMEDOWN>;
90ee37a457SArtur Weber			label = "volume up";
91ee37a457SArtur Weber			debounce-interval = <10>;
92ee37a457SArtur Weber		};
93ee37a457SArtur Weber
94ee37a457SArtur Weber		key-home {
95ee37a457SArtur Weber			gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
96ee37a457SArtur Weber			linux,code = <KEY_HOME>;
97ee37a457SArtur Weber			label = "home";
98ee37a457SArtur Weber			debounce-interval = <10>;
99ee37a457SArtur Weber		};
100ee37a457SArtur Weber
101ee37a457SArtur Weber		switch-hall-sensor {
102ee37a457SArtur Weber			gpios = <&gpx2 4 GPIO_ACTIVE_LOW>;
103ee37a457SArtur Weber			linux,input-type = <EV_SW>;
104ee37a457SArtur Weber			linux,code = <SW_LID>;
105ee37a457SArtur Weber			linux,can-disable;
106ee37a457SArtur Weber			label = "hall effect sensor";
107ee37a457SArtur Weber			debounce-interval = <10>;
108ee37a457SArtur Weber			wakeup-source;
109ee37a457SArtur Weber		};
110ee37a457SArtur Weber	};
111ee37a457SArtur Weber
112ee37a457SArtur Weber	led-touchkeys {
113ee37a457SArtur Weber		compatible = "regulator-led";
114ee37a457SArtur Weber		vled-supply = <&ldo20_reg>;
115ee37a457SArtur Weber		default-state = "off";
116ee37a457SArtur Weber		function = LED_FUNCTION_KBD_BACKLIGHT;
117ee37a457SArtur Weber		color = <LED_COLOR_ID_WHITE>;
118ee37a457SArtur Weber	};
119ee37a457SArtur Weber
120ee37a457SArtur Weber	i2c_max77693: i2c-gpio-1 {
121ee37a457SArtur Weber		compatible = "i2c-gpio";
122ee37a457SArtur Weber		sda-gpios = <&gpm2 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
123ee37a457SArtur Weber		scl-gpios = <&gpm2 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
124ee37a457SArtur Weber		i2c-gpio,delay-us = <2>;
125ee37a457SArtur Weber		#address-cells = <1>;
126ee37a457SArtur Weber		#size-cells = <0>;
127ee37a457SArtur Weber
128ee37a457SArtur Weber		pmic@66 {
129ee37a457SArtur Weber			compatible = "maxim,max77693";
130ee37a457SArtur Weber			reg = <0x66>;
131ee37a457SArtur Weber			interrupt-parent = <&gpx1>;
132ee37a457SArtur Weber			interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
133ee37a457SArtur Weber			pinctrl-names = "default";
134ee37a457SArtur Weber			pinctrl-0 = <&max77693_irq>;
135ee37a457SArtur Weber
136ee37a457SArtur Weber			regulators {
137ee37a457SArtur Weber				esafeout1_reg: ESAFEOUT1 {
138ee37a457SArtur Weber					regulator-name = "ESAFEOUT1";
139ee37a457SArtur Weber					regulator-boot-on;
140ee37a457SArtur Weber				};
141ee37a457SArtur Weber
142ee37a457SArtur Weber				esafeout2_reg: ESAFEOUT2 {
143ee37a457SArtur Weber					regulator-name = "ESAFEOUT2";
144ee37a457SArtur Weber				};
145ee37a457SArtur Weber
146ee37a457SArtur Weber				charger_reg: CHARGER {
147ee37a457SArtur Weber					regulator-name = "CHARGER";
148ee37a457SArtur Weber					regulator-min-microamp = <60000>;
149ee37a457SArtur Weber					regulator-max-microamp = <2580000>;
150ee37a457SArtur Weber					regulator-boot-on;
151ee37a457SArtur Weber				};
152ee37a457SArtur Weber			};
153ee37a457SArtur Weber
154ee37a457SArtur Weber			charger {
155ee37a457SArtur Weber				compatible = "maxim,max77693-charger";
156ee37a457SArtur Weber
157ee37a457SArtur Weber				maxim,constant-microvolt = <4350000>;
158ee37a457SArtur Weber				maxim,min-system-microvolt = <3600000>;
159ee37a457SArtur Weber				maxim,thermal-regulation-celsius = <100>;
160ee37a457SArtur Weber				maxim,battery-overcurrent-microamp = <3500000>;
161ee37a457SArtur Weber				maxim,charge-input-threshold-microvolt = <4300000>;
162ee37a457SArtur Weber			};
163ee37a457SArtur Weber		};
164ee37a457SArtur Weber	};
165ee37a457SArtur Weber
166ee37a457SArtur Weber	i2c_max77693_fuel: i2c-gpio-2 {
167ee37a457SArtur Weber		compatible = "i2c-gpio";
168ee37a457SArtur Weber		sda-gpios = <&gpy0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
169ee37a457SArtur Weber		scl-gpios = <&gpy0 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
170ee37a457SArtur Weber		i2c-gpio,delay-us = <2>;
171ee37a457SArtur Weber		#address-cells = <1>;
172ee37a457SArtur Weber		#size-cells = <0>;
173ee37a457SArtur Weber
174ee37a457SArtur Weber		fuel-gauge@36 {
175ee37a457SArtur Weber			compatible = "maxim,max17050";
176ee37a457SArtur Weber			reg = <0x36>;
177ee37a457SArtur Weber			interrupt-parent = <&gpx2>;
178ee37a457SArtur Weber			interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
179ee37a457SArtur Weber			pinctrl-names = "default";
180ee37a457SArtur Weber			pinctrl-0 = <&max77693_fuel_irq>;
181ee37a457SArtur Weber
182ee37a457SArtur Weber			maxim,over-heat-temp = <500>;
183ee37a457SArtur Weber			maxim,over-volt = <4500>;
184ee37a457SArtur Weber		};
185ee37a457SArtur Weber	};
186ee37a457SArtur Weber
187ee37a457SArtur Weber	i2c_magnetometer: i2c-gpio-3 {
188ee37a457SArtur Weber		compatible = "i2c-gpio";
189ee37a457SArtur Weber		sda-gpios = <&gpy2 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
190ee37a457SArtur Weber		scl-gpios = <&gpy2 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
191ee37a457SArtur Weber		i2c-gpio,delay-us = <2>;
192ee37a457SArtur Weber		#address-cells = <1>;
193ee37a457SArtur Weber		#size-cells = <0>;
194ee37a457SArtur Weber
195ee37a457SArtur Weber		magnetometer@2e {
196ee37a457SArtur Weber			compatible = "yamaha,yas532";
197ee37a457SArtur Weber			reg = <0x2e>;
198ee37a457SArtur Weber			iovdd-supply = <&ldo3_reg>;
199ee37a457SArtur Weber			mount-matrix = "-1", "0", "0",
200ee37a457SArtur Weber					  "0", "1", "0",
201ee37a457SArtur Weber					  "0", "0", "-1";
202ee37a457SArtur Weber		};
203ee37a457SArtur Weber	};
204ee37a457SArtur Weber
205ee37a457SArtur Weber	i2c_lightsensor: i2c-gpio-4 {
206ee37a457SArtur Weber		compatible = "i2c-gpio";
207ee37a457SArtur Weber		sda-gpios = <&gpl0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
208ee37a457SArtur Weber		scl-gpios = <&gpl0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
209ee37a457SArtur Weber		i2c-gpio,delay-us = <2>;
210ee37a457SArtur Weber		#address-cells = <1>;
211ee37a457SArtur Weber		#size-cells = <0>;
212ee37a457SArtur Weber		status = "disabled";
213ee37a457SArtur Weber
214ee37a457SArtur Weber		/* WiFi model uses CM3323, 3G/LTE use CM36653 */
215ee37a457SArtur Weber	};
216ee37a457SArtur Weber
217ee37a457SArtur Weber	i2c_bl: i2c-gpio-5 {
218ee37a457SArtur Weber		compatible = "i2c-gpio";
219ee37a457SArtur Weber		sda-gpios = <&gpm4 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
220ee37a457SArtur Weber		scl-gpios = <&gpm4 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
221ee37a457SArtur Weber		#address-cells = <1>;
222ee37a457SArtur Weber		#size-cells = <0>;
223ee37a457SArtur Weber
224ee37a457SArtur Weber		backlight: backlight@2c {
225ee37a457SArtur Weber			compatible = "ti,lp8556";
226ee37a457SArtur Weber			reg = <0x2c>;
227ee37a457SArtur Weber
228ee37a457SArtur Weber			bl-name = "lcd-bl";
229ee37a457SArtur Weber			dev-ctrl = /bits/ 8 <0x80>;
230ee37a457SArtur Weber			init-brt = /bits/ 8 <0x78>; /* 120 */
231ee37a457SArtur Weber
232ee37a457SArtur Weber			power-supply = <&vbatt_reg>;
233ee37a457SArtur Weber			enable-supply = <&backlight_reset_supply>;
234ee37a457SArtur Weber
235ee37a457SArtur Weber			pwms = <&pwm 1 78770 0>;
236ee37a457SArtur Weber			pwm-names = "lp8556";
237ee37a457SArtur Weber
238ee37a457SArtur Weber			rom-a3h {
239ee37a457SArtur Weber				rom-addr = /bits/ 8 <0xa3>;
240ee37a457SArtur Weber				rom-val = /bits/ 8 <0x5e>;
241ee37a457SArtur Weber			};
242ee37a457SArtur Weber
243ee37a457SArtur Weber			rom-a5h {
244ee37a457SArtur Weber				rom-addr = /bits/ 8 <0xa5>;
245ee37a457SArtur Weber				rom-val = /bits/ 8 <0x34>;
246ee37a457SArtur Weber			};
247ee37a457SArtur Weber
248ee37a457SArtur Weber			rom-a7h {
249ee37a457SArtur Weber				rom-addr = /bits/ 8 <0xa7>;
250ee37a457SArtur Weber				rom-val = /bits/ 8 <0xfa>;
251ee37a457SArtur Weber			};
252ee37a457SArtur Weber		};
253ee37a457SArtur Weber	};
254ee37a457SArtur Weber
255ee37a457SArtur Weber	vbatt_reg: voltage-regulator-1 {
256ee37a457SArtur Weber		compatible = "regulator-fixed";
257ee37a457SArtur Weber		regulator-name = "VBATT";
258ee37a457SArtur Weber		regulator-min-microvolt = <5000000>;
259ee37a457SArtur Weber		regulator-max-microvolt = <5000000>;
260ee37a457SArtur Weber		regulator-always-on;
261ee37a457SArtur Weber	};
262ee37a457SArtur Weber
263ee37a457SArtur Weber	backlight_reset_supply: voltage-regulator-2 {
264ee37a457SArtur Weber		compatible = "regulator-fixed";
265ee37a457SArtur Weber		regulator-name = "BACKLIGHT_ENVDDIO";
266ee37a457SArtur Weber		pinctrl-names = "default";
267ee37a457SArtur Weber		pinctrl-0 = <&backlight_reset>;
268ee37a457SArtur Weber		gpio = <&gpm0 1 GPIO_ACTIVE_HIGH>;
269ee37a457SArtur Weber		enable-active-high;
270ee37a457SArtur Weber	};
271ee37a457SArtur Weber
272ee37a457SArtur Weber	display_3v3_supply: voltage-regulator-3 {
273ee37a457SArtur Weber		compatible = "regulator-fixed";
274ee37a457SArtur Weber		regulator-name = "DISPLAY_3.3V";
275ee37a457SArtur Weber		regulator-min-microvolt = <3300000>;
276ee37a457SArtur Weber		regulator-max-microvolt = <3300000>;
277ee37a457SArtur Weber		pinctrl-names = "default";
278ee37a457SArtur Weber		pinctrl-0 = <&lcd_en>;
279ee37a457SArtur Weber		gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>; /* LCD_EN */
280ee37a457SArtur Weber		enable-active-high;
281ee37a457SArtur Weber	};
282ee37a457SArtur Weber
283ee37a457SArtur Weber	mic_bias_reg: voltage-regulator-4 {
284ee37a457SArtur Weber		compatible = "regulator-fixed";
285ee37a457SArtur Weber		regulator-name = "MICBIAS_LDO_2.8V";
286ee37a457SArtur Weber		regulator-min-microvolt = <2800000>;
287ee37a457SArtur Weber		regulator-max-microvolt = <2800000>;
288ee37a457SArtur Weber	};
289ee37a457SArtur Weber
290ee37a457SArtur Weber	submic_bias_reg: voltage-regulator-5 {
291ee37a457SArtur Weber		compatible = "regulator-fixed";
292ee37a457SArtur Weber		regulator-name = "SUB_MICBIAS_LDO_2.8V";
293ee37a457SArtur Weber		regulator-min-microvolt = <2800000>;
294ee37a457SArtur Weber		regulator-max-microvolt = <2800000>;
295ee37a457SArtur Weber	};
296ee37a457SArtur Weber
297ee37a457SArtur Weber	sound: sound {
298ee37a457SArtur Weber		compatible = "samsung,midas-audio";
299ee37a457SArtur Weber		model = "TAB3";
300ee37a457SArtur Weber		mic-bias-supply = <&mic_bias_reg>;
301ee37a457SArtur Weber		submic-bias-supply = <&submic_bias_reg>;
302ee37a457SArtur Weber
303ee37a457SArtur Weber		samsung,audio-routing =
304ee37a457SArtur Weber			"HP", "HPOUT1L",
305ee37a457SArtur Weber			"HP", "HPOUT1R",
306ee37a457SArtur Weber
307ee37a457SArtur Weber			"SPK", "SPKOUTLN",
308ee37a457SArtur Weber			"SPK", "SPKOUTLP",
309ee37a457SArtur Weber			"SPK", "SPKOUTRN",
310ee37a457SArtur Weber			"SPK", "SPKOUTRP",
311ee37a457SArtur Weber
312ee37a457SArtur Weber			"RCV", "HPOUT2N",
313ee37a457SArtur Weber			"RCV", "HPOUT2P",
314ee37a457SArtur Weber
315ee37a457SArtur Weber			"LINE", "LINEOUT2N",
316ee37a457SArtur Weber			"LINE", "LINEOUT2P",
317ee37a457SArtur Weber
318ee37a457SArtur Weber			"HDMI", "LINEOUT1N",
319ee37a457SArtur Weber			"HDMI", "LINEOUT1P",
320ee37a457SArtur Weber
321ee37a457SArtur Weber			"IN2LP:VXRN", "MICBIAS1",
322ee37a457SArtur Weber			"IN2LN", "MICBIAS1",
323ee37a457SArtur Weber			"Main Mic", "MICBIAS1",
324ee37a457SArtur Weber
325ee37a457SArtur Weber			"IN1RP", "MICBIAS2",
326ee37a457SArtur Weber			"IN1RN", "MICBIAS2",
327ee37a457SArtur Weber			"Sub Mic", "MICBIAS2",
328ee37a457SArtur Weber
329ee37a457SArtur Weber			"IN1LP", "Headset Mic",
330ee37a457SArtur Weber			"IN1LN", "Headset Mic";
331ee37a457SArtur Weber
332ee37a457SArtur Weber		cpu {
333ee37a457SArtur Weber			sound-dai = <&i2s0 0>;
334ee37a457SArtur Weber		};
335ee37a457SArtur Weber
336ee37a457SArtur Weber		codec {
337ee37a457SArtur Weber			sound-dai = <&wm1811>;
338ee37a457SArtur Weber		};
339ee37a457SArtur Weber	};
340ee37a457SArtur Weber
341ee37a457SArtur Weber	wlan_pwrseq: sdhci3-pwrseq {
342ee37a457SArtur Weber		compatible = "mmc-pwrseq-simple";
343ee37a457SArtur Weber		reset-gpios = <&gpm3 5 GPIO_ACTIVE_LOW>;
344ee37a457SArtur Weber		clocks = <&s5m8767_osc S2MPS11_CLK_BT>;
345ee37a457SArtur Weber		clock-names = "ext_clock";
346ee37a457SArtur Weber	};
347ee37a457SArtur Weber};
348ee37a457SArtur Weber
349ee37a457SArtur Weber&bus_acp {
350ee37a457SArtur Weber	devfreq = <&bus_dmc>;
351ee37a457SArtur Weber	status = "okay";
352ee37a457SArtur Weber};
353ee37a457SArtur Weber
354ee37a457SArtur Weber&bus_c2c {
355ee37a457SArtur Weber	devfreq = <&bus_dmc>;
356ee37a457SArtur Weber	status = "okay";
357ee37a457SArtur Weber};
358ee37a457SArtur Weber
359ee37a457SArtur Weber&bus_display {
360ee37a457SArtur Weber	devfreq = <&bus_leftbus>;
361ee37a457SArtur Weber	status = "okay";
362ee37a457SArtur Weber};
363ee37a457SArtur Weber
364ee37a457SArtur Weber&bus_dmc {
365ee37a457SArtur Weber	devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
366ee37a457SArtur Weber	vdd-supply = <&buck1_reg>;
367ee37a457SArtur Weber	status = "okay";
368ee37a457SArtur Weber};
369ee37a457SArtur Weber
370ee37a457SArtur Weber&bus_fsys {
371ee37a457SArtur Weber	devfreq = <&bus_leftbus>;
372ee37a457SArtur Weber	status = "okay";
373ee37a457SArtur Weber};
374ee37a457SArtur Weber
375ee37a457SArtur Weber&bus_leftbus {
376ee37a457SArtur Weber	devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
377ee37a457SArtur Weber	vdd-supply = <&buck3_reg>;
378ee37a457SArtur Weber	status = "okay";
379ee37a457SArtur Weber};
380ee37a457SArtur Weber
381ee37a457SArtur Weber&bus_mfc {
382ee37a457SArtur Weber	devfreq = <&bus_leftbus>;
383ee37a457SArtur Weber	status = "okay";
384ee37a457SArtur Weber};
385ee37a457SArtur Weber
386ee37a457SArtur Weber&bus_peri {
387ee37a457SArtur Weber	devfreq = <&bus_leftbus>;
388ee37a457SArtur Weber	status = "okay";
389ee37a457SArtur Weber};
390ee37a457SArtur Weber
391ee37a457SArtur Weber&bus_rightbus {
392ee37a457SArtur Weber	devfreq = <&bus_leftbus>;
393ee37a457SArtur Weber	status = "okay";
394ee37a457SArtur Weber};
395ee37a457SArtur Weber
396ee37a457SArtur Weber&cpu0 {
397ee37a457SArtur Weber	cpu0-supply = <&buck2_reg>;
398ee37a457SArtur Weber};
399ee37a457SArtur Weber
400ee37a457SArtur Weber&cpu_thermal {
401ee37a457SArtur Weber	cooling-maps {
402ee37a457SArtur Weber		map0 {
403ee37a457SArtur Weber			/* Corresponds to 800MHz at freq_table */
404ee37a457SArtur Weber			cooling-device = <&cpu0 7 7>, <&cpu1 7 7>;
405ee37a457SArtur Weber		};
406ee37a457SArtur Weber		map1 {
407ee37a457SArtur Weber			/* Corresponds to 200MHz at freq_table */
408ee37a457SArtur Weber			cooling-device = <&cpu0 13 13>, <&cpu1 13 13>;
409ee37a457SArtur Weber		};
410ee37a457SArtur Weber	};
411ee37a457SArtur Weber};
412ee37a457SArtur Weber
413ee37a457SArtur Weber&dsi_0 {
414ee37a457SArtur Weber	vddcore-supply = <&ldo8_reg>;
415ee37a457SArtur Weber	vddio-supply = <&ldo10_reg>;
416ee37a457SArtur Weber	samsung,burst-clock-frequency = <500000000>;
417ee37a457SArtur Weber	samsung,esc-clock-frequency = <20000000>;
418ee37a457SArtur Weber	samsung,pll-clock-frequency = <24000000>;
419ee37a457SArtur Weber	status = "okay";
420ee37a457SArtur Weber
421ee37a457SArtur Weber	panel@0 {
422ee37a457SArtur Weber		compatible = "samsung,lsl080al02", "samsung,s6d7aa0";
423ee37a457SArtur Weber		reg = <0>;
424ee37a457SArtur Weber		power-supply = <&display_3v3_supply>;
425ee37a457SArtur Weber		pinctrl-names = "default";
426ee37a457SArtur Weber		pinctrl-0 = <&lcd_nrst>;
427ee37a457SArtur Weber		reset-gpios = <&gpf0 4 GPIO_ACTIVE_LOW>;
428ee37a457SArtur Weber		backlight = <&backlight>;
429ee37a457SArtur Weber	};
430ee37a457SArtur Weber};
431ee37a457SArtur Weber
432ee37a457SArtur Weber&exynos_usbphy {
433ee37a457SArtur Weber	vbus-supply = <&esafeout1_reg>;
434ee37a457SArtur Weber	status = "okay";
435ee37a457SArtur Weber};
436ee37a457SArtur Weber
437ee37a457SArtur Weber&fimd {
438*cd6f39f7SArtur Weber	samsung,invert-vclk;
439ee37a457SArtur Weber	status = "okay";
440ee37a457SArtur Weber};
441ee37a457SArtur Weber
442ee37a457SArtur Weber&gpu {
443ee37a457SArtur Weber	mali-supply = <&buck4_reg>;
444ee37a457SArtur Weber	status = "okay";
445ee37a457SArtur Weber};
446ee37a457SArtur Weber
447ee37a457SArtur Weber&hsotg {
448ee37a457SArtur Weber	vusb_d-supply = <&ldo15_reg>;
449ee37a457SArtur Weber	vusb_a-supply = <&ldo12_reg>;
450ee37a457SArtur Weber	dr_mode = "otg";
451ee37a457SArtur Weber	status = "okay";
452ee37a457SArtur Weber};
453ee37a457SArtur Weber
454ee37a457SArtur Weber&i2c_1 {
455ee37a457SArtur Weber	pinctrl-0 = <&i2c1_bus>;
456ee37a457SArtur Weber	pinctrl-names = "default";
457ee37a457SArtur Weber	status = "okay";
458ee37a457SArtur Weber
459ee37a457SArtur Weber	lis3dh: accelerometer@19 {
460ee37a457SArtur Weber		/* K2DH seems to be the same as lis2dh12 in terms of registers */
461ee37a457SArtur Weber		compatible = "st,lis2dh12-accel";
462ee37a457SArtur Weber		reg = <0x19>;
463ee37a457SArtur Weber
464ee37a457SArtur Weber		interrupt-parent = <&gpx0>;
465ee37a457SArtur Weber		interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
466ee37a457SArtur Weber
467ee37a457SArtur Weber		vdd-supply = <&ldo17_reg>;
468ee37a457SArtur Weber		vddio-supply = <&ldo3_reg>;
469ee37a457SArtur Weber
470ee37a457SArtur Weber		mount-matrix = "-1", "0", "0",
471ee37a457SArtur Weber				  "0", "1", "0",
472ee37a457SArtur Weber				  "0", "0", "-1";
473ee37a457SArtur Weber	};
474ee37a457SArtur Weber};
475ee37a457SArtur Weber
476ee37a457SArtur Weber&i2c_3 {
477ee37a457SArtur Weber	samsung,i2c-sda-delay = <100>;
478ee37a457SArtur Weber	samsung,i2c-slave-addr = <0x10>;
479ee37a457SArtur Weber	samsung,i2c-max-bus-freq = <400000>;
480ee37a457SArtur Weber	pinctrl-0 = <&i2c3_bus>;
481ee37a457SArtur Weber	pinctrl-names = "default";
482ee37a457SArtur Weber	status = "okay";
483ee37a457SArtur Weber
484ee37a457SArtur Weber	touchscreen@48 {
485ee37a457SArtur Weber		/* MELFAS MMS252, using MMS114 compatible for now */
486ee37a457SArtur Weber		compatible = "melfas,mms114";
487ee37a457SArtur Weber		reg = <0x48>;
488ee37a457SArtur Weber		interrupt-parent = <&gpb>;
489ee37a457SArtur Weber		interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
490ee37a457SArtur Weber		touchscreen-size-x = <800>;
491ee37a457SArtur Weber		touchscreen-size-y = <1280>;
492ee37a457SArtur Weber		avdd-supply = <&ldo21_reg>;
493ee37a457SArtur Weber		vdd-supply = <&ldo25_reg>;
494ee37a457SArtur Weber		linux,keycodes = <KEY_MENU KEY_BACK>;
495ee37a457SArtur Weber	};
496ee37a457SArtur Weber};
497ee37a457SArtur Weber
498ee37a457SArtur Weber&i2c_4 {
499ee37a457SArtur Weber	samsung,i2c-sda-delay = <100>;
500ee37a457SArtur Weber	samsung,i2c-slave-addr = <0x10>;
501ee37a457SArtur Weber	samsung,i2c-max-bus-freq = <100000>;
502ee37a457SArtur Weber	pinctrl-0 = <&i2c4_bus>;
503ee37a457SArtur Weber	pinctrl-names = "default";
504ee37a457SArtur Weber	status = "okay";
505ee37a457SArtur Weber
506ee37a457SArtur Weber	wm1811: audio-codec@1a {
507ee37a457SArtur Weber		compatible = "wlf,wm1811";
508ee37a457SArtur Weber		reg = <0x1a>;
509ee37a457SArtur Weber		clocks = <&pmu_system_controller 0>;
510ee37a457SArtur Weber		clock-names = "MCLK1";
511ee37a457SArtur Weber		interrupt-controller;
512ee37a457SArtur Weber		#interrupt-cells = <2>;
513ee37a457SArtur Weber		interrupt-parent = <&gpx3>;
514ee37a457SArtur Weber		interrupts = <6 IRQ_TYPE_LEVEL_HIGH>;
515ee37a457SArtur Weber
516ee37a457SArtur Weber		gpio-controller;
517ee37a457SArtur Weber		#gpio-cells = <2>;
518ee37a457SArtur Weber		#sound-dai-cells = <0>;
519ee37a457SArtur Weber
520ee37a457SArtur Weber		wlf,gpio-cfg = <0x3 0x0 0x0 0x0 0x0 0x0
521ee37a457SArtur Weber			0x0 0x8000 0x0 0x0 0x0>;
522ee37a457SArtur Weber		wlf,micbias-cfg = <0x25 0x2f>;
523ee37a457SArtur Weber
524ee37a457SArtur Weber		wlf,lineout1-feedback;
525ee37a457SArtur Weber		wlf,lineout1-se;
526ee37a457SArtur Weber		wlf,lineout2-se;
527ee37a457SArtur Weber		wlf,ldoena-always-driven;
528ee37a457SArtur Weber
529ee37a457SArtur Weber		AVDD2-supply = <&ldo3_reg>;
530ee37a457SArtur Weber		CPVDD-supply = <&ldo3_reg>;
531ee37a457SArtur Weber		DBVDD1-supply = <&ldo3_reg>;
532ee37a457SArtur Weber		DBVDD2-supply = <&ldo3_reg>;
533ee37a457SArtur Weber		DBVDD3-supply = <&ldo3_reg>;
534ee37a457SArtur Weber		SPKVDD1-supply = <&vbatt_reg>;
535ee37a457SArtur Weber		SPKVDD2-supply = <&vbatt_reg>;
536ee37a457SArtur Weber		wlf,ldo1ena-gpios = <&gpm4 4 GPIO_ACTIVE_HIGH>;
537ee37a457SArtur Weber		wlf,ldo2ena-gpios = <&gpm4 4 GPIO_ACTIVE_HIGH>;
538ee37a457SArtur Weber	};
539ee37a457SArtur Weber};
540ee37a457SArtur Weber
541ee37a457SArtur Weber&i2c_7 {
542ee37a457SArtur Weber	samsung,i2c-sda-delay = <100>;
543ee37a457SArtur Weber	samsung,i2c-slave-addr = <0x10>;
544ee37a457SArtur Weber	samsung,i2c-max-bus-freq = <100000>;
545ee37a457SArtur Weber	pinctrl-0 = <&i2c7_bus>;
546ee37a457SArtur Weber	pinctrl-names = "default";
547ee37a457SArtur Weber	status = "okay";
548ee37a457SArtur Weber
549ee37a457SArtur Weber	s5m8767: pmic@66 {
550ee37a457SArtur Weber		compatible = "samsung,s5m8767-pmic";
551ee37a457SArtur Weber		reg = <0x66>;
552ee37a457SArtur Weber		interrupt-parent = <&gpx0>;
553ee37a457SArtur Weber		interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
554ee37a457SArtur Weber		pinctrl-names = "default";
555ee37a457SArtur Weber		pinctrl-0 = <&s5m8767_irq &s5m8767_dvs &s5m8767_ds>;
556ee37a457SArtur Weber		wakeup-source;
557ee37a457SArtur Weber
558ee37a457SArtur Weber		s5m8767,pmic-buck-default-dvs-idx = <1>;
559ee37a457SArtur Weber
560ee37a457SArtur Weber		s5m8767,pmic-buck-dvs-gpios = <&gpm3 0 GPIO_ACTIVE_HIGH>,
561ee37a457SArtur Weber						 <&gpm3 1 GPIO_ACTIVE_HIGH>,
562ee37a457SArtur Weber						 <&gpm3 2 GPIO_ACTIVE_HIGH>;
563ee37a457SArtur Weber
564ee37a457SArtur Weber		s5m8767,pmic-buck-ds-gpios = <&gpf3 1 GPIO_ACTIVE_HIGH>,
565ee37a457SArtur Weber						 <&gpf3 2 GPIO_ACTIVE_HIGH>,
566ee37a457SArtur Weber						 <&gpf3 3 GPIO_ACTIVE_HIGH>;
567ee37a457SArtur Weber
568ee37a457SArtur Weber		s5m8767,pmic-buck2-dvs-voltage = <1100000>, <1100000>,
569ee37a457SArtur Weber						<1100000>, <1100000>,
570ee37a457SArtur Weber						<1100000>, <1100000>,
571ee37a457SArtur Weber						<1100000>, <1100000>;
572ee37a457SArtur Weber
573ee37a457SArtur Weber		s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
574ee37a457SArtur Weber						<1100000>, <1100000>,
575ee37a457SArtur Weber						<1100000>, <1100000>,
576ee37a457SArtur Weber						<1100000>, <1100000>;
577ee37a457SArtur Weber
578ee37a457SArtur Weber		s5m8767,pmic-buck4-dvs-voltage = <1100000>, <1100000>,
579ee37a457SArtur Weber						<1100000>, <1100000>,
580ee37a457SArtur Weber						<1100000>, <1100000>,
581ee37a457SArtur Weber						<1100000>, <1100000>;
582ee37a457SArtur Weber
583ee37a457SArtur Weber		regulators {
584ee37a457SArtur Weber			ldo1_reg: LDO1 {
585ee37a457SArtur Weber				regulator-name = "VALIVE_1.0V_AP";
586ee37a457SArtur Weber				regulator-min-microvolt = <1000000>;
587ee37a457SArtur Weber				regulator-max-microvolt = <1000000>;
588ee37a457SArtur Weber				regulator-always-on;
589ee37a457SArtur Weber				regulator-boot-on;
590ee37a457SArtur Weber				op_mode = <1>;
591ee37a457SArtur Weber			};
592ee37a457SArtur Weber
593ee37a457SArtur Weber			ldo2_reg: LDO2 {
594ee37a457SArtur Weber				regulator-name = "VM1M2_1.2V_AP";
595ee37a457SArtur Weber				regulator-min-microvolt = <1200000>;
596ee37a457SArtur Weber				regulator-max-microvolt = <1200000>;
597ee37a457SArtur Weber				regulator-always-on;
598ee37a457SArtur Weber				regulator-boot-on;
599ee37a457SArtur Weber				op_mode = <1>;
600ee37a457SArtur Weber			};
601ee37a457SArtur Weber
602ee37a457SArtur Weber			ldo3_reg: LDO3 {
603ee37a457SArtur Weber				regulator-name = "VCC_1.8V_AP";
604ee37a457SArtur Weber				regulator-min-microvolt = <1800000>;
605ee37a457SArtur Weber				regulator-max-microvolt = <1800000>;
606ee37a457SArtur Weber				regulator-always-on;
607ee37a457SArtur Weber				op_mode = <1>;
608ee37a457SArtur Weber			};
609ee37a457SArtur Weber
610ee37a457SArtur Weber			ldo5_reg: LDO5 {
611ee37a457SArtur Weber				regulator-name = "VCC_3.3V_MHL";
612ee37a457SArtur Weber				regulator-min-microvolt = <3300000>;
613ee37a457SArtur Weber				regulator-max-microvolt = <3300000>;
614ee37a457SArtur Weber				op_mode = <1>;
615ee37a457SArtur Weber			};
616ee37a457SArtur Weber
617ee37a457SArtur Weber			ldo8_reg: LDO8 {
618ee37a457SArtur Weber				regulator-name = "VMIPI_1.0V";
619ee37a457SArtur Weber				regulator-min-microvolt = <1000000>;
620ee37a457SArtur Weber				regulator-max-microvolt = <1000000>;
621ee37a457SArtur Weber				op_mode = <3>;
622ee37a457SArtur Weber			};
623ee37a457SArtur Weber
624ee37a457SArtur Weber			ldo9_reg: LDO9 {
625ee37a457SArtur Weber				regulator-name = "VSIL_1.2V";
626ee37a457SArtur Weber				regulator-min-microvolt = <1200000>;
627ee37a457SArtur Weber				regulator-max-microvolt = <1200000>;
628ee37a457SArtur Weber				op_mode = <1>;
629ee37a457SArtur Weber			};
630ee37a457SArtur Weber
631ee37a457SArtur Weber			ldo10_reg: LDO10 {
632ee37a457SArtur Weber				regulator-name = "VMIPI_1.8V";
633ee37a457SArtur Weber				regulator-min-microvolt = <1800000>;
634ee37a457SArtur Weber				regulator-max-microvolt = <1800000>;
635ee37a457SArtur Weber				op_mode = <3>;
636ee37a457SArtur Weber			};
637ee37a457SArtur Weber
638ee37a457SArtur Weber			ldo12_reg: LDO12 {
639ee37a457SArtur Weber				regulator-name = "VUOTG_3.0V";
640ee37a457SArtur Weber				regulator-min-microvolt = <3000000>;
641ee37a457SArtur Weber				regulator-max-microvolt = <3000000>;
642ee37a457SArtur Weber				op_mode = <1>;
643ee37a457SArtur Weber				regulator-state-mem {
644ee37a457SArtur Weber					regulator-off-in-suspend;
645ee37a457SArtur Weber				};
646ee37a457SArtur Weber			};
647ee37a457SArtur Weber
648ee37a457SArtur Weber			ldo13_reg: LDO13 {
649ee37a457SArtur Weber				regulator-name = "VCC_1.8V_MHL";
650ee37a457SArtur Weber				regulator-min-microvolt = <1800000>;
651ee37a457SArtur Weber				regulator-max-microvolt = <1800000>;
652ee37a457SArtur Weber				op_mode = <1>;
653ee37a457SArtur Weber			};
654ee37a457SArtur Weber
655ee37a457SArtur Weber			ldo15_reg: LDO15 {
656ee37a457SArtur Weber				regulator-name = "VHSIC_1.0V";
657ee37a457SArtur Weber				regulator-min-microvolt = <1000000>;
658ee37a457SArtur Weber				regulator-max-microvolt = <1000000>;
659ee37a457SArtur Weber				op_mode = <1>;
660ee37a457SArtur Weber				regulator-state-mem {
661ee37a457SArtur Weber					regulator-on-in-suspend;
662ee37a457SArtur Weber				};
663ee37a457SArtur Weber			};
664ee37a457SArtur Weber
665ee37a457SArtur Weber			ldo17_reg: LDO17 {
666ee37a457SArtur Weber				regulator-name = "VCC_2.8V_AP";
667ee37a457SArtur Weber				regulator-min-microvolt = <2800000>;
668ee37a457SArtur Weber				regulator-max-microvolt = <2800000>;
669ee37a457SArtur Weber				op_mode = <1>;
670ee37a457SArtur Weber				regulator-always-on;
671ee37a457SArtur Weber			};
672ee37a457SArtur Weber
673ee37a457SArtur Weber			ldo19_reg: LDO19 {
674ee37a457SArtur Weber				regulator-name = "VLED_IC_1.9V";
675ee37a457SArtur Weber				regulator-min-microvolt = <1900000>;
676ee37a457SArtur Weber				regulator-max-microvolt = <1900000>;
677ee37a457SArtur Weber				op_mode = <1>;
678ee37a457SArtur Weber				regulator-always-on;
679ee37a457SArtur Weber			};
680ee37a457SArtur Weber
681ee37a457SArtur Weber			ldo20_reg: LDO20 {
682ee37a457SArtur Weber				regulator-name = "VTOUCH_3.3V";
683ee37a457SArtur Weber				regulator-min-microvolt = <3300000>;
684ee37a457SArtur Weber				regulator-max-microvolt = <3300000>;
685ee37a457SArtur Weber				op_mode = <1>;
686ee37a457SArtur Weber			};
687ee37a457SArtur Weber
688ee37a457SArtur Weber			ldo21_reg: LDO21 {
689ee37a457SArtur Weber				regulator-name = "TSP_VDD_3.3V";
690ee37a457SArtur Weber				regulator-min-microvolt = <3300000>;
691ee37a457SArtur Weber				regulator-max-microvolt = <3300000>;
692ee37a457SArtur Weber				op_mode = <1>;
693ee37a457SArtur Weber			};
694ee37a457SArtur Weber
695ee37a457SArtur Weber			ldo22_reg: LDO22 {
696ee37a457SArtur Weber				regulator-name = "5M_AF_2.8V";
697ee37a457SArtur Weber				regulator-min-microvolt = <2800000>;
698ee37a457SArtur Weber				regulator-max-microvolt = <2800000>;
699ee37a457SArtur Weber				op_mode = <1>;
700ee37a457SArtur Weber			};
701ee37a457SArtur Weber
702ee37a457SArtur Weber			ldo23_reg: LDO23 {
703ee37a457SArtur Weber				regulator-name = "VTF_2.8V";
704ee37a457SArtur Weber				regulator-min-microvolt = <2800000>;
705ee37a457SArtur Weber				regulator-max-microvolt = <2800000>;
706ee37a457SArtur Weber				op_mode = <3>;
707ee37a457SArtur Weber			};
708ee37a457SArtur Weber
709ee37a457SArtur Weber			ldo24_reg: LDO24 {
710ee37a457SArtur Weber				regulator-name = "LEDA_2.8V";
711ee37a457SArtur Weber				regulator-min-microvolt = <2800000>;
712ee37a457SArtur Weber				regulator-max-microvolt = <2800000>;
713ee37a457SArtur Weber				op_mode = <1>;
714ee37a457SArtur Weber			};
715ee37a457SArtur Weber
716ee37a457SArtur Weber			ldo25_reg: LDO25 {
717ee37a457SArtur Weber				regulator-name = "TSP_VDD_1.8V";
718ee37a457SArtur Weber				regulator-min-microvolt = <1800000>;
719ee37a457SArtur Weber				regulator-max-microvolt = <1800000>;
720ee37a457SArtur Weber				op_mode = <1>;
721ee37a457SArtur Weber			};
722ee37a457SArtur Weber
723ee37a457SArtur Weber			ldo26_reg: LDO26 {
724ee37a457SArtur Weber				regulator-name = "CAM_IO_1.8V";
725ee37a457SArtur Weber				regulator-min-microvolt = <1800000>;
726ee37a457SArtur Weber				regulator-max-microvolt = <1800000>;
727ee37a457SArtur Weber				op_mode = <1>;
728ee37a457SArtur Weber			};
729ee37a457SArtur Weber
730ee37a457SArtur Weber			ldo27_reg: LDO27 {
731ee37a457SArtur Weber				regulator-name = "VTCAM_1.8V";
732ee37a457SArtur Weber				regulator-min-microvolt = <1800000>;
733ee37a457SArtur Weber				regulator-max-microvolt = <1800000>;
734ee37a457SArtur Weber				op_mode = <1>;
735ee37a457SArtur Weber			};
736ee37a457SArtur Weber
737ee37a457SArtur Weber			buck1_reg: BUCK1 {
738ee37a457SArtur Weber				regulator-name = "VDD_MIF";
739ee37a457SArtur Weber				regulator-min-microvolt = <850000>;
740ee37a457SArtur Weber				regulator-max-microvolt = <1100000>;
741ee37a457SArtur Weber				regulator-always-on;
742ee37a457SArtur Weber				regulator-boot-on;
743ee37a457SArtur Weber				op_mode = <3>;
744ee37a457SArtur Weber			};
745ee37a457SArtur Weber
746ee37a457SArtur Weber			buck2_reg: BUCK2 {
747ee37a457SArtur Weber				regulator-name = "VDD_ARM";
748ee37a457SArtur Weber				regulator-min-microvolt = <850000>;
749ee37a457SArtur Weber				regulator-max-microvolt = <1500000>;
750ee37a457SArtur Weber				regulator-always-on;
751ee37a457SArtur Weber				regulator-boot-on;
752ee37a457SArtur Weber				op_mode = <3>;
753ee37a457SArtur Weber			};
754ee37a457SArtur Weber
755ee37a457SArtur Weber			buck3_reg: BUCK3 {
756ee37a457SArtur Weber				regulator-name = "VDD_INT";
757ee37a457SArtur Weber				regulator-min-microvolt = <850000>;
758ee37a457SArtur Weber				regulator-max-microvolt = <1300000>;
759ee37a457SArtur Weber				regulator-always-on;
760ee37a457SArtur Weber				regulator-boot-on;
761ee37a457SArtur Weber				op_mode = <3>;
762ee37a457SArtur Weber			};
763ee37a457SArtur Weber
764ee37a457SArtur Weber			buck4_reg: BUCK4 {
765ee37a457SArtur Weber				regulator-name = "VDD_G3D";
766ee37a457SArtur Weber				regulator-min-microvolt = <850000>;
767ee37a457SArtur Weber				regulator-max-microvolt = <1150000>;
768ee37a457SArtur Weber				regulator-boot-on;
769ee37a457SArtur Weber				op_mode = <3>;
770ee37a457SArtur Weber			};
771ee37a457SArtur Weber
772ee37a457SArtur Weber			buck5_reg: BUCK5 {
773ee37a457SArtur Weber				regulator-name = "VMEM_1.2V_AP";
774ee37a457SArtur Weber				regulator-min-microvolt = <1200000>;
775ee37a457SArtur Weber				regulator-max-microvolt	= <1200000>;
776ee37a457SArtur Weber				regulator-always-on;
777ee37a457SArtur Weber				regulator-boot-on;
778ee37a457SArtur Weber				op_mode = <1>;
779ee37a457SArtur Weber			};
780ee37a457SArtur Weber
781ee37a457SArtur Weber			buck6_reg: BUCK6 {
782ee37a457SArtur Weber				regulator-name = "CAM_ISP_CORE_1.2V";
783ee37a457SArtur Weber				regulator-min-microvolt = <1200000>;
784ee37a457SArtur Weber				regulator-max-microvolt = <1200000>;
785ee37a457SArtur Weber				op_mode = <1>;
786ee37a457SArtur Weber
787ee37a457SArtur Weber				regulator-state-mem {
788ee37a457SArtur Weber					regulator-off-in-suspend;
789ee37a457SArtur Weber				};
790ee37a457SArtur Weber			};
791ee37a457SArtur Weber		};
792ee37a457SArtur Weber
793ee37a457SArtur Weber		s5m8767_osc: clocks {
794ee37a457SArtur Weber			compatible = "samsung,s5m8767-clk";
795ee37a457SArtur Weber			#clock-cells = <1>;
796ee37a457SArtur Weber			clock-output-names = "en32khz_ap",
797ee37a457SArtur Weber					     "en32khz_cp",
798ee37a457SArtur Weber					     "en32khz_bt";
799ee37a457SArtur Weber		};
800ee37a457SArtur Weber	};
801ee37a457SArtur Weber};
802ee37a457SArtur Weber
803ee37a457SArtur Weber&i2s0 {
804ee37a457SArtur Weber	pinctrl-0 = <&i2s0_bus>;
805ee37a457SArtur Weber	pinctrl-names = "default";
806ee37a457SArtur Weber	status = "okay";
807ee37a457SArtur Weber};
808ee37a457SArtur Weber
809ee37a457SArtur Weber&mshc_0 {
810ee37a457SArtur Weber	broken-cd;
811ee37a457SArtur Weber	non-removable;
812ee37a457SArtur Weber	card-detect-delay = <200>;
813ee37a457SArtur Weber	vmmc-supply = <&ldo22_reg>;
814ee37a457SArtur Weber	clock-frequency = <400000000>;
815ee37a457SArtur Weber	samsung,dw-mshc-ciu-div = <0>;
816ee37a457SArtur Weber	samsung,dw-mshc-sdr-timing = <2 3>;
817ee37a457SArtur Weber	samsung,dw-mshc-ddr-timing = <1 2>;
818ee37a457SArtur Weber	pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
819ee37a457SArtur Weber	pinctrl-names = "default";
820ee37a457SArtur Weber	bus-width = <8>;
821ee37a457SArtur Weber	cap-mmc-highspeed;
822ee37a457SArtur Weber	mmc-ddr-1_8v;
823ee37a457SArtur Weber	status = "okay";
824ee37a457SArtur Weber};
825ee37a457SArtur Weber
826ee37a457SArtur Weber&pinctrl_0 {
827ee37a457SArtur Weber	pinctrl-names = "default";
828ee37a457SArtur Weber	pinctrl-0 = <&sleep0>;
829ee37a457SArtur Weber
830ee37a457SArtur Weber	lcd_en: lcd-en-pins {
831ee37a457SArtur Weber		samsung,pins = "gpc0-1";
832ee37a457SArtur Weber		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
833ee37a457SArtur Weber		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
834ee37a457SArtur Weber	};
835ee37a457SArtur Weber
836ee37a457SArtur Weber	lcd_nrst: lcd-nrst-pins {
837ee37a457SArtur Weber		samsung,pins = "gpf0-4";
838ee37a457SArtur Weber		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
839ee37a457SArtur Weber		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
840ee37a457SArtur Weber	};
841ee37a457SArtur Weber
842ee37a457SArtur Weber	s5m8767_ds: s5m8767-ds-pins {
843ee37a457SArtur Weber		samsung,pins = "gpf3-1", "gpf3-2", "gpf3-3";
844ee37a457SArtur Weber		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
845ee37a457SArtur Weber		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
846ee37a457SArtur Weber		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
847ee37a457SArtur Weber	};
848ee37a457SArtur Weber
849ee37a457SArtur Weber	sleep0: sleep-state {
850ee37a457SArtur Weber		PIN_SLP(gpa0-0, INPUT, NONE);
851ee37a457SArtur Weber		PIN_SLP(gpa0-1, OUT0, NONE);
852ee37a457SArtur Weber		PIN_SLP(gpa0-2, INPUT, NONE);
853ee37a457SArtur Weber		PIN_SLP(gpa0-3, INPUT, UP);
854ee37a457SArtur Weber		PIN_SLP(gpa0-4, INPUT, DOWN);
855ee37a457SArtur Weber		PIN_SLP(gpa0-5, INPUT, DOWN);
856ee37a457SArtur Weber		PIN_SLP(gpa0-6, INPUT, DOWN);
857ee37a457SArtur Weber		PIN_SLP(gpa0-7, INPUT, DOWN);
858ee37a457SArtur Weber
859ee37a457SArtur Weber		PIN_SLP(gpa1-0, INPUT, DOWN);
860ee37a457SArtur Weber		PIN_SLP(gpa1-1, INPUT, DOWN);
861ee37a457SArtur Weber		PIN_SLP(gpa1-2, INPUT, DOWN);
862ee37a457SArtur Weber		PIN_SLP(gpa1-3, INPUT, DOWN);
863ee37a457SArtur Weber		PIN_SLP(gpa1-4, INPUT, DOWN);
864ee37a457SArtur Weber		PIN_SLP(gpa1-5, INPUT, DOWN);
865ee37a457SArtur Weber
866ee37a457SArtur Weber		PIN_SLP(gpb-0, INPUT, NONE);
867ee37a457SArtur Weber		PIN_SLP(gpb-1, INPUT, NONE);
868ee37a457SArtur Weber		PIN_SLP(gpb-2, INPUT, NONE);
869ee37a457SArtur Weber		PIN_SLP(gpb-3, INPUT, NONE);
870ee37a457SArtur Weber		PIN_SLP(gpb-4, INPUT, DOWN);
871ee37a457SArtur Weber		PIN_SLP(gpb-5, INPUT, DOWN);
872ee37a457SArtur Weber		PIN_SLP(gpb-6, INPUT, DOWN);
873ee37a457SArtur Weber		PIN_SLP(gpb-7, INPUT, DOWN);
874ee37a457SArtur Weber
875ee37a457SArtur Weber		PIN_SLP(gpc0-0, INPUT, DOWN);
876ee37a457SArtur Weber		PIN_SLP(gpc0-1, INPUT, DOWN);
877ee37a457SArtur Weber		PIN_SLP(gpc0-2, INPUT, NONE);
878ee37a457SArtur Weber		PIN_SLP(gpc0-3, INPUT, NONE);
879ee37a457SArtur Weber		PIN_SLP(gpc0-4, INPUT, NONE);
880ee37a457SArtur Weber
881ee37a457SArtur Weber		PIN_SLP(gpc1-0, INPUT, DOWN);
882ee37a457SArtur Weber		PIN_SLP(gpc1-1, INPUT, DOWN);
883ee37a457SArtur Weber		PIN_SLP(gpc1-2, INPUT, DOWN);
884ee37a457SArtur Weber		PIN_SLP(gpc1-3, INPUT, DOWN);
885ee37a457SArtur Weber		PIN_SLP(gpc1-4, INPUT, DOWN);
886ee37a457SArtur Weber
887ee37a457SArtur Weber		PIN_SLP(gpd0-0, INPUT, DOWN);
888ee37a457SArtur Weber		PIN_SLP(gpd0-1, OUT0, NONE);
889ee37a457SArtur Weber		PIN_SLP(gpd0-2, INPUT, NONE);
890ee37a457SArtur Weber		PIN_SLP(gpd0-3, INPUT, NONE);
891ee37a457SArtur Weber
892ee37a457SArtur Weber		PIN_SLP(gpd1-0, INPUT, DOWN);
893ee37a457SArtur Weber		PIN_SLP(gpd1-1, INPUT, DOWN);
894ee37a457SArtur Weber		PIN_SLP(gpd1-2, INPUT, NONE);
895ee37a457SArtur Weber		PIN_SLP(gpd1-3, INPUT, NONE);
896ee37a457SArtur Weber
897ee37a457SArtur Weber		PIN_SLP(gpf0-0, INPUT, DOWN);
898ee37a457SArtur Weber		PIN_SLP(gpf0-1, INPUT, DOWN);
899ee37a457SArtur Weber		PIN_SLP(gpf0-2, INPUT, DOWN);
900ee37a457SArtur Weber		PIN_SLP(gpf0-3, INPUT, DOWN);
901ee37a457SArtur Weber		PIN_SLP(gpf0-4, OUT0, NONE);
902ee37a457SArtur Weber		PIN_SLP(gpf0-5, OUT0, NONE);
903ee37a457SArtur Weber		PIN_SLP(gpf0-6, INPUT, DOWN);
904ee37a457SArtur Weber		PIN_SLP(gpf0-7, INPUT, DOWN);
905ee37a457SArtur Weber
906ee37a457SArtur Weber		PIN_SLP(gpf1-0, INPUT, DOWN);
907ee37a457SArtur Weber		PIN_SLP(gpf1-1, INPUT, DOWN);
908ee37a457SArtur Weber		PIN_SLP(gpf1-2, INPUT, DOWN);
909ee37a457SArtur Weber		PIN_SLP(gpf1-3, INPUT, DOWN);
910ee37a457SArtur Weber		PIN_SLP(gpf1-4, INPUT, DOWN);
911ee37a457SArtur Weber		PIN_SLP(gpf1-5, INPUT, DOWN);
912ee37a457SArtur Weber		PIN_SLP(gpf1-6, INPUT, DOWN);
913ee37a457SArtur Weber		PIN_SLP(gpf1-7, INPUT, DOWN);
914ee37a457SArtur Weber
915ee37a457SArtur Weber		PIN_SLP(gpf2-0, INPUT, DOWN);
916ee37a457SArtur Weber		PIN_SLP(gpf2-1, INPUT, DOWN);
917ee37a457SArtur Weber		PIN_SLP(gpf2-2, INPUT, DOWN);
918ee37a457SArtur Weber		PIN_SLP(gpf2-3, INPUT, DOWN);
919ee37a457SArtur Weber		PIN_SLP(gpf2-4, INPUT, DOWN);
920ee37a457SArtur Weber		PIN_SLP(gpf2-5, INPUT, DOWN);
921ee37a457SArtur Weber		PIN_SLP(gpf2-6, INPUT, DOWN);
922ee37a457SArtur Weber		PIN_SLP(gpf2-7, INPUT, DOWN);
923ee37a457SArtur Weber
924ee37a457SArtur Weber		PIN_SLP(gpf3-0, INPUT, DOWN);
925ee37a457SArtur Weber		PIN_SLP(gpf3-1, INPUT, DOWN);
926ee37a457SArtur Weber		PIN_SLP(gpf3-2, INPUT, DOWN);
927ee37a457SArtur Weber		PIN_SLP(gpf3-3, INPUT, DOWN);
928ee37a457SArtur Weber		PIN_SLP(gpf3-4, PREV, NONE);
929ee37a457SArtur Weber		PIN_SLP(gpf3-5, OUT0, DOWN);
930ee37a457SArtur Weber
931ee37a457SArtur Weber		PIN_SLP(gpj0-0, INPUT, DOWN);
932ee37a457SArtur Weber		PIN_SLP(gpj0-1, INPUT, DOWN);
933ee37a457SArtur Weber		PIN_SLP(gpj0-2, INPUT, DOWN);
934ee37a457SArtur Weber		PIN_SLP(gpj0-3, OUT0, NONE);
935ee37a457SArtur Weber		PIN_SLP(gpj0-4, INPUT, DOWN);
936ee37a457SArtur Weber		PIN_SLP(gpj0-5, INPUT, DOWN);
937ee37a457SArtur Weber		PIN_SLP(gpj0-6, OUT0, NONE);
938ee37a457SArtur Weber		PIN_SLP(gpj0-7, OUT0, NONE);
939ee37a457SArtur Weber
940ee37a457SArtur Weber		PIN_SLP(gpj1-0, OUT0, NONE);
941ee37a457SArtur Weber		PIN_SLP(gpj1-1, INPUT, DOWN);
942ee37a457SArtur Weber		PIN_SLP(gpj1-2, PREV, NONE);
943ee37a457SArtur Weber		PIN_SLP(gpj1-3, INPUT, DOWN);
944ee37a457SArtur Weber		PIN_SLP(gpj1-4, INPUT, DOWN);
945ee37a457SArtur Weber	};
946ee37a457SArtur Weber};
947ee37a457SArtur Weber
948ee37a457SArtur Weber&pinctrl_1 {
949ee37a457SArtur Weber	pinctrl-names = "default";
950ee37a457SArtur Weber	pinctrl-0 = <&sleep1>;
951ee37a457SArtur Weber
952ee37a457SArtur Weber	bt_shutdown: bt-shutdown-pins {
953ee37a457SArtur Weber		samsung,pins = "gpl0-6";
954ee37a457SArtur Weber		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
955ee37a457SArtur Weber	};
956ee37a457SArtur Weber
957ee37a457SArtur Weber	bt_host_wakeup: bt-host-wakeup-pins {
958ee37a457SArtur Weber		samsung,pins = "gpx2-6";
959ee37a457SArtur Weber		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
960ee37a457SArtur Weber	};
961ee37a457SArtur Weber
962ee37a457SArtur Weber	bt_device_wakeup: bt-device-wakeup-pins {
963ee37a457SArtur Weber		samsung,pins = "gpx3-1";
964ee37a457SArtur Weber		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
965ee37a457SArtur Weber	};
966ee37a457SArtur Weber
967ee37a457SArtur Weber	backlight_reset: backlight-reset-pins {
968ee37a457SArtur Weber		samsung,pins = "gpm0-1";
969ee37a457SArtur Weber		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
970ee37a457SArtur Weber		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
971ee37a457SArtur Weber	};
972ee37a457SArtur Weber
973ee37a457SArtur Weber	gpio_keys: gpio-keys-pins {
974ee37a457SArtur Weber		samsung,pins = "gpx1-2", "gpx2-2", "gpx2-4", "gpx2-7", "gpx3-3";
975ee37a457SArtur Weber		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
976ee37a457SArtur Weber	};
977ee37a457SArtur Weber
978ee37a457SArtur Weber	max77693_irq: max77693-irq-pins {
979ee37a457SArtur Weber		samsung,pins = "gpx1-5";
980ee37a457SArtur Weber		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
981ee37a457SArtur Weber		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
982ee37a457SArtur Weber		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
983ee37a457SArtur Weber	};
984ee37a457SArtur Weber
985ee37a457SArtur Weber	max77693_fuel_irq: max77693-fuel-irq-pins {
986ee37a457SArtur Weber		samsung,pins = "gpx2-3";
987ee37a457SArtur Weber		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
988ee37a457SArtur Weber		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
989ee37a457SArtur Weber		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
990ee37a457SArtur Weber	};
991ee37a457SArtur Weber
992ee37a457SArtur Weber	sdhci2_cd: sdhci2-cd-irq-pins {
993ee37a457SArtur Weber		samsung,pins = "gpx3-4";
994ee37a457SArtur Weber		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
995ee37a457SArtur Weber		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
996ee37a457SArtur Weber		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
997ee37a457SArtur Weber	};
998ee37a457SArtur Weber
999ee37a457SArtur Weber	s5m8767_dvs: s5m8767-dvs-pins {
1000ee37a457SArtur Weber		samsung,pins = "gpm3-0", "gpm3-1", "gpm3-2";
1001ee37a457SArtur Weber		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
1002ee37a457SArtur Weber		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1003ee37a457SArtur Weber		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
1004ee37a457SArtur Weber	};
1005ee37a457SArtur Weber
1006ee37a457SArtur Weber	s5m8767_irq: s5m8767-irq-pins {
1007ee37a457SArtur Weber		samsung,pins = "gpx0-7";
1008ee37a457SArtur Weber		samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>;
1009ee37a457SArtur Weber		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1010ee37a457SArtur Weber		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
1011ee37a457SArtur Weber	};
1012ee37a457SArtur Weber
1013ee37a457SArtur Weber	sleep1: sleep-state {
1014ee37a457SArtur Weber		PIN_SLP(gpk0-0, PREV, NONE);
1015ee37a457SArtur Weber		PIN_SLP(gpk0-1, PREV, NONE);
1016ee37a457SArtur Weber		PIN_SLP(gpk0-2, PREV, NONE);
1017ee37a457SArtur Weber		PIN_SLP(gpk0-3, PREV, NONE);
1018ee37a457SArtur Weber		PIN_SLP(gpk0-4, PREV, NONE);
1019ee37a457SArtur Weber		PIN_SLP(gpk0-5, PREV, NONE);
1020ee37a457SArtur Weber		PIN_SLP(gpk0-6, PREV, NONE);
1021ee37a457SArtur Weber
1022ee37a457SArtur Weber		PIN_SLP(gpk1-0, INPUT, DOWN);
1023ee37a457SArtur Weber		PIN_SLP(gpk1-1, INPUT, DOWN);
1024ee37a457SArtur Weber		PIN_SLP(gpk1-2, INPUT, DOWN);
1025ee37a457SArtur Weber		PIN_SLP(gpk1-3, PREV, NONE);
1026ee37a457SArtur Weber		PIN_SLP(gpk1-4, PREV, NONE);
1027ee37a457SArtur Weber		PIN_SLP(gpk1-5, PREV, NONE);
1028ee37a457SArtur Weber		PIN_SLP(gpk1-6, PREV, NONE);
1029ee37a457SArtur Weber
1030ee37a457SArtur Weber		PIN_SLP(gpk2-0, INPUT, DOWN);
1031ee37a457SArtur Weber		PIN_SLP(gpk2-1, INPUT, DOWN);
1032ee37a457SArtur Weber		PIN_SLP(gpk2-2, INPUT, DOWN);
1033ee37a457SArtur Weber		PIN_SLP(gpk2-3, INPUT, DOWN);
1034ee37a457SArtur Weber		PIN_SLP(gpk2-4, INPUT, DOWN);
1035ee37a457SArtur Weber		PIN_SLP(gpk2-5, INPUT, DOWN);
1036ee37a457SArtur Weber		PIN_SLP(gpk2-6, INPUT, DOWN);
1037ee37a457SArtur Weber
1038ee37a457SArtur Weber		PIN_SLP(gpk3-0, OUT0, NONE);
1039ee37a457SArtur Weber		PIN_SLP(gpk3-1, INPUT, NONE);
1040ee37a457SArtur Weber		PIN_SLP(gpk3-2, INPUT, DOWN);
1041ee37a457SArtur Weber		PIN_SLP(gpk3-3, INPUT, NONE);
1042ee37a457SArtur Weber		PIN_SLP(gpk3-4, INPUT, NONE);
1043ee37a457SArtur Weber		PIN_SLP(gpk3-5, INPUT, NONE);
1044ee37a457SArtur Weber		PIN_SLP(gpk3-6, INPUT, NONE);
1045ee37a457SArtur Weber
1046ee37a457SArtur Weber		PIN_SLP(gpl0-0, INPUT, DOWN);
1047ee37a457SArtur Weber		PIN_SLP(gpl0-1, INPUT, NONE);
1048ee37a457SArtur Weber		PIN_SLP(gpl0-2, INPUT, NONE);
1049ee37a457SArtur Weber		PIN_SLP(gpl0-3, INPUT, DOWN);
1050ee37a457SArtur Weber		PIN_SLP(gpl0-4, INPUT, DOWN);
1051ee37a457SArtur Weber		PIN_SLP(gpl0-6, PREV, NONE);
1052ee37a457SArtur Weber
1053ee37a457SArtur Weber		PIN_SLP(gpl1-0, INPUT, DOWN);
1054ee37a457SArtur Weber		PIN_SLP(gpl1-1, OUT0, NONE);
1055ee37a457SArtur Weber		PIN_SLP(gpl2-0, INPUT, DOWN);
1056ee37a457SArtur Weber		PIN_SLP(gpl2-1, PREV, NONE);
1057ee37a457SArtur Weber		PIN_SLP(gpl2-2, PREV, NONE);
1058ee37a457SArtur Weber		PIN_SLP(gpl2-3, INPUT, DOWN);
1059ee37a457SArtur Weber		PIN_SLP(gpl2-4, INPUT, DOWN);
1060ee37a457SArtur Weber		PIN_SLP(gpl2-5, INPUT, DOWN);
1061ee37a457SArtur Weber		PIN_SLP(gpl2-6, INPUT, DOWN);
1062ee37a457SArtur Weber		PIN_SLP(gpl2-7, INPUT, DOWN);
1063ee37a457SArtur Weber
1064ee37a457SArtur Weber		PIN_SLP(gpm0-0, PREV, NONE);
1065ee37a457SArtur Weber		PIN_SLP(gpm0-1, OUT0, NONE);
1066ee37a457SArtur Weber		PIN_SLP(gpm0-2, INPUT, DOWN);
1067ee37a457SArtur Weber		PIN_SLP(gpm0-3, INPUT, DOWN);
1068ee37a457SArtur Weber		PIN_SLP(gpm0-4, INPUT, DOWN);
1069ee37a457SArtur Weber		PIN_SLP(gpm0-5, INPUT, DOWN);
1070ee37a457SArtur Weber		PIN_SLP(gpm0-6, INPUT, DOWN);
1071ee37a457SArtur Weber		PIN_SLP(gpm0-7, INPUT, DOWN);
1072ee37a457SArtur Weber
1073ee37a457SArtur Weber		PIN_SLP(gpm1-0, INPUT, DOWN);
1074ee37a457SArtur Weber		PIN_SLP(gpm1-1, INPUT, DOWN);
1075ee37a457SArtur Weber		PIN_SLP(gpm1-2, INPUT, NONE);
1076ee37a457SArtur Weber		PIN_SLP(gpm1-3, INPUT, NONE);
1077ee37a457SArtur Weber		PIN_SLP(gpm1-4, INPUT, NONE);
1078ee37a457SArtur Weber		PIN_SLP(gpm1-5, INPUT, NONE);
1079ee37a457SArtur Weber		PIN_SLP(gpm1-6, OUT0, NONE);
1080ee37a457SArtur Weber
1081ee37a457SArtur Weber		PIN_SLP(gpm2-0, INPUT, NONE);
1082ee37a457SArtur Weber		PIN_SLP(gpm2-1, INPUT, NONE);
1083ee37a457SArtur Weber		PIN_SLP(gpm2-2, OUT0, NONE);
1084ee37a457SArtur Weber		PIN_SLP(gpm2-3, INPUT, DOWN);
1085ee37a457SArtur Weber		PIN_SLP(gpm2-4, INPUT, DOWN);
1086ee37a457SArtur Weber
1087ee37a457SArtur Weber		PIN_SLP(gpm3-0, PREV, NONE);
1088ee37a457SArtur Weber		PIN_SLP(gpm3-1, PREV, NONE);
1089ee37a457SArtur Weber		PIN_SLP(gpm3-2, PREV, NONE);
1090ee37a457SArtur Weber		PIN_SLP(gpm3-3, INPUT, DOWN);
1091ee37a457SArtur Weber		PIN_SLP(gpm3-4, INPUT, DOWN);
1092ee37a457SArtur Weber		PIN_SLP(gpm3-5, PREV, NONE);
1093ee37a457SArtur Weber		PIN_SLP(gpm3-6, INPUT, DOWN);
1094ee37a457SArtur Weber		PIN_SLP(gpm3-7, OUT0, NONE);
1095ee37a457SArtur Weber
1096ee37a457SArtur Weber		PIN_SLP(gpm4-0, INPUT, DOWN);
1097ee37a457SArtur Weber		PIN_SLP(gpm4-1, INPUT, DOWN);
1098ee37a457SArtur Weber		PIN_SLP(gpm4-2, INPUT, DOWN);
1099ee37a457SArtur Weber		PIN_SLP(gpm4-3, INPUT, DOWN);
1100ee37a457SArtur Weber		PIN_SLP(gpm4-4, PREV, NONE);
1101ee37a457SArtur Weber		PIN_SLP(gpm4-5, INPUT, NONE);
1102ee37a457SArtur Weber		PIN_SLP(gpm4-6, INPUT, DOWN);
1103ee37a457SArtur Weber		PIN_SLP(gpm4-7, INPUT, DOWN);
1104ee37a457SArtur Weber
1105ee37a457SArtur Weber		PIN_SLP(gpy0-0, INPUT, DOWN);
1106ee37a457SArtur Weber		PIN_SLP(gpy0-1, INPUT, DOWN);
1107ee37a457SArtur Weber		PIN_SLP(gpy0-2, INPUT, NONE);
1108ee37a457SArtur Weber		PIN_SLP(gpy0-3, INPUT, NONE);
1109ee37a457SArtur Weber		PIN_SLP(gpy0-4, INPUT, DOWN);
1110ee37a457SArtur Weber		PIN_SLP(gpy0-5, INPUT, DOWN);
1111ee37a457SArtur Weber
1112ee37a457SArtur Weber		PIN_SLP(gpy1-0, INPUT, DOWN);
1113ee37a457SArtur Weber		PIN_SLP(gpy1-1, INPUT, DOWN);
1114ee37a457SArtur Weber		PIN_SLP(gpy1-2, INPUT, DOWN);
1115ee37a457SArtur Weber		PIN_SLP(gpy1-3, INPUT, DOWN);
1116ee37a457SArtur Weber
1117ee37a457SArtur Weber		PIN_SLP(gpy2-0, PREV, NONE);
1118ee37a457SArtur Weber		PIN_SLP(gpy2-1, INPUT, DOWN);
1119ee37a457SArtur Weber		PIN_SLP(gpy2-2, INPUT, NONE);
1120ee37a457SArtur Weber		PIN_SLP(gpy2-3, INPUT, NONE);
1121ee37a457SArtur Weber		PIN_SLP(gpy2-4, INPUT, NONE);
1122ee37a457SArtur Weber		PIN_SLP(gpy2-5, INPUT, NONE);
1123ee37a457SArtur Weber
1124ee37a457SArtur Weber		PIN_SLP(gpy3-0, INPUT, DOWN);
1125ee37a457SArtur Weber		PIN_SLP(gpy3-1, INPUT, DOWN);
1126ee37a457SArtur Weber		PIN_SLP(gpy3-2, INPUT, DOWN);
1127ee37a457SArtur Weber		PIN_SLP(gpy3-3, INPUT, DOWN);
1128ee37a457SArtur Weber		PIN_SLP(gpy3-4, INPUT, DOWN);
1129ee37a457SArtur Weber		PIN_SLP(gpy3-5, INPUT, DOWN);
1130ee37a457SArtur Weber		PIN_SLP(gpy3-6, INPUT, DOWN);
1131ee37a457SArtur Weber		PIN_SLP(gpy3-7, INPUT, DOWN);
1132ee37a457SArtur Weber
1133ee37a457SArtur Weber		PIN_SLP(gpy4-0, INPUT, DOWN);
1134ee37a457SArtur Weber		PIN_SLP(gpy4-1, INPUT, DOWN);
1135ee37a457SArtur Weber		PIN_SLP(gpy4-2, INPUT, DOWN);
1136ee37a457SArtur Weber		PIN_SLP(gpy4-3, INPUT, DOWN);
1137ee37a457SArtur Weber		PIN_SLP(gpy4-4, INPUT, DOWN);
1138ee37a457SArtur Weber		PIN_SLP(gpy4-5, INPUT, DOWN);
1139ee37a457SArtur Weber		PIN_SLP(gpy4-6, INPUT, DOWN);
1140ee37a457SArtur Weber		PIN_SLP(gpy4-7, INPUT, DOWN);
1141ee37a457SArtur Weber
1142ee37a457SArtur Weber		PIN_SLP(gpy5-0, INPUT, DOWN);
1143ee37a457SArtur Weber		PIN_SLP(gpy5-1, INPUT, DOWN);
1144ee37a457SArtur Weber		PIN_SLP(gpy5-2, INPUT, DOWN);
1145ee37a457SArtur Weber		PIN_SLP(gpy5-3, INPUT, DOWN);
1146ee37a457SArtur Weber		PIN_SLP(gpy5-4, INPUT, DOWN);
1147ee37a457SArtur Weber		PIN_SLP(gpy5-5, INPUT, DOWN);
1148ee37a457SArtur Weber		PIN_SLP(gpy5-6, INPUT, DOWN);
1149ee37a457SArtur Weber		PIN_SLP(gpy5-7, INPUT, DOWN);
1150ee37a457SArtur Weber
1151ee37a457SArtur Weber		PIN_SLP(gpy6-0, INPUT, DOWN);
1152ee37a457SArtur Weber		PIN_SLP(gpy6-1, INPUT, DOWN);
1153ee37a457SArtur Weber		PIN_SLP(gpy6-2, INPUT, DOWN);
1154ee37a457SArtur Weber		PIN_SLP(gpy6-3, INPUT, DOWN);
1155ee37a457SArtur Weber		PIN_SLP(gpy6-4, INPUT, DOWN);
1156ee37a457SArtur Weber		PIN_SLP(gpy6-5, INPUT, DOWN);
1157ee37a457SArtur Weber		PIN_SLP(gpy6-6, INPUT, DOWN);
1158ee37a457SArtur Weber		PIN_SLP(gpy6-7, INPUT, DOWN);
1159ee37a457SArtur Weber	};
1160ee37a457SArtur Weber};
1161ee37a457SArtur Weber
1162ee37a457SArtur Weber&pinctrl_2 {
1163ee37a457SArtur Weber	pinctrl-names = "default";
1164ee37a457SArtur Weber	pinctrl-0 = <&sleep2>;
1165ee37a457SArtur Weber
1166ee37a457SArtur Weber	sleep2: sleep-state {
1167ee37a457SArtur Weber		PIN_SLP(gpz-0, INPUT, DOWN);
1168ee37a457SArtur Weber		PIN_SLP(gpz-1, INPUT, DOWN);
1169ee37a457SArtur Weber		PIN_SLP(gpz-2, INPUT, DOWN);
1170ee37a457SArtur Weber		PIN_SLP(gpz-3, INPUT, DOWN);
1171ee37a457SArtur Weber		PIN_SLP(gpz-4, INPUT, DOWN);
1172ee37a457SArtur Weber		PIN_SLP(gpz-5, INPUT, DOWN);
1173ee37a457SArtur Weber		PIN_SLP(gpz-6, INPUT, DOWN);
1174ee37a457SArtur Weber	};
1175ee37a457SArtur Weber};
1176ee37a457SArtur Weber
1177ee37a457SArtur Weber&pinctrl_3 {
1178ee37a457SArtur Weber	pinctrl-names = "default";
1179ee37a457SArtur Weber	pinctrl-0 = <&sleep3>;
1180ee37a457SArtur Weber
1181ee37a457SArtur Weber	sleep3: sleep-state {
1182ee37a457SArtur Weber		PIN_SLP(gpv0-0, INPUT, DOWN);
1183ee37a457SArtur Weber		PIN_SLP(gpv0-1, INPUT, DOWN);
1184ee37a457SArtur Weber		PIN_SLP(gpv0-2, INPUT, DOWN);
1185ee37a457SArtur Weber		PIN_SLP(gpv0-3, INPUT, DOWN);
1186ee37a457SArtur Weber		PIN_SLP(gpv0-4, INPUT, DOWN);
1187ee37a457SArtur Weber		PIN_SLP(gpv0-5, INPUT, DOWN);
1188ee37a457SArtur Weber		PIN_SLP(gpv0-6, INPUT, DOWN);
1189ee37a457SArtur Weber		PIN_SLP(gpv0-7, INPUT, DOWN);
1190ee37a457SArtur Weber
1191ee37a457SArtur Weber		PIN_SLP(gpv1-0, INPUT, DOWN);
1192ee37a457SArtur Weber		PIN_SLP(gpv1-1, INPUT, DOWN);
1193ee37a457SArtur Weber		PIN_SLP(gpv1-2, INPUT, DOWN);
1194ee37a457SArtur Weber		PIN_SLP(gpv1-3, INPUT, DOWN);
1195ee37a457SArtur Weber		PIN_SLP(gpv1-4, INPUT, DOWN);
1196ee37a457SArtur Weber		PIN_SLP(gpv1-5, INPUT, DOWN);
1197ee37a457SArtur Weber		PIN_SLP(gpv1-6, INPUT, DOWN);
1198ee37a457SArtur Weber		PIN_SLP(gpv1-7, INPUT, DOWN);
1199ee37a457SArtur Weber
1200ee37a457SArtur Weber		PIN_SLP(gpv2-0, INPUT, DOWN);
1201ee37a457SArtur Weber		PIN_SLP(gpv2-1, INPUT, DOWN);
1202ee37a457SArtur Weber		PIN_SLP(gpv2-2, INPUT, DOWN);
1203ee37a457SArtur Weber		PIN_SLP(gpv2-3, INPUT, DOWN);
1204ee37a457SArtur Weber		PIN_SLP(gpv2-4, INPUT, DOWN);
1205ee37a457SArtur Weber		PIN_SLP(gpv2-5, INPUT, DOWN);
1206ee37a457SArtur Weber		PIN_SLP(gpv2-6, INPUT, DOWN);
1207ee37a457SArtur Weber		PIN_SLP(gpv2-7, INPUT, DOWN);
1208ee37a457SArtur Weber
1209ee37a457SArtur Weber		PIN_SLP(gpv3-0, INPUT, DOWN);
1210ee37a457SArtur Weber		PIN_SLP(gpv3-1, INPUT, DOWN);
1211ee37a457SArtur Weber		PIN_SLP(gpv3-2, INPUT, DOWN);
1212ee37a457SArtur Weber		PIN_SLP(gpv3-3, INPUT, DOWN);
1213ee37a457SArtur Weber		PIN_SLP(gpv3-4, INPUT, DOWN);
1214ee37a457SArtur Weber		PIN_SLP(gpv3-5, INPUT, DOWN);
1215ee37a457SArtur Weber		PIN_SLP(gpv3-6, INPUT, DOWN);
1216ee37a457SArtur Weber		PIN_SLP(gpv3-7, INPUT, DOWN);
1217ee37a457SArtur Weber
1218ee37a457SArtur Weber		PIN_SLP(gpv4-0, INPUT, DOWN);
1219ee37a457SArtur Weber		PIN_SLP(gpv4-1, INPUT, DOWN);
1220ee37a457SArtur Weber	};
1221ee37a457SArtur Weber};
1222ee37a457SArtur Weber
1223ee37a457SArtur Weber&pmu_system_controller {
1224ee37a457SArtur Weber	assigned-clocks = <&pmu_system_controller 0>;
1225ee37a457SArtur Weber	assigned-clock-parents = <&clock CLK_XUSBXTI>;
1226ee37a457SArtur Weber};
1227ee37a457SArtur Weber
1228ee37a457SArtur Weber&pwm {
1229ee37a457SArtur Weber	pinctrl-0 = <&pwm1_out>;
1230ee37a457SArtur Weber	pinctrl-names = "default";
1231ee37a457SArtur Weber	samsung,pwm-outputs = <1>;
1232ee37a457SArtur Weber	status = "okay";
1233ee37a457SArtur Weber};
1234ee37a457SArtur Weber
1235ee37a457SArtur Weber/*
1236ee37a457SArtur Weber * The internal RTC does not work; instead, the RTC provided by the
1237ee37a457SArtur Weber * S5M8766 PMIC is used. Disable the RTC to make sure the working
1238ee37a457SArtur Weber * one gets used.
1239ee37a457SArtur Weber *
1240ee37a457SArtur Weber * We add this node to avoid DTB check warnings, as the Exynos4 RTC
1241ee37a457SArtur Weber * requires two clocks, and only one is set up by default.
1242ee37a457SArtur Weber */
1243ee37a457SArtur Weber&rtc {
1244ee37a457SArtur Weber	clocks = <&clock CLK_RTC>, <&s5m8767_osc S2MPS11_CLK_AP>;
1245ee37a457SArtur Weber	clock-names = "rtc", "rtc_src";
1246ee37a457SArtur Weber	status = "disabled";
1247ee37a457SArtur Weber};
1248ee37a457SArtur Weber
1249ee37a457SArtur Weber&sdhci_2 {
1250ee37a457SArtur Weber	bus-width = <4>;
1251ee37a457SArtur Weber	cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
1252ee37a457SArtur Weber	pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sdhci2_cd>;
1253ee37a457SArtur Weber	pinctrl-names = "default";
1254ee37a457SArtur Weber	vmmc-supply = <&ldo23_reg>;
1255ee37a457SArtur Weber	status = "okay";
1256ee37a457SArtur Weber};
1257ee37a457SArtur Weber
1258ee37a457SArtur Weber&sdhci_3 {
1259ee37a457SArtur Weber	#address-cells = <1>;
1260ee37a457SArtur Weber	#size-cells = <0>;
1261ee37a457SArtur Weber	non-removable;
1262ee37a457SArtur Weber	bus-width = <4>;
1263ee37a457SArtur Weber
1264ee37a457SArtur Weber	mmc-pwrseq = <&wlan_pwrseq>;
1265ee37a457SArtur Weber	pinctrl-names = "default";
1266ee37a457SArtur Weber	pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
1267ee37a457SArtur Weber	status = "okay";
1268ee37a457SArtur Weber
1269ee37a457SArtur Weber	brcmf: wifi@1 {
1270ee37a457SArtur Weber		compatible = "brcm,bcm4334-fmac", "brcm,bcm4329-fmac";
1271ee37a457SArtur Weber		reg = <1>;
1272ee37a457SArtur Weber
1273ee37a457SArtur Weber		interrupt-parent = <&gpx2>;
1274ee37a457SArtur Weber		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
1275ee37a457SArtur Weber		interrupt-names = "host-wake";
1276ee37a457SArtur Weber	};
1277ee37a457SArtur Weber};
1278ee37a457SArtur Weber
1279ee37a457SArtur Weber&serial_0 {
1280ee37a457SArtur Weber	pinctrl-0 = <&uart0_data &uart0_fctl>;
1281ee37a457SArtur Weber	pinctrl-names = "default";
1282ee37a457SArtur Weber	status = "okay";
1283ee37a457SArtur Weber
1284ee37a457SArtur Weber	bluetooth {
1285ee37a457SArtur Weber		compatible = "brcm,bcm4330-bt"; /* BCM4334B0 */
1286ee37a457SArtur Weber		pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>;
1287ee37a457SArtur Weber		pinctrl-names = "default";
1288ee37a457SArtur Weber		max-speed = <3000000>;
1289ee37a457SArtur Weber		shutdown-gpios = <&gpl0 6 GPIO_ACTIVE_HIGH>;
1290ee37a457SArtur Weber		device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
1291ee37a457SArtur Weber		host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
1292ee37a457SArtur Weber		clocks = <&s5m8767_osc S2MPS11_CLK_BT>;
1293ee37a457SArtur Weber	};
1294ee37a457SArtur Weber};
1295ee37a457SArtur Weber
1296ee37a457SArtur Weber&serial_1 {
1297ee37a457SArtur Weber	status = "okay";
1298ee37a457SArtur Weber};
1299ee37a457SArtur Weber
1300ee37a457SArtur Weber&serial_2 {
1301ee37a457SArtur Weber	status = "okay";
1302ee37a457SArtur Weber};
1303ee37a457SArtur Weber
1304ee37a457SArtur Weber&serial_3 {
1305ee37a457SArtur Weber	status = "okay";
1306ee37a457SArtur Weber};
1307ee37a457SArtur Weber
1308ee37a457SArtur Weber&tmu {
1309ee37a457SArtur Weber	vtmu-supply = <&ldo10_reg>;
1310ee37a457SArtur Weber	status = "okay";
1311ee37a457SArtur Weber};
1312