1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Samsung's Exynos4412 based Galaxy S3 board device tree source
4f126890aSEmmanuel Vadot *
5f126890aSEmmanuel Vadot * Copyright (c) 2013 Samsung Electronics Co., Ltd.
6f126890aSEmmanuel Vadot *		http://www.samsung.com
7f126890aSEmmanuel Vadot */
8f126890aSEmmanuel Vadot
9f126890aSEmmanuel Vadot/dts-v1/;
10f126890aSEmmanuel Vadot#include <dt-bindings/leds/common.h>
11f126890aSEmmanuel Vadot#include "exynos4412-midas.dtsi"
12f126890aSEmmanuel Vadot
13f126890aSEmmanuel Vadot/ {
14f126890aSEmmanuel Vadot	aliases {
15f126890aSEmmanuel Vadot		i2c9 = &i2c_ak8975;
16f126890aSEmmanuel Vadot		i2c10 = &i2c_cm36651;
17f126890aSEmmanuel Vadot	};
18f126890aSEmmanuel Vadot
19f126890aSEmmanuel Vadot	led-controller {
20f126890aSEmmanuel Vadot		compatible = "skyworks,aat1290";
21f126890aSEmmanuel Vadot		flen-gpios = <&gpj1 1 GPIO_ACTIVE_HIGH>;
22f126890aSEmmanuel Vadot		enset-gpios = <&gpj1 2 GPIO_ACTIVE_HIGH>;
23f126890aSEmmanuel Vadot
24f126890aSEmmanuel Vadot		pinctrl-names = "default", "host", "isp";
25f126890aSEmmanuel Vadot		pinctrl-0 = <&camera_flash_host>;
26f126890aSEmmanuel Vadot		pinctrl-1 = <&camera_flash_host>;
27f126890aSEmmanuel Vadot		pinctrl-2 = <&camera_flash_isp>;
28f126890aSEmmanuel Vadot
29f126890aSEmmanuel Vadot		led {
30f126890aSEmmanuel Vadot			function = LED_FUNCTION_FLASH;
31f126890aSEmmanuel Vadot			color = <LED_COLOR_ID_WHITE>;
32f126890aSEmmanuel Vadot			led-max-microamp = <520833>;
33f126890aSEmmanuel Vadot			flash-max-microamp = <1012500>;
34f126890aSEmmanuel Vadot			flash-max-timeout-us = <1940000>;
35f126890aSEmmanuel Vadot		};
36f126890aSEmmanuel Vadot	};
37f126890aSEmmanuel Vadot
38f126890aSEmmanuel Vadot	lcd_vdd3_reg: voltage-regulator-10 {
39f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
40f126890aSEmmanuel Vadot		regulator-name = "LCD_VDD_2.2V";
41f126890aSEmmanuel Vadot		regulator-min-microvolt = <2200000>;
42f126890aSEmmanuel Vadot		regulator-max-microvolt = <2200000>;
43f126890aSEmmanuel Vadot		gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;
44f126890aSEmmanuel Vadot		enable-active-high;
45f126890aSEmmanuel Vadot	};
46f126890aSEmmanuel Vadot
47f126890aSEmmanuel Vadot	ps_als_reg: voltage-regulator-11 {
48f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
49f126890aSEmmanuel Vadot		regulator-name = "LED_A_3.0V";
50f126890aSEmmanuel Vadot		regulator-min-microvolt = <3000000>;
51f126890aSEmmanuel Vadot		regulator-max-microvolt = <3000000>;
52f126890aSEmmanuel Vadot		gpio = <&gpj0 5 GPIO_ACTIVE_HIGH>;
53f126890aSEmmanuel Vadot		enable-active-high;
54f126890aSEmmanuel Vadot	};
55f126890aSEmmanuel Vadot
56f126890aSEmmanuel Vadot	i2c_ak8975: i2c-gpio-0 {
57f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
58f126890aSEmmanuel Vadot		sda-gpios = <&gpy2 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
59f126890aSEmmanuel Vadot		scl-gpios = <&gpy2 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
60f126890aSEmmanuel Vadot		i2c-gpio,delay-us = <2>;
61f126890aSEmmanuel Vadot		#address-cells = <1>;
62f126890aSEmmanuel Vadot		#size-cells = <0>;
63f126890aSEmmanuel Vadot
64f126890aSEmmanuel Vadot		magnetometer@c {
65f126890aSEmmanuel Vadot			compatible = "asahi-kasei,ak8975";
66f126890aSEmmanuel Vadot			reg = <0x0c>;
67f126890aSEmmanuel Vadot			gpios = <&gpj0 7 GPIO_ACTIVE_HIGH>;
68f126890aSEmmanuel Vadot		};
69f126890aSEmmanuel Vadot	};
70f126890aSEmmanuel Vadot
71f126890aSEmmanuel Vadot	i2c_cm36651: i2c-gpio-2 {
72f126890aSEmmanuel Vadot		compatible = "i2c-gpio";
73f126890aSEmmanuel Vadot		sda-gpios = <&gpf0 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
74f126890aSEmmanuel Vadot		scl-gpios = <&gpf0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
75f126890aSEmmanuel Vadot		i2c-gpio,delay-us = <2>;
76f126890aSEmmanuel Vadot		#address-cells = <1>;
77f126890aSEmmanuel Vadot		#size-cells = <0>;
78f126890aSEmmanuel Vadot
79f126890aSEmmanuel Vadot		light-sensor@18 {
80f126890aSEmmanuel Vadot			compatible = "capella,cm36651";
81f126890aSEmmanuel Vadot			reg = <0x18>;
82f126890aSEmmanuel Vadot			interrupt-parent = <&gpx0>;
83f126890aSEmmanuel Vadot			interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
84f126890aSEmmanuel Vadot			vled-supply = <&ps_als_reg>;
85f126890aSEmmanuel Vadot		};
86f126890aSEmmanuel Vadot	};
87f126890aSEmmanuel Vadot};
88f126890aSEmmanuel Vadot
89f126890aSEmmanuel Vadot&buck9_reg {
90f126890aSEmmanuel Vadot	maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
91f126890aSEmmanuel Vadot};
92f126890aSEmmanuel Vadot
93f126890aSEmmanuel Vadot&cam_af_reg {
94f126890aSEmmanuel Vadot	gpio = <&gpm0 4 GPIO_ACTIVE_HIGH>;
95f126890aSEmmanuel Vadot	status = "okay";
96f126890aSEmmanuel Vadot};
97f126890aSEmmanuel Vadot
98f126890aSEmmanuel Vadot&cam_io_reg {
99f126890aSEmmanuel Vadot	gpio = <&gpm0 2 GPIO_ACTIVE_HIGH>;
100f126890aSEmmanuel Vadot	status = "okay";
101f126890aSEmmanuel Vadot};
102f126890aSEmmanuel Vadot
103f126890aSEmmanuel Vadot&dsi_0 {
104f126890aSEmmanuel Vadot	status = "okay";
105f126890aSEmmanuel Vadot
106f126890aSEmmanuel Vadot	panel@0 {
107f126890aSEmmanuel Vadot		compatible = "samsung,s6e8aa0";
108f126890aSEmmanuel Vadot		reg = <0>;
109f126890aSEmmanuel Vadot		vdd3-supply = <&lcd_vdd3_reg>;
110f126890aSEmmanuel Vadot		vci-supply = <&ldo25_reg>;
111f126890aSEmmanuel Vadot		reset-gpios = <&gpf2 1 GPIO_ACTIVE_HIGH>;
112f126890aSEmmanuel Vadot		power-on-delay = <50>;
113f126890aSEmmanuel Vadot		reset-delay = <100>;
114f126890aSEmmanuel Vadot		init-delay = <100>;
115f126890aSEmmanuel Vadot		flip-horizontal;
116f126890aSEmmanuel Vadot		flip-vertical;
117f126890aSEmmanuel Vadot		panel-width-mm = <58>;
118f126890aSEmmanuel Vadot		panel-height-mm = <103>;
119f126890aSEmmanuel Vadot
120f126890aSEmmanuel Vadot		display-timings {
121f126890aSEmmanuel Vadot			timing-0 {
122f126890aSEmmanuel Vadot				clock-frequency = <57153600>;
123f126890aSEmmanuel Vadot				hactive = <720>;
124f126890aSEmmanuel Vadot				vactive = <1280>;
125f126890aSEmmanuel Vadot				hfront-porch = <5>;
126f126890aSEmmanuel Vadot				hback-porch = <5>;
127f126890aSEmmanuel Vadot				hsync-len = <5>;
128f126890aSEmmanuel Vadot				vfront-porch = <13>;
129f126890aSEmmanuel Vadot				vback-porch = <1>;
130f126890aSEmmanuel Vadot				vsync-len = <2>;
131f126890aSEmmanuel Vadot			};
132f126890aSEmmanuel Vadot		};
133f126890aSEmmanuel Vadot	};
134f126890aSEmmanuel Vadot};
135f126890aSEmmanuel Vadot
136f126890aSEmmanuel Vadot&i2c_3 {
137f126890aSEmmanuel Vadot	touchscreen@48 {
138f126890aSEmmanuel Vadot		compatible = "melfas,mms114";
139f126890aSEmmanuel Vadot		reg = <0x48>;
140f126890aSEmmanuel Vadot		interrupt-parent = <&gpm2>;
141f126890aSEmmanuel Vadot		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
142f126890aSEmmanuel Vadot		touchscreen-size-x = <720>;
143f126890aSEmmanuel Vadot		touchscreen-size-y = <1280>;
144f126890aSEmmanuel Vadot		avdd-supply = <&ldo23_reg>;
145f126890aSEmmanuel Vadot		vdd-supply = <&ldo24_reg>;
146f126890aSEmmanuel Vadot	};
147f126890aSEmmanuel Vadot};
148f126890aSEmmanuel Vadot
149f126890aSEmmanuel Vadot&ldo25_reg {
150f126890aSEmmanuel Vadot	regulator-name = "LCD_VCC_3.3V";
151f126890aSEmmanuel Vadot	regulator-min-microvolt = <2800000>;
152f126890aSEmmanuel Vadot	regulator-max-microvolt = <2800000>;
153f126890aSEmmanuel Vadot};
154f126890aSEmmanuel Vadot
155f126890aSEmmanuel Vadot&pinctrl_0 {
156f126890aSEmmanuel Vadot	camera_flash_host: camera-flash-host-pins {
157f126890aSEmmanuel Vadot		samsung,pins = "gpj1-0";
158f126890aSEmmanuel Vadot		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
159f126890aSEmmanuel Vadot		samsung,pin-val = <0>;
160f126890aSEmmanuel Vadot	};
161f126890aSEmmanuel Vadot
162f126890aSEmmanuel Vadot	camera_flash_isp: camera-flash-isp-pins {
163f126890aSEmmanuel Vadot		samsung,pins = "gpj1-0";
164f126890aSEmmanuel Vadot		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
165f126890aSEmmanuel Vadot		samsung,pin-val = <1>;
166f126890aSEmmanuel Vadot	};
167f126890aSEmmanuel Vadot};
168f126890aSEmmanuel Vadot
169f126890aSEmmanuel Vadot&s5c73m3 {
170f126890aSEmmanuel Vadot	standby-gpios = <&gpm0 1 GPIO_ACTIVE_LOW>;   /* ISP_STANDBY */
171f126890aSEmmanuel Vadot	vdda-supply = <&ldo17_reg>;
172f126890aSEmmanuel Vadot	status = "okay";
173f126890aSEmmanuel Vadot};
174f126890aSEmmanuel Vadot
175f126890aSEmmanuel Vadot&sound {
176*84943d6fSEmmanuel Vadot	audio-routing = "HP", "HPOUT1L",
177f126890aSEmmanuel Vadot			"HP", "HPOUT1R",
178f126890aSEmmanuel Vadot
179f126890aSEmmanuel Vadot			"SPK", "SPKOUTLN",
180f126890aSEmmanuel Vadot			"SPK", "SPKOUTLP",
181f126890aSEmmanuel Vadot			"SPK", "SPKOUTRN",
182f126890aSEmmanuel Vadot			"SPK", "SPKOUTRP",
183f126890aSEmmanuel Vadot
184f126890aSEmmanuel Vadot			"RCV", "HPOUT2N",
185f126890aSEmmanuel Vadot			"RCV", "HPOUT2P",
186f126890aSEmmanuel Vadot
187f126890aSEmmanuel Vadot			"HDMI", "LINEOUT1N",
188f126890aSEmmanuel Vadot			"HDMI", "LINEOUT1P",
189f126890aSEmmanuel Vadot
190f126890aSEmmanuel Vadot			"LINE", "LINEOUT2N",
191f126890aSEmmanuel Vadot			"LINE", "LINEOUT2P",
192f126890aSEmmanuel Vadot
193f126890aSEmmanuel Vadot			"IN1LP", "MICBIAS1",
194f126890aSEmmanuel Vadot			"IN1LN", "MICBIAS1",
195f126890aSEmmanuel Vadot			"Main Mic", "MICBIAS1",
196f126890aSEmmanuel Vadot
197f126890aSEmmanuel Vadot			"IN1RP", "Sub Mic",
198f126890aSEmmanuel Vadot			"IN1RN", "Sub Mic",
199f126890aSEmmanuel Vadot
200f126890aSEmmanuel Vadot			"IN2LP:VXRN", "MICBIAS2",
201f126890aSEmmanuel Vadot			"Headset Mic", "MICBIAS2",
202f126890aSEmmanuel Vadot
203f126890aSEmmanuel Vadot			"IN2RN", "FM In",
204f126890aSEmmanuel Vadot			"IN2RP:VXRP", "FM In";
205f126890aSEmmanuel Vadot};
206f126890aSEmmanuel Vadot
207f126890aSEmmanuel Vadot&submic_bias_reg {
208f126890aSEmmanuel Vadot	gpio = <&gpf2 0 GPIO_ACTIVE_HIGH>;
209f126890aSEmmanuel Vadot	enable-active-high;
210f126890aSEmmanuel Vadot};
211f126890aSEmmanuel Vadot
212f126890aSEmmanuel Vadot&touchkey_reg {
213f126890aSEmmanuel Vadot	gpio = <&gpm0 0 GPIO_ACTIVE_HIGH>;
214f126890aSEmmanuel Vadot	status = "okay";
215f126890aSEmmanuel Vadot};
216