// Copyright 2017-2018 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at

//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef _SOC_GPIO_SIG_MAP_H_
#define _SOC_GPIO_SIG_MAP_H_
#define SPICLK_OUT_IDX                SPICLK_OUT_MUX_IDX
#define CLK_I2S_IDX                   CLK_I2S_MUX_IDX
#define FSPICLK_OUT_IDX               FSPICLK_OUT_MUX_IDX

#define SPIQ_IN_IDX                   0
#define SPIQ_OUT_IDX                  0
#define SPID_IN_IDX                   1
#define SPID_OUT_IDX                  1
#define SPIHD_IN_IDX                  2
#define SPIHD_OUT_IDX                 2
#define SPIWP_IN_IDX                  3
#define SPIWP_OUT_IDX                 3
#define SPICLK_OUT_MUX_IDX            4
#define SPICS0_OUT_IDX                5
#define SPICS1_OUT_IDX                6
#define SPID4_IN_IDX                  7
#define SPID4_OUT_IDX                 7
#define SPID5_IN_IDX                  8
#define SPID5_OUT_IDX                 8
#define SPID6_IN_IDX                  9
#define SPID6_OUT_IDX                 9
#define SPID7_IN_IDX                  10
#define SPID7_OUT_IDX                 10
#define SPIDQS_IN_IDX                 11
#define SPIDQS_OUT_IDX                11
#define U0RXD_IN_IDX                  14
#define U0TXD_OUT_IDX                 14
#define U0CTS_IN_IDX                  15
#define U0RTS_OUT_IDX                 15
#define U0DSR_IN_IDX                  16
#define U0DTR_OUT_IDX                 16
#define U1RXD_IN_IDX                  17
#define U1TXD_OUT_IDX                 17
#define U1CTS_IN_IDX                  18
#define U1RTS_OUT_IDX                 18
#define U1DSR_IN_IDX                  21
#define U1DTR_OUT_IDX                 21
#define I2S0O_BCK_IN_IDX              23
#define I2S0O_BCK_OUT_IDX             23
#define I2S0O_WS_IN_IDX               25
#define I2S0O_WS_OUT_IDX              25
#define I2S0I_BCK_IN_IDX              27
#define I2S0I_BCK_OUT_IDX             27
#define I2S0I_WS_IN_IDX               28
#define I2S0I_WS_OUT_IDX              28
#define I2CEXT0_SCL_IN_IDX            29
#define I2CEXT0_SCL_OUT_IDX           29
#define I2CEXT0_SDA_IN_IDX            30
#define I2CEXT0_SDA_OUT_IDX           30
#define SDIO_TOHOST_INT_OUT_IDX       31
#define GPIO_BT_ACTIVE_IDX            37
#define GPIO_BT_PRIORITY_IDX          38
#define PCNT_SIG_CH0_IN0_IDX          39
#define GPIO_WLAN_PRIO_IDX            39
#define PCNT_SIG_CH1_IN0_IDX          40
#define GPIO_WLAN_ACTIVE_IDX          40
#define PCNT_CTRL_CH0_IN0_IDX         41
#define BB_DIAG0_IDX                  41
#define PCNT_CTRL_CH1_IN0_IDX         42
#define BB_DIAG1_IDX                  42
#define PCNT_SIG_CH0_IN1_IDX          43
#define BB_DIAG2_IDX                  43
#define PCNT_SIG_CH1_IN1_IDX          44
#define BB_DIAG3_IDX                  44
#define PCNT_CTRL_CH0_IN1_IDX         45
#define BB_DIAG4_IDX                  45
#define PCNT_CTRL_CH1_IN1_IDX         46
#define BB_DIAG5_IDX                  46
#define PCNT_SIG_CH0_IN2_IDX          47
#define BB_DIAG6_IDX                  47
#define PCNT_SIG_CH1_IN2_IDX          48
#define BB_DIAG7_IDX                  48
#define PCNT_CTRL_CH0_IN2_IDX         49
#define BB_DIAG8_IDX                  49
#define PCNT_CTRL_CH1_IN2_IDX         50
#define BB_DIAG9_IDX                  50
#define PCNT_SIG_CH0_IN3_IDX          51
#define BB_DIAG10_IDX                 51
#define PCNT_SIG_CH1_IN3_IDX          52
#define BB_DIAG11_IDX                 52
#define PCNT_CTRL_CH0_IN3_IDX         53
#define BB_DIAG12_IDX                 53
#define PCNT_CTRL_CH1_IN3_IDX         54
#define BB_DIAG13_IDX                 54
#define BB_DIAG14_IDX                 55
#define BB_DIAG15_IDX                 56
#define BB_DIAG16_IDX                 57
#define BB_DIAG17_IDX                 58
#define BB_DIAG18_IDX                 59
#define BB_DIAG19_IDX                 60
#define USB_EXTPHY_VP_IDX             61
#define USB_EXTPHY_OEN_IDX            61
#define USB_EXTPHY_VM_IDX             62
#define USB_EXTPHY_SPEED_IDX          62
#define USB_EXTPHY_RCV_IDX            63
#define USB_EXTPHY_VPO_IDX            63
#define USB_OTG_IDDIG_IN_IDX          64
#define USB_EXTPHY_VMO_IDX            64
#define USB_OTG_AVALID_IN_IDX         65
#define USB_EXTPHY_SUSPND_IDX         65
#define USB_SRP_BVALID_IN_IDX         66
#define USB_OTG_IDPULLUP_IDX          66
#define USB_OTG_VBUSVALID_IN_IDX      67
#define USB_OTG_DPPULLDOWN_IDX        67
#define USB_SRP_SESSEND_IN_IDX        68
#define USB_OTG_DMPULLDOWN_IDX        68
#define USB_OTG_DRVVBUS_IDX           69
#define USB_SRP_CHRGVBUS_IDX          70
#define USB_SRP_DISCHRGVBUS_IDX       71
#define SPI3_CLK_IN_IDX               72
#define SPI3_CLK_OUT_MUX_IDX          72
#define SPI3_Q_IN_IDX                 73
#define SPI3_Q_OUT_IDX                73
#define SPI3_D_IN_IDX                 74
#define SPI3_D_OUT_IDX                74
#define SPI3_HD_IN_IDX                75
#define SPI3_HD_OUT_IDX               75
#define SPI3_CS0_IN_IDX               76
#define SPI3_CS0_OUT_IDX              76
#define SPI3_CS1_OUT_IDX              77
#define SPI3_CS2_OUT_IDX              78
#define LEDC_LS_SIG_OUT0_IDX          79
#define LEDC_LS_SIG_OUT1_IDX          80
#define LEDC_LS_SIG_OUT2_IDX          81
#define LEDC_LS_SIG_OUT3_IDX          82
#define RMT_SIG_IN0_IDX               83
#define LEDC_LS_SIG_OUT4_IDX          83
#define RMT_SIG_IN1_IDX               84
#define LEDC_LS_SIG_OUT5_IDX          84
#define RMT_SIG_IN2_IDX               85
#define LEDC_LS_SIG_OUT6_IDX          85
#define RMT_SIG_IN3_IDX               86
#define LEDC_LS_SIG_OUT7_IDX          86
#define RMT_SIG_OUT0_IDX              87
#define RMT_SIG_OUT1_IDX              88
#define RMT_SIG_OUT2_IDX              89
#define RMT_SIG_OUT3_IDX              90
#define EXT_ADC_START_IDX             93
#define I2CEXT1_SCL_IN_IDX            95
#define I2CEXT1_SCL_OUT_IDX           95
#define I2CEXT1_SDA_IN_IDX            96
#define I2CEXT1_SDA_OUT_IDX           96
#define GPIO_SD0_OUT_IDX              100
#define GPIO_SD1_OUT_IDX              101
#define GPIO_SD2_OUT_IDX              102
#define GPIO_SD3_OUT_IDX              103
#define GPIO_SD4_OUT_IDX              104
#define GPIO_SD5_OUT_IDX              105
#define GPIO_SD6_OUT_IDX              106
#define GPIO_SD7_OUT_IDX              107
#define FSPICLK_IN_IDX                108
#define FSPICLK_OUT_MUX_IDX           108
#define FSPIQ_IN_IDX                  109
#define FSPIQ_OUT_IDX                 109
#define FSPID_IN_IDX                  110
#define FSPID_OUT_IDX                 110
#define FSPIHD_IN_IDX                 111
#define FSPIHD_OUT_IDX                111
#define FSPIWP_IN_IDX                 112
#define FSPIWP_OUT_IDX                112
#define FSPIIO4_IN_IDX                113
#define FSPIIO4_OUT_IDX               113
#define FSPIIO5_IN_IDX                114
#define FSPIIO5_OUT_IDX               114
#define FSPIIO6_IN_IDX                115
#define FSPIIO6_OUT_IDX               115
#define FSPIIO7_IN_IDX                116
#define FSPIIO7_OUT_IDX               116
#define FSPICS0_IN_IDX                117
#define FSPICS0_OUT_IDX               117
#define FSPICS1_OUT_IDX               118
#define FSPICS2_OUT_IDX               119
#define FSPICS3_OUT_IDX               120
#define FSPICS4_OUT_IDX               121
#define FSPICS5_OUT_IDX               122
#define TWAI_RX_IDX                   123
#define TWAI_TX_IDX                   123
#define TWAI_BUS_OFF_ON_IDX           124
#define TWAI_CLKOUT_IDX               125
#define SUBSPICLK_OUT_MUX_IDX         126
#define SUBSPIQ_IN_IDX                127
#define SUBSPIQ_OUT_IDX               127
#define SUBSPID_IN_IDX                128
#define SUBSPID_OUT_IDX               128
#define SUBSPIHD_IN_IDX               129
#define SUBSPIHD_OUT_IDX              129
#define SUBSPIWP_IN_IDX               130
#define SUBSPIWP_OUT_IDX              130
#define SUBSPICS0_OUT_IDX             131
#define SUBSPICS1_OUT_IDX             132
#define FSPIDQS_OUT_IDX               133
#define FSPI_HSYNC_OUT_IDX            134
#define FSPI_VSYNC_OUT_IDX            135
#define FSPI_DE_OUT_IDX               136
#define FSPICD_OUT_IDX                137
#define SPI3_CD_OUT_IDX               139
#define SPI3_DQS_OUT_IDX              140
#define I2S0I_DATA_IN0_IDX            143
#define I2S0O_DATA_OUT0_IDX           143
#define I2S0I_DATA_IN1_IDX            144
#define I2S0O_DATA_OUT1_IDX           144
#define I2S0I_DATA_IN2_IDX            145
#define I2S0O_DATA_OUT2_IDX           145
#define I2S0I_DATA_IN3_IDX            146
#define I2S0O_DATA_OUT3_IDX           146
#define I2S0I_DATA_IN4_IDX            147
#define I2S0O_DATA_OUT4_IDX           147
#define I2S0I_DATA_IN5_IDX            148
#define I2S0O_DATA_OUT5_IDX           148
#define I2S0I_DATA_IN6_IDX            149
#define I2S0O_DATA_OUT6_IDX           149
#define I2S0I_DATA_IN7_IDX            150
#define I2S0O_DATA_OUT7_IDX           150
#define I2S0I_DATA_IN8_IDX            151
#define I2S0O_DATA_OUT8_IDX           151
#define I2S0I_DATA_IN9_IDX            152
#define I2S0O_DATA_OUT9_IDX           152
#define I2S0I_DATA_IN10_IDX           153
#define I2S0O_DATA_OUT10_IDX          153
#define I2S0I_DATA_IN11_IDX           154
#define I2S0O_DATA_OUT11_IDX          154
#define I2S0I_DATA_IN12_IDX           155
#define I2S0O_DATA_OUT12_IDX          155
#define I2S0I_DATA_IN13_IDX           156
#define I2S0O_DATA_OUT13_IDX          156
#define I2S0I_DATA_IN14_IDX           157
#define I2S0O_DATA_OUT14_IDX          157
#define I2S0I_DATA_IN15_IDX           158
#define I2S0O_DATA_OUT15_IDX          158
#define I2S0O_DATA_OUT16_IDX          159
#define I2S0O_DATA_OUT17_IDX          160
#define I2S0O_DATA_OUT18_IDX          161
#define I2S0O_DATA_OUT19_IDX          162
#define I2S0O_DATA_OUT20_IDX          163
#define I2S0O_DATA_OUT21_IDX          164
#define I2S0O_DATA_OUT22_IDX          165
#define I2S0O_DATA_OUT23_IDX          166
#define SUBSPID4_IN_IDX               167
#define SUBSPID4_OUT_IDX              167
#define SUBSPID5_IN_IDX               168
#define SUBSPID5_OUT_IDX              168
#define SUBSPID6_IN_IDX               169
#define SUBSPID6_OUT_IDX              169
#define SUBSPID7_IN_IDX               170
#define SUBSPID7_OUT_IDX              170
#define SUBSPIDQS_IN_IDX              171
#define SUBSPIDQS_OUT_IDX             171
#define I2S0I_H_SYNC_IDX              193
#define I2S0I_V_SYNC_IDX              194
#define I2S0I_H_ENABLE_IDX            195
#define PCMFSYNC_IN_IDX               203
#define BT_AUDIO0_IRQ_IDX             203
#define PCMCLK_IN_IDX                 204
#define BT_AUDIO1_IRQ_IDX             204
#define PCMDIN_IDX                    205
#define BT_AUDIO2_IRQ_IDX             205
#define RW_WAKEUP_REQ_IDX             206
#define BLE_AUDIO0_IRQ_IDX            206
#define BLE_AUDIO1_IRQ_IDX            207
#define BLE_AUDIO2_IRQ_IDX            208
#define PCMFSYNC_OUT_IDX              209
#define PCMCLK_OUT_IDX                210
#define PCMDOUT_IDX                   211
#define BLE_AUDIO_SYNC0_P_IDX         212
#define BLE_AUDIO_SYNC1_P_IDX         213
#define BLE_AUDIO_SYNC2_P_IDX         214
#define ANT_SEL0_IDX                  215
#define ANT_SEL1_IDX                  216
#define ANT_SEL2_IDX                  217
#define ANT_SEL3_IDX                  218
#define ANT_SEL4_IDX                  219
#define ANT_SEL5_IDX                  220
#define ANT_SEL6_IDX                  221
#define ANT_SEL7_IDX                  222
#define SIG_IN_FUNC_223_IDX           223
#define SIG_IN_FUNC223_IDX            223
#define SIG_IN_FUNC_224_IDX           224
#define SIG_IN_FUNC224_IDX            224
#define SIG_IN_FUNC_225_IDX           225
#define SIG_IN_FUNC225_IDX            225
#define SIG_IN_FUNC_226_IDX           226
#define SIG_IN_FUNC226_IDX            226
#define SIG_IN_FUNC_227_IDX           227
#define SIG_IN_FUNC227_IDX            227
#define PRO_ALONEGPIO_IN0_IDX         235
#define PRO_ALONEGPIO_OUT0_IDX        235
#define PRO_ALONEGPIO_IN1_IDX         236
#define PRO_ALONEGPIO_OUT1_IDX        236
#define PRO_ALONEGPIO_IN2_IDX         237
#define PRO_ALONEGPIO_OUT2_IDX        237
#define PRO_ALONEGPIO_IN3_IDX         238
#define PRO_ALONEGPIO_OUT3_IDX        238
#define PRO_ALONEGPIO_IN4_IDX         239
#define PRO_ALONEGPIO_OUT4_IDX        239
#define PRO_ALONEGPIO_IN5_IDX         240
#define PRO_ALONEGPIO_OUT5_IDX        240
#define PRO_ALONEGPIO_IN6_IDX         241
#define PRO_ALONEGPIO_OUT6_IDX        241
#define PRO_ALONEGPIO_IN7_IDX         242
#define PRO_ALONEGPIO_OUT7_IDX        242
#define CLK_I2S_MUX_IDX               251
#define SIG_GPIO_OUT_IDX              256
#define GPIO_MAP_DATE_IDX			0x1904100
#endif  /* _SOC_GPIO_SIG_MAP_H_ */
