xref: /freebsd/sys/contrib/device-tree/src/arm/samsung/exynos4412-galaxy-s3.dtsi (revision a90b9d0159070121c221b966469c3e36d912bf82)
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 <dt-bindings/leds/common.h>
11#include "exynos4412-midas.dtsi"
12
13/ {
14	aliases {
15		i2c9 = &i2c_ak8975;
16		i2c10 = &i2c_cm36651;
17	};
18
19	led-controller {
20		compatible = "skyworks,aat1290";
21		flen-gpios = <&gpj1 1 GPIO_ACTIVE_HIGH>;
22		enset-gpios = <&gpj1 2 GPIO_ACTIVE_HIGH>;
23
24		pinctrl-names = "default", "host", "isp";
25		pinctrl-0 = <&camera_flash_host>;
26		pinctrl-1 = <&camera_flash_host>;
27		pinctrl-2 = <&camera_flash_isp>;
28
29		led {
30			function = LED_FUNCTION_FLASH;
31			color = <LED_COLOR_ID_WHITE>;
32			led-max-microamp = <520833>;
33			flash-max-microamp = <1012500>;
34			flash-max-timeout-us = <1940000>;
35		};
36	};
37
38	lcd_vdd3_reg: voltage-regulator-10 {
39		compatible = "regulator-fixed";
40		regulator-name = "LCD_VDD_2.2V";
41		regulator-min-microvolt = <2200000>;
42		regulator-max-microvolt = <2200000>;
43		gpio = <&gpc0 1 GPIO_ACTIVE_HIGH>;
44		enable-active-high;
45	};
46
47	ps_als_reg: voltage-regulator-11 {
48		compatible = "regulator-fixed";
49		regulator-name = "LED_A_3.0V";
50		regulator-min-microvolt = <3000000>;
51		regulator-max-microvolt = <3000000>;
52		gpio = <&gpj0 5 GPIO_ACTIVE_HIGH>;
53		enable-active-high;
54	};
55
56	i2c_ak8975: i2c-gpio-0 {
57		compatible = "i2c-gpio";
58		sda-gpios = <&gpy2 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
59		scl-gpios = <&gpy2 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
60		i2c-gpio,delay-us = <2>;
61		#address-cells = <1>;
62		#size-cells = <0>;
63
64		magnetometer@c {
65			compatible = "asahi-kasei,ak8975";
66			reg = <0x0c>;
67			gpios = <&gpj0 7 GPIO_ACTIVE_HIGH>;
68		};
69	};
70
71	i2c_cm36651: i2c-gpio-2 {
72		compatible = "i2c-gpio";
73		sda-gpios = <&gpf0 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
74		scl-gpios = <&gpf0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
75		i2c-gpio,delay-us = <2>;
76		#address-cells = <1>;
77		#size-cells = <0>;
78
79		light-sensor@18 {
80			compatible = "capella,cm36651";
81			reg = <0x18>;
82			interrupt-parent = <&gpx0>;
83			interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
84			vled-supply = <&ps_als_reg>;
85		};
86	};
87};
88
89&buck9_reg {
90	maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
91};
92
93&cam_af_reg {
94	gpio = <&gpm0 4 GPIO_ACTIVE_HIGH>;
95	status = "okay";
96};
97
98&cam_io_reg {
99	gpio = <&gpm0 2 GPIO_ACTIVE_HIGH>;
100	status = "okay";
101};
102
103&dsi_0 {
104	status = "okay";
105
106	panel@0 {
107		compatible = "samsung,s6e8aa0";
108		reg = <0>;
109		vdd3-supply = <&lcd_vdd3_reg>;
110		vci-supply = <&ldo25_reg>;
111		reset-gpios = <&gpf2 1 GPIO_ACTIVE_HIGH>;
112		power-on-delay = <50>;
113		reset-delay = <100>;
114		init-delay = <100>;
115		flip-horizontal;
116		flip-vertical;
117		panel-width-mm = <58>;
118		panel-height-mm = <103>;
119
120		display-timings {
121			timing-0 {
122				clock-frequency = <57153600>;
123				hactive = <720>;
124				vactive = <1280>;
125				hfront-porch = <5>;
126				hback-porch = <5>;
127				hsync-len = <5>;
128				vfront-porch = <13>;
129				vback-porch = <1>;
130				vsync-len = <2>;
131			};
132		};
133	};
134};
135
136&i2c_3 {
137	touchscreen@48 {
138		compatible = "melfas,mms114";
139		reg = <0x48>;
140		interrupt-parent = <&gpm2>;
141		interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
142		touchscreen-size-x = <720>;
143		touchscreen-size-y = <1280>;
144		avdd-supply = <&ldo23_reg>;
145		vdd-supply = <&ldo24_reg>;
146	};
147};
148
149&ldo25_reg {
150	regulator-name = "LCD_VCC_3.3V";
151	regulator-min-microvolt = <2800000>;
152	regulator-max-microvolt = <2800000>;
153};
154
155&pinctrl_0 {
156	camera_flash_host: camera-flash-host-pins {
157		samsung,pins = "gpj1-0";
158		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
159		samsung,pin-val = <0>;
160	};
161
162	camera_flash_isp: camera-flash-isp-pins {
163		samsung,pins = "gpj1-0";
164		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
165		samsung,pin-val = <1>;
166	};
167};
168
169&s5c73m3 {
170	standby-gpios = <&gpm0 1 GPIO_ACTIVE_LOW>;   /* ISP_STANDBY */
171	vdda-supply = <&ldo17_reg>;
172	status = "okay";
173};
174
175&sound {
176	audio-routing = "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