xref: /freebsd/sys/contrib/device-tree/src/arm/samsung/exynos4210-i9100.dts (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Samsung's Exynos4210 based Galaxy S2 (GT-I9100 version) device tree
4f126890aSEmmanuel Vadot *
5f126890aSEmmanuel Vadot * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6f126890aSEmmanuel Vadot *		http://www.samsung.com
7f126890aSEmmanuel Vadot * Copyright (c) 2020 Stenkin Evgeniy <stenkinevgeniy@gmail.com>
8f126890aSEmmanuel Vadot * Copyright (c) 2020 Paul Cercueil <paul@crapouillou.net>
9f126890aSEmmanuel Vadot */
10f126890aSEmmanuel Vadot
11f126890aSEmmanuel Vadot/dts-v1/;
12f126890aSEmmanuel Vadot#include "exynos4210.dtsi"
13f126890aSEmmanuel Vadot#include "exynos4412-ppmu-common.dtsi"
14f126890aSEmmanuel Vadot
15f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
16f126890aSEmmanuel Vadot#include <dt-bindings/input/linux-event-codes.h>
17f126890aSEmmanuel Vadot
18f126890aSEmmanuel Vadot/ {
19f126890aSEmmanuel Vadot	model = "Samsung Galaxy S2 (GT-I9100)";
20f126890aSEmmanuel Vadot	compatible = "samsung,i9100", "samsung,exynos4210", "samsung,exynos4";
21f126890aSEmmanuel Vadot	chassis-type = "handset";
22f126890aSEmmanuel Vadot
23f126890aSEmmanuel Vadot	memory@40000000 {
24f126890aSEmmanuel Vadot		device_type = "memory";
25f126890aSEmmanuel Vadot		reg = <0x40000000 0x40000000>;
26f126890aSEmmanuel Vadot	};
27f126890aSEmmanuel Vadot
28f126890aSEmmanuel Vadot	aliases {
29f126890aSEmmanuel Vadot		mmc0 = &sdhci_0;
30f126890aSEmmanuel Vadot		mmc1 = &sdhci_2;
31f126890aSEmmanuel Vadot		mmc2 = &sdhci_3;
32f126890aSEmmanuel Vadot	};
33f126890aSEmmanuel Vadot
34f126890aSEmmanuel Vadot	chosen {
35f126890aSEmmanuel Vadot		stdout-path = "serial2:115200n8";
36f126890aSEmmanuel Vadot	};
37f126890aSEmmanuel Vadot
38f126890aSEmmanuel Vadot	vemmc_reg: regulator-0 {
39f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
40f126890aSEmmanuel Vadot		regulator-name = "VMEM_VDD_2.8V";
41f126890aSEmmanuel Vadot		regulator-min-microvolt = <2800000>;
42f126890aSEmmanuel Vadot		regulator-max-microvolt = <2800000>;
43f126890aSEmmanuel Vadot		gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
44f126890aSEmmanuel Vadot		enable-active-high;
45f126890aSEmmanuel Vadot	};
46f126890aSEmmanuel Vadot
47f126890aSEmmanuel Vadot	tsp_reg: regulator-1 {
48f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
49f126890aSEmmanuel Vadot		regulator-name = "TSP_FIXED_VOLTAGES";
50f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
51f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
52f126890aSEmmanuel Vadot		gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>;
53f126890aSEmmanuel Vadot		startup-delay-us = <70000>;
54f126890aSEmmanuel Vadot		enable-active-high;
55f126890aSEmmanuel Vadot		regulator-boot-on;
56f126890aSEmmanuel Vadot		regulator-always-on;
57f126890aSEmmanuel Vadot	};
58f126890aSEmmanuel Vadot
59f126890aSEmmanuel Vadot	cam_af_28v_reg: regulator-2 {
60f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
61f126890aSEmmanuel Vadot		regulator-name = "8M_AF_2.8V_EN";
62f126890aSEmmanuel Vadot		regulator-min-microvolt = <2800000>;
63f126890aSEmmanuel Vadot		regulator-max-microvolt = <2800000>;
64f126890aSEmmanuel Vadot		gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>;
65f126890aSEmmanuel Vadot		enable-active-high;
66f126890aSEmmanuel Vadot	};
67f126890aSEmmanuel Vadot
68f126890aSEmmanuel Vadot	cam_io_en_reg: regulator-3 {
69f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
70f126890aSEmmanuel Vadot		regulator-name = "CAM_IO_EN";
71f126890aSEmmanuel Vadot		regulator-min-microvolt = <2800000>;
72f126890aSEmmanuel Vadot		regulator-max-microvolt = <2800000>;
73f126890aSEmmanuel Vadot		gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>;
74f126890aSEmmanuel Vadot		enable-active-high;
75f126890aSEmmanuel Vadot	};
76f126890aSEmmanuel Vadot
77f126890aSEmmanuel Vadot	cam_io_12v_reg: regulator-4 {
78f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
79f126890aSEmmanuel Vadot		regulator-name = "8M_1.2V_EN";
80f126890aSEmmanuel Vadot		regulator-min-microvolt = <1200000>;
81f126890aSEmmanuel Vadot		regulator-max-microvolt = <1200000>;
82f126890aSEmmanuel Vadot		gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>;
83f126890aSEmmanuel Vadot		enable-active-high;
84f126890aSEmmanuel Vadot	};
85f126890aSEmmanuel Vadot
86f126890aSEmmanuel Vadot	vt_core_15v_reg: regulator-5 {
87f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
88f126890aSEmmanuel Vadot		regulator-name = "VT_CORE_1.5V";
89f126890aSEmmanuel Vadot		regulator-min-microvolt = <1500000>;
90f126890aSEmmanuel Vadot		regulator-max-microvolt = <1500000>;
91f126890aSEmmanuel Vadot		gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>;
92f126890aSEmmanuel Vadot		enable-active-high;
93f126890aSEmmanuel Vadot	};
94f126890aSEmmanuel Vadot
95f126890aSEmmanuel Vadot	gpio-keys {
96f126890aSEmmanuel Vadot		compatible = "gpio-keys";
97f126890aSEmmanuel Vadot
98f126890aSEmmanuel Vadot		key-vol-down {
99f126890aSEmmanuel Vadot			gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
100f126890aSEmmanuel Vadot			linux,code = <KEY_VOLUMEDOWN>;
101f126890aSEmmanuel Vadot			label = "volume down";
102f126890aSEmmanuel Vadot			debounce-interval = <10>;
103f126890aSEmmanuel Vadot		};
104f126890aSEmmanuel Vadot
105f126890aSEmmanuel Vadot		key-vol-up {
106f126890aSEmmanuel Vadot			gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
107f126890aSEmmanuel Vadot			linux,code = <KEY_VOLUMEUP>;
108f126890aSEmmanuel Vadot			label = "volume up";
109f126890aSEmmanuel Vadot			debounce-interval = <10>;
110f126890aSEmmanuel Vadot		};
111f126890aSEmmanuel Vadot
112f126890aSEmmanuel Vadot		key-power {
113f126890aSEmmanuel Vadot			gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
114f126890aSEmmanuel Vadot			linux,code = <KEY_POWER>;
115f126890aSEmmanuel Vadot			label = "power";
116f126890aSEmmanuel Vadot			debounce-interval = <10>;
117f126890aSEmmanuel Vadot			wakeup-source;
118f126890aSEmmanuel Vadot		};
119f126890aSEmmanuel Vadot
120f126890aSEmmanuel Vadot		key-ok {
121f126890aSEmmanuel Vadot			gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
122f126890aSEmmanuel Vadot			linux,code = <KEY_OK>;
123f126890aSEmmanuel Vadot			label = "ok";
124f126890aSEmmanuel Vadot			debounce-interval = <10>;
125f126890aSEmmanuel Vadot		};
126f126890aSEmmanuel Vadot	};
127f126890aSEmmanuel Vadot
128f126890aSEmmanuel Vadot	wlan_pwrseq: sdhci3-pwrseq {
129f126890aSEmmanuel Vadot		compatible = "mmc-pwrseq-simple";
130f126890aSEmmanuel Vadot		reset-gpios = <&gpl1 2 GPIO_ACTIVE_LOW>;
131f126890aSEmmanuel Vadot	};
132f126890aSEmmanuel Vadot
133f126890aSEmmanuel Vadot	i2c_max17042_fuel: i2c-gpio-0 {
134f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
135f126890aSEmmanuel Vadot		#address-cells = <1>;
136f126890aSEmmanuel Vadot		#size-cells = <0>;
137f126890aSEmmanuel Vadot
138f126890aSEmmanuel Vadot		sda-gpios = <&gpy4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
139f126890aSEmmanuel Vadot		scl-gpios = <&gpy4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
140f126890aSEmmanuel Vadot		i2c-gpio,delay-us = <5>;
141f126890aSEmmanuel Vadot
142f126890aSEmmanuel Vadot		battery@36 {
143f126890aSEmmanuel Vadot			compatible = "maxim,max17042";
144f126890aSEmmanuel Vadot
145f126890aSEmmanuel Vadot			interrupt-parent = <&gpx2>;
146f126890aSEmmanuel Vadot			interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
147f126890aSEmmanuel Vadot
148f126890aSEmmanuel Vadot			pinctrl-0 = <&max17042_fuel_irq>;
149f126890aSEmmanuel Vadot			pinctrl-names = "default";
150f126890aSEmmanuel Vadot
151f126890aSEmmanuel Vadot			reg = <0x36>;
152f126890aSEmmanuel Vadot			maxim,over-heat-temp = <700>;
153f126890aSEmmanuel Vadot			maxim,over-volt = <4500>;
154f126890aSEmmanuel Vadot		};
155f126890aSEmmanuel Vadot	};
156f126890aSEmmanuel Vadot
157f126890aSEmmanuel Vadot	i2c_s5k5baf: i2c-gpio-1 {
158f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
159f126890aSEmmanuel Vadot		#address-cells = <1>;
160f126890aSEmmanuel Vadot		#size-cells = <0>;
161f126890aSEmmanuel Vadot
162f126890aSEmmanuel Vadot		sda-gpios = <&gpc1 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
163f126890aSEmmanuel Vadot		scl-gpios = <&gpc1 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
164f126890aSEmmanuel Vadot		i2c-gpio,delay-us = <2>;
165f126890aSEmmanuel Vadot
166f126890aSEmmanuel Vadot		image-sensor@2d {
167f126890aSEmmanuel Vadot			compatible = "samsung,s5k5baf";
168f126890aSEmmanuel Vadot			reg = <0x2d>;
169f126890aSEmmanuel Vadot			vdda-supply = <&cam_io_en_reg>;
170f126890aSEmmanuel Vadot			vddreg-supply = <&vt_core_15v_reg>;
171f126890aSEmmanuel Vadot			vddio-supply = <&vtcam_reg>;
172f126890aSEmmanuel Vadot			clocks = <&camera 0>;
173f126890aSEmmanuel Vadot			clock-names = "mclk";
174f126890aSEmmanuel Vadot			stbyn-gpios = <&gpl2 0 GPIO_ACTIVE_LOW>;
175f126890aSEmmanuel Vadot			rstn-gpios = <&gpl2 1 GPIO_ACTIVE_LOW>;
176f126890aSEmmanuel Vadot			clock-frequency = <24000000>;
177f126890aSEmmanuel Vadot
178f126890aSEmmanuel Vadot			port {
179f126890aSEmmanuel Vadot				s5k5bafx_ep: endpoint {
180f126890aSEmmanuel Vadot					remote-endpoint = <&csis1_ep>;
181f126890aSEmmanuel Vadot					data-lanes = <1>;
182f126890aSEmmanuel Vadot				};
183f126890aSEmmanuel Vadot			};
184f126890aSEmmanuel Vadot		};
185f126890aSEmmanuel Vadot	};
186f126890aSEmmanuel Vadot
187*8d13bc63SEmmanuel Vadot	i2c-gpio-2 {
188*8d13bc63SEmmanuel Vadot		compatible = "i2c-gpio";
189*8d13bc63SEmmanuel Vadot		#address-cells = <1>;
190*8d13bc63SEmmanuel Vadot		#size-cells = <0>;
191*8d13bc63SEmmanuel Vadot
192*8d13bc63SEmmanuel Vadot		sda-gpios = <&gpk1 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
193*8d13bc63SEmmanuel Vadot		scl-gpios = <&gpk1 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
194*8d13bc63SEmmanuel Vadot		i2c-gpio,delay-us = <2>;
195*8d13bc63SEmmanuel Vadot
196*8d13bc63SEmmanuel Vadot		touchscreen@20 {
197*8d13bc63SEmmanuel Vadot			compatible = "cypress,aries-touchkey";
198*8d13bc63SEmmanuel Vadot			reg = <0x20>;
199*8d13bc63SEmmanuel Vadot
200*8d13bc63SEmmanuel Vadot			interrupt-parent = <&gpl0>;
201*8d13bc63SEmmanuel Vadot			interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
202*8d13bc63SEmmanuel Vadot
203*8d13bc63SEmmanuel Vadot			vdd-supply = <&vtouchled_reg>;
204*8d13bc63SEmmanuel Vadot			vcc-supply = <&vtouch_reg>;
205*8d13bc63SEmmanuel Vadot			linux,keycodes = <KEY_MENU>, <KEY_BACK>;
206*8d13bc63SEmmanuel Vadot		};
207*8d13bc63SEmmanuel Vadot	};
208*8d13bc63SEmmanuel Vadot
209f126890aSEmmanuel Vadot	spi-3 {
210f126890aSEmmanuel Vadot		compatible = "spi-gpio";
211f126890aSEmmanuel Vadot		#address-cells = <1>;
212f126890aSEmmanuel Vadot		#size-cells = <0>;
213f126890aSEmmanuel Vadot
214f126890aSEmmanuel Vadot		num-chipselects = <1>;
215f126890aSEmmanuel Vadot		cs-gpios = <&gpy4 3 GPIO_ACTIVE_LOW>;
216f126890aSEmmanuel Vadot		sck-gpios = <&gpy3 1 GPIO_ACTIVE_HIGH>;
217f126890aSEmmanuel Vadot		mosi-gpios = <&gpy3 3 GPIO_ACTIVE_HIGH>;
218f126890aSEmmanuel Vadot
219f126890aSEmmanuel Vadot		lcd@0 {
220f126890aSEmmanuel Vadot			compatible = "samsung,ld9040";
221f126890aSEmmanuel Vadot			reg = <0>;
222f126890aSEmmanuel Vadot
223f126890aSEmmanuel Vadot			spi-max-frequency = <1200000>;
224f126890aSEmmanuel Vadot
225f126890aSEmmanuel Vadot			vdd3-supply = <&vmipi_reg>;
226f126890aSEmmanuel Vadot			vci-supply = <&vcclcd_reg>;
227f126890aSEmmanuel Vadot
228f126890aSEmmanuel Vadot			reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
229f126890aSEmmanuel Vadot			power-on-delay = <10>;
230f126890aSEmmanuel Vadot			reset-delay = <10>;
231f126890aSEmmanuel Vadot
232aa1a8ff2SEmmanuel Vadot			panel-width-mm = <56>;
233aa1a8ff2SEmmanuel Vadot			panel-height-mm = <93>;
234f126890aSEmmanuel Vadot
235f126890aSEmmanuel Vadot			display-timings {
236f126890aSEmmanuel Vadot				timing {
237f126890aSEmmanuel Vadot					clock-frequency = <23492370>;
238f126890aSEmmanuel Vadot					hactive = <480>;
239f126890aSEmmanuel Vadot					vactive = <800>;
240f126890aSEmmanuel Vadot					hback-porch = <16>;
241f126890aSEmmanuel Vadot					hfront-porch = <16>;
242f126890aSEmmanuel Vadot					vback-porch = <2>;
243f126890aSEmmanuel Vadot					vfront-porch = <28>;
244f126890aSEmmanuel Vadot					hsync-len = <2>;
245f126890aSEmmanuel Vadot					vsync-len = <1>;
246f126890aSEmmanuel Vadot					hsync-active = <0>;
247f126890aSEmmanuel Vadot					vsync-active = <0>;
248f126890aSEmmanuel Vadot					de-active = <0>;
249f126890aSEmmanuel Vadot					pixelclk-active = <0>;
250f126890aSEmmanuel Vadot				};
251f126890aSEmmanuel Vadot			};
252f126890aSEmmanuel Vadot
253f126890aSEmmanuel Vadot			port {
254f126890aSEmmanuel Vadot				lcd_ep: endpoint {
255f126890aSEmmanuel Vadot					remote-endpoint = <&fimd_dpi_ep>;
256f126890aSEmmanuel Vadot				};
257f126890aSEmmanuel Vadot			};
258f126890aSEmmanuel Vadot		};
259f126890aSEmmanuel Vadot	};
260f126890aSEmmanuel Vadot
261f126890aSEmmanuel Vadot	fixed-rate-clocks {
262f126890aSEmmanuel Vadot		xxti {
263f126890aSEmmanuel Vadot			compatible = "samsung,clock-xxti";
264f126890aSEmmanuel Vadot			clock-frequency = <0>;
265f126890aSEmmanuel Vadot		};
266f126890aSEmmanuel Vadot
267f126890aSEmmanuel Vadot		xusbxti {
268f126890aSEmmanuel Vadot			compatible = "samsung,clock-xusbxti";
269f126890aSEmmanuel Vadot			clock-frequency = <24000000>;
270f126890aSEmmanuel Vadot		};
271f126890aSEmmanuel Vadot
272f126890aSEmmanuel Vadot		pmic_ap_clk: pmic-ap-clk {
273f126890aSEmmanuel Vadot			/* Workaround for missing clock on max8997 PMIC */
274f126890aSEmmanuel Vadot			compatible = "fixed-clock";
275f126890aSEmmanuel Vadot			#clock-cells = <0>;
276f126890aSEmmanuel Vadot			clock-frequency = <32768>;
277f126890aSEmmanuel Vadot		};
278f126890aSEmmanuel Vadot	};
279f126890aSEmmanuel Vadot};
280f126890aSEmmanuel Vadot
281f126890aSEmmanuel Vadot&camera {
282f126890aSEmmanuel Vadot	pinctrl-0 = <&cam_port_a_clk_active>;
283f126890aSEmmanuel Vadot	pinctrl-names = "default";
284f126890aSEmmanuel Vadot	status = "okay";
285f126890aSEmmanuel Vadot	assigned-clocks = <&clock CLK_MOUT_CAM0>, <&clock CLK_MOUT_CAM1>;
286f126890aSEmmanuel Vadot	assigned-clock-parents = <&clock CLK_XUSBXTI>, <&clock CLK_XUSBXTI>;
287f126890aSEmmanuel Vadot};
288f126890aSEmmanuel Vadot
289f126890aSEmmanuel Vadot&csis_1 {
290f126890aSEmmanuel Vadot	status = "okay";
291f126890aSEmmanuel Vadot	vddcore-supply = <&vusb_reg>;
292f126890aSEmmanuel Vadot	vddio-supply = <&vmipi_reg>;
293f126890aSEmmanuel Vadot	clock-frequency = <160000000>;
294f126890aSEmmanuel Vadot	#address-cells = <1>;
295f126890aSEmmanuel Vadot	#size-cells = <0>;
296f126890aSEmmanuel Vadot
297f126890aSEmmanuel Vadot	port@4 {
298f126890aSEmmanuel Vadot		reg = <4>;
299f126890aSEmmanuel Vadot		csis1_ep: endpoint {
300f126890aSEmmanuel Vadot			remote-endpoint = <&s5k5bafx_ep>;
301f126890aSEmmanuel Vadot			data-lanes = <1>;
302f126890aSEmmanuel Vadot			samsung,csis-hs-settle = <6>;
303f126890aSEmmanuel Vadot		};
304f126890aSEmmanuel Vadot	};
305f126890aSEmmanuel Vadot};
306f126890aSEmmanuel Vadot
307f126890aSEmmanuel Vadot&cpu0 {
308f126890aSEmmanuel Vadot	cpu0-supply = <&varm_breg>;
309f126890aSEmmanuel Vadot};
310f126890aSEmmanuel Vadot
311f126890aSEmmanuel Vadot&cpu_thermal {
312f126890aSEmmanuel Vadot	cooling-maps {
313f126890aSEmmanuel Vadot		map0 {
314f126890aSEmmanuel Vadot			/* Corresponds to 800MHz */
315f126890aSEmmanuel Vadot			cooling-device = <&cpu0 2 2>;
316f126890aSEmmanuel Vadot		};
317f126890aSEmmanuel Vadot		map1 {
318f126890aSEmmanuel Vadot			/* Corresponds to 200MHz */
319f126890aSEmmanuel Vadot			cooling-device = <&cpu0 4 4>;
320f126890aSEmmanuel Vadot		};
321f126890aSEmmanuel Vadot	};
322f126890aSEmmanuel Vadot};
323f126890aSEmmanuel Vadot
324f126890aSEmmanuel Vadot&ehci {
325f126890aSEmmanuel Vadot	status = "okay";
326f126890aSEmmanuel Vadot
327f126890aSEmmanuel Vadot	phys = <&exynos_usbphy 1>;
328f126890aSEmmanuel Vadot	phy-names = "host";
329f126890aSEmmanuel Vadot};
330f126890aSEmmanuel Vadot
331f126890aSEmmanuel Vadot&exynos_usbphy {
332f126890aSEmmanuel Vadot	status = "okay";
333f126890aSEmmanuel Vadot
334f126890aSEmmanuel Vadot	vbus-supply = <&safe1_sreg>;
335f126890aSEmmanuel Vadot};
336f126890aSEmmanuel Vadot
337f126890aSEmmanuel Vadot&fimc_0 {
338f126890aSEmmanuel Vadot	status = "okay";
339f126890aSEmmanuel Vadot
340f126890aSEmmanuel Vadot	assigned-clocks = <&clock CLK_MOUT_FIMC0>, <&clock CLK_SCLK_FIMC0>;
341f126890aSEmmanuel Vadot	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
342f126890aSEmmanuel Vadot	assigned-clock-rates = <0>, <160000000>;
343f126890aSEmmanuel Vadot};
344f126890aSEmmanuel Vadot
345f126890aSEmmanuel Vadot&fimc_1 {
346f126890aSEmmanuel Vadot	/* Back camera not implemented */
347f126890aSEmmanuel Vadot	status = "disabled";
348f126890aSEmmanuel Vadot
349f126890aSEmmanuel Vadot	assigned-clocks = <&clock CLK_MOUT_FIMC1>, <&clock CLK_SCLK_FIMC1>;
350f126890aSEmmanuel Vadot	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
351f126890aSEmmanuel Vadot	assigned-clock-rates = <0>, <160000000>;
352f126890aSEmmanuel Vadot};
353f126890aSEmmanuel Vadot
354f126890aSEmmanuel Vadot&fimc_2 {
355f126890aSEmmanuel Vadot	status = "okay";
356f126890aSEmmanuel Vadot
357f126890aSEmmanuel Vadot	assigned-clocks = <&clock CLK_MOUT_FIMC2>, <&clock CLK_SCLK_FIMC2>;
358f126890aSEmmanuel Vadot	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
359f126890aSEmmanuel Vadot	assigned-clock-rates = <0>, <160000000>;
360f126890aSEmmanuel Vadot};
361f126890aSEmmanuel Vadot
362f126890aSEmmanuel Vadot&fimc_3 {
363f126890aSEmmanuel Vadot	/* Back camera not implemented */
364f126890aSEmmanuel Vadot	status = "disabled";
365f126890aSEmmanuel Vadot
366f126890aSEmmanuel Vadot	assigned-clocks = <&clock CLK_MOUT_FIMC3>, <&clock CLK_SCLK_FIMC3>;
367f126890aSEmmanuel Vadot	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
368f126890aSEmmanuel Vadot	assigned-clock-rates = <0>, <160000000>;
369f126890aSEmmanuel Vadot};
370f126890aSEmmanuel Vadot
371f126890aSEmmanuel Vadot&fimd {
372f126890aSEmmanuel Vadot	status = "okay";
373f126890aSEmmanuel Vadot	#address-cells = <1>;
374f126890aSEmmanuel Vadot	#size-cells = <0>;
375f126890aSEmmanuel Vadot
376f126890aSEmmanuel Vadot	samsung,invert-vden;
377f126890aSEmmanuel Vadot	samsung,invert-vclk;
378f126890aSEmmanuel Vadot
379f126890aSEmmanuel Vadot	pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
380f126890aSEmmanuel Vadot	pinctrl-names = "default";
381f126890aSEmmanuel Vadot
382f126890aSEmmanuel Vadot	port@3 {
383f126890aSEmmanuel Vadot		reg = <3>;
384f126890aSEmmanuel Vadot
385f126890aSEmmanuel Vadot		fimd_dpi_ep: endpoint {
386f126890aSEmmanuel Vadot			remote-endpoint = <&lcd_ep>;
387f126890aSEmmanuel Vadot		};
388f126890aSEmmanuel Vadot	};
389f126890aSEmmanuel Vadot};
390f126890aSEmmanuel Vadot
391f126890aSEmmanuel Vadot&gpu {
392f126890aSEmmanuel Vadot	status = "okay";
393f126890aSEmmanuel Vadot
394f126890aSEmmanuel Vadot	mali-supply = <&vg3d_breg>;
395f126890aSEmmanuel Vadot};
396f126890aSEmmanuel Vadot
397f126890aSEmmanuel Vadot&hsotg {
398f126890aSEmmanuel Vadot	status = "okay";
399f126890aSEmmanuel Vadot
400f126890aSEmmanuel Vadot	dr_mode = "otg";
401f126890aSEmmanuel Vadot	vusb_d-supply = <&vusb_reg>;
402f126890aSEmmanuel Vadot	vusb_a-supply = <&vusbdac_reg>;
403f126890aSEmmanuel Vadot};
404f126890aSEmmanuel Vadot
405*8d13bc63SEmmanuel Vadot&i2c_1 {
406*8d13bc63SEmmanuel Vadot	status = "okay";
407*8d13bc63SEmmanuel Vadot
408*8d13bc63SEmmanuel Vadot	samsung,i2c-sda-delay = <100>;
409*8d13bc63SEmmanuel Vadot	samsung,i2c-slave-addr = <0x10>;
410*8d13bc63SEmmanuel Vadot	samsung,i2c-max-bus-freq = <100000>;
411*8d13bc63SEmmanuel Vadot
412*8d13bc63SEmmanuel Vadot	lis3dh: accelerometer@19 {
413*8d13bc63SEmmanuel Vadot		compatible = "st,lis3dh-accel";
414*8d13bc63SEmmanuel Vadot		reg = <0x19>;
415*8d13bc63SEmmanuel Vadot
416*8d13bc63SEmmanuel Vadot		mount-matrix = "0", "-1", "0",
417*8d13bc63SEmmanuel Vadot			       "1", "0", "0",
418*8d13bc63SEmmanuel Vadot			       "0", "0", "1";
419*8d13bc63SEmmanuel Vadot	};
420*8d13bc63SEmmanuel Vadot};
421*8d13bc63SEmmanuel Vadot
422f126890aSEmmanuel Vadot&i2c_3 {
423f126890aSEmmanuel Vadot	status = "okay";
424f126890aSEmmanuel Vadot
425f126890aSEmmanuel Vadot	samsung,i2c-sda-delay = <100>;
426f126890aSEmmanuel Vadot	samsung,i2c-slave-addr = <0x10>;
427f126890aSEmmanuel Vadot	samsung,i2c-max-bus-freq = <100000>;
428f126890aSEmmanuel Vadot
429f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c3_bus>;
430f126890aSEmmanuel Vadot	pinctrl-names = "default";
431f126890aSEmmanuel Vadot
432f126890aSEmmanuel Vadot	touchscreen@4a {
433f126890aSEmmanuel Vadot		compatible = "atmel,maxtouch";
434f126890aSEmmanuel Vadot		reg = <0x4a>;
435f126890aSEmmanuel Vadot
436f126890aSEmmanuel Vadot		interrupt-parent = <&gpx0>;
437f126890aSEmmanuel Vadot		interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
438f126890aSEmmanuel Vadot	};
439f126890aSEmmanuel Vadot};
440f126890aSEmmanuel Vadot
441f126890aSEmmanuel Vadot&i2c_5 {
442f126890aSEmmanuel Vadot	status = "okay";
443f126890aSEmmanuel Vadot
444f126890aSEmmanuel Vadot	samsung,i2c-sda-delay = <100>;
445f126890aSEmmanuel Vadot	samsung,i2c-slave-addr = <0x10>;
446f126890aSEmmanuel Vadot	samsung,i2c-max-bus-freq = <100000>;
447f126890aSEmmanuel Vadot
448f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c5_bus>;
449f126890aSEmmanuel Vadot	pinctrl-names = "default";
450f126890aSEmmanuel Vadot
451f126890aSEmmanuel Vadot	pmic@66 {
452f126890aSEmmanuel Vadot		compatible = "maxim,max8997-pmic";
453f126890aSEmmanuel Vadot		reg = <0x66>;
454f126890aSEmmanuel Vadot
455f126890aSEmmanuel Vadot		interrupts-extended = <&gpx0 7 IRQ_TYPE_NONE>,
456f126890aSEmmanuel Vadot				      <&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
457f126890aSEmmanuel Vadot
458f126890aSEmmanuel Vadot		max8997,pmic-buck1-uses-gpio-dvs;
459f126890aSEmmanuel Vadot		max8997,pmic-buck2-uses-gpio-dvs;
460f126890aSEmmanuel Vadot		max8997,pmic-buck5-uses-gpio-dvs;
461f126890aSEmmanuel Vadot
462f126890aSEmmanuel Vadot		max8997,pmic-ignore-gpiodvs-side-effect;
463f126890aSEmmanuel Vadot		max8997,pmic-buck125-default-dvs-idx = <0>;
464f126890aSEmmanuel Vadot
465f126890aSEmmanuel Vadot		max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
466f126890aSEmmanuel Vadot						 <&gpx0 6 GPIO_ACTIVE_HIGH>,
467f126890aSEmmanuel Vadot						 <&gpl0 0 GPIO_ACTIVE_HIGH>;
468f126890aSEmmanuel Vadot
469f126890aSEmmanuel Vadot		max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
470f126890aSEmmanuel Vadot						 <1250000>, <1200000>,
471f126890aSEmmanuel Vadot						 <1150000>, <1100000>,
472f126890aSEmmanuel Vadot						 <1000000>, <950000>;
473f126890aSEmmanuel Vadot
474f126890aSEmmanuel Vadot		max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
475f126890aSEmmanuel Vadot						 <950000>,  <900000>,
476f126890aSEmmanuel Vadot						 <1100000>, <1000000>,
477f126890aSEmmanuel Vadot						 <950000>,  <900000>;
478f126890aSEmmanuel Vadot
479f126890aSEmmanuel Vadot		max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
480f126890aSEmmanuel Vadot						 <1200000>, <1200000>,
481f126890aSEmmanuel Vadot						 <1200000>, <1200000>,
482f126890aSEmmanuel Vadot						 <1200000>, <1200000>;
483f126890aSEmmanuel Vadot
484f126890aSEmmanuel Vadot		pinctrl-0 = <&max8997_irq>, <&otg_gp>, <&usb_sel>;
485f126890aSEmmanuel Vadot		pinctrl-names = "default";
486f126890aSEmmanuel Vadot
487f126890aSEmmanuel Vadot		charger-supply = <&charger_reg>;
488f126890aSEmmanuel Vadot
489f126890aSEmmanuel Vadot		regulators {
490f126890aSEmmanuel Vadot			vadc_reg: LDO1 {
491f126890aSEmmanuel Vadot				regulator-name = "VADC_3.3V_C210";
492f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
493f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
494f126890aSEmmanuel Vadot				regulator-always-on;
495f126890aSEmmanuel Vadot
496f126890aSEmmanuel Vadot			};
497f126890aSEmmanuel Vadot			valive_reg: LDO2 {
498f126890aSEmmanuel Vadot				regulator-name = "VALIVE_1.1V_C210";
499f126890aSEmmanuel Vadot				regulator-min-microvolt = <1100000>;
500f126890aSEmmanuel Vadot				regulator-max-microvolt = <1100000>;
501f126890aSEmmanuel Vadot				regulator-always-on;
502f126890aSEmmanuel Vadot
503f126890aSEmmanuel Vadot			};
504f126890aSEmmanuel Vadot
505f126890aSEmmanuel Vadot			vusb_reg: LDO3 {
506f126890aSEmmanuel Vadot				regulator-name = "VUSB_1.1V_C210";
507f126890aSEmmanuel Vadot				regulator-min-microvolt = <1100000>;
508f126890aSEmmanuel Vadot				regulator-max-microvolt = <1100000>;
509f126890aSEmmanuel Vadot			};
510f126890aSEmmanuel Vadot
511f126890aSEmmanuel Vadot			vmipi_reg: LDO4 {
512f126890aSEmmanuel Vadot				regulator-name = "VMIPI_1.8V";
513f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
514f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
515f126890aSEmmanuel Vadot				regulator-always-on;
516f126890aSEmmanuel Vadot			};
517f126890aSEmmanuel Vadot
518f126890aSEmmanuel Vadot			vhsic_reg: LDO5 {
519f126890aSEmmanuel Vadot				regulator-name = "VHSIC_1.2V";
520f126890aSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
521f126890aSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
522f126890aSEmmanuel Vadot				regulator-always-on;
523f126890aSEmmanuel Vadot			};
524f126890aSEmmanuel Vadot
525f126890aSEmmanuel Vadot			vpda_reg: LDO6 {
526f126890aSEmmanuel Vadot				regulator-name = "VCC_1.8V_PDA";
527f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
528f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
529f126890aSEmmanuel Vadot				regulator-always-on;
530f126890aSEmmanuel Vadot			};
531f126890aSEmmanuel Vadot
532f126890aSEmmanuel Vadot			vcam_reg: LDO7 {
533f126890aSEmmanuel Vadot				regulator-name = "CAM_ISP_1.8V";
534f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
535f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
536f126890aSEmmanuel Vadot			};
537f126890aSEmmanuel Vadot
538f126890aSEmmanuel Vadot			vusbdac_reg: LDO8 {
539f126890aSEmmanuel Vadot				regulator-name = "VUSB+VDAC_3.3V_C210";
540f126890aSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
541f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
542f126890aSEmmanuel Vadot			};
543f126890aSEmmanuel Vadot
544f126890aSEmmanuel Vadot			vccpda_reg: LDO9 {
545f126890aSEmmanuel Vadot				regulator-name = "VCC_2.8V_PDA";
546f126890aSEmmanuel Vadot				regulator-min-microvolt = <2800000>;
547f126890aSEmmanuel Vadot				regulator-max-microvolt = <2800000>;
548f126890aSEmmanuel Vadot				regulator-always-on;
549f126890aSEmmanuel Vadot			};
550f126890aSEmmanuel Vadot
551f126890aSEmmanuel Vadot			vtouch_reg: LDO11 {
552f126890aSEmmanuel Vadot				regulator-name = "TOUCH_2.8V";
553f126890aSEmmanuel Vadot				regulator-min-microvolt = <2800000>;
554f126890aSEmmanuel Vadot				regulator-max-microvolt = <2800000>;
555f126890aSEmmanuel Vadot			};
556f126890aSEmmanuel Vadot
557f126890aSEmmanuel Vadot			vpll_reg: LDO10 {
558f126890aSEmmanuel Vadot				regulator-name = "VPLL_1.1V";
559f126890aSEmmanuel Vadot				regulator-min-microvolt = <1100000>;
560f126890aSEmmanuel Vadot				regulator-max-microvolt = <1100000>;
561f126890aSEmmanuel Vadot				regulator-always-on;
562f126890aSEmmanuel Vadot			};
563f126890aSEmmanuel Vadot
564f126890aSEmmanuel Vadot			vtcam_reg: LDO12 {
565f126890aSEmmanuel Vadot				regulator-name = "VT_CAM_1.8V";
566f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
567f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
568*8d13bc63SEmmanuel Vadot
569*8d13bc63SEmmanuel Vadot				/*
570*8d13bc63SEmmanuel Vadot				 * Force-enable this regulator; otherwise the
571*8d13bc63SEmmanuel Vadot				 * kernel hangs very early in the boot process
572*8d13bc63SEmmanuel Vadot				 * for about 12 seconds, without apparent
573*8d13bc63SEmmanuel Vadot				 * reason.
574*8d13bc63SEmmanuel Vadot				 */
575*8d13bc63SEmmanuel Vadot				regulator-always-on;
576f126890aSEmmanuel Vadot			};
577f126890aSEmmanuel Vadot
578f126890aSEmmanuel Vadot			vcclcd_reg: LDO13 {
579f126890aSEmmanuel Vadot				regulator-name = "VCC_3.0V_LCD";
580f126890aSEmmanuel Vadot				regulator-min-microvolt = <3000000>;
581f126890aSEmmanuel Vadot				regulator-max-microvolt = <3000000>;
582f126890aSEmmanuel Vadot			};
583f126890aSEmmanuel Vadot
584f126890aSEmmanuel Vadot			vmotor_reg: LDO14 {
585f126890aSEmmanuel Vadot				regulator-name = "VCC_2.8V_MOTOR";
586f126890aSEmmanuel Vadot				regulator-min-microvolt = <2800000>;
587f126890aSEmmanuel Vadot				regulator-max-microvolt = <2800000>;
588f126890aSEmmanuel Vadot			};
589f126890aSEmmanuel Vadot
590f126890aSEmmanuel Vadot			vled_reg: LDO15 {
591f126890aSEmmanuel Vadot				regulator-name = "LED_A_2.8V";
592f126890aSEmmanuel Vadot				regulator-min-microvolt = <2800000>;
593f126890aSEmmanuel Vadot				regulator-max-microvolt = <2800000>;
594f126890aSEmmanuel Vadot			};
595f126890aSEmmanuel Vadot
596f126890aSEmmanuel Vadot			camsensor_reg: LDO16 {
597f126890aSEmmanuel Vadot				regulator-name = "CAM_SENSOR_IO_1.8V";
598f126890aSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
599f126890aSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
600f126890aSEmmanuel Vadot			};
601f126890aSEmmanuel Vadot
602f126890aSEmmanuel Vadot			vtf_reg: LDO17 {
603f126890aSEmmanuel Vadot				regulator-name = "VTF_2.8V";
604f126890aSEmmanuel Vadot				regulator-min-microvolt = <2800000>;
605f126890aSEmmanuel Vadot				regulator-max-microvolt = <2800000>;
606f126890aSEmmanuel Vadot			};
607f126890aSEmmanuel Vadot
608f126890aSEmmanuel Vadot			vtouchled_reg: LDO18 {
609f126890aSEmmanuel Vadot				regulator-name = "TOUCH_LED_3.3V";
610f126890aSEmmanuel Vadot				regulator-min-microvolt = <2500000>;
611f126890aSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
612f126890aSEmmanuel Vadot			};
613f126890aSEmmanuel Vadot
614f126890aSEmmanuel Vadot			vddq_reg: LDO21 {
615f126890aSEmmanuel Vadot				regulator-name = "VDDQ_M1M2_1.2V";
616f126890aSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
617f126890aSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
618f126890aSEmmanuel Vadot				regulator-always-on;
619f126890aSEmmanuel Vadot			};
620f126890aSEmmanuel Vadot
621f126890aSEmmanuel Vadot			varm_breg: BUCK1 {
622f126890aSEmmanuel Vadot				regulator-name = "VARM_1.2V_C210";
623f126890aSEmmanuel Vadot				regulator-min-microvolt = <65000>;
624f126890aSEmmanuel Vadot				regulator-max-microvolt = <2225000>;
625f126890aSEmmanuel Vadot				regulator-always-on;
626f126890aSEmmanuel Vadot			};
627f126890aSEmmanuel Vadot
628f126890aSEmmanuel Vadot			vint_breg: BUCK2 {
629f126890aSEmmanuel Vadot				regulator-name = "VINT_1.1V_C210";
630f126890aSEmmanuel Vadot				regulator-min-microvolt = <65000>;
631f126890aSEmmanuel Vadot				regulator-max-microvolt = <2225000>;
632f126890aSEmmanuel Vadot				regulator-always-on;
633f126890aSEmmanuel Vadot			};
634f126890aSEmmanuel Vadot
635f126890aSEmmanuel Vadot			vg3d_breg: BUCK3 {
636f126890aSEmmanuel Vadot				regulator-name = "G3D_1.1V";
637f126890aSEmmanuel Vadot				regulator-min-microvolt = <900000>;
638f126890aSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
639f126890aSEmmanuel Vadot				regulator-microvolt-offset = <50000>;
640f126890aSEmmanuel Vadot				regulator-always-on;
641f126890aSEmmanuel Vadot			};
642f126890aSEmmanuel Vadot
643f126890aSEmmanuel Vadot			camisp_breg: BUCK4 {
644f126890aSEmmanuel Vadot				regulator-name = "CAM_ISP_CORE_1.2V";
645f126890aSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
646f126890aSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
647f126890aSEmmanuel Vadot			};
648f126890aSEmmanuel Vadot
649f126890aSEmmanuel Vadot			vmem_breg: BUCK5 {
650f126890aSEmmanuel Vadot				regulator-name = "VMEM_1.2V";
651f126890aSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
652f126890aSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
653f126890aSEmmanuel Vadot				regulator-always-on;
654f126890aSEmmanuel Vadot			};
655f126890aSEmmanuel Vadot
656f126890aSEmmanuel Vadot			vccsub_breg: BUCK7 {
657f126890aSEmmanuel Vadot				regulator-name = "VCC_SUB_2.0V";
658f126890aSEmmanuel Vadot				regulator-min-microvolt = <2000000>;
659f126890aSEmmanuel Vadot				regulator-max-microvolt = <2000000>;
660f126890aSEmmanuel Vadot				regulator-always-on;
661f126890aSEmmanuel Vadot			};
662f126890aSEmmanuel Vadot
663f126890aSEmmanuel Vadot			safe1_sreg: ESAFEOUT1 {
664f126890aSEmmanuel Vadot				regulator-name = "SAFEOUT1";
665f126890aSEmmanuel Vadot			};
666f126890aSEmmanuel Vadot
667f126890aSEmmanuel Vadot			safe2_sreg: ESAFEOUT2 {
668f126890aSEmmanuel Vadot				regulator-name = "SAFEOUT2";
669f126890aSEmmanuel Vadot				regulator-boot-on;
670f126890aSEmmanuel Vadot			};
671f126890aSEmmanuel Vadot
672f126890aSEmmanuel Vadot			EN32KHZ_AP {
673f126890aSEmmanuel Vadot				regulator-name = "EN32KHZ_AP";
674f126890aSEmmanuel Vadot				regulator-always-on;
675f126890aSEmmanuel Vadot			};
676f126890aSEmmanuel Vadot
677f126890aSEmmanuel Vadot			EN32KHZ_CP {
678f126890aSEmmanuel Vadot				regulator-name = "EN32KHZ_CP";
679f126890aSEmmanuel Vadot				regulator-always-on;
680f126890aSEmmanuel Vadot			};
681f126890aSEmmanuel Vadot
682f126890aSEmmanuel Vadot			charger_reg: CHARGER {
683f126890aSEmmanuel Vadot				regulator-name = "CHARGER";
684f126890aSEmmanuel Vadot				regulator-min-microamp = <200000>;
685f126890aSEmmanuel Vadot				regulator-max-microamp = <950000>;
686f126890aSEmmanuel Vadot			};
687f126890aSEmmanuel Vadot
688f126890aSEmmanuel Vadot			chargercv_reg: CHARGER_CV {
689f126890aSEmmanuel Vadot				regulator-name = "CHARGER_CV";
690f126890aSEmmanuel Vadot				regulator-min-microvolt = <4200000>;
691f126890aSEmmanuel Vadot				regulator-max-microvolt = <4200000>;
692f126890aSEmmanuel Vadot				regulator-always-on;
693f126890aSEmmanuel Vadot			};
694f126890aSEmmanuel Vadot
695f126890aSEmmanuel Vadot			CHARGER_TOPOFF {
696f126890aSEmmanuel Vadot				regulator-name = "CHARGER_TOPOFF";
697f126890aSEmmanuel Vadot				regulator-min-microamp = <200000>;
698f126890aSEmmanuel Vadot				regulator-max-microamp = <200000>;
699f126890aSEmmanuel Vadot				regulator-always-on;
700f126890aSEmmanuel Vadot			};
701f126890aSEmmanuel Vadot		};
702f126890aSEmmanuel Vadot	};
703f126890aSEmmanuel Vadot};
704f126890aSEmmanuel Vadot
705f126890aSEmmanuel Vadot&i2c_7 {
706f126890aSEmmanuel Vadot	status = "okay";
707f126890aSEmmanuel Vadot
708f126890aSEmmanuel Vadot	samsung,i2c-sda-delay = <100>;
709f126890aSEmmanuel Vadot	samsung,i2c-slave-addr = <0x10>;
710f126890aSEmmanuel Vadot	samsung,i2c-max-bus-freq = <400000>;
711f126890aSEmmanuel Vadot
712f126890aSEmmanuel Vadot	pinctrl-0 = <&i2c7_bus>;
713f126890aSEmmanuel Vadot	pinctrl-names = "default";
714f126890aSEmmanuel Vadot
715f126890aSEmmanuel Vadot	magnetometer@c {
716f126890aSEmmanuel Vadot		compatible = "asahi-kasei,ak8975";
717f126890aSEmmanuel Vadot		reg = <0x0c>;
718f126890aSEmmanuel Vadot
719f126890aSEmmanuel Vadot		gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
720f126890aSEmmanuel Vadot	};
721f126890aSEmmanuel Vadot};
722f126890aSEmmanuel Vadot
723f126890aSEmmanuel Vadot&pinctrl_0 {
724f126890aSEmmanuel Vadot	pinctrl-names = "default";
725f126890aSEmmanuel Vadot	pinctrl-0 = <&sleep0>;
726f126890aSEmmanuel Vadot
727f126890aSEmmanuel Vadot	sleep0: sleep-state {
728f126890aSEmmanuel Vadot		gpa0-0-pin {
729f126890aSEmmanuel Vadot			samsung,pins = "gpa0-0";
730f126890aSEmmanuel Vadot			samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
731f126890aSEmmanuel Vadot			samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
732f126890aSEmmanuel Vadot		};
733f126890aSEmmanuel Vadot
734f126890aSEmmanuel Vadot		gpa0-1-pin {
735f126890aSEmmanuel Vadot			samsung,pins = "gpa0-1";
736f126890aSEmmanuel Vadot			samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>;
737f126890aSEmmanuel Vadot			samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
738f126890aSEmmanuel Vadot		};
739f126890aSEmmanuel Vadot
740f126890aSEmmanuel Vadot		gpa0-2-pin {
741f126890aSEmmanuel Vadot			samsung,pins = "gpa0-2";
742f126890aSEmmanuel Vadot			samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
743f126890aSEmmanuel Vadot			samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
744f126890aSEmmanuel Vadot		};
745f126890aSEmmanuel Vadot
746f126890aSEmmanuel Vadot		gpa0-3-pin {
747f126890aSEmmanuel Vadot			samsung,pins = "gpa0-3";
748f126890aSEmmanuel Vadot			samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT1>;
749f126890aSEmmanuel Vadot			samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
750f126890aSEmmanuel Vadot		};
751f126890aSEmmanuel Vadot	};
752f126890aSEmmanuel Vadot};
753f126890aSEmmanuel Vadot
754f126890aSEmmanuel Vadot&pinctrl_1 {
755f126890aSEmmanuel Vadot	mhl_int: mhl-int-pins {
756f126890aSEmmanuel Vadot		samsung,pins = "gpf3-5";
757f126890aSEmmanuel Vadot		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
758f126890aSEmmanuel Vadot	};
759f126890aSEmmanuel Vadot
760f126890aSEmmanuel Vadot	i2c_mhl_bus: i2c-mhl-bus-pins {
761f126890aSEmmanuel Vadot		samsung,pins = "gpf0-4", "gpf0-6";
762f126890aSEmmanuel Vadot		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
763f126890aSEmmanuel Vadot		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
764f126890aSEmmanuel Vadot		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
765f126890aSEmmanuel Vadot	};
766f126890aSEmmanuel Vadot
767f126890aSEmmanuel Vadot	usb_sel: usb-sel-pins {
768f126890aSEmmanuel Vadot		samsung,pins = "gpl0-6";
769f126890aSEmmanuel Vadot		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
770f126890aSEmmanuel Vadot		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
771f126890aSEmmanuel Vadot		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
772f126890aSEmmanuel Vadot		samsung,pin-val = <0>;
773f126890aSEmmanuel Vadot	};
774f126890aSEmmanuel Vadot
775f126890aSEmmanuel Vadot	bt_en: bt-en-pins {
776f126890aSEmmanuel Vadot		samsung,pins = "gpl0-4";
777f126890aSEmmanuel Vadot		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
778f126890aSEmmanuel Vadot		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
779f126890aSEmmanuel Vadot		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
780f126890aSEmmanuel Vadot		samsung,pin-val = <0>;
781f126890aSEmmanuel Vadot	};
782f126890aSEmmanuel Vadot
783f126890aSEmmanuel Vadot	bt_res: bt-res-pins {
784f126890aSEmmanuel Vadot		samsung,pins = "gpl1-0";
785f126890aSEmmanuel Vadot		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
786f126890aSEmmanuel Vadot		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
787f126890aSEmmanuel Vadot		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
788f126890aSEmmanuel Vadot		samsung,pin-val = <0>;
789f126890aSEmmanuel Vadot	};
790f126890aSEmmanuel Vadot
791f126890aSEmmanuel Vadot	otg_gp: otg-gp-pins {
792f126890aSEmmanuel Vadot		samsung,pins = "gpx3-3";
793f126890aSEmmanuel Vadot		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
794f126890aSEmmanuel Vadot		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
795f126890aSEmmanuel Vadot		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
796f126890aSEmmanuel Vadot		samsung,pin-val = <0>;
797f126890aSEmmanuel Vadot	};
798f126890aSEmmanuel Vadot
799f126890aSEmmanuel Vadot	mag_mhl_gpio: mag-mhl-pins {
800f126890aSEmmanuel Vadot		samsung,pins = "gpd0-2";
801f126890aSEmmanuel Vadot		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
802f126890aSEmmanuel Vadot		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
803f126890aSEmmanuel Vadot	};
804f126890aSEmmanuel Vadot
805f126890aSEmmanuel Vadot	max8997_irq: max8997-irq-pins {
806f126890aSEmmanuel Vadot		samsung,pins = "gpx0-7";
807f126890aSEmmanuel Vadot		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
808f126890aSEmmanuel Vadot	};
809f126890aSEmmanuel Vadot
810f126890aSEmmanuel Vadot	max17042_fuel_irq: max17042-fuel-irq-pins {
811f126890aSEmmanuel Vadot		samsung,pins = "gpx2-3";
812f126890aSEmmanuel Vadot		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
813f126890aSEmmanuel Vadot	};
814f126890aSEmmanuel Vadot
815f126890aSEmmanuel Vadot	tsp224_irq: tsp224-irq-pins {
816f126890aSEmmanuel Vadot		samsung,pins = "gpx0-4";
817f126890aSEmmanuel Vadot		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
818f126890aSEmmanuel Vadot	};
819f126890aSEmmanuel Vadot};
820f126890aSEmmanuel Vadot
821f126890aSEmmanuel Vadot&rtc {
822f126890aSEmmanuel Vadot	status = "okay";
823f126890aSEmmanuel Vadot	clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
824f126890aSEmmanuel Vadot	clock-names = "rtc", "rtc_src";
825f126890aSEmmanuel Vadot};
826f126890aSEmmanuel Vadot
827f126890aSEmmanuel Vadot&sdhci_0 {
828f126890aSEmmanuel Vadot	status = "okay";
829f126890aSEmmanuel Vadot
830f126890aSEmmanuel Vadot	bus-width = <8>;
831f126890aSEmmanuel Vadot	non-removable;
832f126890aSEmmanuel Vadot	vmmc-supply = <&vemmc_reg>;
833f126890aSEmmanuel Vadot
834f126890aSEmmanuel Vadot	pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_bus8>;
835f126890aSEmmanuel Vadot	pinctrl-names = "default";
836f126890aSEmmanuel Vadot};
837f126890aSEmmanuel Vadot
838f126890aSEmmanuel Vadot&sdhci_2 {
839f126890aSEmmanuel Vadot	status = "okay";
840f126890aSEmmanuel Vadot
841f126890aSEmmanuel Vadot	bus-width = <4>;
842f126890aSEmmanuel Vadot	cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
843f126890aSEmmanuel Vadot	vmmc-supply = <&vtf_reg>;
844f126890aSEmmanuel Vadot
845f126890aSEmmanuel Vadot	pinctrl-0 = <&sd2_clk>, <&sd2_cmd>, <&sd2_bus4>;
846f126890aSEmmanuel Vadot	pinctrl-names = "default";
847f126890aSEmmanuel Vadot};
848f126890aSEmmanuel Vadot
849f126890aSEmmanuel Vadot&sdhci_3 {
850f126890aSEmmanuel Vadot	status = "okay";
851f126890aSEmmanuel Vadot
852f126890aSEmmanuel Vadot	#address-cells = <1>;
853f126890aSEmmanuel Vadot	#size-cells = <0>;
854f126890aSEmmanuel Vadot
855f126890aSEmmanuel Vadot	non-removable;
856f126890aSEmmanuel Vadot	bus-width = <4>;
857f126890aSEmmanuel Vadot	mmc-pwrseq = <&wlan_pwrseq>;
858f126890aSEmmanuel Vadot	vmmc-supply = <&vtf_reg>;
859f126890aSEmmanuel Vadot
860f126890aSEmmanuel Vadot	pinctrl-names = "default";
861f126890aSEmmanuel Vadot	pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
862f126890aSEmmanuel Vadot
863f126890aSEmmanuel Vadot	brcmf: wifi@1 {
864f126890aSEmmanuel Vadot		compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
865f126890aSEmmanuel Vadot		reg = <1>;
866f126890aSEmmanuel Vadot
867f126890aSEmmanuel Vadot		interrupt-parent = <&gpx2>;
868f126890aSEmmanuel Vadot		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
869f126890aSEmmanuel Vadot		interrupt-names = "host-wake";
870f126890aSEmmanuel Vadot	};
871f126890aSEmmanuel Vadot};
872f126890aSEmmanuel Vadot
873f126890aSEmmanuel Vadot&serial_0 {
874f126890aSEmmanuel Vadot	status = "okay";
875f126890aSEmmanuel Vadot
876f126890aSEmmanuel Vadot	pinctrl-names = "default";
877f126890aSEmmanuel Vadot	pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
878f126890aSEmmanuel Vadot
879f126890aSEmmanuel Vadot	bluetooth {
880f126890aSEmmanuel Vadot		compatible = "brcm,bcm4330-bt";
881f126890aSEmmanuel Vadot
882f126890aSEmmanuel Vadot		shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>;
883f126890aSEmmanuel Vadot		reset-gpios = <&gpl1 0 GPIO_ACTIVE_LOW>;
884f126890aSEmmanuel Vadot		device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
885f126890aSEmmanuel Vadot
886f126890aSEmmanuel Vadot		interrupt-parent = <&gpx2>;
887f126890aSEmmanuel Vadot		interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
888f126890aSEmmanuel Vadot		interrupt-names = "host-wakeup";
889f126890aSEmmanuel Vadot	};
890f126890aSEmmanuel Vadot};
891f126890aSEmmanuel Vadot
892f126890aSEmmanuel Vadot&serial_1 {
893f126890aSEmmanuel Vadot	status = "okay";
894f126890aSEmmanuel Vadot};
895f126890aSEmmanuel Vadot
896f126890aSEmmanuel Vadot&serial_2 {
897f126890aSEmmanuel Vadot	status = "okay";
898f126890aSEmmanuel Vadot};
899f126890aSEmmanuel Vadot
900f126890aSEmmanuel Vadot&serial_3 {
901f126890aSEmmanuel Vadot	status = "okay";
902f126890aSEmmanuel Vadot};
903f126890aSEmmanuel Vadot
904f126890aSEmmanuel Vadot&tmu {
905f126890aSEmmanuel Vadot	status = "okay";
906f126890aSEmmanuel Vadot};
907