1 /* 2 * SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #pragma once 7 8 #include "soc.h" 9 10 /* The following are the bit fields for PERIPHS_IO_MUX_x_U registers */ 11 /* Output enable in sleep mode */ 12 #define SLP_OE (BIT(0)) 13 #define SLP_OE_M (BIT(0)) 14 #define SLP_OE_V 1 15 #define SLP_OE_S 0 16 /* Pin used for wakeup from sleep */ 17 #define SLP_SEL (BIT(1)) 18 #define SLP_SEL_M (BIT(1)) 19 #define SLP_SEL_V 1 20 #define SLP_SEL_S 1 21 /* Pulldown enable in sleep mode */ 22 #define SLP_PD (BIT(2)) 23 #define SLP_PD_M (BIT(2)) 24 #define SLP_PD_V 1 25 #define SLP_PD_S 2 26 /* Pullup enable in sleep mode */ 27 #define SLP_PU (BIT(3)) 28 #define SLP_PU_M (BIT(3)) 29 #define SLP_PU_V 1 30 #define SLP_PU_S 3 31 /* Input enable in sleep mode */ 32 #define SLP_IE (BIT(4)) 33 #define SLP_IE_M (BIT(4)) 34 #define SLP_IE_V 1 35 #define SLP_IE_S 4 36 /* Drive strength in sleep mode */ 37 #define SLP_DRV 0x3 38 #define SLP_DRV_M (SLP_DRV_V << SLP_DRV_S) 39 #define SLP_DRV_V 0x3 40 #define SLP_DRV_S 5 41 /* Pulldown enable */ 42 #define FUN_PD (BIT(7)) 43 #define FUN_PD_M (BIT(7)) 44 #define FUN_PD_V 1 45 #define FUN_PD_S 7 46 /* Pullup enable */ 47 #define FUN_PU (BIT(8)) 48 #define FUN_PU_M (BIT(8)) 49 #define FUN_PU_V 1 50 #define FUN_PU_S 8 51 /* Input enable */ 52 #define FUN_IE (BIT(9)) 53 #define FUN_IE_M (FUN_IE_V << FUN_IE_S) 54 #define FUN_IE_V 1 55 #define FUN_IE_S 9 56 /* Drive strength */ 57 #define FUN_DRV 0x3 58 #define FUN_DRV_M (FUN_DRV_V << FUN_DRV_S) 59 #define FUN_DRV_V 0x3 60 #define FUN_DRV_S 10 61 /* Function select (possible values are defined for each pin as FUNC_pinname_function below) */ 62 #define MCU_SEL 0x7 63 #define MCU_SEL_M (MCU_SEL_V << MCU_SEL_S) 64 #define MCU_SEL_V 0x7 65 #define MCU_SEL_S 12 66 /* Pin filter (Pulse width shorter than 2 clock cycles will be filtered out) */ 67 #define FILTER_EN (BIT(15)) 68 #define FILTER_EN_M (FILTER_EN_V << FILTER_EN_S) 69 #define FILTER_EN_V 1 70 #define FILTER_EN_S 15 71 72 #define PIN_SLP_INPUT_ENABLE(PIN_NAME) SET_PERI_REG_MASK(PIN_NAME,SLP_IE) 73 #define PIN_SLP_INPUT_DISABLE(PIN_NAME) CLEAR_PERI_REG_MASK(PIN_NAME,SLP_IE) 74 #define PIN_SLP_OUTPUT_ENABLE(PIN_NAME) SET_PERI_REG_MASK(PIN_NAME,SLP_OE) 75 #define PIN_SLP_OUTPUT_DISABLE(PIN_NAME) CLEAR_PERI_REG_MASK(PIN_NAME,SLP_OE) 76 #define PIN_SLP_PULLUP_ENABLE(PIN_NAME) SET_PERI_REG_MASK(PIN_NAME,SLP_PU) 77 #define PIN_SLP_PULLUP_DISABLE(PIN_NAME) CLEAR_PERI_REG_MASK(PIN_NAME,SLP_PU) 78 #define PIN_SLP_PULLDOWN_ENABLE(PIN_NAME) SET_PERI_REG_MASK(PIN_NAME,SLP_PD) 79 #define PIN_SLP_PULLDOWN_DISABLE(PIN_NAME) CLEAR_PERI_REG_MASK(PIN_NAME,SLP_PD) 80 #define PIN_SLP_SEL_ENABLE(PIN_NAME) SET_PERI_REG_MASK(PIN_NAME,SLP_SEL) 81 #define PIN_SLP_SEL_DISABLE(PIN_NAME) CLEAR_PERI_REG_MASK(PIN_NAME,SLP_SEL) 82 83 #define PIN_INPUT_ENABLE(PIN_NAME) SET_PERI_REG_MASK(PIN_NAME,FUN_IE) 84 #define PIN_INPUT_DISABLE(PIN_NAME) CLEAR_PERI_REG_MASK(PIN_NAME,FUN_IE) 85 #define PIN_SET_DRV(PIN_NAME, drv) REG_SET_FIELD(PIN_NAME, FUN_DRV, (drv)); 86 #define PIN_PULLUP_DIS(PIN_NAME) REG_CLR_BIT(PIN_NAME, FUN_PU) 87 #define PIN_PULLUP_EN(PIN_NAME) REG_SET_BIT(PIN_NAME, FUN_PU) 88 #define PIN_PULLDWN_DIS(PIN_NAME) REG_CLR_BIT(PIN_NAME, FUN_PD) 89 #define PIN_PULLDWN_EN(PIN_NAME) REG_SET_BIT(PIN_NAME, FUN_PD) 90 #define PIN_FUNC_SELECT(PIN_NAME, FUNC) REG_SET_FIELD(PIN_NAME, MCU_SEL, FUNC) 91 #define PIN_FILTER_EN(PIN_NAME) REG_SET_BIT(PIN_NAME, FILTER_EN) 92 #define PIN_FILTER_DIS(PIN_NAME) REG_CLR_BIT(PIN_NAME, FILTER_EN) 93 94 #define IO_MUX_GPIO0_REG PERIPHS_IO_MUX_GPIO0_U 95 #define IO_MUX_GPIO1_REG PERIPHS_IO_MUX_GPIO1_U 96 #define IO_MUX_GPIO2_REG PERIPHS_IO_MUX_GPIO2_U 97 #define IO_MUX_GPIO3_REG PERIPHS_IO_MUX_GPIO3_U 98 #define IO_MUX_GPIO4_REG PERIPHS_IO_MUX_GPIO4_U 99 #define IO_MUX_GPIO5_REG PERIPHS_IO_MUX_GPIO5_U 100 #define IO_MUX_GPIO6_REG PERIPHS_IO_MUX_GPIO6_U 101 #define IO_MUX_GPIO7_REG PERIPHS_IO_MUX_GPIO7_U 102 #define IO_MUX_GPIO8_REG PERIPHS_IO_MUX_GPIO8_U 103 #define IO_MUX_GPIO9_REG PERIPHS_IO_MUX_GPIO9_U 104 #define IO_MUX_GPIO10_REG PERIPHS_IO_MUX_GPIO10_U 105 #define IO_MUX_GPIO11_REG PERIPHS_IO_MUX_GPIO11_U 106 #define IO_MUX_GPIO12_REG PERIPHS_IO_MUX_GPIO12_U 107 #define IO_MUX_GPIO13_REG PERIPHS_IO_MUX_GPIO13_U 108 #define IO_MUX_GPIO14_REG PERIPHS_IO_MUX_GPIO14_U 109 #define IO_MUX_GPIO15_REG PERIPHS_IO_MUX_XTAL_32K_P_U 110 #define IO_MUX_GPIO16_REG PERIPHS_IO_MUX_XTAL_32K_N_U 111 #define IO_MUX_GPIO17_REG PERIPHS_IO_MUX_DAC_1_U 112 #define IO_MUX_GPIO18_REG PERIPHS_IO_MUX_DAC_2_U 113 #define IO_MUX_GPIO19_REG PERIPHS_IO_MUX_GPIO19_U 114 #define IO_MUX_GPIO20_REG PERIPHS_IO_MUX_GPIO20_U 115 #define IO_MUX_GPIO21_REG PERIPHS_IO_MUX_GPIO21_U 116 #define IO_MUX_GPIO26_REG PERIPHS_IO_MUX_SPICS1_U 117 #define IO_MUX_GPIO27_REG PERIPHS_IO_MUX_SPIHD_U 118 #define IO_MUX_GPIO28_REG PERIPHS_IO_MUX_SPIWP_U 119 #define IO_MUX_GPIO29_REG PERIPHS_IO_MUX_SPICS0_U 120 #define IO_MUX_GPIO30_REG PERIPHS_IO_MUX_SPICLK_U 121 #define IO_MUX_GPIO31_REG PERIPHS_IO_MUX_SPIQ_U 122 #define IO_MUX_GPIO32_REG PERIPHS_IO_MUX_SPID_U 123 #define IO_MUX_GPIO33_REG PERIPHS_IO_MUX_GPIO33_U 124 #define IO_MUX_GPIO34_REG PERIPHS_IO_MUX_GPIO34_U 125 #define IO_MUX_GPIO35_REG PERIPHS_IO_MUX_GPIO35_U 126 #define IO_MUX_GPIO36_REG PERIPHS_IO_MUX_GPIO36_U 127 #define IO_MUX_GPIO37_REG PERIPHS_IO_MUX_GPIO37_U 128 #define IO_MUX_GPIO38_REG PERIPHS_IO_MUX_GPIO38_U 129 #define IO_MUX_GPIO39_REG PERIPHS_IO_MUX_MTCK_U 130 #define IO_MUX_GPIO40_REG PERIPHS_IO_MUX_MTDO_U 131 #define IO_MUX_GPIO41_REG PERIPHS_IO_MUX_MTDI_U 132 #define IO_MUX_GPIO42_REG PERIPHS_IO_MUX_MTMS_U 133 #define IO_MUX_GPIO43_REG PERIPHS_IO_MUX_U0TXD_U 134 #define IO_MUX_GPIO44_REG PERIPHS_IO_MUX_U0RXD_U 135 #define IO_MUX_GPIO45_REG PERIPHS_IO_MUX_GPIO45_U 136 #define IO_MUX_GPIO46_REG PERIPHS_IO_MUX_GPIO46_U 137 #define IO_MUX_GPIO47_REG PERIPHS_IO_MUX_SPICLK_P_U 138 #define IO_MUX_GPIO48_REG PERIPHS_IO_MUX_SPICLK_N_U 139 140 #define PIN_FUNC_GPIO 1 141 142 #define GPIO_PAD_PULLDOWN(num) do{PIN_PULLDWN_DIS(IOMUX_REG_GPIO##num);PIN_PULLUP_EN(IOMUX_REG_GPIO##num);}while(0) 143 #define GPIO_PAD_PULLUP(num) do{PIN_PULLUP_DIS(IOMUX_REG_GPIO##num);PIN_PULLDWN_EN(IOMUX_REG_GPIO##num);}while(0) 144 #define GPIO_PAD_SET_DRV(num, drv) PIN_SET_DRV(IOMUX_REG_GPIO##num, drv) 145 146 #define SPI_CS1_GPIO_NUM 26 147 #define SPI_HD_GPIO_NUM 27 148 #define SPI_WP_GPIO_NUM 28 149 #define SPI_CS0_GPIO_NUM 29 150 #define SPI_CLK_GPIO_NUM 30 151 #define SPI_Q_GPIO_NUM 31 152 #define SPI_D_GPIO_NUM 32 153 #define SPI_D4_GPIO_NUM 33 154 #define SPI_D5_GPIO_NUM 34 155 #define SPI_D6_GPIO_NUM 35 156 #define SPI_D7_GPIO_NUM 36 157 #define SPI_DQS_GPIO_NUM 37 158 #define SD_CLK_GPIO_NUM 12 159 #define SD_CMD_GPIO_NUM 11 160 #define SD_DATA0_GPIO_NUM 13 161 #define SD_DATA1_GPIO_NUM 14 162 #define SD_DATA2_GPIO_NUM 9 163 #define SD_DATA3_GPIO_NUM 10 164 #define USB_DM_GPIO_NUM 19 165 #define USB_DP_GPIO_NUM 20 166 #define XTAL32K_P_GPIO_NUM 15 167 #define XTAL32K_N_GPIO_NUM 16 168 169 #define MAX_RTC_GPIO_NUM 21 170 #define MAX_PAD_GPIO_NUM 48 171 #define MAX_GPIO_NUM 53 172 173 #define REG_IO_MUX_BASE DR_REG_IO_MUX_BASE 174 #define PIN_CTRL (REG_IO_MUX_BASE +0x00) 175 #define PAD_POWER_SEL BIT(15) 176 #define PAD_POWER_SEL_V 0x1 177 #define PAD_POWER_SEL_M BIT(15) 178 #define PAD_POWER_SEL_S 15 179 180 181 #define PAD_POWER_SWITCH_DELAY 0x7 182 #define PAD_POWER_SWITCH_DELAY_V 0x7 183 #define PAD_POWER_SWITCH_DELAY_M (PAD_POWER_SWITCH_DELAY_V << PAD_POWER_SWITCH_DELAY_S) 184 #define PAD_POWER_SWITCH_DELAY_S 12 185 186 187 #define CLK_OUT3 0xf 188 #define CLK_OUT3_V CLK_OUT3 189 #define CLK_OUT3_S 8 190 #define CLK_OUT3_M (CLK_OUT3_V << CLK_OUT3_S) 191 #define CLK_OUT2 0xf 192 #define CLK_OUT2_V CLK_OUT2 193 #define CLK_OUT2_S 4 194 #define CLK_OUT2_M (CLK_OUT2_V << CLK_OUT2_S) 195 #define CLK_OUT1 0xf 196 #define CLK_OUT1_V CLK_OUT1 197 #define CLK_OUT1_S 0 198 #define CLK_OUT1_M (CLK_OUT1_V << CLK_OUT1_S) 199 200 #define PERIPHS_IO_MUX_GPIO0_U (REG_IO_MUX_BASE +0x04) 201 #define FUNC_GPIO0_GPIO0 1 202 #define FUNC_GPIO0_GPIO0_0 0 203 204 #define PERIPHS_IO_MUX_GPIO1_U (REG_IO_MUX_BASE +0x08) 205 #define FUNC_GPIO1_GPIO1 1 206 #define FUNC_GPIO1_GPIO1_0 0 207 208 #define PERIPHS_IO_MUX_GPIO2_U (REG_IO_MUX_BASE +0x0c) 209 #define FUNC_GPIO2_GPIO2 1 210 #define FUNC_GPIO2_GPIO2_0 0 211 212 #define PERIPHS_IO_MUX_GPIO3_U (REG_IO_MUX_BASE +0x10) 213 #define FUNC_GPIO3_GPIO3 1 214 #define FUNC_GPIO3_GPIO3_0 0 215 216 #define PERIPHS_IO_MUX_GPIO4_U (REG_IO_MUX_BASE +0x14) 217 #define FUNC_GPIO4_GPIO4 1 218 #define FUNC_GPIO4_GPIO4_0 0 219 220 #define PERIPHS_IO_MUX_GPIO5_U (REG_IO_MUX_BASE +0x18) 221 #define FUNC_GPIO5_GPIO5 1 222 #define FUNC_GPIO5_GPIO5_0 0 223 224 #define PERIPHS_IO_MUX_GPIO6_U (REG_IO_MUX_BASE +0x1c) 225 #define FUNC_GPIO6_GPIO6 1 226 #define FUNC_GPIO6_GPIO6_0 0 227 228 #define PERIPHS_IO_MUX_GPIO7_U (REG_IO_MUX_BASE +0x20) 229 #define FUNC_GPIO7_GPIO7 1 230 #define FUNC_GPIO7_GPIO7_0 0 231 232 #define PERIPHS_IO_MUX_GPIO8_U (REG_IO_MUX_BASE +0x24) 233 #define FUNC_GPIO8_SUBSPICS1 3 234 #define FUNC_GPIO8_GPIO8 1 235 #define FUNC_GPIO8_GPIO8_0 0 236 237 #define PERIPHS_IO_MUX_GPIO9_U (REG_IO_MUX_BASE +0x28) 238 #define FUNC_GPIO9_FSPIHD 4 239 #define FUNC_GPIO9_SUBSPIHD 3 240 #define FUNC_GPIO9_GPIO9 1 241 #define FUNC_GPIO9_GPIO9_0 0 242 243 #define PERIPHS_IO_MUX_GPIO10_U (REG_IO_MUX_BASE +0x2c) 244 #define FUNC_GPIO10_FSPICS0 4 245 #define FUNC_GPIO10_SUBSPICS0 3 246 #define FUNC_GPIO10_FSPIIO4 2 247 #define FUNC_GPIO10_GPIO10 1 248 #define FUNC_GPIO10_GPIO10_0 0 249 250 #define PERIPHS_IO_MUX_GPIO11_U (REG_IO_MUX_BASE +0x30) 251 #define FUNC_GPIO11_FSPID 4 252 #define FUNC_GPIO11_SUBSPID 3 253 #define FUNC_GPIO11_FSPIIO5 2 254 #define FUNC_GPIO11_GPIO11 1 255 #define FUNC_GPIO11_GPIO11_0 0 256 257 #define PERIPHS_IO_MUX_GPIO12_U (REG_IO_MUX_BASE +0x34) 258 #define FUNC_GPIO12_FSPICLK 4 259 #define FUNC_GPIO12_SUBSPICLK 3 260 #define FUNC_GPIO12_FSPIIO6 2 261 #define FUNC_GPIO12_GPIO12 1 262 #define FUNC_GPIO12_GPIO12_0 0 263 264 #define PERIPHS_IO_MUX_GPIO13_U (REG_IO_MUX_BASE +0x38) 265 #define FUNC_GPIO13_FSPIQ 4 266 #define FUNC_GPIO13_SUBSPIQ 3 267 #define FUNC_GPIO13_FSPIIO7 2 268 #define FUNC_GPIO13_GPIO13 1 269 #define FUNC_GPIO13_GPIO13_0 0 270 271 #define PERIPHS_IO_MUX_GPIO14_U (REG_IO_MUX_BASE +0x3c) 272 #define FUNC_GPIO14_FSPIWP 4 273 #define FUNC_GPIO14_SUBSPIWP 3 274 #define FUNC_GPIO14_FSPIDQS 2 275 #define FUNC_GPIO14_GPIO14 1 276 #define FUNC_GPIO14_GPIO14_0 0 277 278 #define PERIPHS_IO_MUX_XTAL_32K_P_U (REG_IO_MUX_BASE +0x40) 279 #define FUNC_XTAL_32K_P_U0RTS 2 280 #define FUNC_XTAL_32K_P_GPIO15 1 281 #define FUNC_XTAL_32K_P_GPIO15_0 0 282 283 #define PERIPHS_IO_MUX_XTAL_32K_N_U (REG_IO_MUX_BASE +0x44) 284 #define FUNC_XTAL_32K_N_U0CTS 2 285 #define FUNC_XTAL_32K_N_GPIO16 1 286 #define FUNC_XTAL_32K_N_GPIO16_0 0 287 288 #define PERIPHS_IO_MUX_DAC_1_U (REG_IO_MUX_BASE +0x48) 289 #define FUNC_DAC_1_U1TXD 2 290 #define FUNC_DAC_1_GPIO17 1 291 #define FUNC_DAC_1_GPIO17_0 0 292 293 #define PERIPHS_IO_MUX_DAC_2_U (REG_IO_MUX_BASE +0x4c) 294 #define FUNC_DAC_2_CLK_OUT3 3 295 #define FUNC_DAC_2_U1RXD 2 296 #define FUNC_DAC_2_GPIO18 1 297 #define FUNC_DAC_2_GPIO18_0 0 298 299 #define PERIPHS_IO_MUX_GPIO19_U (REG_IO_MUX_BASE +0x50) 300 #define FUNC_GPIO19_CLK_OUT2 3 301 #define FUNC_GPIO19_U1RTS 2 302 #define FUNC_GPIO19_GPIO19 1 303 #define FUNC_GPIO19_GPIO19_0 0 304 305 #define PERIPHS_IO_MUX_GPIO20_U (REG_IO_MUX_BASE +0x54) 306 #define FUNC_GPIO20_CLK_OUT1 3 307 #define FUNC_GPIO20_U1CTS 2 308 #define FUNC_GPIO20_GPIO20 1 309 #define FUNC_GPIO20_GPIO20_0 0 310 311 #define PERIPHS_IO_MUX_GPIO21_U (REG_IO_MUX_BASE +0x58) 312 #define FUNC_GPIO21_GPIO21 1 313 #define FUNC_GPIO21_GPIO21_0 0 314 315 #define PERIPHS_IO_MUX_SPICS1_U (REG_IO_MUX_BASE +0x6c) 316 #define FUNC_SPICS1_GPIO26 1 317 #define FUNC_SPICS1_SPICS1 0 318 319 #define PERIPHS_IO_MUX_SPIHD_U (REG_IO_MUX_BASE +0x70) 320 #define FUNC_SPIHD_GPIO27 1 321 #define FUNC_SPIHD_SPIHD 0 322 323 #define PERIPHS_IO_MUX_SPIWP_U (REG_IO_MUX_BASE +0x74) 324 #define FUNC_SPIWP_GPIO28 1 325 #define FUNC_SPIWP_SPIWP 0 326 327 #define PERIPHS_IO_MUX_SPICS0_U (REG_IO_MUX_BASE +0x78) 328 #define FUNC_SPICS0_GPIO29 1 329 #define FUNC_SPICS0_SPICS0 0 330 331 #define PERIPHS_IO_MUX_SPICLK_U (REG_IO_MUX_BASE +0x7c) 332 #define FUNC_SPICLK_GPIO30 1 333 #define FUNC_SPICLK_SPICLK 0 334 335 #define PERIPHS_IO_MUX_SPIQ_U (REG_IO_MUX_BASE +0x80) 336 #define FUNC_SPIQ_GPIO31 1 337 #define FUNC_SPIQ_SPIQ 0 338 339 #define PERIPHS_IO_MUX_SPID_U (REG_IO_MUX_BASE +0x84) 340 #define FUNC_SPID_GPIO32 1 341 #define FUNC_SPID_SPID 0 342 343 #define PERIPHS_IO_MUX_GPIO33_U (REG_IO_MUX_BASE +0x88) 344 #define FUNC_GPIO33_SPIIO4 4 345 #define FUNC_GPIO33_SUBSPIHD 3 346 #define FUNC_GPIO33_FSPIHD 2 347 #define FUNC_GPIO33_GPIO33 1 348 #define FUNC_GPIO33_GPIO33_0 0 349 350 #define PERIPHS_IO_MUX_GPIO34_U (REG_IO_MUX_BASE +0x8c) 351 #define FUNC_GPIO34_SPIIO5 4 352 #define FUNC_GPIO34_SUBSPICS0 3 353 #define FUNC_GPIO34_FSPICS0 2 354 #define FUNC_GPIO34_GPIO34 1 355 #define FUNC_GPIO34_GPIO34_0 0 356 357 #define PERIPHS_IO_MUX_GPIO35_U (REG_IO_MUX_BASE +0x90) 358 #define FUNC_GPIO35_SPIIO6 4 359 #define FUNC_GPIO35_SUBSPID 3 360 #define FUNC_GPIO35_FSPID 2 361 #define FUNC_GPIO35_GPIO35 1 362 #define FUNC_GPIO35_GPIO35_0 0 363 364 #define PERIPHS_IO_MUX_GPIO36_U (REG_IO_MUX_BASE +0x94) 365 #define FUNC_GPIO36_SPIIO7 4 366 #define FUNC_GPIO36_SUBSPICLK 3 367 #define FUNC_GPIO36_FSPICLK 2 368 #define FUNC_GPIO36_GPIO36 1 369 #define FUNC_GPIO36_GPIO36_0 0 370 371 #define PERIPHS_IO_MUX_GPIO37_U (REG_IO_MUX_BASE +0x98) 372 #define FUNC_GPIO37_SPIDQS 4 373 #define FUNC_GPIO37_SUBSPIQ 3 374 #define FUNC_GPIO37_FSPIQ 2 375 #define FUNC_GPIO37_GPIO37 1 376 #define FUNC_GPIO37_GPIO37_0 0 377 378 #define PERIPHS_IO_MUX_GPIO38_U (REG_IO_MUX_BASE +0x9c) 379 #define FUNC_GPIO38_SUBSPIWP 3 380 #define FUNC_GPIO38_FSPIWP 2 381 #define FUNC_GPIO38_GPIO38 1 382 #define FUNC_GPIO38_GPIO38_0 0 383 384 #define PERIPHS_IO_MUX_MTCK_U (REG_IO_MUX_BASE +0xa0) 385 #define FUNC_MTCK_SUBSPICS1 3 386 #define FUNC_MTCK_CLK_OUT3 2 387 #define FUNC_MTCK_GPIO39 1 388 #define FUNC_MTCK_MTCK 0 389 390 #define PERIPHS_IO_MUX_MTDO_U (REG_IO_MUX_BASE +0xa4) 391 #define FUNC_MTDO_CLK_OUT2 2 392 #define FUNC_MTDO_GPIO40 1 393 #define FUNC_MTDO_MTDO 0 394 395 #define PERIPHS_IO_MUX_MTDI_U (REG_IO_MUX_BASE +0xa8) 396 #define FUNC_MTDI_CLK_OUT1 2 397 #define FUNC_MTDI_GPIO41 1 398 #define FUNC_MTDI_MTDI 0 399 400 #define PERIPHS_IO_MUX_MTMS_U (REG_IO_MUX_BASE +0xac) 401 #define FUNC_MTMS_GPIO42 1 402 #define FUNC_MTMS_MTMS 0 403 404 #define PERIPHS_IO_MUX_U0TXD_U (REG_IO_MUX_BASE +0xb0) 405 #define FUNC_U0TXD_CLK_OUT1 2 406 #define FUNC_U0TXD_GPIO43 1 407 #define FUNC_U0TXD_U0TXD 0 408 409 #define PERIPHS_IO_MUX_U0RXD_U (REG_IO_MUX_BASE +0xb4) 410 #define FUNC_U0RXD_CLK_OUT2 2 411 #define FUNC_U0RXD_GPIO44 1 412 #define FUNC_U0RXD_U0RXD 0 413 414 #define PERIPHS_IO_MUX_GPIO45_U (REG_IO_MUX_BASE +0xb8) 415 #define FUNC_GPIO45_GPIO45 1 416 #define FUNC_GPIO45_GPIO45_0 0 417 418 #define PERIPHS_IO_MUX_GPIO46_U (REG_IO_MUX_BASE +0xbc) 419 #define FUNC_GPIO46_GPIO46 1 420 #define FUNC_GPIO46_GPIO46_0 0 421 422 #define PERIPHS_IO_MUX_SPICLK_P_U (REG_IO_MUX_BASE +0xc0) 423 #define FUNC_SPICLK_P_SUBSPICLK_DIFF 2 424 #define FUNC_SPICLK_P_GPIO47 1 425 #define FUNC_SPICLK_P_SPICLK_DIFF 0 426 427 #define PERIPHS_IO_MUX_SPICLK_N_U (REG_IO_MUX_BASE +0xc4) 428 #define FUNC_SPICLK_N_SUBSPICLK_DIFF 2 429 #define FUNC_SPICLK_N_GPIO48 1 430 #define FUNC_SPICLK_N_SPICLK_DIFF 0 431 432 433 #define IO_MUX_DATE_REG (REG_IO_MUX_BASE + 0xfc) 434 #define IO_MUX_DATE 0xFFFFFFFF 435 #define IO_MUX_DATE_S 0 436 #define IO_MUX_DATE_VERSION 0x1907160 437