Files
TAIXIN/sdk/include/chip/txw82x/io_function.h

661 lines
21 KiB
C
Raw Normal View History

/**
******************************************************************************
* @file sdk\include\chip\txw80x\io_function.h
* @author HUGE-IC Application Team
* @version V1.0.0
* @date 2022-01-11
* @brief This file contains all the GPIO functions.
* @copyright Copyright (c) 2016-2022 HUGE-IC
******************************************************************************
* @attention
* Only used for txw80x.
*
*
*
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __IO_FUNCTION_H
#define __IO_FUNCTION_H
#ifdef __cplusplus
extern "C" {
#endif
#include "typesdef.h"
#define REG_GPIO_DIR_CLR(port, n) \
(*(volatile unsigned int*)(port+0x00)) &= ~(3<<((n)<<1))
#define REG_GPIO_DIR_INPUT(port, n) \
do { \
REG_GPIO_DIR_CLR(port, n); \
(*(volatile unsigned int*)(port+0x00)) |= (0<<((n)<<1)); \
} while(0)
#define REG_GPIO_DIR_OUTPUT(port, n) \
do { \
REG_GPIO_DIR_CLR(port, n); \
(*(volatile unsigned int*)(port+0x00)) |= (1<<((n)<<1)); \
} while(0)
#define REG_GPIO_OTYPE_CLR(port, n) \
(*(volatile unsigned int*)(port+0x04)) &= ~(1<<(n));
#define REG_GPIO_OPEN_DRAIN(port, n) \
do { \
REG_GPIO_OTYPE_CLR(port, n); \
(*(volatile unsigned int*)(port+0x04)) |= (1<<(n));\
} while(0)
#define REG_GPIO_PUSH_PULL(port, n) \
do { \
REG_GPIO_OTYPE_CLR(port, n); \
(*(volatile unsigned int*)(port+0x04)) |= (0<<(n));\
} while(0)
#define REG_GPIO_PUL_100(port, n) \
(*(volatile unsigned int*)(port+0x10)) |= BIT((((n)-0)<<2))
#define REG_GPIO_PUH_100(port, n) \
(*(volatile unsigned int*)(port+0x14)) |= BIT((((n)-8)<<2))
#define REG_GPIO_PDL_100(port, n) \
(*(volatile unsigned int*)(port+0x18)) |= BIT((((n)-0)<<2))
#define REG_GPIO_PDH_100(port, n) \
(*(volatile unsigned int*)(port+0x1C)) |= BIT((((n)-8)<<2))
#define REG_GPIO_SET(port, n) \
(*(volatile unsigned int*)(port+0x24)) = \
((*(volatile unsigned int*)(port+0x24)) & ~BIT(n)) | BIT(n)
#define REG_GPIO_RESET(port, n) \
(*(volatile unsigned int*)(port+0x24)) = \
((*(volatile unsigned int*)(port+0x24)) & ~BIT(n))
/** @addtogroup Docxygenid_GPIO_enum
* @{
*/
/**
* @brief Enumeration constant for GPIO command.
* @note
* Enum number start from 0x101.
*/
enum gpio_cmd {
/*! GPIO cmd afio set
*/
GPIO_CMD_AFIO_SET = 0x101,
/*! GPIO cmd iomap output
*/
GPIO_CMD_IOMAP_OUT_FUNC,
/*! GPIO cmd iomap input
*/
GPIO_CMD_IOMAP_IN_FUNC,
/*! GPIO cmd iomap inout
*/
GPIO_CMD_IOMAP_INOUT_FUNC,
/*! GPIO pin driver strength config
*/
GPIO_CMD_DRIVER_STRENGTH,
};
/**
* @brief Enumeration constant for GPIO afio set.
*/
enum gpio_afio_set{
/*! gpio cmd afio 0
*/
GPIO_AF_0 = 0,
/*! gpio cmd afio 1
*/
GPIO_AF_1 ,
/*! gpio cmd afio 2
*/
GPIO_AF_2 ,
/*! gpio cmd afio 3
*/
GPIO_AF_3 ,
};
/**
* @breif : Enumeration constant for GPIO pull level.
*/
enum gpio_pull_level {
/*! gpio pull level : NONE
*/
GPIO_PULL_LEVEL_NONE = 0,
/*! gpio pull level : 4.7K
*/
GPIO_PULL_LEVEL_4_7K ,
/*! gpio pull level : 100k
*/
GPIO_PULL_LEVEL_100K ,
};
/**
* @breif : Enumeration constant for GPIO driver strength
*/
enum pin_driver_strength {
/**
*81x, 4, 12, 20, 28mA
*82x, 4, 8, 16, 20mA. PB12/PD8/PD14/PE1, 8, 20, 32, 60mA
*/
GPIO_DS_G0,
GPIO_DS_G1,
GPIO_DS_G2,
GPIO_DS_G3,
};
/** @defgroup GPIO IO map output function selection
* @{
*/
//除了GPIO_IOMAP_OUTPUT 不能同时存在两个及以上 [ (枚举值+4)/5 ]相同的GPIO OUTPUT MAPPING 配置,下表已经分好类了
enum gpio_iomap_out_func{
GPIO_IOMAP_OUTPUT = 0,
GPIO_IOMAP_OUT_OSPI_CS_IO = 0x1,
GPIO_IOMAP_OUT_DBGPATH_DBGO_8 = 0x2,
GPIO_IOMAP_OUT_LCD_DE_OR_ERD = 0x3,
GPIO_IOMAP_OUT_COMP_DOUT_DIG0 = 0x5,
GPIO_IOMAP_OUT_LCD_DATA_O_0 = 0x6,
GPIO_IOMAP_OUT_VIDEO_PAR_DATA_O_0 = 0x7,
GPIO_IOMAP_OUT_DBGPATH_DBGO_9 = 0x8,
GPIO_IOMAP_OUT_COMP_DOUT_DIG1 = 0xA,
GPIO_IOMAP_OUT_LCD_DE_OR_ERD1 = 0xB,
GPIO_IOMAP_OUT_ANTENNA_SEL = 0xF,
GPIO_IOMAP_OUT_LCD_HSYNC_OR_DC = 0x10,
GPIO_IOMAP_OUT_PA_EN = 0x14,
GPIO_IOMAP_OUT_LCD_VSYNC_OR_CS0 = 0x15,
GPIO_IOMAP_OUT_RF_EXT_LNA_EN = 0x19,
GPIO_IOMAP_OUT_LCD_DOTCLK_OR_RWR0 = 0x1A,
GPIO_IOMAP_OUT_RF_SWITCH_EN1 = 0x1B,
GPIO_IOMAP_OUT_RF_TX_EN_FEM = 0x1E,
GPIO_IOMAP_OUT_RF_SWITCH_EN0 = 0x1F,
GPIO_IOMAP_OUT_DVP_MCLK_OUT = 0x20,
GPIO_IOMAP_OUT_RF_RX_EN_FEM = 0x23,
GPIO_IOMAP_OUT_VIDEO_PAR_DATA_O_1 = 0x24,
GPIO_IOMAP_OUT_RF_TRX_SW_FEM = 0x25,
GPIO_IOMAP_OUT_LCD_DATA_O_1 = 0x28,
GPIO_IOMAP_OUT_DAC_PDM_OUT = 0x29,
GPIO_IOMAP_OUT_VIDEO_PAR_DATA_O_2 = 0x2A,
GPIO_IOMAP_OUT_RF_PA_EN_FEM = 0x2B,
GPIO_IOMAP_OUT_LCD_DATA_O_2 = 0x2D,
GPIO_IOMAP_OUT_LCD_DATA_O_3 = 0x2E,
GPIO_IOMAP_OUT_VIDEO_PAR_DATA_O_3 = 0x2F,
GPIO_IOMAP_OUT_DBGPATH_DBGO_0 = 0x30,
GPIO_IOMAP_OUT_UART1_RTS_RE_O = 0x32,
GPIO_IOMAP_OUT_LCD_DATA_O_4 = 0x33,
GPIO_IOMAP_OUT_VIDEO_PAR_DATA_O_4 = 0x34,
GPIO_IOMAP_OUT_DBGPATH_DBGO_1 = 0x35,
GPIO_IOMAP_OUT_UART1_CTS_DE_OUT = 0x37,
GPIO_IOMAP_OUT_LCD_DATA_O_5 = 0x38,
GPIO_IOMAP_OUT_VIDEO_PAR_DATA_O_5 = 0x39,
GPIO_IOMAP_OUT_UART1_OUT = 0x3C,
GPIO_IOMAP_OUT_DBGPATH_DBGO_2 = 0x3D,
GPIO_IOMAP_OUT_UART0_RTS_RE_O = 0x41,
GPIO_IOMAP_OUT_DBGPATH_DBGO_3 = 0x42,
GPIO_IOMAP_OUT_UART0_CTS_DE_OUT = 0x46,
GPIO_IOMAP_OUT_UART0_OUT = 0x4B,
GPIO_IOMAP_OUT_LCD_DATA_O_6 = 0x4C,
GPIO_IOMAP_OUT_VIDEO_PAR_DATA_O_6 = 0x4D,
GPIO_IOMAP_OUT_STMR3_PWM_OUT = 0x50,
GPIO_IOMAP_OUT_LCD_DATA_O_7 = 0x51,
GPIO_IOMAP_OUT_VIDEO_PAR_DATA_O_7 = 0x52,
GPIO_IOMAP_OUT_STMR2_PWM_OUT = 0x55,
GPIO_IOMAP_OUT_LCD_DATA_O_8 = 0x56,
GPIO_IOMAP_OUT_VIDEO_PAR_DATA_O_8 = 0x57,
GPIO_IOMAP_OUT_STMR1_PWM_OUT = 0x5A,
GPIO_IOMAP_OUT_LCD_DATA_O_9 = 0x5B,
GPIO_IOMAP_OUT_VIDEO_PAR_DATA_O_9 = 0x5C,
GPIO_IOMAP_OUT_STMR0_PWM_OUT = 0x5F,
GPIO_IOMAP_OUT_LCD_DATA_O_10 = 0x60,
GPIO_IOMAP_OUT_VIDEO_PAR_DATA_O_10 = 0x61,
GPIO_IOMAP_OUT_STMR4_PWM_OUT = 0x64,
GPIO_IOMAP_OUT_LCD_DATA_O_11 = 0x65,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_6 = 0x66,
GPIO_IOMAP_OUT_STMR5_PWM_OUT = 0x69,
GPIO_IOMAP_OUT_SPI0_IO3_OUT = 0x6A,
GPIO_IOMAP_OUT_SDHOST_SCLK_O = 0x6E,
GPIO_IOMAP_OUT_SPI0_IO2_OUT = 0x6F,
GPIO_IOMAP_OUT_TMR3_PWM_OUT = 0x73,
GPIO_IOMAP_OUT_SPI0_IO1_OUT = 0x74,
GPIO_IOMAP_OUT_TMR2_PWM_OUT = 0x78,
GPIO_IOMAP_OUT_SPI1_NSS_OUT = 0x79,
GPIO_IOMAP_OUT_TMR1_PWM_OUT = 0x7D,
GPIO_IOMAP_OUT_LCD_DATA_O_12 = 0x7E,
GPIO_IOMAP_OUT_TMR0_PWM_OUT = 0x82,
GPIO_IOMAP_OUT_DBGPATH_DBGO_4 = 0x83,
GPIO_IOMAP_OUT_SDHOST1_DAT1_OUT = 0x84,
GPIO_IOMAP_OUT_DUAL_ORG_FSYNC = 0x85,
GPIO_IOMAP_OUT_LED_TMR0_PWM_OUT = 0x87,
GPIO_IOMAP_OUT_LCD_DATA_O_13 = 0x88,
GPIO_IOMAP_OUT_DBGPATH_DBGO_5 = 0x89,
GPIO_IOMAP_OUT_LED_TMR1_PWM_OUT = 0x8C,
GPIO_IOMAP_OUT_LCD_DATA_O_14 = 0x8D,
GPIO_IOMAP_OUT_DBGPATH_DBGO_6 = 0x8E,
GPIO_IOMAP_OUT_LED_TMR2_PWM_OUT = 0x91,
GPIO_IOMAP_OUT_LCD_DATA_O_15 = 0x92,
GPIO_IOMAP_OUT_DBGPATH_DBGO_7 = 0x93,
GPIO_IOMAP_OUT_LED_TMR3_PWM_OUT = 0x96,
GPIO_IOMAP_OUT_CAN_TXD = 0x97,
GPIO_IOMAP_OUT_CPU1_JTG_TMS = 0x98,
GPIO_IOMAP_OUT_PDM_MCLK = 0x9B,
GPIO_IOMAP_OUT_OSPI_CS_IO1 = 0x9C,
GPIO_IOMAP_OUT_QSPI_NSS1_OUT = 0xA0,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_0 = 0xA1,
GPIO_IOMAP_OUT_GRANT_BLE = 0xA2,
GPIO_IOMAP_OUT_SPI0_NSS_OUT = 0xA5,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_1 = 0xA6,
GPIO_IOMAP_OUT_GRANT_BLE_SWITCH_O = 0xA7,
GPIO_IOMAP_OUT_SPI0_SCK_OUT = 0xAA,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_2 = 0xAB,
GPIO_IOMAP_OUT_GRANT_WIFI_SWITCH_O = 0xAC,
GPIO_IOMAP_OUT_SPI0_IO0_OUT = 0xAF,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_3 = 0xB0,
GPIO_IOMAP_OUT_SPARE0 = 0xB4,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_4 = 0xB5,
GPIO_IOMAP_OUT_SPARE1 = 0xB9,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_5 = 0xBA,
GPIO_IOMAP_OUT_SPARE2 = 0xBE,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_7 = 0xBF,
GPIO_IOMAP_OUT_SPARE3 = 0xC3,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_8 = 0xC4,
GPIO_IOMAP_OUT_SPI1_SCK_OUT = 0xC8,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_9 = 0xC9,
GPIO_IOMAP_OUT_SPI1_IO0_OUT = 0xCD,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_10 = 0xCE,
GPIO_IOMAP_OUT_SPI1_IO1_OUT = 0xD2,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_11 = 0xD3,
GPIO_IOMAP_OUT_LCD_DATA_O_16 = 0xD7,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_12 = 0xD8,
GPIO_IOMAP_OUT_LCD_DATA_O_17 = 0xDC,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_13 = 0xDD,
GPIO_IOMAP_OUT_LCD_DATA_O_18 = 0xDE,
GPIO_IOMAP_OUT_SPI2_NSS_OUT = 0xE1,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_14 = 0xE2,
GPIO_IOMAP_OUT_SDHOST1_SCLK_O = 0xE3,
GPIO_IOMAP_OUT_SPI2_SCK_OUT = 0xE6,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_15 = 0xE7,
GPIO_IOMAP_OUT_SDHOST1_DAT0_OUT = 0xE8,
GPIO_IOMAP_OUT_SPI2_IO0_OUT = 0xEB,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_16 = 0xEC,
GPIO_IOMAP_OUT_LCD_DATA_O_19 = 0xED,
GPIO_IOMAP_OUT_SDHOST1_CMD_OUT = 0xEE,
GPIO_IOMAP_OUT_SPI2_IO1_OUT = 0xF0,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_17 = 0xF1,
GPIO_IOMAP_OUT_LCD_DATA_O_20 = 0xF2,
GPIO_IOMAP_OUT_SDHOST1_DAT2_OUT = 0xF3,
GPIO_IOMAP_OUT_SPI2_IO2_OUT = 0xF5,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_18 = 0xF6,
GPIO_IOMAP_OUT_LCD_DATA_O_21 = 0xF7,
GPIO_IOMAP_OUT_SDHOST1_DAT3_OUT = 0xF8,
GPIO_IOMAP_OUT_SPI2_IO3_OUT = 0xFA,
GPIO_IOMAP_OUT_QSPI_OSPI_MNT_O_19 = 0xFB,
GPIO_IOMAP_OUT_SDHOST_CMD_OUT = 0xFF,
GPIO_IOMAP_OUT_UART6_TX = 0x100,
GPIO_IOMAP_OUT_SDHOST_DAT0_OUT = 0x104,
GPIO_IOMAP_OUT_LCD_DOTCLK_OR_RWR1 = 0x105,
GPIO_IOMAP_OUT_SDHOST_DAT1_OUT = 0x109,
GPIO_IOMAP_OUT_LCD_VSYNC_OR_CS1 = 0x10A,
GPIO_IOMAP_OUT_SDHOST_DAT2_OUT = 0x10E,
GPIO_IOMAP_OUT_LCD_HSYNC_OR_DC1 = 0x10F,
GPIO_IOMAP_OUT_SDHOST_DAT3_OUT = 0x113,
GPIO_IOMAP_OUT_LCD_DOTCLK_OR_RWR2 = 0x114,
GPIO_IOMAP_OUT_IO2IO_CHANNAL3 = 0x115,
GPIO_IOMAP_OUT_IIS0_MCLK_OUT = 0x118,
GPIO_IOMAP_OUT_LCD_VSYNC_OR_CS2 = 0x119,
GPIO_IOMAP_OUT_IO2IO_CHANNAL2 = 0x11A,
GPIO_IOMAP_OUT_IIS0_WSCLK_OUT = 0x11D,
GPIO_IOMAP_OUT_LCD_HSYNC_OR_DC2 = 0x11E,
GPIO_IOMAP_OUT_IO2IO_CHANNAL1 = 0x11F,
GPIO_IOMAP_OUT_IIS0_BCLK_OUT = 0x122,
GPIO_IOMAP_OUT_LCD_DE_OR_ERD2 = 0x123,
GPIO_IOMAP_OUT_IO2IO_CHANNAL0 = 0x124,
GPIO_IOMAP_OUT_IIS0_DO = 0x127,
GPIO_IOMAP_OUT_UART5_TX = 0x128,
GPIO_IOMAP_OUT_LCD_DATA_O_22 = 0x129,
GPIO_IOMAP_OUT_IIS1_MCLK_OUT = 0x12C,
GPIO_IOMAP_OUT_LCD_DATA_O_23 = 0x12D,
GPIO_IOMAP_OUT_NFC_TX_GATE_N = 0x12E,
GPIO_IOMAP_OUT_IIS1_WSCLK_OUT = 0x131,
GPIO_IOMAP_OUT_SPI1_IO2_OUT = 0x132,
GPIO_IOMAP_OUT_NFC_TX_N = 0x133,
GPIO_IOMAP_OUT_IIS1_BCLK_OUT = 0x136,
GPIO_IOMAP_OUT_SPI1_IO3_OUT = 0x137,
GPIO_IOMAP_OUT_NFC_TX_GATE_P = 0x138,
GPIO_IOMAP_OUT_IIS1_DO = 0x13B,
GPIO_IOMAP_OUT_UART4_TX = 0x13C,
GPIO_IOMAP_OUT_NFC_TX_P = 0x13D,
GPIO_IOMAP_OUT_CLK_TO_IO = 0x140,
};
/** @defgroup Enumeration constant for GPIO IO map input function selection
* @{
*/
enum gpio_iomap_in_func{
GPIO_IOMAP_INPUT = 0xF000,
GPIO_IOMAP_IN_SPARE_IO1 = 0x0000,
GPIO_IOMAP_IN_SPARE_IO2,
GPIO_IOMAP_IN_SPARE_IO3,
GPIO_IOMAP_IN_TMR2_CAP_IN,
GPIO_IOMAP_IN_TMR3_CAP_IN,
GPIO_IOMAP_IN_PDM_DATA_IN_EPWM_TZ1_M3_2,
GPIO_IOMAP_IN_PTA_REQ_IN_EPWM_TZ2_M3_3,
GPIO_IOMAP_IN_PTA_PRI_IN_EPWM_TZ3_M3_4,
GPIO_IOMAP_IN_FREQ_IND_IN_EPWM_TZ4_M3_5,
GPIO_IOMAP_IN_STMR0_CAP_IN_LCD_D3_IN_M1_22_EPWM_SYNC_IO_M3_6,
GPIO_IOMAP_IN_STMR1_CAP_IN_LCD_D4_IN_M1_23,
GPIO_IOMAP_IN_STMR2_CAP_IN_LCD_D5_IN_M1_24,
GPIO_IOMAP_IN_STMR3_CAP_IN_LCD_D6_IN_M1_25,
GPIO_IOMAP_IN_PORT_WKUP_IN0 = 13,
GPIO_IOMAP_IN_TMR0_CAP_IN = 13,
GPIO_IOMAP_IN_PORT_WKUP_IN1_LCD_D7_IN_M1_26 = 14,
GPIO_IOMAP_IN_TMR0_SYNCI = 14,
GPIO_IOMAP_IN_EXT_RFSWITCH_EN0 = 14,
GPIO_IOMAP_IN_PORT_WKUP_IN2_LCD_D8_IN_M1_27 = 15,
GPIO_IOMAP_IN_TMR1_CAP_IN = 15,
GPIO_IOMAP_IN_PORT_WKUP_IN3_LCD_TE_M0_10,
GPIO_IOMAP_IN_UART0_IN,
GPIO_IOMAP_IN_UART0_CTS_DE_IN,
GPIO_IOMAP_IN_UART1_IN_LCD_D9_IN_M1_28,
GPIO_IOMAP_IN_UART1_CTS_DE_IN_LCD_D10_IN_M1_29,
GPIO_IOMAP_IN_FB_IN_EXT_PA_EN_SYS_NMI_CAN_RXD,
GPIO_IOMAP_IN_UART4_IN,
GPIO_IOMAP_IN_LCD_D0_IN_M1_19,
GPIO_IOMAP_IN_SPI0_NSS_IN,
GPIO_IOMAP_IN_SPI0_SCK_IN,
GPIO_IOMAP_IN_SPI0_IO0_IN,
GPIO_IOMAP_IN_SPI0_IO1_IN,
GPIO_IOMAP_IN_SPI0_IO2_IN,
GPIO_IOMAP_IN_SPI0_IO3_IN,
GPIO_IOMAP_IN_SPI1_NSS_IN_LCD_D11_IN_M1_30,
GPIO_IOMAP_IN_SPI1_SCK_IN,
GPIO_IOMAP_IN_SPI1_IO0_IN,
GPIO_IOMAP_IN_SPI1_IO1_IN_LCD_D12_IN_M1_31,
GPIO_IOMAP_IN_LCD_D1_IN_M1_20,
GPIO_IOMAP_IN_LCD_D2_IN_M1_21,
GPIO_IOMAP_IN_SPI2_NSS_IN_LCD_D13_IN_M2_0,
GPIO_IOMAP_IN_SPI2_SCK_IN,
GPIO_IOMAP_IN_SPI2_IO0_IN,
GPIO_IOMAP_IN_SPI2_IO1_IN_LCD_D14_IN_M2_1,
GPIO_IOMAP_IN_SPI2_IO2_IN_LCD_D15_IN_M2_2,
GPIO_IOMAP_IN_SPI2_IO3_IN_LCD_D16_IN_M2_3,
GPIO_IOMAP_IN_STMR4_CAP_IN_LCD_D17_IN_M2_4,
GPIO_IOMAP_IN_STMR5_CAP_IN_LCD_D18_IN_M2_5,
GPIO_IOMAP_IN_SDHOST_CMD_IN,
GPIO_IOMAP_IN_SDHOST_DAT0_IN,
GPIO_IOMAP_IN_SDHOST_DAT1_IN,
GPIO_IOMAP_IN_SDHOST_DAT2_IN,
GPIO_IOMAP_IN_SDHOST_DAT3_IN,
GPIO_IOMAP_IN_IIS0_MCLK_IN_LCD_D19_IN_M2_6,
GPIO_IOMAP_IN_IIS0_WSCLK_IN_LCD_D20_IN_M2_7,
GPIO_IOMAP_IN_IIS0_BCLK_IN_LCD_D21_IN_M2_8,
GPIO_IOMAP_IN_IIS0_DAT_IN_UART6_RX_M3_9,
GPIO_IOMAP_IN_IIS1_MCLK_IN_Uart5_IN_LCD_D22_IN_M2_9,
GPIO_IOMAP_IN_IIS1_WSCLK_IN_LCD_D23_IN_M2_10,
GPIO_IOMAP_IN_SPI1_IO2_IN_IIS1_BCLK_IN,
GPIO_IOMAP_IN_SPI1_IO3_IN_IIS1_DAT_IN_UART6_RX_M3_9,
};
/** @defgroup Enumeration constant for GPIO spare iomap function
* @{ IO连接到备用的功能点上 MAP无法复用的问题
*
*/
enum smap_node{
SMAP_OUT_0 = 0,
SMAP_OUT_1,
SMAP_OUT_2,
SMAP_OUT_3,
SMAP_IN_1,
SMAP_IN_2,
SMAP_IN_3,
};
enum smap_output{
SMAP_OUT_RF_EXT_LNA_EN ,
SMAP_OUT_RF_TX_EN_FEM ,
SMAP_OUT_RF_SWITCH_EN1 ,
SMAP_OUT_RF_RX_EN_FEM ,
SMAP_OUT_RF_SWITCH_EN0 ,
SMAP_OUT_RF_TRX_SW_FEM ,
SMAP_OUT_RF_PA_EN_FEM ,
SMAP_OUT_GRANT_BLE ,
SMAP_OUT_GRANT_BLE_SWITCH_O ,
SMAP_OUT_GRANT_WIFI_SWITCH_O ,
SMAP_OUT_UART0_RTS_RE_O ,
SMAP_OUT_UART0_CTS_DE_OUT ,
SMAP_OUT_UART0_OUT ,
SMAP_OUT_UART1_RTS_RE_O ,
SMAP_OUT_UART1_CTS_DE_OUT ,
SMAP_OUT_UART1_OUT ,
SMAP_OUT_UART4_TX ,
SMAP_OUT_UART5_TX ,
SMAP_OUT_UART6_TX ,
SMAP_OUT_VIDEO_PAR_DATA_O_0 ,
SMAP_OUT_VIDEO_PAR_DATA_O_1 ,
SMAP_OUT_VIDEO_PAR_DATA_O_2 ,
SMAP_OUT_VIDEO_PAR_DATA_O_3 ,
SMAP_OUT_VIDEO_PAR_DATA_O_4 ,
SMAP_OUT_VIDEO_PAR_DATA_O_5 ,
SMAP_OUT_VIDEO_PAR_DATA_O_6 ,
SMAP_OUT_VIDEO_PAR_DATA_O_7 ,
SMAP_OUT_VIDEO_PAR_DATA_O_8 ,
SMAP_OUT_VIDEO_PAR_DATA_O_9 ,
SMAP_OUT_DBGPATH_DBGO_0 ,
SMAP_OUT_DBGPATH_DBGO_1 ,
SMAP_OUT_DBGPATH_DBGO_2 ,
SMAP_OUT_DBGPATH_DBGO_3 ,
SMAP_OUT_DBGPATH_DBGO_4 ,
SMAP_OUT_DBGPATH_DBGO_5 ,
SMAP_OUT_DBGPATH_DBGO_6 ,
SMAP_OUT_DBGPATH_DBGO_7 ,
SMAP_OUT_DBGPATH_DBGO_8 ,
SMAP_OUT_DBGPATH_DBGO_9 ,
SMAP_OUT_STMR0_PWM_OUT ,
SMAP_OUT_STMR1_PWM_OUT ,
SMAP_OUT_STMR2_PWM_OUT ,
SMAP_OUT_STMR3_PWM_OUT ,
SMAP_OUT_STMR4_PWM_OUT ,
SMAP_OUT_STMR5_PWM_OUT ,
SMAP_OUT_TMR3_PWM_OUT ,
SMAP_OUT_TMR2_PWM_OUT ,
SMAP_OUT_TMR1_PWM_OUT ,
SMAP_OUT_TMR0_PWM_OUT ,
SMAP_OUT_LED_TMR0_PWM_OUT ,
SMAP_OUT_LED_TMR1_PWM_OUT ,
SMAP_OUT_LED_TMR2_PWM_OUT ,
SMAP_OUT_LED_TMR3_PWM_OUT ,
SMAP_OUT_OSPI_CS_IO ,
SMAP_OUT_QSPI_NSS1_OUT ,
SMAP_OUT_QSPI_OSPI_MNT_O_0 ,
SMAP_OUT_QSPI_OSPI_MNT_O_1 ,
SMAP_OUT_QSPI_OSPI_MNT_O_2 ,
SMAP_OUT_QSPI_OSPI_MNT_O_3 ,
SMAP_OUT_QSPI_OSPI_MNT_O_4 ,
SMAP_OUT_QSPI_OSPI_MNT_O_5 ,
SMAP_OUT_QSPI_OSPI_MNT_O_6 ,
SMAP_OUT_QSPI_OSPI_MNT_O_7 ,
SMAP_OUT_QSPI_OSPI_MNT_O_8 ,
SMAP_OUT_QSPI_OSPI_MNT_O_9 ,
SMAP_OUT_QSPI_OSPI_MNT_O_10 ,
SMAP_OUT_QSPI_OSPI_MNT_O_11 ,
SMAP_OUT_QSPI_OSPI_MNT_O_12 ,
SMAP_OUT_QSPI_OSPI_MNT_O_13 ,
SMAP_OUT_QSPI_OSPI_MNT_O_14 ,
SMAP_OUT_QSPI_OSPI_MNT_O_15 ,
SMAP_OUT_QSPI_OSPI_MNT_O_16 ,
SMAP_OUT_QSPI_OSPI_MNT_O_17 ,
SMAP_OUT_QSPI_OSPI_MNT_O_18 ,
SMAP_OUT_QSPI_OSPI_MNT_O_19 ,
SMAP_OUT_SDHOST1_CMD_OUT ,
SMAP_OUT_SDHOST1_SCLK_O ,
SMAP_OUT_SDHOST1_DAT0_OUT,
SMAP_OUT_SDHOST1_DAT1_OUT,
SMAP_OUT_SDHOST1_DAT2_OUT,
SMAP_OUT_SDHOST1_DAT3_OUT,
SMAP_OUT_SDHOST_SCLK_O ,
SMAP_OUT_SDHOST_CMD_OUT ,
SMAP_OUT_SDHOST_DAT0_OUT ,
SMAP_OUT_SDHOST_DAT1_OUT ,
SMAP_OUT_SDHOST_DAT2_OUT ,
SMAP_OUT_SDHOST_DAT3_OUT ,
SMAP_OUT_IO2IO_CHANNAL3 ,
SMAP_OUT_IO2IO_CHANNAL2 ,
SMAP_OUT_IO2IO_CHANNAL1 ,
SMAP_OUT_IO2IO_CHANNAL0 ,
SMAP_OUT_IIS1_WSCLK_OUT ,
SMAP_OUT_IIS1_BCLK_OUT ,
SMAP_OUT_IIS1_DO ,
SMAP_OUT_IIS1_MCLK_OUT ,
SMAP_OUT_IIS0_MCLK_OUT ,
SMAP_OUT_IIS0_WSCLK_OUT ,
SMAP_OUT_IIS0_BCLK_OUT ,
SMAP_OUT_IIS0_DO ,
SMAP_OUT_LCD_DATA_O_0 ,
SMAP_OUT_LCD_DATA_O_1 ,
SMAP_OUT_LCD_DATA_O_2 ,
SMAP_OUT_LCD_DATA_O_3 ,
SMAP_OUT_LCD_DATA_O_4 ,
SMAP_OUT_LCD_DATA_O_5 ,
SMAP_OUT_LCD_DATA_O_6 ,
SMAP_OUT_LCD_DATA_O_7 ,
SMAP_OUT_LCD_DATA_O_8 ,
SMAP_OUT_LCD_DATA_O_9 ,
SMAP_OUT_LCD_DATA_O_10 ,
SMAP_OUT_LCD_DATA_O_11 ,
SMAP_OUT_LCD_DATA_O_12 ,
SMAP_OUT_LCD_DATA_O_13 ,
SMAP_OUT_LCD_DATA_O_14 ,
SMAP_OUT_LCD_DATA_O_15 ,
SMAP_OUT_LCD_DATA_O_16 ,
SMAP_OUT_LCD_DATA_O_17 ,
SMAP_OUT_LCD_DATA_O_18 ,
SMAP_OUT_LCD_DATA_O_19 ,
SMAP_OUT_LCD_DATA_O_20 ,
SMAP_OUT_LCD_DATA_O_21 ,
SMAP_OUT_LCD_DATA_O_22 ,
SMAP_OUT_LCD_DATA_O_23 ,
SMAP_OUT_LCD_DOTCLK_OR_RWR ,
SMAP_OUT_LCD_VSYNC_OR_CS ,
SMAP_OUT_LCD_HSYNC_OR_DC ,
SMAP_OUT_LCD_DE_OR_ERD ,
SMAP_OUT_SPI0_NSS_OUT ,
SMAP_OUT_SPI0_SCK_OUT ,
SMAP_OUT_SPI0_IO0_OUT ,
SMAP_OUT_SPI0_IO1_OUT ,
SMAP_OUT_SPI0_IO2_OUT ,
SMAP_OUT_SPI0_IO3_OUT ,
SMAP_OUT_SPI1_SCK_OUT ,
SMAP_OUT_SPI1_NSS_OUT ,
SMAP_OUT_SPI1_IO0_OUT ,
SMAP_OUT_SPI1_IO1_OUT ,
SMAP_OUT_SPI1_IO2_OUT ,
SMAP_OUT_SPI1_IO3_OUT ,
SMAP_OUT_SPI2_NSS_OUT ,
SMAP_OUT_SPI2_SCK_OUT ,
SMAP_OUT_SPI2_IO0_OUT ,
SMAP_OUT_SPI2_IO1_OUT ,
SMAP_OUT_SPI2_IO2_OUT ,
SMAP_OUT_SPI2_IO3_OUT ,
SMAP_OUT_NFC_TX_GATE_N ,
SMAP_OUT_NFC_TX_N ,
SMAP_OUT_NFC_TX_GATE_P ,
SMAP_OUT_NFC_TX_P ,
SMAP_OUT_COMP_DOUT_DIG0 ,
SMAP_OUT_COMP_DOUT_DIG1 ,
SMAP_OUT_ANTENNA_SEL ,
SMAP_OUT_LIN_TX ,
SMAP_OUT_LIN1_TX ,
SMAP_OUT_PA_EN ,
SMAP_OUT_DVP_MCLK_OUT ,
SMAP_OUT_DAC_PDM_OUT ,
SMAP_OUT_DUAL_ORG_FSYNC ,
SMAP_OUT_PDM_MCLK ,
SMAP_OUT_CAN_TXD ,
SMAP_OUT_CLK_TO_IO ,
};
enum smap_input{
SMAP_IN_IO2IO_CH0 = 1,
SMAP_IN_IO2IO_CH1,
SMAP_IN_IO2IO_CH2,
SMAP_IN_IO2IO_CH3,
SMAP_IN_LCD_DAT_3 =5,
SMAP_IN_LCD_DAT_4,
SMAP_IN_LCD_DAT_5,
SMAP_IN_LCD_DAT_6,
SMAP_IN_LCD_DAT_7,
SMAP_IN_LCD_DAT_8 = 10,
SMAP_IN_EX_RFSWI_EN0 = 11,
SMAP_IN_LCD_DAT_9 = 12,
SMAP_IN_LCD_DAT_10,
SMAP_IN_FB_IN = 14,
SMAP_IN_EX_RF_PA_EN = 15,
SMAP_IN_LCD_DAT_11 = 16,
SMAP_IN_LCD_DAT_12,
SMAP_IN_SDHOST1_DAT3,
SMAP_IN_LCD_DAT_13,
SMAP_IN_SDHOST1_DAT0,
SMAP_IN_SDHOST1_CMD,
SMAP_IN_LCD_DAT_14,
SMAP_IN_SDHOST1_DAT2,
SMAP_IN_LCD_DAT_15,
SMAP_IN_SPI2_IO3,
SMAP_IN_LCD_DAT_16,
SMAP_IN_LCD_DAT_17,
SMAP_IN_LCD_DAT_18,
SMAP_IN_LCD_DAT_19,
SMAP_IN_LCD_DAT_20,
SMAP_IN_LCD_DAT_21,
SMAP_IN_UART5_RX = 32,
SMAP_IN_LCD_DAT_22,
SMAP_IN_LCD_DAT_23,
SMAP_IN_SPI_IO2,
SMAP_IN_SPI_IO3,
SMAP_IN_UART6_RX,
};
/** @} Docxygenid_IO_function_enum*/
int32 gpio_driver_strength(uint32 pin, enum pin_driver_strength strength);
int32 gpio_set_altnt_func(uint32 pin, enum gpio_afio_set afio);
int32 gpio_iomap_output(uint32 pin, enum gpio_iomap_out_func func_sel);
int32 gpio_iomap_input(uint32 pin, enum gpio_iomap_in_func func_sel);
int32 gpio_iomap_inout(uint32 pin, enum gpio_iomap_in_func in_func_sel, enum gpio_iomap_out_func out_func_sel);
int lmac_fem_pin_func(int request);
#ifdef __cplusplus
}
#endif
#endif
/*************************** (C) COPYRIGHT 2016-2022 HUGE-IC ***** END OF FILE *****/