Merge branch 'for-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
[linux-2.6-microblaze.git] / arch / arm / boot / dts / exynos4412-galaxy-s3.dtsi
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         led-controller {
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
62                 magnetometer@c {
63                         compatible = "asahi-kasei,ak8975";
64                         reg = <0x0c>;
65                         gpios = <&gpj0 7 GPIO_ACTIVE_HIGH>;
66                 };
67         };
68
69         i2c_cm36651: i2c-gpio-2 {
70                 compatible = "i2c-gpio";
71                 sda-gpios = <&gpf0 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
72                 scl-gpios = <&gpf0 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
73                 i2c-gpio,delay-us = <2>;
74                 #address-cells = <1>;
75                 #size-cells = <0>;
76
77                 light-sensor@18 {
78                         compatible = "capella,cm36651";
79                         reg = <0x18>;
80                         interrupt-parent = <&gpx0>;
81                         interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
82                         vled-supply = <&ps_als_reg>;
83                 };
84         };
85 };
86
87 &buck9_reg {
88         maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
89 };
90
91 &cam_af_reg {
92         gpio = <&gpm0 4 GPIO_ACTIVE_HIGH>;
93         status = "okay";
94 };
95
96 &cam_io_reg {
97         gpio = <&gpm0 2 GPIO_ACTIVE_HIGH>;
98         status = "okay";
99 };
100
101 &dsi_0 {
102         status = "okay";
103
104         panel@0 {
105                 compatible = "samsung,s6e8aa0";
106                 reg = <0>;
107                 vdd3-supply = <&lcd_vdd3_reg>;
108                 vci-supply = <&ldo25_reg>;
109                 reset-gpios = <&gpf2 1 GPIO_ACTIVE_HIGH>;
110                 power-on-delay= <50>;
111                 reset-delay = <100>;
112                 init-delay = <100>;
113                 flip-horizontal;
114                 flip-vertical;
115                 panel-width-mm = <58>;
116                 panel-height-mm = <103>;
117
118                 display-timings {
119                         timing-0 {
120                                 clock-frequency = <57153600>;
121                                 hactive = <720>;
122                                 vactive = <1280>;
123                                 hfront-porch = <5>;
124                                 hback-porch = <5>;
125                                 hsync-len = <5>;
126                                 vfront-porch = <13>;
127                                 vback-porch = <1>;
128                                 vsync-len = <2>;
129                         };
130                 };
131         };
132 };
133
134 &i2c_3 {
135         touchscreen@48 {
136                 compatible = "melfas,mms114";
137                 reg = <0x48>;
138                 interrupt-parent = <&gpm2>;
139                 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
140                 touchscreen-size-x = <720>;
141                 touchscreen-size-y = <1280>;
142                 avdd-supply = <&ldo23_reg>;
143                 vdd-supply = <&ldo24_reg>;
144         };
145 };
146
147 &ldo25_reg {
148         regulator-name = "LCD_VCC_3.3V";
149         regulator-min-microvolt = <2800000>;
150         regulator-max-microvolt = <2800000>;
151 };
152
153 &pinctrl_0 {
154         camera_flash_host: camera-flash-host {
155                 samsung,pins = "gpj1-0";
156                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
157                 samsung,pin-val = <0>;
158         };
159
160         camera_flash_isp: camera-flash-isp {
161                 samsung,pins = "gpj1-0";
162                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
163                 samsung,pin-val = <1>;
164         };
165 };
166
167 &s5c73m3 {
168         standby-gpios = <&gpm0 1 GPIO_ACTIVE_LOW>;   /* ISP_STANDBY */
169         vdda-supply = <&ldo17_reg>;
170         status = "okay";
171 };
172
173 &sound {
174         samsung,audio-routing =
175                 "HP", "HPOUT1L",
176                 "HP", "HPOUT1R",
177
178                 "SPK", "SPKOUTLN",
179                 "SPK", "SPKOUTLP",
180                 "SPK", "SPKOUTRN",
181                 "SPK", "SPKOUTRP",
182
183                 "RCV", "HPOUT2N",
184                 "RCV", "HPOUT2P",
185
186                 "HDMI", "LINEOUT1N",
187                 "HDMI", "LINEOUT1P",
188
189                 "LINE", "LINEOUT2N",
190                 "LINE", "LINEOUT2P",
191
192                 "IN1LP", "MICBIAS1",
193                 "IN1LN", "MICBIAS1",
194                 "Main Mic", "MICBIAS1",
195
196                 "IN1RP", "Sub Mic",
197                 "IN1RN", "Sub Mic",
198
199                 "IN2LP:VXRN", "MICBIAS2",
200                 "Headset Mic", "MICBIAS2",
201
202                 "IN2RN", "FM In",
203                 "IN2RP:VXRP", "FM In";
204 };
205
206 &submic_bias_reg {
207         gpio = <&gpf2 0 GPIO_ACTIVE_HIGH>;
208         enable-active-high;
209 };
210
211 &touchkey_reg {
212         gpio = <&gpm0 0 GPIO_ACTIVE_HIGH>;
213         status = "okay";
214 };