2 * Copyright 2012 ST-Ericsson AB
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:
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
12 #include "ste-dbx5x0.dtsi"
13 #include "ste-href-ab8500.dtsi"
14 #include "ste-href.dtsi"
17 model = "ST-Ericsson HREF (v60+) platform with Device Tree";
18 compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
21 /* Name the GPIO muxed rails on the HREF boards */
25 /* GPIO0,1 used for UART0 BT RX/TX */
31 "FLASH_LED_SYNC (FLASH_CTRL_0)",
32 "XENON_READY (FLASH_CTRL_1)",
33 "", "", "", "", "", "", "", "",
36 "FLASH_LED_EN (FLASH_CTRL_3)",
39 /* Used by UART2 (console) */
48 "", "", "", "", "", "", "",
49 "", "", "", "", "", "", "", "",
50 "", "", "", "", "", "", "", "",
51 "", "", "", "", "", "", "", "";
56 gpio-line-names = "XENON_EN2 (FLASH_CTRL_4)",
62 /* GPIO 70-77 used for ETM */
63 "", "", "", "", "", "", "", "",
64 /* GPIO 78-81 used for YCBCR */
66 "ACCELEROMETER_INT1_RDY",
72 "FORCE_SENSING_RESET",
81 "", "", "", "", "", "",
82 "", "", "", "", "", "", "", "",
83 "", "", "", "", "", "", "", "",
84 "", "", "", "", "", "", "", "";
89 gpio-line-names = "", "", "", "", "", "", "", "",
91 "DIPRO_INT", /* GPIO139 */
92 "XSHUTDOWN_SECONDARY_SENSOR",
93 "XSHUTDOWN_PRIMARY_SENSOR",
96 "NFC_IRQ (NFC_CTRL_1)",
100 "VAUDIO_HF_EN", /* GPIO149 */
101 "", "", "", "", "", "", "", "", "", "";
105 /* GPIOs 160 - 191 */
106 gpio-line-names = "", "", "", "", "", "", "", "",
109 "XENON_CHARGE (FLASH_CONTROL_5)",
112 "", "", "", "", "", "", "", "",
113 "", "", "", "", "", "", "", "";
117 /* GPIOs 192 - 223 */
118 gpio-line-names = "HDTV_INTN",
123 "", "", "", "", "", "", "",
124 /* GPIO208-216 used for WGBF_MC1 */
125 "", "", "", "", "", "", "", "", "",
126 "SW_FRONT_PROXIMITY", /* GPIO217 */
127 "KPD_CTRL_INT", /* Keypad controller */
132 /* GPIOs 224 - 255 */
133 gpio-line-names = "", "",
136 "", "", "", "", "", "", "", "",
137 "", "", "", "", "", "", "", "",
138 "", "", "", "", "", "", "", "";
141 // External Micro SD slot
143 cd-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>; // 95
146 vmmci: regulator-gpio {
147 gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
148 enable-gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>;
153 * Set this up using hogs, as time goes by and as seems fit, these
154 * can be moved over to being controlled by respective device.
156 pinctrl-names = "default";
157 pinctrl-0 = <&ipgpio_hrefv60_mode>,
159 <&nahj_hrefv60_mode>,
161 <&force_hrefv60_mode>,
162 <&dipro_hrefv60_mode>,
163 <&vaudio_hf_hrefv60_mode>,
165 <&hdtv_hrefv60_mode>,
166 <&gpios_hrefv60_mode>;
169 sdi0_default_mode: sdi0_default {
170 /* SD card detect GPIO pin, extend default state */
171 default_hrefv60_cfg1 {
173 ste,config = <&gpio_in_pu>;
175 /* VMMCI level-shifter enable */
176 default_hrefv60_cfg2 {
177 pins = "GPIO169_D22";
178 ste,config = <&gpio_out_hi>;
180 /* VMMCI level-shifter voltage select */
181 default_hrefv60_cfg3 {
183 ste,config = <&gpio_out_hi>;
189 * XENON Flashgun on image processor GPIO (controlled from image
190 * processor firmware), mux in these image processor GPIO lines 0
191 * (XENON_FLASH_ID), 1 (XENON_READY) and there is an assistant
192 * LED on IP GPIO 4 (XENON_EN2) on altfunction C, that need bias
193 * from GPIO21 so pull up 0, 1 and drive 4 and GPIO21 low as output.
195 ipgpio_hrefv60_mode: ipgpio_hrefv60 {
198 groups = "ipgpio0_c_1", "ipgpio1_c_1", "ipgpio4_c_1";
201 pins = "GPIO6_AF6", "GPIO7_AG5";
202 ste,config = <&in_pu>;
206 ste,config = <&gpio_out_lo>;
210 ste,config = <&out_lo>;
216 * Drive D19-D23 for the ETM PTM trace interface low,
217 * (presumably pins are unconnected therefore grounded here,
218 * the "other alt C1" setting enables these pins)
220 etm_hrefv60_mode: etm_hrefv60 {
228 ste,config = <&gpio_out_lo>;
233 nahj_hrefv60_mode: nahj_hrefv60 {
234 /* NAHJ CTRL on GPIO76 to low, CTRL_INV on GPIO216 to high */
237 ste,config = <&gpio_out_lo>;
240 pins = "GPIO216_AG12";
241 ste,config = <&gpio_out_hi>;
246 nfc_hrefv60_mode: nfc_hrefv60 {
247 /* NFC ENA and RESET to low, pulldown IRQ line */
250 "GPIO77_H1", /* NFC_ENA */
251 "GPIO142_C11"; /* NFC_RESET */
252 ste,config = <&gpio_out_lo>;
255 pins = "GPIO144_B13"; /* NFC_IRQ */
256 ste,config = <&gpio_in_pd>;
261 force_hrefv60_mode: force_hrefv60 {
263 pins = "GPIO91_B6"; /* FORCE_SENSING_INT */
264 ste,config = <&gpio_in_pu>;
268 "GPIO92_D6", /* FORCE_SENSING_RST */
269 "GPIO97_D9"; /* FORCE_SENSING_WU */
270 ste,config = <&gpio_out_lo>;
275 dipro_hrefv60_mode: dipro_hrefv60 {
277 pins = "GPIO139_C9"; /* DIPRO_INT */
278 ste,config = <&gpio_in_pu>;
283 vaudio_hf_hrefv60_mode: vaudio_hf_hrefv60 {
284 /* Audio Amplifier HF enable GPIO */
286 pins = "GPIO149_B14"; /* VAUDIO_HF_EN, enable MAX8968 */
287 ste,config = <&gpio_out_hi>;
292 gbf_hrefv60_mode: gbf_hrefv60 {
294 * GBF (GPS, Bluetooth, FM-radio) interface,
295 * pull low to reset state
298 pins = "GPIO171_D23"; /* GBF_ENA_RESET */
299 ste,config = <&gpio_out_lo>;
304 hdtv_hrefv60_mode: hdtv_hrefv60 {
305 /* MSP : HDTV INTERFACE GPIO line */
307 pins = "GPIO192_AJ27";
308 ste,config = <&gpio_in_pd>;
313 lcd_hrefv60_mode: lcd_hrefv60 {
315 * Display Interface 1 uses GPIO 65 for RST (reset).
316 * Display Interface 2 uses GPIO 66 for RST (reset).
317 * Drive DISP1 reset high (not reset), driver DISP2 reset low (reset)
321 ste,config = <&gpio_out_hi>;
325 ste,config = <&gpio_out_lo>;
330 /* Dangling GPIO pins */
331 gpios_hrefv60_mode: gpios_hrefv60 {
333 /* Normally UART1 RXD, now dangling */
335 ste,config = <&in_pu>;