Add and use a generic version of devmem_is_allowed()
[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         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 };