1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Copyright 2012 ST-Ericsson AB
6 #include "ste-dbx5x0.dtsi"
7 #include "ste-href-ab8500.dtsi"
8 #include "ste-href.dtsi"
11 model = "ST-Ericsson HREF (v60+) platform with Device Tree";
12 compatible = "st-ericsson,hrefv60+", "st-ericsson,u8500";
15 /* Name the GPIO muxed rails on the HREF boards */
19 /* GPIO0,1 used for UART0 BT RX/TX */
25 "FLASH_LED_SYNC (FLASH_CTRL_0)",
26 "XENON_READY (FLASH_CTRL_1)",
27 "", "", "", "", "", "", "", "",
30 "FLASH_LED_EN (FLASH_CTRL_3)",
33 /* Used by UART2 (console) */
42 "", "", "", "", "", "", "",
43 "", "", "", "", "", "", "", "",
44 "", "", "", "", "", "", "", "",
45 "", "", "", "", "", "", "", "";
50 gpio-line-names = "XENON_EN2 (FLASH_CTRL_4)",
56 /* GPIO 70-77 used for ETM */
57 "", "", "", "", "", "", "", "",
58 /* GPIO 78-81 used for YCBCR */
60 "ACCELEROMETER_INT1_RDY",
66 "FORCE_SENSING_RESET",
75 "", "", "", "", "", "",
76 "", "", "", "", "", "", "", "",
77 "", "", "", "", "", "", "", "",
78 "", "", "", "", "", "", "", "";
83 gpio-line-names = "", "", "", "", "", "", "", "",
85 "DIPRO_INT", /* GPIO139 */
86 "XSHUTDOWN_SECONDARY_SENSOR",
87 "XSHUTDOWN_PRIMARY_SENSOR",
90 "NFC_IRQ (NFC_CTRL_1)",
94 "VAUDIO_HF_EN", /* GPIO149 */
95 "", "", "", "", "", "", "", "", "", "";
100 gpio-line-names = "", "", "", "", "", "", "", "",
103 "XENON_CHARGE (FLASH_CONTROL_5)",
106 "", "", "", "", "", "", "", "",
107 "", "", "", "", "", "", "", "";
111 /* GPIOs 192 - 223 */
112 gpio-line-names = "HDTV_INTN",
117 "", "", "", "", "", "", "",
118 /* GPIO208-216 used for WGBF_MC1 */
119 "", "", "", "", "", "", "", "", "",
120 "SW_FRONT_PROXIMITY", /* GPIO217 */
121 "KPD_CTRL_INT", /* Keypad controller */
126 /* GPIOs 224 - 255 */
127 gpio-line-names = "", "",
130 "", "", "", "", "", "", "", "",
131 "", "", "", "", "", "", "", "",
132 "", "", "", "", "", "", "", "";
135 // External Micro SD slot
137 cd-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>; // 95
140 vmmci: regulator-gpio {
141 gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>;
142 enable-gpio = <&gpio5 9 GPIO_ACTIVE_HIGH>;
148 * Set this up using hogs, as time goes by and as seems fit, these
149 * can be moved over to being controlled by respective device.
151 pinctrl-names = "default";
152 pinctrl-0 = <&ipgpio_hrefv60_mode>,
154 <&nahj_hrefv60_mode>,
156 <&force_hrefv60_mode>,
157 <&dipro_hrefv60_mode>,
158 <&vaudio_hf_hrefv60_mode>,
160 <&hdtv_hrefv60_mode>,
161 <&gpios_hrefv60_mode>;
164 sdi0_default_mode: sdi0_default {
165 /* SD card detect GPIO pin, extend default state */
166 default_hrefv60_cfg1 {
168 ste,config = <&gpio_in_pu>;
170 /* VMMCI level-shifter enable */
171 default_hrefv60_cfg2 {
172 pins = "GPIO169_D22";
173 ste,config = <&gpio_out_hi>;
175 /* VMMCI level-shifter voltage select */
176 default_hrefv60_cfg3 {
178 ste,config = <&gpio_out_hi>;
184 * XENON Flashgun on image processor GPIO (controlled from image
185 * processor firmware), mux in these image processor GPIO lines 0
186 * (XENON_FLASH_ID), 1 (XENON_READY) and there is an assistant
187 * LED on IP GPIO 4 (XENON_EN2) on altfunction C, that need bias
188 * from GPIO21 so pull up 0, 1 and drive 4 and GPIO21 low as output.
190 ipgpio_hrefv60_mode: ipgpio_hrefv60 {
193 groups = "ipgpio0_c_1", "ipgpio1_c_1", "ipgpio4_c_1";
196 pins = "GPIO6_AF6", "GPIO7_AG5";
197 ste,config = <&in_pu>;
201 ste,config = <&gpio_out_lo>;
205 ste,config = <&out_lo>;
211 * Drive D19-D23 for the ETM PTM trace interface low,
212 * (presumably pins are unconnected therefore grounded here,
213 * the "other alt C1" setting enables these pins)
215 etm_hrefv60_mode: etm_hrefv60 {
223 ste,config = <&gpio_out_lo>;
228 nahj_hrefv60_mode: nahj_hrefv60 {
229 /* NAHJ CTRL on GPIO76 to low, CTRL_INV on GPIO216 to high */
232 ste,config = <&gpio_out_lo>;
235 pins = "GPIO216_AG12";
236 ste,config = <&gpio_out_hi>;
241 nfc_hrefv60_mode: nfc_hrefv60 {
242 /* NFC ENA and RESET to low, pulldown IRQ line */
245 "GPIO77_H1", /* NFC_ENA */
246 "GPIO142_C11"; /* NFC_RESET */
247 ste,config = <&gpio_out_lo>;
250 pins = "GPIO144_B13"; /* NFC_IRQ */
251 ste,config = <&gpio_in_pd>;
256 force_hrefv60_mode: force_hrefv60 {
258 pins = "GPIO91_B6"; /* FORCE_SENSING_INT */
259 ste,config = <&gpio_in_pu>;
263 "GPIO92_D6", /* FORCE_SENSING_RST */
264 "GPIO97_D9"; /* FORCE_SENSING_WU */
265 ste,config = <&gpio_out_lo>;
270 dipro_hrefv60_mode: dipro_hrefv60 {
272 pins = "GPIO139_C9"; /* DIPRO_INT */
273 ste,config = <&gpio_in_pu>;
278 vaudio_hf_hrefv60_mode: vaudio_hf_hrefv60 {
279 /* Audio Amplifier HF enable GPIO */
281 pins = "GPIO149_B14"; /* VAUDIO_HF_EN, enable MAX8968 */
282 ste,config = <&gpio_out_hi>;
287 gbf_hrefv60_mode: gbf_hrefv60 {
289 * GBF (GPS, Bluetooth, FM-radio) interface,
290 * pull low to reset state
293 pins = "GPIO171_D23"; /* GBF_ENA_RESET */
294 ste,config = <&gpio_out_lo>;
299 hdtv_hrefv60_mode: hdtv_hrefv60 {
300 /* MSP : HDTV INTERFACE GPIO line */
302 pins = "GPIO192_AJ27";
303 ste,config = <&gpio_in_pd>;
308 lcd_hrefv60_mode: lcd_hrefv60 {
310 * Display Interface 1 uses GPIO 65 for RST (reset).
311 * Display Interface 2 uses GPIO 66 for RST (reset).
312 * Drive DISP1 reset high (not reset), driver DISP2 reset low (reset)
316 ste,config = <&gpio_out_hi>;
320 ste,config = <&gpio_out_lo>;
325 /* Dangling GPIO pins */
326 gpios_hrefv60_mode: gpios_hrefv60 {
328 /* Normally UART1 RXD, now dangling */
330 ste,config = <&in_pu>;