1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _MIOA701_H_
3 #define _MIOA701_H_
4 
5 #define MIO_CFG_IN(pin, af)		\
6 	((MFP_CFG_DEFAULT & ~(MFP_AF_MASK | MFP_DIR_MASK)) |\
7 	 (MFP_PIN(pin) | MFP_##af | MFP_DIR_IN))
8 
9 #define MIO_CFG_OUT(pin, af, state)	\
10 	((MFP_CFG_DEFAULT & ~(MFP_AF_MASK | MFP_DIR_MASK | MFP_LPM_STATE_MASK)) |\
11 	 (MFP_PIN(pin) | MFP_##af | MFP_DIR_OUT | MFP_LPM_##state))
12 
13 /* Global GPIOs */
14 #define GPIO9_CHARGE_EN				9
15 #define GPIO18_POWEROFF				18
16 #define GPIO87_LCD_POWER			87
17 #define GPIO96_AC_DETECT			96
18 #define GPIO80_MAYBE_CHARGE_VDROP		80	/* Drop of 88mV */
19 
20 /* USB */
21 #define GPIO13_nUSB_DETECT			13
22 #define GPIO22_USB_ENABLE			22
23 
24 /* SDIO bits */
25 #define GPIO78_SDIO_RO				78
26 #define GPIO15_SDIO_INSERT			15
27 #define GPIO91_SDIO_EN				91
28 
29 /* Bluetooth */
30 #define GPIO14_BT_nACTIVITY			14
31 #define GPIO83_BT_ON				83
32 #define GPIO77_BT_UNKNOWN1			77
33 #define GPIO86_BT_MAYBE_nRESET			86
34 
35 /* GPS */
36 #define GPIO23_GPS_UNKNOWN1			23
37 #define GPIO26_GPS_ON				26
38 #define GPIO27_GPS_RESET			27
39 #define GPIO106_GPS_UNKNOWN2			106
40 #define GPIO107_GPS_UNKNOWN3			107
41 
42 /* GSM */
43 #define GPIO24_GSM_MOD_RESET_CMD		24
44 #define GPIO88_GSM_nMOD_ON_CMD			88
45 #define GPIO90_GSM_nMOD_OFF_CMD			90
46 #define GPIO114_GSM_nMOD_DTE_UART_STATE 	114
47 #define GPIO25_GSM_MOD_ON_STATE			25
48 #define GPIO113_GSM_EVENT			113
49 
50 /* SOUND */
51 #define GPIO12_HPJACK_INSERT			12
52 
53 /* LEDS */
54 #define GPIO10_LED_nCharging			10
55 #define GPIO97_LED_nBlue			97
56 #define GPIO98_LED_nOrange			98
57 #define GPIO82_LED_nVibra			82
58 #define GPIO115_LED_nKeyboard			115
59 
60 /* Keyboard */
61 #define GPIO0_KEY_POWER				0
62 #define GPIO93_KEY_VOLUME_UP			93
63 #define GPIO94_KEY_VOLUME_DOWN			94
64 
65 /* Camera */
66 #define GPIO56_MT9M111_nOE			56
67 
68 extern struct input_dev *mioa701_evdev;
69 extern void mioa701_gpio_lpm_set(unsigned long mfp_pin);
70 
71 /* Assembler externals mioa701_bootresume.S */
72 extern u32 mioa701_bootstrap;
73 extern u32 mioa701_jumpaddr;
74 extern u32 mioa701_bootstrap_lg;
75 
76 #endif /* _MIOA701_H */
77