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