Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
[linux.git] / arch / arm / boot / dts / ste-hrefv60plus.dtsi
1 /*
2  * Copyright 2012 ST-Ericsson AB
3  *
4  * The code contained herein is licensed under the GNU General Public
5  * License. You may obtain a copy of the GNU General Public License
6  * Version 2 or later at the following locations:
7  *
8  * http://www.opensource.org/licenses/gpl-license.html
9  * http://www.gnu.org/copyleft/gpl.html
10  */
11
12 #include "ste-dbx5x0.dtsi"
13 #include "ste-href.dtsi"
14
15 / {
16         model = "ST-Ericsson HREF (v60+) platform with Device Tree";
17         compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
18
19         soc {
20                 // External Micro SD slot
21                 sdi0_per1@80126000 {
22                         cd-gpios  = <&gpio2 31 0x4>; // 95
23                 };
24
25                 vmmci: regulator-gpio {
26                         gpios = <&gpio0 5 0x4>;
27                         enable-gpio = <&gpio5 9 0x4>;
28                 };
29
30                 pinctrl {
31                         /*
32                          * Set this up using hogs, as time goes by and as seems fit, these
33                          * can be moved over to being controlled by respective device.
34                          */
35                         pinctrl-names = "default";
36                         pinctrl-0 = <&ipgpio_hrefv60_mode>,
37                                   <&accel_hrefv60_mode>,
38                                   <&magneto_hrefv60_mode>,
39                                   <&etm_hrefv60_mode>,
40                                   <&nahj_hrefv60_mode>,
41                                   <&nfc_hrefv60_mode>,
42                                   <&force_hrefv60_mode>,
43                                   <&dipro_hrefv60_mode>,
44                                   <&vaudio_hf_hrefv60_mode>,
45                                   <&gbf_hrefv60_mode>,
46                                   <&hdtv_hrefv60_mode>,
47                                   <&touch_hrefv60_mode>;
48
49                         sdi0 {
50                                 /* SD card detect GPIO pin, extend default state */
51                                 sdi0_default_mode: sdi0_default {
52                                         default_hrefv60_cfg1 {
53                                                 ste,pins = "GPIO95_E8";
54                                                 ste,config = <&gpio_in_pu>;
55                                         };
56                                 };
57                         };
58                         ipgpio {
59                                 /*
60                                  * XENON Flashgun on image processor GPIO (controlled from image
61                                  * processor firmware), mux in these image processor GPIO lines 0
62                                  * (XENON_FLASH_ID), 1 (XENON_READY) and there is an assistant
63                                  * LED on IP GPIO 4 (XENON_EN2) on altfunction C, that need bias
64                                  * from GPIO21 so pull up 0, 1 and drive 4 and GPIO21 low as output.
65                                  */
66                                 ipgpio_hrefv60_mode: ipgpio_hrefv60 {
67                                         hrefv60_mux {
68                                                 ste,function = "ipgpio";
69                                                 ste,pins = "ipgpio0_c_1", "ipgpio1_c_1", "ipgpio4_c_1";
70                                         };
71                                         hrefv60_cfg1 {
72                                                 ste,pins = "GPIO6_AF6", "GPIO7_AG5";
73                                                 ste,config = <&in_pu>;
74                                         };
75                                         hrefv60_cfg2 {
76                                                 ste,pins = "GPIO21_AB3";
77                                                 ste,config = <&gpio_out_lo>;
78                                         };
79                                         hrefv60_cfg3 {
80                                                 ste,pins = "GPIO64_F3";
81                                                 ste,config = <&out_lo>;
82                                         };
83                                 };
84                         };
85                         accelerometer {
86                                 accel_hrefv60_mode: accel_hrefv60 {
87                                         /* Accelerometer interrupt lines 1 & 2 */
88                                         hrefv60_cfg1 {
89                                                 ste,pins = "GPIO82_C1", "GPIO83_D3";
90                                                 ste,config = <&gpio_in_pu>;
91                                         };
92                                 };
93                         };
94                         magnetometer {
95                                 magneto_hrefv60_mode: magneto_hrefv60 {
96                                         /* Magnetometer uses GPIO 31 and 32, pull these up/down respectively */
97                                         hrefv60_cfg1 {
98                                                 ste,pins = "GPIO31_V3";
99                                                 ste,config = <&gpio_in_pu>;
100                                         };
101                                         hrefv60_cfg2 {
102                                                 ste,pins = "GPIO32_V2";
103                                                 ste,config = <&gpio_in_pd>;
104                                         };
105                                 };
106                         };
107                         etm {
108                                 /*
109                                  * Drive D19-D23 for the ETM PTM trace interface low,
110                                  * (presumably pins are unconnected therefore grounded here,
111                                  * the "other alt C1" setting enables these pins)
112                                  */
113                                 etm_hrefv60_mode: etm_hrefv60 {
114                                         hrefv60_cfg1 {
115                                                 ste,pins =
116                                                 "GPIO70_G5",
117                                                 "GPIO71_G4",
118                                                 "GPIO72_H4",
119                                                 "GPIO73_H3",
120                                                 "GPIO74_J3";
121                                                 ste,config = <&gpio_out_lo>;
122                                         };
123                                  };
124                         };
125                         nahj {
126                                 nahj_hrefv60_mode: nahj_hrefv60 {
127                                         /* NAHJ CTRL on GPIO76 to low, CTRL_INV on GPIO216 to high */
128                                         hrefv60_cfg1 {
129                                                 ste,pins = "GPIO76_J2";
130                                                 ste,config = <&gpio_out_lo>;
131                                         };
132                                         hrefv60_cfg2 {
133                                                 ste,pins = "GPIO216_AG12";
134                                                 ste,config = <&gpio_out_hi>;
135                                         };
136                                  };
137                         };
138                         nfc {
139                                 nfc_hrefv60_mode: nfc_hrefv60 {
140                                         /* NFC ENA and RESET to low, pulldown IRQ line */
141                                         hrefv60_cfg1 {
142                                                 ste,pins =
143                                                 "GPIO77_H1", /* NFC_ENA */
144                                                 "GPIO142_C11"; /* NFC_RESET */
145                                                 ste,config = <&gpio_out_lo>;
146                                         };
147                                         hrefv60_cfg2 {
148                                                 ste,pins = "GPIO144_B13"; /* NFC_IRQ */
149                                                 ste,config = <&gpio_in_pd>;
150                                         };
151                                  };
152                         };
153                         force {
154                                 force_hrefv60_mode: force_hrefv60 {
155                                         hrefv60_cfg1 {
156                                                 ste,pins = "GPIO91_B6"; /* FORCE_SENSING_INT */
157                                                 ste,config = <&gpio_in_pu>;
158                                         };
159                                         hrefv60_cfg2 {
160                                                 ste,pins =
161                                                 "GPIO92_D6", /* FORCE_SENSING_RST */
162                                                 "GPIO97_D9"; /* FORCE_SENSING_WU */
163                                                 ste,config = <&gpio_out_lo>;
164                                         };
165                                  };
166                         };
167                         dipro {
168                                 dipro_hrefv60_mode: dipro_hrefv60 {
169                                         hrefv60_cfg1 {
170                                                 ste,pins = "GPIO139_C9"; /* DIPRO_INT */
171                                                 ste,config = <&gpio_in_pu>;
172                                         };
173                                  };
174                         };
175                         vaudio_hf {
176                                 vaudio_hf_hrefv60_mode: vaudio_hf_hrefv60 {
177                                         /* Audio Amplifier HF enable GPIO */
178                                         hrefv60_cfg1 {
179                                                 ste,pins = "GPIO149_B14"; /* VAUDIO_HF_EN, enable MAX8968 */
180                                                 ste,config = <&gpio_out_hi>;
181                                         };
182                                  };
183                         };
184                         gbf {
185                                 gbf_hrefv60_mode: gbf_hrefv60 {
186                                         /*
187                                          * GBF (GPS, Bluetooth, FM-radio) interface,
188                                          * pull low to reset state
189                                          */
190                                         hrefv60_cfg1 {
191                                                 ste,pins = "GPIO171_D23"; /* GBF_ENA_RESET */
192                                                 ste,config = <&gpio_out_lo>;
193                                         };
194                                  };
195                         };
196                         hdtv {
197                                 hdtv_hrefv60_mode: hdtv_hrefv60 {
198                                         /* MSP : HDTV INTERFACE GPIO line */
199                                         hrefv60_cfg1 {
200                                                 ste,pins = "GPIO192_AJ27";
201                                                 ste,config = <&gpio_in_pd>;
202                                         };
203                                  };
204                         };
205                         touch {
206                                 touch_hrefv60_mode: touch_hrefv60 {
207                                         /*
208                                          * Touch screen uses GPIO 143 for RST1, GPIO 146 for RST2 and
209                                          * GPIO 67 for interrupts. Pull-up the IRQ line and drive both
210                                          * reset signals low.
211                                          */
212                                         hrefv60_cfg1 {
213                                                 ste,pins = "GPIO143_D12", "GPIO146_D13";
214                                                 ste,config = <&gpio_out_lo>;
215                                         };
216                                         hrefv60_cfg2 {
217                                                 ste,pins = "GPIO67_G2";
218                                                 ste,config = <&gpio_in_pu>;
219                                         };
220                                 };
221                         };
222                         mcde {
223                                 lcd_hrefv60_mode: lcd_hrefv60 {
224                                         /*
225                                          * Display Interface 1 uses GPIO 65 for RST (reset).
226                                          * Display Interface 2 uses GPIO 66 for RST (reset).
227                                          * Drive DISP1 reset high (not reset), driver DISP2 reset low (reset)
228                                          */
229                                         hrefv60_cfg1 {
230                                                 ste,pins ="GPIO65_F1";
231                                                 ste,config = <&gpio_out_hi>;
232                                         };
233                                         hrefv60_cfg2 {
234                                                 ste,pins ="GPIO66_G3";
235                                                 ste,config = <&gpio_out_lo>;
236                                         };
237                                 };
238                         };
239                 };
240         };
241 };