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