mm: fix exec activate_mm vs TLB shootdown and lazy tlb switching race
[linux/fpc-iii.git] / arch / arm / boot / dts / s5pv210-goni.dts
blobc56f51ee789750b349981efd643855b51ae9236c
1 /*
2  * Samsung's S5PV210 SoC device tree source
3  *
4  * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.
5  *
6  * Mateusz Krawczuk <m.krawczuk@partner.samsung.com>
7  * Tomasz Figa <t.figa@samsung.com>
8  *
9  * Board device tree source for Samsung Goni board.
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License version 2 as
13  * published by the Free Software Foundation.
14  */
16 /dts-v1/;
17 #include <dt-bindings/input/input.h>
18 #include "s5pv210.dtsi"
20 / {
21         model = "Samsung Goni based on S5PC110";
22         compatible = "samsung,goni", "samsung,s5pv210";
24         aliases {
25                 i2c3 = &i2c_pmic;
26         };
28         chosen {
29                 bootargs = "console=ttySAC0,115200n8 root=/dev/mmcblk0p5 rw rootwait ignore_loglevel earlyprintk";
30         };
32         memory@30000000 {
33                 device_type = "memory";
34                 reg = <0x30000000 0x05000000
35                         0x40000000 0x10000000
36                         0x50000000 0x08000000>;
37         };
39         regulators {
40                 compatible = "simple-bus";
41                 #address-cells = <1>;
42                 #size-cells = <0>;
44                 vtf_reg: fixed-regulator@0 {
45                         compatible = "regulator-fixed";
46                         regulator-name = "V_TF_2.8V";
47                         regulator-min-microvolt = <2800000>;
48                         regulator-max-microvolt = <2800000>;
49                         reg = <0>;
50                         gpio = <&mp05 4 0>;
51                         enable-active-high;
52                 };
54                 pda_reg: fixed-regulator@1 {
55                         compatible = "regulator-fixed";
56                         regulator-name = "VCC_1.8V_PDA";
57                         regulator-min-microvolt = <1800000>;
58                         regulator-max-microvolt = <1800000>;
59                         reg = <1>;
60                 };
62                 bat_reg: fixed-regulator@2 {
63                         compatible = "regulator-fixed";
64                         regulator-name = "V_BAT";
65                         regulator-min-microvolt = <3700000>;
66                         regulator-max-microvolt = <3700000>;
67                         reg = <2>;
68                 };
70                 tsp_reg: fixed-regulator@3 {
71                         compatible = "regulator-fixed";
72                         regulator-name = "TSP_VDD";
73                         regulator-min-microvolt = <2800000>;
74                         regulator-max-microvolt = <2800000>;
75                         reg = <3>;
76                         gpio = <&gpj1 3 0>;
77                         enable-active-high;
78                 };
79         };
81         i2c_pmic: i2c-pmic {
82                 compatible = "i2c-gpio";
83                 gpios = <&gpj4 0 0>, /* sda */
84                         <&gpj4 3 0>; /* scl */
85                 i2c-gpio,delay-us = <2>;        /* ~100 kHz */
86                 #address-cells = <1>;
87                 #size-cells = <0>;
89                 pmic@66 {
90                         compatible = "national,lp3974";
91                         reg = <0x66>;
93                         max8998,pmic-buck1-default-dvs-idx = <0>;
94                         max8998,pmic-buck1-dvs-gpios = <&gph0 3 0>,
95                                                         <&gph0 4 0>;
96                         max8998,pmic-buck1-dvs-voltage = <1200000>, <1200000>,
97                                                         <1200000>, <1200000>;
99                         max8998,pmic-buck2-default-dvs-idx = <0>;
100                         max8998,pmic-buck2-dvs-gpio = <&gph0 5 0>;
101                         max8998,pmic-buck2-dvs-voltage = <1200000>, <1200000>;
103                         regulators {
104                                 ldo2_reg: LDO2 {
105                                         regulator-name = "VALIVE_1.1V";
106                                         regulator-min-microvolt = <1100000>;
107                                         regulator-max-microvolt = <1100000>;
108                                         regulator-always-on;
109                                 };
111                                 ldo3_reg: LDO3 {
112                                         regulator-name = "VUSB+MIPI_1.1V";
113                                         regulator-min-microvolt = <1100000>;
114                                         regulator-max-microvolt = <1100000>;
115                                         regulator-always-on;
116                                 };
118                                 ldo4_reg: LDO4 {
119                                         regulator-name = "VADC_3.3V";
120                                         regulator-min-microvolt = <3300000>;
121                                         regulator-max-microvolt = <3300000>;
122                                 };
124                                 ldo5_reg: LDO5 {
125                                         regulator-name = "VTF_2.8V";
126                                         regulator-min-microvolt = <2800000>;
127                                         regulator-max-microvolt = <2800000>;
128                                 };
130                                 ldo6_reg: LDO6 {
131                                         regulator-name = "VCC_3.3V";
132                                         regulator-min-microvolt = <3300000>;
133                                         regulator-max-microvolt = <3300000>;
134                                 };
136                                 ldo7_reg: LDO7 {
137                                         regulator-name = "VLCD_1.8V";
138                                         regulator-min-microvolt = <1800000>;
139                                         regulator-max-microvolt = <1800000>;
140                                         regulator-always-on;
141                                 };
143                                 ldo8_reg: LDO8 {
144                                         regulator-name = "VUSB+VDAC_3.3V";
145                                         regulator-min-microvolt = <3300000>;
146                                         regulator-max-microvolt = <3300000>;
147                                 };
149                                 ldo9_reg: LDO9 {
150                                         regulator-name = "VCC+VCAM_2.8V";
151                                         regulator-min-microvolt = <2800000>;
152                                         regulator-max-microvolt = <2800000>;
153                                 };
155                                 ldo10_reg: LDO10 {
156                                         regulator-name = "VPLL_1.1V";
157                                         regulator-min-microvolt = <1100000>;
158                                         regulator-max-microvolt = <1100000>;
159                                         regulator-boot-on;
160                                 };
162                                 ldo11_reg: LDO11 {
163                                         regulator-name = "CAM_IO_2.8V";
164                                         regulator-min-microvolt = <2800000>;
165                                         regulator-max-microvolt = <2800000>;
166                                 };
168                                 ldo12_reg: LDO12 {
169                                         regulator-name = "CAM_ISP_1.2V";
170                                         regulator-min-microvolt = <1200000>;
171                                         regulator-max-microvolt = <1200000>;
172                                 };
174                                 ldo13_reg: LDO13 {
175                                         regulator-name = "CAM_A_2.8V";
176                                         regulator-min-microvolt = <2800000>;
177                                         regulator-max-microvolt = <2800000>;
178                                 };
180                                 ldo14_reg: LDO14 {
181                                         regulator-name = "CAM_CIF_1.8V";
182                                         regulator-min-microvolt = <1800000>;
183                                         regulator-max-microvolt = <1800000>;
184                                 };
186                                 ldo15_reg: LDO15 {
187                                         regulator-name = "CAM_AF_3.3V";
188                                         regulator-min-microvolt = <3300000>;
189                                         regulator-max-microvolt = <3300000>;
190                                 };
192                                 ldo16_reg: LDO16 {
193                                         regulator-name = "VMIPI_1.8V";
194                                         regulator-min-microvolt = <1800000>;
195                                         regulator-max-microvolt = <1800000>;
196                                 };
198                                 ldo17_reg: LDO17 {
199                                         regulator-name = "CAM_8M_1.8V";
200                                         regulator-min-microvolt = <1800000>;
201                                         regulator-max-microvolt = <1800000>;
202                                         regulator-always-on;
203                                 };
205                                 buck1_reg: BUCK1 {
206                                         regulator-name = "VARM_1.2V";
207                                         regulator-min-microvolt = <1200000>;
208                                         regulator-max-microvolt = <1200000>;
209                                 };
211                                 buck2_reg: BUCK2 {
212                                         regulator-name = "VINT_1.2V";
213                                         regulator-min-microvolt = <1200000>;
214                                         regulator-max-microvolt = <1200000>;
215                                 };
217                                 buck3_reg: BUCK3 {
218                                         regulator-name = "VCC_1.8V";
219                                         regulator-min-microvolt = <1800000>;
220                                         regulator-max-microvolt = <1800000>;
221                                         regulator-always-on;
222                                 };
224                                 buck4_reg: BUCK4 {
225                                         regulator-name = "CAM_CORE_1.2V";
226                                         regulator-min-microvolt = <1200000>;
227                                         regulator-max-microvolt = <1200000>;
228                                         regulator-always-on;
229                                 };
230                         };
231                 };
232         };
234         gpio-keys {
235                 compatible = "gpio-keys";
237                 power-key {
238                         gpios = <&gph2 6 1>;
239                         linux,code = <KEY_POWER>;
240                         label = "power";
241                         debounce-interval = <1>;
242                         wakeup-source;
243                 };
244         };
247 &xusbxti {
248         clock-frequency = <24000000>;
251 &keypad {
252         linux,input-no-autorepeat;
253         wakeup-source;
254         samsung,keypad-num-rows = <3>;
255         samsung,keypad-num-columns = <3>;
256         pinctrl-names = "default";
257         pinctrl-0 = <&keypad_row0>, <&keypad_row1>, <&keypad_row2>,
258                         <&keypad_col0>, <&keypad_col1>, <&keypad_col2>;
259         status = "okay";
261         key_1 {
262                 keypad,row = <0>;
263                 keypad,column = <1>;
264                 linux,code = <KEY_CONNECT>;
265         };
267         key_2 {
268                 keypad,row = <0>;
269                 keypad,column = <2>;
270                 linux,code = <KEY_BACK>;
271         };
273         key_3 {
274                 keypad,row = <1>;
275                 keypad,column = <1>;
276                 linux,code = <KEY_CAMERA_FOCUS>;
277         };
279         key_4 {
280                 keypad,row = <1>;
281                 keypad,column = <2>;
282                 linux,code = <KEY_VOLUMEUP>;
283         };
285         key_5 {
286                 keypad,row = <2>;
287                 keypad,column = <1>;
288                 linux,code = <KEY_CAMERA>;
289         };
291         key_6 {
292                 keypad,row = <2>;
293                 keypad,column = <2>;
294                 linux,code = <KEY_VOLUMEDOWN>;
295         };
298 &uart0 {
299         status = "okay";
302 &uart1 {
303         status = "okay";
306 &uart2 {
307         status = "okay";
310 &uart3 {
311         status = "okay";
314 &sdhci0 {
315         bus-width = <4>;
316         non-removable;
317         vmmc-supply = <&ldo5_reg>;
318         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus1 &sd0_bus4>;
319         pinctrl-names = "default";
320         status = "okay";
323 &sdhci2 {
324         bus-width = <4>;
325         cd-gpios = <&gph3 4 1>;
326         vmmc-supply = <&vtf_reg>;
327         cd-inverted;
328         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
329         pinctrl-names = "default";
330         status = "okay";
333 &hsotg {
334         vusb_a-supply = <&ldo3_reg>;
335         vusb_d-supply = <&ldo8_reg>;
336         dr_mode = "peripheral";
337         status = "okay";
340 &usbphy {
341         status = "okay";
344 &i2c2 {
345         samsung,i2c-sda-delay = <100>;
346         samsung,i2c-max-bus-freq = <400000>;
347         samsung,i2c-slave-addr = <0x10>;
348         status = "okay";
350         tsp@4a {
351                 compatible = "atmel,maxtouch";
352                 reg = <0x4a>;
353                 interrupt-parent = <&gpj0>;
354                 interrupts = <5 2>;
356                 atmel,x-line = <17>;
357                 atmel,y-line = <11>;
358                 atmel,x-size = <800>;
359                 atmel,y-size = <480>;
360                 atmel,burst-length = <0x21>;
361                 atmel,threshold = <0x28>;
362                 atmel,orientation = <1>;
364                 vdd-supply = <&tsp_reg>;
365         };
368 &i2c0 {
369         samsung,i2c-sda-delay = <100>;
370         samsung,i2c-max-bus-freq = <100000>;
371         samsung,i2c-slave-addr = <0x10>;
372         status = "okay";
374         noon010pc30: sensor@30 {
375                 compatible = "siliconfile,noon010pc30";
376                 reg = <0x30>;
377                 vddio-supply = <&ldo11_reg>;
378                 vdda-supply = <&ldo13_reg>;
379                 vdd_core-supply = <&ldo14_reg>;
381                 clock-frequency = <16000000>;
382                 clocks = <&clock_cam 0>;
383                 clock-names = "mclk";
384                 nreset-gpios = <&gpb 2 0>;
385                 nstby-gpios = <&gpb 0 0>;
387                 port {
388                         noon010pc30_ep: endpoint {
389                                 remote-endpoint = <&fimc0_ep>;
390                                 bus-width = <8>;
391                                 hsync-active = <0>;
392                                 vsync-active = <1>;
393                                 pclk-sample = <1>;
394                         };
395                 };
396         };
399 &camera {
400         pinctrl-0 = <&cam_port_a_io &cam_port_a_clk_active>;
401         pinctrl-1 = <&cam_port_a_io &cam_port_a_clk_idle>;
402         pinctrl-names = "default", "idle";
404         parallel-ports {
405                 #address-cells = <1>;
406                 #size-cells = <0>;
408                 /* camera A input */
409                 port@1 {
410                         reg = <1>;
411                         fimc0_ep: endpoint {
412                                 remote-endpoint = <&noon010pc30_ep>;
413                                 bus-width = <8>;
414                                 hsync-active = <1>;
415                                 vsync-active = <1>;
416                                 pclk-sample = <0>;
417                         };
418                 };
419         };
422 &fimd {
423         pinctrl-0 = <&lcd_clk &lcd_data24>;
424         pinctrl-names = "default";
425         status = "okay";
427         display-timings {
428                 native-mode = <&timing0>;
429                 timing0: timing {
430                         /* 480x800@55Hz */
431                         clock-frequency = <23439570>;
432                         hactive = <480>;
433                         hfront-porch = <16>;
434                         hback-porch = <16>;
435                         hsync-len = <2>;
436                         vactive = <800>;
437                         vback-porch = <2>;
438                         vfront-porch = <28>;
439                         vsync-len = <1>;
440                         hsync-active = <0>;
441                         vsync-active = <0>;
442                         de-active = <0>;
443                         pixelclk-active = <0>;
444                 };
445         };
448 &onenand {
449         status = "okay";