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