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