blob: 96ebc5302a3d098ad6e9ec031f04c56f4b1488c5 [file] [log] [blame]
/**
* @file drvs_gpio.h
* @brief Public APIs of gpio drivers
*
* Copyright (C) 2017 Sanechips Technology Co., Ltd.
* @author Dongdong Zhang <Zhang.Dongdong@sanechips.com.cn>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
*/
#ifndef _DRVS_GPIO_H
#define _DRVS_GPIO_H
#ifdef _OS_LINUX
#include <linux/gpio.h>
#else
/*******************************************************************************
* Include header files *
******************************************************************************/
/*******************************************************************************
* Macro definitions *
******************************************************************************/
#define GPIO0 0
#define GPIO1 1
#define GPIO2 2
#define GPIO3 3
#define GPIO4 4
#define GPIO5 5
#define GPIO6 6
#define GPIO7 7
#define GPIO8 8
#define GPIO9 9
#define GPIO10 10
#define GPIO11 11
#define GPIO12 12
#define GPIO13 13
#define GPIO14 14
#define GPIO15 15
#define GPIO16 16
#define GPIO17 17
#define GPIO18 18
#define GPIO19 19
#define GPIO20 20
#define GPIO21 21
#define GPIO22 22
#define GPIO23 23
#define GPIO24 24
#define GPIO25 25
#define GPIO26 26
#define GPIO27 27
#define GPIO28 28
#define GPIO29 29
#define GPIO30 30
#define GPIO31 31
#define GPIO32 32
#define GPIO33 33
#define GPIO34 34
#define GPIO35 35
#define GPIO36 36
#define GPIO37 37
#define GPIO38 38
#define GPIO39 39
#define GPIO40 40
#define GPIO41 41
#define GPIO42 42
#define GPIO43 43
#define GPIO44 44
#define GPIO45 45
#define GPIO46 46
#define GPIO47 47
#define GPIO48 48
#define GPIO49 49
#define GPIO50 50
#define GPIO51 51
#define GPIO52 52
#define GPIO53 53
#define GPIO54 54
#define GPIO55 55
#define GPIO56 56
#define GPIO57 57
#define GPIO58 58
#define GPIO59 59
#define GPIO60 60
#define GPIO61 61
#define GPIO62 62
#define GPIO63 63
#define GPIO64 64
#define GPIO65 65
#define GPIO66 66
#define GPIO67 67
#define GPIO68 68
#define GPIO69 69
#define GPIO70 70
#define GPIO71 71
#define GPIO72 72
#define GPIO73 73
#define GPIO74 74
#define GPIO75 75
#define GPIO76 76
#define GPIO77 77
#define GPIO78 78
#define GPIO79 79
#define GPIO80 80
#define GPIO81 81
#define GPIO82 82
#define GPIO83 83
#define GPIO84 84
#define GPIO85 85
#define GPIO86 86
#define GPIO87 87
#define GPIO88 88
#define GPIO89 89
#define GPIO90 90
#define GPIO91 91
#define GPIO92 92
#define GPIO93 93
#define GPIO94 94
#define GPIO95 95
#define GPIO96 96
#define GPIO97 97
#define GPIO98 98
#define GPIO99 99
#define GPIO100 100
#define GPIO101 101
#define GPIO102 102
#define GPIO103 103
#define GPIO104 104
#define GPIO105 105
#define GPIO106 106
#define GPIO107 107
#define GPIO108 108
#define GPIO109 109
#define GPIO110 110
#define GPIO111 111
#define GPIO112 112
#define GPIO113 113
#define GPIO114 114
#define GPIO115 115
#define GPIO116 116
#define GPIO117 117
#define GPIO118 118
#define GPIO119 119
#define GPIO120 120
#define GPIO121 121
#define GPIO122 122
#define GPIO123 123
#define GPIO124 124
#define GPIO125 125
#define GPIO126 126
#define GPIO127 127
#define GPIO128 128
#define GPIO129 129
#define GPIO130 130
#define GPIO131 131
#define GPIO132 132
#define GPIO133 133
#define GPIO134 134
#define GPIO135 135
#define GPIO136 136
#define GPIO137 137
#define GPIO138 138
#define GPIO139 139
#define GPIO140 140
#define GPIO141 141
#define GPIO142 142
#define GPIO143 143
#define GPIO144 144
#define GPIO145 145
#define GPIO146 146
#define GPIO147 147
#define GPIO148 148
#define GPIO149 149
#define GPIO150 150
#define GPIO151 151
#define GPIO152 152
#define GPIO153 153
#define GPIO154 154
#define GPIO155 155
#if defined (_CHIP_ZX297520V3)
#define MAX_GPIO_NUM GPIO135
#elif defined (_CHIP_ZX297520V2)
#define MAX_GPIO_NUM GPIO155
#endif
#define INVLID_GPIO 0xffff
/*******************************************************************************
* Type definitions *
******************************************************************************/
typedef enum{
GPIO_IN = 101,
GPIO_OUT = 102,
}T_ZDrvGpio_IoDirection;
typedef enum{
GPIO_LOW = 201,
GPIO_HIGH = 202,
}T_ZDrvGpio_IoVal;
typedef enum{
GPIO_PULL_DOWN = 0x1,
GPIO_NO_ACTION = 0x2,
GPIO_PULL_UP = 0x3,
}T_ZDrvGpio_PullUp;
#if defined (_CHIP_ZX297520V3)
typedef enum
{
/*[31:24]:gpio_id [23:12]:level1_sel [11:0]:level2_sel*/
GPIO0_GPIO0 = 0x00000000,
GPIO0_NAND_WE = 0x00001000,
GPIO0_LCD_OE_N = 0x00001001,
GPIO1_GPIO1 = 0x01000000,
GPIO1_NAND_CS0 = 0x01001000,
GPIO1_LCD_CS_N = 0x01001001,
GPIO2_GPIO2 = 0x02000000,
GPIO2_NAND_READY = 0x02001000,
GPIO2_LCD_RS = 0x02001001,
GPIO3_GPIO3 = 0x03000000,
GPIO3_NAND_CLE = 0x03001000,
GPIO3_LCD_RESET_N = 0x03001001,
GPIO4_GPIO4 = 0x04000000,
GPIO4_NAND_ALE = 0x04001000,
GPIO4_LCD_WE_N = 0x04001001,
GPIO5_GPIO5 = 0x05000000,
GPIO5_NAND_RE = 0x05001000,
GPIO5_LCD_TE = 0x05001001,
GPIO6_GPIO6 = 0x06000000,
GPIO6_NAND_WRITE_PROTECT = 0x06001000,
GPIO6_LCD_D0 = 0x06001001,
GPIO7_GPIO7 = 0x07000000,
GPIO7_NAND_DATA0 = 0x07001000,
GPIO7_LCD_D1 = 0x07001001,
GPIO8_GPIO8 = 0x08000000,
GPIO8_NAND_DATA1 = 0x08001000,
GPIO8_LCD_D2 = 0x08001001,
GPIO9_GPIO9 = 0x09000000,
GPIO9_NAND_DATA2 = 0x09001000,
GPIO9_LCD_D3 = 0x09001001,
GPIO10_GPIO10 = 0x0A000000,
GPIO10_NAND_DATA3 = 0x0A001000,
GPIO10_LCD_D4 = 0x0A001001,
GPIO11_GPIO11 = 0x0B000000,
GPIO11_NAND_DATA4 = 0x0B001000,
GPIO11_LCD_D5 = 0x0B001001,
GPIO12_GPIO12 = 0x0C000000,
GPIO12_NAND_DATA5 = 0x0C001000,
GPIO12_LCD_D6 = 0x0C001001,
GPIO13_GPIO13 = 0x0D000000,
GPIO13_NAND_DATA6 = 0x0D001000,
GPIO13_LCD_D7 = 0x0D001001,
GPIO14_GPIO14 = 0x0E000000,
GPIO14_NAND_DATA7 = 0x0E001000,
GPIO14_LCD_D8 = 0x0E001001,
GPIO15_CLK_OUT0 = 0x0F000000,
GPIO15_GPIO15 = 0x0F000001,
GPIO16_GPIO16 = 0x10000000,
GPIO16_CLK_OUT1 = 0x10000001,
GPIO17_GPIO17 = 0x11000000,
GPIO17_CLK_OUT2 = 0x11000001,
GPIO17_TEST_CLK_OUT = 0x11000002,
GPIO17_TDM_MCLK_OUT = 0x11001000,
GPIO17_I2S0_MCLK_OUT = 0x11001001,
GPIO17_I2S1_MCLK_OUT = 0x11001002,
GPIO18_GPIO18 = 0x12000000,
GPIO18_CLK_32K_OUT = 0x12000001,
GPIO19_GPIO19 = 0x13000000,
GPIO19_RMII_CLK_I = 0x13001000,
GPIO20_GPIO20 = 0x14000000,
GPIO20_RMII_CLK_O = 0x14001000,
GPIO21_CLK_REQ0 = 0x15000000,
GPIO21_GPIO21 = 0x15000001,
GPIO22_CLK_REQ1 = 0x16000000,
GPIO22_GPIO22 = 0x16000001,
GPIO23_PWRCTRL = 0x17000000,
GPIO23_GPIO23 = 0x17000001,
GPIO24_GPIO24 = 0x18000000,
GPIO25_GPIO25 = 0x19000000,
GPIO25_SSP0_CS = 0x19001000,
GPIO26_GPIO26 = 0x1A000000,
GPIO26_SSP0_CLK = 0x1A001000,
GPIO27_GPIO27 = 0x1B000000,
GPIO27_SSP0_RXD = 0x1B001000,
GPIO28_GPIO28 = 0x1C000000,
GPIO28_SSP0_TXD = 0x1C001000,
GPIO29_UART0_RXD = 0x1D000000,
GPIO29_GPIO29 = 0x1D000001,
GPIO29_UART0_TXD = 0x1D000002,
GPIO29_FRAME_SYNC = 0x1D001000,
GPIO29_TEST_PIN10 = 0x1D001001,
GPIO30_UART0_TXD = 0x1E000000,
GPIO30_GPIO30 = 0x1E000001,
GPIO30_UART0_RXD = 0x1E000002,
GPIO30_LTE_PRE_TX = 0x1E001000,
GPIO30_TEST_PIN11 = 0x1E001001,
GPIO31_UART0_CTS = 0x1F000000,
GPIO31_GPIO31 = 0x1F000001,
GPIO31_LTE_TPU_OUT3 = 0x1F001000,
GPIO31_UART1_TXD = 0x1F001001,
GPIO31_TEST_PIN12 = 0x1F001002,
GPIO32_UART0_RTS = 0x20000000,
GPIO32_GPIO32 = 0x20000001,
GPIO32_LTE_TPU_OUT4 = 0x20001000,
GPIO32_UART1_RXD = 0x20001001,
GPIO33_GPIO33 = 0x21000000,
GPIO33_UART1_RXD = 0x21001000,
GPIO33_UART2_TXD = 0x21001001,
GPIO33_UART2_RXD = 0x21001002,
GPIO34_GPIO34 = 0x22000000,
GPIO34_UART1_TXD = 0x22001000,
GPIO34_UART2_RXD = 0x22001001,
GPIO34_UART2_TXD = 0x22001002,
GPIO35_GPIO35 = 0x23000000,
GPIO35_I2S0_WS = 0x23001000,
GPIO35_TEST_PIN0 = 0x23001001,
GPIO35_TDM_FS = 0x23001002,
GPIO36_GPIO36 = 0x24000000,
GPIO36_I2S0_CLK = 0x24001000,
GPIO36_TEST_PIN1 = 0x24001001,
GPIO36_TDM_CLK = 0x24001002,
GPIO37_GPIO37 = 0x25000000,
GPIO37_I2S0_DIN = 0x25001000,
GPIO37_TEST_PIN2 = 0x25001001,
GPIO37_TDM_DATA_IN = 0x25001002,
GPIO38_GPIO38 = 0x26000000,
GPIO38_I2S0_DOUT = 0x26001000,
GPIO38_TEST_PIN3 = 0x26001001,
GPIO38_TDM_DATA_OUT = 0x26001002,
GPIO39_GPIO39 = 0x27000000,
GPIO39_I2S1_WS = 0x27001000,
GPIO39_TEST_PIN4 = 0x27001001,
GPIO39_TDM_FS = 0x27001002,
GPIO39_PWM0 = 0x27001003,
GPIO40_GPIO40 = 0x28000000,
GPIO40_I2S1_CLK = 0x28001000,
GPIO40_TEST_PIN5 = 0x28001001,
GPIO40_TDM_CLK = 0x28001002,
GPIO40_PWM1 = 0x28001003,
GPIO41_GPIO41 = 0x29000000,
GPIO41_I2S1_DIN = 0x29001000,
GPIO41_TEST_PIN6 = 0x29001001,
GPIO41_TDM_DATA_IN = 0x29001002,
GPIO42_GPIO42 = 0x2A000000,
GPIO42_I2S1_DOUT = 0x2A001000,
GPIO42_TEST_PIN7 = 0x2A001001,
GPIO42_TDM_DATA_OUT = 0x2A001002,
GPIO43_SCL0 = 0x2B000000,
GPIO43_GPIO43 = 0x2B000001,
GPIO44_SDA0 = 0x2C000000,
GPIO44_GPIO44 = 0x2C000001,
GPIO45_GPIO45 = 0x2D000000,
GPIO45_SCL1 = 0x2D001000,
GPIO46_GPIO46 = 0x2E000000,
GPIO46_SDA1 = 0x2E001000,
GPIO47_GPIO47 = 0x2F000000,
GPIO47_EXT_INT0 = 0x2F000001,
GPIO48_GPIO48 = 0x30000000,
GPIO48_EXT_INT1 = 0x30000001,
GPIO49_GPIO49 = 0x31000000,
GPIO49_EXT_INT2 = 0x31000001,
GPIO50_GPIO50 = 0x32000000,
GPIO50_EXT_INT3 = 0x32000001,
GPIO50_TEST_PIN8 = 0x32001000,
GPIO51_GPIO51 = 0x33000000,
GPIO51_EXT_INT4 = 0x33000001,
GPIO51_TEST_PIN9 = 0x33001000,
GPIO52_GPIO52 = 0x34000000,
GPIO52_EXT_INT5 = 0x34000001,
GPIO52_TEST_PIN13 = 0x34001000,
GPIO53_GPIO53 = 0x35000000,
GPIO53_EXT_INT6 = 0x35000001,
GPIO53_TEST_PIN14 = 0x35001000,
GPIO54_GPIO54 = 0x36000000,
GPIO54_EXT_INT7 = 0x36000001,
GPIO54_TEST_PIN15 = 0x36001000,
GPIO55_GPIO55 = 0x37000000,
GPIO55_RMII_TXEN = 0x37001000,
GPIO56_GPIO56 = 0x38000000,
GPIO56_RMII_RXEN = 0x38001000,
GPIO57_GPIO57 = 0x39000000,
GPIO57_RMII_RXD0 = 0x39001000,
GPIO58_GPIO58 = 0x3A000000,
GPIO58_RMII_RXD1 = 0x3A001000,
GPIO59_GPIO59 = 0x3B000000,
GPIO59_RMII_TXD0 = 0x3B001000,
GPIO60_GPIO60 = 0x3C000000,
GPIO60_RMII_TXD1 = 0x3C001000,
GPIO61_GPIO61 = 0x3D000000,
GPIO61_MDC_SCLK = 0x3D001000,
GPIO62_GPIO62 = 0x3E000000,
GPIO62_MDC_SDIO = 0x3E001000,
GPIO63_GPIO63 = 0x3F000000,
GPIO63_PHY_RST = 0x3F001000,
GPIO64_GPIO64 = 0x40000000,
GPIO64_PHY_INT = 0x40001000,
GPIO65_GPIO65 = 0x41000000,
GPIO66_GPIO66 = 0x42000000,
GPIO66_KEY_COL2 = 0x42000001,
GPIO66_EMMC_CLK = 0x42001000,
GPIO67_GPIO67 = 0x43000000,
GPIO67_KEY_COL3 = 0x43000001,
GPIO67_EMMC_CMD = 0x43001000,
GPIO68_GPIO68 = 0x44000000,
GPIO68_KEY_COL4 = 0x44000001,
GPIO68_EMMC_DATA0 = 0x44001000,
GPIO69_GPIO69 = 0x45000000,
GPIO69_KEY_ROW2 = 0x45000001,
GPIO69_EMMC_DATA1 = 0x45001000,
GPIO70_GPIO70 = 0x46000000,
GPIO70_KEY_ROW3 = 0x46000001,
GPIO70_EMMC_DATA2 = 0x46001000,
GPIO71_GPIO71 = 0x47000000,
GPIO71_KEY_ROW4 = 0x47000001,
GPIO71_EMMC_DATA3 = 0x47001000,
GPIO72_GPIO72 = 0x48000000,
GPIO72_SD1_HOST_SDCLK = 0x48001000,
GPIO73_GPIO73 = 0x49000000,
GPIO73_M_JTAG_TDO = 0x49000001,
GPIO73_SD1_CMD = 0x49001000,
GPIO73_PS_JTAG_TDO = 0x49001001,
GPIO73_PHY_JTAG_TDO = 0x49001002,
GPIO73_AP_JTAG_TDO = 0x49001003,
GPIO74_GPIO74 = 0x4A000000,
GPIO74_M_JTAG_TCK = 0x4A000001,
GPIO74_SD1_DATA0 = 0x4A001000,
GPIO74_PS_JTAG_TCK = 0x4A001001,
GPIO74_PHY_JTAG_TCK = 0x4A001002,
GPIO74_AP_JTAG_TCK = 0x4A001003,
GPIO75_GPIO75 = 0x4B000000,
GPIO75_M_JTAG_TRST = 0x4B000001,
GPIO75_SD1_DATA1 = 0x4B001000,
GPIO75_PS_JTAG_TRST = 0x4B001001,
GPIO75_PHY_JTAG_TRST = 0x4B001002,
GPIO75_AP_JTAG_TRST = 0x4B001003,
GPIO76_GPIO76 = 0x4C000000,
GPIO76_M_JTAG_TMS = 0x4C000001,
GPIO76_SD1_DATA2 = 0x4C001000,
GPIO76_PS_JTAG_TMS = 0x4C001001,
GPIO76_PHY_JTAG_TMS = 0x4C001002,
GPIO76_AP_JTAG_TMS = 0x4C001003,
GPIO77_GPIO77 = 0x4D000000,
GPIO77_M_JTAG_TDI = 0x4D000001,
GPIO77_SD1_DATA3 = 0x4D001000,
GPIO77_PS_JTAG_TDI = 0x4D001001,
GPIO77_PHY_JTAG_TDI = 0x4D001002,
GPIO77_AP_JTAG_TDI = 0x4D001003,
GPIO78_M_JTAG_TCK = 0x4E000000,
GPIO78_GPIO78 = 0x4E000001,
GPIO78_PS_JTAG_TCK = 0x4E001000,
GPIO78_PHY_JTAG_TCK = 0x4E001001,
GPIO78_AP_JTAG_TCK = 0x4E001002,
GPIO79_M_JTAG_TDI = 0x4F000000,
GPIO79_GPIO79 = 0x4F000001,
GPIO79_PS_JTAG_TDI = 0x4F001000,
GPIO79_PHY_JTAG_TDI = 0x4F001001,
GPIO79_AP_JTAG_TDI = 0x4F001002,
GPIO80_M_JTAG_TDO = 0x50000000,
GPIO80_GPIO80 = 0x50000001,
GPIO80_PS_JTAG_TDO = 0x50001000,
GPIO80_PHY_JTAG_TDO = 0x50001001,
GPIO80_AP_JTAG_TDO = 0x50001002,
GPIO81_M_JTAG_TMS = 0x51000000,
GPIO81_GPIO81 = 0x51000001,
GPIO81_PS_JTAG_TMS = 0x51001000,
GPIO81_PHY_JTAG_TMS = 0x51001001,
GPIO81_AP_JTAG_TMS = 0x51001002,
GPIO82_M_JTAG_TRST = 0x52000000,
GPIO82_GPIO82 = 0x52000001,
GPIO82_PS_JTAG_TRST = 0x52001000,
GPIO82_PHY_JTAG_TRST = 0x52001001,
GPIO82_AP_JTAG_TRST = 0x52001002,
GPIO83_KEY_COL0 = 0x53000000,
GPIO83_GPIO83 = 0x53000001,
GPIO84_KEY_COL1 = 0x54000000,
GPIO84_GPIO84 = 0x54000001,
GPIO85_KEY_ROW0 = 0x55000000,
GPIO85_GPIO85 = 0x55000001,
GPIO86_KEY_ROW1 = 0x56000000,
GPIO86_GPIO86 = 0x56000001,
GPIO87_GPIO87 = 0x57000000,
GPIO87_CAM_SPI_CS = 0x57001000,
GPIO88_GPIO88 = 0x58000000,
GPIO88_CAM_SPI_CLK = 0x58001000,
GPIO89_GPIO89 = 0x59000000,
GPIO89_CAM_SPI_DATA0 = 0x59001000,
GPIO90_GPIO90 = 0x5A000000,
GPIO90_CAM_SPI_DATA1 = 0x5A001000,
GPIO90_CAM_SPI_TXD = 0x5A001001,
GPIO91_GPIO91 = 0x5B000000,
GPIO91_CAM_SPI_DATA2 = 0x5B001000,
GPIO92_GPIO92 = 0x5C000000,
GPIO92_CAM_SPI_DATA3 = 0x5C001000,
GPIO93_GPIO93 = 0x5D000000,
GPIO93_SPIFC_CS = 0x5D001000,
GPIO94_GPIO94 = 0x5E000000,
GPIO94_SPIFC_CLK = 0x5E001000,
GPIO95_GPIO95 = 0x5F000000,
GPIO95_SPIFC_DATA0 = 0x5F001000,
GPIO96_GPIO96 = 0x60000000,
GPIO96_SPIFC_DATA1 = 0x60001000,
GPIO97_GPIO97 = 0x61000000,
GPIO97_SPIFC_DATA2 = 0x61001000,
GPIO98_GPIO98 = 0x62000000,
GPIO98_SPIFC_DATA3 = 0x62001000,
GPIO99_GPIO99 = 0x63000000,
GPIO100_GPIO100 = 0x64000000,
GPIO100_RF_SPI_STR = 0x64001000,
GPIO101_GPIO101 = 0x65000000,
GPIO101_RF_SPI_CLK = 0x65001000,
GPIO102_GPIO102 = 0x66000000,
GPIO102_RF_SPI_DATA = 0x66001000,
GPIO103_GPIO103 = 0x67000000,
GPIO104_GPIO104 = 0x68000000,
GPIO104_TD_G0_GPIO2 = 0x68001081,
GPIO104_LTE_TPU_OUT0_5 = 0x68001009,
GPIO104_W_G0_GPIO2 = 0x68001011,
GPIO104_GSM_T_OUT_O_0 = 0x68001021,
GPIO105_GPIO105 = 0x69000000,
GPIO105_TD_G0_GPIO3 = 0x69001081,
GPIO105_LTE_TPU_OUT0_6 = 0x69001009,
GPIO105_W_G0_GPIO3 = 0x69001011,
GPIO105_GSM_T_OUT_O_1 = 0x69001021,
GPIO106_GPIO106 = 0x6A000000,
GPIO106_TD_G0_GPIO4 = 0x6A001081,
GPIO106_LTE_TPU_OUT0_7 = 0x6A001009,
GPIO106_W_G0_GPIO4 = 0x6A001011,
GPIO106_GSM_T_OUT_O_2 = 0x6A001021,
GPIO107_GPIO107 = 0x6B000000,
GPIO107_TD_G0_GPIO5 = 0x6B001081,
GPIO107_LTE_TPU_OUT0_8 = 0x6B001009,
GPIO107_W_G0_GPIO5 = 0x6B001011,
GPIO107_GSM_T_OUT_O_3 = 0x6B001021,
GPIO108_GPIO108 = 0x6C000000,
GPIO108_TD_G0_GPIO6 = 0x6C001081,
GPIO108_LTE_TPU_OUT0_9 = 0x6C001009,
GPIO108_W_G0_GPIO6 = 0x6C001011,
GPIO108_GSM_T_OUT_O_4 = 0x6C001021,
GPIO109_GPIO109 = 0x6D000000,
GPIO109_TD_G0_GPIO7 = 0x6D001081,
GPIO109_LTE_TPU_OUT0_10 = 0x6D001009,
GPIO109_W_G0_GPIO7 = 0x6D001011,
GPIO109_GSM_T_OUT_O_5 = 0x6D001021,
GPIO110_GPIO110 = 0x6E000000,
GPIO110_TD_G0_GPIO8 = 0x6E001081,
GPIO110_LTE_TPU_OUT0_11 = 0x6E001009,
GPIO110_W_G0_GPIO8 = 0x6E001011,
GPIO110_GSM_T_OUT_O_6 = 0x6E001021,
GPIO111_GPIO111 = 0x6F000000,
GPIO111_TD_G0_GPIO9 = 0x6F001081,
GPIO111_LTE_TPU_OUT0_12 = 0x6F001009,
GPIO111_W_G0_GPIO9 = 0x6F001011,
GPIO111_GSM_T_OUT_O_7 = 0x6F001021,
GPIO112_GPIO112 = 0x70000000,
GPIO112_MIPI_RFFE_CLK0 = 0x70001006,
GPIO112_TD_G0_GPIO10 = 0x70001081,
GPIO112_LTE_TPU_OUT0_13 = 0x70001009,
GPIO112_W_G0_GPIO10 = 0x70001011,
GPIO112_GSM_T_OUT_O_8 = 0x70001021,
GPIO113_GPIO113 = 0x71000000,
GPIO113_MIPI_RFFE_DATA0 = 0x71001006,
GPIO113_TD_G0_GPIO11 = 0x71001081,
GPIO113_LTE_TPU_OUT0_14 = 0x71001009,
GPIO113_W_G0_GPIO11 = 0x71001011,
GPIO113_GSM_T_OUT_O_9 = 0x71001021,
GPIO114_GPIO114 = 0x72000000,
GPIO114_MIPI_RFFE_CLK1 = 0x72001006,
GPIO114_ABB_I2C_SEL_PINMUX = 0x72000001,
GPIO114_TD_G0_GPIO12 = 0x72001081,
GPIO114_LTE_TPU_OUT0_15 = 0x72001009,
GPIO114_W_G0_GPIO12 = 0x72001011,
GPIO114_GSM_T_OUT_O_10 = 0x72001021,
GPIO115_GPIO115 = 0x73000000,
GPIO115_ABB_I2C_SDA_PINMUX = 0x73000001,
GPIO115_MIPI_RFFE_DATA1 = 0x73001006,
GPIO115_TD_G1_GPIO0 = 0x73001081,
GPIO115_LTE_TPU_OUT1_0 = 0x73001009,
GPIO115_W_G1_GPIO0 = 0x73001011,
GPIO115_GSM_T_OUT_O_11 = 0x73001021,
GPIO133_GPIO133 = 0x85000000,
GPIO133_SIM1_RST = 0x85000001,
GPIO133_TD_G1_GPIO1 = 0x85001081,
GPIO133_LTE_TPU_OUT1_1 = 0x85001009,
GPIO133_W_G1_GPIO1 = 0x85001011,
GPIO133_GSM_T_OUT_O_12 = 0x85001021,
GPIO134_GPIO134 = 0x86000000,
GPIO134_SIM1_CLK = 0x86000001,
GPIO134_TD_G1_GPIO2 = 0x86001081,
GPIO134_LTE_TPU_OUT1_2 = 0x86001009,
GPIO134_W_G1_GPIO2 = 0x86001011,
GPIO134_GSM_T_OUT_O_13 = 0x86001021,
GPIO135_GPIO135 = 0x87000000,
GPIO135_SIM1_DATA = 0x87000001,
GPIO135_TD_G1_GPIO3 = 0x87001081,
GPIO135_LTE_TPU_OUT1_3 = 0x87001009,
GPIO135_W_G1_GPIO3 = 0x87001011,
GPIO135_GSM_T_OUT_O_14 = 0x87001021,
GPIO116_SIM_RST = 0x74000000,
GPIO116_GPIO116 = 0x74000001,
GPIO117_SIM_CLK = 0x75000000,
GPIO117_GPIO117 = 0x75000001,
GPIO118_SIM_DATA = 0x76000000,
GPIO118_GPIO118 = 0x76000001,
GPIO119_GPIO119 = 0x77000000,
GPIO119_EXT_INT8 = 0x77000001,
GPIO119_M_JTAG_TDO = 0x77000002,
GPIO119_URAT0_RTS = 0x77000003,
GPIO119_PSJTAG_TDO = 0x77001000,
GPIO119_PHYJTAG_TDO = 0x77001001,
GPIO119_APJTAG_TDO = 0x77001002,
GPIO119_PWM0 = 0x77001003,
GPIO120_GPIO120 = 0x78000000,
GPIO120_EXT_INT9 = 0x78000001,
GPIO120_M_JTAG_TCK = 0x78000002,
GPIO120_UART0_CTS = 0x78000003,
GPIO120_PSJTAG_TCK = 0x78001000,
GPIO120_PHYJTAG_TCK = 0x78001001,
GPIO120_APJTAG_TCK = 0x78001002,
GPIO120_PWM1 = 0x78001003,
GPIO121_GPIO121 = 0x79000000,
GPIO121_EXT_INT10 = 0x79000001,
GPIO121_M_JTAG_TRST = 0x79000002,
GPIO121_PSJTAG_TRST = 0x79001000,
GPIO121_PHYJTAG_TRST = 0x79001001,
GPIO121_APJTAG_TRST = 0x79001002,
GPIO121_UART2_RXD = 0x79001003,
GPIO122_GPIO122 = 0x7A000000,
GPIO122_EXT_INT11 = 0x7A000001,
GPIO122_M_JTAG_TMS = 0x7A000002,
GPIO122_PSJTAG_TMS = 0x7A001000,
GPIO122_PHYJTAG_TMS = 0x7A001001,
GPIO122_APJTAG_TMS = 0x7A001002,
GPIO122_UART2_TXD = 0x7A001003,
GPIO123_GPIO123 = 0x7B000000,
GPIO123_EXT_INT12 = 0x7B000001,
GPIO123_M_JTAG_TDI = 0x7B000002,
GPIO123_PSJTAG_TDI = 0x7B001000,
GPIO123_PHYJTAG_TDI = 0x7B001001,
GPIO123_APJTAG_TDI = 0x7B001002,
GPIO123_UART2_RTS = 0x7B001003,
GPIO124_GPIO124 = 0x7C000000,
GPIO124_EXT_INT13 = 0x7C000001,
GPIO124_UART2_CTS = 0x7C001000,
GPIO125_GPIO125 = 0x7D000000,
GPIO125_EXT_INT14 = 0x7D000001,
GPIO125_UART1_RTS = 0x7D001000,
GPIO126_GPIO126 = 0x7E000000,
GPIO126_EXT_INT15 = 0x7E000001,
GPIO126_KEY_COL2 = 0x7E000002,
GPIO126_UART1_CTS = 0x7E001000,
GPIO127_GPIO127 = 0x7F000000,
GPIO127_EXT_INT8 = 0x7F000001,
GPIO127_KEY_COL3 = 0x7F000002,
GPIO128_GPIO128 = 0x80000000,
GPIO128_EXT_INT9 = 0x80000001,
GPIO128_KEY_COL4 = 0x80000002,
GPIO129_GPIO129 = 0x81000000,
GPIO129_EXT_INT10 = 0x81000001,
GPIO129_KEY_COL5 = 0x81000002,
GPIO130_GPIO130 = 0x82000000,
GPIO130_EXT_INT11 = 0x82000001,
GPIO130_KEY_ROW2 = 0x82000002,
GPIO131_GPIO131 = 0x83000000,
GPIO131_EXT_INT12 = 0x83000001,
GPIO131_KEY_ROW3 = 0x83000002,
GPIO132_GPIO132 = 0x84000000,
GPIO132_EXT_INT13 = 0x84000001,
GPIO132_KEY_ROW4 = 0x84000002,
}T_ZDrvGpio_FuncSel;
#elif defined (_CHIP_ZX297520V2)
typedef enum
{
/*[31:24]:gpio_id [23:12]:level1_sel [11:0]:level2_sel*/
GPIO0_GPIO0 = 0x00000000,
GPIO0_NAND_WE = 0x00001000,
GPIO1_GPIO1 = 0x01000000,
GPIO1_NAND_CS0 = 0x01001000,
GPIO2_GPIO2 = 0x02000000,
GPIO2_NAND_READY = 0x02001000,
GPIO3_GPIO3 = 0x03000000,
GPIO3_NAND_CLE = 0x03001000,
GPIO3_SPIFC0_SCLK = 0x03001001,
GPIO4_GPIO4 = 0x04000000,
GPIO4_NAND_ALE = 0x04001000,
GPIO5_GPIO5 = 0x05000000,
GPIO5_NAND_RE = 0x05001000,
GPIO5_SPIFC0_CS = 0x05001001,
GPIO6_GPIO6 = 0x06000000,
GPIO6_NAND_WRITE_PROTECT = 0x06001000,
GPIO7_GPIO7 = 0x07000000,
GPIO7_NAND_DATA0 = 0x07001000,
GPIO7_SSP1_CS = 0x07001001,
GPIO8_GPIO8 = 0x08000000,
GPIO8_NAND_DATA1 = 0x08001000,
GPIO8_SSP1_CLK = 0x08001001,
GPIO9_GPIO9 = 0x09000000,
GPIO9_NAND_DATA2 = 0x09001000,
GPIO9_SPIFC0_DATA0 = 0x09001001,
GPIO10_GPIO10 = 0x0A000000,
GPIO10_NAND_DATA3 = 0x0A001000,
GPIO10_SPIFC0_DATA1 = 0x0A001001,
GPIO11_GPIO11 = 0x0B000000,
GPIO11_NAND_DATA4 = 0x0B001000,
GPIO11_SPIFC0_DATA2 = 0x0B001001,
GPIO12_GPIO12 = 0x0C000000,
GPIO12_NAND_DATA5 = 0x0C001000,
GPIO12_SPIFC0_DATA3 = 0x0C001001,
GPIO13_GPIO13 = 0x0D000000,
GPIO13_NAND_DATA6 = 0x0D001000,
GPIO13_SSP1_RXD = 0x0D001001,
GPIO14_GPIO14 = 0x0E000000,
GPIO14_NAND_DATA7 = 0x0E001000,
GPIO14_SSP1_TXD = 0x0E001001,
GPIO23_CLK_OUT0 = 0x17000000,
GPIO23_GPIO23 = 0x17000001,
GPIO24_GPIO24 = 0x18000000,
GPIO24_CLK_OUT1 = 0x18000001,
GPIO25_GPIO25 = 0x19000000,
GPIO25_CLK_OUT2 = 0x19000001,
GPIO25_TEST_CLK_OUT = 0x19000002,
GPIO26_GPIO26 = 0x1A000000,
GPIO26_CLK_32K_OUT = 0x1A000001,
GPIO27_CLK_REQ0 = 0x1B000000,
GPIO27_GPIO27 = 0x1B000001,
GPIO29_PWRCTRL1 = 0x1D000000,
GPIO29_GPIO29 = 0x1D000001,
GPIO30_GPIO30 = 0x1E000000,
GPIO30_SSP0_CS = 0x1E001000,
GPIO31_GPIO31 = 0x1F000000,
GPIO31_SSP0_CLK = 0x1F001000,
GPIO32_GPIO32 = 0x20000000,
GPIO32_SSP0_RXD = 0x20001000,
GPIO33_GPIO33 = 0x21000000,
GPIO33_SSP0_TXD = 0x21001000,
GPIO34_UART0_RXD = 0x22000000,
GPIO34_GPIO34 = 0x22000001,
GPIO34_UART0_TXD = 0x22000002,
GPIO34_FRAME_SYNC = 0x22001000,
GPIO34_TEST_PIN10 = 0x22001001,
GPIO35_UART0_TXD = 0x23000000,
GPIO35_GPIO35 = 0x23000001,
GPIO35_UART0_RXD = 0x23000002,
GPIO35_LTE_PRE_TX = 0x23001000,
GPIO35_TEST_PIN11 = 0x23001001,
GPIO36_UART0_CTS = 0x24000000,
GPIO36_GPIO36 = 0x24000001,
GPIO36_UART1_RXD = 0x24001000,
GPIO36_LTE_TPU_OUT3 = 0x24001001,
GPIO36_TEST_PIN12 = 0x24001002,
GPIO36_UART1_TXD = 0x24001003,
GPIO37_UART0_RTS = 0x25000000,
GPIO37_GPIO37 = 0x25000001,
GPIO37_UART1_TXD = 0x25001000,
GPIO37_LTE_TPU_OUT4 = 0x25001001,
GPIO37_UART1_RXD = 0x25001002,
GPIO38_GPIO38 = 0x26000000,
GPIO38_I2S0_WS = 0x26001000,
GPIO38_TEST_PIN0 = 0x26001001,
GPIO38_LTE_DATA_DONGLE_CLK = 0x26001002,
GPIO38_TDM_FS = 0x26001003,
GPIO39_GPIO39 = 0x27000000,
GPIO39_I2S0_CLK = 0x27001000,
GPIO39_TEST_PIN1 = 0x27001001,
GPIO39_LTE_DATA_DONGLE_CMD = 0x27001002,
GPIO39_TDM_CLK = 0x27001003,
GPIO40_GPIO40 = 0x28000000,
GPIO40_I2S0_DIN = 0x28001000,
GPIO40_TEST_PIN2 = 0x28001001,
GPIO40_LTE_DATA_DONGLE0 = 0x28001002,
GPIO40_TDM_DATA_IN = 0x28001003,
GPIO41_GPIO41 = 0x29000000,
GPIO41_I2S0_DOUT = 0x29001000,
GPIO41_TEST_PIN3 = 0x29001001,
GPIO41_LTE_DATA_DONGLE1 = 0x29001002,
GPIO41_TDM_DATA_OUT = 0x29001003,
GPIO42_GPIO42 = 0x2A000000,
GPIO42_I2S1_WS = 0x2A001000,
GPIO42_TEST_PIN4 = 0x2A001001,
GPIO42_LTE_DATA_DONGLE2 = 0x2A001002,
GPIO42_TDM_FS = 0x2A001003,
GPIO43_GPIO43 = 0x2B000000,
GPIO43_I2S1_CLK = 0x2B001000,
GPIO43_TEST_PIN5 = 0x2B001001,
GPIO43_LTE_DATA_DONGLE3 = 0x2B001002,
GPIO43_TDM_CLK = 0x2B001003,
GPIO44_GPIO44 = 0x2C000000,
GPIO44_I2S1_DIN = 0x2C001000,
GPIO44_TEST_PIN6 = 0x2C001001,
GPIO44_TDM_DATA_IN = 0x2C001002,
GPIO45_GPIO45 = 0x2D000000,
GPIO45_I2S1_DOUT = 0x2D001000,
GPIO45_TEST_PIN7 = 0x2D001001,
GPIO45_TDM_DATA_OUT = 0x2D001002,
GPIO46_SCL0 = 0x2E000000,
GPIO46_GPIO46 = 0x2E000001,
GPIO47_SDA0 = 0x2F000000,
GPIO47_GPIO47 = 0x2F000001,
GPIO48_GPIO48 = 0x30000000,
GPIO48_SCL1 = 0x30001000,
GPIO49_GPIO49 = 0x31000000,
GPIO49_SDA1 = 0x31001000,
GPIO50_GPIO50 = 0x32000000,
GPIO50_EXT_INT0 = 0x32000001,
GPIO51_GPIO51 = 0x33000000,
GPIO51_EXT_INT1 = 0x33000001,
GPIO52_GPIO52 = 0x34000000,
GPIO52_EXT_INT2 = 0x34000001,
GPIO53_GPIO53 = 0x35000000,
GPIO53_EXT_INT3 = 0x35000001,
GPIO53_TEST_PIN8 = 0x35001000,
GPIO54_GPIO54 = 0x36000000,
GPIO54_EXT_INT4 = 0x36000001,
GPIO54_TEST_PIN9 = 0x36001000,
GPIO55_GPIO55 = 0x37000000,
GPIO55_EXT_INT5 = 0x37000001,
GPIO55_TEST_PIN13 = 0x37001000,
GPIO56_GPIO56 = 0x38000000,
GPIO56_EXT_INT6 = 0x38000001,
GPIO56_CLK_REQ1 = 0x38000002,
GPIO56_TEST_PIN14 = 0x38001000,
GPIO57_GPIO57 = 0x39000000,
GPIO57_EXT_INT7 = 0x39000001,
GPIO57_TEST_PIN15 = 0x39001000,
GPIO58_GPIO58 = 0x3A000000,
GPIO58_SD1_HOST_SDCLK = 0x3A001000,
GPIO59_GPIO59 = 0x3B000000,
GPIO59_M_JTAG_TDO = 0x3B000001,
GPIO59_SD1_CMD = 0x3B001000,
GPIO59_PS_JTAG_TDO = 0x3B001001,
GPIO59_PHY_JTAG_TDO = 0x3B001002,
GPIO59_AP_JTAG_TDO = 0x3B001003,
GPIO60_GPIO60 = 0x3C000000,
GPIO60_M_JTAG_TCK = 0x3C000001,
GPIO60_SD1_DATA0 = 0x3C001000,
GPIO60_PS_JTAG_TCK = 0x3C001001,
GPIO60_PHY_JTAG_TCK = 0x3C001002,
GPIO60_AP_JTAG_TCK = 0x3C001003,
GPIO61_GPIO61 = 0x3D000000,
GPIO61_M_JTAG_TRST = 0x3D000001,
GPIO61_SD1_DATA1 = 0x3D001000,
GPIO61_PS_JTAG_TRST = 0x3D001001,
GPIO61_PHY_JTAG_TRST = 0x3D001002,
GPIO61_AP_JTAG_TRST = 0x3D001003,
GPIO62_GPIO62 = 0x3E000000,
GPIO62_M_JTAG_TMS = 0x3E000001,
GPIO62_SD1_DATA2 = 0x3E001000,
GPIO62_PS_JTAG_TMS = 0x3E001001,
GPIO62_PHY_JTAG_TMS = 0x3E001002,
GPIO62_AP_JTAG_TMS = 0x3E001003,
GPIO63_GPIO63 = 0x3F000000,
GPIO63_M_JTAG_TDI = 0x3F000001,
GPIO63_SD1_DATA3 = 0x3F001000,
GPIO63_PS_JTAG_TDI = 0x3F001001,
GPIO63_PHY_JTAG_TDI = 0x3F001002,
GPIO63_AP_JTAG_TDI = 0x3F001003,
GPIO64_M_JTAG_TCK = 0x40000000,
GPIO64_GPIO64 = 0x40000001,
GPIO64_PS_JTAG_TCK = 0x40001000,
GPIO64_PHY_JTAG_TCK = 0x40001001,
GPIO64_AP_JTAG_TCK = 0x40001002,
GPIO66_M_JTAG_TDI = 0x42000000,
GPIO66_GPIO66 = 0x42000001,
GPIO66_PS_JTAG_TDI = 0x42001000,
GPIO66_PHY_JTAG_TDI = 0x42001001,
GPIO66_AP_JTAG_TDI = 0x42001002,
GPIO67_M_JTAG_TDO = 0x43000000,
GPIO67_GPIO67 = 0x43000001,
GPIO67_PS_JTAG_TDO = 0x43001000,
GPIO67_PHY_JTAG_TDO = 0x43001001,
GPIO67_AP_JTAG_TDO = 0x43001002,
GPIO68_M_JTAG_TMS = 0x44000000,
GPIO68_GPIO68 = 0x44000001,
GPIO68_PS_JTAG_TMS = 0x44001000,
GPIO68_PHY_JTAG_TMS = 0x44001001,
GPIO68_AP_JTAG_TMS = 0x44001002,
GPIO69_M_JTAG_TRST = 0x45000000,
GPIO69_GPIO69 = 0x45000001,
GPIO69_PS_JTAG_TRST = 0x45001000,
GPIO69_PHY_JTAG_TRST = 0x45001001,
GPIO69_AP_JTAG_TRST = 0x45001002,
GPIO70_KEY_COL0 = 0x46000000,
GPIO70_GPIO70 = 0x46000001,
GPIO70_EXT_INT8 = 0x46000002,
GPIO70_M_JTAG_TDO = 0x46000003,
GPIO70_PS_JTAG_TDO = 0x46001000,
GPIO70_PHY_JTAG_TDO = 0x46001001,
GPIO70_AP_JTAG_TDO = 0x46001002,
GPIO70_LTE_DATA_DONGLE4 = 0x46001003,
GPIO71_KEY_COL1 = 0x47000000,
GPIO71_GPIO71 = 0x47000001,
GPIO71_EXT_INT9 = 0x47000002,
GPIO71_LTE_DATA_DONGLE5 = 0x47001000,
GPIO72_KEY_COL2 = 0x48000000,
GPIO72_GPIO72 = 0x48000001,
GPIO72_EXT_INT10 = 0x48000002,
GPIO72_M_JTAG_TCK = 0x48000003,
GPIO72_PS_JTAG_TCK = 0x48001000,
GPIO72_PHY_JTAG_TCK = 0x48001001,
GPIO72_AP_JTAG_TCK = 0x48001002,
GPIO72_LTE_DATA_DONGLE6 = 0x48001003,
GPIO73_KEY_COL3 = 0x49000000,
GPIO73_GPIO73 = 0x49000001,
GPIO73_EXT_INT11 = 0x49000002,
GPIO73_LTE_DATA_DONGLE7 = 0x49001000,
GPIO74_KEY_ROW0 = 0x4A000000,
GPIO74_GPIO74 = 0x4A000001,
GPIO74_EXT_INT12 = 0x4A000002,
GPIO74_M_JTAG_TRST = 0x4A000003,
GPIO74_PS_JTAG_TRST = 0x4A001000,
GPIO74_PHY_JTAG_TRST = 0x4A001001,
GPIO74_AP_JTAG_TRST = 0x4A001002,
GPIO74_LTE_DATA_DONGLE8 = 0x4A001003,
GPIO75_KEY_ROW1 = 0x4B000000,
GPIO75_GPIO75 = 0x4B000001,
GPIO75_EXT_INT13 = 0x4B000002,
GPIO75_M_JTAG_TMS = 0x4B000003,
GPIO75_PS_JTAG_TMS = 0x4B001000,
GPIO75_PHY_JTAG_TMS = 0x4B001001,
GPIO75_AP_JTAG_TMS = 0x4B001002,
GPIO75_LTE_DATA_DONGLE9 = 0x4B001003,
GPIO76_KEY_ROW2 = 0x4C000000,
GPIO76_GPIO76 = 0x4C000001,
GPIO76_EXT_INT14 = 0x4C000002,
GPIO76_M_JTAG_TDI = 0x4C000003,
GPIO76_PS_JTAG_TDI = 0x4C001000,
GPIO76_PHY_JTAG_TDI = 0x4C001001,
GPIO76_AP_JTAG_TDI = 0x4C001002,
GPIO76_UART2_RXD = 0x4C001003,
GPIO77_KEY_ROW3 = 0x4D000000,
GPIO77_GPIO77 = 0x4D000001,
GPIO77_EXT_INT15 = 0x4D000002,
GPIO77_UART2_TXD = 0x4D001000,
GPIO78_GPIO78 = 0x4E000000,
GPIO78_MODEM_TXRX_DATA0 = 0x4E001000,
GPIO79_GPIO79 = 0x4F000000,
GPIO79_MODEM_TXRX_DATA1 = 0x4F001000,
GPIO80_GPIO80 = 0x50000000,
GPIO80_MODEM_TXRX_DATA2 = 0x50001000,
GPIO81_GPIO81 = 0x51000000,
GPIO81_MODEM_TXRX_DATA3 = 0x51001000,
GPIO82_GPIO82 = 0x52000000,
GPIO82_MODEM_TXRX_DATA4 = 0x52001000,
GPIO83_GPIO83 = 0x53000000,
GPIO83_MODEM_TXRX_DATA5 = 0x53001000,
GPIO84_GPIO84 = 0x54000000,
GPIO84_MODEM_TXRX_DATA6 = 0x54001000,
GPIO85_GPIO85 = 0x55000000,
GPIO85_MODEM_TXRX_DATA7 = 0x55001000,
GPIO86_GPIO86 = 0x56000000,
GPIO86_MODEM_TXRX_DATA8 = 0x56001000,
GPIO87_GPIO87 = 0x57000000,
GPIO87_MODEM_TXRX_DATA9 = 0x57001000,
GPIO88_GPIO88 = 0x58000000,
GPIO88_MODEM_TXRX_DATA10 = 0x58001000,
GPIO89_GPIO89 = 0x59000000,
GPIO89_MODEM_TXRX_DATA11 = 0x59001000,
GPIO90_GPIO90 = 0x5A000000,
GPIO90_MODEM_RX_DATA0 = 0x5A001000,
GPIO91_GPIO91 = 0x5B000000,
GPIO91_MODEM_RX_DATA1 = 0x5B001000,
GPIO92_GPIO92 = 0x5C000000,
GPIO92_MODEM_RX_DATA2 = 0x5C001000,
GPIO93_GPIO93 = 0x5D000000,
GPIO93_MODEM_RX_DATA3 = 0x5D001000,
GPIO94_GPIO94 = 0x5E000000,
GPIO94_MODEM_RX_DATA4 = 0x5E001000,
GPIO95_GPIO95 = 0x5F000000,
GPIO95_MODEM_RX_DATA5 = 0x5F001000,
GPIO96_GPIO96 = 0x60000000,
GPIO96_MODEM_RX_DATA6 = 0x60001000,
GPIO97_GPIO97 = 0x61000000,
GPIO97_MODEM_RX_DATA7 = 0x61001000,
GPIO98_GPIO98 = 0x62000000,
GPIO98_MODEM_RX_DATA8 = 0x62001000,
GPIO99_GPIO99 = 0x63000000,
GPIO99_MODEM_RX_DATA9 = 0x63001000,
GPIO100_GPIO100 = 0x64000000,
GPIO100_MODEM_RX_DATA10 = 0x64001000,
GPIO101_GPIO101 = 0x65000000,
GPIO101_MODEM_RX_DATA11 = 0x65001000,
GPIO102_GPIO102 = 0x66000000,
GPIO102_MODEM_FCLK_O = 0x66001000,
GPIO103_GPIO103 = 0x67000000,
GPIO103_MODEM_FRAME_TX_O = 0x67001000,
GPIO104_GPIO104 = 0x68000000,
GPIO104_MODEM_FRAME_RX_I = 0x68001000,
GPIO105_GPIO105 = 0x69000000,
GPIO105_MODEM_MCLK_I = 0x69001000,
GPIO106_GPIO106 = 0x6A000000,
GPIO106_LTE_REF_CLK = 0x6A001000,
/*GPIO107 GPIO108*/
GPIO109_GPIO109 = 0x6D000000,
GPIO110_GPIO110 = 0x6E000000,
GPIO110_GSM_OUT_OLD_O_12 = 0x6E000001,
GPIO111_PWRCTRL2 = 0x6F000000,
GPIO111_GPIO111 = 0x6F000001,
GPIO112_GPIO112 = 0x70000000,
GPIO112_RF_SPI0_STR0 = 0x70001000,
GPIO113_GPIO113 = 0x71000000,
GPIO113_RF_SPI0_STR1 = 0x71001000,
GPIO114_GPIO114 = 0x72000000,
GPIO114_RF_SPI0_CLK = 0x72001000,
GPIO115_GPIO115 = 0x73000000,
GPIO115_RF_SPI0_DIN = 0x73001000,
GPIO116_GPIO116 = 0x74000000,
GPIO116_RF_SPI0_DATA = 0x74001000,
GPIO117_GPIO117 = 0x75000000,
GPIO117_RF_SPI1_STR0 = 0x75001000,
GPIO118_GPIO118 = 0x76000000,
GPIO118_RF_SPI1_CLK = 0x76001000,
GPIO119_GPIO119 = 0x77000000,
GPIO119_RF_SPI1_DIN = 0x77001000,
GPIO120_GPIO120 = 0x78000000,
GPIO120_RF_SPI1_DATA = 0x78001000,
/*GPIO121 --GPIO144*/
GPIO145_GPIO145 = 0x91000000,
GPIO145_RMII_TXEN = 0x91001000,
GPIO146_GPIO146 = 0x92000000,
GPIO146_RMII_RXEN = 0x92001000,
GPIO147_GPIO147 = 0x93000000,
GPIO147_RMII_RXD0 = 0x93001000,
GPIO148_GPIO148 = 0x94000000,
GPIO148_RMII_RXD1 = 0x94001000,
GPIO149_GPIO149 = 0x95000000,
GPIO149_RMII_TXD0 = 0x95001000,
GPIO150_GPIO150 = 0x96000000,
GPIO150_RMII_TXD1 = 0x96001000,
GPIO151_GPIO151 = 0x97000000,
GPIO151_MDC_SCLK = 0x97001000,
GPIO152_GPIO152 = 0x98000000,
GPIO152_MDC_SDIO = 0x98001000,
GPIO153_GPIO153 = 0x99000000,
GPIO153_PHY_RST = 0x99001000,
GPIO154_GPIO154 = 0x9A000000,
GPIO154_RMII_CLK_O = 0x9A001000,
GPIO155_GPIO155 = 0x9B000000,
GPIO155_RMII_CLK_I = 0x9B001000,
}T_ZDrvGpio_FuncSel;
#endif
/*******************************************************************************
* Global function declarations *
******************************************************************************/
/**
*@brief This function is used to get descriptor of pin.
*@param name the name used to distinguish gpio, must added in g_GpioConfig[](in gpio_ref.c)
*
*@return pointer of gpio descriptor if success, errcode otherwise
*/
UINT32 zDrvGpio_Request(CHAR *name);
/**
*@brief This function is used to free this gpio, so others can request it
*@param gpio_id pointer of gpio descriptor
*
*@return 0 if success, errcode otherwise.
*/
SINT32 zDrvGpio_Free(UINT32 gpio_id);
/**
*@brief This function is used to set the pin use ,used as GPIO or other function
*@param gpio_id gpio id
*@param func_sel gpio function sel
*
*@return 0 if success, errcode otherwise.
*/
SINT32 zDrvGpio_SetFunc(UINT32 gpio_id, T_ZDrvGpio_FuncSel func_sel);
/**
*@brief This function is used to set gpio internal pull up or pull down or none
*@param gpio_id gpio id
*@param val pull function sel
*
*@return 0 if success, errcode otherwise.
*/
SINT32 zDrvGpio_PullUpDown(UINT32 gpio_id, T_ZDrvGpio_PullUp val);
/**
*@brief This function is used to set direction of gpio, in or out
*@param gpio_id gpio id
*@param value gpio direction sel
*
*@return none.
*/
VOID zDrvGpio_SetDirection(UINT32 gpio_id, T_ZDrvGpio_IoDirection value);
/**
*@brief This function is used to get direction of gpio
*@param gpio_id gpio id
*
*@return gpio direction.
*/
T_ZDrvGpio_IoDirection zDrvGpio_GetDirection(UINT32 gpio_id);
/**
*@brief This function is used to set output value
*@param gpio_id gpio id
*@param value gpio output val sel
*
*@return none.
*/
VOID zDrvGpio_SetOutputValue(UINT32 gpio_id, T_ZDrvGpio_IoVal value);
/**
*@brief This function is used to get output value
*@param gpio_id gpio id
*
*@return output value(high or low).
*/
T_ZDrvGpio_IoVal zDrvGpio_GetOutputValue(UINT32 gpio_id);
/**
*@brief This function is used to get input value
*@param gpio_id gpio id
*
*@return input value(high or low).
*/
T_ZDrvGpio_IoVal zDrvGpio_GetInputValue(UINT32 gpio_id);
/**
*@brief This function is used to set gpio pin for jtag
*@param jtagNum jtag id 0/1/2
*@param function sel jtag connect to which core(0:m0jtag, 1:psjtag, 2:phyjtag, 3:apjtag)
*
*@return none.
*/
VOID zDrvGpio_JtagConfig(UINT32 jtagNum, UINT32 function);
#endif
#endif