1 /****************************************************************************** 2 * Filename: hw_ioc_h 3 * Revised: $Date$ 4 * Revision: $Revision$ 5 * 6 * Copyright (c) 2015 - 2017, Texas Instruments Incorporated 7 * All rights reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions are met: 11 * 12 * 1) Redistributions of source code must retain the above copyright notice, 13 * this list of conditions and the following disclaimer. 14 * 15 * 2) Redistributions in binary form must reproduce the above copyright notice, 16 * this list of conditions and the following disclaimer in the documentation 17 * and/or other materials provided with the distribution. 18 * 19 * 3) Neither the name of the ORGANIZATION nor the names of its contributors may 20 * be used to endorse or promote products derived from this software without 21 * specific prior written permission. 22 * 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 26 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 33 * POSSIBILITY OF SUCH DAMAGE. 34 * 35 ******************************************************************************/ 36 37 #ifndef __HW_IOC_H__ 38 #define __HW_IOC_H__ 39 40 //***************************************************************************** 41 // 42 // This section defines the register offsets of 43 // IOC component 44 // 45 //***************************************************************************** 46 // Configuration of DIO0 47 #define IOC_O_IOCFG0 0x00000000 48 49 // Configuration of DIO1 50 #define IOC_O_IOCFG1 0x00000004 51 52 // Configuration of DIO2 53 #define IOC_O_IOCFG2 0x00000008 54 55 // Configuration of DIO3 56 #define IOC_O_IOCFG3 0x0000000C 57 58 // Configuration of DIO4 59 #define IOC_O_IOCFG4 0x00000010 60 61 // Configuration of DIO5 62 #define IOC_O_IOCFG5 0x00000014 63 64 // Configuration of DIO6 65 #define IOC_O_IOCFG6 0x00000018 66 67 // Configuration of DIO7 68 #define IOC_O_IOCFG7 0x0000001C 69 70 // Configuration of DIO8 71 #define IOC_O_IOCFG8 0x00000020 72 73 // Configuration of DIO9 74 #define IOC_O_IOCFG9 0x00000024 75 76 // Configuration of DIO10 77 #define IOC_O_IOCFG10 0x00000028 78 79 // Configuration of DIO11 80 #define IOC_O_IOCFG11 0x0000002C 81 82 // Configuration of DIO12 83 #define IOC_O_IOCFG12 0x00000030 84 85 // Configuration of DIO13 86 #define IOC_O_IOCFG13 0x00000034 87 88 // Configuration of DIO14 89 #define IOC_O_IOCFG14 0x00000038 90 91 // Configuration of DIO15 92 #define IOC_O_IOCFG15 0x0000003C 93 94 // Configuration of DIO16 95 #define IOC_O_IOCFG16 0x00000040 96 97 // Configuration of DIO17 98 #define IOC_O_IOCFG17 0x00000044 99 100 // Configuration of DIO18 101 #define IOC_O_IOCFG18 0x00000048 102 103 // Configuration of DIO19 104 #define IOC_O_IOCFG19 0x0000004C 105 106 // Configuration of DIO20 107 #define IOC_O_IOCFG20 0x00000050 108 109 // Configuration of DIO21 110 #define IOC_O_IOCFG21 0x00000054 111 112 // Configuration of DIO22 113 #define IOC_O_IOCFG22 0x00000058 114 115 // Configuration of DIO23 116 #define IOC_O_IOCFG23 0x0000005C 117 118 // Configuration of DIO24 119 #define IOC_O_IOCFG24 0x00000060 120 121 // Configuration of DIO25 122 #define IOC_O_IOCFG25 0x00000064 123 124 // Configuration of DIO26 125 #define IOC_O_IOCFG26 0x00000068 126 127 // Configuration of DIO27 128 #define IOC_O_IOCFG27 0x0000006C 129 130 // Configuration of DIO28 131 #define IOC_O_IOCFG28 0x00000070 132 133 // Configuration of DIO29 134 #define IOC_O_IOCFG29 0x00000074 135 136 // Configuration of DIO30 137 #define IOC_O_IOCFG30 0x00000078 138 139 // Configuration of DIO31 140 #define IOC_O_IOCFG31 0x0000007C 141 142 //***************************************************************************** 143 // 144 // Register: IOC_O_IOCFG0 145 // 146 //***************************************************************************** 147 // Field: [30] HYST_EN 148 // 149 // 0: Input hysteresis disable 150 // 1: Input hysteresis enable 151 #define IOC_IOCFG0_HYST_EN 0x40000000 152 #define IOC_IOCFG0_HYST_EN_BITN 30 153 #define IOC_IOCFG0_HYST_EN_M 0x40000000 154 #define IOC_IOCFG0_HYST_EN_S 30 155 156 // Field: [29] IE 157 // 158 // 0: Input disabled 159 // 1: Input enabled 160 // 161 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 162 // ignored. 163 #define IOC_IOCFG0_IE 0x20000000 164 #define IOC_IOCFG0_IE_BITN 29 165 #define IOC_IOCFG0_IE_M 0x20000000 166 #define IOC_IOCFG0_IE_S 29 167 168 // Field: [28:27] WU_CFG 169 // 170 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 171 // >0x08: 172 // 173 // 00: No wake-up 174 // 01: No wake-up 175 // 10: Wakes up from shutdown if this pad is going low. 176 // 11: Wakes up from shutdown if this pad is going high. 177 // 178 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 179 // this register only sets wakeup enable or not. 180 // 181 // 00, 01: Wakeup disabled 182 // 10, 11: Wakeup enabled 183 // 184 // Polarity is controlled from AON registers. 185 // 186 // Note:When the MSB is set, the IOC will deactivate the output enable for the 187 // DIO. 188 #define IOC_IOCFG0_WU_CFG_W 2 189 #define IOC_IOCFG0_WU_CFG_M 0x18000000 190 #define IOC_IOCFG0_WU_CFG_S 27 191 192 // Field: [26:24] IOMODE 193 // 194 // IO Mode 195 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 196 // 0x01-0x08 197 // AUX has its own open_source/drain configuration. 198 // 199 // 0x2: Reserved. Undefined behavior. 200 // 0x3: Reserved. Undefined behavior. 201 // ENUMs: 202 // OPENSRC_INV Open Source 203 // Inverted input/output 204 // OPENSRC Open Source 205 // Normal input / outut 206 // OPENDR_INV Open Drain 207 // Inverted input / output 208 // OPENDR Open Drain, 209 // Normal input / output 210 // INV Inverted input / ouput 211 // NORMAL Normal input / output 212 #define IOC_IOCFG0_IOMODE_W 3 213 #define IOC_IOCFG0_IOMODE_M 0x07000000 214 #define IOC_IOCFG0_IOMODE_S 24 215 #define IOC_IOCFG0_IOMODE_OPENSRC_INV 0x07000000 216 #define IOC_IOCFG0_IOMODE_OPENSRC 0x06000000 217 #define IOC_IOCFG0_IOMODE_OPENDR_INV 0x05000000 218 #define IOC_IOCFG0_IOMODE_OPENDR 0x04000000 219 #define IOC_IOCFG0_IOMODE_INV 0x01000000 220 #define IOC_IOCFG0_IOMODE_NORMAL 0x00000000 221 222 // Field: [23] IOEV_AON_PROG2_EN 223 // 224 // Event asserted by this IO when edge detection is enabled 225 // 226 // 0: Input edge detection does not assert AON_PROG2 event 227 // 1: Input edge detection asserts AON_PROG2 event 228 #define IOC_IOCFG0_IOEV_AON_PROG2_EN 0x00800000 229 #define IOC_IOCFG0_IOEV_AON_PROG2_EN_BITN 23 230 #define IOC_IOCFG0_IOEV_AON_PROG2_EN_M 0x00800000 231 #define IOC_IOCFG0_IOEV_AON_PROG2_EN_S 23 232 233 // Field: [22] IOEV_AON_PROG1_EN 234 // 235 // Event asserted by this IO when edge detection is enabled 236 // 237 // 0: Input edge detection does not assert AON_PROG1 event 238 // 1: Input edge detection asserts AON_PROG1 event 239 #define IOC_IOCFG0_IOEV_AON_PROG1_EN 0x00400000 240 #define IOC_IOCFG0_IOEV_AON_PROG1_EN_BITN 22 241 #define IOC_IOCFG0_IOEV_AON_PROG1_EN_M 0x00400000 242 #define IOC_IOCFG0_IOEV_AON_PROG1_EN_S 22 243 244 // Field: [21] IOEV_AON_PROG0_EN 245 // 246 // Event asserted by this IO when edge detection is enabled 247 // 248 // 0: Input edge detection does not assert AON_PROG0 event 249 // 1: Input edge detection asserts AON_PROG0 event 250 #define IOC_IOCFG0_IOEV_AON_PROG0_EN 0x00200000 251 #define IOC_IOCFG0_IOEV_AON_PROG0_EN_BITN 21 252 #define IOC_IOCFG0_IOEV_AON_PROG0_EN_M 0x00200000 253 #define IOC_IOCFG0_IOEV_AON_PROG0_EN_S 21 254 255 // Field: [18] EDGE_IRQ_EN 256 // 257 // 0: No interrupt generation 258 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 259 // enabled) 260 #define IOC_IOCFG0_EDGE_IRQ_EN 0x00040000 261 #define IOC_IOCFG0_EDGE_IRQ_EN_BITN 18 262 #define IOC_IOCFG0_EDGE_IRQ_EN_M 0x00040000 263 #define IOC_IOCFG0_EDGE_IRQ_EN_S 18 264 265 // Field: [17:16] EDGE_DET 266 // 267 // Enable generation of edge detection events on this IO 268 // ENUMs: 269 // BOTH Positive and negative edge detection 270 // POS Positive edge detection 271 // NEG Negative edge detection 272 // NONE No edge detection 273 #define IOC_IOCFG0_EDGE_DET_W 2 274 #define IOC_IOCFG0_EDGE_DET_M 0x00030000 275 #define IOC_IOCFG0_EDGE_DET_S 16 276 #define IOC_IOCFG0_EDGE_DET_BOTH 0x00030000 277 #define IOC_IOCFG0_EDGE_DET_POS 0x00020000 278 #define IOC_IOCFG0_EDGE_DET_NEG 0x00010000 279 #define IOC_IOCFG0_EDGE_DET_NONE 0x00000000 280 281 // Field: [14:13] PULL_CTL 282 // 283 // Pull control 284 // ENUMs: 285 // DIS No pull 286 // UP Pull up 287 // DWN Pull down 288 #define IOC_IOCFG0_PULL_CTL_W 2 289 #define IOC_IOCFG0_PULL_CTL_M 0x00006000 290 #define IOC_IOCFG0_PULL_CTL_S 13 291 #define IOC_IOCFG0_PULL_CTL_DIS 0x00006000 292 #define IOC_IOCFG0_PULL_CTL_UP 0x00004000 293 #define IOC_IOCFG0_PULL_CTL_DWN 0x00002000 294 295 // Field: [12] SLEW_RED 296 // 297 // 0: Normal slew rate 298 // 1: Enables reduced slew rate in output driver. 299 #define IOC_IOCFG0_SLEW_RED 0x00001000 300 #define IOC_IOCFG0_SLEW_RED_BITN 12 301 #define IOC_IOCFG0_SLEW_RED_M 0x00001000 302 #define IOC_IOCFG0_SLEW_RED_S 12 303 304 // Field: [11:10] IOCURR 305 // 306 // Selects IO current mode of this IO. 307 // ENUMs: 308 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 309 // drive strength IOs (min 4 mA for normal IOs) 310 // when IOSTR is set to AUTO 311 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 312 // to AUTO 313 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 314 // to AUTO 315 #define IOC_IOCFG0_IOCURR_W 2 316 #define IOC_IOCFG0_IOCURR_M 0x00000C00 317 #define IOC_IOCFG0_IOCURR_S 10 318 #define IOC_IOCFG0_IOCURR_4_8MA 0x00000800 319 #define IOC_IOCFG0_IOCURR_4MA 0x00000400 320 #define IOC_IOCFG0_IOCURR_2MA 0x00000000 321 322 // Field: [9:8] IOSTR 323 // 324 // Select source for drive strength control of this IO. 325 // This setting controls the drive strength of the Low-Current (LC) mode. 326 // Higher drive strength can be selected in IOCURR 327 // ENUMs: 328 // MAX Maximum drive strength, controlled by 329 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 330 // values) 331 // MED Medium drive strength, controlled by 332 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 333 // values) 334 // MIN Minimum drive strength, controlled by 335 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 336 // values) 337 // AUTO Automatic drive strength, controlled by AON BATMON 338 // based on battery voltage. (min 2 mA @VDDS) 339 #define IOC_IOCFG0_IOSTR_W 2 340 #define IOC_IOCFG0_IOSTR_M 0x00000300 341 #define IOC_IOCFG0_IOSTR_S 8 342 #define IOC_IOCFG0_IOSTR_MAX 0x00000300 343 #define IOC_IOCFG0_IOSTR_MED 0x00000200 344 #define IOC_IOCFG0_IOSTR_MIN 0x00000100 345 #define IOC_IOCFG0_IOSTR_AUTO 0x00000000 346 347 // Field: [7] IOEV_RTC_EN 348 // 349 // Event asserted by this IO when edge detection is enabled 350 // 351 // 0: Input edge detection does not assert RTC event 352 // 1: Input edge detection asserts RTC event 353 #define IOC_IOCFG0_IOEV_RTC_EN 0x00000080 354 #define IOC_IOCFG0_IOEV_RTC_EN_BITN 7 355 #define IOC_IOCFG0_IOEV_RTC_EN_M 0x00000080 356 #define IOC_IOCFG0_IOEV_RTC_EN_S 7 357 358 // Field: [6] IOEV_MCU_WU_EN 359 // 360 // Event asserted by this IO when edge detection is enabled 361 // 362 // 0: Input edge detection does not assert MCU_WU event 363 // 1: Input edge detection asserts MCU_WU event 364 #define IOC_IOCFG0_IOEV_MCU_WU_EN 0x00000040 365 #define IOC_IOCFG0_IOEV_MCU_WU_EN_BITN 6 366 #define IOC_IOCFG0_IOEV_MCU_WU_EN_M 0x00000040 367 #define IOC_IOCFG0_IOEV_MCU_WU_EN_S 6 368 369 // Field: [5:0] PORT_ID 370 // 371 // Selects usage for DIO0 372 // Note: This field should not be written other than the times when PORT_ID 373 // value is specifically required to change. 374 // ENUMs: 375 // RFC_SMI_CL_IN RF Core SMI Command Link In 376 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 377 // RFC_SMI_DL_IN RF Core SMI Data Link In 378 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 379 // RFC_GPI1 RF Core Data In 1 380 // RFC_GPI0 RF Core Data In 0 381 // RFC_GPO3 RF Core Data Out 3 382 // RFC_GPO2 RF Core Data Out 2 383 // RFC_GPO1 RF Core Data Out 1 384 // RFC_GPO0 RF Core Data Out 0 385 // RFC_TRC RF Core Trace 386 // I2S_MCLK I2S MCLK 387 // I2S_BCLK I2S BCLK 388 // I2S_WCLK I2S WCLK 389 // I2S_AD1 I2S Data 1 390 // I2S_AD0 I2S Data 0 391 // SSI1_CLK SSI1 CLK 392 // SSI1_FSS SSI1 FSS 393 // SSI1_TX SSI1 TX 394 // SSI1_RX SSI1 RX 395 // CPU_SWV CPU SWV 396 // PORT_EVENT7 PORT EVENT 7 397 // Can be used as a general 398 // purpose IO event by selecting it through 399 // registers in the EVENT module, for example 400 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 401 // and so on 402 // PORT_EVENT6 PORT EVENT 6 403 // Can be used as a general 404 // purpose IO event by selecting it through 405 // registers in the EVENT module, for example 406 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 407 // and so on 408 // PORT_EVENT5 PORT EVENT 5 409 // Can be used as a general 410 // purpose IO event by selecting it through 411 // registers in the EVENT module, for example 412 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 413 // and so on 414 // PORT_EVENT4 PORT EVENT 4 415 // Can be used as a general 416 // purpose IO event by selecting it through 417 // registers in the EVENT module, for example 418 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 419 // and so on 420 // PORT_EVENT3 PORT EVENT 3 421 // Can be used as a general 422 // purpose IO event by selecting it through 423 // registers in the EVENT module, for example 424 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 425 // and so on 426 // PORT_EVENT2 PORT EVENT 2 427 // Can be used as a general 428 // purpose IO event by selecting it through 429 // registers in the EVENT module, for example 430 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 431 // and so on 432 // PORT_EVENT1 PORT EVENT 1 433 // Can be used as a general 434 // purpose IO event by selecting it through 435 // registers in the EVENT module, for example 436 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 437 // and so on 438 // PORT_EVENT0 PORT EVENT 0 439 // Can be used as a general 440 // purpose IO event by selecting it through 441 // registers in the EVENT module, for example 442 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 443 // and so on 444 // UART1_RTS UART1 RTS 445 // UART1_CTS UART1 CTS 446 // UART1_TX UART1 TX 447 // UART1_RX UART1 RX 448 // UART0_RTS UART0 RTS 449 // UART0_CTS UART0 CTS 450 // UART0_TX UART0 TX 451 // UART0_RX UART0 RX 452 // I2C_MSSCL I2C Clock 453 // I2C_MSSDA I2C Data 454 // SSI0_CLK SSI0 CLK 455 // SSI0_FSS SSI0 FSS 456 // SSI0_TX SSI0 TX 457 // SSI0_RX SSI0 RX 458 // AUX_IO AUX IO 459 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 460 // GPIO General Purpose IO 461 #define IOC_IOCFG0_PORT_ID_W 6 462 #define IOC_IOCFG0_PORT_ID_M 0x0000003F 463 #define IOC_IOCFG0_PORT_ID_S 0 464 #define IOC_IOCFG0_PORT_ID_RFC_SMI_CL_IN 0x00000038 465 #define IOC_IOCFG0_PORT_ID_RFC_SMI_CL_OUT 0x00000037 466 #define IOC_IOCFG0_PORT_ID_RFC_SMI_DL_IN 0x00000036 467 #define IOC_IOCFG0_PORT_ID_RFC_SMI_DL_OUT 0x00000035 468 #define IOC_IOCFG0_PORT_ID_RFC_GPI1 0x00000034 469 #define IOC_IOCFG0_PORT_ID_RFC_GPI0 0x00000033 470 #define IOC_IOCFG0_PORT_ID_RFC_GPO3 0x00000032 471 #define IOC_IOCFG0_PORT_ID_RFC_GPO2 0x00000031 472 #define IOC_IOCFG0_PORT_ID_RFC_GPO1 0x00000030 473 #define IOC_IOCFG0_PORT_ID_RFC_GPO0 0x0000002F 474 #define IOC_IOCFG0_PORT_ID_RFC_TRC 0x0000002E 475 #define IOC_IOCFG0_PORT_ID_I2S_MCLK 0x00000029 476 #define IOC_IOCFG0_PORT_ID_I2S_BCLK 0x00000028 477 #define IOC_IOCFG0_PORT_ID_I2S_WCLK 0x00000027 478 #define IOC_IOCFG0_PORT_ID_I2S_AD1 0x00000026 479 #define IOC_IOCFG0_PORT_ID_I2S_AD0 0x00000025 480 #define IOC_IOCFG0_PORT_ID_SSI1_CLK 0x00000024 481 #define IOC_IOCFG0_PORT_ID_SSI1_FSS 0x00000023 482 #define IOC_IOCFG0_PORT_ID_SSI1_TX 0x00000022 483 #define IOC_IOCFG0_PORT_ID_SSI1_RX 0x00000021 484 #define IOC_IOCFG0_PORT_ID_CPU_SWV 0x00000020 485 #define IOC_IOCFG0_PORT_ID_PORT_EVENT7 0x0000001E 486 #define IOC_IOCFG0_PORT_ID_PORT_EVENT6 0x0000001D 487 #define IOC_IOCFG0_PORT_ID_PORT_EVENT5 0x0000001C 488 #define IOC_IOCFG0_PORT_ID_PORT_EVENT4 0x0000001B 489 #define IOC_IOCFG0_PORT_ID_PORT_EVENT3 0x0000001A 490 #define IOC_IOCFG0_PORT_ID_PORT_EVENT2 0x00000019 491 #define IOC_IOCFG0_PORT_ID_PORT_EVENT1 0x00000018 492 #define IOC_IOCFG0_PORT_ID_PORT_EVENT0 0x00000017 493 #define IOC_IOCFG0_PORT_ID_UART1_RTS 0x00000016 494 #define IOC_IOCFG0_PORT_ID_UART1_CTS 0x00000015 495 #define IOC_IOCFG0_PORT_ID_UART1_TX 0x00000014 496 #define IOC_IOCFG0_PORT_ID_UART1_RX 0x00000013 497 #define IOC_IOCFG0_PORT_ID_UART0_RTS 0x00000012 498 #define IOC_IOCFG0_PORT_ID_UART0_CTS 0x00000011 499 #define IOC_IOCFG0_PORT_ID_UART0_TX 0x00000010 500 #define IOC_IOCFG0_PORT_ID_UART0_RX 0x0000000F 501 #define IOC_IOCFG0_PORT_ID_I2C_MSSCL 0x0000000E 502 #define IOC_IOCFG0_PORT_ID_I2C_MSSDA 0x0000000D 503 #define IOC_IOCFG0_PORT_ID_SSI0_CLK 0x0000000C 504 #define IOC_IOCFG0_PORT_ID_SSI0_FSS 0x0000000B 505 #define IOC_IOCFG0_PORT_ID_SSI0_TX 0x0000000A 506 #define IOC_IOCFG0_PORT_ID_SSI0_RX 0x00000009 507 #define IOC_IOCFG0_PORT_ID_AUX_IO 0x00000008 508 #define IOC_IOCFG0_PORT_ID_AON_CLK32K 0x00000007 509 #define IOC_IOCFG0_PORT_ID_GPIO 0x00000000 510 511 //***************************************************************************** 512 // 513 // Register: IOC_O_IOCFG1 514 // 515 //***************************************************************************** 516 // Field: [30] HYST_EN 517 // 518 // 0: Input hysteresis disable 519 // 1: Input hysteresis enable 520 #define IOC_IOCFG1_HYST_EN 0x40000000 521 #define IOC_IOCFG1_HYST_EN_BITN 30 522 #define IOC_IOCFG1_HYST_EN_M 0x40000000 523 #define IOC_IOCFG1_HYST_EN_S 30 524 525 // Field: [29] IE 526 // 527 // 0: Input disabled 528 // 1: Input enabled 529 // 530 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 531 // ignored. 532 #define IOC_IOCFG1_IE 0x20000000 533 #define IOC_IOCFG1_IE_BITN 29 534 #define IOC_IOCFG1_IE_M 0x20000000 535 #define IOC_IOCFG1_IE_S 29 536 537 // Field: [28:27] WU_CFG 538 // 539 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 540 // >0x08: 541 // 542 // 00: No wake-up 543 // 01: No wake-up 544 // 10: Wakes up from shutdown if this pad is going low. 545 // 11: Wakes up from shutdown if this pad is going high. 546 // 547 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 548 // this register only sets wakeup enable or not. 549 // 550 // 00, 01: Wakeup disabled 551 // 10, 11: Wakeup enabled 552 // 553 // Polarity is controlled from AON registers. 554 // 555 // Note:When the MSB is set, the IOC will deactivate the output enable for the 556 // DIO. 557 #define IOC_IOCFG1_WU_CFG_W 2 558 #define IOC_IOCFG1_WU_CFG_M 0x18000000 559 #define IOC_IOCFG1_WU_CFG_S 27 560 561 // Field: [26:24] IOMODE 562 // 563 // IO Mode 564 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 565 // 0x01-0x08 566 // AUX has its own open_source/drain configuration. 567 // 568 // 0x2: Reserved. Undefined behavior. 569 // 0x3: Reserved. Undefined behavior. 570 // ENUMs: 571 // OPENSRC_INV Open Source 572 // Inverted input / output 573 // OPENSRC Open Source 574 // Normal input / output 575 // OPENDR_INV Open Drain 576 // Inverted input / output 577 // OPENDR Open Drain, 578 // Normal input / output 579 // INV Inverted input / ouput 580 // NORMAL Normal input / output 581 #define IOC_IOCFG1_IOMODE_W 3 582 #define IOC_IOCFG1_IOMODE_M 0x07000000 583 #define IOC_IOCFG1_IOMODE_S 24 584 #define IOC_IOCFG1_IOMODE_OPENSRC_INV 0x07000000 585 #define IOC_IOCFG1_IOMODE_OPENSRC 0x06000000 586 #define IOC_IOCFG1_IOMODE_OPENDR_INV 0x05000000 587 #define IOC_IOCFG1_IOMODE_OPENDR 0x04000000 588 #define IOC_IOCFG1_IOMODE_INV 0x01000000 589 #define IOC_IOCFG1_IOMODE_NORMAL 0x00000000 590 591 // Field: [23] IOEV_AON_PROG2_EN 592 // 593 // Event asserted by this IO when edge detection is enabled 594 // 595 // 0: Input edge detection does not assert AON_PROG2 event 596 // 1: Input edge detection asserts AON_PROG2 event 597 #define IOC_IOCFG1_IOEV_AON_PROG2_EN 0x00800000 598 #define IOC_IOCFG1_IOEV_AON_PROG2_EN_BITN 23 599 #define IOC_IOCFG1_IOEV_AON_PROG2_EN_M 0x00800000 600 #define IOC_IOCFG1_IOEV_AON_PROG2_EN_S 23 601 602 // Field: [22] IOEV_AON_PROG1_EN 603 // 604 // Event asserted by this IO when edge detection is enabled 605 // 606 // 0: Input edge detection does not assert AON_PROG1 event 607 // 1: Input edge detection asserts AON_PROG1 event 608 #define IOC_IOCFG1_IOEV_AON_PROG1_EN 0x00400000 609 #define IOC_IOCFG1_IOEV_AON_PROG1_EN_BITN 22 610 #define IOC_IOCFG1_IOEV_AON_PROG1_EN_M 0x00400000 611 #define IOC_IOCFG1_IOEV_AON_PROG1_EN_S 22 612 613 // Field: [21] IOEV_AON_PROG0_EN 614 // 615 // Event asserted by this IO when edge detection is enabled 616 // 617 // 0: Input edge detection does not assert AON_PROG0 event 618 // 1: Input edge detection asserts AON_PROG0 event 619 #define IOC_IOCFG1_IOEV_AON_PROG0_EN 0x00200000 620 #define IOC_IOCFG1_IOEV_AON_PROG0_EN_BITN 21 621 #define IOC_IOCFG1_IOEV_AON_PROG0_EN_M 0x00200000 622 #define IOC_IOCFG1_IOEV_AON_PROG0_EN_S 21 623 624 // Field: [18] EDGE_IRQ_EN 625 // 626 // 0: No interrupt generation 627 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 628 // enabled) 629 #define IOC_IOCFG1_EDGE_IRQ_EN 0x00040000 630 #define IOC_IOCFG1_EDGE_IRQ_EN_BITN 18 631 #define IOC_IOCFG1_EDGE_IRQ_EN_M 0x00040000 632 #define IOC_IOCFG1_EDGE_IRQ_EN_S 18 633 634 // Field: [17:16] EDGE_DET 635 // 636 // Enable generation of edge detection events on this IO 637 // ENUMs: 638 // BOTH Positive and negative edge detection 639 // POS Positive edge detection 640 // NEG Negative edge detection 641 // NONE No edge detection 642 #define IOC_IOCFG1_EDGE_DET_W 2 643 #define IOC_IOCFG1_EDGE_DET_M 0x00030000 644 #define IOC_IOCFG1_EDGE_DET_S 16 645 #define IOC_IOCFG1_EDGE_DET_BOTH 0x00030000 646 #define IOC_IOCFG1_EDGE_DET_POS 0x00020000 647 #define IOC_IOCFG1_EDGE_DET_NEG 0x00010000 648 #define IOC_IOCFG1_EDGE_DET_NONE 0x00000000 649 650 // Field: [14:13] PULL_CTL 651 // 652 // Pull control 653 // ENUMs: 654 // DIS No pull 655 // UP Pull up 656 // DWN Pull down 657 #define IOC_IOCFG1_PULL_CTL_W 2 658 #define IOC_IOCFG1_PULL_CTL_M 0x00006000 659 #define IOC_IOCFG1_PULL_CTL_S 13 660 #define IOC_IOCFG1_PULL_CTL_DIS 0x00006000 661 #define IOC_IOCFG1_PULL_CTL_UP 0x00004000 662 #define IOC_IOCFG1_PULL_CTL_DWN 0x00002000 663 664 // Field: [12] SLEW_RED 665 // 666 // 0: Normal slew rate 667 // 1: Enables reduced slew rate in output driver. 668 #define IOC_IOCFG1_SLEW_RED 0x00001000 669 #define IOC_IOCFG1_SLEW_RED_BITN 12 670 #define IOC_IOCFG1_SLEW_RED_M 0x00001000 671 #define IOC_IOCFG1_SLEW_RED_S 12 672 673 // Field: [11:10] IOCURR 674 // 675 // Selects IO current mode of this IO. 676 // ENUMs: 677 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 678 // drive strength IOs (min 4 mA for normal IOs) 679 // when IOSTR is set to AUTO 680 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 681 // to AUTO 682 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 683 // to AUTO 684 #define IOC_IOCFG1_IOCURR_W 2 685 #define IOC_IOCFG1_IOCURR_M 0x00000C00 686 #define IOC_IOCFG1_IOCURR_S 10 687 #define IOC_IOCFG1_IOCURR_4_8MA 0x00000800 688 #define IOC_IOCFG1_IOCURR_4MA 0x00000400 689 #define IOC_IOCFG1_IOCURR_2MA 0x00000000 690 691 // Field: [9:8] IOSTR 692 // 693 // Select source for drive strength control of this IO. 694 // This setting controls the drive strength of the Low-Current (LC) mode. 695 // Higher drive strength can be selected in IOCURR 696 // ENUMs: 697 // MAX Maximum drive strength, controlled by 698 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 699 // values) 700 // MED Medium drive strength, controlled by 701 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 702 // values) 703 // MIN Minimum drive strength, controlled by 704 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 705 // values) 706 // AUTO Automatic drive strength, controlled by AON BATMON 707 // based on battery voltage. (min 2 mA @VDDS) 708 #define IOC_IOCFG1_IOSTR_W 2 709 #define IOC_IOCFG1_IOSTR_M 0x00000300 710 #define IOC_IOCFG1_IOSTR_S 8 711 #define IOC_IOCFG1_IOSTR_MAX 0x00000300 712 #define IOC_IOCFG1_IOSTR_MED 0x00000200 713 #define IOC_IOCFG1_IOSTR_MIN 0x00000100 714 #define IOC_IOCFG1_IOSTR_AUTO 0x00000000 715 716 // Field: [7] IOEV_RTC_EN 717 // 718 // Event asserted by this IO when edge detection is enabled 719 // 720 // 0: Input edge detection does not assert RTC event 721 // 1: Input edge detection asserts RTC event 722 #define IOC_IOCFG1_IOEV_RTC_EN 0x00000080 723 #define IOC_IOCFG1_IOEV_RTC_EN_BITN 7 724 #define IOC_IOCFG1_IOEV_RTC_EN_M 0x00000080 725 #define IOC_IOCFG1_IOEV_RTC_EN_S 7 726 727 // Field: [6] IOEV_MCU_WU_EN 728 // 729 // Event asserted by this IO when edge detection is enabled 730 // 731 // 0: Input edge detection does not assert MCU_WU event 732 // 1: Input edge detection asserts MCU_WU event 733 #define IOC_IOCFG1_IOEV_MCU_WU_EN 0x00000040 734 #define IOC_IOCFG1_IOEV_MCU_WU_EN_BITN 6 735 #define IOC_IOCFG1_IOEV_MCU_WU_EN_M 0x00000040 736 #define IOC_IOCFG1_IOEV_MCU_WU_EN_S 6 737 738 // Field: [5:0] PORT_ID 739 // 740 // Selects usage for DIO1 741 // Note: This field should not be written other than the times when PORT_ID 742 // value is specifically required to change. 743 // ENUMs: 744 // RFC_SMI_CL_IN RF Core SMI Command Link In 745 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 746 // RFC_SMI_DL_IN RF Core SMI Data Link In 747 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 748 // RFC_GPI1 RF Core Data In 1 749 // RFC_GPI0 RF Core Data In 0 750 // RFC_GPO3 RF Core Data Out 3 751 // RFC_GPO2 RF Core Data Out 2 752 // RFC_GPO1 RF Core Data Out 1 753 // RFC_GPO0 RF Core Data Out 0 754 // RFC_TRC RF Core Trace 755 // I2S_MCLK I2S MCLK 756 // I2S_BCLK I2S BCLK 757 // I2S_WCLK I2S WCLK 758 // I2S_AD1 I2S Data 1 759 // I2S_AD0 I2S Data 0 760 // SSI1_CLK SSI1 CLK 761 // SSI1_FSS SSI1 FSS 762 // SSI1_TX SSI1 TX 763 // SSI1_RX SSI1 RX 764 // CPU_SWV CPU SWV 765 // PORT_EVENT7 PORT EVENT 7 766 // Can be used as a general 767 // purpose IO event by selecting it through 768 // registers in the EVENT module, for example 769 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 770 // and so on 771 // PORT_EVENT6 PORT EVENT 6 772 // Can be used as a general 773 // purpose IO event by selecting it through 774 // registers in the EVENT module, for example 775 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 776 // and so on 777 // PORT_EVENT5 PORT EVENT 5 778 // Can be used as a general 779 // purpose IO event by selecting it through 780 // registers in the EVENT module, for example 781 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 782 // and so on 783 // PORT_EVENT4 PORT EVENT 4 784 // Can be used as a general 785 // purpose IO event by selecting it through 786 // registers in the EVENT module, for example 787 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 788 // and so on 789 // PORT_EVENT3 PORT EVENT 3 790 // Can be used as a general 791 // purpose IO event by selecting it through 792 // registers in the EVENT module, for example 793 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 794 // and so on 795 // PORT_EVENT2 PORT EVENT 2 796 // Can be used as a general 797 // purpose IO event by selecting it through 798 // registers in the EVENT module, for example 799 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 800 // and so on 801 // PORT_EVENT1 PORT EVENT 1 802 // Can be used as a general 803 // purpose IO event by selecting it through 804 // registers in the EVENT module, for example 805 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 806 // and so on 807 // PORT_EVENT0 PORT EVENT 0 808 // Can be used as a general 809 // purpose IO event by selecting it through 810 // registers in the EVENT module, for example 811 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 812 // and so on 813 // UART1_RTS UART1 RTS 814 // UART1_CTS UART1 CTS 815 // UART1_TX UART1 TX 816 // UART1_RX UART1 RX 817 // UART0_RTS UART0 RTS 818 // UART0_CTS UART0 CTS 819 // UART0_TX UART0 TX 820 // UART0_RX UART0 RX 821 // I2C_MSSCL I2C Clock 822 // I2C_MSSDA I2C Data 823 // SSI0_CLK SSI0 CLK 824 // SSI0_FSS SSI0 FSS 825 // SSI0_TX SSI0 TX 826 // SSI0_RX SSI0 RX 827 // AUX_IO AUX IO 828 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 829 // GPIO General Purpose IO 830 #define IOC_IOCFG1_PORT_ID_W 6 831 #define IOC_IOCFG1_PORT_ID_M 0x0000003F 832 #define IOC_IOCFG1_PORT_ID_S 0 833 #define IOC_IOCFG1_PORT_ID_RFC_SMI_CL_IN 0x00000038 834 #define IOC_IOCFG1_PORT_ID_RFC_SMI_CL_OUT 0x00000037 835 #define IOC_IOCFG1_PORT_ID_RFC_SMI_DL_IN 0x00000036 836 #define IOC_IOCFG1_PORT_ID_RFC_SMI_DL_OUT 0x00000035 837 #define IOC_IOCFG1_PORT_ID_RFC_GPI1 0x00000034 838 #define IOC_IOCFG1_PORT_ID_RFC_GPI0 0x00000033 839 #define IOC_IOCFG1_PORT_ID_RFC_GPO3 0x00000032 840 #define IOC_IOCFG1_PORT_ID_RFC_GPO2 0x00000031 841 #define IOC_IOCFG1_PORT_ID_RFC_GPO1 0x00000030 842 #define IOC_IOCFG1_PORT_ID_RFC_GPO0 0x0000002F 843 #define IOC_IOCFG1_PORT_ID_RFC_TRC 0x0000002E 844 #define IOC_IOCFG1_PORT_ID_I2S_MCLK 0x00000029 845 #define IOC_IOCFG1_PORT_ID_I2S_BCLK 0x00000028 846 #define IOC_IOCFG1_PORT_ID_I2S_WCLK 0x00000027 847 #define IOC_IOCFG1_PORT_ID_I2S_AD1 0x00000026 848 #define IOC_IOCFG1_PORT_ID_I2S_AD0 0x00000025 849 #define IOC_IOCFG1_PORT_ID_SSI1_CLK 0x00000024 850 #define IOC_IOCFG1_PORT_ID_SSI1_FSS 0x00000023 851 #define IOC_IOCFG1_PORT_ID_SSI1_TX 0x00000022 852 #define IOC_IOCFG1_PORT_ID_SSI1_RX 0x00000021 853 #define IOC_IOCFG1_PORT_ID_CPU_SWV 0x00000020 854 #define IOC_IOCFG1_PORT_ID_PORT_EVENT7 0x0000001E 855 #define IOC_IOCFG1_PORT_ID_PORT_EVENT6 0x0000001D 856 #define IOC_IOCFG1_PORT_ID_PORT_EVENT5 0x0000001C 857 #define IOC_IOCFG1_PORT_ID_PORT_EVENT4 0x0000001B 858 #define IOC_IOCFG1_PORT_ID_PORT_EVENT3 0x0000001A 859 #define IOC_IOCFG1_PORT_ID_PORT_EVENT2 0x00000019 860 #define IOC_IOCFG1_PORT_ID_PORT_EVENT1 0x00000018 861 #define IOC_IOCFG1_PORT_ID_PORT_EVENT0 0x00000017 862 #define IOC_IOCFG1_PORT_ID_UART1_RTS 0x00000016 863 #define IOC_IOCFG1_PORT_ID_UART1_CTS 0x00000015 864 #define IOC_IOCFG1_PORT_ID_UART1_TX 0x00000014 865 #define IOC_IOCFG1_PORT_ID_UART1_RX 0x00000013 866 #define IOC_IOCFG1_PORT_ID_UART0_RTS 0x00000012 867 #define IOC_IOCFG1_PORT_ID_UART0_CTS 0x00000011 868 #define IOC_IOCFG1_PORT_ID_UART0_TX 0x00000010 869 #define IOC_IOCFG1_PORT_ID_UART0_RX 0x0000000F 870 #define IOC_IOCFG1_PORT_ID_I2C_MSSCL 0x0000000E 871 #define IOC_IOCFG1_PORT_ID_I2C_MSSDA 0x0000000D 872 #define IOC_IOCFG1_PORT_ID_SSI0_CLK 0x0000000C 873 #define IOC_IOCFG1_PORT_ID_SSI0_FSS 0x0000000B 874 #define IOC_IOCFG1_PORT_ID_SSI0_TX 0x0000000A 875 #define IOC_IOCFG1_PORT_ID_SSI0_RX 0x00000009 876 #define IOC_IOCFG1_PORT_ID_AUX_IO 0x00000008 877 #define IOC_IOCFG1_PORT_ID_AON_CLK32K 0x00000007 878 #define IOC_IOCFG1_PORT_ID_GPIO 0x00000000 879 880 //***************************************************************************** 881 // 882 // Register: IOC_O_IOCFG2 883 // 884 //***************************************************************************** 885 // Field: [30] HYST_EN 886 // 887 // 0: Input hysteresis disable 888 // 1: Input hysteresis enable 889 #define IOC_IOCFG2_HYST_EN 0x40000000 890 #define IOC_IOCFG2_HYST_EN_BITN 30 891 #define IOC_IOCFG2_HYST_EN_M 0x40000000 892 #define IOC_IOCFG2_HYST_EN_S 30 893 894 // Field: [29] IE 895 // 896 // 0: Input disabled 897 // 1: Input enabled 898 // 899 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 900 // ignored. 901 #define IOC_IOCFG2_IE 0x20000000 902 #define IOC_IOCFG2_IE_BITN 29 903 #define IOC_IOCFG2_IE_M 0x20000000 904 #define IOC_IOCFG2_IE_S 29 905 906 // Field: [28:27] WU_CFG 907 // 908 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 909 // >0x08: 910 // 911 // 00: No wake-up 912 // 01: No wake-up 913 // 10: Wakes up from shutdown if this pad is going low. 914 // 11: Wakes up from shutdown if this pad is going high. 915 // 916 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 917 // this register only sets wakeup enable or not. 918 // 919 // 00, 01: Wakeup disabled 920 // 10, 11: Wakeup enabled 921 // 922 // Polarity is controlled from AON registers. 923 // 924 // Note:When the MSB is set, the IOC will deactivate the output enable for the 925 // DIO. 926 #define IOC_IOCFG2_WU_CFG_W 2 927 #define IOC_IOCFG2_WU_CFG_M 0x18000000 928 #define IOC_IOCFG2_WU_CFG_S 27 929 930 // Field: [26:24] IOMODE 931 // 932 // IO Mode 933 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 934 // 0x01-0x08 935 // AUX has its own open_source/drain configuration. 936 // 937 // 0x2: Reserved. Undefined behavior. 938 // 0x3: Reserved. Undefined behavior. 939 // ENUMs: 940 // OPENSRC_INV Open Source 941 // Inverted input / output 942 // OPENSRC Open Source 943 // Normal input / output 944 // OPENDR_INV Open Drain 945 // Inverted input / output 946 // OPENDR Open Drain, 947 // Normal input / output 948 // INV Inverted input / ouput 949 // NORMAL Normal input / output 950 #define IOC_IOCFG2_IOMODE_W 3 951 #define IOC_IOCFG2_IOMODE_M 0x07000000 952 #define IOC_IOCFG2_IOMODE_S 24 953 #define IOC_IOCFG2_IOMODE_OPENSRC_INV 0x07000000 954 #define IOC_IOCFG2_IOMODE_OPENSRC 0x06000000 955 #define IOC_IOCFG2_IOMODE_OPENDR_INV 0x05000000 956 #define IOC_IOCFG2_IOMODE_OPENDR 0x04000000 957 #define IOC_IOCFG2_IOMODE_INV 0x01000000 958 #define IOC_IOCFG2_IOMODE_NORMAL 0x00000000 959 960 // Field: [23] IOEV_AON_PROG2_EN 961 // 962 // Event asserted by this IO when edge detection is enabled 963 // 964 // 0: Input edge detection does not assert AON_PROG2 event 965 // 1: Input edge detection asserts AON_PROG2 event 966 #define IOC_IOCFG2_IOEV_AON_PROG2_EN 0x00800000 967 #define IOC_IOCFG2_IOEV_AON_PROG2_EN_BITN 23 968 #define IOC_IOCFG2_IOEV_AON_PROG2_EN_M 0x00800000 969 #define IOC_IOCFG2_IOEV_AON_PROG2_EN_S 23 970 971 // Field: [22] IOEV_AON_PROG1_EN 972 // 973 // Event asserted by this IO when edge detection is enabled 974 // 975 // 0: Input edge detection does not assert AON_PROG1 event 976 // 1: Input edge detection asserts AON_PROG1 event 977 #define IOC_IOCFG2_IOEV_AON_PROG1_EN 0x00400000 978 #define IOC_IOCFG2_IOEV_AON_PROG1_EN_BITN 22 979 #define IOC_IOCFG2_IOEV_AON_PROG1_EN_M 0x00400000 980 #define IOC_IOCFG2_IOEV_AON_PROG1_EN_S 22 981 982 // Field: [21] IOEV_AON_PROG0_EN 983 // 984 // Event asserted by this IO when edge detection is enabled 985 // 986 // 0: Input edge detection does not assert AON_PROG0 event 987 // 1: Input edge detection asserts AON_PROG0 event 988 #define IOC_IOCFG2_IOEV_AON_PROG0_EN 0x00200000 989 #define IOC_IOCFG2_IOEV_AON_PROG0_EN_BITN 21 990 #define IOC_IOCFG2_IOEV_AON_PROG0_EN_M 0x00200000 991 #define IOC_IOCFG2_IOEV_AON_PROG0_EN_S 21 992 993 // Field: [18] EDGE_IRQ_EN 994 // 995 // 0: No interrupt generation 996 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 997 // enabled) 998 #define IOC_IOCFG2_EDGE_IRQ_EN 0x00040000 999 #define IOC_IOCFG2_EDGE_IRQ_EN_BITN 18 1000 #define IOC_IOCFG2_EDGE_IRQ_EN_M 0x00040000 1001 #define IOC_IOCFG2_EDGE_IRQ_EN_S 18 1002 1003 // Field: [17:16] EDGE_DET 1004 // 1005 // Enable generation of edge detection events on this IO 1006 // ENUMs: 1007 // BOTH Positive and negative edge detection 1008 // POS Positive edge detection 1009 // NEG Negative edge detection 1010 // NONE No edge detection 1011 #define IOC_IOCFG2_EDGE_DET_W 2 1012 #define IOC_IOCFG2_EDGE_DET_M 0x00030000 1013 #define IOC_IOCFG2_EDGE_DET_S 16 1014 #define IOC_IOCFG2_EDGE_DET_BOTH 0x00030000 1015 #define IOC_IOCFG2_EDGE_DET_POS 0x00020000 1016 #define IOC_IOCFG2_EDGE_DET_NEG 0x00010000 1017 #define IOC_IOCFG2_EDGE_DET_NONE 0x00000000 1018 1019 // Field: [14:13] PULL_CTL 1020 // 1021 // Pull control 1022 // ENUMs: 1023 // DIS No pull 1024 // UP Pull up 1025 // DWN Pull down 1026 #define IOC_IOCFG2_PULL_CTL_W 2 1027 #define IOC_IOCFG2_PULL_CTL_M 0x00006000 1028 #define IOC_IOCFG2_PULL_CTL_S 13 1029 #define IOC_IOCFG2_PULL_CTL_DIS 0x00006000 1030 #define IOC_IOCFG2_PULL_CTL_UP 0x00004000 1031 #define IOC_IOCFG2_PULL_CTL_DWN 0x00002000 1032 1033 // Field: [12] SLEW_RED 1034 // 1035 // 0: Normal slew rate 1036 // 1: Enables reduced slew rate in output driver. 1037 #define IOC_IOCFG2_SLEW_RED 0x00001000 1038 #define IOC_IOCFG2_SLEW_RED_BITN 12 1039 #define IOC_IOCFG2_SLEW_RED_M 0x00001000 1040 #define IOC_IOCFG2_SLEW_RED_S 12 1041 1042 // Field: [11:10] IOCURR 1043 // 1044 // Selects IO current mode of this IO. 1045 // ENUMs: 1046 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 1047 // drive strength IOs (min 4 mA for normal IOs) 1048 // when IOSTR is set to AUTO 1049 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 1050 // to AUTO 1051 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 1052 // to AUTO 1053 #define IOC_IOCFG2_IOCURR_W 2 1054 #define IOC_IOCFG2_IOCURR_M 0x00000C00 1055 #define IOC_IOCFG2_IOCURR_S 10 1056 #define IOC_IOCFG2_IOCURR_4_8MA 0x00000800 1057 #define IOC_IOCFG2_IOCURR_4MA 0x00000400 1058 #define IOC_IOCFG2_IOCURR_2MA 0x00000000 1059 1060 // Field: [9:8] IOSTR 1061 // 1062 // Select source for drive strength control of this IO. 1063 // This setting controls the drive strength of the Low-Current (LC) mode. 1064 // Higher drive strength can be selected in IOCURR 1065 // ENUMs: 1066 // MAX Maximum drive strength, controlled by 1067 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 1068 // values) 1069 // MED Medium drive strength, controlled by 1070 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 1071 // values) 1072 // MIN Minimum drive strength, controlled by 1073 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 1074 // values) 1075 // AUTO Automatic drive strength, controlled by AON BATMON 1076 // based on battery voltage. (min 2 mA @VDDS) 1077 #define IOC_IOCFG2_IOSTR_W 2 1078 #define IOC_IOCFG2_IOSTR_M 0x00000300 1079 #define IOC_IOCFG2_IOSTR_S 8 1080 #define IOC_IOCFG2_IOSTR_MAX 0x00000300 1081 #define IOC_IOCFG2_IOSTR_MED 0x00000200 1082 #define IOC_IOCFG2_IOSTR_MIN 0x00000100 1083 #define IOC_IOCFG2_IOSTR_AUTO 0x00000000 1084 1085 // Field: [7] IOEV_RTC_EN 1086 // 1087 // Event asserted by this IO when edge detection is enabled 1088 // 1089 // 0: Input edge detection does not assert RTC event 1090 // 1: Input edge detection asserts RTC event 1091 #define IOC_IOCFG2_IOEV_RTC_EN 0x00000080 1092 #define IOC_IOCFG2_IOEV_RTC_EN_BITN 7 1093 #define IOC_IOCFG2_IOEV_RTC_EN_M 0x00000080 1094 #define IOC_IOCFG2_IOEV_RTC_EN_S 7 1095 1096 // Field: [6] IOEV_MCU_WU_EN 1097 // 1098 // Event asserted by this IO when edge detection is enabled 1099 // 1100 // 0: Input edge detection does not assert MCU_WU event 1101 // 1: Input edge detection asserts MCU_WU event 1102 #define IOC_IOCFG2_IOEV_MCU_WU_EN 0x00000040 1103 #define IOC_IOCFG2_IOEV_MCU_WU_EN_BITN 6 1104 #define IOC_IOCFG2_IOEV_MCU_WU_EN_M 0x00000040 1105 #define IOC_IOCFG2_IOEV_MCU_WU_EN_S 6 1106 1107 // Field: [5:0] PORT_ID 1108 // 1109 // Selects usage for DIO2 1110 // Note: This field should not be written other than the times when PORT_ID 1111 // value is specifically required to change. 1112 // ENUMs: 1113 // RFC_SMI_CL_IN RF Core SMI Command Link In 1114 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 1115 // RFC_SMI_DL_IN RF Core SMI Data Link In 1116 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 1117 // RFC_GPI1 RF Core Data In 1 1118 // RFC_GPI0 RF Core Data In 0 1119 // RFC_GPO3 RF Core Data Out 3 1120 // RFC_GPO2 RF Core Data Out 2 1121 // RFC_GPO1 RF Core Data Out 1 1122 // RFC_GPO0 RF Core Data Out 0 1123 // RFC_TRC RF Core Trace 1124 // I2S_MCLK I2S MCLK 1125 // I2S_BCLK I2S BCLK 1126 // I2S_WCLK I2S WCLK 1127 // I2S_AD1 I2S Data 1 1128 // I2S_AD0 I2S Data 0 1129 // SSI1_CLK SSI1 CLK 1130 // SSI1_FSS SSI1 FSS 1131 // SSI1_TX SSI1 TX 1132 // SSI1_RX SSI1 RX 1133 // CPU_SWV CPU SWV 1134 // PORT_EVENT7 PORT EVENT 7 1135 // Can be used as a general 1136 // purpose IO event by selecting it through 1137 // registers in the EVENT module, for example 1138 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1139 // and so on 1140 // PORT_EVENT6 PORT EVENT 6 1141 // Can be used as a general 1142 // purpose IO event by selecting it through 1143 // registers in the EVENT module, for example 1144 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1145 // and so on 1146 // PORT_EVENT5 PORT EVENT 5 1147 // Can be used as a general 1148 // purpose IO event by selecting it through 1149 // registers in the EVENT module, for example 1150 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1151 // and so on 1152 // PORT_EVENT4 PORT EVENT 4 1153 // Can be used as a general 1154 // purpose IO event by selecting it through 1155 // registers in the EVENT module, for example 1156 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1157 // and so on 1158 // PORT_EVENT3 PORT EVENT 3 1159 // Can be used as a general 1160 // purpose IO event by selecting it through 1161 // registers in the EVENT module, for example 1162 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1163 // and so on 1164 // PORT_EVENT2 PORT EVENT 2 1165 // Can be used as a general 1166 // purpose IO event by selecting it through 1167 // registers in the EVENT module, for example 1168 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1169 // and so on 1170 // PORT_EVENT1 PORT EVENT 1 1171 // Can be used as a general 1172 // purpose IO event by selecting it through 1173 // registers in the EVENT module, for example 1174 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1175 // and so on 1176 // PORT_EVENT0 PORT EVENT 0 1177 // Can be used as a general 1178 // purpose IO event by selecting it through 1179 // registers in the EVENT module, for example 1180 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1181 // and so on 1182 // UART1_RTS UART1 RTS 1183 // UART1_CTS UART1 CTS 1184 // UART1_TX UART1 TX 1185 // UART1_RX UART1 RX 1186 // UART0_RTS UART0 RTS 1187 // UART0_CTS UART0 CTS 1188 // UART0_TX UART0 TX 1189 // UART0_RX UART0 RX 1190 // I2C_MSSCL I2C Clock 1191 // I2C_MSSDA I2C Data 1192 // SSI0_CLK SSI0 CLK 1193 // SSI0_FSS SSI0 FSS 1194 // SSI0_TX SSI0 TX 1195 // SSI0_RX SSI0 RX 1196 // AUX_IO AUX IO 1197 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 1198 // GPIO General Purpose IO 1199 #define IOC_IOCFG2_PORT_ID_W 6 1200 #define IOC_IOCFG2_PORT_ID_M 0x0000003F 1201 #define IOC_IOCFG2_PORT_ID_S 0 1202 #define IOC_IOCFG2_PORT_ID_RFC_SMI_CL_IN 0x00000038 1203 #define IOC_IOCFG2_PORT_ID_RFC_SMI_CL_OUT 0x00000037 1204 #define IOC_IOCFG2_PORT_ID_RFC_SMI_DL_IN 0x00000036 1205 #define IOC_IOCFG2_PORT_ID_RFC_SMI_DL_OUT 0x00000035 1206 #define IOC_IOCFG2_PORT_ID_RFC_GPI1 0x00000034 1207 #define IOC_IOCFG2_PORT_ID_RFC_GPI0 0x00000033 1208 #define IOC_IOCFG2_PORT_ID_RFC_GPO3 0x00000032 1209 #define IOC_IOCFG2_PORT_ID_RFC_GPO2 0x00000031 1210 #define IOC_IOCFG2_PORT_ID_RFC_GPO1 0x00000030 1211 #define IOC_IOCFG2_PORT_ID_RFC_GPO0 0x0000002F 1212 #define IOC_IOCFG2_PORT_ID_RFC_TRC 0x0000002E 1213 #define IOC_IOCFG2_PORT_ID_I2S_MCLK 0x00000029 1214 #define IOC_IOCFG2_PORT_ID_I2S_BCLK 0x00000028 1215 #define IOC_IOCFG2_PORT_ID_I2S_WCLK 0x00000027 1216 #define IOC_IOCFG2_PORT_ID_I2S_AD1 0x00000026 1217 #define IOC_IOCFG2_PORT_ID_I2S_AD0 0x00000025 1218 #define IOC_IOCFG2_PORT_ID_SSI1_CLK 0x00000024 1219 #define IOC_IOCFG2_PORT_ID_SSI1_FSS 0x00000023 1220 #define IOC_IOCFG2_PORT_ID_SSI1_TX 0x00000022 1221 #define IOC_IOCFG2_PORT_ID_SSI1_RX 0x00000021 1222 #define IOC_IOCFG2_PORT_ID_CPU_SWV 0x00000020 1223 #define IOC_IOCFG2_PORT_ID_PORT_EVENT7 0x0000001E 1224 #define IOC_IOCFG2_PORT_ID_PORT_EVENT6 0x0000001D 1225 #define IOC_IOCFG2_PORT_ID_PORT_EVENT5 0x0000001C 1226 #define IOC_IOCFG2_PORT_ID_PORT_EVENT4 0x0000001B 1227 #define IOC_IOCFG2_PORT_ID_PORT_EVENT3 0x0000001A 1228 #define IOC_IOCFG2_PORT_ID_PORT_EVENT2 0x00000019 1229 #define IOC_IOCFG2_PORT_ID_PORT_EVENT1 0x00000018 1230 #define IOC_IOCFG2_PORT_ID_PORT_EVENT0 0x00000017 1231 #define IOC_IOCFG2_PORT_ID_UART1_RTS 0x00000016 1232 #define IOC_IOCFG2_PORT_ID_UART1_CTS 0x00000015 1233 #define IOC_IOCFG2_PORT_ID_UART1_TX 0x00000014 1234 #define IOC_IOCFG2_PORT_ID_UART1_RX 0x00000013 1235 #define IOC_IOCFG2_PORT_ID_UART0_RTS 0x00000012 1236 #define IOC_IOCFG2_PORT_ID_UART0_CTS 0x00000011 1237 #define IOC_IOCFG2_PORT_ID_UART0_TX 0x00000010 1238 #define IOC_IOCFG2_PORT_ID_UART0_RX 0x0000000F 1239 #define IOC_IOCFG2_PORT_ID_I2C_MSSCL 0x0000000E 1240 #define IOC_IOCFG2_PORT_ID_I2C_MSSDA 0x0000000D 1241 #define IOC_IOCFG2_PORT_ID_SSI0_CLK 0x0000000C 1242 #define IOC_IOCFG2_PORT_ID_SSI0_FSS 0x0000000B 1243 #define IOC_IOCFG2_PORT_ID_SSI0_TX 0x0000000A 1244 #define IOC_IOCFG2_PORT_ID_SSI0_RX 0x00000009 1245 #define IOC_IOCFG2_PORT_ID_AUX_IO 0x00000008 1246 #define IOC_IOCFG2_PORT_ID_AON_CLK32K 0x00000007 1247 #define IOC_IOCFG2_PORT_ID_GPIO 0x00000000 1248 1249 //***************************************************************************** 1250 // 1251 // Register: IOC_O_IOCFG3 1252 // 1253 //***************************************************************************** 1254 // Field: [30] HYST_EN 1255 // 1256 // 0: Input hysteresis disable 1257 // 1: Input hysteresis enable 1258 #define IOC_IOCFG3_HYST_EN 0x40000000 1259 #define IOC_IOCFG3_HYST_EN_BITN 30 1260 #define IOC_IOCFG3_HYST_EN_M 0x40000000 1261 #define IOC_IOCFG3_HYST_EN_S 30 1262 1263 // Field: [29] IE 1264 // 1265 // 0: Input disabled 1266 // 1: Input enabled 1267 // 1268 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 1269 // ignored. 1270 #define IOC_IOCFG3_IE 0x20000000 1271 #define IOC_IOCFG3_IE_BITN 29 1272 #define IOC_IOCFG3_IE_M 0x20000000 1273 #define IOC_IOCFG3_IE_S 29 1274 1275 // Field: [28:27] WU_CFG 1276 // 1277 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 1278 // >0x08: 1279 // 1280 // 00: No wake-up 1281 // 01: No wake-up 1282 // 10: Wakes up from shutdown if this pad is going low. 1283 // 11: Wakes up from shutdown if this pad is going high. 1284 // 1285 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 1286 // this register only sets wakeup enable or not. 1287 // 1288 // 00, 01: Wakeup disabled 1289 // 10, 11: Wakeup enabled 1290 // 1291 // Polarity is controlled from AON registers. 1292 // 1293 // Note:When the MSB is set, the IOC will deactivate the output enable for the 1294 // DIO. 1295 #define IOC_IOCFG3_WU_CFG_W 2 1296 #define IOC_IOCFG3_WU_CFG_M 0x18000000 1297 #define IOC_IOCFG3_WU_CFG_S 27 1298 1299 // Field: [26:24] IOMODE 1300 // 1301 // IO Mode 1302 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 1303 // 0x01-0x08 1304 // AUX has its own open_source/drain configuration. 1305 // 1306 // 0x2: Reserved. Undefined behavior. 1307 // 0x3: Reserved. Undefined behavior. 1308 // ENUMs: 1309 // OPENSRC_INV Open Source 1310 // Inverted input / output 1311 // OPENSRC Open Source 1312 // Normal input / output 1313 // OPENDR_INV Open Drain 1314 // Inverted input / output 1315 // OPENDR Open Drain, 1316 // Normal input / output 1317 // INV Inverted input / ouput 1318 // NORMAL Normal input / output 1319 #define IOC_IOCFG3_IOMODE_W 3 1320 #define IOC_IOCFG3_IOMODE_M 0x07000000 1321 #define IOC_IOCFG3_IOMODE_S 24 1322 #define IOC_IOCFG3_IOMODE_OPENSRC_INV 0x07000000 1323 #define IOC_IOCFG3_IOMODE_OPENSRC 0x06000000 1324 #define IOC_IOCFG3_IOMODE_OPENDR_INV 0x05000000 1325 #define IOC_IOCFG3_IOMODE_OPENDR 0x04000000 1326 #define IOC_IOCFG3_IOMODE_INV 0x01000000 1327 #define IOC_IOCFG3_IOMODE_NORMAL 0x00000000 1328 1329 // Field: [23] IOEV_AON_PROG2_EN 1330 // 1331 // Event asserted by this IO when edge detection is enabled 1332 // 1333 // 0: Input edge detection does not assert AON_PROG2 event 1334 // 1: Input edge detection asserts AON_PROG2 event 1335 #define IOC_IOCFG3_IOEV_AON_PROG2_EN 0x00800000 1336 #define IOC_IOCFG3_IOEV_AON_PROG2_EN_BITN 23 1337 #define IOC_IOCFG3_IOEV_AON_PROG2_EN_M 0x00800000 1338 #define IOC_IOCFG3_IOEV_AON_PROG2_EN_S 23 1339 1340 // Field: [22] IOEV_AON_PROG1_EN 1341 // 1342 // Event asserted by this IO when edge detection is enabled 1343 // 1344 // 0: Input edge detection does not assert AON_PROG1 event 1345 // 1: Input edge detection asserts AON_PROG1 event 1346 #define IOC_IOCFG3_IOEV_AON_PROG1_EN 0x00400000 1347 #define IOC_IOCFG3_IOEV_AON_PROG1_EN_BITN 22 1348 #define IOC_IOCFG3_IOEV_AON_PROG1_EN_M 0x00400000 1349 #define IOC_IOCFG3_IOEV_AON_PROG1_EN_S 22 1350 1351 // Field: [21] IOEV_AON_PROG0_EN 1352 // 1353 // Event asserted by this IO when edge detection is enabled 1354 // 1355 // 0: Input edge detection does not assert AON_PROG0 event 1356 // 1: Input edge detection asserts AON_PROG0 event 1357 #define IOC_IOCFG3_IOEV_AON_PROG0_EN 0x00200000 1358 #define IOC_IOCFG3_IOEV_AON_PROG0_EN_BITN 21 1359 #define IOC_IOCFG3_IOEV_AON_PROG0_EN_M 0x00200000 1360 #define IOC_IOCFG3_IOEV_AON_PROG0_EN_S 21 1361 1362 // Field: [18] EDGE_IRQ_EN 1363 // 1364 // 0: No interrupt generation 1365 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 1366 // enabled) 1367 #define IOC_IOCFG3_EDGE_IRQ_EN 0x00040000 1368 #define IOC_IOCFG3_EDGE_IRQ_EN_BITN 18 1369 #define IOC_IOCFG3_EDGE_IRQ_EN_M 0x00040000 1370 #define IOC_IOCFG3_EDGE_IRQ_EN_S 18 1371 1372 // Field: [17:16] EDGE_DET 1373 // 1374 // Enable generation of edge detection events on this IO 1375 // ENUMs: 1376 // BOTH Positive and negative edge detection 1377 // POS Positive edge detection 1378 // NEG Negative edge detection 1379 // NONE No edge detection 1380 #define IOC_IOCFG3_EDGE_DET_W 2 1381 #define IOC_IOCFG3_EDGE_DET_M 0x00030000 1382 #define IOC_IOCFG3_EDGE_DET_S 16 1383 #define IOC_IOCFG3_EDGE_DET_BOTH 0x00030000 1384 #define IOC_IOCFG3_EDGE_DET_POS 0x00020000 1385 #define IOC_IOCFG3_EDGE_DET_NEG 0x00010000 1386 #define IOC_IOCFG3_EDGE_DET_NONE 0x00000000 1387 1388 // Field: [14:13] PULL_CTL 1389 // 1390 // Pull control 1391 // ENUMs: 1392 // DIS No pull 1393 // UP Pull up 1394 // DWN Pull down 1395 #define IOC_IOCFG3_PULL_CTL_W 2 1396 #define IOC_IOCFG3_PULL_CTL_M 0x00006000 1397 #define IOC_IOCFG3_PULL_CTL_S 13 1398 #define IOC_IOCFG3_PULL_CTL_DIS 0x00006000 1399 #define IOC_IOCFG3_PULL_CTL_UP 0x00004000 1400 #define IOC_IOCFG3_PULL_CTL_DWN 0x00002000 1401 1402 // Field: [12] SLEW_RED 1403 // 1404 // 0: Normal slew rate 1405 // 1: Enables reduced slew rate in output driver. 1406 #define IOC_IOCFG3_SLEW_RED 0x00001000 1407 #define IOC_IOCFG3_SLEW_RED_BITN 12 1408 #define IOC_IOCFG3_SLEW_RED_M 0x00001000 1409 #define IOC_IOCFG3_SLEW_RED_S 12 1410 1411 // Field: [11:10] IOCURR 1412 // 1413 // Selects IO current mode of this IO. 1414 // ENUMs: 1415 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 1416 // drive strength IOs (min 4 mA for normal IOs) 1417 // when IOSTR is set to AUTO 1418 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 1419 // to AUTO 1420 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 1421 // to AUTO 1422 #define IOC_IOCFG3_IOCURR_W 2 1423 #define IOC_IOCFG3_IOCURR_M 0x00000C00 1424 #define IOC_IOCFG3_IOCURR_S 10 1425 #define IOC_IOCFG3_IOCURR_4_8MA 0x00000800 1426 #define IOC_IOCFG3_IOCURR_4MA 0x00000400 1427 #define IOC_IOCFG3_IOCURR_2MA 0x00000000 1428 1429 // Field: [9:8] IOSTR 1430 // 1431 // Select source for drive strength control of this IO. 1432 // This setting controls the drive strength of the Low-Current (LC) mode. 1433 // Higher drive strength can be selected in IOCURR 1434 // ENUMs: 1435 // MAX Maximum drive strength, controlled by 1436 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 1437 // values) 1438 // MED Medium drive strength, controlled by 1439 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 1440 // values) 1441 // MIN Minimum drive strength, controlled by 1442 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 1443 // values) 1444 // AUTO Automatic drive strength, controlled by AON BATMON 1445 // based on battery voltage. (min 2 mA @VDDS) 1446 #define IOC_IOCFG3_IOSTR_W 2 1447 #define IOC_IOCFG3_IOSTR_M 0x00000300 1448 #define IOC_IOCFG3_IOSTR_S 8 1449 #define IOC_IOCFG3_IOSTR_MAX 0x00000300 1450 #define IOC_IOCFG3_IOSTR_MED 0x00000200 1451 #define IOC_IOCFG3_IOSTR_MIN 0x00000100 1452 #define IOC_IOCFG3_IOSTR_AUTO 0x00000000 1453 1454 // Field: [7] IOEV_RTC_EN 1455 // 1456 // Event asserted by this IO when edge detection is enabled 1457 // 1458 // 0: Input edge detection does not assert RTC event 1459 // 1: Input edge detection asserts RTC event 1460 #define IOC_IOCFG3_IOEV_RTC_EN 0x00000080 1461 #define IOC_IOCFG3_IOEV_RTC_EN_BITN 7 1462 #define IOC_IOCFG3_IOEV_RTC_EN_M 0x00000080 1463 #define IOC_IOCFG3_IOEV_RTC_EN_S 7 1464 1465 // Field: [6] IOEV_MCU_WU_EN 1466 // 1467 // Event asserted by this IO when edge detection is enabled 1468 // 1469 // 0: Input edge detection does not assert MCU_WU event 1470 // 1: Input edge detection asserts MCU_WU event 1471 #define IOC_IOCFG3_IOEV_MCU_WU_EN 0x00000040 1472 #define IOC_IOCFG3_IOEV_MCU_WU_EN_BITN 6 1473 #define IOC_IOCFG3_IOEV_MCU_WU_EN_M 0x00000040 1474 #define IOC_IOCFG3_IOEV_MCU_WU_EN_S 6 1475 1476 // Field: [5:0] PORT_ID 1477 // 1478 // Selects usage for DIO3 1479 // Note: This field should not be written other than the times when PORT_ID 1480 // value is specifically required to change. 1481 // ENUMs: 1482 // RFC_SMI_CL_IN RF Core SMI Command Link In 1483 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 1484 // RFC_SMI_DL_IN RF Core SMI Data Link In 1485 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 1486 // RFC_GPI1 RF Core Data In 1 1487 // RFC_GPI0 RF Core Data In 0 1488 // RFC_GPO3 RF Core Data Out 3 1489 // RFC_GPO2 RF Core Data Out 2 1490 // RFC_GPO1 RF Core Data Out 1 1491 // RFC_GPO0 RF Core Data Out 0 1492 // RFC_TRC RF Core Trace 1493 // I2S_MCLK I2S MCLK 1494 // I2S_BCLK I2S BCLK 1495 // I2S_WCLK I2S WCLK 1496 // I2S_AD1 I2S Data 1 1497 // I2S_AD0 I2S Data 0 1498 // SSI1_CLK SSI1 CLK 1499 // SSI1_FSS SSI1 FSS 1500 // SSI1_TX SSI1 TX 1501 // SSI1_RX SSI1 RX 1502 // CPU_SWV CPU SWV 1503 // PORT_EVENT7 PORT EVENT 7 1504 // Can be used as a general 1505 // purpose IO event by selecting it through 1506 // registers in the EVENT module, for example 1507 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1508 // and so on 1509 // PORT_EVENT6 PORT EVENT 6 1510 // Can be used as a general 1511 // purpose IO event by selecting it through 1512 // registers in the EVENT module, for example 1513 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1514 // and so on 1515 // PORT_EVENT5 PORT EVENT 5 1516 // Can be used as a general 1517 // purpose IO event by selecting it through 1518 // registers in the EVENT module, for example 1519 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1520 // and so on 1521 // PORT_EVENT4 PORT EVENT 4 1522 // Can be used as a general 1523 // purpose IO event by selecting it through 1524 // registers in the EVENT module, for example 1525 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1526 // and so on 1527 // PORT_EVENT3 PORT EVENT 3 1528 // Can be used as a general 1529 // purpose IO event by selecting it through 1530 // registers in the EVENT module, for example 1531 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1532 // and so on 1533 // PORT_EVENT2 PORT EVENT 2 1534 // Can be used as a general 1535 // purpose IO event by selecting it through 1536 // registers in the EVENT module, for example 1537 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1538 // and so on 1539 // PORT_EVENT1 PORT EVENT 1 1540 // Can be used as a general 1541 // purpose IO event by selecting it through 1542 // registers in the EVENT module, for example 1543 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1544 // and so on 1545 // PORT_EVENT0 PORT EVENT 0 1546 // Can be used as a general 1547 // purpose IO event by selecting it through 1548 // registers in the EVENT module, for example 1549 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1550 // and so on 1551 // UART1_RTS UART1 RTS 1552 // UART1_CTS UART1 CTS 1553 // UART1_TX UART1 TX 1554 // UART1_RX UART1 RX 1555 // UART0_RTS UART0 RTS 1556 // UART0_CTS UART0 CTS 1557 // UART0_TX UART0 TX 1558 // UART0_RX UART0 RX 1559 // I2C_MSSCL I2C Clock 1560 // I2C_MSSDA I2C Data 1561 // SSI0_CLK SSI0 CLK 1562 // SSI0_FSS SSI0 FSS 1563 // SSI0_TX SSI0 TX 1564 // SSI0_RX SSI0 RX 1565 // AUX_IO AUX IO 1566 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 1567 // GPIO General Purpose IO 1568 #define IOC_IOCFG3_PORT_ID_W 6 1569 #define IOC_IOCFG3_PORT_ID_M 0x0000003F 1570 #define IOC_IOCFG3_PORT_ID_S 0 1571 #define IOC_IOCFG3_PORT_ID_RFC_SMI_CL_IN 0x00000038 1572 #define IOC_IOCFG3_PORT_ID_RFC_SMI_CL_OUT 0x00000037 1573 #define IOC_IOCFG3_PORT_ID_RFC_SMI_DL_IN 0x00000036 1574 #define IOC_IOCFG3_PORT_ID_RFC_SMI_DL_OUT 0x00000035 1575 #define IOC_IOCFG3_PORT_ID_RFC_GPI1 0x00000034 1576 #define IOC_IOCFG3_PORT_ID_RFC_GPI0 0x00000033 1577 #define IOC_IOCFG3_PORT_ID_RFC_GPO3 0x00000032 1578 #define IOC_IOCFG3_PORT_ID_RFC_GPO2 0x00000031 1579 #define IOC_IOCFG3_PORT_ID_RFC_GPO1 0x00000030 1580 #define IOC_IOCFG3_PORT_ID_RFC_GPO0 0x0000002F 1581 #define IOC_IOCFG3_PORT_ID_RFC_TRC 0x0000002E 1582 #define IOC_IOCFG3_PORT_ID_I2S_MCLK 0x00000029 1583 #define IOC_IOCFG3_PORT_ID_I2S_BCLK 0x00000028 1584 #define IOC_IOCFG3_PORT_ID_I2S_WCLK 0x00000027 1585 #define IOC_IOCFG3_PORT_ID_I2S_AD1 0x00000026 1586 #define IOC_IOCFG3_PORT_ID_I2S_AD0 0x00000025 1587 #define IOC_IOCFG3_PORT_ID_SSI1_CLK 0x00000024 1588 #define IOC_IOCFG3_PORT_ID_SSI1_FSS 0x00000023 1589 #define IOC_IOCFG3_PORT_ID_SSI1_TX 0x00000022 1590 #define IOC_IOCFG3_PORT_ID_SSI1_RX 0x00000021 1591 #define IOC_IOCFG3_PORT_ID_CPU_SWV 0x00000020 1592 #define IOC_IOCFG3_PORT_ID_PORT_EVENT7 0x0000001E 1593 #define IOC_IOCFG3_PORT_ID_PORT_EVENT6 0x0000001D 1594 #define IOC_IOCFG3_PORT_ID_PORT_EVENT5 0x0000001C 1595 #define IOC_IOCFG3_PORT_ID_PORT_EVENT4 0x0000001B 1596 #define IOC_IOCFG3_PORT_ID_PORT_EVENT3 0x0000001A 1597 #define IOC_IOCFG3_PORT_ID_PORT_EVENT2 0x00000019 1598 #define IOC_IOCFG3_PORT_ID_PORT_EVENT1 0x00000018 1599 #define IOC_IOCFG3_PORT_ID_PORT_EVENT0 0x00000017 1600 #define IOC_IOCFG3_PORT_ID_UART1_RTS 0x00000016 1601 #define IOC_IOCFG3_PORT_ID_UART1_CTS 0x00000015 1602 #define IOC_IOCFG3_PORT_ID_UART1_TX 0x00000014 1603 #define IOC_IOCFG3_PORT_ID_UART1_RX 0x00000013 1604 #define IOC_IOCFG3_PORT_ID_UART0_RTS 0x00000012 1605 #define IOC_IOCFG3_PORT_ID_UART0_CTS 0x00000011 1606 #define IOC_IOCFG3_PORT_ID_UART0_TX 0x00000010 1607 #define IOC_IOCFG3_PORT_ID_UART0_RX 0x0000000F 1608 #define IOC_IOCFG3_PORT_ID_I2C_MSSCL 0x0000000E 1609 #define IOC_IOCFG3_PORT_ID_I2C_MSSDA 0x0000000D 1610 #define IOC_IOCFG3_PORT_ID_SSI0_CLK 0x0000000C 1611 #define IOC_IOCFG3_PORT_ID_SSI0_FSS 0x0000000B 1612 #define IOC_IOCFG3_PORT_ID_SSI0_TX 0x0000000A 1613 #define IOC_IOCFG3_PORT_ID_SSI0_RX 0x00000009 1614 #define IOC_IOCFG3_PORT_ID_AUX_IO 0x00000008 1615 #define IOC_IOCFG3_PORT_ID_AON_CLK32K 0x00000007 1616 #define IOC_IOCFG3_PORT_ID_GPIO 0x00000000 1617 1618 //***************************************************************************** 1619 // 1620 // Register: IOC_O_IOCFG4 1621 // 1622 //***************************************************************************** 1623 // Field: [30] HYST_EN 1624 // 1625 // 0: Input hysteresis disable 1626 // 1: Input hysteresis enable 1627 #define IOC_IOCFG4_HYST_EN 0x40000000 1628 #define IOC_IOCFG4_HYST_EN_BITN 30 1629 #define IOC_IOCFG4_HYST_EN_M 0x40000000 1630 #define IOC_IOCFG4_HYST_EN_S 30 1631 1632 // Field: [29] IE 1633 // 1634 // 0: Input disabled 1635 // 1: Input enabled 1636 // 1637 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 1638 // ignored. 1639 #define IOC_IOCFG4_IE 0x20000000 1640 #define IOC_IOCFG4_IE_BITN 29 1641 #define IOC_IOCFG4_IE_M 0x20000000 1642 #define IOC_IOCFG4_IE_S 29 1643 1644 // Field: [28:27] WU_CFG 1645 // 1646 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 1647 // >0x08: 1648 // 1649 // 00: No wake-up 1650 // 01: No wake-up 1651 // 10: Wakes up from shutdown if this pad is going low. 1652 // 11: Wakes up from shutdown if this pad is going high. 1653 // 1654 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 1655 // this register only sets wakeup enable or not. 1656 // 1657 // 00, 01: Wakeup disabled 1658 // 10, 11: Wakeup enabled 1659 // 1660 // Polarity is controlled from AON registers. 1661 // 1662 // Note:When the MSB is set, the IOC will deactivate the output enable for the 1663 // DIO. 1664 #define IOC_IOCFG4_WU_CFG_W 2 1665 #define IOC_IOCFG4_WU_CFG_M 0x18000000 1666 #define IOC_IOCFG4_WU_CFG_S 27 1667 1668 // Field: [26:24] IOMODE 1669 // 1670 // IO Mode 1671 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 1672 // 0x01-0x08 1673 // AUX has its own open_source/drain configuration. 1674 // 1675 // 0x2: Reserved. Undefined behavior. 1676 // 0x3: Reserved. Undefined behavior. 1677 // ENUMs: 1678 // OPENSRC_INV Open Source 1679 // Inverted input / output 1680 // OPENSRC Open Source 1681 // Normal input / output 1682 // OPENDR_INV Open Drain 1683 // Inverted input / output 1684 // OPENDR Open Drain, 1685 // Normal input / output 1686 // INV Inverted input / ouput 1687 // NORMAL Normal input / output 1688 #define IOC_IOCFG4_IOMODE_W 3 1689 #define IOC_IOCFG4_IOMODE_M 0x07000000 1690 #define IOC_IOCFG4_IOMODE_S 24 1691 #define IOC_IOCFG4_IOMODE_OPENSRC_INV 0x07000000 1692 #define IOC_IOCFG4_IOMODE_OPENSRC 0x06000000 1693 #define IOC_IOCFG4_IOMODE_OPENDR_INV 0x05000000 1694 #define IOC_IOCFG4_IOMODE_OPENDR 0x04000000 1695 #define IOC_IOCFG4_IOMODE_INV 0x01000000 1696 #define IOC_IOCFG4_IOMODE_NORMAL 0x00000000 1697 1698 // Field: [23] IOEV_AON_PROG2_EN 1699 // 1700 // Event asserted by this IO when edge detection is enabled 1701 // 1702 // 0: Input edge detection does not assert AON_PROG2 event 1703 // 1: Input edge detection asserts AON_PROG2 event 1704 #define IOC_IOCFG4_IOEV_AON_PROG2_EN 0x00800000 1705 #define IOC_IOCFG4_IOEV_AON_PROG2_EN_BITN 23 1706 #define IOC_IOCFG4_IOEV_AON_PROG2_EN_M 0x00800000 1707 #define IOC_IOCFG4_IOEV_AON_PROG2_EN_S 23 1708 1709 // Field: [22] IOEV_AON_PROG1_EN 1710 // 1711 // Event asserted by this IO when edge detection is enabled 1712 // 1713 // 0: Input edge detection does not assert AON_PROG1 event 1714 // 1: Input edge detection asserts AON_PROG1 event 1715 #define IOC_IOCFG4_IOEV_AON_PROG1_EN 0x00400000 1716 #define IOC_IOCFG4_IOEV_AON_PROG1_EN_BITN 22 1717 #define IOC_IOCFG4_IOEV_AON_PROG1_EN_M 0x00400000 1718 #define IOC_IOCFG4_IOEV_AON_PROG1_EN_S 22 1719 1720 // Field: [21] IOEV_AON_PROG0_EN 1721 // 1722 // Event asserted by this IO when edge detection is enabled 1723 // 1724 // 0: Input edge detection does not assert AON_PROG0 event 1725 // 1: Input edge detection asserts AON_PROG0 event 1726 #define IOC_IOCFG4_IOEV_AON_PROG0_EN 0x00200000 1727 #define IOC_IOCFG4_IOEV_AON_PROG0_EN_BITN 21 1728 #define IOC_IOCFG4_IOEV_AON_PROG0_EN_M 0x00200000 1729 #define IOC_IOCFG4_IOEV_AON_PROG0_EN_S 21 1730 1731 // Field: [18] EDGE_IRQ_EN 1732 // 1733 // 0: No interrupt generation 1734 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 1735 // enabled) 1736 #define IOC_IOCFG4_EDGE_IRQ_EN 0x00040000 1737 #define IOC_IOCFG4_EDGE_IRQ_EN_BITN 18 1738 #define IOC_IOCFG4_EDGE_IRQ_EN_M 0x00040000 1739 #define IOC_IOCFG4_EDGE_IRQ_EN_S 18 1740 1741 // Field: [17:16] EDGE_DET 1742 // 1743 // Enable generation of edge detection events on this IO 1744 // ENUMs: 1745 // BOTH Positive and negative edge detection 1746 // POS Positive edge detection 1747 // NEG Negative edge detection 1748 // NONE No edge detection 1749 #define IOC_IOCFG4_EDGE_DET_W 2 1750 #define IOC_IOCFG4_EDGE_DET_M 0x00030000 1751 #define IOC_IOCFG4_EDGE_DET_S 16 1752 #define IOC_IOCFG4_EDGE_DET_BOTH 0x00030000 1753 #define IOC_IOCFG4_EDGE_DET_POS 0x00020000 1754 #define IOC_IOCFG4_EDGE_DET_NEG 0x00010000 1755 #define IOC_IOCFG4_EDGE_DET_NONE 0x00000000 1756 1757 // Field: [14:13] PULL_CTL 1758 // 1759 // Pull control 1760 // ENUMs: 1761 // DIS No pull 1762 // UP Pull up 1763 // DWN Pull down 1764 #define IOC_IOCFG4_PULL_CTL_W 2 1765 #define IOC_IOCFG4_PULL_CTL_M 0x00006000 1766 #define IOC_IOCFG4_PULL_CTL_S 13 1767 #define IOC_IOCFG4_PULL_CTL_DIS 0x00006000 1768 #define IOC_IOCFG4_PULL_CTL_UP 0x00004000 1769 #define IOC_IOCFG4_PULL_CTL_DWN 0x00002000 1770 1771 // Field: [12] SLEW_RED 1772 // 1773 // 0: Normal slew rate 1774 // 1: Enables reduced slew rate in output driver. 1775 #define IOC_IOCFG4_SLEW_RED 0x00001000 1776 #define IOC_IOCFG4_SLEW_RED_BITN 12 1777 #define IOC_IOCFG4_SLEW_RED_M 0x00001000 1778 #define IOC_IOCFG4_SLEW_RED_S 12 1779 1780 // Field: [11:10] IOCURR 1781 // 1782 // Selects IO current mode of this IO. 1783 // ENUMs: 1784 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 1785 // drive strength IOs (min 4 mA for normal IOs) 1786 // when IOSTR is set to AUTO 1787 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 1788 // to AUTO 1789 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 1790 // to AUTO 1791 #define IOC_IOCFG4_IOCURR_W 2 1792 #define IOC_IOCFG4_IOCURR_M 0x00000C00 1793 #define IOC_IOCFG4_IOCURR_S 10 1794 #define IOC_IOCFG4_IOCURR_4_8MA 0x00000800 1795 #define IOC_IOCFG4_IOCURR_4MA 0x00000400 1796 #define IOC_IOCFG4_IOCURR_2MA 0x00000000 1797 1798 // Field: [9:8] IOSTR 1799 // 1800 // Select source for drive strength control of this IO. 1801 // This setting controls the drive strength of the Low-Current (LC) mode. 1802 // Higher drive strength can be selected in IOCURR 1803 // ENUMs: 1804 // MAX Maximum drive strength, controlled by 1805 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 1806 // values) 1807 // MED Medium drive strength, controlled by 1808 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 1809 // values) 1810 // MIN Minimum drive strength, controlled by 1811 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 1812 // values) 1813 // AUTO Automatic drive strength, controlled by AON BATMON 1814 // based on battery voltage. (min 2 mA @VDDS) 1815 #define IOC_IOCFG4_IOSTR_W 2 1816 #define IOC_IOCFG4_IOSTR_M 0x00000300 1817 #define IOC_IOCFG4_IOSTR_S 8 1818 #define IOC_IOCFG4_IOSTR_MAX 0x00000300 1819 #define IOC_IOCFG4_IOSTR_MED 0x00000200 1820 #define IOC_IOCFG4_IOSTR_MIN 0x00000100 1821 #define IOC_IOCFG4_IOSTR_AUTO 0x00000000 1822 1823 // Field: [7] IOEV_RTC_EN 1824 // 1825 // Event asserted by this IO when edge detection is enabled 1826 // 1827 // 0: Input edge detection does not assert RTC event 1828 // 1: Input edge detection asserts RTC event 1829 #define IOC_IOCFG4_IOEV_RTC_EN 0x00000080 1830 #define IOC_IOCFG4_IOEV_RTC_EN_BITN 7 1831 #define IOC_IOCFG4_IOEV_RTC_EN_M 0x00000080 1832 #define IOC_IOCFG4_IOEV_RTC_EN_S 7 1833 1834 // Field: [6] IOEV_MCU_WU_EN 1835 // 1836 // Event asserted by this IO when edge detection is enabled 1837 // 1838 // 0: Input edge detection does not assert MCU_WU event 1839 // 1: Input edge detection asserts MCU_WU event 1840 #define IOC_IOCFG4_IOEV_MCU_WU_EN 0x00000040 1841 #define IOC_IOCFG4_IOEV_MCU_WU_EN_BITN 6 1842 #define IOC_IOCFG4_IOEV_MCU_WU_EN_M 0x00000040 1843 #define IOC_IOCFG4_IOEV_MCU_WU_EN_S 6 1844 1845 // Field: [5:0] PORT_ID 1846 // 1847 // Selects usage for DIO4 1848 // Note: This field should not be written other than the times when PORT_ID 1849 // value is specifically required to change. 1850 // ENUMs: 1851 // RFC_SMI_CL_IN RF Core SMI Command Link In 1852 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 1853 // RFC_SMI_DL_IN RF Core SMI Data Link In 1854 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 1855 // RFC_GPI1 RF Core Data In 1 1856 // RFC_GPI0 RF Core Data In 0 1857 // RFC_GPO3 RF Core Data Out 3 1858 // RFC_GPO2 RF Core Data Out 2 1859 // RFC_GPO1 RF Core Data Out 1 1860 // RFC_GPO0 RF Core Data Out 0 1861 // RFC_TRC RF Core Trace 1862 // I2S_MCLK I2S MCLK 1863 // I2S_BCLK I2S BCLK 1864 // I2S_WCLK I2S WCLK 1865 // I2S_AD1 I2S Data 1 1866 // I2S_AD0 I2S Data 0 1867 // SSI1_CLK SSI1 CLK 1868 // SSI1_FSS SSI1 FSS 1869 // SSI1_TX SSI1 TX 1870 // SSI1_RX SSI1 RX 1871 // CPU_SWV CPU SWV 1872 // PORT_EVENT7 PORT EVENT 7 1873 // Can be used as a general 1874 // purpose IO event by selecting it through 1875 // registers in the EVENT module, for example 1876 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1877 // and so on 1878 // PORT_EVENT6 PORT EVENT 6 1879 // Can be used as a general 1880 // purpose IO event by selecting it through 1881 // registers in the EVENT module, for example 1882 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1883 // and so on 1884 // PORT_EVENT5 PORT EVENT 5 1885 // Can be used as a general 1886 // purpose IO event by selecting it through 1887 // registers in the EVENT module, for example 1888 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1889 // and so on 1890 // PORT_EVENT4 PORT EVENT 4 1891 // Can be used as a general 1892 // purpose IO event by selecting it through 1893 // registers in the EVENT module, for example 1894 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1895 // and so on 1896 // PORT_EVENT3 PORT EVENT 3 1897 // Can be used as a general 1898 // purpose IO event by selecting it through 1899 // registers in the EVENT module, for example 1900 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1901 // and so on 1902 // PORT_EVENT2 PORT EVENT 2 1903 // Can be used as a general 1904 // purpose IO event by selecting it through 1905 // registers in the EVENT module, for example 1906 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1907 // and so on 1908 // PORT_EVENT1 PORT EVENT 1 1909 // Can be used as a general 1910 // purpose IO event by selecting it through 1911 // registers in the EVENT module, for example 1912 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1913 // and so on 1914 // PORT_EVENT0 PORT EVENT 0 1915 // Can be used as a general 1916 // purpose IO event by selecting it through 1917 // registers in the EVENT module, for example 1918 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 1919 // and so on 1920 // UART1_RTS UART1 RTS 1921 // UART1_CTS UART1 CTS 1922 // UART1_TX UART1 TX 1923 // UART1_RX UART1 RX 1924 // UART0_RTS UART0 RTS 1925 // UART0_CTS UART0 CTS 1926 // UART0_TX UART0 TX 1927 // UART0_RX UART0 RX 1928 // I2C_MSSCL I2C Clock 1929 // I2C_MSSDA I2C Data 1930 // SSI0_CLK SSI0 CLK 1931 // SSI0_FSS SSI0 FSS 1932 // SSI0_TX SSI0 TX 1933 // SSI0_RX SSI0 RX 1934 // AUX_IO AUX IO 1935 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 1936 // GPIO General Purpose IO 1937 #define IOC_IOCFG4_PORT_ID_W 6 1938 #define IOC_IOCFG4_PORT_ID_M 0x0000003F 1939 #define IOC_IOCFG4_PORT_ID_S 0 1940 #define IOC_IOCFG4_PORT_ID_RFC_SMI_CL_IN 0x00000038 1941 #define IOC_IOCFG4_PORT_ID_RFC_SMI_CL_OUT 0x00000037 1942 #define IOC_IOCFG4_PORT_ID_RFC_SMI_DL_IN 0x00000036 1943 #define IOC_IOCFG4_PORT_ID_RFC_SMI_DL_OUT 0x00000035 1944 #define IOC_IOCFG4_PORT_ID_RFC_GPI1 0x00000034 1945 #define IOC_IOCFG4_PORT_ID_RFC_GPI0 0x00000033 1946 #define IOC_IOCFG4_PORT_ID_RFC_GPO3 0x00000032 1947 #define IOC_IOCFG4_PORT_ID_RFC_GPO2 0x00000031 1948 #define IOC_IOCFG4_PORT_ID_RFC_GPO1 0x00000030 1949 #define IOC_IOCFG4_PORT_ID_RFC_GPO0 0x0000002F 1950 #define IOC_IOCFG4_PORT_ID_RFC_TRC 0x0000002E 1951 #define IOC_IOCFG4_PORT_ID_I2S_MCLK 0x00000029 1952 #define IOC_IOCFG4_PORT_ID_I2S_BCLK 0x00000028 1953 #define IOC_IOCFG4_PORT_ID_I2S_WCLK 0x00000027 1954 #define IOC_IOCFG4_PORT_ID_I2S_AD1 0x00000026 1955 #define IOC_IOCFG4_PORT_ID_I2S_AD0 0x00000025 1956 #define IOC_IOCFG4_PORT_ID_SSI1_CLK 0x00000024 1957 #define IOC_IOCFG4_PORT_ID_SSI1_FSS 0x00000023 1958 #define IOC_IOCFG4_PORT_ID_SSI1_TX 0x00000022 1959 #define IOC_IOCFG4_PORT_ID_SSI1_RX 0x00000021 1960 #define IOC_IOCFG4_PORT_ID_CPU_SWV 0x00000020 1961 #define IOC_IOCFG4_PORT_ID_PORT_EVENT7 0x0000001E 1962 #define IOC_IOCFG4_PORT_ID_PORT_EVENT6 0x0000001D 1963 #define IOC_IOCFG4_PORT_ID_PORT_EVENT5 0x0000001C 1964 #define IOC_IOCFG4_PORT_ID_PORT_EVENT4 0x0000001B 1965 #define IOC_IOCFG4_PORT_ID_PORT_EVENT3 0x0000001A 1966 #define IOC_IOCFG4_PORT_ID_PORT_EVENT2 0x00000019 1967 #define IOC_IOCFG4_PORT_ID_PORT_EVENT1 0x00000018 1968 #define IOC_IOCFG4_PORT_ID_PORT_EVENT0 0x00000017 1969 #define IOC_IOCFG4_PORT_ID_UART1_RTS 0x00000016 1970 #define IOC_IOCFG4_PORT_ID_UART1_CTS 0x00000015 1971 #define IOC_IOCFG4_PORT_ID_UART1_TX 0x00000014 1972 #define IOC_IOCFG4_PORT_ID_UART1_RX 0x00000013 1973 #define IOC_IOCFG4_PORT_ID_UART0_RTS 0x00000012 1974 #define IOC_IOCFG4_PORT_ID_UART0_CTS 0x00000011 1975 #define IOC_IOCFG4_PORT_ID_UART0_TX 0x00000010 1976 #define IOC_IOCFG4_PORT_ID_UART0_RX 0x0000000F 1977 #define IOC_IOCFG4_PORT_ID_I2C_MSSCL 0x0000000E 1978 #define IOC_IOCFG4_PORT_ID_I2C_MSSDA 0x0000000D 1979 #define IOC_IOCFG4_PORT_ID_SSI0_CLK 0x0000000C 1980 #define IOC_IOCFG4_PORT_ID_SSI0_FSS 0x0000000B 1981 #define IOC_IOCFG4_PORT_ID_SSI0_TX 0x0000000A 1982 #define IOC_IOCFG4_PORT_ID_SSI0_RX 0x00000009 1983 #define IOC_IOCFG4_PORT_ID_AUX_IO 0x00000008 1984 #define IOC_IOCFG4_PORT_ID_AON_CLK32K 0x00000007 1985 #define IOC_IOCFG4_PORT_ID_GPIO 0x00000000 1986 1987 //***************************************************************************** 1988 // 1989 // Register: IOC_O_IOCFG5 1990 // 1991 //***************************************************************************** 1992 // Field: [30] HYST_EN 1993 // 1994 // 0: Input hysteresis disable 1995 // 1: Input hysteresis enable 1996 #define IOC_IOCFG5_HYST_EN 0x40000000 1997 #define IOC_IOCFG5_HYST_EN_BITN 30 1998 #define IOC_IOCFG5_HYST_EN_M 0x40000000 1999 #define IOC_IOCFG5_HYST_EN_S 30 2000 2001 // Field: [29] IE 2002 // 2003 // 0: Input disabled 2004 // 1: Input enabled 2005 // 2006 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 2007 // ignored. 2008 #define IOC_IOCFG5_IE 0x20000000 2009 #define IOC_IOCFG5_IE_BITN 29 2010 #define IOC_IOCFG5_IE_M 0x20000000 2011 #define IOC_IOCFG5_IE_S 29 2012 2013 // Field: [28:27] WU_CFG 2014 // 2015 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 2016 // >0x08: 2017 // 2018 // 00: No wake-up 2019 // 01: No wake-up 2020 // 10: Wakes up from shutdown if this pad is going low. 2021 // 11: Wakes up from shutdown if this pad is going high. 2022 // 2023 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 2024 // this register only sets wakeup enable or not. 2025 // 2026 // 00, 01: Wakeup disabled 2027 // 10, 11: Wakeup enabled 2028 // 2029 // Polarity is controlled from AON registers. 2030 // 2031 // Note:When the MSB is set, the IOC will deactivate the output enable for the 2032 // DIO. 2033 #define IOC_IOCFG5_WU_CFG_W 2 2034 #define IOC_IOCFG5_WU_CFG_M 0x18000000 2035 #define IOC_IOCFG5_WU_CFG_S 27 2036 2037 // Field: [26:24] IOMODE 2038 // 2039 // IO Mode 2040 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 2041 // 0x01-0x08 2042 // AUX has its own open_source/drain configuration. 2043 // 2044 // 0x2: Reserved. Undefined behavior. 2045 // 0x3: Reserved. Undefined behavior. 2046 // ENUMs: 2047 // OPENSRC_INV Open Source 2048 // Inverted input / output 2049 // OPENSRC Open Source 2050 // Normal input / output 2051 // OPENDR_INV Open Drain 2052 // Inverted input / output 2053 // OPENDR Open Drain, 2054 // Normal input / output 2055 // INV Inverted input / ouput 2056 // NORMAL Normal input / output 2057 #define IOC_IOCFG5_IOMODE_W 3 2058 #define IOC_IOCFG5_IOMODE_M 0x07000000 2059 #define IOC_IOCFG5_IOMODE_S 24 2060 #define IOC_IOCFG5_IOMODE_OPENSRC_INV 0x07000000 2061 #define IOC_IOCFG5_IOMODE_OPENSRC 0x06000000 2062 #define IOC_IOCFG5_IOMODE_OPENDR_INV 0x05000000 2063 #define IOC_IOCFG5_IOMODE_OPENDR 0x04000000 2064 #define IOC_IOCFG5_IOMODE_INV 0x01000000 2065 #define IOC_IOCFG5_IOMODE_NORMAL 0x00000000 2066 2067 // Field: [23] IOEV_AON_PROG2_EN 2068 // 2069 // Event asserted by this IO when edge detection is enabled 2070 // 2071 // 0: Input edge detection does not assert AON_PROG2 event 2072 // 1: Input edge detection asserts AON_PROG2 event 2073 #define IOC_IOCFG5_IOEV_AON_PROG2_EN 0x00800000 2074 #define IOC_IOCFG5_IOEV_AON_PROG2_EN_BITN 23 2075 #define IOC_IOCFG5_IOEV_AON_PROG2_EN_M 0x00800000 2076 #define IOC_IOCFG5_IOEV_AON_PROG2_EN_S 23 2077 2078 // Field: [22] IOEV_AON_PROG1_EN 2079 // 2080 // Event asserted by this IO when edge detection is enabled 2081 // 2082 // 0: Input edge detection does not assert AON_PROG1 event 2083 // 1: Input edge detection asserts AON_PROG1 event 2084 #define IOC_IOCFG5_IOEV_AON_PROG1_EN 0x00400000 2085 #define IOC_IOCFG5_IOEV_AON_PROG1_EN_BITN 22 2086 #define IOC_IOCFG5_IOEV_AON_PROG1_EN_M 0x00400000 2087 #define IOC_IOCFG5_IOEV_AON_PROG1_EN_S 22 2088 2089 // Field: [21] IOEV_AON_PROG0_EN 2090 // 2091 // Event asserted by this IO when edge detection is enabled 2092 // 2093 // 0: Input edge detection does not assert AON_PROG0 event 2094 // 1: Input edge detection asserts AON_PROG0 event 2095 #define IOC_IOCFG5_IOEV_AON_PROG0_EN 0x00200000 2096 #define IOC_IOCFG5_IOEV_AON_PROG0_EN_BITN 21 2097 #define IOC_IOCFG5_IOEV_AON_PROG0_EN_M 0x00200000 2098 #define IOC_IOCFG5_IOEV_AON_PROG0_EN_S 21 2099 2100 // Field: [18] EDGE_IRQ_EN 2101 // 2102 // 0: No interrupt generation 2103 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 2104 // enabled) 2105 #define IOC_IOCFG5_EDGE_IRQ_EN 0x00040000 2106 #define IOC_IOCFG5_EDGE_IRQ_EN_BITN 18 2107 #define IOC_IOCFG5_EDGE_IRQ_EN_M 0x00040000 2108 #define IOC_IOCFG5_EDGE_IRQ_EN_S 18 2109 2110 // Field: [17:16] EDGE_DET 2111 // 2112 // Enable generation of edge detection events on this IO 2113 // ENUMs: 2114 // BOTH Positive and negative edge detection 2115 // POS Positive edge detection 2116 // NEG Negative edge detection 2117 // NONE No edge detection 2118 #define IOC_IOCFG5_EDGE_DET_W 2 2119 #define IOC_IOCFG5_EDGE_DET_M 0x00030000 2120 #define IOC_IOCFG5_EDGE_DET_S 16 2121 #define IOC_IOCFG5_EDGE_DET_BOTH 0x00030000 2122 #define IOC_IOCFG5_EDGE_DET_POS 0x00020000 2123 #define IOC_IOCFG5_EDGE_DET_NEG 0x00010000 2124 #define IOC_IOCFG5_EDGE_DET_NONE 0x00000000 2125 2126 // Field: [14:13] PULL_CTL 2127 // 2128 // Pull control 2129 // ENUMs: 2130 // DIS No pull 2131 // UP Pull up 2132 // DWN Pull down 2133 #define IOC_IOCFG5_PULL_CTL_W 2 2134 #define IOC_IOCFG5_PULL_CTL_M 0x00006000 2135 #define IOC_IOCFG5_PULL_CTL_S 13 2136 #define IOC_IOCFG5_PULL_CTL_DIS 0x00006000 2137 #define IOC_IOCFG5_PULL_CTL_UP 0x00004000 2138 #define IOC_IOCFG5_PULL_CTL_DWN 0x00002000 2139 2140 // Field: [12] SLEW_RED 2141 // 2142 // 0: Normal slew rate 2143 // 1: Enables reduced slew rate in output driver. 2144 #define IOC_IOCFG5_SLEW_RED 0x00001000 2145 #define IOC_IOCFG5_SLEW_RED_BITN 12 2146 #define IOC_IOCFG5_SLEW_RED_M 0x00001000 2147 #define IOC_IOCFG5_SLEW_RED_S 12 2148 2149 // Field: [11:10] IOCURR 2150 // 2151 // Selects IO current mode of this IO. 2152 // ENUMs: 2153 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 2154 // drive strength IOs (min 4 mA for normal IOs) 2155 // when IOSTR is set to AUTO 2156 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 2157 // to AUTO 2158 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 2159 // to AUTO 2160 #define IOC_IOCFG5_IOCURR_W 2 2161 #define IOC_IOCFG5_IOCURR_M 0x00000C00 2162 #define IOC_IOCFG5_IOCURR_S 10 2163 #define IOC_IOCFG5_IOCURR_4_8MA 0x00000800 2164 #define IOC_IOCFG5_IOCURR_4MA 0x00000400 2165 #define IOC_IOCFG5_IOCURR_2MA 0x00000000 2166 2167 // Field: [9:8] IOSTR 2168 // 2169 // Select source for drive strength control of this IO. 2170 // This setting controls the drive strength of the Low-Current (LC) mode. 2171 // Higher drive strength can be selected in IOCURR 2172 // ENUMs: 2173 // MAX Maximum drive strength, controlled by 2174 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 2175 // values) 2176 // MED Medium drive strength, controlled by 2177 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 2178 // values) 2179 // MIN Minimum drive strength, controlled by 2180 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 2181 // values) 2182 // AUTO Automatic drive strength, controlled by AON BATMON 2183 // based on battery voltage. (min 2 mA @VDDS) 2184 #define IOC_IOCFG5_IOSTR_W 2 2185 #define IOC_IOCFG5_IOSTR_M 0x00000300 2186 #define IOC_IOCFG5_IOSTR_S 8 2187 #define IOC_IOCFG5_IOSTR_MAX 0x00000300 2188 #define IOC_IOCFG5_IOSTR_MED 0x00000200 2189 #define IOC_IOCFG5_IOSTR_MIN 0x00000100 2190 #define IOC_IOCFG5_IOSTR_AUTO 0x00000000 2191 2192 // Field: [7] IOEV_RTC_EN 2193 // 2194 // Event asserted by this IO when edge detection is enabled 2195 // 2196 // 0: Input edge detection does not assert RTC event 2197 // 1: Input edge detection asserts RTC event 2198 #define IOC_IOCFG5_IOEV_RTC_EN 0x00000080 2199 #define IOC_IOCFG5_IOEV_RTC_EN_BITN 7 2200 #define IOC_IOCFG5_IOEV_RTC_EN_M 0x00000080 2201 #define IOC_IOCFG5_IOEV_RTC_EN_S 7 2202 2203 // Field: [6] IOEV_MCU_WU_EN 2204 // 2205 // Event asserted by this IO when edge detection is enabled 2206 // 2207 // 0: Input edge detection does not assert MCU_WU event 2208 // 1: Input edge detection asserts MCU_WU event 2209 #define IOC_IOCFG5_IOEV_MCU_WU_EN 0x00000040 2210 #define IOC_IOCFG5_IOEV_MCU_WU_EN_BITN 6 2211 #define IOC_IOCFG5_IOEV_MCU_WU_EN_M 0x00000040 2212 #define IOC_IOCFG5_IOEV_MCU_WU_EN_S 6 2213 2214 // Field: [5:0] PORT_ID 2215 // 2216 // Selects usage for DIO5 2217 // Note: This field should not be written other than the times when PORT_ID 2218 // value is specifically required to change. 2219 // ENUMs: 2220 // RFC_SMI_CL_IN RF Core SMI Command Link In 2221 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 2222 // RFC_SMI_DL_IN RF Core SMI Data Link In 2223 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 2224 // RFC_GPI1 RF Core Data In 1 2225 // RFC_GPI0 RF Core Data In 0 2226 // RFC_GPO3 RF Core Data Out 3 2227 // RFC_GPO2 RF Core Data Out 2 2228 // RFC_GPO1 RF Core Data Out 1 2229 // RFC_GPO0 RF Core Data Out 0 2230 // RFC_TRC RF Core Trace 2231 // I2S_MCLK I2S MCLK 2232 // I2S_BCLK I2S BCLK 2233 // I2S_WCLK I2S WCLK 2234 // I2S_AD1 I2S Data 1 2235 // I2S_AD0 I2S Data 0 2236 // SSI1_CLK SSI1 CLK 2237 // SSI1_FSS SSI1 FSS 2238 // SSI1_TX SSI1 TX 2239 // SSI1_RX SSI1 RX 2240 // CPU_SWV CPU SWV 2241 // PORT_EVENT7 PORT EVENT 7 2242 // Can be used as a general 2243 // purpose IO event by selecting it through 2244 // registers in the EVENT module, for example 2245 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2246 // and so on 2247 // PORT_EVENT6 PORT EVENT 6 2248 // Can be used as a general 2249 // purpose IO event by selecting it through 2250 // registers in the EVENT module, for example 2251 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2252 // and so on 2253 // PORT_EVENT5 PORT EVENT 5 2254 // Can be used as a general 2255 // purpose IO event by selecting it through 2256 // registers in the EVENT module, for example 2257 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2258 // and so on 2259 // PORT_EVENT4 PORT EVENT 4 2260 // Can be used as a general 2261 // purpose IO event by selecting it through 2262 // registers in the EVENT module, for example 2263 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2264 // and so on 2265 // PORT_EVENT3 PORT EVENT 3 2266 // Can be used as a general 2267 // purpose IO event by selecting it through 2268 // registers in the EVENT module, for example 2269 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2270 // and so on 2271 // PORT_EVENT2 PORT EVENT 2 2272 // Can be used as a general 2273 // purpose IO event by selecting it through 2274 // registers in the EVENT module, for example 2275 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2276 // and so on 2277 // PORT_EVENT1 PORT EVENT 1 2278 // Can be used as a general 2279 // purpose IO event by selecting it through 2280 // registers in the EVENT module, for example 2281 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2282 // and so on 2283 // PORT_EVENT0 PORT EVENT 0 2284 // Can be used as a general 2285 // purpose IO event by selecting it through 2286 // registers in the EVENT module, for example 2287 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2288 // and so on 2289 // UART1_RTS UART1 RTS 2290 // UART1_CTS UART1 CTS 2291 // UART1_TX UART1 TX 2292 // UART1_RX UART1 RX 2293 // UART0_RTS UART0 RTS 2294 // UART0_CTS UART0 CTS 2295 // UART0_TX UART0 TX 2296 // UART0_RX UART0 RX 2297 // I2C_MSSCL I2C Clock 2298 // I2C_MSSDA I2C Data 2299 // SSI0_CLK SSI0 CLK 2300 // SSI0_FSS SSI0 FSS 2301 // SSI0_TX SSI0 TX 2302 // SSI0_RX SSI0 RX 2303 // AUX_IO AUX IO 2304 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 2305 // GPIO General Purpose IO 2306 #define IOC_IOCFG5_PORT_ID_W 6 2307 #define IOC_IOCFG5_PORT_ID_M 0x0000003F 2308 #define IOC_IOCFG5_PORT_ID_S 0 2309 #define IOC_IOCFG5_PORT_ID_RFC_SMI_CL_IN 0x00000038 2310 #define IOC_IOCFG5_PORT_ID_RFC_SMI_CL_OUT 0x00000037 2311 #define IOC_IOCFG5_PORT_ID_RFC_SMI_DL_IN 0x00000036 2312 #define IOC_IOCFG5_PORT_ID_RFC_SMI_DL_OUT 0x00000035 2313 #define IOC_IOCFG5_PORT_ID_RFC_GPI1 0x00000034 2314 #define IOC_IOCFG5_PORT_ID_RFC_GPI0 0x00000033 2315 #define IOC_IOCFG5_PORT_ID_RFC_GPO3 0x00000032 2316 #define IOC_IOCFG5_PORT_ID_RFC_GPO2 0x00000031 2317 #define IOC_IOCFG5_PORT_ID_RFC_GPO1 0x00000030 2318 #define IOC_IOCFG5_PORT_ID_RFC_GPO0 0x0000002F 2319 #define IOC_IOCFG5_PORT_ID_RFC_TRC 0x0000002E 2320 #define IOC_IOCFG5_PORT_ID_I2S_MCLK 0x00000029 2321 #define IOC_IOCFG5_PORT_ID_I2S_BCLK 0x00000028 2322 #define IOC_IOCFG5_PORT_ID_I2S_WCLK 0x00000027 2323 #define IOC_IOCFG5_PORT_ID_I2S_AD1 0x00000026 2324 #define IOC_IOCFG5_PORT_ID_I2S_AD0 0x00000025 2325 #define IOC_IOCFG5_PORT_ID_SSI1_CLK 0x00000024 2326 #define IOC_IOCFG5_PORT_ID_SSI1_FSS 0x00000023 2327 #define IOC_IOCFG5_PORT_ID_SSI1_TX 0x00000022 2328 #define IOC_IOCFG5_PORT_ID_SSI1_RX 0x00000021 2329 #define IOC_IOCFG5_PORT_ID_CPU_SWV 0x00000020 2330 #define IOC_IOCFG5_PORT_ID_PORT_EVENT7 0x0000001E 2331 #define IOC_IOCFG5_PORT_ID_PORT_EVENT6 0x0000001D 2332 #define IOC_IOCFG5_PORT_ID_PORT_EVENT5 0x0000001C 2333 #define IOC_IOCFG5_PORT_ID_PORT_EVENT4 0x0000001B 2334 #define IOC_IOCFG5_PORT_ID_PORT_EVENT3 0x0000001A 2335 #define IOC_IOCFG5_PORT_ID_PORT_EVENT2 0x00000019 2336 #define IOC_IOCFG5_PORT_ID_PORT_EVENT1 0x00000018 2337 #define IOC_IOCFG5_PORT_ID_PORT_EVENT0 0x00000017 2338 #define IOC_IOCFG5_PORT_ID_UART1_RTS 0x00000016 2339 #define IOC_IOCFG5_PORT_ID_UART1_CTS 0x00000015 2340 #define IOC_IOCFG5_PORT_ID_UART1_TX 0x00000014 2341 #define IOC_IOCFG5_PORT_ID_UART1_RX 0x00000013 2342 #define IOC_IOCFG5_PORT_ID_UART0_RTS 0x00000012 2343 #define IOC_IOCFG5_PORT_ID_UART0_CTS 0x00000011 2344 #define IOC_IOCFG5_PORT_ID_UART0_TX 0x00000010 2345 #define IOC_IOCFG5_PORT_ID_UART0_RX 0x0000000F 2346 #define IOC_IOCFG5_PORT_ID_I2C_MSSCL 0x0000000E 2347 #define IOC_IOCFG5_PORT_ID_I2C_MSSDA 0x0000000D 2348 #define IOC_IOCFG5_PORT_ID_SSI0_CLK 0x0000000C 2349 #define IOC_IOCFG5_PORT_ID_SSI0_FSS 0x0000000B 2350 #define IOC_IOCFG5_PORT_ID_SSI0_TX 0x0000000A 2351 #define IOC_IOCFG5_PORT_ID_SSI0_RX 0x00000009 2352 #define IOC_IOCFG5_PORT_ID_AUX_IO 0x00000008 2353 #define IOC_IOCFG5_PORT_ID_AON_CLK32K 0x00000007 2354 #define IOC_IOCFG5_PORT_ID_GPIO 0x00000000 2355 2356 //***************************************************************************** 2357 // 2358 // Register: IOC_O_IOCFG6 2359 // 2360 //***************************************************************************** 2361 // Field: [30] HYST_EN 2362 // 2363 // 0: Input hysteresis disable 2364 // 1: Input hysteresis enable 2365 #define IOC_IOCFG6_HYST_EN 0x40000000 2366 #define IOC_IOCFG6_HYST_EN_BITN 30 2367 #define IOC_IOCFG6_HYST_EN_M 0x40000000 2368 #define IOC_IOCFG6_HYST_EN_S 30 2369 2370 // Field: [29] IE 2371 // 2372 // 0: Input disabled 2373 // 1: Input enabled 2374 // 2375 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 2376 // ignored. 2377 #define IOC_IOCFG6_IE 0x20000000 2378 #define IOC_IOCFG6_IE_BITN 29 2379 #define IOC_IOCFG6_IE_M 0x20000000 2380 #define IOC_IOCFG6_IE_S 29 2381 2382 // Field: [28:27] WU_CFG 2383 // 2384 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 2385 // >0x08: 2386 // 2387 // 00: No wake-up 2388 // 01: No wake-up 2389 // 10: Wakes up from shutdown if this pad is going low. 2390 // 11: Wakes up from shutdown if this pad is going high. 2391 // 2392 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 2393 // this register only sets wakeup enable or not. 2394 // 2395 // 00, 01: Wakeup disabled 2396 // 10, 11: Wakeup enabled 2397 // 2398 // Polarity is controlled from AON registers. 2399 // 2400 // Note:When the MSB is set, the IOC will deactivate the output enable for the 2401 // DIO. 2402 #define IOC_IOCFG6_WU_CFG_W 2 2403 #define IOC_IOCFG6_WU_CFG_M 0x18000000 2404 #define IOC_IOCFG6_WU_CFG_S 27 2405 2406 // Field: [26:24] IOMODE 2407 // 2408 // IO Mode 2409 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 2410 // 0x01-0x08 2411 // AUX has its own open_source/drain configuration. 2412 // 2413 // 0x2: Reserved. Undefined behavior. 2414 // 0x3: Reserved. Undefined behavior. 2415 // ENUMs: 2416 // OPENSRC_INV Open Source 2417 // Inverted input / output 2418 // OPENSRC Open Source 2419 // Normal input / output 2420 // OPENDR_INV Open Drain 2421 // Inverted input / output 2422 // OPENDR Open Drain, 2423 // Normal input / output 2424 // INV Inverted input / ouput 2425 // NORMAL Normal input / output 2426 #define IOC_IOCFG6_IOMODE_W 3 2427 #define IOC_IOCFG6_IOMODE_M 0x07000000 2428 #define IOC_IOCFG6_IOMODE_S 24 2429 #define IOC_IOCFG6_IOMODE_OPENSRC_INV 0x07000000 2430 #define IOC_IOCFG6_IOMODE_OPENSRC 0x06000000 2431 #define IOC_IOCFG6_IOMODE_OPENDR_INV 0x05000000 2432 #define IOC_IOCFG6_IOMODE_OPENDR 0x04000000 2433 #define IOC_IOCFG6_IOMODE_INV 0x01000000 2434 #define IOC_IOCFG6_IOMODE_NORMAL 0x00000000 2435 2436 // Field: [23] IOEV_AON_PROG2_EN 2437 // 2438 // Event asserted by this IO when edge detection is enabled 2439 // 2440 // 0: Input edge detection does not assert AON_PROG2 event 2441 // 1: Input edge detection asserts AON_PROG2 event 2442 #define IOC_IOCFG6_IOEV_AON_PROG2_EN 0x00800000 2443 #define IOC_IOCFG6_IOEV_AON_PROG2_EN_BITN 23 2444 #define IOC_IOCFG6_IOEV_AON_PROG2_EN_M 0x00800000 2445 #define IOC_IOCFG6_IOEV_AON_PROG2_EN_S 23 2446 2447 // Field: [22] IOEV_AON_PROG1_EN 2448 // 2449 // Event asserted by this IO when edge detection is enabled 2450 // 2451 // 0: Input edge detection does not assert AON_PROG1 event 2452 // 1: Input edge detection asserts AON_PROG1 event 2453 #define IOC_IOCFG6_IOEV_AON_PROG1_EN 0x00400000 2454 #define IOC_IOCFG6_IOEV_AON_PROG1_EN_BITN 22 2455 #define IOC_IOCFG6_IOEV_AON_PROG1_EN_M 0x00400000 2456 #define IOC_IOCFG6_IOEV_AON_PROG1_EN_S 22 2457 2458 // Field: [21] IOEV_AON_PROG0_EN 2459 // 2460 // Event asserted by this IO when edge detection is enabled 2461 // 2462 // 0: Input edge detection does not assert AON_PROG0 event 2463 // 1: Input edge detection asserts AON_PROG0 event 2464 #define IOC_IOCFG6_IOEV_AON_PROG0_EN 0x00200000 2465 #define IOC_IOCFG6_IOEV_AON_PROG0_EN_BITN 21 2466 #define IOC_IOCFG6_IOEV_AON_PROG0_EN_M 0x00200000 2467 #define IOC_IOCFG6_IOEV_AON_PROG0_EN_S 21 2468 2469 // Field: [18] EDGE_IRQ_EN 2470 // 2471 // 0: No interrupt generation 2472 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 2473 // enabled) 2474 #define IOC_IOCFG6_EDGE_IRQ_EN 0x00040000 2475 #define IOC_IOCFG6_EDGE_IRQ_EN_BITN 18 2476 #define IOC_IOCFG6_EDGE_IRQ_EN_M 0x00040000 2477 #define IOC_IOCFG6_EDGE_IRQ_EN_S 18 2478 2479 // Field: [17:16] EDGE_DET 2480 // 2481 // Enable generation of edge detection events on this IO 2482 // ENUMs: 2483 // BOTH Positive and negative edge detection 2484 // POS Positive edge detection 2485 // NEG Negative edge detection 2486 // NONE No edge detection 2487 #define IOC_IOCFG6_EDGE_DET_W 2 2488 #define IOC_IOCFG6_EDGE_DET_M 0x00030000 2489 #define IOC_IOCFG6_EDGE_DET_S 16 2490 #define IOC_IOCFG6_EDGE_DET_BOTH 0x00030000 2491 #define IOC_IOCFG6_EDGE_DET_POS 0x00020000 2492 #define IOC_IOCFG6_EDGE_DET_NEG 0x00010000 2493 #define IOC_IOCFG6_EDGE_DET_NONE 0x00000000 2494 2495 // Field: [14:13] PULL_CTL 2496 // 2497 // Pull control 2498 // ENUMs: 2499 // DIS No pull 2500 // UP Pull up 2501 // DWN Pull down 2502 #define IOC_IOCFG6_PULL_CTL_W 2 2503 #define IOC_IOCFG6_PULL_CTL_M 0x00006000 2504 #define IOC_IOCFG6_PULL_CTL_S 13 2505 #define IOC_IOCFG6_PULL_CTL_DIS 0x00006000 2506 #define IOC_IOCFG6_PULL_CTL_UP 0x00004000 2507 #define IOC_IOCFG6_PULL_CTL_DWN 0x00002000 2508 2509 // Field: [12] SLEW_RED 2510 // 2511 // 0: Normal slew rate 2512 // 1: Enables reduced slew rate in output driver. 2513 #define IOC_IOCFG6_SLEW_RED 0x00001000 2514 #define IOC_IOCFG6_SLEW_RED_BITN 12 2515 #define IOC_IOCFG6_SLEW_RED_M 0x00001000 2516 #define IOC_IOCFG6_SLEW_RED_S 12 2517 2518 // Field: [11:10] IOCURR 2519 // 2520 // Selects IO current mode of this IO. 2521 // ENUMs: 2522 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 2523 // drive strength IOs (min 4 mA for normal IOs) 2524 // when IOSTR is set to AUTO 2525 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 2526 // to AUTO 2527 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 2528 // to AUTO 2529 #define IOC_IOCFG6_IOCURR_W 2 2530 #define IOC_IOCFG6_IOCURR_M 0x00000C00 2531 #define IOC_IOCFG6_IOCURR_S 10 2532 #define IOC_IOCFG6_IOCURR_4_8MA 0x00000800 2533 #define IOC_IOCFG6_IOCURR_4MA 0x00000400 2534 #define IOC_IOCFG6_IOCURR_2MA 0x00000000 2535 2536 // Field: [9:8] IOSTR 2537 // 2538 // Select source for drive strength control of this IO. 2539 // This setting controls the drive strength of the Low-Current (LC) mode. 2540 // Higher drive strength can be selected in IOCURR 2541 // ENUMs: 2542 // MAX Maximum drive strength, controlled by 2543 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 2544 // values) 2545 // MED Medium drive strength, controlled by 2546 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 2547 // values) 2548 // MIN Minimum drive strength, controlled by 2549 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 2550 // values) 2551 // AUTO Automatic drive strength, controlled by AON BATMON 2552 // based on battery voltage. (min 2 mA @VDDS) 2553 #define IOC_IOCFG6_IOSTR_W 2 2554 #define IOC_IOCFG6_IOSTR_M 0x00000300 2555 #define IOC_IOCFG6_IOSTR_S 8 2556 #define IOC_IOCFG6_IOSTR_MAX 0x00000300 2557 #define IOC_IOCFG6_IOSTR_MED 0x00000200 2558 #define IOC_IOCFG6_IOSTR_MIN 0x00000100 2559 #define IOC_IOCFG6_IOSTR_AUTO 0x00000000 2560 2561 // Field: [7] IOEV_RTC_EN 2562 // 2563 // Event asserted by this IO when edge detection is enabled 2564 // 2565 // 0: Input edge detection does not assert RTC event 2566 // 1: Input edge detection asserts RTC event 2567 #define IOC_IOCFG6_IOEV_RTC_EN 0x00000080 2568 #define IOC_IOCFG6_IOEV_RTC_EN_BITN 7 2569 #define IOC_IOCFG6_IOEV_RTC_EN_M 0x00000080 2570 #define IOC_IOCFG6_IOEV_RTC_EN_S 7 2571 2572 // Field: [6] IOEV_MCU_WU_EN 2573 // 2574 // Event asserted by this IO when edge detection is enabled 2575 // 2576 // 0: Input edge detection does not assert MCU_WU event 2577 // 1: Input edge detection asserts MCU_WU event 2578 #define IOC_IOCFG6_IOEV_MCU_WU_EN 0x00000040 2579 #define IOC_IOCFG6_IOEV_MCU_WU_EN_BITN 6 2580 #define IOC_IOCFG6_IOEV_MCU_WU_EN_M 0x00000040 2581 #define IOC_IOCFG6_IOEV_MCU_WU_EN_S 6 2582 2583 // Field: [5:0] PORT_ID 2584 // 2585 // Selects usage for DIO6 2586 // Note: This field should not be written other than the times when PORT_ID 2587 // value is specifically required to change. 2588 // ENUMs: 2589 // RFC_SMI_CL_IN RF Core SMI Command Link In 2590 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 2591 // RFC_SMI_DL_IN RF Core SMI Data Link In 2592 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 2593 // RFC_GPI1 RF Core Data In 1 2594 // RFC_GPI0 RF Core Data In 0 2595 // RFC_GPO3 RF Core Data Out 3 2596 // RFC_GPO2 RF Core Data Out 2 2597 // RFC_GPO1 RF Core Data Out 1 2598 // RFC_GPO0 RF Core Data Out 0 2599 // RFC_TRC RF Core Trace 2600 // I2S_MCLK I2S MCLK 2601 // I2S_BCLK I2S BCLK 2602 // I2S_WCLK I2S WCLK 2603 // I2S_AD1 I2S Data 1 2604 // I2S_AD0 I2S Data 0 2605 // SSI1_CLK SSI1 CLK 2606 // SSI1_FSS SSI1 FSS 2607 // SSI1_TX SSI1 TX 2608 // SSI1_RX SSI1 RX 2609 // CPU_SWV CPU SWV 2610 // PORT_EVENT7 PORT EVENT 7 2611 // Can be used as a general 2612 // purpose IO event by selecting it through 2613 // registers in the EVENT module, for example 2614 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2615 // and so on 2616 // PORT_EVENT6 PORT EVENT 6 2617 // Can be used as a general 2618 // purpose IO event by selecting it through 2619 // registers in the EVENT module, for example 2620 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2621 // and so on 2622 // PORT_EVENT5 PORT EVENT 5 2623 // Can be used as a general 2624 // purpose IO event by selecting it through 2625 // registers in the EVENT module, for example 2626 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2627 // and so on 2628 // PORT_EVENT4 PORT EVENT 4 2629 // Can be used as a general 2630 // purpose IO event by selecting it through 2631 // registers in the EVENT module, for example 2632 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2633 // and so on 2634 // PORT_EVENT3 PORT EVENT 3 2635 // Can be used as a general 2636 // purpose IO event by selecting it through 2637 // registers in the EVENT module, for example 2638 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2639 // and so on 2640 // PORT_EVENT2 PORT EVENT 2 2641 // Can be used as a general 2642 // purpose IO event by selecting it through 2643 // registers in the EVENT module, for example 2644 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2645 // and so on 2646 // PORT_EVENT1 PORT EVENT 1 2647 // Can be used as a general 2648 // purpose IO event by selecting it through 2649 // registers in the EVENT module, for example 2650 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2651 // and so on 2652 // PORT_EVENT0 PORT EVENT 0 2653 // Can be used as a general 2654 // purpose IO event by selecting it through 2655 // registers in the EVENT module, for example 2656 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2657 // and so on 2658 // UART1_RTS UART1 RTS 2659 // UART1_CTS UART1 CTS 2660 // UART1_TX UART1 TX 2661 // UART1_RX UART1 RX 2662 // UART0_RTS UART0 RTS 2663 // UART0_CTS UART0 CTS 2664 // UART0_TX UART0 TX 2665 // UART0_RX UART0 RX 2666 // I2C_MSSCL I2C Clock 2667 // I2C_MSSDA I2C Data 2668 // SSI0_CLK SSI0 CLK 2669 // SSI0_FSS SSI0 FSS 2670 // SSI0_TX SSI0 TX 2671 // SSI0_RX SSI0 RX 2672 // AUX_IO AUX IO 2673 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 2674 // GPIO General Purpose IO 2675 #define IOC_IOCFG6_PORT_ID_W 6 2676 #define IOC_IOCFG6_PORT_ID_M 0x0000003F 2677 #define IOC_IOCFG6_PORT_ID_S 0 2678 #define IOC_IOCFG6_PORT_ID_RFC_SMI_CL_IN 0x00000038 2679 #define IOC_IOCFG6_PORT_ID_RFC_SMI_CL_OUT 0x00000037 2680 #define IOC_IOCFG6_PORT_ID_RFC_SMI_DL_IN 0x00000036 2681 #define IOC_IOCFG6_PORT_ID_RFC_SMI_DL_OUT 0x00000035 2682 #define IOC_IOCFG6_PORT_ID_RFC_GPI1 0x00000034 2683 #define IOC_IOCFG6_PORT_ID_RFC_GPI0 0x00000033 2684 #define IOC_IOCFG6_PORT_ID_RFC_GPO3 0x00000032 2685 #define IOC_IOCFG6_PORT_ID_RFC_GPO2 0x00000031 2686 #define IOC_IOCFG6_PORT_ID_RFC_GPO1 0x00000030 2687 #define IOC_IOCFG6_PORT_ID_RFC_GPO0 0x0000002F 2688 #define IOC_IOCFG6_PORT_ID_RFC_TRC 0x0000002E 2689 #define IOC_IOCFG6_PORT_ID_I2S_MCLK 0x00000029 2690 #define IOC_IOCFG6_PORT_ID_I2S_BCLK 0x00000028 2691 #define IOC_IOCFG6_PORT_ID_I2S_WCLK 0x00000027 2692 #define IOC_IOCFG6_PORT_ID_I2S_AD1 0x00000026 2693 #define IOC_IOCFG6_PORT_ID_I2S_AD0 0x00000025 2694 #define IOC_IOCFG6_PORT_ID_SSI1_CLK 0x00000024 2695 #define IOC_IOCFG6_PORT_ID_SSI1_FSS 0x00000023 2696 #define IOC_IOCFG6_PORT_ID_SSI1_TX 0x00000022 2697 #define IOC_IOCFG6_PORT_ID_SSI1_RX 0x00000021 2698 #define IOC_IOCFG6_PORT_ID_CPU_SWV 0x00000020 2699 #define IOC_IOCFG6_PORT_ID_PORT_EVENT7 0x0000001E 2700 #define IOC_IOCFG6_PORT_ID_PORT_EVENT6 0x0000001D 2701 #define IOC_IOCFG6_PORT_ID_PORT_EVENT5 0x0000001C 2702 #define IOC_IOCFG6_PORT_ID_PORT_EVENT4 0x0000001B 2703 #define IOC_IOCFG6_PORT_ID_PORT_EVENT3 0x0000001A 2704 #define IOC_IOCFG6_PORT_ID_PORT_EVENT2 0x00000019 2705 #define IOC_IOCFG6_PORT_ID_PORT_EVENT1 0x00000018 2706 #define IOC_IOCFG6_PORT_ID_PORT_EVENT0 0x00000017 2707 #define IOC_IOCFG6_PORT_ID_UART1_RTS 0x00000016 2708 #define IOC_IOCFG6_PORT_ID_UART1_CTS 0x00000015 2709 #define IOC_IOCFG6_PORT_ID_UART1_TX 0x00000014 2710 #define IOC_IOCFG6_PORT_ID_UART1_RX 0x00000013 2711 #define IOC_IOCFG6_PORT_ID_UART0_RTS 0x00000012 2712 #define IOC_IOCFG6_PORT_ID_UART0_CTS 0x00000011 2713 #define IOC_IOCFG6_PORT_ID_UART0_TX 0x00000010 2714 #define IOC_IOCFG6_PORT_ID_UART0_RX 0x0000000F 2715 #define IOC_IOCFG6_PORT_ID_I2C_MSSCL 0x0000000E 2716 #define IOC_IOCFG6_PORT_ID_I2C_MSSDA 0x0000000D 2717 #define IOC_IOCFG6_PORT_ID_SSI0_CLK 0x0000000C 2718 #define IOC_IOCFG6_PORT_ID_SSI0_FSS 0x0000000B 2719 #define IOC_IOCFG6_PORT_ID_SSI0_TX 0x0000000A 2720 #define IOC_IOCFG6_PORT_ID_SSI0_RX 0x00000009 2721 #define IOC_IOCFG6_PORT_ID_AUX_IO 0x00000008 2722 #define IOC_IOCFG6_PORT_ID_AON_CLK32K 0x00000007 2723 #define IOC_IOCFG6_PORT_ID_GPIO 0x00000000 2724 2725 //***************************************************************************** 2726 // 2727 // Register: IOC_O_IOCFG7 2728 // 2729 //***************************************************************************** 2730 // Field: [30] HYST_EN 2731 // 2732 // 0: Input hysteresis disable 2733 // 1: Input hysteresis enable 2734 #define IOC_IOCFG7_HYST_EN 0x40000000 2735 #define IOC_IOCFG7_HYST_EN_BITN 30 2736 #define IOC_IOCFG7_HYST_EN_M 0x40000000 2737 #define IOC_IOCFG7_HYST_EN_S 30 2738 2739 // Field: [29] IE 2740 // 2741 // 0: Input disabled 2742 // 1: Input enabled 2743 // 2744 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 2745 // ignored. 2746 #define IOC_IOCFG7_IE 0x20000000 2747 #define IOC_IOCFG7_IE_BITN 29 2748 #define IOC_IOCFG7_IE_M 0x20000000 2749 #define IOC_IOCFG7_IE_S 29 2750 2751 // Field: [28:27] WU_CFG 2752 // 2753 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 2754 // >0x08: 2755 // 2756 // 00: No wake-up 2757 // 01: No wake-up 2758 // 10: Wakes up from shutdown if this pad is going low. 2759 // 11: Wakes up from shutdown if this pad is going high. 2760 // 2761 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 2762 // this register only sets wakeup enable or not. 2763 // 2764 // 00, 01: Wakeup disabled 2765 // 10, 11: Wakeup enabled 2766 // 2767 // Polarity is controlled from AON registers. 2768 // 2769 // Note:When the MSB is set, the IOC will deactivate the output enable for the 2770 // DIO. 2771 #define IOC_IOCFG7_WU_CFG_W 2 2772 #define IOC_IOCFG7_WU_CFG_M 0x18000000 2773 #define IOC_IOCFG7_WU_CFG_S 27 2774 2775 // Field: [26:24] IOMODE 2776 // 2777 // IO Mode 2778 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 2779 // 0x01-0x08 2780 // AUX has its own open_source/drain configuration. 2781 // 2782 // 0x2: Reserved. Undefined behavior. 2783 // 0x3: Reserved. Undefined behavior. 2784 // ENUMs: 2785 // OPENSRC_INV Open Source 2786 // Inverted input / output 2787 // OPENSRC Open Source 2788 // Normal input / output 2789 // OPENDR_INV Open Drain 2790 // Inverted input / output 2791 // OPENDR Open Drain, 2792 // Normal input / output 2793 // INV Inverted input / ouput 2794 // NORMAL Normal input / output 2795 #define IOC_IOCFG7_IOMODE_W 3 2796 #define IOC_IOCFG7_IOMODE_M 0x07000000 2797 #define IOC_IOCFG7_IOMODE_S 24 2798 #define IOC_IOCFG7_IOMODE_OPENSRC_INV 0x07000000 2799 #define IOC_IOCFG7_IOMODE_OPENSRC 0x06000000 2800 #define IOC_IOCFG7_IOMODE_OPENDR_INV 0x05000000 2801 #define IOC_IOCFG7_IOMODE_OPENDR 0x04000000 2802 #define IOC_IOCFG7_IOMODE_INV 0x01000000 2803 #define IOC_IOCFG7_IOMODE_NORMAL 0x00000000 2804 2805 // Field: [23] IOEV_AON_PROG2_EN 2806 // 2807 // Event asserted by this IO when edge detection is enabled 2808 // 2809 // 0: Input edge detection does not assert AON_PROG2 event 2810 // 1: Input edge detection asserts AON_PROG2 event 2811 #define IOC_IOCFG7_IOEV_AON_PROG2_EN 0x00800000 2812 #define IOC_IOCFG7_IOEV_AON_PROG2_EN_BITN 23 2813 #define IOC_IOCFG7_IOEV_AON_PROG2_EN_M 0x00800000 2814 #define IOC_IOCFG7_IOEV_AON_PROG2_EN_S 23 2815 2816 // Field: [22] IOEV_AON_PROG1_EN 2817 // 2818 // Event asserted by this IO when edge detection is enabled 2819 // 2820 // 0: Input edge detection does not assert AON_PROG1 event 2821 // 1: Input edge detection asserts AON_PROG1 event 2822 #define IOC_IOCFG7_IOEV_AON_PROG1_EN 0x00400000 2823 #define IOC_IOCFG7_IOEV_AON_PROG1_EN_BITN 22 2824 #define IOC_IOCFG7_IOEV_AON_PROG1_EN_M 0x00400000 2825 #define IOC_IOCFG7_IOEV_AON_PROG1_EN_S 22 2826 2827 // Field: [21] IOEV_AON_PROG0_EN 2828 // 2829 // Event asserted by this IO when edge detection is enabled 2830 // 2831 // 0: Input edge detection does not assert AON_PROG0 event 2832 // 1: Input edge detection asserts AON_PROG0 event 2833 #define IOC_IOCFG7_IOEV_AON_PROG0_EN 0x00200000 2834 #define IOC_IOCFG7_IOEV_AON_PROG0_EN_BITN 21 2835 #define IOC_IOCFG7_IOEV_AON_PROG0_EN_M 0x00200000 2836 #define IOC_IOCFG7_IOEV_AON_PROG0_EN_S 21 2837 2838 // Field: [18] EDGE_IRQ_EN 2839 // 2840 // 0: No interrupt generation 2841 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 2842 // enabled) 2843 #define IOC_IOCFG7_EDGE_IRQ_EN 0x00040000 2844 #define IOC_IOCFG7_EDGE_IRQ_EN_BITN 18 2845 #define IOC_IOCFG7_EDGE_IRQ_EN_M 0x00040000 2846 #define IOC_IOCFG7_EDGE_IRQ_EN_S 18 2847 2848 // Field: [17:16] EDGE_DET 2849 // 2850 // Enable generation of edge detection events on this IO 2851 // ENUMs: 2852 // BOTH Positive and negative edge detection 2853 // POS Positive edge detection 2854 // NEG Negative edge detection 2855 // NONE No edge detection 2856 #define IOC_IOCFG7_EDGE_DET_W 2 2857 #define IOC_IOCFG7_EDGE_DET_M 0x00030000 2858 #define IOC_IOCFG7_EDGE_DET_S 16 2859 #define IOC_IOCFG7_EDGE_DET_BOTH 0x00030000 2860 #define IOC_IOCFG7_EDGE_DET_POS 0x00020000 2861 #define IOC_IOCFG7_EDGE_DET_NEG 0x00010000 2862 #define IOC_IOCFG7_EDGE_DET_NONE 0x00000000 2863 2864 // Field: [14:13] PULL_CTL 2865 // 2866 // Pull control 2867 // ENUMs: 2868 // DIS No pull 2869 // UP Pull up 2870 // DWN Pull down 2871 #define IOC_IOCFG7_PULL_CTL_W 2 2872 #define IOC_IOCFG7_PULL_CTL_M 0x00006000 2873 #define IOC_IOCFG7_PULL_CTL_S 13 2874 #define IOC_IOCFG7_PULL_CTL_DIS 0x00006000 2875 #define IOC_IOCFG7_PULL_CTL_UP 0x00004000 2876 #define IOC_IOCFG7_PULL_CTL_DWN 0x00002000 2877 2878 // Field: [12] SLEW_RED 2879 // 2880 // 0: Normal slew rate 2881 // 1: Enables reduced slew rate in output driver. 2882 #define IOC_IOCFG7_SLEW_RED 0x00001000 2883 #define IOC_IOCFG7_SLEW_RED_BITN 12 2884 #define IOC_IOCFG7_SLEW_RED_M 0x00001000 2885 #define IOC_IOCFG7_SLEW_RED_S 12 2886 2887 // Field: [11:10] IOCURR 2888 // 2889 // Selects IO current mode of this IO. 2890 // ENUMs: 2891 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 2892 // drive strength IOs (min 4 mA for normal IOs) 2893 // when IOSTR is set to AUTO 2894 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 2895 // to AUTO 2896 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 2897 // to AUTO 2898 #define IOC_IOCFG7_IOCURR_W 2 2899 #define IOC_IOCFG7_IOCURR_M 0x00000C00 2900 #define IOC_IOCFG7_IOCURR_S 10 2901 #define IOC_IOCFG7_IOCURR_4_8MA 0x00000800 2902 #define IOC_IOCFG7_IOCURR_4MA 0x00000400 2903 #define IOC_IOCFG7_IOCURR_2MA 0x00000000 2904 2905 // Field: [9:8] IOSTR 2906 // 2907 // Select source for drive strength control of this IO. 2908 // This setting controls the drive strength of the Low-Current (LC) mode. 2909 // Higher drive strength can be selected in IOCURR 2910 // ENUMs: 2911 // MAX Maximum drive strength, controlled by 2912 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 2913 // values) 2914 // MED Medium drive strength, controlled by 2915 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 2916 // values) 2917 // MIN Minimum drive strength, controlled by 2918 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 2919 // values) 2920 // AUTO Automatic drive strength, controlled by AON BATMON 2921 // based on battery voltage. (min 2 mA @VDDS) 2922 #define IOC_IOCFG7_IOSTR_W 2 2923 #define IOC_IOCFG7_IOSTR_M 0x00000300 2924 #define IOC_IOCFG7_IOSTR_S 8 2925 #define IOC_IOCFG7_IOSTR_MAX 0x00000300 2926 #define IOC_IOCFG7_IOSTR_MED 0x00000200 2927 #define IOC_IOCFG7_IOSTR_MIN 0x00000100 2928 #define IOC_IOCFG7_IOSTR_AUTO 0x00000000 2929 2930 // Field: [7] IOEV_RTC_EN 2931 // 2932 // Event asserted by this IO when edge detection is enabled 2933 // 2934 // 0: Input edge detection does not assert RTC event 2935 // 1: Input edge detection asserts RTC event 2936 #define IOC_IOCFG7_IOEV_RTC_EN 0x00000080 2937 #define IOC_IOCFG7_IOEV_RTC_EN_BITN 7 2938 #define IOC_IOCFG7_IOEV_RTC_EN_M 0x00000080 2939 #define IOC_IOCFG7_IOEV_RTC_EN_S 7 2940 2941 // Field: [6] IOEV_MCU_WU_EN 2942 // 2943 // Event asserted by this IO when edge detection is enabled 2944 // 2945 // 0: Input edge detection does not assert MCU_WU event 2946 // 1: Input edge detection asserts MCU_WU event 2947 #define IOC_IOCFG7_IOEV_MCU_WU_EN 0x00000040 2948 #define IOC_IOCFG7_IOEV_MCU_WU_EN_BITN 6 2949 #define IOC_IOCFG7_IOEV_MCU_WU_EN_M 0x00000040 2950 #define IOC_IOCFG7_IOEV_MCU_WU_EN_S 6 2951 2952 // Field: [5:0] PORT_ID 2953 // 2954 // Selects usage for DIO7 2955 // Note: This field should not be written other than the times when PORT_ID 2956 // value is specifically required to change. 2957 // ENUMs: 2958 // RFC_SMI_CL_IN RF Core SMI Command Link In 2959 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 2960 // RFC_SMI_DL_IN RF Core SMI Data Link In 2961 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 2962 // RFC_GPI1 RF Core Data In 1 2963 // RFC_GPI0 RF Core Data In 0 2964 // RFC_GPO3 RF Core Data Out 3 2965 // RFC_GPO2 RF Core Data Out 2 2966 // RFC_GPO1 RF Core Data Out 1 2967 // RFC_GPO0 RF Core Data Out 0 2968 // RFC_TRC RF Core Trace 2969 // I2S_MCLK I2S MCLK 2970 // I2S_BCLK I2S BCLK 2971 // I2S_WCLK I2S WCLK 2972 // I2S_AD1 I2S Data 1 2973 // I2S_AD0 I2S Data 0 2974 // SSI1_CLK SSI1 CLK 2975 // SSI1_FSS SSI1 FSS 2976 // SSI1_TX SSI1 TX 2977 // SSI1_RX SSI1 RX 2978 // CPU_SWV CPU SWV 2979 // PORT_EVENT7 PORT EVENT 7 2980 // Can be used as a general 2981 // purpose IO event by selecting it through 2982 // registers in the EVENT module, for example 2983 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2984 // and so on 2985 // PORT_EVENT6 PORT EVENT 6 2986 // Can be used as a general 2987 // purpose IO event by selecting it through 2988 // registers in the EVENT module, for example 2989 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2990 // and so on 2991 // PORT_EVENT5 PORT EVENT 5 2992 // Can be used as a general 2993 // purpose IO event by selecting it through 2994 // registers in the EVENT module, for example 2995 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 2996 // and so on 2997 // PORT_EVENT4 PORT EVENT 4 2998 // Can be used as a general 2999 // purpose IO event by selecting it through 3000 // registers in the EVENT module, for example 3001 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3002 // and so on 3003 // PORT_EVENT3 PORT EVENT 3 3004 // Can be used as a general 3005 // purpose IO event by selecting it through 3006 // registers in the EVENT module, for example 3007 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3008 // and so on 3009 // PORT_EVENT2 PORT EVENT 2 3010 // Can be used as a general 3011 // purpose IO event by selecting it through 3012 // registers in the EVENT module, for example 3013 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3014 // and so on 3015 // PORT_EVENT1 PORT EVENT 1 3016 // Can be used as a general 3017 // purpose IO event by selecting it through 3018 // registers in the EVENT module, for example 3019 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3020 // and so on 3021 // PORT_EVENT0 PORT EVENT 0 3022 // Can be used as a general 3023 // purpose IO event by selecting it through 3024 // registers in the EVENT module, for example 3025 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3026 // and so on 3027 // UART1_RTS UART1 RTS 3028 // UART1_CTS UART1 CTS 3029 // UART1_TX UART1 TX 3030 // UART1_RX UART1 RX 3031 // UART0_RTS UART0 RTS 3032 // UART0_CTS UART0 CTS 3033 // UART0_TX UART0 TX 3034 // UART0_RX UART0 RX 3035 // I2C_MSSCL I2C Clock 3036 // I2C_MSSDA I2C Data 3037 // SSI0_CLK SSI0 CLK 3038 // SSI0_FSS SSI0 FSS 3039 // SSI0_TX SSI0 TX 3040 // SSI0_RX SSI0 RX 3041 // AUX_IO AUX IO 3042 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 3043 // GPIO General Purpose IO 3044 #define IOC_IOCFG7_PORT_ID_W 6 3045 #define IOC_IOCFG7_PORT_ID_M 0x0000003F 3046 #define IOC_IOCFG7_PORT_ID_S 0 3047 #define IOC_IOCFG7_PORT_ID_RFC_SMI_CL_IN 0x00000038 3048 #define IOC_IOCFG7_PORT_ID_RFC_SMI_CL_OUT 0x00000037 3049 #define IOC_IOCFG7_PORT_ID_RFC_SMI_DL_IN 0x00000036 3050 #define IOC_IOCFG7_PORT_ID_RFC_SMI_DL_OUT 0x00000035 3051 #define IOC_IOCFG7_PORT_ID_RFC_GPI1 0x00000034 3052 #define IOC_IOCFG7_PORT_ID_RFC_GPI0 0x00000033 3053 #define IOC_IOCFG7_PORT_ID_RFC_GPO3 0x00000032 3054 #define IOC_IOCFG7_PORT_ID_RFC_GPO2 0x00000031 3055 #define IOC_IOCFG7_PORT_ID_RFC_GPO1 0x00000030 3056 #define IOC_IOCFG7_PORT_ID_RFC_GPO0 0x0000002F 3057 #define IOC_IOCFG7_PORT_ID_RFC_TRC 0x0000002E 3058 #define IOC_IOCFG7_PORT_ID_I2S_MCLK 0x00000029 3059 #define IOC_IOCFG7_PORT_ID_I2S_BCLK 0x00000028 3060 #define IOC_IOCFG7_PORT_ID_I2S_WCLK 0x00000027 3061 #define IOC_IOCFG7_PORT_ID_I2S_AD1 0x00000026 3062 #define IOC_IOCFG7_PORT_ID_I2S_AD0 0x00000025 3063 #define IOC_IOCFG7_PORT_ID_SSI1_CLK 0x00000024 3064 #define IOC_IOCFG7_PORT_ID_SSI1_FSS 0x00000023 3065 #define IOC_IOCFG7_PORT_ID_SSI1_TX 0x00000022 3066 #define IOC_IOCFG7_PORT_ID_SSI1_RX 0x00000021 3067 #define IOC_IOCFG7_PORT_ID_CPU_SWV 0x00000020 3068 #define IOC_IOCFG7_PORT_ID_PORT_EVENT7 0x0000001E 3069 #define IOC_IOCFG7_PORT_ID_PORT_EVENT6 0x0000001D 3070 #define IOC_IOCFG7_PORT_ID_PORT_EVENT5 0x0000001C 3071 #define IOC_IOCFG7_PORT_ID_PORT_EVENT4 0x0000001B 3072 #define IOC_IOCFG7_PORT_ID_PORT_EVENT3 0x0000001A 3073 #define IOC_IOCFG7_PORT_ID_PORT_EVENT2 0x00000019 3074 #define IOC_IOCFG7_PORT_ID_PORT_EVENT1 0x00000018 3075 #define IOC_IOCFG7_PORT_ID_PORT_EVENT0 0x00000017 3076 #define IOC_IOCFG7_PORT_ID_UART1_RTS 0x00000016 3077 #define IOC_IOCFG7_PORT_ID_UART1_CTS 0x00000015 3078 #define IOC_IOCFG7_PORT_ID_UART1_TX 0x00000014 3079 #define IOC_IOCFG7_PORT_ID_UART1_RX 0x00000013 3080 #define IOC_IOCFG7_PORT_ID_UART0_RTS 0x00000012 3081 #define IOC_IOCFG7_PORT_ID_UART0_CTS 0x00000011 3082 #define IOC_IOCFG7_PORT_ID_UART0_TX 0x00000010 3083 #define IOC_IOCFG7_PORT_ID_UART0_RX 0x0000000F 3084 #define IOC_IOCFG7_PORT_ID_I2C_MSSCL 0x0000000E 3085 #define IOC_IOCFG7_PORT_ID_I2C_MSSDA 0x0000000D 3086 #define IOC_IOCFG7_PORT_ID_SSI0_CLK 0x0000000C 3087 #define IOC_IOCFG7_PORT_ID_SSI0_FSS 0x0000000B 3088 #define IOC_IOCFG7_PORT_ID_SSI0_TX 0x0000000A 3089 #define IOC_IOCFG7_PORT_ID_SSI0_RX 0x00000009 3090 #define IOC_IOCFG7_PORT_ID_AUX_IO 0x00000008 3091 #define IOC_IOCFG7_PORT_ID_AON_CLK32K 0x00000007 3092 #define IOC_IOCFG7_PORT_ID_GPIO 0x00000000 3093 3094 //***************************************************************************** 3095 // 3096 // Register: IOC_O_IOCFG8 3097 // 3098 //***************************************************************************** 3099 // Field: [30] HYST_EN 3100 // 3101 // 0: Input hysteresis disable 3102 // 1: Input hysteresis enable 3103 #define IOC_IOCFG8_HYST_EN 0x40000000 3104 #define IOC_IOCFG8_HYST_EN_BITN 30 3105 #define IOC_IOCFG8_HYST_EN_M 0x40000000 3106 #define IOC_IOCFG8_HYST_EN_S 30 3107 3108 // Field: [29] IE 3109 // 3110 // 0: Input disabled 3111 // 1: Input enabled 3112 // 3113 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 3114 // ignored. 3115 #define IOC_IOCFG8_IE 0x20000000 3116 #define IOC_IOCFG8_IE_BITN 29 3117 #define IOC_IOCFG8_IE_M 0x20000000 3118 #define IOC_IOCFG8_IE_S 29 3119 3120 // Field: [28:27] WU_CFG 3121 // 3122 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 3123 // >0x08: 3124 // 3125 // 00: No wake-up 3126 // 01: No wake-up 3127 // 10: Wakes up from shutdown if this pad is going low. 3128 // 11: Wakes up from shutdown if this pad is going high. 3129 // 3130 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 3131 // this register only sets wakeup enable or not. 3132 // 3133 // 00, 01: Wakeup disabled 3134 // 10, 11: Wakeup enabled 3135 // 3136 // Polarity is controlled from AON registers. 3137 // 3138 // Note:When the MSB is set, the IOC will deactivate the output enable for the 3139 // DIO. 3140 #define IOC_IOCFG8_WU_CFG_W 2 3141 #define IOC_IOCFG8_WU_CFG_M 0x18000000 3142 #define IOC_IOCFG8_WU_CFG_S 27 3143 3144 // Field: [26:24] IOMODE 3145 // 3146 // IO Mode 3147 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 3148 // 0x01-0x08 3149 // AUX has its own open_source/drain configuration. 3150 // 3151 // 0x2: Reserved. Undefined behavior. 3152 // 0x3: Reserved. Undefined behavior. 3153 // ENUMs: 3154 // OPENSRC_INV Open Source 3155 // Inverted input / output 3156 // OPENSRC Open Source 3157 // Normal input / output 3158 // OPENDR_INV Open Drain 3159 // Inverted input / output 3160 // OPENDR Open Drain, 3161 // Normal input / output 3162 // INV Inverted input / ouput 3163 // NORMAL Normal input / output 3164 #define IOC_IOCFG8_IOMODE_W 3 3165 #define IOC_IOCFG8_IOMODE_M 0x07000000 3166 #define IOC_IOCFG8_IOMODE_S 24 3167 #define IOC_IOCFG8_IOMODE_OPENSRC_INV 0x07000000 3168 #define IOC_IOCFG8_IOMODE_OPENSRC 0x06000000 3169 #define IOC_IOCFG8_IOMODE_OPENDR_INV 0x05000000 3170 #define IOC_IOCFG8_IOMODE_OPENDR 0x04000000 3171 #define IOC_IOCFG8_IOMODE_INV 0x01000000 3172 #define IOC_IOCFG8_IOMODE_NORMAL 0x00000000 3173 3174 // Field: [23] IOEV_AON_PROG2_EN 3175 // 3176 // Event asserted by this IO when edge detection is enabled 3177 // 3178 // 0: Input edge detection does not assert AON_PROG2 event 3179 // 1: Input edge detection asserts AON_PROG2 event 3180 #define IOC_IOCFG8_IOEV_AON_PROG2_EN 0x00800000 3181 #define IOC_IOCFG8_IOEV_AON_PROG2_EN_BITN 23 3182 #define IOC_IOCFG8_IOEV_AON_PROG2_EN_M 0x00800000 3183 #define IOC_IOCFG8_IOEV_AON_PROG2_EN_S 23 3184 3185 // Field: [22] IOEV_AON_PROG1_EN 3186 // 3187 // Event asserted by this IO when edge detection is enabled 3188 // 3189 // 0: Input edge detection does not assert AON_PROG1 event 3190 // 1: Input edge detection asserts AON_PROG1 event 3191 #define IOC_IOCFG8_IOEV_AON_PROG1_EN 0x00400000 3192 #define IOC_IOCFG8_IOEV_AON_PROG1_EN_BITN 22 3193 #define IOC_IOCFG8_IOEV_AON_PROG1_EN_M 0x00400000 3194 #define IOC_IOCFG8_IOEV_AON_PROG1_EN_S 22 3195 3196 // Field: [21] IOEV_AON_PROG0_EN 3197 // 3198 // Event asserted by this IO when edge detection is enabled 3199 // 3200 // 0: Input edge detection does not assert AON_PROG0 event 3201 // 1: Input edge detection asserts AON_PROG0 event 3202 #define IOC_IOCFG8_IOEV_AON_PROG0_EN 0x00200000 3203 #define IOC_IOCFG8_IOEV_AON_PROG0_EN_BITN 21 3204 #define IOC_IOCFG8_IOEV_AON_PROG0_EN_M 0x00200000 3205 #define IOC_IOCFG8_IOEV_AON_PROG0_EN_S 21 3206 3207 // Field: [18] EDGE_IRQ_EN 3208 // 3209 // 0: No interrupt generation 3210 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 3211 // enabled) 3212 #define IOC_IOCFG8_EDGE_IRQ_EN 0x00040000 3213 #define IOC_IOCFG8_EDGE_IRQ_EN_BITN 18 3214 #define IOC_IOCFG8_EDGE_IRQ_EN_M 0x00040000 3215 #define IOC_IOCFG8_EDGE_IRQ_EN_S 18 3216 3217 // Field: [17:16] EDGE_DET 3218 // 3219 // Enable generation of edge detection events on this IO 3220 // ENUMs: 3221 // BOTH Positive and negative edge detection 3222 // POS Positive edge detection 3223 // NEG Negative edge detection 3224 // NONE No edge detection 3225 #define IOC_IOCFG8_EDGE_DET_W 2 3226 #define IOC_IOCFG8_EDGE_DET_M 0x00030000 3227 #define IOC_IOCFG8_EDGE_DET_S 16 3228 #define IOC_IOCFG8_EDGE_DET_BOTH 0x00030000 3229 #define IOC_IOCFG8_EDGE_DET_POS 0x00020000 3230 #define IOC_IOCFG8_EDGE_DET_NEG 0x00010000 3231 #define IOC_IOCFG8_EDGE_DET_NONE 0x00000000 3232 3233 // Field: [14:13] PULL_CTL 3234 // 3235 // Pull control 3236 // ENUMs: 3237 // DIS No pull 3238 // UP Pull up 3239 // DWN Pull down 3240 #define IOC_IOCFG8_PULL_CTL_W 2 3241 #define IOC_IOCFG8_PULL_CTL_M 0x00006000 3242 #define IOC_IOCFG8_PULL_CTL_S 13 3243 #define IOC_IOCFG8_PULL_CTL_DIS 0x00006000 3244 #define IOC_IOCFG8_PULL_CTL_UP 0x00004000 3245 #define IOC_IOCFG8_PULL_CTL_DWN 0x00002000 3246 3247 // Field: [12] SLEW_RED 3248 // 3249 // 0: Normal slew rate 3250 // 1: Enables reduced slew rate in output driver. 3251 #define IOC_IOCFG8_SLEW_RED 0x00001000 3252 #define IOC_IOCFG8_SLEW_RED_BITN 12 3253 #define IOC_IOCFG8_SLEW_RED_M 0x00001000 3254 #define IOC_IOCFG8_SLEW_RED_S 12 3255 3256 // Field: [11:10] IOCURR 3257 // 3258 // Selects IO current mode of this IO. 3259 // ENUMs: 3260 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 3261 // drive strength IOs (min 4 mA for normal IOs) 3262 // when IOSTR is set to AUTO 3263 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 3264 // to AUTO 3265 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 3266 // to AUTO 3267 #define IOC_IOCFG8_IOCURR_W 2 3268 #define IOC_IOCFG8_IOCURR_M 0x00000C00 3269 #define IOC_IOCFG8_IOCURR_S 10 3270 #define IOC_IOCFG8_IOCURR_4_8MA 0x00000800 3271 #define IOC_IOCFG8_IOCURR_4MA 0x00000400 3272 #define IOC_IOCFG8_IOCURR_2MA 0x00000000 3273 3274 // Field: [9:8] IOSTR 3275 // 3276 // Select source for drive strength control of this IO. 3277 // This setting controls the drive strength of the Low-Current (LC) mode. 3278 // Higher drive strength can be selected in IOCURR 3279 // ENUMs: 3280 // MAX Maximum drive strength, controlled by 3281 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 3282 // values) 3283 // MED Medium drive strength, controlled by 3284 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 3285 // values) 3286 // MIN Minimum drive strength, controlled by 3287 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 3288 // values) 3289 // AUTO Automatic drive strength, controlled by AON BATMON 3290 // based on battery voltage. (min 2 mA @VDDS) 3291 #define IOC_IOCFG8_IOSTR_W 2 3292 #define IOC_IOCFG8_IOSTR_M 0x00000300 3293 #define IOC_IOCFG8_IOSTR_S 8 3294 #define IOC_IOCFG8_IOSTR_MAX 0x00000300 3295 #define IOC_IOCFG8_IOSTR_MED 0x00000200 3296 #define IOC_IOCFG8_IOSTR_MIN 0x00000100 3297 #define IOC_IOCFG8_IOSTR_AUTO 0x00000000 3298 3299 // Field: [7] IOEV_RTC_EN 3300 // 3301 // Event asserted by this IO when edge detection is enabled 3302 // 3303 // 0: Input edge detection does not assert RTC event 3304 // 1: Input edge detection asserts RTC event 3305 #define IOC_IOCFG8_IOEV_RTC_EN 0x00000080 3306 #define IOC_IOCFG8_IOEV_RTC_EN_BITN 7 3307 #define IOC_IOCFG8_IOEV_RTC_EN_M 0x00000080 3308 #define IOC_IOCFG8_IOEV_RTC_EN_S 7 3309 3310 // Field: [6] IOEV_MCU_WU_EN 3311 // 3312 // Event asserted by this IO when edge detection is enabled 3313 // 3314 // 0: Input edge detection does not assert MCU_WU event 3315 // 1: Input edge detection asserts MCU_WU event 3316 #define IOC_IOCFG8_IOEV_MCU_WU_EN 0x00000040 3317 #define IOC_IOCFG8_IOEV_MCU_WU_EN_BITN 6 3318 #define IOC_IOCFG8_IOEV_MCU_WU_EN_M 0x00000040 3319 #define IOC_IOCFG8_IOEV_MCU_WU_EN_S 6 3320 3321 // Field: [5:0] PORT_ID 3322 // 3323 // Selects usage for DIO8 3324 // Note: This field should not be written other than the times when PORT_ID 3325 // value is specifically required to change. 3326 // ENUMs: 3327 // RFC_SMI_CL_IN RF Core SMI Command Link In 3328 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 3329 // RFC_SMI_DL_IN RF Core SMI Data Link In 3330 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 3331 // RFC_GPI1 RF Core Data In 1 3332 // RFC_GPI0 RF Core Data In 0 3333 // RFC_GPO3 RF Core Data Out 3 3334 // RFC_GPO2 RF Core Data Out 2 3335 // RFC_GPO1 RF Core Data Out 1 3336 // RFC_GPO0 RF Core Data Out 0 3337 // RFC_TRC RF Core Trace 3338 // I2S_MCLK I2S MCLK 3339 // I2S_BCLK I2S BCLK 3340 // I2S_WCLK I2S WCLK 3341 // I2S_AD1 I2S Data 1 3342 // I2S_AD0 I2S Data 0 3343 // SSI1_CLK SSI1 CLK 3344 // SSI1_FSS SSI1 FSS 3345 // SSI1_TX SSI1 TX 3346 // SSI1_RX SSI1 RX 3347 // CPU_SWV CPU SWV 3348 // PORT_EVENT7 PORT EVENT 7 3349 // Can be used as a general 3350 // purpose IO event by selecting it through 3351 // registers in the EVENT module, for example 3352 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3353 // and so on 3354 // PORT_EVENT6 PORT EVENT 6 3355 // Can be used as a general 3356 // purpose IO event by selecting it through 3357 // registers in the EVENT module, for example 3358 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3359 // and so on 3360 // PORT_EVENT5 PORT EVENT 5 3361 // Can be used as a general 3362 // purpose IO event by selecting it through 3363 // registers in the EVENT module, for example 3364 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3365 // and so on 3366 // PORT_EVENT4 PORT EVENT 4 3367 // Can be used as a general 3368 // purpose IO event by selecting it through 3369 // registers in the EVENT module, for example 3370 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3371 // and so on 3372 // PORT_EVENT3 PORT EVENT 3 3373 // Can be used as a general 3374 // purpose IO event by selecting it through 3375 // registers in the EVENT module, for example 3376 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3377 // and so on 3378 // PORT_EVENT2 PORT EVENT 2 3379 // Can be used as a general 3380 // purpose IO event by selecting it through 3381 // registers in the EVENT module, for example 3382 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3383 // and so on 3384 // PORT_EVENT1 PORT EVENT 1 3385 // Can be used as a general 3386 // purpose IO event by selecting it through 3387 // registers in the EVENT module, for example 3388 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3389 // and so on 3390 // PORT_EVENT0 PORT EVENT 0 3391 // Can be used as a general 3392 // purpose IO event by selecting it through 3393 // registers in the EVENT module, for example 3394 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3395 // and so on 3396 // UART1_RTS UART1 RTS 3397 // UART1_CTS UART1 CTS 3398 // UART1_TX UART1 TX 3399 // UART1_RX UART1 RX 3400 // UART0_RTS UART0 RTS 3401 // UART0_CTS UART0 CTS 3402 // UART0_TX UART0 TX 3403 // UART0_RX UART0 RX 3404 // I2C_MSSCL I2C Clock 3405 // I2C_MSSDA I2C Data 3406 // SSI0_CLK SSI0 CLK 3407 // SSI0_FSS SSI0 FSS 3408 // SSI0_TX SSI0 TX 3409 // SSI0_RX SSI0 RX 3410 // AUX_IO AUX IO 3411 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 3412 // GPIO General Purpose IO 3413 #define IOC_IOCFG8_PORT_ID_W 6 3414 #define IOC_IOCFG8_PORT_ID_M 0x0000003F 3415 #define IOC_IOCFG8_PORT_ID_S 0 3416 #define IOC_IOCFG8_PORT_ID_RFC_SMI_CL_IN 0x00000038 3417 #define IOC_IOCFG8_PORT_ID_RFC_SMI_CL_OUT 0x00000037 3418 #define IOC_IOCFG8_PORT_ID_RFC_SMI_DL_IN 0x00000036 3419 #define IOC_IOCFG8_PORT_ID_RFC_SMI_DL_OUT 0x00000035 3420 #define IOC_IOCFG8_PORT_ID_RFC_GPI1 0x00000034 3421 #define IOC_IOCFG8_PORT_ID_RFC_GPI0 0x00000033 3422 #define IOC_IOCFG8_PORT_ID_RFC_GPO3 0x00000032 3423 #define IOC_IOCFG8_PORT_ID_RFC_GPO2 0x00000031 3424 #define IOC_IOCFG8_PORT_ID_RFC_GPO1 0x00000030 3425 #define IOC_IOCFG8_PORT_ID_RFC_GPO0 0x0000002F 3426 #define IOC_IOCFG8_PORT_ID_RFC_TRC 0x0000002E 3427 #define IOC_IOCFG8_PORT_ID_I2S_MCLK 0x00000029 3428 #define IOC_IOCFG8_PORT_ID_I2S_BCLK 0x00000028 3429 #define IOC_IOCFG8_PORT_ID_I2S_WCLK 0x00000027 3430 #define IOC_IOCFG8_PORT_ID_I2S_AD1 0x00000026 3431 #define IOC_IOCFG8_PORT_ID_I2S_AD0 0x00000025 3432 #define IOC_IOCFG8_PORT_ID_SSI1_CLK 0x00000024 3433 #define IOC_IOCFG8_PORT_ID_SSI1_FSS 0x00000023 3434 #define IOC_IOCFG8_PORT_ID_SSI1_TX 0x00000022 3435 #define IOC_IOCFG8_PORT_ID_SSI1_RX 0x00000021 3436 #define IOC_IOCFG8_PORT_ID_CPU_SWV 0x00000020 3437 #define IOC_IOCFG8_PORT_ID_PORT_EVENT7 0x0000001E 3438 #define IOC_IOCFG8_PORT_ID_PORT_EVENT6 0x0000001D 3439 #define IOC_IOCFG8_PORT_ID_PORT_EVENT5 0x0000001C 3440 #define IOC_IOCFG8_PORT_ID_PORT_EVENT4 0x0000001B 3441 #define IOC_IOCFG8_PORT_ID_PORT_EVENT3 0x0000001A 3442 #define IOC_IOCFG8_PORT_ID_PORT_EVENT2 0x00000019 3443 #define IOC_IOCFG8_PORT_ID_PORT_EVENT1 0x00000018 3444 #define IOC_IOCFG8_PORT_ID_PORT_EVENT0 0x00000017 3445 #define IOC_IOCFG8_PORT_ID_UART1_RTS 0x00000016 3446 #define IOC_IOCFG8_PORT_ID_UART1_CTS 0x00000015 3447 #define IOC_IOCFG8_PORT_ID_UART1_TX 0x00000014 3448 #define IOC_IOCFG8_PORT_ID_UART1_RX 0x00000013 3449 #define IOC_IOCFG8_PORT_ID_UART0_RTS 0x00000012 3450 #define IOC_IOCFG8_PORT_ID_UART0_CTS 0x00000011 3451 #define IOC_IOCFG8_PORT_ID_UART0_TX 0x00000010 3452 #define IOC_IOCFG8_PORT_ID_UART0_RX 0x0000000F 3453 #define IOC_IOCFG8_PORT_ID_I2C_MSSCL 0x0000000E 3454 #define IOC_IOCFG8_PORT_ID_I2C_MSSDA 0x0000000D 3455 #define IOC_IOCFG8_PORT_ID_SSI0_CLK 0x0000000C 3456 #define IOC_IOCFG8_PORT_ID_SSI0_FSS 0x0000000B 3457 #define IOC_IOCFG8_PORT_ID_SSI0_TX 0x0000000A 3458 #define IOC_IOCFG8_PORT_ID_SSI0_RX 0x00000009 3459 #define IOC_IOCFG8_PORT_ID_AUX_IO 0x00000008 3460 #define IOC_IOCFG8_PORT_ID_AON_CLK32K 0x00000007 3461 #define IOC_IOCFG8_PORT_ID_GPIO 0x00000000 3462 3463 //***************************************************************************** 3464 // 3465 // Register: IOC_O_IOCFG9 3466 // 3467 //***************************************************************************** 3468 // Field: [30] HYST_EN 3469 // 3470 // 0: Input hysteresis disable 3471 // 1: Input hysteresis enable 3472 #define IOC_IOCFG9_HYST_EN 0x40000000 3473 #define IOC_IOCFG9_HYST_EN_BITN 30 3474 #define IOC_IOCFG9_HYST_EN_M 0x40000000 3475 #define IOC_IOCFG9_HYST_EN_S 30 3476 3477 // Field: [29] IE 3478 // 3479 // 0: Input disabled 3480 // 1: Input enabled 3481 // 3482 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 3483 // ignored. 3484 #define IOC_IOCFG9_IE 0x20000000 3485 #define IOC_IOCFG9_IE_BITN 29 3486 #define IOC_IOCFG9_IE_M 0x20000000 3487 #define IOC_IOCFG9_IE_S 29 3488 3489 // Field: [28:27] WU_CFG 3490 // 3491 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 3492 // >0x08: 3493 // 3494 // 00: No wake-up 3495 // 01: No wake-up 3496 // 10: Wakes up from shutdown if this pad is going low. 3497 // 11: Wakes up from shutdown if this pad is going high. 3498 // 3499 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 3500 // this register only sets wakeup enable or not. 3501 // 3502 // 00, 01: Wakeup disabled 3503 // 10, 11: Wakeup enabled 3504 // 3505 // Polarity is controlled from AON registers. 3506 // 3507 // Note:When the MSB is set, the IOC will deactivate the output enable for the 3508 // DIO. 3509 #define IOC_IOCFG9_WU_CFG_W 2 3510 #define IOC_IOCFG9_WU_CFG_M 0x18000000 3511 #define IOC_IOCFG9_WU_CFG_S 27 3512 3513 // Field: [26:24] IOMODE 3514 // 3515 // IO Mode 3516 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 3517 // 0x01-0x08 3518 // AUX has its own open_source/drain configuration. 3519 // 3520 // 0x2: Reserved. Undefined behavior. 3521 // 0x3: Reserved. Undefined behavior. 3522 // ENUMs: 3523 // OPENSRC_INV Open Source 3524 // Inverted input / output 3525 // OPENSRC Open Source 3526 // Normal input / output 3527 // OPENDR_INV Open Drain 3528 // Inverted input / output 3529 // OPENDR Open Drain, 3530 // Normal input / output 3531 // INV Inverted input / ouput 3532 // NORMAL Normal input / output 3533 #define IOC_IOCFG9_IOMODE_W 3 3534 #define IOC_IOCFG9_IOMODE_M 0x07000000 3535 #define IOC_IOCFG9_IOMODE_S 24 3536 #define IOC_IOCFG9_IOMODE_OPENSRC_INV 0x07000000 3537 #define IOC_IOCFG9_IOMODE_OPENSRC 0x06000000 3538 #define IOC_IOCFG9_IOMODE_OPENDR_INV 0x05000000 3539 #define IOC_IOCFG9_IOMODE_OPENDR 0x04000000 3540 #define IOC_IOCFG9_IOMODE_INV 0x01000000 3541 #define IOC_IOCFG9_IOMODE_NORMAL 0x00000000 3542 3543 // Field: [23] IOEV_AON_PROG2_EN 3544 // 3545 // Event asserted by this IO when edge detection is enabled 3546 // 3547 // 0: Input edge detection does not assert AON_PROG2 event 3548 // 1: Input edge detection asserts AON_PROG2 event 3549 #define IOC_IOCFG9_IOEV_AON_PROG2_EN 0x00800000 3550 #define IOC_IOCFG9_IOEV_AON_PROG2_EN_BITN 23 3551 #define IOC_IOCFG9_IOEV_AON_PROG2_EN_M 0x00800000 3552 #define IOC_IOCFG9_IOEV_AON_PROG2_EN_S 23 3553 3554 // Field: [22] IOEV_AON_PROG1_EN 3555 // 3556 // Event asserted by this IO when edge detection is enabled 3557 // 3558 // 0: Input edge detection does not assert AON_PROG1 event 3559 // 1: Input edge detection asserts AON_PROG1 event 3560 #define IOC_IOCFG9_IOEV_AON_PROG1_EN 0x00400000 3561 #define IOC_IOCFG9_IOEV_AON_PROG1_EN_BITN 22 3562 #define IOC_IOCFG9_IOEV_AON_PROG1_EN_M 0x00400000 3563 #define IOC_IOCFG9_IOEV_AON_PROG1_EN_S 22 3564 3565 // Field: [21] IOEV_AON_PROG0_EN 3566 // 3567 // Event asserted by this IO when edge detection is enabled 3568 // 3569 // 0: Input edge detection does not assert AON_PROG0 event 3570 // 1: Input edge detection asserts AON_PROG0 event 3571 #define IOC_IOCFG9_IOEV_AON_PROG0_EN 0x00200000 3572 #define IOC_IOCFG9_IOEV_AON_PROG0_EN_BITN 21 3573 #define IOC_IOCFG9_IOEV_AON_PROG0_EN_M 0x00200000 3574 #define IOC_IOCFG9_IOEV_AON_PROG0_EN_S 21 3575 3576 // Field: [18] EDGE_IRQ_EN 3577 // 3578 // 0: No interrupt generation 3579 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 3580 // enabled) 3581 #define IOC_IOCFG9_EDGE_IRQ_EN 0x00040000 3582 #define IOC_IOCFG9_EDGE_IRQ_EN_BITN 18 3583 #define IOC_IOCFG9_EDGE_IRQ_EN_M 0x00040000 3584 #define IOC_IOCFG9_EDGE_IRQ_EN_S 18 3585 3586 // Field: [17:16] EDGE_DET 3587 // 3588 // Enable generation of edge detection events on this IO 3589 // ENUMs: 3590 // BOTH Positive and negative edge detection 3591 // POS Positive edge detection 3592 // NEG Negative edge detection 3593 // NONE No edge detection 3594 #define IOC_IOCFG9_EDGE_DET_W 2 3595 #define IOC_IOCFG9_EDGE_DET_M 0x00030000 3596 #define IOC_IOCFG9_EDGE_DET_S 16 3597 #define IOC_IOCFG9_EDGE_DET_BOTH 0x00030000 3598 #define IOC_IOCFG9_EDGE_DET_POS 0x00020000 3599 #define IOC_IOCFG9_EDGE_DET_NEG 0x00010000 3600 #define IOC_IOCFG9_EDGE_DET_NONE 0x00000000 3601 3602 // Field: [14:13] PULL_CTL 3603 // 3604 // Pull control 3605 // ENUMs: 3606 // DIS No pull 3607 // UP Pull up 3608 // DWN Pull down 3609 #define IOC_IOCFG9_PULL_CTL_W 2 3610 #define IOC_IOCFG9_PULL_CTL_M 0x00006000 3611 #define IOC_IOCFG9_PULL_CTL_S 13 3612 #define IOC_IOCFG9_PULL_CTL_DIS 0x00006000 3613 #define IOC_IOCFG9_PULL_CTL_UP 0x00004000 3614 #define IOC_IOCFG9_PULL_CTL_DWN 0x00002000 3615 3616 // Field: [12] SLEW_RED 3617 // 3618 // 0: Normal slew rate 3619 // 1: Enables reduced slew rate in output driver. 3620 #define IOC_IOCFG9_SLEW_RED 0x00001000 3621 #define IOC_IOCFG9_SLEW_RED_BITN 12 3622 #define IOC_IOCFG9_SLEW_RED_M 0x00001000 3623 #define IOC_IOCFG9_SLEW_RED_S 12 3624 3625 // Field: [11:10] IOCURR 3626 // 3627 // Selects IO current mode of this IO. 3628 // ENUMs: 3629 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 3630 // drive strength IOs (min 4 mA for normal IOs) 3631 // when IOSTR is set to AUTO 3632 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 3633 // to AUTO 3634 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 3635 // to AUTO 3636 #define IOC_IOCFG9_IOCURR_W 2 3637 #define IOC_IOCFG9_IOCURR_M 0x00000C00 3638 #define IOC_IOCFG9_IOCURR_S 10 3639 #define IOC_IOCFG9_IOCURR_4_8MA 0x00000800 3640 #define IOC_IOCFG9_IOCURR_4MA 0x00000400 3641 #define IOC_IOCFG9_IOCURR_2MA 0x00000000 3642 3643 // Field: [9:8] IOSTR 3644 // 3645 // Select source for drive strength control of this IO. 3646 // This setting controls the drive strength of the Low-Current (LC) mode. 3647 // Higher drive strength can be selected in IOCURR 3648 // ENUMs: 3649 // MAX Maximum drive strength, controlled by 3650 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 3651 // values) 3652 // MED Medium drive strength, controlled by 3653 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 3654 // values) 3655 // MIN Minimum drive strength, controlled by 3656 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 3657 // values) 3658 // AUTO Automatic drive strength, controlled by AON BATMON 3659 // based on battery voltage. (min 2 mA @VDDS) 3660 #define IOC_IOCFG9_IOSTR_W 2 3661 #define IOC_IOCFG9_IOSTR_M 0x00000300 3662 #define IOC_IOCFG9_IOSTR_S 8 3663 #define IOC_IOCFG9_IOSTR_MAX 0x00000300 3664 #define IOC_IOCFG9_IOSTR_MED 0x00000200 3665 #define IOC_IOCFG9_IOSTR_MIN 0x00000100 3666 #define IOC_IOCFG9_IOSTR_AUTO 0x00000000 3667 3668 // Field: [7] IOEV_RTC_EN 3669 // 3670 // Event asserted by this IO when edge detection is enabled 3671 // 3672 // 0: Input edge detection does not assert RTC event 3673 // 1: Input edge detection asserts RTC event 3674 #define IOC_IOCFG9_IOEV_RTC_EN 0x00000080 3675 #define IOC_IOCFG9_IOEV_RTC_EN_BITN 7 3676 #define IOC_IOCFG9_IOEV_RTC_EN_M 0x00000080 3677 #define IOC_IOCFG9_IOEV_RTC_EN_S 7 3678 3679 // Field: [6] IOEV_MCU_WU_EN 3680 // 3681 // Event asserted by this IO when edge detection is enabled 3682 // 3683 // 0: Input edge detection does not assert MCU_WU event 3684 // 1: Input edge detection asserts MCU_WU event 3685 #define IOC_IOCFG9_IOEV_MCU_WU_EN 0x00000040 3686 #define IOC_IOCFG9_IOEV_MCU_WU_EN_BITN 6 3687 #define IOC_IOCFG9_IOEV_MCU_WU_EN_M 0x00000040 3688 #define IOC_IOCFG9_IOEV_MCU_WU_EN_S 6 3689 3690 // Field: [5:0] PORT_ID 3691 // 3692 // Selects usage for DIO9 3693 // Note: This field should not be written other than the times when PORT_ID 3694 // value is specifically required to change. 3695 // ENUMs: 3696 // RFC_SMI_CL_IN RF Core SMI Command Link In 3697 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 3698 // RFC_SMI_DL_IN RF Core SMI Data Link In 3699 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 3700 // RFC_GPI1 RF Core Data In 1 3701 // RFC_GPI0 RF Core Data In 0 3702 // RFC_GPO3 RF Core Data Out 3 3703 // RFC_GPO2 RF Core Data Out 2 3704 // RFC_GPO1 RF Core Data Out 1 3705 // RFC_GPO0 RF Core Data Out 0 3706 // RFC_TRC RF Core Trace 3707 // I2S_MCLK I2S MCLK 3708 // I2S_BCLK I2S BCLK 3709 // I2S_WCLK I2S WCLK 3710 // I2S_AD1 I2S Data 1 3711 // I2S_AD0 I2S Data 0 3712 // SSI1_CLK SSI1 CLK 3713 // SSI1_FSS SSI1 FSS 3714 // SSI1_TX SSI1 TX 3715 // SSI1_RX SSI1 RX 3716 // CPU_SWV CPU SWV 3717 // PORT_EVENT7 PORT EVENT 7 3718 // Can be used as a general 3719 // purpose IO event by selecting it through 3720 // registers in the EVENT module, for example 3721 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3722 // and so on 3723 // PORT_EVENT6 PORT EVENT 6 3724 // Can be used as a general 3725 // purpose IO event by selecting it through 3726 // registers in the EVENT module, for example 3727 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3728 // and so on 3729 // PORT_EVENT5 PORT EVENT 5 3730 // Can be used as a general 3731 // purpose IO event by selecting it through 3732 // registers in the EVENT module, for example 3733 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3734 // and so on 3735 // PORT_EVENT4 PORT EVENT 4 3736 // Can be used as a general 3737 // purpose IO event by selecting it through 3738 // registers in the EVENT module, for example 3739 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3740 // and so on 3741 // PORT_EVENT3 PORT EVENT 3 3742 // Can be used as a general 3743 // purpose IO event by selecting it through 3744 // registers in the EVENT module, for example 3745 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3746 // and so on 3747 // PORT_EVENT2 PORT EVENT 2 3748 // Can be used as a general 3749 // purpose IO event by selecting it through 3750 // registers in the EVENT module, for example 3751 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3752 // and so on 3753 // PORT_EVENT1 PORT EVENT 1 3754 // Can be used as a general 3755 // purpose IO event by selecting it through 3756 // registers in the EVENT module, for example 3757 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3758 // and so on 3759 // PORT_EVENT0 PORT EVENT 0 3760 // Can be used as a general 3761 // purpose IO event by selecting it through 3762 // registers in the EVENT module, for example 3763 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 3764 // and so on 3765 // UART1_RTS UART1 RTS 3766 // UART1_CTS UART1 CTS 3767 // UART1_TX UART1 TX 3768 // UART1_RX UART1 RX 3769 // UART0_RTS UART0 RTS 3770 // UART0_CTS UART0 CTS 3771 // UART0_TX UART0 TX 3772 // UART0_RX UART0 RX 3773 // I2C_MSSCL I2C Clock 3774 // I2C_MSSDA I2C Data 3775 // SSI0_CLK SSI0 CLK 3776 // SSI0_FSS SSI0 FSS 3777 // SSI0_TX SSI0 TX 3778 // SSI0_RX SSI0 RX 3779 // AUX_IO AUX IO 3780 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 3781 // GPIO General Purpose IO 3782 #define IOC_IOCFG9_PORT_ID_W 6 3783 #define IOC_IOCFG9_PORT_ID_M 0x0000003F 3784 #define IOC_IOCFG9_PORT_ID_S 0 3785 #define IOC_IOCFG9_PORT_ID_RFC_SMI_CL_IN 0x00000038 3786 #define IOC_IOCFG9_PORT_ID_RFC_SMI_CL_OUT 0x00000037 3787 #define IOC_IOCFG9_PORT_ID_RFC_SMI_DL_IN 0x00000036 3788 #define IOC_IOCFG9_PORT_ID_RFC_SMI_DL_OUT 0x00000035 3789 #define IOC_IOCFG9_PORT_ID_RFC_GPI1 0x00000034 3790 #define IOC_IOCFG9_PORT_ID_RFC_GPI0 0x00000033 3791 #define IOC_IOCFG9_PORT_ID_RFC_GPO3 0x00000032 3792 #define IOC_IOCFG9_PORT_ID_RFC_GPO2 0x00000031 3793 #define IOC_IOCFG9_PORT_ID_RFC_GPO1 0x00000030 3794 #define IOC_IOCFG9_PORT_ID_RFC_GPO0 0x0000002F 3795 #define IOC_IOCFG9_PORT_ID_RFC_TRC 0x0000002E 3796 #define IOC_IOCFG9_PORT_ID_I2S_MCLK 0x00000029 3797 #define IOC_IOCFG9_PORT_ID_I2S_BCLK 0x00000028 3798 #define IOC_IOCFG9_PORT_ID_I2S_WCLK 0x00000027 3799 #define IOC_IOCFG9_PORT_ID_I2S_AD1 0x00000026 3800 #define IOC_IOCFG9_PORT_ID_I2S_AD0 0x00000025 3801 #define IOC_IOCFG9_PORT_ID_SSI1_CLK 0x00000024 3802 #define IOC_IOCFG9_PORT_ID_SSI1_FSS 0x00000023 3803 #define IOC_IOCFG9_PORT_ID_SSI1_TX 0x00000022 3804 #define IOC_IOCFG9_PORT_ID_SSI1_RX 0x00000021 3805 #define IOC_IOCFG9_PORT_ID_CPU_SWV 0x00000020 3806 #define IOC_IOCFG9_PORT_ID_PORT_EVENT7 0x0000001E 3807 #define IOC_IOCFG9_PORT_ID_PORT_EVENT6 0x0000001D 3808 #define IOC_IOCFG9_PORT_ID_PORT_EVENT5 0x0000001C 3809 #define IOC_IOCFG9_PORT_ID_PORT_EVENT4 0x0000001B 3810 #define IOC_IOCFG9_PORT_ID_PORT_EVENT3 0x0000001A 3811 #define IOC_IOCFG9_PORT_ID_PORT_EVENT2 0x00000019 3812 #define IOC_IOCFG9_PORT_ID_PORT_EVENT1 0x00000018 3813 #define IOC_IOCFG9_PORT_ID_PORT_EVENT0 0x00000017 3814 #define IOC_IOCFG9_PORT_ID_UART1_RTS 0x00000016 3815 #define IOC_IOCFG9_PORT_ID_UART1_CTS 0x00000015 3816 #define IOC_IOCFG9_PORT_ID_UART1_TX 0x00000014 3817 #define IOC_IOCFG9_PORT_ID_UART1_RX 0x00000013 3818 #define IOC_IOCFG9_PORT_ID_UART0_RTS 0x00000012 3819 #define IOC_IOCFG9_PORT_ID_UART0_CTS 0x00000011 3820 #define IOC_IOCFG9_PORT_ID_UART0_TX 0x00000010 3821 #define IOC_IOCFG9_PORT_ID_UART0_RX 0x0000000F 3822 #define IOC_IOCFG9_PORT_ID_I2C_MSSCL 0x0000000E 3823 #define IOC_IOCFG9_PORT_ID_I2C_MSSDA 0x0000000D 3824 #define IOC_IOCFG9_PORT_ID_SSI0_CLK 0x0000000C 3825 #define IOC_IOCFG9_PORT_ID_SSI0_FSS 0x0000000B 3826 #define IOC_IOCFG9_PORT_ID_SSI0_TX 0x0000000A 3827 #define IOC_IOCFG9_PORT_ID_SSI0_RX 0x00000009 3828 #define IOC_IOCFG9_PORT_ID_AUX_IO 0x00000008 3829 #define IOC_IOCFG9_PORT_ID_AON_CLK32K 0x00000007 3830 #define IOC_IOCFG9_PORT_ID_GPIO 0x00000000 3831 3832 //***************************************************************************** 3833 // 3834 // Register: IOC_O_IOCFG10 3835 // 3836 //***************************************************************************** 3837 // Field: [30] HYST_EN 3838 // 3839 // 0: Input hysteresis disable 3840 // 1: Input hysteresis enable 3841 #define IOC_IOCFG10_HYST_EN 0x40000000 3842 #define IOC_IOCFG10_HYST_EN_BITN 30 3843 #define IOC_IOCFG10_HYST_EN_M 0x40000000 3844 #define IOC_IOCFG10_HYST_EN_S 30 3845 3846 // Field: [29] IE 3847 // 3848 // 0: Input disabled 3849 // 1: Input enabled 3850 // 3851 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 3852 // ignored. 3853 #define IOC_IOCFG10_IE 0x20000000 3854 #define IOC_IOCFG10_IE_BITN 29 3855 #define IOC_IOCFG10_IE_M 0x20000000 3856 #define IOC_IOCFG10_IE_S 29 3857 3858 // Field: [28:27] WU_CFG 3859 // 3860 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 3861 // >0x08: 3862 // 3863 // 00: No wake-up 3864 // 01: No wake-up 3865 // 10: Wakes up from shutdown if this pad is going low. 3866 // 11: Wakes up from shutdown if this pad is going high. 3867 // 3868 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 3869 // this register only sets wakeup enable or not. 3870 // 3871 // 00, 01: Wakeup disabled 3872 // 10, 11: Wakeup enabled 3873 // 3874 // Polarity is controlled from AON registers. 3875 // 3876 // Note:When the MSB is set, the IOC will deactivate the output enable for the 3877 // DIO. 3878 #define IOC_IOCFG10_WU_CFG_W 2 3879 #define IOC_IOCFG10_WU_CFG_M 0x18000000 3880 #define IOC_IOCFG10_WU_CFG_S 27 3881 3882 // Field: [26:24] IOMODE 3883 // 3884 // IO Mode 3885 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 3886 // 0x01-0x08 3887 // AUX has its own open_source/drain configuration. 3888 // 3889 // 0x2: Reserved. Undefined behavior. 3890 // 0x3: Reserved. Undefined behavior. 3891 // ENUMs: 3892 // OPENSRC_INV Open Source 3893 // Inverted input / output 3894 // OPENSRC Open Source 3895 // Normal input / output 3896 // OPENDR_INV Open Drain 3897 // Inverted input / output 3898 // OPENDR Open Drain, 3899 // Normal input / output 3900 // INV Inverted input / ouput 3901 // NORMAL Normal input / output 3902 #define IOC_IOCFG10_IOMODE_W 3 3903 #define IOC_IOCFG10_IOMODE_M 0x07000000 3904 #define IOC_IOCFG10_IOMODE_S 24 3905 #define IOC_IOCFG10_IOMODE_OPENSRC_INV 0x07000000 3906 #define IOC_IOCFG10_IOMODE_OPENSRC 0x06000000 3907 #define IOC_IOCFG10_IOMODE_OPENDR_INV 0x05000000 3908 #define IOC_IOCFG10_IOMODE_OPENDR 0x04000000 3909 #define IOC_IOCFG10_IOMODE_INV 0x01000000 3910 #define IOC_IOCFG10_IOMODE_NORMAL 0x00000000 3911 3912 // Field: [23] IOEV_AON_PROG2_EN 3913 // 3914 // Event asserted by this IO when edge detection is enabled 3915 // 3916 // 0: Input edge detection does not assert AON_PROG2 event 3917 // 1: Input edge detection asserts AON_PROG2 event 3918 #define IOC_IOCFG10_IOEV_AON_PROG2_EN 0x00800000 3919 #define IOC_IOCFG10_IOEV_AON_PROG2_EN_BITN 23 3920 #define IOC_IOCFG10_IOEV_AON_PROG2_EN_M 0x00800000 3921 #define IOC_IOCFG10_IOEV_AON_PROG2_EN_S 23 3922 3923 // Field: [22] IOEV_AON_PROG1_EN 3924 // 3925 // Event asserted by this IO when edge detection is enabled 3926 // 3927 // 0: Input edge detection does not assert AON_PROG1 event 3928 // 1: Input edge detection asserts AON_PROG1 event 3929 #define IOC_IOCFG10_IOEV_AON_PROG1_EN 0x00400000 3930 #define IOC_IOCFG10_IOEV_AON_PROG1_EN_BITN 22 3931 #define IOC_IOCFG10_IOEV_AON_PROG1_EN_M 0x00400000 3932 #define IOC_IOCFG10_IOEV_AON_PROG1_EN_S 22 3933 3934 // Field: [21] IOEV_AON_PROG0_EN 3935 // 3936 // Event asserted by this IO when edge detection is enabled 3937 // 3938 // 0: Input edge detection does not assert AON_PROG0 event 3939 // 1: Input edge detection asserts AON_PROG0 event 3940 #define IOC_IOCFG10_IOEV_AON_PROG0_EN 0x00200000 3941 #define IOC_IOCFG10_IOEV_AON_PROG0_EN_BITN 21 3942 #define IOC_IOCFG10_IOEV_AON_PROG0_EN_M 0x00200000 3943 #define IOC_IOCFG10_IOEV_AON_PROG0_EN_S 21 3944 3945 // Field: [18] EDGE_IRQ_EN 3946 // 3947 // 0: No interrupt generation 3948 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 3949 // enabled) 3950 #define IOC_IOCFG10_EDGE_IRQ_EN 0x00040000 3951 #define IOC_IOCFG10_EDGE_IRQ_EN_BITN 18 3952 #define IOC_IOCFG10_EDGE_IRQ_EN_M 0x00040000 3953 #define IOC_IOCFG10_EDGE_IRQ_EN_S 18 3954 3955 // Field: [17:16] EDGE_DET 3956 // 3957 // Enable generation of edge detection events on this IO 3958 // ENUMs: 3959 // BOTH Positive and negative edge detection 3960 // POS Positive edge detection 3961 // NEG Negative edge detection 3962 // NONE No edge detection 3963 #define IOC_IOCFG10_EDGE_DET_W 2 3964 #define IOC_IOCFG10_EDGE_DET_M 0x00030000 3965 #define IOC_IOCFG10_EDGE_DET_S 16 3966 #define IOC_IOCFG10_EDGE_DET_BOTH 0x00030000 3967 #define IOC_IOCFG10_EDGE_DET_POS 0x00020000 3968 #define IOC_IOCFG10_EDGE_DET_NEG 0x00010000 3969 #define IOC_IOCFG10_EDGE_DET_NONE 0x00000000 3970 3971 // Field: [14:13] PULL_CTL 3972 // 3973 // Pull control 3974 // ENUMs: 3975 // DIS No pull 3976 // UP Pull up 3977 // DWN Pull down 3978 #define IOC_IOCFG10_PULL_CTL_W 2 3979 #define IOC_IOCFG10_PULL_CTL_M 0x00006000 3980 #define IOC_IOCFG10_PULL_CTL_S 13 3981 #define IOC_IOCFG10_PULL_CTL_DIS 0x00006000 3982 #define IOC_IOCFG10_PULL_CTL_UP 0x00004000 3983 #define IOC_IOCFG10_PULL_CTL_DWN 0x00002000 3984 3985 // Field: [12] SLEW_RED 3986 // 3987 // 0: Normal slew rate 3988 // 1: Enables reduced slew rate in output driver. 3989 #define IOC_IOCFG10_SLEW_RED 0x00001000 3990 #define IOC_IOCFG10_SLEW_RED_BITN 12 3991 #define IOC_IOCFG10_SLEW_RED_M 0x00001000 3992 #define IOC_IOCFG10_SLEW_RED_S 12 3993 3994 // Field: [11:10] IOCURR 3995 // 3996 // Selects IO current mode of this IO. 3997 // ENUMs: 3998 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 3999 // drive strength IOs (min 4 mA for normal IOs) 4000 // when IOSTR is set to AUTO 4001 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 4002 // to AUTO 4003 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 4004 // to AUTO 4005 #define IOC_IOCFG10_IOCURR_W 2 4006 #define IOC_IOCFG10_IOCURR_M 0x00000C00 4007 #define IOC_IOCFG10_IOCURR_S 10 4008 #define IOC_IOCFG10_IOCURR_4_8MA 0x00000800 4009 #define IOC_IOCFG10_IOCURR_4MA 0x00000400 4010 #define IOC_IOCFG10_IOCURR_2MA 0x00000000 4011 4012 // Field: [9:8] IOSTR 4013 // 4014 // Select source for drive strength control of this IO. 4015 // This setting controls the drive strength of the Low-Current (LC) mode. 4016 // Higher drive strength can be selected in IOCURR 4017 // ENUMs: 4018 // MAX Maximum drive strength, controlled by 4019 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 4020 // values) 4021 // MED Medium drive strength, controlled by 4022 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 4023 // values) 4024 // MIN Minimum drive strength, controlled by 4025 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 4026 // values) 4027 // AUTO Automatic drive strength, controlled by AON BATMON 4028 // based on battery voltage. (min 2 mA @VDDS) 4029 #define IOC_IOCFG10_IOSTR_W 2 4030 #define IOC_IOCFG10_IOSTR_M 0x00000300 4031 #define IOC_IOCFG10_IOSTR_S 8 4032 #define IOC_IOCFG10_IOSTR_MAX 0x00000300 4033 #define IOC_IOCFG10_IOSTR_MED 0x00000200 4034 #define IOC_IOCFG10_IOSTR_MIN 0x00000100 4035 #define IOC_IOCFG10_IOSTR_AUTO 0x00000000 4036 4037 // Field: [7] IOEV_RTC_EN 4038 // 4039 // Event asserted by this IO when edge detection is enabled 4040 // 4041 // 0: Input edge detection does not assert RTC event 4042 // 1: Input edge detection asserts RTC event 4043 #define IOC_IOCFG10_IOEV_RTC_EN 0x00000080 4044 #define IOC_IOCFG10_IOEV_RTC_EN_BITN 7 4045 #define IOC_IOCFG10_IOEV_RTC_EN_M 0x00000080 4046 #define IOC_IOCFG10_IOEV_RTC_EN_S 7 4047 4048 // Field: [6] IOEV_MCU_WU_EN 4049 // 4050 // Event asserted by this IO when edge detection is enabled 4051 // 4052 // 0: Input edge detection does not assert MCU_WU event 4053 // 1: Input edge detection asserts MCU_WU event 4054 #define IOC_IOCFG10_IOEV_MCU_WU_EN 0x00000040 4055 #define IOC_IOCFG10_IOEV_MCU_WU_EN_BITN 6 4056 #define IOC_IOCFG10_IOEV_MCU_WU_EN_M 0x00000040 4057 #define IOC_IOCFG10_IOEV_MCU_WU_EN_S 6 4058 4059 // Field: [5:0] PORT_ID 4060 // 4061 // Selects usage for DIO10 4062 // Note: This field should not be written other than the times when PORT_ID 4063 // value is specifically required to change. 4064 // ENUMs: 4065 // RFC_SMI_CL_IN RF Core SMI Command Link In 4066 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 4067 // RFC_SMI_DL_IN RF Core SMI Data Link In 4068 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 4069 // RFC_GPI1 RF Core Data In 1 4070 // RFC_GPI0 RF Core Data In 0 4071 // RFC_GPO3 RF Core Data Out 3 4072 // RFC_GPO2 RF Core Data Out 2 4073 // RFC_GPO1 RF Core Data Out 1 4074 // RFC_GPO0 RF Core Data Out 0 4075 // RFC_TRC RF Core Trace 4076 // I2S_MCLK I2S MCLK 4077 // I2S_BCLK I2S BCLK 4078 // I2S_WCLK I2S WCLK 4079 // I2S_AD1 I2S Data 1 4080 // I2S_AD0 I2S Data 0 4081 // SSI1_CLK SSI1 CLK 4082 // SSI1_FSS SSI1 FSS 4083 // SSI1_TX SSI1 TX 4084 // SSI1_RX SSI1 RX 4085 // CPU_SWV CPU SWV 4086 // PORT_EVENT7 PORT EVENT 7 4087 // Can be used as a general 4088 // purpose IO event by selecting it through 4089 // registers in the EVENT module, for example 4090 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4091 // and so on 4092 // PORT_EVENT6 PORT EVENT 6 4093 // Can be used as a general 4094 // purpose IO event by selecting it through 4095 // registers in the EVENT module, for example 4096 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4097 // and so on 4098 // PORT_EVENT5 PORT EVENT 5 4099 // Can be used as a general 4100 // purpose IO event by selecting it through 4101 // registers in the EVENT module, for example 4102 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4103 // and so on 4104 // PORT_EVENT4 PORT EVENT 4 4105 // Can be used as a general 4106 // purpose IO event by selecting it through 4107 // registers in the EVENT module, for example 4108 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4109 // and so on 4110 // PORT_EVENT3 PORT EVENT 3 4111 // Can be used as a general 4112 // purpose IO event by selecting it through 4113 // registers in the EVENT module, for example 4114 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4115 // and so on 4116 // PORT_EVENT2 PORT EVENT 2 4117 // Can be used as a general 4118 // purpose IO event by selecting it through 4119 // registers in the EVENT module, for example 4120 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4121 // and so on 4122 // PORT_EVENT1 PORT EVENT 1 4123 // Can be used as a general 4124 // purpose IO event by selecting it through 4125 // registers in the EVENT module, for example 4126 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4127 // and so on 4128 // PORT_EVENT0 PORT EVENT 0 4129 // Can be used as a general 4130 // purpose IO event by selecting it through 4131 // registers in the EVENT module, for example 4132 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4133 // and so on 4134 // UART1_RTS UART1 RTS 4135 // UART1_CTS UART1 CTS 4136 // UART1_TX UART1 TX 4137 // UART1_RX UART1 RX 4138 // UART0_RTS UART0 RTS 4139 // UART0_CTS UART0 CTS 4140 // UART0_TX UART0 TX 4141 // UART0_RX UART0 RX 4142 // I2C_MSSCL I2C Clock 4143 // I2C_MSSDA I2C Data 4144 // SSI0_CLK SSI0 CLK 4145 // SSI0_FSS SSI0 FSS 4146 // SSI0_TX SSI0 TX 4147 // SSI0_RX SSI0 RX 4148 // AUX_IO AUX IO 4149 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 4150 // GPIO General Purpose IO 4151 #define IOC_IOCFG10_PORT_ID_W 6 4152 #define IOC_IOCFG10_PORT_ID_M 0x0000003F 4153 #define IOC_IOCFG10_PORT_ID_S 0 4154 #define IOC_IOCFG10_PORT_ID_RFC_SMI_CL_IN 0x00000038 4155 #define IOC_IOCFG10_PORT_ID_RFC_SMI_CL_OUT 0x00000037 4156 #define IOC_IOCFG10_PORT_ID_RFC_SMI_DL_IN 0x00000036 4157 #define IOC_IOCFG10_PORT_ID_RFC_SMI_DL_OUT 0x00000035 4158 #define IOC_IOCFG10_PORT_ID_RFC_GPI1 0x00000034 4159 #define IOC_IOCFG10_PORT_ID_RFC_GPI0 0x00000033 4160 #define IOC_IOCFG10_PORT_ID_RFC_GPO3 0x00000032 4161 #define IOC_IOCFG10_PORT_ID_RFC_GPO2 0x00000031 4162 #define IOC_IOCFG10_PORT_ID_RFC_GPO1 0x00000030 4163 #define IOC_IOCFG10_PORT_ID_RFC_GPO0 0x0000002F 4164 #define IOC_IOCFG10_PORT_ID_RFC_TRC 0x0000002E 4165 #define IOC_IOCFG10_PORT_ID_I2S_MCLK 0x00000029 4166 #define IOC_IOCFG10_PORT_ID_I2S_BCLK 0x00000028 4167 #define IOC_IOCFG10_PORT_ID_I2S_WCLK 0x00000027 4168 #define IOC_IOCFG10_PORT_ID_I2S_AD1 0x00000026 4169 #define IOC_IOCFG10_PORT_ID_I2S_AD0 0x00000025 4170 #define IOC_IOCFG10_PORT_ID_SSI1_CLK 0x00000024 4171 #define IOC_IOCFG10_PORT_ID_SSI1_FSS 0x00000023 4172 #define IOC_IOCFG10_PORT_ID_SSI1_TX 0x00000022 4173 #define IOC_IOCFG10_PORT_ID_SSI1_RX 0x00000021 4174 #define IOC_IOCFG10_PORT_ID_CPU_SWV 0x00000020 4175 #define IOC_IOCFG10_PORT_ID_PORT_EVENT7 0x0000001E 4176 #define IOC_IOCFG10_PORT_ID_PORT_EVENT6 0x0000001D 4177 #define IOC_IOCFG10_PORT_ID_PORT_EVENT5 0x0000001C 4178 #define IOC_IOCFG10_PORT_ID_PORT_EVENT4 0x0000001B 4179 #define IOC_IOCFG10_PORT_ID_PORT_EVENT3 0x0000001A 4180 #define IOC_IOCFG10_PORT_ID_PORT_EVENT2 0x00000019 4181 #define IOC_IOCFG10_PORT_ID_PORT_EVENT1 0x00000018 4182 #define IOC_IOCFG10_PORT_ID_PORT_EVENT0 0x00000017 4183 #define IOC_IOCFG10_PORT_ID_UART1_RTS 0x00000016 4184 #define IOC_IOCFG10_PORT_ID_UART1_CTS 0x00000015 4185 #define IOC_IOCFG10_PORT_ID_UART1_TX 0x00000014 4186 #define IOC_IOCFG10_PORT_ID_UART1_RX 0x00000013 4187 #define IOC_IOCFG10_PORT_ID_UART0_RTS 0x00000012 4188 #define IOC_IOCFG10_PORT_ID_UART0_CTS 0x00000011 4189 #define IOC_IOCFG10_PORT_ID_UART0_TX 0x00000010 4190 #define IOC_IOCFG10_PORT_ID_UART0_RX 0x0000000F 4191 #define IOC_IOCFG10_PORT_ID_I2C_MSSCL 0x0000000E 4192 #define IOC_IOCFG10_PORT_ID_I2C_MSSDA 0x0000000D 4193 #define IOC_IOCFG10_PORT_ID_SSI0_CLK 0x0000000C 4194 #define IOC_IOCFG10_PORT_ID_SSI0_FSS 0x0000000B 4195 #define IOC_IOCFG10_PORT_ID_SSI0_TX 0x0000000A 4196 #define IOC_IOCFG10_PORT_ID_SSI0_RX 0x00000009 4197 #define IOC_IOCFG10_PORT_ID_AUX_IO 0x00000008 4198 #define IOC_IOCFG10_PORT_ID_AON_CLK32K 0x00000007 4199 #define IOC_IOCFG10_PORT_ID_GPIO 0x00000000 4200 4201 //***************************************************************************** 4202 // 4203 // Register: IOC_O_IOCFG11 4204 // 4205 //***************************************************************************** 4206 // Field: [30] HYST_EN 4207 // 4208 // 0: Input hysteresis disable 4209 // 1: Input hysteresis enable 4210 #define IOC_IOCFG11_HYST_EN 0x40000000 4211 #define IOC_IOCFG11_HYST_EN_BITN 30 4212 #define IOC_IOCFG11_HYST_EN_M 0x40000000 4213 #define IOC_IOCFG11_HYST_EN_S 30 4214 4215 // Field: [29] IE 4216 // 4217 // 0: Input disabled 4218 // 1: Input enabled 4219 // 4220 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 4221 // ignored. 4222 #define IOC_IOCFG11_IE 0x20000000 4223 #define IOC_IOCFG11_IE_BITN 29 4224 #define IOC_IOCFG11_IE_M 0x20000000 4225 #define IOC_IOCFG11_IE_S 29 4226 4227 // Field: [28:27] WU_CFG 4228 // 4229 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 4230 // >0x08: 4231 // 4232 // 00: No wake-up 4233 // 01: No wake-up 4234 // 10: Wakes up from shutdown if this pad is going low. 4235 // 11: Wakes up from shutdown if this pad is going high. 4236 // 4237 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 4238 // this register only sets wakeup enable or not. 4239 // 4240 // 00, 01: Wakeup disabled 4241 // 10, 11: Wakeup enabled 4242 // 4243 // Polarity is controlled from AON registers. 4244 // 4245 // Note:When the MSB is set, the IOC will deactivate the output enable for the 4246 // DIO. 4247 #define IOC_IOCFG11_WU_CFG_W 2 4248 #define IOC_IOCFG11_WU_CFG_M 0x18000000 4249 #define IOC_IOCFG11_WU_CFG_S 27 4250 4251 // Field: [26:24] IOMODE 4252 // 4253 // IO Mode 4254 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 4255 // 0x01-0x08 4256 // AUX has its own open_source/drain configuration. 4257 // 4258 // 0x2: Reserved. Undefined behavior. 4259 // 0x3: Reserved. Undefined behavior. 4260 // ENUMs: 4261 // OPENSRC_INV Open Source 4262 // Inverted input / output 4263 // OPENSRC Open Source 4264 // Normal input / output 4265 // OPENDR_INV Open Drain 4266 // Inverted input / output 4267 // OPENDR Open Drain, 4268 // Normal input / output 4269 // INV Inverted input / ouput 4270 // NORMAL Normal input / output 4271 #define IOC_IOCFG11_IOMODE_W 3 4272 #define IOC_IOCFG11_IOMODE_M 0x07000000 4273 #define IOC_IOCFG11_IOMODE_S 24 4274 #define IOC_IOCFG11_IOMODE_OPENSRC_INV 0x07000000 4275 #define IOC_IOCFG11_IOMODE_OPENSRC 0x06000000 4276 #define IOC_IOCFG11_IOMODE_OPENDR_INV 0x05000000 4277 #define IOC_IOCFG11_IOMODE_OPENDR 0x04000000 4278 #define IOC_IOCFG11_IOMODE_INV 0x01000000 4279 #define IOC_IOCFG11_IOMODE_NORMAL 0x00000000 4280 4281 // Field: [23] IOEV_AON_PROG2_EN 4282 // 4283 // Event asserted by this IO when edge detection is enabled 4284 // 4285 // 0: Input edge detection does not assert AON_PROG2 event 4286 // 1: Input edge detection asserts AON_PROG2 event 4287 #define IOC_IOCFG11_IOEV_AON_PROG2_EN 0x00800000 4288 #define IOC_IOCFG11_IOEV_AON_PROG2_EN_BITN 23 4289 #define IOC_IOCFG11_IOEV_AON_PROG2_EN_M 0x00800000 4290 #define IOC_IOCFG11_IOEV_AON_PROG2_EN_S 23 4291 4292 // Field: [22] IOEV_AON_PROG1_EN 4293 // 4294 // Event asserted by this IO when edge detection is enabled 4295 // 4296 // 0: Input edge detection does not assert AON_PROG1 event 4297 // 1: Input edge detection asserts AON_PROG1 event 4298 #define IOC_IOCFG11_IOEV_AON_PROG1_EN 0x00400000 4299 #define IOC_IOCFG11_IOEV_AON_PROG1_EN_BITN 22 4300 #define IOC_IOCFG11_IOEV_AON_PROG1_EN_M 0x00400000 4301 #define IOC_IOCFG11_IOEV_AON_PROG1_EN_S 22 4302 4303 // Field: [21] IOEV_AON_PROG0_EN 4304 // 4305 // Event asserted by this IO when edge detection is enabled 4306 // 4307 // 0: Input edge detection does not assert AON_PROG0 event 4308 // 1: Input edge detection asserts AON_PROG0 event 4309 #define IOC_IOCFG11_IOEV_AON_PROG0_EN 0x00200000 4310 #define IOC_IOCFG11_IOEV_AON_PROG0_EN_BITN 21 4311 #define IOC_IOCFG11_IOEV_AON_PROG0_EN_M 0x00200000 4312 #define IOC_IOCFG11_IOEV_AON_PROG0_EN_S 21 4313 4314 // Field: [18] EDGE_IRQ_EN 4315 // 4316 // 0: No interrupt generation 4317 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 4318 // enabled) 4319 #define IOC_IOCFG11_EDGE_IRQ_EN 0x00040000 4320 #define IOC_IOCFG11_EDGE_IRQ_EN_BITN 18 4321 #define IOC_IOCFG11_EDGE_IRQ_EN_M 0x00040000 4322 #define IOC_IOCFG11_EDGE_IRQ_EN_S 18 4323 4324 // Field: [17:16] EDGE_DET 4325 // 4326 // Enable generation of edge detection events on this IO 4327 // ENUMs: 4328 // BOTH Positive and negative edge detection 4329 // POS Positive edge detection 4330 // NEG Negative edge detection 4331 // NONE No edge detection 4332 #define IOC_IOCFG11_EDGE_DET_W 2 4333 #define IOC_IOCFG11_EDGE_DET_M 0x00030000 4334 #define IOC_IOCFG11_EDGE_DET_S 16 4335 #define IOC_IOCFG11_EDGE_DET_BOTH 0x00030000 4336 #define IOC_IOCFG11_EDGE_DET_POS 0x00020000 4337 #define IOC_IOCFG11_EDGE_DET_NEG 0x00010000 4338 #define IOC_IOCFG11_EDGE_DET_NONE 0x00000000 4339 4340 // Field: [14:13] PULL_CTL 4341 // 4342 // Pull control 4343 // ENUMs: 4344 // DIS No pull 4345 // UP Pull up 4346 // DWN Pull down 4347 #define IOC_IOCFG11_PULL_CTL_W 2 4348 #define IOC_IOCFG11_PULL_CTL_M 0x00006000 4349 #define IOC_IOCFG11_PULL_CTL_S 13 4350 #define IOC_IOCFG11_PULL_CTL_DIS 0x00006000 4351 #define IOC_IOCFG11_PULL_CTL_UP 0x00004000 4352 #define IOC_IOCFG11_PULL_CTL_DWN 0x00002000 4353 4354 // Field: [12] SLEW_RED 4355 // 4356 // 0: Normal slew rate 4357 // 1: Enables reduced slew rate in output driver. 4358 #define IOC_IOCFG11_SLEW_RED 0x00001000 4359 #define IOC_IOCFG11_SLEW_RED_BITN 12 4360 #define IOC_IOCFG11_SLEW_RED_M 0x00001000 4361 #define IOC_IOCFG11_SLEW_RED_S 12 4362 4363 // Field: [11:10] IOCURR 4364 // 4365 // Selects IO current mode of this IO. 4366 // ENUMs: 4367 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 4368 // drive strength IOs (min 4 mA for normal IOs) 4369 // when IOSTR is set to AUTO 4370 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 4371 // to AUTO 4372 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 4373 // to AUTO 4374 #define IOC_IOCFG11_IOCURR_W 2 4375 #define IOC_IOCFG11_IOCURR_M 0x00000C00 4376 #define IOC_IOCFG11_IOCURR_S 10 4377 #define IOC_IOCFG11_IOCURR_4_8MA 0x00000800 4378 #define IOC_IOCFG11_IOCURR_4MA 0x00000400 4379 #define IOC_IOCFG11_IOCURR_2MA 0x00000000 4380 4381 // Field: [9:8] IOSTR 4382 // 4383 // Select source for drive strength control of this IO. 4384 // This setting controls the drive strength of the Low-Current (LC) mode. 4385 // Higher drive strength can be selected in IOCURR 4386 // ENUMs: 4387 // MAX Maximum drive strength, controlled by 4388 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 4389 // values) 4390 // MED Medium drive strength, controlled by 4391 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 4392 // values) 4393 // MIN Minimum drive strength, controlled by 4394 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 4395 // values) 4396 // AUTO Automatic drive strength, controlled by AON BATMON 4397 // based on battery voltage. (min 2 mA @VDDS) 4398 #define IOC_IOCFG11_IOSTR_W 2 4399 #define IOC_IOCFG11_IOSTR_M 0x00000300 4400 #define IOC_IOCFG11_IOSTR_S 8 4401 #define IOC_IOCFG11_IOSTR_MAX 0x00000300 4402 #define IOC_IOCFG11_IOSTR_MED 0x00000200 4403 #define IOC_IOCFG11_IOSTR_MIN 0x00000100 4404 #define IOC_IOCFG11_IOSTR_AUTO 0x00000000 4405 4406 // Field: [7] IOEV_RTC_EN 4407 // 4408 // Event asserted by this IO when edge detection is enabled 4409 // 4410 // 0: Input edge detection does not assert RTC event 4411 // 1: Input edge detection asserts RTC event 4412 #define IOC_IOCFG11_IOEV_RTC_EN 0x00000080 4413 #define IOC_IOCFG11_IOEV_RTC_EN_BITN 7 4414 #define IOC_IOCFG11_IOEV_RTC_EN_M 0x00000080 4415 #define IOC_IOCFG11_IOEV_RTC_EN_S 7 4416 4417 // Field: [6] IOEV_MCU_WU_EN 4418 // 4419 // Event asserted by this IO when edge detection is enabled 4420 // 4421 // 0: Input edge detection does not assert MCU_WU event 4422 // 1: Input edge detection asserts MCU_WU event 4423 #define IOC_IOCFG11_IOEV_MCU_WU_EN 0x00000040 4424 #define IOC_IOCFG11_IOEV_MCU_WU_EN_BITN 6 4425 #define IOC_IOCFG11_IOEV_MCU_WU_EN_M 0x00000040 4426 #define IOC_IOCFG11_IOEV_MCU_WU_EN_S 6 4427 4428 // Field: [5:0] PORT_ID 4429 // 4430 // Selects usage for DIO11 4431 // Note: This field should not be written other than the times when PORT_ID 4432 // value is specifically required to change. 4433 // ENUMs: 4434 // RFC_SMI_CL_IN RF Core SMI Command Link In 4435 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 4436 // RFC_SMI_DL_IN RF Core SMI Data Link In 4437 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 4438 // RFC_GPI1 RF Core Data In 1 4439 // RFC_GPI0 RF Core Data In 0 4440 // RFC_GPO3 RF Core Data Out 3 4441 // RFC_GPO2 RF Core Data Out 2 4442 // RFC_GPO1 RF Core Data Out 1 4443 // RFC_GPO0 RF Core Data Out 0 4444 // RFC_TRC RF Core Trace 4445 // I2S_MCLK I2S MCLK 4446 // I2S_BCLK I2S BCLK 4447 // I2S_WCLK I2S WCLK 4448 // I2S_AD1 I2S Data 1 4449 // I2S_AD0 I2S Data 0 4450 // SSI1_CLK SSI1 CLK 4451 // SSI1_FSS SSI1 FSS 4452 // SSI1_TX SSI1 TX 4453 // SSI1_RX SSI1 RX 4454 // CPU_SWV CPU SWV 4455 // PORT_EVENT7 PORT EVENT 7 4456 // Can be used as a general 4457 // purpose IO event by selecting it through 4458 // registers in the EVENT module, for example 4459 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4460 // and so on 4461 // PORT_EVENT6 PORT EVENT 6 4462 // Can be used as a general 4463 // purpose IO event by selecting it through 4464 // registers in the EVENT module, for example 4465 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4466 // and so on 4467 // PORT_EVENT5 PORT EVENT 5 4468 // Can be used as a general 4469 // purpose IO event by selecting it through 4470 // registers in the EVENT module, for example 4471 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4472 // and so on 4473 // PORT_EVENT4 PORT EVENT 4 4474 // Can be used as a general 4475 // purpose IO event by selecting it through 4476 // registers in the EVENT module, for example 4477 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4478 // and so on 4479 // PORT_EVENT3 PORT EVENT 3 4480 // Can be used as a general 4481 // purpose IO event by selecting it through 4482 // registers in the EVENT module, for example 4483 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4484 // and so on 4485 // PORT_EVENT2 PORT EVENT 2 4486 // Can be used as a general 4487 // purpose IO event by selecting it through 4488 // registers in the EVENT module, for example 4489 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4490 // and so on 4491 // PORT_EVENT1 PORT EVENT 1 4492 // Can be used as a general 4493 // purpose IO event by selecting it through 4494 // registers in the EVENT module, for example 4495 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4496 // and so on 4497 // PORT_EVENT0 PORT EVENT 0 4498 // Can be used as a general 4499 // purpose IO event by selecting it through 4500 // registers in the EVENT module, for example 4501 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4502 // and so on 4503 // UART1_RTS UART1 RTS 4504 // UART1_CTS UART1 CTS 4505 // UART1_TX UART1 TX 4506 // UART1_RX UART1 RX 4507 // UART0_RTS UART0 RTS 4508 // UART0_CTS UART0 CTS 4509 // UART0_TX UART0 TX 4510 // UART0_RX UART0 RX 4511 // I2C_MSSCL I2C Clock 4512 // I2C_MSSDA I2C Data 4513 // SSI0_CLK SSI0 CLK 4514 // SSI0_FSS SSI0 FSS 4515 // SSI0_TX SSI0 TX 4516 // SSI0_RX SSI0 RX 4517 // AUX_IO AUX IO 4518 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 4519 // GPIO General Purpose IO 4520 #define IOC_IOCFG11_PORT_ID_W 6 4521 #define IOC_IOCFG11_PORT_ID_M 0x0000003F 4522 #define IOC_IOCFG11_PORT_ID_S 0 4523 #define IOC_IOCFG11_PORT_ID_RFC_SMI_CL_IN 0x00000038 4524 #define IOC_IOCFG11_PORT_ID_RFC_SMI_CL_OUT 0x00000037 4525 #define IOC_IOCFG11_PORT_ID_RFC_SMI_DL_IN 0x00000036 4526 #define IOC_IOCFG11_PORT_ID_RFC_SMI_DL_OUT 0x00000035 4527 #define IOC_IOCFG11_PORT_ID_RFC_GPI1 0x00000034 4528 #define IOC_IOCFG11_PORT_ID_RFC_GPI0 0x00000033 4529 #define IOC_IOCFG11_PORT_ID_RFC_GPO3 0x00000032 4530 #define IOC_IOCFG11_PORT_ID_RFC_GPO2 0x00000031 4531 #define IOC_IOCFG11_PORT_ID_RFC_GPO1 0x00000030 4532 #define IOC_IOCFG11_PORT_ID_RFC_GPO0 0x0000002F 4533 #define IOC_IOCFG11_PORT_ID_RFC_TRC 0x0000002E 4534 #define IOC_IOCFG11_PORT_ID_I2S_MCLK 0x00000029 4535 #define IOC_IOCFG11_PORT_ID_I2S_BCLK 0x00000028 4536 #define IOC_IOCFG11_PORT_ID_I2S_WCLK 0x00000027 4537 #define IOC_IOCFG11_PORT_ID_I2S_AD1 0x00000026 4538 #define IOC_IOCFG11_PORT_ID_I2S_AD0 0x00000025 4539 #define IOC_IOCFG11_PORT_ID_SSI1_CLK 0x00000024 4540 #define IOC_IOCFG11_PORT_ID_SSI1_FSS 0x00000023 4541 #define IOC_IOCFG11_PORT_ID_SSI1_TX 0x00000022 4542 #define IOC_IOCFG11_PORT_ID_SSI1_RX 0x00000021 4543 #define IOC_IOCFG11_PORT_ID_CPU_SWV 0x00000020 4544 #define IOC_IOCFG11_PORT_ID_PORT_EVENT7 0x0000001E 4545 #define IOC_IOCFG11_PORT_ID_PORT_EVENT6 0x0000001D 4546 #define IOC_IOCFG11_PORT_ID_PORT_EVENT5 0x0000001C 4547 #define IOC_IOCFG11_PORT_ID_PORT_EVENT4 0x0000001B 4548 #define IOC_IOCFG11_PORT_ID_PORT_EVENT3 0x0000001A 4549 #define IOC_IOCFG11_PORT_ID_PORT_EVENT2 0x00000019 4550 #define IOC_IOCFG11_PORT_ID_PORT_EVENT1 0x00000018 4551 #define IOC_IOCFG11_PORT_ID_PORT_EVENT0 0x00000017 4552 #define IOC_IOCFG11_PORT_ID_UART1_RTS 0x00000016 4553 #define IOC_IOCFG11_PORT_ID_UART1_CTS 0x00000015 4554 #define IOC_IOCFG11_PORT_ID_UART1_TX 0x00000014 4555 #define IOC_IOCFG11_PORT_ID_UART1_RX 0x00000013 4556 #define IOC_IOCFG11_PORT_ID_UART0_RTS 0x00000012 4557 #define IOC_IOCFG11_PORT_ID_UART0_CTS 0x00000011 4558 #define IOC_IOCFG11_PORT_ID_UART0_TX 0x00000010 4559 #define IOC_IOCFG11_PORT_ID_UART0_RX 0x0000000F 4560 #define IOC_IOCFG11_PORT_ID_I2C_MSSCL 0x0000000E 4561 #define IOC_IOCFG11_PORT_ID_I2C_MSSDA 0x0000000D 4562 #define IOC_IOCFG11_PORT_ID_SSI0_CLK 0x0000000C 4563 #define IOC_IOCFG11_PORT_ID_SSI0_FSS 0x0000000B 4564 #define IOC_IOCFG11_PORT_ID_SSI0_TX 0x0000000A 4565 #define IOC_IOCFG11_PORT_ID_SSI0_RX 0x00000009 4566 #define IOC_IOCFG11_PORT_ID_AUX_IO 0x00000008 4567 #define IOC_IOCFG11_PORT_ID_AON_CLK32K 0x00000007 4568 #define IOC_IOCFG11_PORT_ID_GPIO 0x00000000 4569 4570 //***************************************************************************** 4571 // 4572 // Register: IOC_O_IOCFG12 4573 // 4574 //***************************************************************************** 4575 // Field: [30] HYST_EN 4576 // 4577 // 0: Input hysteresis disable 4578 // 1: Input hysteresis enable 4579 #define IOC_IOCFG12_HYST_EN 0x40000000 4580 #define IOC_IOCFG12_HYST_EN_BITN 30 4581 #define IOC_IOCFG12_HYST_EN_M 0x40000000 4582 #define IOC_IOCFG12_HYST_EN_S 30 4583 4584 // Field: [29] IE 4585 // 4586 // 0: Input disabled 4587 // 1: Input enabled 4588 // 4589 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 4590 // ignored. 4591 #define IOC_IOCFG12_IE 0x20000000 4592 #define IOC_IOCFG12_IE_BITN 29 4593 #define IOC_IOCFG12_IE_M 0x20000000 4594 #define IOC_IOCFG12_IE_S 29 4595 4596 // Field: [28:27] WU_CFG 4597 // 4598 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 4599 // >0x08: 4600 // 4601 // 00: No wake-up 4602 // 01: No wake-up 4603 // 10: Wakes up from shutdown if this pad is going low. 4604 // 11: Wakes up from shutdown if this pad is going high. 4605 // 4606 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 4607 // this register only sets wakeup enable or not. 4608 // 4609 // 00, 01: Wakeup disabled 4610 // 10, 11: Wakeup enabled 4611 // 4612 // Polarity is controlled from AON registers. 4613 // 4614 // Note:When the MSB is set, the IOC will deactivate the output enable for the 4615 // DIO. 4616 #define IOC_IOCFG12_WU_CFG_W 2 4617 #define IOC_IOCFG12_WU_CFG_M 0x18000000 4618 #define IOC_IOCFG12_WU_CFG_S 27 4619 4620 // Field: [26:24] IOMODE 4621 // 4622 // IO Mode 4623 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 4624 // 0x01-0x08 4625 // AUX has its own open_source/drain configuration. 4626 // 4627 // 0x2: Reserved. Undefined behavior. 4628 // 0x3: Reserved. Undefined behavior. 4629 // ENUMs: 4630 // OPENSRC_INV Open Source 4631 // Inverted input / output 4632 // OPENSRC Open Source 4633 // Normal input / output 4634 // OPENDR_INV Open Drain 4635 // Inverted input / output 4636 // OPENDR Open Drain, 4637 // Normal input / output 4638 // INV Inverted input / ouput 4639 // NORMAL Normal input / output 4640 #define IOC_IOCFG12_IOMODE_W 3 4641 #define IOC_IOCFG12_IOMODE_M 0x07000000 4642 #define IOC_IOCFG12_IOMODE_S 24 4643 #define IOC_IOCFG12_IOMODE_OPENSRC_INV 0x07000000 4644 #define IOC_IOCFG12_IOMODE_OPENSRC 0x06000000 4645 #define IOC_IOCFG12_IOMODE_OPENDR_INV 0x05000000 4646 #define IOC_IOCFG12_IOMODE_OPENDR 0x04000000 4647 #define IOC_IOCFG12_IOMODE_INV 0x01000000 4648 #define IOC_IOCFG12_IOMODE_NORMAL 0x00000000 4649 4650 // Field: [23] IOEV_AON_PROG2_EN 4651 // 4652 // Event asserted by this IO when edge detection is enabled 4653 // 4654 // 0: Input edge detection does not assert AON_PROG2 event 4655 // 1: Input edge detection asserts AON_PROG2 event 4656 #define IOC_IOCFG12_IOEV_AON_PROG2_EN 0x00800000 4657 #define IOC_IOCFG12_IOEV_AON_PROG2_EN_BITN 23 4658 #define IOC_IOCFG12_IOEV_AON_PROG2_EN_M 0x00800000 4659 #define IOC_IOCFG12_IOEV_AON_PROG2_EN_S 23 4660 4661 // Field: [22] IOEV_AON_PROG1_EN 4662 // 4663 // Event asserted by this IO when edge detection is enabled 4664 // 4665 // 0: Input edge detection does not assert AON_PROG1 event 4666 // 1: Input edge detection asserts AON_PROG1 event 4667 #define IOC_IOCFG12_IOEV_AON_PROG1_EN 0x00400000 4668 #define IOC_IOCFG12_IOEV_AON_PROG1_EN_BITN 22 4669 #define IOC_IOCFG12_IOEV_AON_PROG1_EN_M 0x00400000 4670 #define IOC_IOCFG12_IOEV_AON_PROG1_EN_S 22 4671 4672 // Field: [21] IOEV_AON_PROG0_EN 4673 // 4674 // Event asserted by this IO when edge detection is enabled 4675 // 4676 // 0: Input edge detection does not assert AON_PROG0 event 4677 // 1: Input edge detection asserts AON_PROG0 event 4678 #define IOC_IOCFG12_IOEV_AON_PROG0_EN 0x00200000 4679 #define IOC_IOCFG12_IOEV_AON_PROG0_EN_BITN 21 4680 #define IOC_IOCFG12_IOEV_AON_PROG0_EN_M 0x00200000 4681 #define IOC_IOCFG12_IOEV_AON_PROG0_EN_S 21 4682 4683 // Field: [18] EDGE_IRQ_EN 4684 // 4685 // 0: No interrupt generation 4686 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 4687 // enabled) 4688 #define IOC_IOCFG12_EDGE_IRQ_EN 0x00040000 4689 #define IOC_IOCFG12_EDGE_IRQ_EN_BITN 18 4690 #define IOC_IOCFG12_EDGE_IRQ_EN_M 0x00040000 4691 #define IOC_IOCFG12_EDGE_IRQ_EN_S 18 4692 4693 // Field: [17:16] EDGE_DET 4694 // 4695 // Enable generation of edge detection events on this IO 4696 // ENUMs: 4697 // BOTH Positive and negative edge detection 4698 // POS Positive edge detection 4699 // NEG Negative edge detection 4700 // NONE No edge detection 4701 #define IOC_IOCFG12_EDGE_DET_W 2 4702 #define IOC_IOCFG12_EDGE_DET_M 0x00030000 4703 #define IOC_IOCFG12_EDGE_DET_S 16 4704 #define IOC_IOCFG12_EDGE_DET_BOTH 0x00030000 4705 #define IOC_IOCFG12_EDGE_DET_POS 0x00020000 4706 #define IOC_IOCFG12_EDGE_DET_NEG 0x00010000 4707 #define IOC_IOCFG12_EDGE_DET_NONE 0x00000000 4708 4709 // Field: [14:13] PULL_CTL 4710 // 4711 // Pull control 4712 // ENUMs: 4713 // DIS No pull 4714 // UP Pull up 4715 // DWN Pull down 4716 #define IOC_IOCFG12_PULL_CTL_W 2 4717 #define IOC_IOCFG12_PULL_CTL_M 0x00006000 4718 #define IOC_IOCFG12_PULL_CTL_S 13 4719 #define IOC_IOCFG12_PULL_CTL_DIS 0x00006000 4720 #define IOC_IOCFG12_PULL_CTL_UP 0x00004000 4721 #define IOC_IOCFG12_PULL_CTL_DWN 0x00002000 4722 4723 // Field: [12] SLEW_RED 4724 // 4725 // 0: Normal slew rate 4726 // 1: Enables reduced slew rate in output driver. 4727 #define IOC_IOCFG12_SLEW_RED 0x00001000 4728 #define IOC_IOCFG12_SLEW_RED_BITN 12 4729 #define IOC_IOCFG12_SLEW_RED_M 0x00001000 4730 #define IOC_IOCFG12_SLEW_RED_S 12 4731 4732 // Field: [11:10] IOCURR 4733 // 4734 // Selects IO current mode of this IO. 4735 // ENUMs: 4736 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 4737 // drive strength IOs (min 4 mA for normal IOs) 4738 // when IOSTR is set to AUTO 4739 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 4740 // to AUTO 4741 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 4742 // to AUTO 4743 #define IOC_IOCFG12_IOCURR_W 2 4744 #define IOC_IOCFG12_IOCURR_M 0x00000C00 4745 #define IOC_IOCFG12_IOCURR_S 10 4746 #define IOC_IOCFG12_IOCURR_4_8MA 0x00000800 4747 #define IOC_IOCFG12_IOCURR_4MA 0x00000400 4748 #define IOC_IOCFG12_IOCURR_2MA 0x00000000 4749 4750 // Field: [9:8] IOSTR 4751 // 4752 // Select source for drive strength control of this IO. 4753 // This setting controls the drive strength of the Low-Current (LC) mode. 4754 // Higher drive strength can be selected in IOCURR 4755 // ENUMs: 4756 // MAX Maximum drive strength, controlled by 4757 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 4758 // values) 4759 // MED Medium drive strength, controlled by 4760 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 4761 // values) 4762 // MIN Minimum drive strength, controlled by 4763 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 4764 // values) 4765 // AUTO Automatic drive strength, controlled by AON BATMON 4766 // based on battery voltage. (min 2 mA @VDDS) 4767 #define IOC_IOCFG12_IOSTR_W 2 4768 #define IOC_IOCFG12_IOSTR_M 0x00000300 4769 #define IOC_IOCFG12_IOSTR_S 8 4770 #define IOC_IOCFG12_IOSTR_MAX 0x00000300 4771 #define IOC_IOCFG12_IOSTR_MED 0x00000200 4772 #define IOC_IOCFG12_IOSTR_MIN 0x00000100 4773 #define IOC_IOCFG12_IOSTR_AUTO 0x00000000 4774 4775 // Field: [7] IOEV_RTC_EN 4776 // 4777 // Event asserted by this IO when edge detection is enabled 4778 // 4779 // 0: Input edge detection does not assert RTC event 4780 // 1: Input edge detection asserts RTC event 4781 #define IOC_IOCFG12_IOEV_RTC_EN 0x00000080 4782 #define IOC_IOCFG12_IOEV_RTC_EN_BITN 7 4783 #define IOC_IOCFG12_IOEV_RTC_EN_M 0x00000080 4784 #define IOC_IOCFG12_IOEV_RTC_EN_S 7 4785 4786 // Field: [6] IOEV_MCU_WU_EN 4787 // 4788 // Event asserted by this IO when edge detection is enabled 4789 // 4790 // 0: Input edge detection does not assert MCU_WU event 4791 // 1: Input edge detection asserts MCU_WU event 4792 #define IOC_IOCFG12_IOEV_MCU_WU_EN 0x00000040 4793 #define IOC_IOCFG12_IOEV_MCU_WU_EN_BITN 6 4794 #define IOC_IOCFG12_IOEV_MCU_WU_EN_M 0x00000040 4795 #define IOC_IOCFG12_IOEV_MCU_WU_EN_S 6 4796 4797 // Field: [5:0] PORT_ID 4798 // 4799 // Selects usage for DIO12 4800 // Note: This field should not be written other than the times when PORT_ID 4801 // value is specifically required to change. 4802 // ENUMs: 4803 // RFC_SMI_CL_IN RF Core SMI Command Link In 4804 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 4805 // RFC_SMI_DL_IN RF Core SMI Data Link In 4806 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 4807 // RFC_GPI1 RF Core Data In 1 4808 // RFC_GPI0 RF Core Data In 0 4809 // RFC_GPO3 RF Core Data Out 3 4810 // RFC_GPO2 RF Core Data Out 2 4811 // RFC_GPO1 RF Core Data Out 1 4812 // RFC_GPO0 RF Core Data Out 0 4813 // RFC_TRC RF Core Trace 4814 // I2S_MCLK I2S MCLK 4815 // I2S_BCLK I2S BCLK 4816 // I2S_WCLK I2S WCLK 4817 // I2S_AD1 I2S Data 1 4818 // I2S_AD0 I2S Data 0 4819 // SSI1_CLK SSI1 CLK 4820 // SSI1_FSS SSI1 FSS 4821 // SSI1_TX SSI1 TX 4822 // SSI1_RX SSI1 RX 4823 // CPU_SWV CPU SWV 4824 // PORT_EVENT7 PORT EVENT 7 4825 // Can be used as a general 4826 // purpose IO event by selecting it through 4827 // registers in the EVENT module, for example 4828 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4829 // and so on 4830 // PORT_EVENT6 PORT EVENT 6 4831 // Can be used as a general 4832 // purpose IO event by selecting it through 4833 // registers in the EVENT module, for example 4834 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4835 // and so on 4836 // PORT_EVENT5 PORT EVENT 5 4837 // Can be used as a general 4838 // purpose IO event by selecting it through 4839 // registers in the EVENT module, for example 4840 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4841 // and so on 4842 // PORT_EVENT4 PORT EVENT 4 4843 // Can be used as a general 4844 // purpose IO event by selecting it through 4845 // registers in the EVENT module, for example 4846 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4847 // and so on 4848 // PORT_EVENT3 PORT EVENT 3 4849 // Can be used as a general 4850 // purpose IO event by selecting it through 4851 // registers in the EVENT module, for example 4852 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4853 // and so on 4854 // PORT_EVENT2 PORT EVENT 2 4855 // Can be used as a general 4856 // purpose IO event by selecting it through 4857 // registers in the EVENT module, for example 4858 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4859 // and so on 4860 // PORT_EVENT1 PORT EVENT 1 4861 // Can be used as a general 4862 // purpose IO event by selecting it through 4863 // registers in the EVENT module, for example 4864 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4865 // and so on 4866 // PORT_EVENT0 PORT EVENT 0 4867 // Can be used as a general 4868 // purpose IO event by selecting it through 4869 // registers in the EVENT module, for example 4870 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 4871 // and so on 4872 // UART1_RTS UART1 RTS 4873 // UART1_CTS UART1 CTS 4874 // UART1_TX UART1 TX 4875 // UART1_RX UART1 RX 4876 // UART0_RTS UART0 RTS 4877 // UART0_CTS UART0 CTS 4878 // UART0_TX UART0 TX 4879 // UART0_RX UART0 RX 4880 // I2C_MSSCL I2C Clock 4881 // I2C_MSSDA I2C Data 4882 // SSI0_CLK SSI0 CLK 4883 // SSI0_FSS SSI0 FSS 4884 // SSI0_TX SSI0 TX 4885 // SSI0_RX SSI0 RX 4886 // AUX_IO AUX IO 4887 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 4888 // GPIO General Purpose IO 4889 #define IOC_IOCFG12_PORT_ID_W 6 4890 #define IOC_IOCFG12_PORT_ID_M 0x0000003F 4891 #define IOC_IOCFG12_PORT_ID_S 0 4892 #define IOC_IOCFG12_PORT_ID_RFC_SMI_CL_IN 0x00000038 4893 #define IOC_IOCFG12_PORT_ID_RFC_SMI_CL_OUT 0x00000037 4894 #define IOC_IOCFG12_PORT_ID_RFC_SMI_DL_IN 0x00000036 4895 #define IOC_IOCFG12_PORT_ID_RFC_SMI_DL_OUT 0x00000035 4896 #define IOC_IOCFG12_PORT_ID_RFC_GPI1 0x00000034 4897 #define IOC_IOCFG12_PORT_ID_RFC_GPI0 0x00000033 4898 #define IOC_IOCFG12_PORT_ID_RFC_GPO3 0x00000032 4899 #define IOC_IOCFG12_PORT_ID_RFC_GPO2 0x00000031 4900 #define IOC_IOCFG12_PORT_ID_RFC_GPO1 0x00000030 4901 #define IOC_IOCFG12_PORT_ID_RFC_GPO0 0x0000002F 4902 #define IOC_IOCFG12_PORT_ID_RFC_TRC 0x0000002E 4903 #define IOC_IOCFG12_PORT_ID_I2S_MCLK 0x00000029 4904 #define IOC_IOCFG12_PORT_ID_I2S_BCLK 0x00000028 4905 #define IOC_IOCFG12_PORT_ID_I2S_WCLK 0x00000027 4906 #define IOC_IOCFG12_PORT_ID_I2S_AD1 0x00000026 4907 #define IOC_IOCFG12_PORT_ID_I2S_AD0 0x00000025 4908 #define IOC_IOCFG12_PORT_ID_SSI1_CLK 0x00000024 4909 #define IOC_IOCFG12_PORT_ID_SSI1_FSS 0x00000023 4910 #define IOC_IOCFG12_PORT_ID_SSI1_TX 0x00000022 4911 #define IOC_IOCFG12_PORT_ID_SSI1_RX 0x00000021 4912 #define IOC_IOCFG12_PORT_ID_CPU_SWV 0x00000020 4913 #define IOC_IOCFG12_PORT_ID_PORT_EVENT7 0x0000001E 4914 #define IOC_IOCFG12_PORT_ID_PORT_EVENT6 0x0000001D 4915 #define IOC_IOCFG12_PORT_ID_PORT_EVENT5 0x0000001C 4916 #define IOC_IOCFG12_PORT_ID_PORT_EVENT4 0x0000001B 4917 #define IOC_IOCFG12_PORT_ID_PORT_EVENT3 0x0000001A 4918 #define IOC_IOCFG12_PORT_ID_PORT_EVENT2 0x00000019 4919 #define IOC_IOCFG12_PORT_ID_PORT_EVENT1 0x00000018 4920 #define IOC_IOCFG12_PORT_ID_PORT_EVENT0 0x00000017 4921 #define IOC_IOCFG12_PORT_ID_UART1_RTS 0x00000016 4922 #define IOC_IOCFG12_PORT_ID_UART1_CTS 0x00000015 4923 #define IOC_IOCFG12_PORT_ID_UART1_TX 0x00000014 4924 #define IOC_IOCFG12_PORT_ID_UART1_RX 0x00000013 4925 #define IOC_IOCFG12_PORT_ID_UART0_RTS 0x00000012 4926 #define IOC_IOCFG12_PORT_ID_UART0_CTS 0x00000011 4927 #define IOC_IOCFG12_PORT_ID_UART0_TX 0x00000010 4928 #define IOC_IOCFG12_PORT_ID_UART0_RX 0x0000000F 4929 #define IOC_IOCFG12_PORT_ID_I2C_MSSCL 0x0000000E 4930 #define IOC_IOCFG12_PORT_ID_I2C_MSSDA 0x0000000D 4931 #define IOC_IOCFG12_PORT_ID_SSI0_CLK 0x0000000C 4932 #define IOC_IOCFG12_PORT_ID_SSI0_FSS 0x0000000B 4933 #define IOC_IOCFG12_PORT_ID_SSI0_TX 0x0000000A 4934 #define IOC_IOCFG12_PORT_ID_SSI0_RX 0x00000009 4935 #define IOC_IOCFG12_PORT_ID_AUX_IO 0x00000008 4936 #define IOC_IOCFG12_PORT_ID_AON_CLK32K 0x00000007 4937 #define IOC_IOCFG12_PORT_ID_GPIO 0x00000000 4938 4939 //***************************************************************************** 4940 // 4941 // Register: IOC_O_IOCFG13 4942 // 4943 //***************************************************************************** 4944 // Field: [30] HYST_EN 4945 // 4946 // 0: Input hysteresis disable 4947 // 1: Input hysteresis enable 4948 #define IOC_IOCFG13_HYST_EN 0x40000000 4949 #define IOC_IOCFG13_HYST_EN_BITN 30 4950 #define IOC_IOCFG13_HYST_EN_M 0x40000000 4951 #define IOC_IOCFG13_HYST_EN_S 30 4952 4953 // Field: [29] IE 4954 // 4955 // 0: Input disabled 4956 // 1: Input enabled 4957 // 4958 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 4959 // ignored. 4960 #define IOC_IOCFG13_IE 0x20000000 4961 #define IOC_IOCFG13_IE_BITN 29 4962 #define IOC_IOCFG13_IE_M 0x20000000 4963 #define IOC_IOCFG13_IE_S 29 4964 4965 // Field: [28:27] WU_CFG 4966 // 4967 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 4968 // >0x08: 4969 // 4970 // 00: No wake-up 4971 // 01: No wake-up 4972 // 10: Wakes up from shutdown if this pad is going low. 4973 // 11: Wakes up from shutdown if this pad is going high. 4974 // 4975 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 4976 // this register only sets wakeup enable or not. 4977 // 4978 // 00, 01: Wakeup disabled 4979 // 10, 11: Wakeup enabled 4980 // 4981 // Polarity is controlled from AON registers. 4982 // 4983 // Note:When the MSB is set, the IOC will deactivate the output enable for the 4984 // DIO. 4985 #define IOC_IOCFG13_WU_CFG_W 2 4986 #define IOC_IOCFG13_WU_CFG_M 0x18000000 4987 #define IOC_IOCFG13_WU_CFG_S 27 4988 4989 // Field: [26:24] IOMODE 4990 // 4991 // IO Mode 4992 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 4993 // 0x01-0x08 4994 // AUX has its own open_source/drain configuration. 4995 // 4996 // 0x2: Reserved. Undefined behavior. 4997 // 0x3: Reserved. Undefined behavior. 4998 // ENUMs: 4999 // OPENSRC_INV Open Source 5000 // Inverted input / output 5001 // OPENSRC Open Source 5002 // Normal input / output 5003 // OPENDR_INV Open Drain 5004 // Inverted input / output 5005 // OPENDR Open Drain, 5006 // Normal input / output 5007 // INV Inverted input / ouput 5008 // NORMAL Normal input / output 5009 #define IOC_IOCFG13_IOMODE_W 3 5010 #define IOC_IOCFG13_IOMODE_M 0x07000000 5011 #define IOC_IOCFG13_IOMODE_S 24 5012 #define IOC_IOCFG13_IOMODE_OPENSRC_INV 0x07000000 5013 #define IOC_IOCFG13_IOMODE_OPENSRC 0x06000000 5014 #define IOC_IOCFG13_IOMODE_OPENDR_INV 0x05000000 5015 #define IOC_IOCFG13_IOMODE_OPENDR 0x04000000 5016 #define IOC_IOCFG13_IOMODE_INV 0x01000000 5017 #define IOC_IOCFG13_IOMODE_NORMAL 0x00000000 5018 5019 // Field: [23] IOEV_AON_PROG2_EN 5020 // 5021 // Event asserted by this IO when edge detection is enabled 5022 // 5023 // 0: Input edge detection does not assert AON_PROG2 event 5024 // 1: Input edge detection asserts AON_PROG2 event 5025 #define IOC_IOCFG13_IOEV_AON_PROG2_EN 0x00800000 5026 #define IOC_IOCFG13_IOEV_AON_PROG2_EN_BITN 23 5027 #define IOC_IOCFG13_IOEV_AON_PROG2_EN_M 0x00800000 5028 #define IOC_IOCFG13_IOEV_AON_PROG2_EN_S 23 5029 5030 // Field: [22] IOEV_AON_PROG1_EN 5031 // 5032 // Event asserted by this IO when edge detection is enabled 5033 // 5034 // 0: Input edge detection does not assert AON_PROG1 event 5035 // 1: Input edge detection asserts AON_PROG1 event 5036 #define IOC_IOCFG13_IOEV_AON_PROG1_EN 0x00400000 5037 #define IOC_IOCFG13_IOEV_AON_PROG1_EN_BITN 22 5038 #define IOC_IOCFG13_IOEV_AON_PROG1_EN_M 0x00400000 5039 #define IOC_IOCFG13_IOEV_AON_PROG1_EN_S 22 5040 5041 // Field: [21] IOEV_AON_PROG0_EN 5042 // 5043 // Event asserted by this IO when edge detection is enabled 5044 // 5045 // 0: Input edge detection does not assert AON_PROG0 event 5046 // 1: Input edge detection asserts AON_PROG0 event 5047 #define IOC_IOCFG13_IOEV_AON_PROG0_EN 0x00200000 5048 #define IOC_IOCFG13_IOEV_AON_PROG0_EN_BITN 21 5049 #define IOC_IOCFG13_IOEV_AON_PROG0_EN_M 0x00200000 5050 #define IOC_IOCFG13_IOEV_AON_PROG0_EN_S 21 5051 5052 // Field: [18] EDGE_IRQ_EN 5053 // 5054 // 0: No interrupt generation 5055 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 5056 // enabled) 5057 #define IOC_IOCFG13_EDGE_IRQ_EN 0x00040000 5058 #define IOC_IOCFG13_EDGE_IRQ_EN_BITN 18 5059 #define IOC_IOCFG13_EDGE_IRQ_EN_M 0x00040000 5060 #define IOC_IOCFG13_EDGE_IRQ_EN_S 18 5061 5062 // Field: [17:16] EDGE_DET 5063 // 5064 // Enable generation of edge detection events on this IO 5065 // ENUMs: 5066 // BOTH Positive and negative edge detection 5067 // POS Positive edge detection 5068 // NEG Negative edge detection 5069 // NONE No edge detection 5070 #define IOC_IOCFG13_EDGE_DET_W 2 5071 #define IOC_IOCFG13_EDGE_DET_M 0x00030000 5072 #define IOC_IOCFG13_EDGE_DET_S 16 5073 #define IOC_IOCFG13_EDGE_DET_BOTH 0x00030000 5074 #define IOC_IOCFG13_EDGE_DET_POS 0x00020000 5075 #define IOC_IOCFG13_EDGE_DET_NEG 0x00010000 5076 #define IOC_IOCFG13_EDGE_DET_NONE 0x00000000 5077 5078 // Field: [14:13] PULL_CTL 5079 // 5080 // Pull control 5081 // ENUMs: 5082 // DIS No pull 5083 // UP Pull up 5084 // DWN Pull down 5085 #define IOC_IOCFG13_PULL_CTL_W 2 5086 #define IOC_IOCFG13_PULL_CTL_M 0x00006000 5087 #define IOC_IOCFG13_PULL_CTL_S 13 5088 #define IOC_IOCFG13_PULL_CTL_DIS 0x00006000 5089 #define IOC_IOCFG13_PULL_CTL_UP 0x00004000 5090 #define IOC_IOCFG13_PULL_CTL_DWN 0x00002000 5091 5092 // Field: [12] SLEW_RED 5093 // 5094 // 0: Normal slew rate 5095 // 1: Enables reduced slew rate in output driver. 5096 #define IOC_IOCFG13_SLEW_RED 0x00001000 5097 #define IOC_IOCFG13_SLEW_RED_BITN 12 5098 #define IOC_IOCFG13_SLEW_RED_M 0x00001000 5099 #define IOC_IOCFG13_SLEW_RED_S 12 5100 5101 // Field: [11:10] IOCURR 5102 // 5103 // Selects IO current mode of this IO. 5104 // ENUMs: 5105 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 5106 // drive strength IOs (min 4 mA for normal IOs) 5107 // when IOSTR is set to AUTO 5108 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 5109 // to AUTO 5110 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 5111 // to AUTO 5112 #define IOC_IOCFG13_IOCURR_W 2 5113 #define IOC_IOCFG13_IOCURR_M 0x00000C00 5114 #define IOC_IOCFG13_IOCURR_S 10 5115 #define IOC_IOCFG13_IOCURR_4_8MA 0x00000800 5116 #define IOC_IOCFG13_IOCURR_4MA 0x00000400 5117 #define IOC_IOCFG13_IOCURR_2MA 0x00000000 5118 5119 // Field: [9:8] IOSTR 5120 // 5121 // Select source for drive strength control of this IO. 5122 // This setting controls the drive strength of the Low-Current (LC) mode. 5123 // Higher drive strength can be selected in IOCURR 5124 // ENUMs: 5125 // MAX Maximum drive strength, controlled by 5126 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 5127 // values) 5128 // MED Medium drive strength, controlled by 5129 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 5130 // values) 5131 // MIN Minimum drive strength, controlled by 5132 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 5133 // values) 5134 // AUTO Automatic drive strength, controlled by AON BATMON 5135 // based on battery voltage. (min 2 mA @VDDS) 5136 #define IOC_IOCFG13_IOSTR_W 2 5137 #define IOC_IOCFG13_IOSTR_M 0x00000300 5138 #define IOC_IOCFG13_IOSTR_S 8 5139 #define IOC_IOCFG13_IOSTR_MAX 0x00000300 5140 #define IOC_IOCFG13_IOSTR_MED 0x00000200 5141 #define IOC_IOCFG13_IOSTR_MIN 0x00000100 5142 #define IOC_IOCFG13_IOSTR_AUTO 0x00000000 5143 5144 // Field: [7] IOEV_RTC_EN 5145 // 5146 // Event asserted by this IO when edge detection is enabled 5147 // 5148 // 0: Input edge detection does not assert RTC event 5149 // 1: Input edge detection asserts RTC event 5150 #define IOC_IOCFG13_IOEV_RTC_EN 0x00000080 5151 #define IOC_IOCFG13_IOEV_RTC_EN_BITN 7 5152 #define IOC_IOCFG13_IOEV_RTC_EN_M 0x00000080 5153 #define IOC_IOCFG13_IOEV_RTC_EN_S 7 5154 5155 // Field: [6] IOEV_MCU_WU_EN 5156 // 5157 // Event asserted by this IO when edge detection is enabled 5158 // 5159 // 0: Input edge detection does not assert MCU_WU event 5160 // 1: Input edge detection asserts MCU_WU event 5161 #define IOC_IOCFG13_IOEV_MCU_WU_EN 0x00000040 5162 #define IOC_IOCFG13_IOEV_MCU_WU_EN_BITN 6 5163 #define IOC_IOCFG13_IOEV_MCU_WU_EN_M 0x00000040 5164 #define IOC_IOCFG13_IOEV_MCU_WU_EN_S 6 5165 5166 // Field: [5:0] PORT_ID 5167 // 5168 // Selects usage for DIO13 5169 // Note: This field should not be written other than the times when PORT_ID 5170 // value is specifically required to change. 5171 // ENUMs: 5172 // RFC_SMI_CL_IN RF Core SMI Command Link In 5173 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 5174 // RFC_SMI_DL_IN RF Core SMI Data Link In 5175 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 5176 // RFC_GPI1 RF Core Data In 1 5177 // RFC_GPI0 RF Core Data In 0 5178 // RFC_GPO3 RF Core Data Out 3 5179 // RFC_GPO2 RF Core Data Out 2 5180 // RFC_GPO1 RF Core Data Out 1 5181 // RFC_GPO0 RF Core Data Out 0 5182 // RFC_TRC RF Core Trace 5183 // I2S_MCLK I2S MCLK 5184 // I2S_BCLK I2S BCLK 5185 // I2S_WCLK I2S WCLK 5186 // I2S_AD1 I2S Data 1 5187 // I2S_AD0 I2S Data 0 5188 // SSI1_CLK SSI1 CLK 5189 // SSI1_FSS SSI1 FSS 5190 // SSI1_TX SSI1 TX 5191 // SSI1_RX SSI1 RX 5192 // CPU_SWV CPU SWV 5193 // PORT_EVENT7 PORT EVENT 7 5194 // Can be used as a general 5195 // purpose IO event by selecting it through 5196 // registers in the EVENT module, for example 5197 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5198 // and so on 5199 // PORT_EVENT6 PORT EVENT 6 5200 // Can be used as a general 5201 // purpose IO event by selecting it through 5202 // registers in the EVENT module, for example 5203 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5204 // and so on 5205 // PORT_EVENT5 PORT EVENT 5 5206 // Can be used as a general 5207 // purpose IO event by selecting it through 5208 // registers in the EVENT module, for example 5209 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5210 // and so on 5211 // PORT_EVENT4 PORT EVENT 4 5212 // Can be used as a general 5213 // purpose IO event by selecting it through 5214 // registers in the EVENT module, for example 5215 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5216 // and so on 5217 // PORT_EVENT3 PORT EVENT 3 5218 // Can be used as a general 5219 // purpose IO event by selecting it through 5220 // registers in the EVENT module, for example 5221 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5222 // and so on 5223 // PORT_EVENT2 PORT EVENT 2 5224 // Can be used as a general 5225 // purpose IO event by selecting it through 5226 // registers in the EVENT module, for example 5227 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5228 // and so on 5229 // PORT_EVENT1 PORT EVENT 1 5230 // Can be used as a general 5231 // purpose IO event by selecting it through 5232 // registers in the EVENT module, for example 5233 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5234 // and so on 5235 // PORT_EVENT0 PORT EVENT 0 5236 // Can be used as a general 5237 // purpose IO event by selecting it through 5238 // registers in the EVENT module, for example 5239 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5240 // and so on 5241 // UART1_RTS UART1 RTS 5242 // UART1_CTS UART1 CTS 5243 // UART1_TX UART1 TX 5244 // UART1_RX UART1 RX 5245 // UART0_RTS UART0 RTS 5246 // UART0_CTS UART0 CTS 5247 // UART0_TX UART0 TX 5248 // UART0_RX UART0 RX 5249 // I2C_MSSCL I2C Clock 5250 // I2C_MSSDA I2C Data 5251 // SSI0_CLK SSI0 CLK 5252 // SSI0_FSS SSI0 FSS 5253 // SSI0_TX SSI0 TX 5254 // SSI0_RX SSI0 RX 5255 // AUX_IO AUX IO 5256 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 5257 // GPIO General Purpose IO 5258 #define IOC_IOCFG13_PORT_ID_W 6 5259 #define IOC_IOCFG13_PORT_ID_M 0x0000003F 5260 #define IOC_IOCFG13_PORT_ID_S 0 5261 #define IOC_IOCFG13_PORT_ID_RFC_SMI_CL_IN 0x00000038 5262 #define IOC_IOCFG13_PORT_ID_RFC_SMI_CL_OUT 0x00000037 5263 #define IOC_IOCFG13_PORT_ID_RFC_SMI_DL_IN 0x00000036 5264 #define IOC_IOCFG13_PORT_ID_RFC_SMI_DL_OUT 0x00000035 5265 #define IOC_IOCFG13_PORT_ID_RFC_GPI1 0x00000034 5266 #define IOC_IOCFG13_PORT_ID_RFC_GPI0 0x00000033 5267 #define IOC_IOCFG13_PORT_ID_RFC_GPO3 0x00000032 5268 #define IOC_IOCFG13_PORT_ID_RFC_GPO2 0x00000031 5269 #define IOC_IOCFG13_PORT_ID_RFC_GPO1 0x00000030 5270 #define IOC_IOCFG13_PORT_ID_RFC_GPO0 0x0000002F 5271 #define IOC_IOCFG13_PORT_ID_RFC_TRC 0x0000002E 5272 #define IOC_IOCFG13_PORT_ID_I2S_MCLK 0x00000029 5273 #define IOC_IOCFG13_PORT_ID_I2S_BCLK 0x00000028 5274 #define IOC_IOCFG13_PORT_ID_I2S_WCLK 0x00000027 5275 #define IOC_IOCFG13_PORT_ID_I2S_AD1 0x00000026 5276 #define IOC_IOCFG13_PORT_ID_I2S_AD0 0x00000025 5277 #define IOC_IOCFG13_PORT_ID_SSI1_CLK 0x00000024 5278 #define IOC_IOCFG13_PORT_ID_SSI1_FSS 0x00000023 5279 #define IOC_IOCFG13_PORT_ID_SSI1_TX 0x00000022 5280 #define IOC_IOCFG13_PORT_ID_SSI1_RX 0x00000021 5281 #define IOC_IOCFG13_PORT_ID_CPU_SWV 0x00000020 5282 #define IOC_IOCFG13_PORT_ID_PORT_EVENT7 0x0000001E 5283 #define IOC_IOCFG13_PORT_ID_PORT_EVENT6 0x0000001D 5284 #define IOC_IOCFG13_PORT_ID_PORT_EVENT5 0x0000001C 5285 #define IOC_IOCFG13_PORT_ID_PORT_EVENT4 0x0000001B 5286 #define IOC_IOCFG13_PORT_ID_PORT_EVENT3 0x0000001A 5287 #define IOC_IOCFG13_PORT_ID_PORT_EVENT2 0x00000019 5288 #define IOC_IOCFG13_PORT_ID_PORT_EVENT1 0x00000018 5289 #define IOC_IOCFG13_PORT_ID_PORT_EVENT0 0x00000017 5290 #define IOC_IOCFG13_PORT_ID_UART1_RTS 0x00000016 5291 #define IOC_IOCFG13_PORT_ID_UART1_CTS 0x00000015 5292 #define IOC_IOCFG13_PORT_ID_UART1_TX 0x00000014 5293 #define IOC_IOCFG13_PORT_ID_UART1_RX 0x00000013 5294 #define IOC_IOCFG13_PORT_ID_UART0_RTS 0x00000012 5295 #define IOC_IOCFG13_PORT_ID_UART0_CTS 0x00000011 5296 #define IOC_IOCFG13_PORT_ID_UART0_TX 0x00000010 5297 #define IOC_IOCFG13_PORT_ID_UART0_RX 0x0000000F 5298 #define IOC_IOCFG13_PORT_ID_I2C_MSSCL 0x0000000E 5299 #define IOC_IOCFG13_PORT_ID_I2C_MSSDA 0x0000000D 5300 #define IOC_IOCFG13_PORT_ID_SSI0_CLK 0x0000000C 5301 #define IOC_IOCFG13_PORT_ID_SSI0_FSS 0x0000000B 5302 #define IOC_IOCFG13_PORT_ID_SSI0_TX 0x0000000A 5303 #define IOC_IOCFG13_PORT_ID_SSI0_RX 0x00000009 5304 #define IOC_IOCFG13_PORT_ID_AUX_IO 0x00000008 5305 #define IOC_IOCFG13_PORT_ID_AON_CLK32K 0x00000007 5306 #define IOC_IOCFG13_PORT_ID_GPIO 0x00000000 5307 5308 //***************************************************************************** 5309 // 5310 // Register: IOC_O_IOCFG14 5311 // 5312 //***************************************************************************** 5313 // Field: [30] HYST_EN 5314 // 5315 // 0: Input hysteresis disable 5316 // 1: Input hysteresis enable 5317 #define IOC_IOCFG14_HYST_EN 0x40000000 5318 #define IOC_IOCFG14_HYST_EN_BITN 30 5319 #define IOC_IOCFG14_HYST_EN_M 0x40000000 5320 #define IOC_IOCFG14_HYST_EN_S 30 5321 5322 // Field: [29] IE 5323 // 5324 // 0: Input disabled 5325 // 1: Input enabled 5326 // 5327 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 5328 // ignored. 5329 #define IOC_IOCFG14_IE 0x20000000 5330 #define IOC_IOCFG14_IE_BITN 29 5331 #define IOC_IOCFG14_IE_M 0x20000000 5332 #define IOC_IOCFG14_IE_S 29 5333 5334 // Field: [28:27] WU_CFG 5335 // 5336 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 5337 // >0x08: 5338 // 5339 // 00: No wake-up 5340 // 01: No wake-up 5341 // 10: Wakes up from shutdown if this pad is going low. 5342 // 11: Wakes up from shutdown if this pad is going high. 5343 // 5344 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 5345 // this register only sets wakeup enable or not. 5346 // 5347 // 00, 01: Wakeup disabled 5348 // 10, 11: Wakeup enabled 5349 // 5350 // Polarity is controlled from AON registers. 5351 // 5352 // Note:When the MSB is set, the IOC will deactivate the output enable for the 5353 // DIO. 5354 #define IOC_IOCFG14_WU_CFG_W 2 5355 #define IOC_IOCFG14_WU_CFG_M 0x18000000 5356 #define IOC_IOCFG14_WU_CFG_S 27 5357 5358 // Field: [26:24] IOMODE 5359 // 5360 // IO Mode 5361 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 5362 // 0x01-0x08 5363 // AUX has its own open_source/drain configuration. 5364 // 5365 // 0x2: Reserved. Undefined behavior. 5366 // 0x3: Reserved. Undefined behavior. 5367 // ENUMs: 5368 // OPENSRC_INV Open Source 5369 // Inverted input / output 5370 // OPENSRC Open Source 5371 // Normal input / output 5372 // OPENDR_INV Open Drain 5373 // Inverted input / output 5374 // OPENDR Open Drain, 5375 // Normal input / output 5376 // INV Inverted input / ouput 5377 // NORMAL Normal input / output 5378 #define IOC_IOCFG14_IOMODE_W 3 5379 #define IOC_IOCFG14_IOMODE_M 0x07000000 5380 #define IOC_IOCFG14_IOMODE_S 24 5381 #define IOC_IOCFG14_IOMODE_OPENSRC_INV 0x07000000 5382 #define IOC_IOCFG14_IOMODE_OPENSRC 0x06000000 5383 #define IOC_IOCFG14_IOMODE_OPENDR_INV 0x05000000 5384 #define IOC_IOCFG14_IOMODE_OPENDR 0x04000000 5385 #define IOC_IOCFG14_IOMODE_INV 0x01000000 5386 #define IOC_IOCFG14_IOMODE_NORMAL 0x00000000 5387 5388 // Field: [23] IOEV_AON_PROG2_EN 5389 // 5390 // Event asserted by this IO when edge detection is enabled 5391 // 5392 // 0: Input edge detection does not assert AON_PROG2 event 5393 // 1: Input edge detection asserts AON_PROG2 event 5394 #define IOC_IOCFG14_IOEV_AON_PROG2_EN 0x00800000 5395 #define IOC_IOCFG14_IOEV_AON_PROG2_EN_BITN 23 5396 #define IOC_IOCFG14_IOEV_AON_PROG2_EN_M 0x00800000 5397 #define IOC_IOCFG14_IOEV_AON_PROG2_EN_S 23 5398 5399 // Field: [22] IOEV_AON_PROG1_EN 5400 // 5401 // Event asserted by this IO when edge detection is enabled 5402 // 5403 // 0: Input edge detection does not assert AON_PROG1 event 5404 // 1: Input edge detection asserts AON_PROG1 event 5405 #define IOC_IOCFG14_IOEV_AON_PROG1_EN 0x00400000 5406 #define IOC_IOCFG14_IOEV_AON_PROG1_EN_BITN 22 5407 #define IOC_IOCFG14_IOEV_AON_PROG1_EN_M 0x00400000 5408 #define IOC_IOCFG14_IOEV_AON_PROG1_EN_S 22 5409 5410 // Field: [21] IOEV_AON_PROG0_EN 5411 // 5412 // Event asserted by this IO when edge detection is enabled 5413 // 5414 // 0: Input edge detection does not assert AON_PROG0 event 5415 // 1: Input edge detection asserts AON_PROG0 event 5416 #define IOC_IOCFG14_IOEV_AON_PROG0_EN 0x00200000 5417 #define IOC_IOCFG14_IOEV_AON_PROG0_EN_BITN 21 5418 #define IOC_IOCFG14_IOEV_AON_PROG0_EN_M 0x00200000 5419 #define IOC_IOCFG14_IOEV_AON_PROG0_EN_S 21 5420 5421 // Field: [18] EDGE_IRQ_EN 5422 // 5423 // 0: No interrupt generation 5424 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 5425 // enabled) 5426 #define IOC_IOCFG14_EDGE_IRQ_EN 0x00040000 5427 #define IOC_IOCFG14_EDGE_IRQ_EN_BITN 18 5428 #define IOC_IOCFG14_EDGE_IRQ_EN_M 0x00040000 5429 #define IOC_IOCFG14_EDGE_IRQ_EN_S 18 5430 5431 // Field: [17:16] EDGE_DET 5432 // 5433 // Enable generation of edge detection events on this IO 5434 // ENUMs: 5435 // BOTH Positive and negative edge detection 5436 // POS Positive edge detection 5437 // NEG Negative edge detection 5438 // NONE No edge detection 5439 #define IOC_IOCFG14_EDGE_DET_W 2 5440 #define IOC_IOCFG14_EDGE_DET_M 0x00030000 5441 #define IOC_IOCFG14_EDGE_DET_S 16 5442 #define IOC_IOCFG14_EDGE_DET_BOTH 0x00030000 5443 #define IOC_IOCFG14_EDGE_DET_POS 0x00020000 5444 #define IOC_IOCFG14_EDGE_DET_NEG 0x00010000 5445 #define IOC_IOCFG14_EDGE_DET_NONE 0x00000000 5446 5447 // Field: [14:13] PULL_CTL 5448 // 5449 // Pull control 5450 // ENUMs: 5451 // DIS No pull 5452 // UP Pull up 5453 // DWN Pull down 5454 #define IOC_IOCFG14_PULL_CTL_W 2 5455 #define IOC_IOCFG14_PULL_CTL_M 0x00006000 5456 #define IOC_IOCFG14_PULL_CTL_S 13 5457 #define IOC_IOCFG14_PULL_CTL_DIS 0x00006000 5458 #define IOC_IOCFG14_PULL_CTL_UP 0x00004000 5459 #define IOC_IOCFG14_PULL_CTL_DWN 0x00002000 5460 5461 // Field: [12] SLEW_RED 5462 // 5463 // 0: Normal slew rate 5464 // 1: Enables reduced slew rate in output driver. 5465 #define IOC_IOCFG14_SLEW_RED 0x00001000 5466 #define IOC_IOCFG14_SLEW_RED_BITN 12 5467 #define IOC_IOCFG14_SLEW_RED_M 0x00001000 5468 #define IOC_IOCFG14_SLEW_RED_S 12 5469 5470 // Field: [11:10] IOCURR 5471 // 5472 // Selects IO current mode of this IO. 5473 // ENUMs: 5474 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 5475 // drive strength IOs (min 4 mA for normal IOs) 5476 // when IOSTR is set to AUTO 5477 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 5478 // to AUTO 5479 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 5480 // to AUTO 5481 #define IOC_IOCFG14_IOCURR_W 2 5482 #define IOC_IOCFG14_IOCURR_M 0x00000C00 5483 #define IOC_IOCFG14_IOCURR_S 10 5484 #define IOC_IOCFG14_IOCURR_4_8MA 0x00000800 5485 #define IOC_IOCFG14_IOCURR_4MA 0x00000400 5486 #define IOC_IOCFG14_IOCURR_2MA 0x00000000 5487 5488 // Field: [9:8] IOSTR 5489 // 5490 // Select source for drive strength control of this IO. 5491 // This setting controls the drive strength of the Low-Current (LC) mode. 5492 // Higher drive strength can be selected in IOCURR 5493 // ENUMs: 5494 // MAX Maximum drive strength, controlled by 5495 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 5496 // values) 5497 // MED Medium drive strength, controlled by 5498 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 5499 // values) 5500 // MIN Minimum drive strength, controlled by 5501 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 5502 // values) 5503 // AUTO Automatic drive strength, controlled by AON BATMON 5504 // based on battery voltage. (min 2 mA @VDDS) 5505 #define IOC_IOCFG14_IOSTR_W 2 5506 #define IOC_IOCFG14_IOSTR_M 0x00000300 5507 #define IOC_IOCFG14_IOSTR_S 8 5508 #define IOC_IOCFG14_IOSTR_MAX 0x00000300 5509 #define IOC_IOCFG14_IOSTR_MED 0x00000200 5510 #define IOC_IOCFG14_IOSTR_MIN 0x00000100 5511 #define IOC_IOCFG14_IOSTR_AUTO 0x00000000 5512 5513 // Field: [7] IOEV_RTC_EN 5514 // 5515 // Event asserted by this IO when edge detection is enabled 5516 // 5517 // 0: Input edge detection does not assert RTC event 5518 // 1: Input edge detection asserts RTC event 5519 #define IOC_IOCFG14_IOEV_RTC_EN 0x00000080 5520 #define IOC_IOCFG14_IOEV_RTC_EN_BITN 7 5521 #define IOC_IOCFG14_IOEV_RTC_EN_M 0x00000080 5522 #define IOC_IOCFG14_IOEV_RTC_EN_S 7 5523 5524 // Field: [6] IOEV_MCU_WU_EN 5525 // 5526 // Event asserted by this IO when edge detection is enabled 5527 // 5528 // 0: Input edge detection does not assert MCU_WU event 5529 // 1: Input edge detection asserts MCU_WU event 5530 #define IOC_IOCFG14_IOEV_MCU_WU_EN 0x00000040 5531 #define IOC_IOCFG14_IOEV_MCU_WU_EN_BITN 6 5532 #define IOC_IOCFG14_IOEV_MCU_WU_EN_M 0x00000040 5533 #define IOC_IOCFG14_IOEV_MCU_WU_EN_S 6 5534 5535 // Field: [5:0] PORT_ID 5536 // 5537 // Selects usage for DIO14 5538 // Note: This field should not be written other than the times when PORT_ID 5539 // value is specifically required to change. 5540 // ENUMs: 5541 // RFC_SMI_CL_IN RF Core SMI Command Link In 5542 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 5543 // RFC_SMI_DL_IN RF Core SMI Data Link In 5544 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 5545 // RFC_GPI1 RF Core Data In 1 5546 // RFC_GPI0 RF Core Data In 0 5547 // RFC_GPO3 RF Core Data Out 3 5548 // RFC_GPO2 RF Core Data Out 2 5549 // RFC_GPO1 RF Core Data Out 1 5550 // RFC_GPO0 RF Core Data Out 0 5551 // RFC_TRC RF Core Trace 5552 // I2S_MCLK I2S MCLK 5553 // I2S_BCLK I2S BCLK 5554 // I2S_WCLK I2S WCLK 5555 // I2S_AD1 I2S Data 1 5556 // I2S_AD0 I2S Data 0 5557 // SSI1_CLK SSI1 CLK 5558 // SSI1_FSS SSI1 FSS 5559 // SSI1_TX SSI1 TX 5560 // SSI1_RX SSI1 RX 5561 // CPU_SWV CPU SWV 5562 // PORT_EVENT7 PORT EVENT 7 5563 // Can be used as a general 5564 // purpose IO event by selecting it through 5565 // registers in the EVENT module, for example 5566 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5567 // and so on 5568 // PORT_EVENT6 PORT EVENT 6 5569 // Can be used as a general 5570 // purpose IO event by selecting it through 5571 // registers in the EVENT module, for example 5572 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5573 // and so on 5574 // PORT_EVENT5 PORT EVENT 5 5575 // Can be used as a general 5576 // purpose IO event by selecting it through 5577 // registers in the EVENT module, for example 5578 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5579 // and so on 5580 // PORT_EVENT4 PORT EVENT 4 5581 // Can be used as a general 5582 // purpose IO event by selecting it through 5583 // registers in the EVENT module, for example 5584 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5585 // and so on 5586 // PORT_EVENT3 PORT EVENT 3 5587 // Can be used as a general 5588 // purpose IO event by selecting it through 5589 // registers in the EVENT module, for example 5590 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5591 // and so on 5592 // PORT_EVENT2 PORT EVENT 2 5593 // Can be used as a general 5594 // purpose IO event by selecting it through 5595 // registers in the EVENT module, for example 5596 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5597 // and so on 5598 // PORT_EVENT1 PORT EVENT 1 5599 // Can be used as a general 5600 // purpose IO event by selecting it through 5601 // registers in the EVENT module, for example 5602 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5603 // and so on 5604 // PORT_EVENT0 PORT EVENT 0 5605 // Can be used as a general 5606 // purpose IO event by selecting it through 5607 // registers in the EVENT module, for example 5608 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5609 // and so on 5610 // UART1_RTS UART1 RTS 5611 // UART1_CTS UART1 CTS 5612 // UART1_TX UART1 TX 5613 // UART1_RX UART1 RX 5614 // UART0_RTS UART0 RTS 5615 // UART0_CTS UART0 CTS 5616 // UART0_TX UART0 TX 5617 // UART0_RX UART0 RX 5618 // I2C_MSSCL I2C Clock 5619 // I2C_MSSDA I2C Data 5620 // SSI0_CLK SSI0 CLK 5621 // SSI0_FSS SSI0 FSS 5622 // SSI0_TX SSI0 TX 5623 // SSI0_RX SSI0 RX 5624 // AUX_IO AUX IO 5625 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 5626 // GPIO General Purpose IO 5627 #define IOC_IOCFG14_PORT_ID_W 6 5628 #define IOC_IOCFG14_PORT_ID_M 0x0000003F 5629 #define IOC_IOCFG14_PORT_ID_S 0 5630 #define IOC_IOCFG14_PORT_ID_RFC_SMI_CL_IN 0x00000038 5631 #define IOC_IOCFG14_PORT_ID_RFC_SMI_CL_OUT 0x00000037 5632 #define IOC_IOCFG14_PORT_ID_RFC_SMI_DL_IN 0x00000036 5633 #define IOC_IOCFG14_PORT_ID_RFC_SMI_DL_OUT 0x00000035 5634 #define IOC_IOCFG14_PORT_ID_RFC_GPI1 0x00000034 5635 #define IOC_IOCFG14_PORT_ID_RFC_GPI0 0x00000033 5636 #define IOC_IOCFG14_PORT_ID_RFC_GPO3 0x00000032 5637 #define IOC_IOCFG14_PORT_ID_RFC_GPO2 0x00000031 5638 #define IOC_IOCFG14_PORT_ID_RFC_GPO1 0x00000030 5639 #define IOC_IOCFG14_PORT_ID_RFC_GPO0 0x0000002F 5640 #define IOC_IOCFG14_PORT_ID_RFC_TRC 0x0000002E 5641 #define IOC_IOCFG14_PORT_ID_I2S_MCLK 0x00000029 5642 #define IOC_IOCFG14_PORT_ID_I2S_BCLK 0x00000028 5643 #define IOC_IOCFG14_PORT_ID_I2S_WCLK 0x00000027 5644 #define IOC_IOCFG14_PORT_ID_I2S_AD1 0x00000026 5645 #define IOC_IOCFG14_PORT_ID_I2S_AD0 0x00000025 5646 #define IOC_IOCFG14_PORT_ID_SSI1_CLK 0x00000024 5647 #define IOC_IOCFG14_PORT_ID_SSI1_FSS 0x00000023 5648 #define IOC_IOCFG14_PORT_ID_SSI1_TX 0x00000022 5649 #define IOC_IOCFG14_PORT_ID_SSI1_RX 0x00000021 5650 #define IOC_IOCFG14_PORT_ID_CPU_SWV 0x00000020 5651 #define IOC_IOCFG14_PORT_ID_PORT_EVENT7 0x0000001E 5652 #define IOC_IOCFG14_PORT_ID_PORT_EVENT6 0x0000001D 5653 #define IOC_IOCFG14_PORT_ID_PORT_EVENT5 0x0000001C 5654 #define IOC_IOCFG14_PORT_ID_PORT_EVENT4 0x0000001B 5655 #define IOC_IOCFG14_PORT_ID_PORT_EVENT3 0x0000001A 5656 #define IOC_IOCFG14_PORT_ID_PORT_EVENT2 0x00000019 5657 #define IOC_IOCFG14_PORT_ID_PORT_EVENT1 0x00000018 5658 #define IOC_IOCFG14_PORT_ID_PORT_EVENT0 0x00000017 5659 #define IOC_IOCFG14_PORT_ID_UART1_RTS 0x00000016 5660 #define IOC_IOCFG14_PORT_ID_UART1_CTS 0x00000015 5661 #define IOC_IOCFG14_PORT_ID_UART1_TX 0x00000014 5662 #define IOC_IOCFG14_PORT_ID_UART1_RX 0x00000013 5663 #define IOC_IOCFG14_PORT_ID_UART0_RTS 0x00000012 5664 #define IOC_IOCFG14_PORT_ID_UART0_CTS 0x00000011 5665 #define IOC_IOCFG14_PORT_ID_UART0_TX 0x00000010 5666 #define IOC_IOCFG14_PORT_ID_UART0_RX 0x0000000F 5667 #define IOC_IOCFG14_PORT_ID_I2C_MSSCL 0x0000000E 5668 #define IOC_IOCFG14_PORT_ID_I2C_MSSDA 0x0000000D 5669 #define IOC_IOCFG14_PORT_ID_SSI0_CLK 0x0000000C 5670 #define IOC_IOCFG14_PORT_ID_SSI0_FSS 0x0000000B 5671 #define IOC_IOCFG14_PORT_ID_SSI0_TX 0x0000000A 5672 #define IOC_IOCFG14_PORT_ID_SSI0_RX 0x00000009 5673 #define IOC_IOCFG14_PORT_ID_AUX_IO 0x00000008 5674 #define IOC_IOCFG14_PORT_ID_AON_CLK32K 0x00000007 5675 #define IOC_IOCFG14_PORT_ID_GPIO 0x00000000 5676 5677 //***************************************************************************** 5678 // 5679 // Register: IOC_O_IOCFG15 5680 // 5681 //***************************************************************************** 5682 // Field: [30] HYST_EN 5683 // 5684 // 0: Input hysteresis disable 5685 // 1: Input hysteresis enable 5686 #define IOC_IOCFG15_HYST_EN 0x40000000 5687 #define IOC_IOCFG15_HYST_EN_BITN 30 5688 #define IOC_IOCFG15_HYST_EN_M 0x40000000 5689 #define IOC_IOCFG15_HYST_EN_S 30 5690 5691 // Field: [29] IE 5692 // 5693 // 0: Input disabled 5694 // 1: Input enabled 5695 // 5696 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 5697 // ignored. 5698 #define IOC_IOCFG15_IE 0x20000000 5699 #define IOC_IOCFG15_IE_BITN 29 5700 #define IOC_IOCFG15_IE_M 0x20000000 5701 #define IOC_IOCFG15_IE_S 29 5702 5703 // Field: [28:27] WU_CFG 5704 // 5705 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 5706 // >0x08: 5707 // 5708 // 00: No wake-up 5709 // 01: No wake-up 5710 // 10: Wakes up from shutdown if this pad is going low. 5711 // 11: Wakes up from shutdown if this pad is going high. 5712 // 5713 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 5714 // this register only sets wakeup enable or not. 5715 // 5716 // 00, 01: Wakeup disabled 5717 // 10, 11: Wakeup enabled 5718 // 5719 // Polarity is controlled from AON registers. 5720 // 5721 // Note:When the MSB is set, the IOC will deactivate the output enable for the 5722 // DIO. 5723 #define IOC_IOCFG15_WU_CFG_W 2 5724 #define IOC_IOCFG15_WU_CFG_M 0x18000000 5725 #define IOC_IOCFG15_WU_CFG_S 27 5726 5727 // Field: [26:24] IOMODE 5728 // 5729 // IO Mode 5730 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 5731 // 0x01-0x08 5732 // AUX has its own open_source/drain configuration. 5733 // 5734 // 0x2: Reserved. Undefined behavior. 5735 // 0x3: Reserved. Undefined behavior. 5736 // ENUMs: 5737 // OPENSRC_INV Open Source 5738 // Inverted input / output 5739 // OPENSRC Open Source 5740 // Normal input / output 5741 // OPENDR_INV Open Drain 5742 // Inverted input / output 5743 // OPENDR Open Drain, 5744 // Normal input / output 5745 // INV Inverted input / ouput 5746 // NORMAL Normal input / output 5747 #define IOC_IOCFG15_IOMODE_W 3 5748 #define IOC_IOCFG15_IOMODE_M 0x07000000 5749 #define IOC_IOCFG15_IOMODE_S 24 5750 #define IOC_IOCFG15_IOMODE_OPENSRC_INV 0x07000000 5751 #define IOC_IOCFG15_IOMODE_OPENSRC 0x06000000 5752 #define IOC_IOCFG15_IOMODE_OPENDR_INV 0x05000000 5753 #define IOC_IOCFG15_IOMODE_OPENDR 0x04000000 5754 #define IOC_IOCFG15_IOMODE_INV 0x01000000 5755 #define IOC_IOCFG15_IOMODE_NORMAL 0x00000000 5756 5757 // Field: [23] IOEV_AON_PROG2_EN 5758 // 5759 // Event asserted by this IO when edge detection is enabled 5760 // 5761 // 0: Input edge detection does not assert AON_PROG2 event 5762 // 1: Input edge detection asserts AON_PROG2 event 5763 #define IOC_IOCFG15_IOEV_AON_PROG2_EN 0x00800000 5764 #define IOC_IOCFG15_IOEV_AON_PROG2_EN_BITN 23 5765 #define IOC_IOCFG15_IOEV_AON_PROG2_EN_M 0x00800000 5766 #define IOC_IOCFG15_IOEV_AON_PROG2_EN_S 23 5767 5768 // Field: [22] IOEV_AON_PROG1_EN 5769 // 5770 // Event asserted by this IO when edge detection is enabled 5771 // 5772 // 0: Input edge detection does not assert AON_PROG1 event 5773 // 1: Input edge detection asserts AON_PROG1 event 5774 #define IOC_IOCFG15_IOEV_AON_PROG1_EN 0x00400000 5775 #define IOC_IOCFG15_IOEV_AON_PROG1_EN_BITN 22 5776 #define IOC_IOCFG15_IOEV_AON_PROG1_EN_M 0x00400000 5777 #define IOC_IOCFG15_IOEV_AON_PROG1_EN_S 22 5778 5779 // Field: [21] IOEV_AON_PROG0_EN 5780 // 5781 // Event asserted by this IO when edge detection is enabled 5782 // 5783 // 0: Input edge detection does not assert AON_PROG0 event 5784 // 1: Input edge detection asserts AON_PROG0 event 5785 #define IOC_IOCFG15_IOEV_AON_PROG0_EN 0x00200000 5786 #define IOC_IOCFG15_IOEV_AON_PROG0_EN_BITN 21 5787 #define IOC_IOCFG15_IOEV_AON_PROG0_EN_M 0x00200000 5788 #define IOC_IOCFG15_IOEV_AON_PROG0_EN_S 21 5789 5790 // Field: [18] EDGE_IRQ_EN 5791 // 5792 // 0: No interrupt generation 5793 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 5794 // enabled) 5795 #define IOC_IOCFG15_EDGE_IRQ_EN 0x00040000 5796 #define IOC_IOCFG15_EDGE_IRQ_EN_BITN 18 5797 #define IOC_IOCFG15_EDGE_IRQ_EN_M 0x00040000 5798 #define IOC_IOCFG15_EDGE_IRQ_EN_S 18 5799 5800 // Field: [17:16] EDGE_DET 5801 // 5802 // Enable generation of edge detection events on this IO 5803 // ENUMs: 5804 // BOTH Positive and negative edge detection 5805 // POS Positive edge detection 5806 // NEG Negative edge detection 5807 // NONE No edge detection 5808 #define IOC_IOCFG15_EDGE_DET_W 2 5809 #define IOC_IOCFG15_EDGE_DET_M 0x00030000 5810 #define IOC_IOCFG15_EDGE_DET_S 16 5811 #define IOC_IOCFG15_EDGE_DET_BOTH 0x00030000 5812 #define IOC_IOCFG15_EDGE_DET_POS 0x00020000 5813 #define IOC_IOCFG15_EDGE_DET_NEG 0x00010000 5814 #define IOC_IOCFG15_EDGE_DET_NONE 0x00000000 5815 5816 // Field: [14:13] PULL_CTL 5817 // 5818 // Pull control 5819 // ENUMs: 5820 // DIS No pull 5821 // UP Pull up 5822 // DWN Pull down 5823 #define IOC_IOCFG15_PULL_CTL_W 2 5824 #define IOC_IOCFG15_PULL_CTL_M 0x00006000 5825 #define IOC_IOCFG15_PULL_CTL_S 13 5826 #define IOC_IOCFG15_PULL_CTL_DIS 0x00006000 5827 #define IOC_IOCFG15_PULL_CTL_UP 0x00004000 5828 #define IOC_IOCFG15_PULL_CTL_DWN 0x00002000 5829 5830 // Field: [12] SLEW_RED 5831 // 5832 // 0: Normal slew rate 5833 // 1: Enables reduced slew rate in output driver. 5834 #define IOC_IOCFG15_SLEW_RED 0x00001000 5835 #define IOC_IOCFG15_SLEW_RED_BITN 12 5836 #define IOC_IOCFG15_SLEW_RED_M 0x00001000 5837 #define IOC_IOCFG15_SLEW_RED_S 12 5838 5839 // Field: [11:10] IOCURR 5840 // 5841 // Selects IO current mode of this IO. 5842 // ENUMs: 5843 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 5844 // drive strength IOs (min 4 mA for normal IOs) 5845 // when IOSTR is set to AUTO 5846 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 5847 // to AUTO 5848 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 5849 // to AUTO 5850 #define IOC_IOCFG15_IOCURR_W 2 5851 #define IOC_IOCFG15_IOCURR_M 0x00000C00 5852 #define IOC_IOCFG15_IOCURR_S 10 5853 #define IOC_IOCFG15_IOCURR_4_8MA 0x00000800 5854 #define IOC_IOCFG15_IOCURR_4MA 0x00000400 5855 #define IOC_IOCFG15_IOCURR_2MA 0x00000000 5856 5857 // Field: [9:8] IOSTR 5858 // 5859 // Select source for drive strength control of this IO. 5860 // This setting controls the drive strength of the Low-Current (LC) mode. 5861 // Higher drive strength can be selected in IOCURR 5862 // ENUMs: 5863 // MAX Maximum drive strength, controlled by 5864 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 5865 // values) 5866 // MED Medium drive strength, controlled by 5867 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 5868 // values) 5869 // MIN Minimum drive strength, controlled by 5870 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 5871 // values) 5872 // AUTO Automatic drive strength, controlled by AON BATMON 5873 // based on battery voltage. (min 2 mA @VDDS) 5874 #define IOC_IOCFG15_IOSTR_W 2 5875 #define IOC_IOCFG15_IOSTR_M 0x00000300 5876 #define IOC_IOCFG15_IOSTR_S 8 5877 #define IOC_IOCFG15_IOSTR_MAX 0x00000300 5878 #define IOC_IOCFG15_IOSTR_MED 0x00000200 5879 #define IOC_IOCFG15_IOSTR_MIN 0x00000100 5880 #define IOC_IOCFG15_IOSTR_AUTO 0x00000000 5881 5882 // Field: [7] IOEV_RTC_EN 5883 // 5884 // Event asserted by this IO when edge detection is enabled 5885 // 5886 // 0: Input edge detection does not assert RTC event 5887 // 1: Input edge detection asserts RTC event 5888 #define IOC_IOCFG15_IOEV_RTC_EN 0x00000080 5889 #define IOC_IOCFG15_IOEV_RTC_EN_BITN 7 5890 #define IOC_IOCFG15_IOEV_RTC_EN_M 0x00000080 5891 #define IOC_IOCFG15_IOEV_RTC_EN_S 7 5892 5893 // Field: [6] IOEV_MCU_WU_EN 5894 // 5895 // Event asserted by this IO when edge detection is enabled 5896 // 5897 // 0: Input edge detection does not assert MCU_WU event 5898 // 1: Input edge detection asserts MCU_WU event 5899 #define IOC_IOCFG15_IOEV_MCU_WU_EN 0x00000040 5900 #define IOC_IOCFG15_IOEV_MCU_WU_EN_BITN 6 5901 #define IOC_IOCFG15_IOEV_MCU_WU_EN_M 0x00000040 5902 #define IOC_IOCFG15_IOEV_MCU_WU_EN_S 6 5903 5904 // Field: [5:0] PORT_ID 5905 // 5906 // Selects usage for DIO15 5907 // Note: This field should not be written other than the times when PORT_ID 5908 // value is specifically required to change. 5909 // ENUMs: 5910 // RFC_SMI_CL_IN RF Core SMI Command Link In 5911 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 5912 // RFC_SMI_DL_IN RF Core SMI Data Link In 5913 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 5914 // RFC_GPI1 RF Core Data In 1 5915 // RFC_GPI0 RF Core Data In 0 5916 // RFC_GPO3 RF Core Data Out 3 5917 // RFC_GPO2 RF Core Data Out 2 5918 // RFC_GPO1 RF Core Data Out 1 5919 // RFC_GPO0 RF Core Data Out 0 5920 // RFC_TRC RF Core Trace 5921 // I2S_MCLK I2S MCLK 5922 // I2S_BCLK I2S BCLK 5923 // I2S_WCLK I2S WCLK 5924 // I2S_AD1 I2S Data 1 5925 // I2S_AD0 I2S Data 0 5926 // SSI1_CLK SSI1 CLK 5927 // SSI1_FSS SSI1 FSS 5928 // SSI1_TX SSI1 TX 5929 // SSI1_RX SSI1 RX 5930 // CPU_SWV CPU SWV 5931 // PORT_EVENT7 PORT EVENT 7 5932 // Can be used as a general 5933 // purpose IO event by selecting it through 5934 // registers in the EVENT module, for example 5935 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5936 // and so on 5937 // PORT_EVENT6 PORT EVENT 6 5938 // Can be used as a general 5939 // purpose IO event by selecting it through 5940 // registers in the EVENT module, for example 5941 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5942 // and so on 5943 // PORT_EVENT5 PORT EVENT 5 5944 // Can be used as a general 5945 // purpose IO event by selecting it through 5946 // registers in the EVENT module, for example 5947 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5948 // and so on 5949 // PORT_EVENT4 PORT EVENT 4 5950 // Can be used as a general 5951 // purpose IO event by selecting it through 5952 // registers in the EVENT module, for example 5953 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5954 // and so on 5955 // PORT_EVENT3 PORT EVENT 3 5956 // Can be used as a general 5957 // purpose IO event by selecting it through 5958 // registers in the EVENT module, for example 5959 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5960 // and so on 5961 // PORT_EVENT2 PORT EVENT 2 5962 // Can be used as a general 5963 // purpose IO event by selecting it through 5964 // registers in the EVENT module, for example 5965 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5966 // and so on 5967 // PORT_EVENT1 PORT EVENT 1 5968 // Can be used as a general 5969 // purpose IO event by selecting it through 5970 // registers in the EVENT module, for example 5971 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5972 // and so on 5973 // PORT_EVENT0 PORT EVENT 0 5974 // Can be used as a general 5975 // purpose IO event by selecting it through 5976 // registers in the EVENT module, for example 5977 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 5978 // and so on 5979 // UART1_RTS UART1 RTS 5980 // UART1_CTS UART1 CTS 5981 // UART1_TX UART1 TX 5982 // UART1_RX UART1 RX 5983 // UART0_RTS UART0 RTS 5984 // UART0_CTS UART0 CTS 5985 // UART0_TX UART0 TX 5986 // UART0_RX UART0 RX 5987 // I2C_MSSCL I2C Clock 5988 // I2C_MSSDA I2C Data 5989 // SSI0_CLK SSI0 CLK 5990 // SSI0_FSS SSI0 FSS 5991 // SSI0_TX SSI0 TX 5992 // SSI0_RX SSI0 RX 5993 // AUX_IO AUX IO 5994 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 5995 // GPIO General Purpose IO 5996 #define IOC_IOCFG15_PORT_ID_W 6 5997 #define IOC_IOCFG15_PORT_ID_M 0x0000003F 5998 #define IOC_IOCFG15_PORT_ID_S 0 5999 #define IOC_IOCFG15_PORT_ID_RFC_SMI_CL_IN 0x00000038 6000 #define IOC_IOCFG15_PORT_ID_RFC_SMI_CL_OUT 0x00000037 6001 #define IOC_IOCFG15_PORT_ID_RFC_SMI_DL_IN 0x00000036 6002 #define IOC_IOCFG15_PORT_ID_RFC_SMI_DL_OUT 0x00000035 6003 #define IOC_IOCFG15_PORT_ID_RFC_GPI1 0x00000034 6004 #define IOC_IOCFG15_PORT_ID_RFC_GPI0 0x00000033 6005 #define IOC_IOCFG15_PORT_ID_RFC_GPO3 0x00000032 6006 #define IOC_IOCFG15_PORT_ID_RFC_GPO2 0x00000031 6007 #define IOC_IOCFG15_PORT_ID_RFC_GPO1 0x00000030 6008 #define IOC_IOCFG15_PORT_ID_RFC_GPO0 0x0000002F 6009 #define IOC_IOCFG15_PORT_ID_RFC_TRC 0x0000002E 6010 #define IOC_IOCFG15_PORT_ID_I2S_MCLK 0x00000029 6011 #define IOC_IOCFG15_PORT_ID_I2S_BCLK 0x00000028 6012 #define IOC_IOCFG15_PORT_ID_I2S_WCLK 0x00000027 6013 #define IOC_IOCFG15_PORT_ID_I2S_AD1 0x00000026 6014 #define IOC_IOCFG15_PORT_ID_I2S_AD0 0x00000025 6015 #define IOC_IOCFG15_PORT_ID_SSI1_CLK 0x00000024 6016 #define IOC_IOCFG15_PORT_ID_SSI1_FSS 0x00000023 6017 #define IOC_IOCFG15_PORT_ID_SSI1_TX 0x00000022 6018 #define IOC_IOCFG15_PORT_ID_SSI1_RX 0x00000021 6019 #define IOC_IOCFG15_PORT_ID_CPU_SWV 0x00000020 6020 #define IOC_IOCFG15_PORT_ID_PORT_EVENT7 0x0000001E 6021 #define IOC_IOCFG15_PORT_ID_PORT_EVENT6 0x0000001D 6022 #define IOC_IOCFG15_PORT_ID_PORT_EVENT5 0x0000001C 6023 #define IOC_IOCFG15_PORT_ID_PORT_EVENT4 0x0000001B 6024 #define IOC_IOCFG15_PORT_ID_PORT_EVENT3 0x0000001A 6025 #define IOC_IOCFG15_PORT_ID_PORT_EVENT2 0x00000019 6026 #define IOC_IOCFG15_PORT_ID_PORT_EVENT1 0x00000018 6027 #define IOC_IOCFG15_PORT_ID_PORT_EVENT0 0x00000017 6028 #define IOC_IOCFG15_PORT_ID_UART1_RTS 0x00000016 6029 #define IOC_IOCFG15_PORT_ID_UART1_CTS 0x00000015 6030 #define IOC_IOCFG15_PORT_ID_UART1_TX 0x00000014 6031 #define IOC_IOCFG15_PORT_ID_UART1_RX 0x00000013 6032 #define IOC_IOCFG15_PORT_ID_UART0_RTS 0x00000012 6033 #define IOC_IOCFG15_PORT_ID_UART0_CTS 0x00000011 6034 #define IOC_IOCFG15_PORT_ID_UART0_TX 0x00000010 6035 #define IOC_IOCFG15_PORT_ID_UART0_RX 0x0000000F 6036 #define IOC_IOCFG15_PORT_ID_I2C_MSSCL 0x0000000E 6037 #define IOC_IOCFG15_PORT_ID_I2C_MSSDA 0x0000000D 6038 #define IOC_IOCFG15_PORT_ID_SSI0_CLK 0x0000000C 6039 #define IOC_IOCFG15_PORT_ID_SSI0_FSS 0x0000000B 6040 #define IOC_IOCFG15_PORT_ID_SSI0_TX 0x0000000A 6041 #define IOC_IOCFG15_PORT_ID_SSI0_RX 0x00000009 6042 #define IOC_IOCFG15_PORT_ID_AUX_IO 0x00000008 6043 #define IOC_IOCFG15_PORT_ID_AON_CLK32K 0x00000007 6044 #define IOC_IOCFG15_PORT_ID_GPIO 0x00000000 6045 6046 //***************************************************************************** 6047 // 6048 // Register: IOC_O_IOCFG16 6049 // 6050 //***************************************************************************** 6051 // Field: [30] HYST_EN 6052 // 6053 // 0: Input hysteresis disable 6054 // 1: Input hysteresis enable 6055 #define IOC_IOCFG16_HYST_EN 0x40000000 6056 #define IOC_IOCFG16_HYST_EN_BITN 30 6057 #define IOC_IOCFG16_HYST_EN_M 0x40000000 6058 #define IOC_IOCFG16_HYST_EN_S 30 6059 6060 // Field: [29] IE 6061 // 6062 // 0: Input disabled 6063 // 1: Input enabled 6064 // 6065 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 6066 // ignored. 6067 #define IOC_IOCFG16_IE 0x20000000 6068 #define IOC_IOCFG16_IE_BITN 29 6069 #define IOC_IOCFG16_IE_M 0x20000000 6070 #define IOC_IOCFG16_IE_S 29 6071 6072 // Field: [28:27] WU_CFG 6073 // 6074 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 6075 // >0x08: 6076 // 6077 // 00: No wake-up 6078 // 01: No wake-up 6079 // 10: Wakes up from shutdown if this pad is going low. 6080 // 11: Wakes up from shutdown if this pad is going high. 6081 // 6082 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 6083 // this register only sets wakeup enable or not. 6084 // 6085 // 00, 01: Wakeup disabled 6086 // 10, 11: Wakeup enabled 6087 // 6088 // Polarity is controlled from AON registers. 6089 // 6090 // Note:When the MSB is set, the IOC will deactivate the output enable for the 6091 // DIO. 6092 #define IOC_IOCFG16_WU_CFG_W 2 6093 #define IOC_IOCFG16_WU_CFG_M 0x18000000 6094 #define IOC_IOCFG16_WU_CFG_S 27 6095 6096 // Field: [26:24] IOMODE 6097 // 6098 // IO Mode 6099 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 6100 // 0x01-0x08 6101 // AUX has its own open_source/drain configuration. 6102 // 6103 // 0x2: Reserved. Undefined behavior. 6104 // 0x3: Reserved. Undefined behavior. 6105 // ENUMs: 6106 // OPENSRC_INV Open Source 6107 // Inverted input / output 6108 // OPENSRC Open Source 6109 // Normal input / output 6110 // OPENDR_INV Open Drain 6111 // Inverted input / output 6112 // OPENDR Open Drain, 6113 // Normal input / output 6114 // INV Inverted input / ouput 6115 // NORMAL Normal input / output 6116 #define IOC_IOCFG16_IOMODE_W 3 6117 #define IOC_IOCFG16_IOMODE_M 0x07000000 6118 #define IOC_IOCFG16_IOMODE_S 24 6119 #define IOC_IOCFG16_IOMODE_OPENSRC_INV 0x07000000 6120 #define IOC_IOCFG16_IOMODE_OPENSRC 0x06000000 6121 #define IOC_IOCFG16_IOMODE_OPENDR_INV 0x05000000 6122 #define IOC_IOCFG16_IOMODE_OPENDR 0x04000000 6123 #define IOC_IOCFG16_IOMODE_INV 0x01000000 6124 #define IOC_IOCFG16_IOMODE_NORMAL 0x00000000 6125 6126 // Field: [23] IOEV_AON_PROG2_EN 6127 // 6128 // Event asserted by this IO when edge detection is enabled 6129 // 6130 // 0: Input edge detection does not assert AON_PROG2 event 6131 // 1: Input edge detection asserts AON_PROG2 event 6132 #define IOC_IOCFG16_IOEV_AON_PROG2_EN 0x00800000 6133 #define IOC_IOCFG16_IOEV_AON_PROG2_EN_BITN 23 6134 #define IOC_IOCFG16_IOEV_AON_PROG2_EN_M 0x00800000 6135 #define IOC_IOCFG16_IOEV_AON_PROG2_EN_S 23 6136 6137 // Field: [22] IOEV_AON_PROG1_EN 6138 // 6139 // Event asserted by this IO when edge detection is enabled 6140 // 6141 // 0: Input edge detection does not assert AON_PROG1 event 6142 // 1: Input edge detection asserts AON_PROG1 event 6143 #define IOC_IOCFG16_IOEV_AON_PROG1_EN 0x00400000 6144 #define IOC_IOCFG16_IOEV_AON_PROG1_EN_BITN 22 6145 #define IOC_IOCFG16_IOEV_AON_PROG1_EN_M 0x00400000 6146 #define IOC_IOCFG16_IOEV_AON_PROG1_EN_S 22 6147 6148 // Field: [21] IOEV_AON_PROG0_EN 6149 // 6150 // Event asserted by this IO when edge detection is enabled 6151 // 6152 // 0: Input edge detection does not assert AON_PROG0 event 6153 // 1: Input edge detection asserts AON_PROG0 event 6154 #define IOC_IOCFG16_IOEV_AON_PROG0_EN 0x00200000 6155 #define IOC_IOCFG16_IOEV_AON_PROG0_EN_BITN 21 6156 #define IOC_IOCFG16_IOEV_AON_PROG0_EN_M 0x00200000 6157 #define IOC_IOCFG16_IOEV_AON_PROG0_EN_S 21 6158 6159 // Field: [18] EDGE_IRQ_EN 6160 // 6161 // 0: No interrupt generation 6162 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 6163 // enabled) 6164 #define IOC_IOCFG16_EDGE_IRQ_EN 0x00040000 6165 #define IOC_IOCFG16_EDGE_IRQ_EN_BITN 18 6166 #define IOC_IOCFG16_EDGE_IRQ_EN_M 0x00040000 6167 #define IOC_IOCFG16_EDGE_IRQ_EN_S 18 6168 6169 // Field: [17:16] EDGE_DET 6170 // 6171 // Enable generation of edge detection events on this IO 6172 // ENUMs: 6173 // BOTH Positive and negative edge detection 6174 // POS Positive edge detection 6175 // NEG Negative edge detection 6176 // NONE No edge detection 6177 #define IOC_IOCFG16_EDGE_DET_W 2 6178 #define IOC_IOCFG16_EDGE_DET_M 0x00030000 6179 #define IOC_IOCFG16_EDGE_DET_S 16 6180 #define IOC_IOCFG16_EDGE_DET_BOTH 0x00030000 6181 #define IOC_IOCFG16_EDGE_DET_POS 0x00020000 6182 #define IOC_IOCFG16_EDGE_DET_NEG 0x00010000 6183 #define IOC_IOCFG16_EDGE_DET_NONE 0x00000000 6184 6185 // Field: [14:13] PULL_CTL 6186 // 6187 // Pull control 6188 // ENUMs: 6189 // DIS No pull 6190 // UP Pull up 6191 // DWN Pull down 6192 #define IOC_IOCFG16_PULL_CTL_W 2 6193 #define IOC_IOCFG16_PULL_CTL_M 0x00006000 6194 #define IOC_IOCFG16_PULL_CTL_S 13 6195 #define IOC_IOCFG16_PULL_CTL_DIS 0x00006000 6196 #define IOC_IOCFG16_PULL_CTL_UP 0x00004000 6197 #define IOC_IOCFG16_PULL_CTL_DWN 0x00002000 6198 6199 // Field: [12] SLEW_RED 6200 // 6201 // 0: Normal slew rate 6202 // 1: Enables reduced slew rate in output driver. 6203 #define IOC_IOCFG16_SLEW_RED 0x00001000 6204 #define IOC_IOCFG16_SLEW_RED_BITN 12 6205 #define IOC_IOCFG16_SLEW_RED_M 0x00001000 6206 #define IOC_IOCFG16_SLEW_RED_S 12 6207 6208 // Field: [11:10] IOCURR 6209 // 6210 // Selects IO current mode of this IO. 6211 // ENUMs: 6212 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 6213 // drive strength IOs (min 4 mA for normal IOs) 6214 // when IOSTR is set to AUTO 6215 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 6216 // to AUTO 6217 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 6218 // to AUTO 6219 #define IOC_IOCFG16_IOCURR_W 2 6220 #define IOC_IOCFG16_IOCURR_M 0x00000C00 6221 #define IOC_IOCFG16_IOCURR_S 10 6222 #define IOC_IOCFG16_IOCURR_4_8MA 0x00000800 6223 #define IOC_IOCFG16_IOCURR_4MA 0x00000400 6224 #define IOC_IOCFG16_IOCURR_2MA 0x00000000 6225 6226 // Field: [9:8] IOSTR 6227 // 6228 // Select source for drive strength control of this IO. 6229 // This setting controls the drive strength of the Low-Current (LC) mode. 6230 // Higher drive strength can be selected in IOCURR 6231 // ENUMs: 6232 // MAX Maximum drive strength, controlled by 6233 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 6234 // values) 6235 // MED Medium drive strength, controlled by 6236 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 6237 // values) 6238 // MIN Minimum drive strength, controlled by 6239 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 6240 // values) 6241 // AUTO Automatic drive strength, controlled by AON BATMON 6242 // based on battery voltage. (min 2 mA @VDDS) 6243 #define IOC_IOCFG16_IOSTR_W 2 6244 #define IOC_IOCFG16_IOSTR_M 0x00000300 6245 #define IOC_IOCFG16_IOSTR_S 8 6246 #define IOC_IOCFG16_IOSTR_MAX 0x00000300 6247 #define IOC_IOCFG16_IOSTR_MED 0x00000200 6248 #define IOC_IOCFG16_IOSTR_MIN 0x00000100 6249 #define IOC_IOCFG16_IOSTR_AUTO 0x00000000 6250 6251 // Field: [7] IOEV_RTC_EN 6252 // 6253 // Event asserted by this IO when edge detection is enabled 6254 // 6255 // 0: Input edge detection does not assert RTC event 6256 // 1: Input edge detection asserts RTC event 6257 #define IOC_IOCFG16_IOEV_RTC_EN 0x00000080 6258 #define IOC_IOCFG16_IOEV_RTC_EN_BITN 7 6259 #define IOC_IOCFG16_IOEV_RTC_EN_M 0x00000080 6260 #define IOC_IOCFG16_IOEV_RTC_EN_S 7 6261 6262 // Field: [6] IOEV_MCU_WU_EN 6263 // 6264 // Event asserted by this IO when edge detection is enabled 6265 // 6266 // 0: Input edge detection does not assert MCU_WU event 6267 // 1: Input edge detection asserts MCU_WU event 6268 #define IOC_IOCFG16_IOEV_MCU_WU_EN 0x00000040 6269 #define IOC_IOCFG16_IOEV_MCU_WU_EN_BITN 6 6270 #define IOC_IOCFG16_IOEV_MCU_WU_EN_M 0x00000040 6271 #define IOC_IOCFG16_IOEV_MCU_WU_EN_S 6 6272 6273 // Field: [5:0] PORT_ID 6274 // 6275 // Selects usage for DIO16 6276 // Note: This field should not be written other than the times when PORT_ID 6277 // value is specifically required to change. 6278 // ENUMs: 6279 // RFC_SMI_CL_IN RF Core SMI Command Link In 6280 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 6281 // RFC_SMI_DL_IN RF Core SMI Data Link In 6282 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 6283 // RFC_GPI1 RF Core Data In 1 6284 // RFC_GPI0 RF Core Data In 0 6285 // RFC_GPO3 RF Core Data Out 3 6286 // RFC_GPO2 RF Core Data Out 2 6287 // RFC_GPO1 RF Core Data Out 1 6288 // RFC_GPO0 RF Core Data Out 0 6289 // RFC_TRC RF Core Trace 6290 // I2S_MCLK I2S MCLK 6291 // I2S_BCLK I2S BCLK 6292 // I2S_WCLK I2S WCLK 6293 // I2S_AD1 I2S Data 1 6294 // I2S_AD0 I2S Data 0 6295 // SSI1_CLK SSI1 CLK 6296 // SSI1_FSS SSI1 FSS 6297 // SSI1_TX SSI1 TX 6298 // SSI1_RX SSI1 RX 6299 // CPU_SWV CPU SWV 6300 // PORT_EVENT7 PORT EVENT 7 6301 // Can be used as a general 6302 // purpose IO event by selecting it through 6303 // registers in the EVENT module, for example 6304 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6305 // and so on 6306 // PORT_EVENT6 PORT EVENT 6 6307 // Can be used as a general 6308 // purpose IO event by selecting it through 6309 // registers in the EVENT module, for example 6310 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6311 // and so on 6312 // PORT_EVENT5 PORT EVENT 5 6313 // Can be used as a general 6314 // purpose IO event by selecting it through 6315 // registers in the EVENT module, for example 6316 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6317 // and so on 6318 // PORT_EVENT4 PORT EVENT 4 6319 // Can be used as a general 6320 // purpose IO event by selecting it through 6321 // registers in the EVENT module, for example 6322 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6323 // and so on 6324 // PORT_EVENT3 PORT EVENT 3 6325 // Can be used as a general 6326 // purpose IO event by selecting it through 6327 // registers in the EVENT module, for example 6328 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6329 // and so on 6330 // PORT_EVENT2 PORT EVENT 2 6331 // Can be used as a general 6332 // purpose IO event by selecting it through 6333 // registers in the EVENT module, for example 6334 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6335 // and so on 6336 // PORT_EVENT1 PORT EVENT 1 6337 // Can be used as a general 6338 // purpose IO event by selecting it through 6339 // registers in the EVENT module, for example 6340 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6341 // and so on 6342 // PORT_EVENT0 PORT EVENT 0 6343 // Can be used as a general 6344 // purpose IO event by selecting it through 6345 // registers in the EVENT module, for example 6346 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6347 // and so on 6348 // UART1_RTS UART1 RTS 6349 // UART1_CTS UART1 CTS 6350 // UART1_TX UART1 TX 6351 // UART1_RX UART1 RX 6352 // UART0_RTS UART0 RTS 6353 // UART0_CTS UART0 CTS 6354 // UART0_TX UART0 TX 6355 // UART0_RX UART0 RX 6356 // I2C_MSSCL I2C Clock 6357 // I2C_MSSDA I2C Data 6358 // SSI0_CLK SSI0 CLK 6359 // SSI0_FSS SSI0 FSS 6360 // SSI0_TX SSI0 TX 6361 // SSI0_RX SSI0 RX 6362 // AUX_IO AUX IO 6363 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 6364 // GPIO General Purpose IO 6365 #define IOC_IOCFG16_PORT_ID_W 6 6366 #define IOC_IOCFG16_PORT_ID_M 0x0000003F 6367 #define IOC_IOCFG16_PORT_ID_S 0 6368 #define IOC_IOCFG16_PORT_ID_RFC_SMI_CL_IN 0x00000038 6369 #define IOC_IOCFG16_PORT_ID_RFC_SMI_CL_OUT 0x00000037 6370 #define IOC_IOCFG16_PORT_ID_RFC_SMI_DL_IN 0x00000036 6371 #define IOC_IOCFG16_PORT_ID_RFC_SMI_DL_OUT 0x00000035 6372 #define IOC_IOCFG16_PORT_ID_RFC_GPI1 0x00000034 6373 #define IOC_IOCFG16_PORT_ID_RFC_GPI0 0x00000033 6374 #define IOC_IOCFG16_PORT_ID_RFC_GPO3 0x00000032 6375 #define IOC_IOCFG16_PORT_ID_RFC_GPO2 0x00000031 6376 #define IOC_IOCFG16_PORT_ID_RFC_GPO1 0x00000030 6377 #define IOC_IOCFG16_PORT_ID_RFC_GPO0 0x0000002F 6378 #define IOC_IOCFG16_PORT_ID_RFC_TRC 0x0000002E 6379 #define IOC_IOCFG16_PORT_ID_I2S_MCLK 0x00000029 6380 #define IOC_IOCFG16_PORT_ID_I2S_BCLK 0x00000028 6381 #define IOC_IOCFG16_PORT_ID_I2S_WCLK 0x00000027 6382 #define IOC_IOCFG16_PORT_ID_I2S_AD1 0x00000026 6383 #define IOC_IOCFG16_PORT_ID_I2S_AD0 0x00000025 6384 #define IOC_IOCFG16_PORT_ID_SSI1_CLK 0x00000024 6385 #define IOC_IOCFG16_PORT_ID_SSI1_FSS 0x00000023 6386 #define IOC_IOCFG16_PORT_ID_SSI1_TX 0x00000022 6387 #define IOC_IOCFG16_PORT_ID_SSI1_RX 0x00000021 6388 #define IOC_IOCFG16_PORT_ID_CPU_SWV 0x00000020 6389 #define IOC_IOCFG16_PORT_ID_PORT_EVENT7 0x0000001E 6390 #define IOC_IOCFG16_PORT_ID_PORT_EVENT6 0x0000001D 6391 #define IOC_IOCFG16_PORT_ID_PORT_EVENT5 0x0000001C 6392 #define IOC_IOCFG16_PORT_ID_PORT_EVENT4 0x0000001B 6393 #define IOC_IOCFG16_PORT_ID_PORT_EVENT3 0x0000001A 6394 #define IOC_IOCFG16_PORT_ID_PORT_EVENT2 0x00000019 6395 #define IOC_IOCFG16_PORT_ID_PORT_EVENT1 0x00000018 6396 #define IOC_IOCFG16_PORT_ID_PORT_EVENT0 0x00000017 6397 #define IOC_IOCFG16_PORT_ID_UART1_RTS 0x00000016 6398 #define IOC_IOCFG16_PORT_ID_UART1_CTS 0x00000015 6399 #define IOC_IOCFG16_PORT_ID_UART1_TX 0x00000014 6400 #define IOC_IOCFG16_PORT_ID_UART1_RX 0x00000013 6401 #define IOC_IOCFG16_PORT_ID_UART0_RTS 0x00000012 6402 #define IOC_IOCFG16_PORT_ID_UART0_CTS 0x00000011 6403 #define IOC_IOCFG16_PORT_ID_UART0_TX 0x00000010 6404 #define IOC_IOCFG16_PORT_ID_UART0_RX 0x0000000F 6405 #define IOC_IOCFG16_PORT_ID_I2C_MSSCL 0x0000000E 6406 #define IOC_IOCFG16_PORT_ID_I2C_MSSDA 0x0000000D 6407 #define IOC_IOCFG16_PORT_ID_SSI0_CLK 0x0000000C 6408 #define IOC_IOCFG16_PORT_ID_SSI0_FSS 0x0000000B 6409 #define IOC_IOCFG16_PORT_ID_SSI0_TX 0x0000000A 6410 #define IOC_IOCFG16_PORT_ID_SSI0_RX 0x00000009 6411 #define IOC_IOCFG16_PORT_ID_AUX_IO 0x00000008 6412 #define IOC_IOCFG16_PORT_ID_AON_CLK32K 0x00000007 6413 #define IOC_IOCFG16_PORT_ID_GPIO 0x00000000 6414 6415 //***************************************************************************** 6416 // 6417 // Register: IOC_O_IOCFG17 6418 // 6419 //***************************************************************************** 6420 // Field: [30] HYST_EN 6421 // 6422 // 0: Input hysteresis disable 6423 // 1: Input hysteresis enable 6424 #define IOC_IOCFG17_HYST_EN 0x40000000 6425 #define IOC_IOCFG17_HYST_EN_BITN 30 6426 #define IOC_IOCFG17_HYST_EN_M 0x40000000 6427 #define IOC_IOCFG17_HYST_EN_S 30 6428 6429 // Field: [29] IE 6430 // 6431 // 0: Input disabled 6432 // 1: Input enabled 6433 // 6434 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 6435 // ignored. 6436 #define IOC_IOCFG17_IE 0x20000000 6437 #define IOC_IOCFG17_IE_BITN 29 6438 #define IOC_IOCFG17_IE_M 0x20000000 6439 #define IOC_IOCFG17_IE_S 29 6440 6441 // Field: [28:27] WU_CFG 6442 // 6443 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 6444 // >0x08: 6445 // 6446 // 00: No wake-up 6447 // 01: No wake-up 6448 // 10: Wakes up from shutdown if this pad is going low. 6449 // 11: Wakes up from shutdown if this pad is going high. 6450 // 6451 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 6452 // this register only sets wakeup enable or not. 6453 // 6454 // 00, 01: Wakeup disabled 6455 // 10, 11: Wakeup enabled 6456 // 6457 // Polarity is controlled from AON registers. 6458 // 6459 // Note:When the MSB is set, the IOC will deactivate the output enable for the 6460 // DIO. 6461 #define IOC_IOCFG17_WU_CFG_W 2 6462 #define IOC_IOCFG17_WU_CFG_M 0x18000000 6463 #define IOC_IOCFG17_WU_CFG_S 27 6464 6465 // Field: [26:24] IOMODE 6466 // 6467 // IO Mode 6468 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 6469 // 0x01-0x08 6470 // AUX has its own open_source/drain configuration. 6471 // 6472 // 0x2: Reserved. Undefined behavior. 6473 // 0x3: Reserved. Undefined behavior. 6474 // ENUMs: 6475 // OPENSRC_INV Open Source 6476 // Inverted input / output 6477 // OPENSRC Open Source 6478 // Normal input / output 6479 // OPENDR_INV Open Drain 6480 // Inverted input / output 6481 // OPENDR Open Drain, 6482 // Normal input / output 6483 // INV Inverted input / ouput 6484 // NORMAL Normal input / output 6485 #define IOC_IOCFG17_IOMODE_W 3 6486 #define IOC_IOCFG17_IOMODE_M 0x07000000 6487 #define IOC_IOCFG17_IOMODE_S 24 6488 #define IOC_IOCFG17_IOMODE_OPENSRC_INV 0x07000000 6489 #define IOC_IOCFG17_IOMODE_OPENSRC 0x06000000 6490 #define IOC_IOCFG17_IOMODE_OPENDR_INV 0x05000000 6491 #define IOC_IOCFG17_IOMODE_OPENDR 0x04000000 6492 #define IOC_IOCFG17_IOMODE_INV 0x01000000 6493 #define IOC_IOCFG17_IOMODE_NORMAL 0x00000000 6494 6495 // Field: [23] IOEV_AON_PROG2_EN 6496 // 6497 // Event asserted by this IO when edge detection is enabled 6498 // 6499 // 0: Input edge detection does not assert AON_PROG2 event 6500 // 1: Input edge detection asserts AON_PROG2 event 6501 #define IOC_IOCFG17_IOEV_AON_PROG2_EN 0x00800000 6502 #define IOC_IOCFG17_IOEV_AON_PROG2_EN_BITN 23 6503 #define IOC_IOCFG17_IOEV_AON_PROG2_EN_M 0x00800000 6504 #define IOC_IOCFG17_IOEV_AON_PROG2_EN_S 23 6505 6506 // Field: [22] IOEV_AON_PROG1_EN 6507 // 6508 // Event asserted by this IO when edge detection is enabled 6509 // 6510 // 0: Input edge detection does not assert AON_PROG1 event 6511 // 1: Input edge detection asserts AON_PROG1 event 6512 #define IOC_IOCFG17_IOEV_AON_PROG1_EN 0x00400000 6513 #define IOC_IOCFG17_IOEV_AON_PROG1_EN_BITN 22 6514 #define IOC_IOCFG17_IOEV_AON_PROG1_EN_M 0x00400000 6515 #define IOC_IOCFG17_IOEV_AON_PROG1_EN_S 22 6516 6517 // Field: [21] IOEV_AON_PROG0_EN 6518 // 6519 // Event asserted by this IO when edge detection is enabled 6520 // 6521 // 0: Input edge detection does not assert AON_PROG0 event 6522 // 1: Input edge detection asserts AON_PROG0 event 6523 #define IOC_IOCFG17_IOEV_AON_PROG0_EN 0x00200000 6524 #define IOC_IOCFG17_IOEV_AON_PROG0_EN_BITN 21 6525 #define IOC_IOCFG17_IOEV_AON_PROG0_EN_M 0x00200000 6526 #define IOC_IOCFG17_IOEV_AON_PROG0_EN_S 21 6527 6528 // Field: [18] EDGE_IRQ_EN 6529 // 6530 // 0: No interrupt generation 6531 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 6532 // enabled) 6533 #define IOC_IOCFG17_EDGE_IRQ_EN 0x00040000 6534 #define IOC_IOCFG17_EDGE_IRQ_EN_BITN 18 6535 #define IOC_IOCFG17_EDGE_IRQ_EN_M 0x00040000 6536 #define IOC_IOCFG17_EDGE_IRQ_EN_S 18 6537 6538 // Field: [17:16] EDGE_DET 6539 // 6540 // Enable generation of edge detection events on this IO 6541 // ENUMs: 6542 // BOTH Positive and negative edge detection 6543 // POS Positive edge detection 6544 // NEG Negative edge detection 6545 // NONE No edge detection 6546 #define IOC_IOCFG17_EDGE_DET_W 2 6547 #define IOC_IOCFG17_EDGE_DET_M 0x00030000 6548 #define IOC_IOCFG17_EDGE_DET_S 16 6549 #define IOC_IOCFG17_EDGE_DET_BOTH 0x00030000 6550 #define IOC_IOCFG17_EDGE_DET_POS 0x00020000 6551 #define IOC_IOCFG17_EDGE_DET_NEG 0x00010000 6552 #define IOC_IOCFG17_EDGE_DET_NONE 0x00000000 6553 6554 // Field: [14:13] PULL_CTL 6555 // 6556 // Pull control 6557 // ENUMs: 6558 // DIS No pull 6559 // UP Pull up 6560 // DWN Pull down 6561 #define IOC_IOCFG17_PULL_CTL_W 2 6562 #define IOC_IOCFG17_PULL_CTL_M 0x00006000 6563 #define IOC_IOCFG17_PULL_CTL_S 13 6564 #define IOC_IOCFG17_PULL_CTL_DIS 0x00006000 6565 #define IOC_IOCFG17_PULL_CTL_UP 0x00004000 6566 #define IOC_IOCFG17_PULL_CTL_DWN 0x00002000 6567 6568 // Field: [12] SLEW_RED 6569 // 6570 // 0: Normal slew rate 6571 // 1: Enables reduced slew rate in output driver. 6572 #define IOC_IOCFG17_SLEW_RED 0x00001000 6573 #define IOC_IOCFG17_SLEW_RED_BITN 12 6574 #define IOC_IOCFG17_SLEW_RED_M 0x00001000 6575 #define IOC_IOCFG17_SLEW_RED_S 12 6576 6577 // Field: [11:10] IOCURR 6578 // 6579 // Selects IO current mode of this IO. 6580 // ENUMs: 6581 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 6582 // drive strength IOs (min 4 mA for normal IOs) 6583 // when IOSTR is set to AUTO 6584 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 6585 // to AUTO 6586 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 6587 // to AUTO 6588 #define IOC_IOCFG17_IOCURR_W 2 6589 #define IOC_IOCFG17_IOCURR_M 0x00000C00 6590 #define IOC_IOCFG17_IOCURR_S 10 6591 #define IOC_IOCFG17_IOCURR_4_8MA 0x00000800 6592 #define IOC_IOCFG17_IOCURR_4MA 0x00000400 6593 #define IOC_IOCFG17_IOCURR_2MA 0x00000000 6594 6595 // Field: [9:8] IOSTR 6596 // 6597 // Select source for drive strength control of this IO. 6598 // This setting controls the drive strength of the Low-Current (LC) mode. 6599 // Higher drive strength can be selected in IOCURR 6600 // ENUMs: 6601 // MAX Maximum drive strength, controlled by 6602 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 6603 // values) 6604 // MED Medium drive strength, controlled by 6605 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 6606 // values) 6607 // MIN Minimum drive strength, controlled by 6608 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 6609 // values) 6610 // AUTO Automatic drive strength, controlled by AON BATMON 6611 // based on battery voltage. (min 2 mA @VDDS) 6612 #define IOC_IOCFG17_IOSTR_W 2 6613 #define IOC_IOCFG17_IOSTR_M 0x00000300 6614 #define IOC_IOCFG17_IOSTR_S 8 6615 #define IOC_IOCFG17_IOSTR_MAX 0x00000300 6616 #define IOC_IOCFG17_IOSTR_MED 0x00000200 6617 #define IOC_IOCFG17_IOSTR_MIN 0x00000100 6618 #define IOC_IOCFG17_IOSTR_AUTO 0x00000000 6619 6620 // Field: [7] IOEV_RTC_EN 6621 // 6622 // Event asserted by this IO when edge detection is enabled 6623 // 6624 // 0: Input edge detection does not assert RTC event 6625 // 1: Input edge detection asserts RTC event 6626 #define IOC_IOCFG17_IOEV_RTC_EN 0x00000080 6627 #define IOC_IOCFG17_IOEV_RTC_EN_BITN 7 6628 #define IOC_IOCFG17_IOEV_RTC_EN_M 0x00000080 6629 #define IOC_IOCFG17_IOEV_RTC_EN_S 7 6630 6631 // Field: [6] IOEV_MCU_WU_EN 6632 // 6633 // Event asserted by this IO when edge detection is enabled 6634 // 6635 // 0: Input edge detection does not assert MCU_WU event 6636 // 1: Input edge detection asserts MCU_WU event 6637 #define IOC_IOCFG17_IOEV_MCU_WU_EN 0x00000040 6638 #define IOC_IOCFG17_IOEV_MCU_WU_EN_BITN 6 6639 #define IOC_IOCFG17_IOEV_MCU_WU_EN_M 0x00000040 6640 #define IOC_IOCFG17_IOEV_MCU_WU_EN_S 6 6641 6642 // Field: [5:0] PORT_ID 6643 // 6644 // Selects usage for DIO17 6645 // Note: This field should not be written other than the times when PORT_ID 6646 // value is specifically required to change. 6647 // ENUMs: 6648 // RFC_SMI_CL_IN RF Core SMI Command Link In 6649 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 6650 // RFC_SMI_DL_IN RF Core SMI Data Link In 6651 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 6652 // RFC_GPI1 RF Core Data In 1 6653 // RFC_GPI0 RF Core Data In 0 6654 // RFC_GPO3 RF Core Data Out 3 6655 // RFC_GPO2 RF Core Data Out 2 6656 // RFC_GPO1 RF Core Data Out 1 6657 // RFC_GPO0 RF Core Data Out 0 6658 // RFC_TRC RF Core Trace 6659 // I2S_MCLK I2S MCLK 6660 // I2S_BCLK I2S BCLK 6661 // I2S_WCLK I2S WCLK 6662 // I2S_AD1 I2S Data 1 6663 // I2S_AD0 I2S Data 0 6664 // SSI1_CLK SSI1 CLK 6665 // SSI1_FSS SSI1 FSS 6666 // SSI1_TX SSI1 TX 6667 // SSI1_RX SSI1 RX 6668 // CPU_SWV CPU SWV 6669 // PORT_EVENT7 PORT EVENT 7 6670 // Can be used as a general 6671 // purpose IO event by selecting it through 6672 // registers in the EVENT module, for example 6673 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6674 // and so on 6675 // PORT_EVENT6 PORT EVENT 6 6676 // Can be used as a general 6677 // purpose IO event by selecting it through 6678 // registers in the EVENT module, for example 6679 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6680 // and so on 6681 // PORT_EVENT5 PORT EVENT 5 6682 // Can be used as a general 6683 // purpose IO event by selecting it through 6684 // registers in the EVENT module, for example 6685 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6686 // and so on 6687 // PORT_EVENT4 PORT EVENT 4 6688 // Can be used as a general 6689 // purpose IO event by selecting it through 6690 // registers in the EVENT module, for example 6691 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6692 // and so on 6693 // PORT_EVENT3 PORT EVENT 3 6694 // Can be used as a general 6695 // purpose IO event by selecting it through 6696 // registers in the EVENT module, for example 6697 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6698 // and so on 6699 // PORT_EVENT2 PORT EVENT 2 6700 // Can be used as a general 6701 // purpose IO event by selecting it through 6702 // registers in the EVENT module, for example 6703 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6704 // and so on 6705 // PORT_EVENT1 PORT EVENT 1 6706 // Can be used as a general 6707 // purpose IO event by selecting it through 6708 // registers in the EVENT module, for example 6709 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6710 // and so on 6711 // PORT_EVENT0 PORT EVENT 0 6712 // Can be used as a general 6713 // purpose IO event by selecting it through 6714 // registers in the EVENT module, for example 6715 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 6716 // and so on 6717 // UART1_RTS UART1 RTS 6718 // UART1_CTS UART1 CTS 6719 // UART1_TX UART1 TX 6720 // UART1_RX UART1 RX 6721 // UART0_RTS UART0 RTS 6722 // UART0_CTS UART0 CTS 6723 // UART0_TX UART0 TX 6724 // UART0_RX UART0 RX 6725 // I2C_MSSCL I2C Clock 6726 // I2C_MSSDA I2C Data 6727 // SSI0_CLK SSI0 CLK 6728 // SSI0_FSS SSI0 FSS 6729 // SSI0_TX SSI0 TX 6730 // SSI0_RX SSI0 RX 6731 // AUX_IO AUX IO 6732 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 6733 // GPIO General Purpose IO 6734 #define IOC_IOCFG17_PORT_ID_W 6 6735 #define IOC_IOCFG17_PORT_ID_M 0x0000003F 6736 #define IOC_IOCFG17_PORT_ID_S 0 6737 #define IOC_IOCFG17_PORT_ID_RFC_SMI_CL_IN 0x00000038 6738 #define IOC_IOCFG17_PORT_ID_RFC_SMI_CL_OUT 0x00000037 6739 #define IOC_IOCFG17_PORT_ID_RFC_SMI_DL_IN 0x00000036 6740 #define IOC_IOCFG17_PORT_ID_RFC_SMI_DL_OUT 0x00000035 6741 #define IOC_IOCFG17_PORT_ID_RFC_GPI1 0x00000034 6742 #define IOC_IOCFG17_PORT_ID_RFC_GPI0 0x00000033 6743 #define IOC_IOCFG17_PORT_ID_RFC_GPO3 0x00000032 6744 #define IOC_IOCFG17_PORT_ID_RFC_GPO2 0x00000031 6745 #define IOC_IOCFG17_PORT_ID_RFC_GPO1 0x00000030 6746 #define IOC_IOCFG17_PORT_ID_RFC_GPO0 0x0000002F 6747 #define IOC_IOCFG17_PORT_ID_RFC_TRC 0x0000002E 6748 #define IOC_IOCFG17_PORT_ID_I2S_MCLK 0x00000029 6749 #define IOC_IOCFG17_PORT_ID_I2S_BCLK 0x00000028 6750 #define IOC_IOCFG17_PORT_ID_I2S_WCLK 0x00000027 6751 #define IOC_IOCFG17_PORT_ID_I2S_AD1 0x00000026 6752 #define IOC_IOCFG17_PORT_ID_I2S_AD0 0x00000025 6753 #define IOC_IOCFG17_PORT_ID_SSI1_CLK 0x00000024 6754 #define IOC_IOCFG17_PORT_ID_SSI1_FSS 0x00000023 6755 #define IOC_IOCFG17_PORT_ID_SSI1_TX 0x00000022 6756 #define IOC_IOCFG17_PORT_ID_SSI1_RX 0x00000021 6757 #define IOC_IOCFG17_PORT_ID_CPU_SWV 0x00000020 6758 #define IOC_IOCFG17_PORT_ID_PORT_EVENT7 0x0000001E 6759 #define IOC_IOCFG17_PORT_ID_PORT_EVENT6 0x0000001D 6760 #define IOC_IOCFG17_PORT_ID_PORT_EVENT5 0x0000001C 6761 #define IOC_IOCFG17_PORT_ID_PORT_EVENT4 0x0000001B 6762 #define IOC_IOCFG17_PORT_ID_PORT_EVENT3 0x0000001A 6763 #define IOC_IOCFG17_PORT_ID_PORT_EVENT2 0x00000019 6764 #define IOC_IOCFG17_PORT_ID_PORT_EVENT1 0x00000018 6765 #define IOC_IOCFG17_PORT_ID_PORT_EVENT0 0x00000017 6766 #define IOC_IOCFG17_PORT_ID_UART1_RTS 0x00000016 6767 #define IOC_IOCFG17_PORT_ID_UART1_CTS 0x00000015 6768 #define IOC_IOCFG17_PORT_ID_UART1_TX 0x00000014 6769 #define IOC_IOCFG17_PORT_ID_UART1_RX 0x00000013 6770 #define IOC_IOCFG17_PORT_ID_UART0_RTS 0x00000012 6771 #define IOC_IOCFG17_PORT_ID_UART0_CTS 0x00000011 6772 #define IOC_IOCFG17_PORT_ID_UART0_TX 0x00000010 6773 #define IOC_IOCFG17_PORT_ID_UART0_RX 0x0000000F 6774 #define IOC_IOCFG17_PORT_ID_I2C_MSSCL 0x0000000E 6775 #define IOC_IOCFG17_PORT_ID_I2C_MSSDA 0x0000000D 6776 #define IOC_IOCFG17_PORT_ID_SSI0_CLK 0x0000000C 6777 #define IOC_IOCFG17_PORT_ID_SSI0_FSS 0x0000000B 6778 #define IOC_IOCFG17_PORT_ID_SSI0_TX 0x0000000A 6779 #define IOC_IOCFG17_PORT_ID_SSI0_RX 0x00000009 6780 #define IOC_IOCFG17_PORT_ID_AUX_IO 0x00000008 6781 #define IOC_IOCFG17_PORT_ID_AON_CLK32K 0x00000007 6782 #define IOC_IOCFG17_PORT_ID_GPIO 0x00000000 6783 6784 //***************************************************************************** 6785 // 6786 // Register: IOC_O_IOCFG18 6787 // 6788 //***************************************************************************** 6789 // Field: [30] HYST_EN 6790 // 6791 // 0: Input hysteresis disable 6792 // 1: Input hysteresis enable 6793 #define IOC_IOCFG18_HYST_EN 0x40000000 6794 #define IOC_IOCFG18_HYST_EN_BITN 30 6795 #define IOC_IOCFG18_HYST_EN_M 0x40000000 6796 #define IOC_IOCFG18_HYST_EN_S 30 6797 6798 // Field: [29] IE 6799 // 6800 // 0: Input disabled 6801 // 1: Input enabled 6802 // 6803 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 6804 // ignored. 6805 #define IOC_IOCFG18_IE 0x20000000 6806 #define IOC_IOCFG18_IE_BITN 29 6807 #define IOC_IOCFG18_IE_M 0x20000000 6808 #define IOC_IOCFG18_IE_S 29 6809 6810 // Field: [28:27] WU_CFG 6811 // 6812 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 6813 // >0x08: 6814 // 6815 // 00: No wake-up 6816 // 01: No wake-up 6817 // 10: Wakes up from shutdown if this pad is going low. 6818 // 11: Wakes up from shutdown if this pad is going high. 6819 // 6820 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 6821 // this register only sets wakeup enable or not. 6822 // 6823 // 00, 01: Wakeup disabled 6824 // 10, 11: Wakeup enabled 6825 // 6826 // Polarity is controlled from AON registers. 6827 // 6828 // Note:When the MSB is set, the IOC will deactivate the output enable for the 6829 // DIO. 6830 #define IOC_IOCFG18_WU_CFG_W 2 6831 #define IOC_IOCFG18_WU_CFG_M 0x18000000 6832 #define IOC_IOCFG18_WU_CFG_S 27 6833 6834 // Field: [26:24] IOMODE 6835 // 6836 // IO Mode 6837 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 6838 // 0x01-0x08 6839 // AUX has its own open_source/drain configuration. 6840 // 6841 // 0x2: Reserved. Undefined behavior. 6842 // 0x3: Reserved. Undefined behavior. 6843 // ENUMs: 6844 // OPENSRC_INV Open Source 6845 // Inverted input / output 6846 // OPENSRC Open Source 6847 // Normal input / output 6848 // OPENDR_INV Open Drain 6849 // Inverted input / output 6850 // OPENDR Open Drain, 6851 // Normal input / output 6852 // INV Inverted input / ouput 6853 // NORMAL Normal input / output 6854 #define IOC_IOCFG18_IOMODE_W 3 6855 #define IOC_IOCFG18_IOMODE_M 0x07000000 6856 #define IOC_IOCFG18_IOMODE_S 24 6857 #define IOC_IOCFG18_IOMODE_OPENSRC_INV 0x07000000 6858 #define IOC_IOCFG18_IOMODE_OPENSRC 0x06000000 6859 #define IOC_IOCFG18_IOMODE_OPENDR_INV 0x05000000 6860 #define IOC_IOCFG18_IOMODE_OPENDR 0x04000000 6861 #define IOC_IOCFG18_IOMODE_INV 0x01000000 6862 #define IOC_IOCFG18_IOMODE_NORMAL 0x00000000 6863 6864 // Field: [23] IOEV_AON_PROG2_EN 6865 // 6866 // Event asserted by this IO when edge detection is enabled 6867 // 6868 // 0: Input edge detection does not assert AON_PROG2 event 6869 // 1: Input edge detection asserts AON_PROG2 event 6870 #define IOC_IOCFG18_IOEV_AON_PROG2_EN 0x00800000 6871 #define IOC_IOCFG18_IOEV_AON_PROG2_EN_BITN 23 6872 #define IOC_IOCFG18_IOEV_AON_PROG2_EN_M 0x00800000 6873 #define IOC_IOCFG18_IOEV_AON_PROG2_EN_S 23 6874 6875 // Field: [22] IOEV_AON_PROG1_EN 6876 // 6877 // Event asserted by this IO when edge detection is enabled 6878 // 6879 // 0: Input edge detection does not assert AON_PROG1 event 6880 // 1: Input edge detection asserts AON_PROG1 event 6881 #define IOC_IOCFG18_IOEV_AON_PROG1_EN 0x00400000 6882 #define IOC_IOCFG18_IOEV_AON_PROG1_EN_BITN 22 6883 #define IOC_IOCFG18_IOEV_AON_PROG1_EN_M 0x00400000 6884 #define IOC_IOCFG18_IOEV_AON_PROG1_EN_S 22 6885 6886 // Field: [21] IOEV_AON_PROG0_EN 6887 // 6888 // Event asserted by this IO when edge detection is enabled 6889 // 6890 // 0: Input edge detection does not assert AON_PROG0 event 6891 // 1: Input edge detection asserts AON_PROG0 event 6892 #define IOC_IOCFG18_IOEV_AON_PROG0_EN 0x00200000 6893 #define IOC_IOCFG18_IOEV_AON_PROG0_EN_BITN 21 6894 #define IOC_IOCFG18_IOEV_AON_PROG0_EN_M 0x00200000 6895 #define IOC_IOCFG18_IOEV_AON_PROG0_EN_S 21 6896 6897 // Field: [18] EDGE_IRQ_EN 6898 // 6899 // 0: No interrupt generation 6900 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 6901 // enabled) 6902 #define IOC_IOCFG18_EDGE_IRQ_EN 0x00040000 6903 #define IOC_IOCFG18_EDGE_IRQ_EN_BITN 18 6904 #define IOC_IOCFG18_EDGE_IRQ_EN_M 0x00040000 6905 #define IOC_IOCFG18_EDGE_IRQ_EN_S 18 6906 6907 // Field: [17:16] EDGE_DET 6908 // 6909 // Enable generation of edge detection events on this IO 6910 // ENUMs: 6911 // BOTH Positive and negative edge detection 6912 // POS Positive edge detection 6913 // NEG Negative edge detection 6914 // NONE No edge detection 6915 #define IOC_IOCFG18_EDGE_DET_W 2 6916 #define IOC_IOCFG18_EDGE_DET_M 0x00030000 6917 #define IOC_IOCFG18_EDGE_DET_S 16 6918 #define IOC_IOCFG18_EDGE_DET_BOTH 0x00030000 6919 #define IOC_IOCFG18_EDGE_DET_POS 0x00020000 6920 #define IOC_IOCFG18_EDGE_DET_NEG 0x00010000 6921 #define IOC_IOCFG18_EDGE_DET_NONE 0x00000000 6922 6923 // Field: [14:13] PULL_CTL 6924 // 6925 // Pull control 6926 // ENUMs: 6927 // DIS No pull 6928 // UP Pull up 6929 // DWN Pull down 6930 #define IOC_IOCFG18_PULL_CTL_W 2 6931 #define IOC_IOCFG18_PULL_CTL_M 0x00006000 6932 #define IOC_IOCFG18_PULL_CTL_S 13 6933 #define IOC_IOCFG18_PULL_CTL_DIS 0x00006000 6934 #define IOC_IOCFG18_PULL_CTL_UP 0x00004000 6935 #define IOC_IOCFG18_PULL_CTL_DWN 0x00002000 6936 6937 // Field: [12] SLEW_RED 6938 // 6939 // 0: Normal slew rate 6940 // 1: Enables reduced slew rate in output driver. 6941 #define IOC_IOCFG18_SLEW_RED 0x00001000 6942 #define IOC_IOCFG18_SLEW_RED_BITN 12 6943 #define IOC_IOCFG18_SLEW_RED_M 0x00001000 6944 #define IOC_IOCFG18_SLEW_RED_S 12 6945 6946 // Field: [11:10] IOCURR 6947 // 6948 // Selects IO current mode of this IO. 6949 // ENUMs: 6950 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 6951 // drive strength IOs (min 4 mA for normal IOs) 6952 // when IOSTR is set to AUTO 6953 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 6954 // to AUTO 6955 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 6956 // to AUTO 6957 #define IOC_IOCFG18_IOCURR_W 2 6958 #define IOC_IOCFG18_IOCURR_M 0x00000C00 6959 #define IOC_IOCFG18_IOCURR_S 10 6960 #define IOC_IOCFG18_IOCURR_4_8MA 0x00000800 6961 #define IOC_IOCFG18_IOCURR_4MA 0x00000400 6962 #define IOC_IOCFG18_IOCURR_2MA 0x00000000 6963 6964 // Field: [9:8] IOSTR 6965 // 6966 // Select source for drive strength control of this IO. 6967 // This setting controls the drive strength of the Low-Current (LC) mode. 6968 // Higher drive strength can be selected in IOCURR 6969 // ENUMs: 6970 // MAX Maximum drive strength, controlled by 6971 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 6972 // values) 6973 // MED Medium drive strength, controlled by 6974 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 6975 // values) 6976 // MIN Minimum drive strength, controlled by 6977 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 6978 // values) 6979 // AUTO Automatic drive strength, controlled by AON BATMON 6980 // based on battery voltage. (min 2 mA @VDDS) 6981 #define IOC_IOCFG18_IOSTR_W 2 6982 #define IOC_IOCFG18_IOSTR_M 0x00000300 6983 #define IOC_IOCFG18_IOSTR_S 8 6984 #define IOC_IOCFG18_IOSTR_MAX 0x00000300 6985 #define IOC_IOCFG18_IOSTR_MED 0x00000200 6986 #define IOC_IOCFG18_IOSTR_MIN 0x00000100 6987 #define IOC_IOCFG18_IOSTR_AUTO 0x00000000 6988 6989 // Field: [7] IOEV_RTC_EN 6990 // 6991 // Event asserted by this IO when edge detection is enabled 6992 // 6993 // 0: Input edge detection does not assert RTC event 6994 // 1: Input edge detection asserts RTC event 6995 #define IOC_IOCFG18_IOEV_RTC_EN 0x00000080 6996 #define IOC_IOCFG18_IOEV_RTC_EN_BITN 7 6997 #define IOC_IOCFG18_IOEV_RTC_EN_M 0x00000080 6998 #define IOC_IOCFG18_IOEV_RTC_EN_S 7 6999 7000 // Field: [6] IOEV_MCU_WU_EN 7001 // 7002 // Event asserted by this IO when edge detection is enabled 7003 // 7004 // 0: Input edge detection does not assert MCU_WU event 7005 // 1: Input edge detection asserts MCU_WU event 7006 #define IOC_IOCFG18_IOEV_MCU_WU_EN 0x00000040 7007 #define IOC_IOCFG18_IOEV_MCU_WU_EN_BITN 6 7008 #define IOC_IOCFG18_IOEV_MCU_WU_EN_M 0x00000040 7009 #define IOC_IOCFG18_IOEV_MCU_WU_EN_S 6 7010 7011 // Field: [5:0] PORT_ID 7012 // 7013 // Selects usage for DIO18 7014 // Note: This field should not be written other than the times when PORT_ID 7015 // value is specifically required to change. 7016 // ENUMs: 7017 // RFC_SMI_CL_IN RF Core SMI Command Link In 7018 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 7019 // RFC_SMI_DL_IN RF Core SMI Data Link In 7020 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 7021 // RFC_GPI1 RF Core Data In 1 7022 // RFC_GPI0 RF Core Data In 0 7023 // RFC_GPO3 RF Core Data Out 3 7024 // RFC_GPO2 RF Core Data Out 2 7025 // RFC_GPO1 RF Core Data Out 1 7026 // RFC_GPO0 RF Core Data Out 0 7027 // RFC_TRC RF Core Trace 7028 // I2S_MCLK I2S MCLK 7029 // I2S_BCLK I2S BCLK 7030 // I2S_WCLK I2S WCLK 7031 // I2S_AD1 I2S Data 1 7032 // I2S_AD0 I2S Data 0 7033 // SSI1_CLK SSI1 CLK 7034 // SSI1_FSS SSI1 FSS 7035 // SSI1_TX SSI1 TX 7036 // SSI1_RX SSI1 RX 7037 // CPU_SWV CPU SWV 7038 // PORT_EVENT7 PORT EVENT 7 7039 // Can be used as a general 7040 // purpose IO event by selecting it through 7041 // registers in the EVENT module, for example 7042 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7043 // and so on 7044 // PORT_EVENT6 PORT EVENT 6 7045 // Can be used as a general 7046 // purpose IO event by selecting it through 7047 // registers in the EVENT module, for example 7048 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7049 // and so on 7050 // PORT_EVENT5 PORT EVENT 5 7051 // Can be used as a general 7052 // purpose IO event by selecting it through 7053 // registers in the EVENT module, for example 7054 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7055 // and so on 7056 // PORT_EVENT4 PORT EVENT 4 7057 // Can be used as a general 7058 // purpose IO event by selecting it through 7059 // registers in the EVENT module, for example 7060 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7061 // and so on 7062 // PORT_EVENT3 PORT EVENT 3 7063 // Can be used as a general 7064 // purpose IO event by selecting it through 7065 // registers in the EVENT module, for example 7066 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7067 // and so on 7068 // PORT_EVENT2 PORT EVENT 2 7069 // Can be used as a general 7070 // purpose IO event by selecting it through 7071 // registers in the EVENT module, for example 7072 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7073 // and so on 7074 // PORT_EVENT1 PORT EVENT 1 7075 // Can be used as a general 7076 // purpose IO event by selecting it through 7077 // registers in the EVENT module, for example 7078 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7079 // and so on 7080 // PORT_EVENT0 PORT EVENT 0 7081 // Can be used as a general 7082 // purpose IO event by selecting it through 7083 // registers in the EVENT module, for example 7084 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7085 // and so on 7086 // UART1_RTS UART1 RTS 7087 // UART1_CTS UART1 CTS 7088 // UART1_TX UART1 TX 7089 // UART1_RX UART1 RX 7090 // UART0_RTS UART0 RTS 7091 // UART0_CTS UART0 CTS 7092 // UART0_TX UART0 TX 7093 // UART0_RX UART0 RX 7094 // I2C_MSSCL I2C Clock 7095 // I2C_MSSDA I2C Data 7096 // SSI0_CLK SSI0 CLK 7097 // SSI0_FSS SSI0 FSS 7098 // SSI0_TX SSI0 TX 7099 // SSI0_RX SSI0 RX 7100 // AUX_IO AUX IO 7101 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 7102 // GPIO General Purpose IO 7103 #define IOC_IOCFG18_PORT_ID_W 6 7104 #define IOC_IOCFG18_PORT_ID_M 0x0000003F 7105 #define IOC_IOCFG18_PORT_ID_S 0 7106 #define IOC_IOCFG18_PORT_ID_RFC_SMI_CL_IN 0x00000038 7107 #define IOC_IOCFG18_PORT_ID_RFC_SMI_CL_OUT 0x00000037 7108 #define IOC_IOCFG18_PORT_ID_RFC_SMI_DL_IN 0x00000036 7109 #define IOC_IOCFG18_PORT_ID_RFC_SMI_DL_OUT 0x00000035 7110 #define IOC_IOCFG18_PORT_ID_RFC_GPI1 0x00000034 7111 #define IOC_IOCFG18_PORT_ID_RFC_GPI0 0x00000033 7112 #define IOC_IOCFG18_PORT_ID_RFC_GPO3 0x00000032 7113 #define IOC_IOCFG18_PORT_ID_RFC_GPO2 0x00000031 7114 #define IOC_IOCFG18_PORT_ID_RFC_GPO1 0x00000030 7115 #define IOC_IOCFG18_PORT_ID_RFC_GPO0 0x0000002F 7116 #define IOC_IOCFG18_PORT_ID_RFC_TRC 0x0000002E 7117 #define IOC_IOCFG18_PORT_ID_I2S_MCLK 0x00000029 7118 #define IOC_IOCFG18_PORT_ID_I2S_BCLK 0x00000028 7119 #define IOC_IOCFG18_PORT_ID_I2S_WCLK 0x00000027 7120 #define IOC_IOCFG18_PORT_ID_I2S_AD1 0x00000026 7121 #define IOC_IOCFG18_PORT_ID_I2S_AD0 0x00000025 7122 #define IOC_IOCFG18_PORT_ID_SSI1_CLK 0x00000024 7123 #define IOC_IOCFG18_PORT_ID_SSI1_FSS 0x00000023 7124 #define IOC_IOCFG18_PORT_ID_SSI1_TX 0x00000022 7125 #define IOC_IOCFG18_PORT_ID_SSI1_RX 0x00000021 7126 #define IOC_IOCFG18_PORT_ID_CPU_SWV 0x00000020 7127 #define IOC_IOCFG18_PORT_ID_PORT_EVENT7 0x0000001E 7128 #define IOC_IOCFG18_PORT_ID_PORT_EVENT6 0x0000001D 7129 #define IOC_IOCFG18_PORT_ID_PORT_EVENT5 0x0000001C 7130 #define IOC_IOCFG18_PORT_ID_PORT_EVENT4 0x0000001B 7131 #define IOC_IOCFG18_PORT_ID_PORT_EVENT3 0x0000001A 7132 #define IOC_IOCFG18_PORT_ID_PORT_EVENT2 0x00000019 7133 #define IOC_IOCFG18_PORT_ID_PORT_EVENT1 0x00000018 7134 #define IOC_IOCFG18_PORT_ID_PORT_EVENT0 0x00000017 7135 #define IOC_IOCFG18_PORT_ID_UART1_RTS 0x00000016 7136 #define IOC_IOCFG18_PORT_ID_UART1_CTS 0x00000015 7137 #define IOC_IOCFG18_PORT_ID_UART1_TX 0x00000014 7138 #define IOC_IOCFG18_PORT_ID_UART1_RX 0x00000013 7139 #define IOC_IOCFG18_PORT_ID_UART0_RTS 0x00000012 7140 #define IOC_IOCFG18_PORT_ID_UART0_CTS 0x00000011 7141 #define IOC_IOCFG18_PORT_ID_UART0_TX 0x00000010 7142 #define IOC_IOCFG18_PORT_ID_UART0_RX 0x0000000F 7143 #define IOC_IOCFG18_PORT_ID_I2C_MSSCL 0x0000000E 7144 #define IOC_IOCFG18_PORT_ID_I2C_MSSDA 0x0000000D 7145 #define IOC_IOCFG18_PORT_ID_SSI0_CLK 0x0000000C 7146 #define IOC_IOCFG18_PORT_ID_SSI0_FSS 0x0000000B 7147 #define IOC_IOCFG18_PORT_ID_SSI0_TX 0x0000000A 7148 #define IOC_IOCFG18_PORT_ID_SSI0_RX 0x00000009 7149 #define IOC_IOCFG18_PORT_ID_AUX_IO 0x00000008 7150 #define IOC_IOCFG18_PORT_ID_AON_CLK32K 0x00000007 7151 #define IOC_IOCFG18_PORT_ID_GPIO 0x00000000 7152 7153 //***************************************************************************** 7154 // 7155 // Register: IOC_O_IOCFG19 7156 // 7157 //***************************************************************************** 7158 // Field: [30] HYST_EN 7159 // 7160 // 0: Input hysteresis disable 7161 // 1: Input hysteresis enable 7162 #define IOC_IOCFG19_HYST_EN 0x40000000 7163 #define IOC_IOCFG19_HYST_EN_BITN 30 7164 #define IOC_IOCFG19_HYST_EN_M 0x40000000 7165 #define IOC_IOCFG19_HYST_EN_S 30 7166 7167 // Field: [29] IE 7168 // 7169 // 0: Input disabled 7170 // 1: Input enabled 7171 // 7172 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 7173 // ignored. 7174 #define IOC_IOCFG19_IE 0x20000000 7175 #define IOC_IOCFG19_IE_BITN 29 7176 #define IOC_IOCFG19_IE_M 0x20000000 7177 #define IOC_IOCFG19_IE_S 29 7178 7179 // Field: [28:27] WU_CFG 7180 // 7181 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 7182 // >0x08: 7183 // 7184 // 00: No wake-up 7185 // 01: No wake-up 7186 // 10: Wakes up from shutdown if this pad is going low. 7187 // 11: Wakes up from shutdown if this pad is going high. 7188 // 7189 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 7190 // this register only sets wakeup enable or not. 7191 // 7192 // 00, 01: Wakeup disabled 7193 // 10, 11: Wakeup enabled 7194 // 7195 // Polarity is controlled from AON registers. 7196 // 7197 // Note:When the MSB is set, the IOC will deactivate the output enable for the 7198 // DIO. 7199 #define IOC_IOCFG19_WU_CFG_W 2 7200 #define IOC_IOCFG19_WU_CFG_M 0x18000000 7201 #define IOC_IOCFG19_WU_CFG_S 27 7202 7203 // Field: [26:24] IOMODE 7204 // 7205 // IO Mode 7206 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 7207 // 0x01-0x08 7208 // AUX has its own open_source/drain configuration. 7209 // 7210 // 0x2: Reserved. Undefined behavior. 7211 // 0x3: Reserved. Undefined behavior. 7212 // ENUMs: 7213 // OPENSRC_INV Open Source 7214 // Inverted input / output 7215 // OPENSRC Open Source 7216 // Normal input / output 7217 // OPENDR_INV Open Drain 7218 // Inverted input / output 7219 // OPENDR Open Drain, 7220 // Normal input / output 7221 // INV Inverted input / ouput 7222 // NORMAL Normal input / output 7223 #define IOC_IOCFG19_IOMODE_W 3 7224 #define IOC_IOCFG19_IOMODE_M 0x07000000 7225 #define IOC_IOCFG19_IOMODE_S 24 7226 #define IOC_IOCFG19_IOMODE_OPENSRC_INV 0x07000000 7227 #define IOC_IOCFG19_IOMODE_OPENSRC 0x06000000 7228 #define IOC_IOCFG19_IOMODE_OPENDR_INV 0x05000000 7229 #define IOC_IOCFG19_IOMODE_OPENDR 0x04000000 7230 #define IOC_IOCFG19_IOMODE_INV 0x01000000 7231 #define IOC_IOCFG19_IOMODE_NORMAL 0x00000000 7232 7233 // Field: [23] IOEV_AON_PROG2_EN 7234 // 7235 // Event asserted by this IO when edge detection is enabled 7236 // 7237 // 0: Input edge detection does not assert AON_PROG2 event 7238 // 1: Input edge detection asserts AON_PROG2 event 7239 #define IOC_IOCFG19_IOEV_AON_PROG2_EN 0x00800000 7240 #define IOC_IOCFG19_IOEV_AON_PROG2_EN_BITN 23 7241 #define IOC_IOCFG19_IOEV_AON_PROG2_EN_M 0x00800000 7242 #define IOC_IOCFG19_IOEV_AON_PROG2_EN_S 23 7243 7244 // Field: [22] IOEV_AON_PROG1_EN 7245 // 7246 // Event asserted by this IO when edge detection is enabled 7247 // 7248 // 0: Input edge detection does not assert AON_PROG1 event 7249 // 1: Input edge detection asserts AON_PROG1 event 7250 #define IOC_IOCFG19_IOEV_AON_PROG1_EN 0x00400000 7251 #define IOC_IOCFG19_IOEV_AON_PROG1_EN_BITN 22 7252 #define IOC_IOCFG19_IOEV_AON_PROG1_EN_M 0x00400000 7253 #define IOC_IOCFG19_IOEV_AON_PROG1_EN_S 22 7254 7255 // Field: [21] IOEV_AON_PROG0_EN 7256 // 7257 // Event asserted by this IO when edge detection is enabled 7258 // 7259 // 0: Input edge detection does not assert AON_PROG0 event 7260 // 1: Input edge detection asserts AON_PROG0 event 7261 #define IOC_IOCFG19_IOEV_AON_PROG0_EN 0x00200000 7262 #define IOC_IOCFG19_IOEV_AON_PROG0_EN_BITN 21 7263 #define IOC_IOCFG19_IOEV_AON_PROG0_EN_M 0x00200000 7264 #define IOC_IOCFG19_IOEV_AON_PROG0_EN_S 21 7265 7266 // Field: [18] EDGE_IRQ_EN 7267 // 7268 // 0: No interrupt generation 7269 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 7270 // enabled) 7271 #define IOC_IOCFG19_EDGE_IRQ_EN 0x00040000 7272 #define IOC_IOCFG19_EDGE_IRQ_EN_BITN 18 7273 #define IOC_IOCFG19_EDGE_IRQ_EN_M 0x00040000 7274 #define IOC_IOCFG19_EDGE_IRQ_EN_S 18 7275 7276 // Field: [17:16] EDGE_DET 7277 // 7278 // Enable generation of edge detection events on this IO 7279 // ENUMs: 7280 // BOTH Positive and negative edge detection 7281 // POS Positive edge detection 7282 // NEG Negative edge detection 7283 // NONE No edge detection 7284 #define IOC_IOCFG19_EDGE_DET_W 2 7285 #define IOC_IOCFG19_EDGE_DET_M 0x00030000 7286 #define IOC_IOCFG19_EDGE_DET_S 16 7287 #define IOC_IOCFG19_EDGE_DET_BOTH 0x00030000 7288 #define IOC_IOCFG19_EDGE_DET_POS 0x00020000 7289 #define IOC_IOCFG19_EDGE_DET_NEG 0x00010000 7290 #define IOC_IOCFG19_EDGE_DET_NONE 0x00000000 7291 7292 // Field: [14:13] PULL_CTL 7293 // 7294 // Pull control 7295 // ENUMs: 7296 // DIS No pull 7297 // UP Pull up 7298 // DWN Pull down 7299 #define IOC_IOCFG19_PULL_CTL_W 2 7300 #define IOC_IOCFG19_PULL_CTL_M 0x00006000 7301 #define IOC_IOCFG19_PULL_CTL_S 13 7302 #define IOC_IOCFG19_PULL_CTL_DIS 0x00006000 7303 #define IOC_IOCFG19_PULL_CTL_UP 0x00004000 7304 #define IOC_IOCFG19_PULL_CTL_DWN 0x00002000 7305 7306 // Field: [12] SLEW_RED 7307 // 7308 // 0: Normal slew rate 7309 // 1: Enables reduced slew rate in output driver. 7310 #define IOC_IOCFG19_SLEW_RED 0x00001000 7311 #define IOC_IOCFG19_SLEW_RED_BITN 12 7312 #define IOC_IOCFG19_SLEW_RED_M 0x00001000 7313 #define IOC_IOCFG19_SLEW_RED_S 12 7314 7315 // Field: [11:10] IOCURR 7316 // 7317 // Selects IO current mode of this IO. 7318 // ENUMs: 7319 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 7320 // drive strength IOs (min 4 mA for normal IOs) 7321 // when IOSTR is set to AUTO 7322 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 7323 // to AUTO 7324 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 7325 // to AUTO 7326 #define IOC_IOCFG19_IOCURR_W 2 7327 #define IOC_IOCFG19_IOCURR_M 0x00000C00 7328 #define IOC_IOCFG19_IOCURR_S 10 7329 #define IOC_IOCFG19_IOCURR_4_8MA 0x00000800 7330 #define IOC_IOCFG19_IOCURR_4MA 0x00000400 7331 #define IOC_IOCFG19_IOCURR_2MA 0x00000000 7332 7333 // Field: [9:8] IOSTR 7334 // 7335 // Select source for drive strength control of this IO. 7336 // This setting controls the drive strength of the Low-Current (LC) mode. 7337 // Higher drive strength can be selected in IOCURR 7338 // ENUMs: 7339 // MAX Maximum drive strength, controlled by 7340 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 7341 // values) 7342 // MED Medium drive strength, controlled by 7343 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 7344 // values) 7345 // MIN Minimum drive strength, controlled by 7346 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 7347 // values) 7348 // AUTO Automatic drive strength, controlled by AON BATMON 7349 // based on battery voltage. (min 2 mA @VDDS) 7350 #define IOC_IOCFG19_IOSTR_W 2 7351 #define IOC_IOCFG19_IOSTR_M 0x00000300 7352 #define IOC_IOCFG19_IOSTR_S 8 7353 #define IOC_IOCFG19_IOSTR_MAX 0x00000300 7354 #define IOC_IOCFG19_IOSTR_MED 0x00000200 7355 #define IOC_IOCFG19_IOSTR_MIN 0x00000100 7356 #define IOC_IOCFG19_IOSTR_AUTO 0x00000000 7357 7358 // Field: [7] IOEV_RTC_EN 7359 // 7360 // Event asserted by this IO when edge detection is enabled 7361 // 7362 // 0: Input edge detection does not assert RTC event 7363 // 1: Input edge detection asserts RTC event 7364 #define IOC_IOCFG19_IOEV_RTC_EN 0x00000080 7365 #define IOC_IOCFG19_IOEV_RTC_EN_BITN 7 7366 #define IOC_IOCFG19_IOEV_RTC_EN_M 0x00000080 7367 #define IOC_IOCFG19_IOEV_RTC_EN_S 7 7368 7369 // Field: [6] IOEV_MCU_WU_EN 7370 // 7371 // Event asserted by this IO when edge detection is enabled 7372 // 7373 // 0: Input edge detection does not assert MCU_WU event 7374 // 1: Input edge detection asserts MCU_WU event 7375 #define IOC_IOCFG19_IOEV_MCU_WU_EN 0x00000040 7376 #define IOC_IOCFG19_IOEV_MCU_WU_EN_BITN 6 7377 #define IOC_IOCFG19_IOEV_MCU_WU_EN_M 0x00000040 7378 #define IOC_IOCFG19_IOEV_MCU_WU_EN_S 6 7379 7380 // Field: [5:0] PORT_ID 7381 // 7382 // Selects usage for DIO19 7383 // Note: This field should not be written other than the times when PORT_ID 7384 // value is specifically required to change. 7385 // ENUMs: 7386 // RFC_SMI_CL_IN RF Core SMI Command Link In 7387 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 7388 // RFC_SMI_DL_IN RF Core SMI Data Link In 7389 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 7390 // RFC_GPI1 RF Core Data In 1 7391 // RFC_GPI0 RF Core Data In 0 7392 // RFC_GPO3 RF Core Data Out 3 7393 // RFC_GPO2 RF Core Data Out 2 7394 // RFC_GPO1 RF Core Data Out 1 7395 // RFC_GPO0 RF Core Data Out 0 7396 // RFC_TRC RF Core Trace 7397 // I2S_MCLK I2S MCLK 7398 // I2S_BCLK I2S BCLK 7399 // I2S_WCLK I2S WCLK 7400 // I2S_AD1 I2S Data 1 7401 // I2S_AD0 I2S Data 0 7402 // SSI1_CLK SSI1 CLK 7403 // SSI1_FSS SSI1 FSS 7404 // SSI1_TX SSI1 TX 7405 // SSI1_RX SSI1 RX 7406 // CPU_SWV CPU SWV 7407 // PORT_EVENT7 PORT EVENT 7 7408 // Can be used as a general 7409 // purpose IO event by selecting it through 7410 // registers in the EVENT module, for example 7411 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7412 // and so on 7413 // PORT_EVENT6 PORT EVENT 6 7414 // Can be used as a general 7415 // purpose IO event by selecting it through 7416 // registers in the EVENT module, for example 7417 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7418 // and so on 7419 // PORT_EVENT5 PORT EVENT 5 7420 // Can be used as a general 7421 // purpose IO event by selecting it through 7422 // registers in the EVENT module, for example 7423 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7424 // and so on 7425 // PORT_EVENT4 PORT EVENT 4 7426 // Can be used as a general 7427 // purpose IO event by selecting it through 7428 // registers in the EVENT module, for example 7429 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7430 // and so on 7431 // PORT_EVENT3 PORT EVENT 3 7432 // Can be used as a general 7433 // purpose IO event by selecting it through 7434 // registers in the EVENT module, for example 7435 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7436 // and so on 7437 // PORT_EVENT2 PORT EVENT 2 7438 // Can be used as a general 7439 // purpose IO event by selecting it through 7440 // registers in the EVENT module, for example 7441 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7442 // and so on 7443 // PORT_EVENT1 PORT EVENT 1 7444 // Can be used as a general 7445 // purpose IO event by selecting it through 7446 // registers in the EVENT module, for example 7447 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7448 // and so on 7449 // PORT_EVENT0 PORT EVENT 0 7450 // Can be used as a general 7451 // purpose IO event by selecting it through 7452 // registers in the EVENT module, for example 7453 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7454 // and so on 7455 // UART1_RTS UART1 RTS 7456 // UART1_CTS UART1 CTS 7457 // UART1_TX UART1 TX 7458 // UART1_RX UART1 RX 7459 // UART0_RTS UART0 RTS 7460 // UART0_CTS UART0 CTS 7461 // UART0_TX UART0 TX 7462 // UART0_RX UART0 RX 7463 // I2C_MSSCL I2C Clock 7464 // I2C_MSSDA I2C Data 7465 // SSI0_CLK SSI0 CLK 7466 // SSI0_FSS SSI0 FSS 7467 // SSI0_TX SSI0 TX 7468 // SSI0_RX SSI0 RX 7469 // AUX_IO AUX IO 7470 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 7471 // GPIO General Purpose IO 7472 #define IOC_IOCFG19_PORT_ID_W 6 7473 #define IOC_IOCFG19_PORT_ID_M 0x0000003F 7474 #define IOC_IOCFG19_PORT_ID_S 0 7475 #define IOC_IOCFG19_PORT_ID_RFC_SMI_CL_IN 0x00000038 7476 #define IOC_IOCFG19_PORT_ID_RFC_SMI_CL_OUT 0x00000037 7477 #define IOC_IOCFG19_PORT_ID_RFC_SMI_DL_IN 0x00000036 7478 #define IOC_IOCFG19_PORT_ID_RFC_SMI_DL_OUT 0x00000035 7479 #define IOC_IOCFG19_PORT_ID_RFC_GPI1 0x00000034 7480 #define IOC_IOCFG19_PORT_ID_RFC_GPI0 0x00000033 7481 #define IOC_IOCFG19_PORT_ID_RFC_GPO3 0x00000032 7482 #define IOC_IOCFG19_PORT_ID_RFC_GPO2 0x00000031 7483 #define IOC_IOCFG19_PORT_ID_RFC_GPO1 0x00000030 7484 #define IOC_IOCFG19_PORT_ID_RFC_GPO0 0x0000002F 7485 #define IOC_IOCFG19_PORT_ID_RFC_TRC 0x0000002E 7486 #define IOC_IOCFG19_PORT_ID_I2S_MCLK 0x00000029 7487 #define IOC_IOCFG19_PORT_ID_I2S_BCLK 0x00000028 7488 #define IOC_IOCFG19_PORT_ID_I2S_WCLK 0x00000027 7489 #define IOC_IOCFG19_PORT_ID_I2S_AD1 0x00000026 7490 #define IOC_IOCFG19_PORT_ID_I2S_AD0 0x00000025 7491 #define IOC_IOCFG19_PORT_ID_SSI1_CLK 0x00000024 7492 #define IOC_IOCFG19_PORT_ID_SSI1_FSS 0x00000023 7493 #define IOC_IOCFG19_PORT_ID_SSI1_TX 0x00000022 7494 #define IOC_IOCFG19_PORT_ID_SSI1_RX 0x00000021 7495 #define IOC_IOCFG19_PORT_ID_CPU_SWV 0x00000020 7496 #define IOC_IOCFG19_PORT_ID_PORT_EVENT7 0x0000001E 7497 #define IOC_IOCFG19_PORT_ID_PORT_EVENT6 0x0000001D 7498 #define IOC_IOCFG19_PORT_ID_PORT_EVENT5 0x0000001C 7499 #define IOC_IOCFG19_PORT_ID_PORT_EVENT4 0x0000001B 7500 #define IOC_IOCFG19_PORT_ID_PORT_EVENT3 0x0000001A 7501 #define IOC_IOCFG19_PORT_ID_PORT_EVENT2 0x00000019 7502 #define IOC_IOCFG19_PORT_ID_PORT_EVENT1 0x00000018 7503 #define IOC_IOCFG19_PORT_ID_PORT_EVENT0 0x00000017 7504 #define IOC_IOCFG19_PORT_ID_UART1_RTS 0x00000016 7505 #define IOC_IOCFG19_PORT_ID_UART1_CTS 0x00000015 7506 #define IOC_IOCFG19_PORT_ID_UART1_TX 0x00000014 7507 #define IOC_IOCFG19_PORT_ID_UART1_RX 0x00000013 7508 #define IOC_IOCFG19_PORT_ID_UART0_RTS 0x00000012 7509 #define IOC_IOCFG19_PORT_ID_UART0_CTS 0x00000011 7510 #define IOC_IOCFG19_PORT_ID_UART0_TX 0x00000010 7511 #define IOC_IOCFG19_PORT_ID_UART0_RX 0x0000000F 7512 #define IOC_IOCFG19_PORT_ID_I2C_MSSCL 0x0000000E 7513 #define IOC_IOCFG19_PORT_ID_I2C_MSSDA 0x0000000D 7514 #define IOC_IOCFG19_PORT_ID_SSI0_CLK 0x0000000C 7515 #define IOC_IOCFG19_PORT_ID_SSI0_FSS 0x0000000B 7516 #define IOC_IOCFG19_PORT_ID_SSI0_TX 0x0000000A 7517 #define IOC_IOCFG19_PORT_ID_SSI0_RX 0x00000009 7518 #define IOC_IOCFG19_PORT_ID_AUX_IO 0x00000008 7519 #define IOC_IOCFG19_PORT_ID_AON_CLK32K 0x00000007 7520 #define IOC_IOCFG19_PORT_ID_GPIO 0x00000000 7521 7522 //***************************************************************************** 7523 // 7524 // Register: IOC_O_IOCFG20 7525 // 7526 //***************************************************************************** 7527 // Field: [30] HYST_EN 7528 // 7529 // 0: Input hysteresis disable 7530 // 1: Input hysteresis enable 7531 #define IOC_IOCFG20_HYST_EN 0x40000000 7532 #define IOC_IOCFG20_HYST_EN_BITN 30 7533 #define IOC_IOCFG20_HYST_EN_M 0x40000000 7534 #define IOC_IOCFG20_HYST_EN_S 30 7535 7536 // Field: [29] IE 7537 // 7538 // 0: Input disabled 7539 // 1: Input enabled 7540 // 7541 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 7542 // ignored. 7543 #define IOC_IOCFG20_IE 0x20000000 7544 #define IOC_IOCFG20_IE_BITN 29 7545 #define IOC_IOCFG20_IE_M 0x20000000 7546 #define IOC_IOCFG20_IE_S 29 7547 7548 // Field: [28:27] WU_CFG 7549 // 7550 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 7551 // >0x08: 7552 // 7553 // 00: No wake-up 7554 // 01: No wake-up 7555 // 10: Wakes up from shutdown if this pad is going low. 7556 // 11: Wakes up from shutdown if this pad is going high. 7557 // 7558 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 7559 // this register only sets wakeup enable or not. 7560 // 7561 // 00, 01: Wakeup disabled 7562 // 10, 11: Wakeup enabled 7563 // 7564 // Polarity is controlled from AON registers. 7565 // 7566 // Note:When the MSB is set, the IOC will deactivate the output enable for the 7567 // DIO. 7568 #define IOC_IOCFG20_WU_CFG_W 2 7569 #define IOC_IOCFG20_WU_CFG_M 0x18000000 7570 #define IOC_IOCFG20_WU_CFG_S 27 7571 7572 // Field: [26:24] IOMODE 7573 // 7574 // IO Mode 7575 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 7576 // 0x01-0x08 7577 // AUX has its own open_source/drain configuration. 7578 // 7579 // 0x2: Reserved. Undefined behavior. 7580 // 0x3: Reserved. Undefined behavior. 7581 // ENUMs: 7582 // OPENSRC_INV Open Source 7583 // Inverted input / output 7584 // OPENSRC Open Source 7585 // Normal input / output 7586 // OPENDR_INV Open Drain 7587 // Inverted input / output 7588 // OPENDR Open Drain, 7589 // Normal input / output 7590 // INV Inverted input / ouput 7591 // NORMAL Normal input / output 7592 #define IOC_IOCFG20_IOMODE_W 3 7593 #define IOC_IOCFG20_IOMODE_M 0x07000000 7594 #define IOC_IOCFG20_IOMODE_S 24 7595 #define IOC_IOCFG20_IOMODE_OPENSRC_INV 0x07000000 7596 #define IOC_IOCFG20_IOMODE_OPENSRC 0x06000000 7597 #define IOC_IOCFG20_IOMODE_OPENDR_INV 0x05000000 7598 #define IOC_IOCFG20_IOMODE_OPENDR 0x04000000 7599 #define IOC_IOCFG20_IOMODE_INV 0x01000000 7600 #define IOC_IOCFG20_IOMODE_NORMAL 0x00000000 7601 7602 // Field: [23] IOEV_AON_PROG2_EN 7603 // 7604 // Event asserted by this IO when edge detection is enabled 7605 // 7606 // 0: Input edge detection does not assert AON_PROG2 event 7607 // 1: Input edge detection asserts AON_PROG2 event 7608 #define IOC_IOCFG20_IOEV_AON_PROG2_EN 0x00800000 7609 #define IOC_IOCFG20_IOEV_AON_PROG2_EN_BITN 23 7610 #define IOC_IOCFG20_IOEV_AON_PROG2_EN_M 0x00800000 7611 #define IOC_IOCFG20_IOEV_AON_PROG2_EN_S 23 7612 7613 // Field: [22] IOEV_AON_PROG1_EN 7614 // 7615 // Event asserted by this IO when edge detection is enabled 7616 // 7617 // 0: Input edge detection does not assert AON_PROG1 event 7618 // 1: Input edge detection asserts AON_PROG1 event 7619 #define IOC_IOCFG20_IOEV_AON_PROG1_EN 0x00400000 7620 #define IOC_IOCFG20_IOEV_AON_PROG1_EN_BITN 22 7621 #define IOC_IOCFG20_IOEV_AON_PROG1_EN_M 0x00400000 7622 #define IOC_IOCFG20_IOEV_AON_PROG1_EN_S 22 7623 7624 // Field: [21] IOEV_AON_PROG0_EN 7625 // 7626 // Event asserted by this IO when edge detection is enabled 7627 // 7628 // 0: Input edge detection does not assert AON_PROG0 event 7629 // 1: Input edge detection asserts AON_PROG0 event 7630 #define IOC_IOCFG20_IOEV_AON_PROG0_EN 0x00200000 7631 #define IOC_IOCFG20_IOEV_AON_PROG0_EN_BITN 21 7632 #define IOC_IOCFG20_IOEV_AON_PROG0_EN_M 0x00200000 7633 #define IOC_IOCFG20_IOEV_AON_PROG0_EN_S 21 7634 7635 // Field: [18] EDGE_IRQ_EN 7636 // 7637 // 0: No interrupt generation 7638 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 7639 // enabled) 7640 #define IOC_IOCFG20_EDGE_IRQ_EN 0x00040000 7641 #define IOC_IOCFG20_EDGE_IRQ_EN_BITN 18 7642 #define IOC_IOCFG20_EDGE_IRQ_EN_M 0x00040000 7643 #define IOC_IOCFG20_EDGE_IRQ_EN_S 18 7644 7645 // Field: [17:16] EDGE_DET 7646 // 7647 // Enable generation of edge detection events on this IO 7648 // ENUMs: 7649 // BOTH Positive and negative edge detection 7650 // POS Positive edge detection 7651 // NEG Negative edge detection 7652 // NONE No edge detection 7653 #define IOC_IOCFG20_EDGE_DET_W 2 7654 #define IOC_IOCFG20_EDGE_DET_M 0x00030000 7655 #define IOC_IOCFG20_EDGE_DET_S 16 7656 #define IOC_IOCFG20_EDGE_DET_BOTH 0x00030000 7657 #define IOC_IOCFG20_EDGE_DET_POS 0x00020000 7658 #define IOC_IOCFG20_EDGE_DET_NEG 0x00010000 7659 #define IOC_IOCFG20_EDGE_DET_NONE 0x00000000 7660 7661 // Field: [14:13] PULL_CTL 7662 // 7663 // Pull control 7664 // ENUMs: 7665 // DIS No pull 7666 // UP Pull up 7667 // DWN Pull down 7668 #define IOC_IOCFG20_PULL_CTL_W 2 7669 #define IOC_IOCFG20_PULL_CTL_M 0x00006000 7670 #define IOC_IOCFG20_PULL_CTL_S 13 7671 #define IOC_IOCFG20_PULL_CTL_DIS 0x00006000 7672 #define IOC_IOCFG20_PULL_CTL_UP 0x00004000 7673 #define IOC_IOCFG20_PULL_CTL_DWN 0x00002000 7674 7675 // Field: [12] SLEW_RED 7676 // 7677 // 0: Normal slew rate 7678 // 1: Enables reduced slew rate in output driver. 7679 #define IOC_IOCFG20_SLEW_RED 0x00001000 7680 #define IOC_IOCFG20_SLEW_RED_BITN 12 7681 #define IOC_IOCFG20_SLEW_RED_M 0x00001000 7682 #define IOC_IOCFG20_SLEW_RED_S 12 7683 7684 // Field: [11:10] IOCURR 7685 // 7686 // Selects IO current mode of this IO. 7687 // ENUMs: 7688 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 7689 // drive strength IOs (min 4 mA for normal IOs) 7690 // when IOSTR is set to AUTO 7691 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 7692 // to AUTO 7693 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 7694 // to AUTO 7695 #define IOC_IOCFG20_IOCURR_W 2 7696 #define IOC_IOCFG20_IOCURR_M 0x00000C00 7697 #define IOC_IOCFG20_IOCURR_S 10 7698 #define IOC_IOCFG20_IOCURR_4_8MA 0x00000800 7699 #define IOC_IOCFG20_IOCURR_4MA 0x00000400 7700 #define IOC_IOCFG20_IOCURR_2MA 0x00000000 7701 7702 // Field: [9:8] IOSTR 7703 // 7704 // Select source for drive strength control of this IO. 7705 // This setting controls the drive strength of the Low-Current (LC) mode. 7706 // Higher drive strength can be selected in IOCURR 7707 // ENUMs: 7708 // MAX Maximum drive strength, controlled by 7709 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 7710 // values) 7711 // MED Medium drive strength, controlled by 7712 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 7713 // values) 7714 // MIN Minimum drive strength, controlled by 7715 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 7716 // values) 7717 // AUTO Automatic drive strength, controlled by AON BATMON 7718 // based on battery voltage. (min 2 mA @VDDS) 7719 #define IOC_IOCFG20_IOSTR_W 2 7720 #define IOC_IOCFG20_IOSTR_M 0x00000300 7721 #define IOC_IOCFG20_IOSTR_S 8 7722 #define IOC_IOCFG20_IOSTR_MAX 0x00000300 7723 #define IOC_IOCFG20_IOSTR_MED 0x00000200 7724 #define IOC_IOCFG20_IOSTR_MIN 0x00000100 7725 #define IOC_IOCFG20_IOSTR_AUTO 0x00000000 7726 7727 // Field: [7] IOEV_RTC_EN 7728 // 7729 // Event asserted by this IO when edge detection is enabled 7730 // 7731 // 0: Input edge detection does not assert RTC event 7732 // 1: Input edge detection asserts RTC event 7733 #define IOC_IOCFG20_IOEV_RTC_EN 0x00000080 7734 #define IOC_IOCFG20_IOEV_RTC_EN_BITN 7 7735 #define IOC_IOCFG20_IOEV_RTC_EN_M 0x00000080 7736 #define IOC_IOCFG20_IOEV_RTC_EN_S 7 7737 7738 // Field: [6] IOEV_MCU_WU_EN 7739 // 7740 // Event asserted by this IO when edge detection is enabled 7741 // 7742 // 0: Input edge detection does not assert MCU_WU event 7743 // 1: Input edge detection asserts MCU_WU event 7744 #define IOC_IOCFG20_IOEV_MCU_WU_EN 0x00000040 7745 #define IOC_IOCFG20_IOEV_MCU_WU_EN_BITN 6 7746 #define IOC_IOCFG20_IOEV_MCU_WU_EN_M 0x00000040 7747 #define IOC_IOCFG20_IOEV_MCU_WU_EN_S 6 7748 7749 // Field: [5:0] PORT_ID 7750 // 7751 // Selects usage for DIO20 7752 // Note: This field should not be written other than the times when PORT_ID 7753 // value is specifically required to change. 7754 // ENUMs: 7755 // RFC_SMI_CL_IN RF Core SMI Command Link In 7756 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 7757 // RFC_SMI_DL_IN RF Core SMI Data Link In 7758 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 7759 // RFC_GPI1 RF Core Data In 1 7760 // RFC_GPI0 RF Core Data In 0 7761 // RFC_GPO3 RF Core Data Out 3 7762 // RFC_GPO2 RF Core Data Out 2 7763 // RFC_GPO1 RF Core Data Out 1 7764 // RFC_GPO0 RF Core Data Out 0 7765 // RFC_TRC RF Core Trace 7766 // I2S_MCLK I2S MCLK 7767 // I2S_BCLK I2S BCLK 7768 // I2S_WCLK I2S WCLK 7769 // I2S_AD1 I2S Data 1 7770 // I2S_AD0 I2S Data 0 7771 // SSI1_CLK SSI1 CLK 7772 // SSI1_FSS SSI1 FSS 7773 // SSI1_TX SSI1 TX 7774 // SSI1_RX SSI1 RX 7775 // CPU_SWV CPU SWV 7776 // PORT_EVENT7 PORT EVENT 7 7777 // Can be used as a general 7778 // purpose IO event by selecting it through 7779 // registers in the EVENT module, for example 7780 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7781 // and so on 7782 // PORT_EVENT6 PORT EVENT 6 7783 // Can be used as a general 7784 // purpose IO event by selecting it through 7785 // registers in the EVENT module, for example 7786 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7787 // and so on 7788 // PORT_EVENT5 PORT EVENT 5 7789 // Can be used as a general 7790 // purpose IO event by selecting it through 7791 // registers in the EVENT module, for example 7792 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7793 // and so on 7794 // PORT_EVENT4 PORT EVENT 4 7795 // Can be used as a general 7796 // purpose IO event by selecting it through 7797 // registers in the EVENT module, for example 7798 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7799 // and so on 7800 // PORT_EVENT3 PORT EVENT 3 7801 // Can be used as a general 7802 // purpose IO event by selecting it through 7803 // registers in the EVENT module, for example 7804 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7805 // and so on 7806 // PORT_EVENT2 PORT EVENT 2 7807 // Can be used as a general 7808 // purpose IO event by selecting it through 7809 // registers in the EVENT module, for example 7810 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7811 // and so on 7812 // PORT_EVENT1 PORT EVENT 1 7813 // Can be used as a general 7814 // purpose IO event by selecting it through 7815 // registers in the EVENT module, for example 7816 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7817 // and so on 7818 // PORT_EVENT0 PORT EVENT 0 7819 // Can be used as a general 7820 // purpose IO event by selecting it through 7821 // registers in the EVENT module, for example 7822 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 7823 // and so on 7824 // UART1_RTS UART1 RTS 7825 // UART1_CTS UART1 CTS 7826 // UART1_TX UART1 TX 7827 // UART1_RX UART1 RX 7828 // UART0_RTS UART0 RTS 7829 // UART0_CTS UART0 CTS 7830 // UART0_TX UART0 TX 7831 // UART0_RX UART0 RX 7832 // I2C_MSSCL I2C Clock 7833 // I2C_MSSDA I2C Data 7834 // SSI0_CLK SSI0 CLK 7835 // SSI0_FSS SSI0 FSS 7836 // SSI0_TX SSI0 TX 7837 // SSI0_RX SSI0 RX 7838 // AUX_IO AUX IO 7839 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 7840 // GPIO General Purpose IO 7841 #define IOC_IOCFG20_PORT_ID_W 6 7842 #define IOC_IOCFG20_PORT_ID_M 0x0000003F 7843 #define IOC_IOCFG20_PORT_ID_S 0 7844 #define IOC_IOCFG20_PORT_ID_RFC_SMI_CL_IN 0x00000038 7845 #define IOC_IOCFG20_PORT_ID_RFC_SMI_CL_OUT 0x00000037 7846 #define IOC_IOCFG20_PORT_ID_RFC_SMI_DL_IN 0x00000036 7847 #define IOC_IOCFG20_PORT_ID_RFC_SMI_DL_OUT 0x00000035 7848 #define IOC_IOCFG20_PORT_ID_RFC_GPI1 0x00000034 7849 #define IOC_IOCFG20_PORT_ID_RFC_GPI0 0x00000033 7850 #define IOC_IOCFG20_PORT_ID_RFC_GPO3 0x00000032 7851 #define IOC_IOCFG20_PORT_ID_RFC_GPO2 0x00000031 7852 #define IOC_IOCFG20_PORT_ID_RFC_GPO1 0x00000030 7853 #define IOC_IOCFG20_PORT_ID_RFC_GPO0 0x0000002F 7854 #define IOC_IOCFG20_PORT_ID_RFC_TRC 0x0000002E 7855 #define IOC_IOCFG20_PORT_ID_I2S_MCLK 0x00000029 7856 #define IOC_IOCFG20_PORT_ID_I2S_BCLK 0x00000028 7857 #define IOC_IOCFG20_PORT_ID_I2S_WCLK 0x00000027 7858 #define IOC_IOCFG20_PORT_ID_I2S_AD1 0x00000026 7859 #define IOC_IOCFG20_PORT_ID_I2S_AD0 0x00000025 7860 #define IOC_IOCFG20_PORT_ID_SSI1_CLK 0x00000024 7861 #define IOC_IOCFG20_PORT_ID_SSI1_FSS 0x00000023 7862 #define IOC_IOCFG20_PORT_ID_SSI1_TX 0x00000022 7863 #define IOC_IOCFG20_PORT_ID_SSI1_RX 0x00000021 7864 #define IOC_IOCFG20_PORT_ID_CPU_SWV 0x00000020 7865 #define IOC_IOCFG20_PORT_ID_PORT_EVENT7 0x0000001E 7866 #define IOC_IOCFG20_PORT_ID_PORT_EVENT6 0x0000001D 7867 #define IOC_IOCFG20_PORT_ID_PORT_EVENT5 0x0000001C 7868 #define IOC_IOCFG20_PORT_ID_PORT_EVENT4 0x0000001B 7869 #define IOC_IOCFG20_PORT_ID_PORT_EVENT3 0x0000001A 7870 #define IOC_IOCFG20_PORT_ID_PORT_EVENT2 0x00000019 7871 #define IOC_IOCFG20_PORT_ID_PORT_EVENT1 0x00000018 7872 #define IOC_IOCFG20_PORT_ID_PORT_EVENT0 0x00000017 7873 #define IOC_IOCFG20_PORT_ID_UART1_RTS 0x00000016 7874 #define IOC_IOCFG20_PORT_ID_UART1_CTS 0x00000015 7875 #define IOC_IOCFG20_PORT_ID_UART1_TX 0x00000014 7876 #define IOC_IOCFG20_PORT_ID_UART1_RX 0x00000013 7877 #define IOC_IOCFG20_PORT_ID_UART0_RTS 0x00000012 7878 #define IOC_IOCFG20_PORT_ID_UART0_CTS 0x00000011 7879 #define IOC_IOCFG20_PORT_ID_UART0_TX 0x00000010 7880 #define IOC_IOCFG20_PORT_ID_UART0_RX 0x0000000F 7881 #define IOC_IOCFG20_PORT_ID_I2C_MSSCL 0x0000000E 7882 #define IOC_IOCFG20_PORT_ID_I2C_MSSDA 0x0000000D 7883 #define IOC_IOCFG20_PORT_ID_SSI0_CLK 0x0000000C 7884 #define IOC_IOCFG20_PORT_ID_SSI0_FSS 0x0000000B 7885 #define IOC_IOCFG20_PORT_ID_SSI0_TX 0x0000000A 7886 #define IOC_IOCFG20_PORT_ID_SSI0_RX 0x00000009 7887 #define IOC_IOCFG20_PORT_ID_AUX_IO 0x00000008 7888 #define IOC_IOCFG20_PORT_ID_AON_CLK32K 0x00000007 7889 #define IOC_IOCFG20_PORT_ID_GPIO 0x00000000 7890 7891 //***************************************************************************** 7892 // 7893 // Register: IOC_O_IOCFG21 7894 // 7895 //***************************************************************************** 7896 // Field: [30] HYST_EN 7897 // 7898 // 0: Input hysteresis disable 7899 // 1: Input hysteresis enable 7900 #define IOC_IOCFG21_HYST_EN 0x40000000 7901 #define IOC_IOCFG21_HYST_EN_BITN 30 7902 #define IOC_IOCFG21_HYST_EN_M 0x40000000 7903 #define IOC_IOCFG21_HYST_EN_S 30 7904 7905 // Field: [29] IE 7906 // 7907 // 0: Input disabled 7908 // 1: Input enabled 7909 // 7910 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 7911 // ignored. 7912 #define IOC_IOCFG21_IE 0x20000000 7913 #define IOC_IOCFG21_IE_BITN 29 7914 #define IOC_IOCFG21_IE_M 0x20000000 7915 #define IOC_IOCFG21_IE_S 29 7916 7917 // Field: [28:27] WU_CFG 7918 // 7919 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 7920 // >0x08: 7921 // 7922 // 00: No wake-up 7923 // 01: No wake-up 7924 // 10: Wakes up from shutdown if this pad is going low. 7925 // 11: Wakes up from shutdown if this pad is going high. 7926 // 7927 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 7928 // this register only sets wakeup enable or not. 7929 // 7930 // 00, 01: Wakeup disabled 7931 // 10, 11: Wakeup enabled 7932 // 7933 // Polarity is controlled from AON registers. 7934 // 7935 // Note:When the MSB is set, the IOC will deactivate the output enable for the 7936 // DIO. 7937 #define IOC_IOCFG21_WU_CFG_W 2 7938 #define IOC_IOCFG21_WU_CFG_M 0x18000000 7939 #define IOC_IOCFG21_WU_CFG_S 27 7940 7941 // Field: [26:24] IOMODE 7942 // 7943 // IO Mode 7944 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 7945 // 0x01-0x08 7946 // AUX has its own open_source/drain configuration. 7947 // 7948 // 0x2: Reserved. Undefined behavior. 7949 // 0x3: Reserved. Undefined behavior. 7950 // ENUMs: 7951 // OPENSRC_INV Open Source 7952 // Inverted input / output 7953 // OPENSRC Open Source 7954 // Normal input / output 7955 // OPENDR_INV Open Drain 7956 // Inverted input / output 7957 // OPENDR Open Drain, 7958 // Normal input / output 7959 // INV Inverted input / ouput 7960 // NORMAL Normal input / output 7961 #define IOC_IOCFG21_IOMODE_W 3 7962 #define IOC_IOCFG21_IOMODE_M 0x07000000 7963 #define IOC_IOCFG21_IOMODE_S 24 7964 #define IOC_IOCFG21_IOMODE_OPENSRC_INV 0x07000000 7965 #define IOC_IOCFG21_IOMODE_OPENSRC 0x06000000 7966 #define IOC_IOCFG21_IOMODE_OPENDR_INV 0x05000000 7967 #define IOC_IOCFG21_IOMODE_OPENDR 0x04000000 7968 #define IOC_IOCFG21_IOMODE_INV 0x01000000 7969 #define IOC_IOCFG21_IOMODE_NORMAL 0x00000000 7970 7971 // Field: [23] IOEV_AON_PROG2_EN 7972 // 7973 // Event asserted by this IO when edge detection is enabled 7974 // 7975 // 0: Input edge detection does not assert AON_PROG2 event 7976 // 1: Input edge detection asserts AON_PROG2 event 7977 #define IOC_IOCFG21_IOEV_AON_PROG2_EN 0x00800000 7978 #define IOC_IOCFG21_IOEV_AON_PROG2_EN_BITN 23 7979 #define IOC_IOCFG21_IOEV_AON_PROG2_EN_M 0x00800000 7980 #define IOC_IOCFG21_IOEV_AON_PROG2_EN_S 23 7981 7982 // Field: [22] IOEV_AON_PROG1_EN 7983 // 7984 // Event asserted by this IO when edge detection is enabled 7985 // 7986 // 0: Input edge detection does not assert AON_PROG1 event 7987 // 1: Input edge detection asserts AON_PROG1 event 7988 #define IOC_IOCFG21_IOEV_AON_PROG1_EN 0x00400000 7989 #define IOC_IOCFG21_IOEV_AON_PROG1_EN_BITN 22 7990 #define IOC_IOCFG21_IOEV_AON_PROG1_EN_M 0x00400000 7991 #define IOC_IOCFG21_IOEV_AON_PROG1_EN_S 22 7992 7993 // Field: [21] IOEV_AON_PROG0_EN 7994 // 7995 // Event asserted by this IO when edge detection is enabled 7996 // 7997 // 0: Input edge detection does not assert AON_PROG0 event 7998 // 1: Input edge detection asserts AON_PROG0 event 7999 #define IOC_IOCFG21_IOEV_AON_PROG0_EN 0x00200000 8000 #define IOC_IOCFG21_IOEV_AON_PROG0_EN_BITN 21 8001 #define IOC_IOCFG21_IOEV_AON_PROG0_EN_M 0x00200000 8002 #define IOC_IOCFG21_IOEV_AON_PROG0_EN_S 21 8003 8004 // Field: [18] EDGE_IRQ_EN 8005 // 8006 // 0: No interrupt generation 8007 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 8008 // enabled) 8009 #define IOC_IOCFG21_EDGE_IRQ_EN 0x00040000 8010 #define IOC_IOCFG21_EDGE_IRQ_EN_BITN 18 8011 #define IOC_IOCFG21_EDGE_IRQ_EN_M 0x00040000 8012 #define IOC_IOCFG21_EDGE_IRQ_EN_S 18 8013 8014 // Field: [17:16] EDGE_DET 8015 // 8016 // Enable generation of edge detection events on this IO 8017 // ENUMs: 8018 // BOTH Positive and negative edge detection 8019 // POS Positive edge detection 8020 // NEG Negative edge detection 8021 // NONE No edge detection 8022 #define IOC_IOCFG21_EDGE_DET_W 2 8023 #define IOC_IOCFG21_EDGE_DET_M 0x00030000 8024 #define IOC_IOCFG21_EDGE_DET_S 16 8025 #define IOC_IOCFG21_EDGE_DET_BOTH 0x00030000 8026 #define IOC_IOCFG21_EDGE_DET_POS 0x00020000 8027 #define IOC_IOCFG21_EDGE_DET_NEG 0x00010000 8028 #define IOC_IOCFG21_EDGE_DET_NONE 0x00000000 8029 8030 // Field: [14:13] PULL_CTL 8031 // 8032 // Pull control 8033 // ENUMs: 8034 // DIS No pull 8035 // UP Pull up 8036 // DWN Pull down 8037 #define IOC_IOCFG21_PULL_CTL_W 2 8038 #define IOC_IOCFG21_PULL_CTL_M 0x00006000 8039 #define IOC_IOCFG21_PULL_CTL_S 13 8040 #define IOC_IOCFG21_PULL_CTL_DIS 0x00006000 8041 #define IOC_IOCFG21_PULL_CTL_UP 0x00004000 8042 #define IOC_IOCFG21_PULL_CTL_DWN 0x00002000 8043 8044 // Field: [12] SLEW_RED 8045 // 8046 // 0: Normal slew rate 8047 // 1: Enables reduced slew rate in output driver. 8048 #define IOC_IOCFG21_SLEW_RED 0x00001000 8049 #define IOC_IOCFG21_SLEW_RED_BITN 12 8050 #define IOC_IOCFG21_SLEW_RED_M 0x00001000 8051 #define IOC_IOCFG21_SLEW_RED_S 12 8052 8053 // Field: [11:10] IOCURR 8054 // 8055 // Selects IO current mode of this IO. 8056 // ENUMs: 8057 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 8058 // drive strength IOs (min 4 mA for normal IOs) 8059 // when IOSTR is set to AUTO 8060 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 8061 // to AUTO 8062 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 8063 // to AUTO 8064 #define IOC_IOCFG21_IOCURR_W 2 8065 #define IOC_IOCFG21_IOCURR_M 0x00000C00 8066 #define IOC_IOCFG21_IOCURR_S 10 8067 #define IOC_IOCFG21_IOCURR_4_8MA 0x00000800 8068 #define IOC_IOCFG21_IOCURR_4MA 0x00000400 8069 #define IOC_IOCFG21_IOCURR_2MA 0x00000000 8070 8071 // Field: [9:8] IOSTR 8072 // 8073 // Select source for drive strength control of this IO. 8074 // This setting controls the drive strength of the Low-Current (LC) mode. 8075 // Higher drive strength can be selected in IOCURR 8076 // ENUMs: 8077 // MAX Maximum drive strength, controlled by 8078 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 8079 // values) 8080 // MED Medium drive strength, controlled by 8081 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 8082 // values) 8083 // MIN Minimum drive strength, controlled by 8084 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 8085 // values) 8086 // AUTO Automatic drive strength, controlled by AON BATMON 8087 // based on battery voltage. (min 2 mA @VDDS) 8088 #define IOC_IOCFG21_IOSTR_W 2 8089 #define IOC_IOCFG21_IOSTR_M 0x00000300 8090 #define IOC_IOCFG21_IOSTR_S 8 8091 #define IOC_IOCFG21_IOSTR_MAX 0x00000300 8092 #define IOC_IOCFG21_IOSTR_MED 0x00000200 8093 #define IOC_IOCFG21_IOSTR_MIN 0x00000100 8094 #define IOC_IOCFG21_IOSTR_AUTO 0x00000000 8095 8096 // Field: [7] IOEV_RTC_EN 8097 // 8098 // Event asserted by this IO when edge detection is enabled 8099 // 8100 // 0: Input edge detection does not assert RTC event 8101 // 1: Input edge detection asserts RTC event 8102 #define IOC_IOCFG21_IOEV_RTC_EN 0x00000080 8103 #define IOC_IOCFG21_IOEV_RTC_EN_BITN 7 8104 #define IOC_IOCFG21_IOEV_RTC_EN_M 0x00000080 8105 #define IOC_IOCFG21_IOEV_RTC_EN_S 7 8106 8107 // Field: [6] IOEV_MCU_WU_EN 8108 // 8109 // Event asserted by this IO when edge detection is enabled 8110 // 8111 // 0: Input edge detection does not assert MCU_WU event 8112 // 1: Input edge detection asserts MCU_WU event 8113 #define IOC_IOCFG21_IOEV_MCU_WU_EN 0x00000040 8114 #define IOC_IOCFG21_IOEV_MCU_WU_EN_BITN 6 8115 #define IOC_IOCFG21_IOEV_MCU_WU_EN_M 0x00000040 8116 #define IOC_IOCFG21_IOEV_MCU_WU_EN_S 6 8117 8118 // Field: [5:0] PORT_ID 8119 // 8120 // Selects usage for DIO21 8121 // Note: This field should not be written other than the times when PORT_ID 8122 // value is specifically required to change. 8123 // ENUMs: 8124 // RFC_SMI_CL_IN RF Core SMI Command Link In 8125 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 8126 // RFC_SMI_DL_IN RF Core SMI Data Link In 8127 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 8128 // RFC_GPI1 RF Core Data In 1 8129 // RFC_GPI0 RF Core Data In 0 8130 // RFC_GPO3 RF Core Data Out 3 8131 // RFC_GPO2 RF Core Data Out 2 8132 // RFC_GPO1 RF Core Data Out 1 8133 // RFC_GPO0 RF Core Data Out 0 8134 // RFC_TRC RF Core Trace 8135 // I2S_MCLK I2S MCLK 8136 // I2S_BCLK I2S BCLK 8137 // I2S_WCLK I2S WCLK 8138 // I2S_AD1 I2S Data 1 8139 // I2S_AD0 I2S Data 0 8140 // SSI1_CLK SSI1 CLK 8141 // SSI1_FSS SSI1 FSS 8142 // SSI1_TX SSI1 TX 8143 // SSI1_RX SSI1 RX 8144 // CPU_SWV CPU SWV 8145 // PORT_EVENT7 PORT EVENT 7 8146 // Can be used as a general 8147 // purpose IO event by selecting it through 8148 // registers in the EVENT module, for example 8149 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8150 // and so on 8151 // PORT_EVENT6 PORT EVENT 6 8152 // Can be used as a general 8153 // purpose IO event by selecting it through 8154 // registers in the EVENT module, for example 8155 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8156 // and so on 8157 // PORT_EVENT5 PORT EVENT 5 8158 // Can be used as a general 8159 // purpose IO event by selecting it through 8160 // registers in the EVENT module, for example 8161 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8162 // and so on 8163 // PORT_EVENT4 PORT EVENT 4 8164 // Can be used as a general 8165 // purpose IO event by selecting it through 8166 // registers in the EVENT module, for example 8167 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8168 // and so on 8169 // PORT_EVENT3 PORT EVENT 3 8170 // Can be used as a general 8171 // purpose IO event by selecting it through 8172 // registers in the EVENT module, for example 8173 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8174 // and so on 8175 // PORT_EVENT2 PORT EVENT 2 8176 // Can be used as a general 8177 // purpose IO event by selecting it through 8178 // registers in the EVENT module, for example 8179 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8180 // and so on 8181 // PORT_EVENT1 PORT EVENT 1 8182 // Can be used as a general 8183 // purpose IO event by selecting it through 8184 // registers in the EVENT module, for example 8185 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8186 // and so on 8187 // PORT_EVENT0 PORT EVENT 0 8188 // Can be used as a general 8189 // purpose IO event by selecting it through 8190 // registers in the EVENT module, for example 8191 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8192 // and so on 8193 // UART1_RTS UART1 RTS 8194 // UART1_CTS UART1 CTS 8195 // UART1_TX UART1 TX 8196 // UART1_RX UART1 RX 8197 // UART0_RTS UART0 RTS 8198 // UART0_CTS UART0 CTS 8199 // UART0_TX UART0 TX 8200 // UART0_RX UART0 RX 8201 // I2C_MSSCL I2C Clock 8202 // I2C_MSSDA I2C Data 8203 // SSI0_CLK SSI0 CLK 8204 // SSI0_FSS SSI0 FSS 8205 // SSI0_TX SSI0 TX 8206 // SSI0_RX SSI0 RX 8207 // AUX_IO AUX IO 8208 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 8209 // GPIO General Purpose IO 8210 #define IOC_IOCFG21_PORT_ID_W 6 8211 #define IOC_IOCFG21_PORT_ID_M 0x0000003F 8212 #define IOC_IOCFG21_PORT_ID_S 0 8213 #define IOC_IOCFG21_PORT_ID_RFC_SMI_CL_IN 0x00000038 8214 #define IOC_IOCFG21_PORT_ID_RFC_SMI_CL_OUT 0x00000037 8215 #define IOC_IOCFG21_PORT_ID_RFC_SMI_DL_IN 0x00000036 8216 #define IOC_IOCFG21_PORT_ID_RFC_SMI_DL_OUT 0x00000035 8217 #define IOC_IOCFG21_PORT_ID_RFC_GPI1 0x00000034 8218 #define IOC_IOCFG21_PORT_ID_RFC_GPI0 0x00000033 8219 #define IOC_IOCFG21_PORT_ID_RFC_GPO3 0x00000032 8220 #define IOC_IOCFG21_PORT_ID_RFC_GPO2 0x00000031 8221 #define IOC_IOCFG21_PORT_ID_RFC_GPO1 0x00000030 8222 #define IOC_IOCFG21_PORT_ID_RFC_GPO0 0x0000002F 8223 #define IOC_IOCFG21_PORT_ID_RFC_TRC 0x0000002E 8224 #define IOC_IOCFG21_PORT_ID_I2S_MCLK 0x00000029 8225 #define IOC_IOCFG21_PORT_ID_I2S_BCLK 0x00000028 8226 #define IOC_IOCFG21_PORT_ID_I2S_WCLK 0x00000027 8227 #define IOC_IOCFG21_PORT_ID_I2S_AD1 0x00000026 8228 #define IOC_IOCFG21_PORT_ID_I2S_AD0 0x00000025 8229 #define IOC_IOCFG21_PORT_ID_SSI1_CLK 0x00000024 8230 #define IOC_IOCFG21_PORT_ID_SSI1_FSS 0x00000023 8231 #define IOC_IOCFG21_PORT_ID_SSI1_TX 0x00000022 8232 #define IOC_IOCFG21_PORT_ID_SSI1_RX 0x00000021 8233 #define IOC_IOCFG21_PORT_ID_CPU_SWV 0x00000020 8234 #define IOC_IOCFG21_PORT_ID_PORT_EVENT7 0x0000001E 8235 #define IOC_IOCFG21_PORT_ID_PORT_EVENT6 0x0000001D 8236 #define IOC_IOCFG21_PORT_ID_PORT_EVENT5 0x0000001C 8237 #define IOC_IOCFG21_PORT_ID_PORT_EVENT4 0x0000001B 8238 #define IOC_IOCFG21_PORT_ID_PORT_EVENT3 0x0000001A 8239 #define IOC_IOCFG21_PORT_ID_PORT_EVENT2 0x00000019 8240 #define IOC_IOCFG21_PORT_ID_PORT_EVENT1 0x00000018 8241 #define IOC_IOCFG21_PORT_ID_PORT_EVENT0 0x00000017 8242 #define IOC_IOCFG21_PORT_ID_UART1_RTS 0x00000016 8243 #define IOC_IOCFG21_PORT_ID_UART1_CTS 0x00000015 8244 #define IOC_IOCFG21_PORT_ID_UART1_TX 0x00000014 8245 #define IOC_IOCFG21_PORT_ID_UART1_RX 0x00000013 8246 #define IOC_IOCFG21_PORT_ID_UART0_RTS 0x00000012 8247 #define IOC_IOCFG21_PORT_ID_UART0_CTS 0x00000011 8248 #define IOC_IOCFG21_PORT_ID_UART0_TX 0x00000010 8249 #define IOC_IOCFG21_PORT_ID_UART0_RX 0x0000000F 8250 #define IOC_IOCFG21_PORT_ID_I2C_MSSCL 0x0000000E 8251 #define IOC_IOCFG21_PORT_ID_I2C_MSSDA 0x0000000D 8252 #define IOC_IOCFG21_PORT_ID_SSI0_CLK 0x0000000C 8253 #define IOC_IOCFG21_PORT_ID_SSI0_FSS 0x0000000B 8254 #define IOC_IOCFG21_PORT_ID_SSI0_TX 0x0000000A 8255 #define IOC_IOCFG21_PORT_ID_SSI0_RX 0x00000009 8256 #define IOC_IOCFG21_PORT_ID_AUX_IO 0x00000008 8257 #define IOC_IOCFG21_PORT_ID_AON_CLK32K 0x00000007 8258 #define IOC_IOCFG21_PORT_ID_GPIO 0x00000000 8259 8260 //***************************************************************************** 8261 // 8262 // Register: IOC_O_IOCFG22 8263 // 8264 //***************************************************************************** 8265 // Field: [30] HYST_EN 8266 // 8267 // 0: Input hysteresis disable 8268 // 1: Input hysteresis enable 8269 #define IOC_IOCFG22_HYST_EN 0x40000000 8270 #define IOC_IOCFG22_HYST_EN_BITN 30 8271 #define IOC_IOCFG22_HYST_EN_M 0x40000000 8272 #define IOC_IOCFG22_HYST_EN_S 30 8273 8274 // Field: [29] IE 8275 // 8276 // 0: Input disabled 8277 // 1: Input enabled 8278 // 8279 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 8280 // ignored. 8281 #define IOC_IOCFG22_IE 0x20000000 8282 #define IOC_IOCFG22_IE_BITN 29 8283 #define IOC_IOCFG22_IE_M 0x20000000 8284 #define IOC_IOCFG22_IE_S 29 8285 8286 // Field: [28:27] WU_CFG 8287 // 8288 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 8289 // >0x08: 8290 // 8291 // 00: No wake-up 8292 // 01: No wake-up 8293 // 10: Wakes up from shutdown if this pad is going low. 8294 // 11: Wakes up from shutdown if this pad is going high. 8295 // 8296 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 8297 // this register only sets wakeup enable or not. 8298 // 8299 // 00, 01: Wakeup disabled 8300 // 10, 11: Wakeup enabled 8301 // 8302 // Polarity is controlled from AON registers. 8303 // 8304 // Note:When the MSB is set, the IOC will deactivate the output enable for the 8305 // DIO. 8306 #define IOC_IOCFG22_WU_CFG_W 2 8307 #define IOC_IOCFG22_WU_CFG_M 0x18000000 8308 #define IOC_IOCFG22_WU_CFG_S 27 8309 8310 // Field: [26:24] IOMODE 8311 // 8312 // IO Mode 8313 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 8314 // 0x01-0x08 8315 // AUX has its own open_source/drain configuration. 8316 // 8317 // 0x2: Reserved. Undefined behavior. 8318 // 0x3: Reserved. Undefined behavior. 8319 // ENUMs: 8320 // OPENSRC_INV Open Source 8321 // Inverted input / output 8322 // OPENSRC Open Source 8323 // Normal input / output 8324 // OPENDR_INV Open Drain 8325 // Inverted input / output 8326 // OPENDR Open Drain, 8327 // Normal input / output 8328 // INV Inverted input / ouput 8329 // NORMAL Normal input / output 8330 #define IOC_IOCFG22_IOMODE_W 3 8331 #define IOC_IOCFG22_IOMODE_M 0x07000000 8332 #define IOC_IOCFG22_IOMODE_S 24 8333 #define IOC_IOCFG22_IOMODE_OPENSRC_INV 0x07000000 8334 #define IOC_IOCFG22_IOMODE_OPENSRC 0x06000000 8335 #define IOC_IOCFG22_IOMODE_OPENDR_INV 0x05000000 8336 #define IOC_IOCFG22_IOMODE_OPENDR 0x04000000 8337 #define IOC_IOCFG22_IOMODE_INV 0x01000000 8338 #define IOC_IOCFG22_IOMODE_NORMAL 0x00000000 8339 8340 // Field: [23] IOEV_AON_PROG2_EN 8341 // 8342 // Event asserted by this IO when edge detection is enabled 8343 // 8344 // 0: Input edge detection does not assert AON_PROG2 event 8345 // 1: Input edge detection asserts AON_PROG2 event 8346 #define IOC_IOCFG22_IOEV_AON_PROG2_EN 0x00800000 8347 #define IOC_IOCFG22_IOEV_AON_PROG2_EN_BITN 23 8348 #define IOC_IOCFG22_IOEV_AON_PROG2_EN_M 0x00800000 8349 #define IOC_IOCFG22_IOEV_AON_PROG2_EN_S 23 8350 8351 // Field: [22] IOEV_AON_PROG1_EN 8352 // 8353 // Event asserted by this IO when edge detection is enabled 8354 // 8355 // 0: Input edge detection does not assert AON_PROG1 event 8356 // 1: Input edge detection asserts AON_PROG1 event 8357 #define IOC_IOCFG22_IOEV_AON_PROG1_EN 0x00400000 8358 #define IOC_IOCFG22_IOEV_AON_PROG1_EN_BITN 22 8359 #define IOC_IOCFG22_IOEV_AON_PROG1_EN_M 0x00400000 8360 #define IOC_IOCFG22_IOEV_AON_PROG1_EN_S 22 8361 8362 // Field: [21] IOEV_AON_PROG0_EN 8363 // 8364 // Event asserted by this IO when edge detection is enabled 8365 // 8366 // 0: Input edge detection does not assert AON_PROG0 event 8367 // 1: Input edge detection asserts AON_PROG0 event 8368 #define IOC_IOCFG22_IOEV_AON_PROG0_EN 0x00200000 8369 #define IOC_IOCFG22_IOEV_AON_PROG0_EN_BITN 21 8370 #define IOC_IOCFG22_IOEV_AON_PROG0_EN_M 0x00200000 8371 #define IOC_IOCFG22_IOEV_AON_PROG0_EN_S 21 8372 8373 // Field: [18] EDGE_IRQ_EN 8374 // 8375 // 0: No interrupt generation 8376 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 8377 // enabled) 8378 #define IOC_IOCFG22_EDGE_IRQ_EN 0x00040000 8379 #define IOC_IOCFG22_EDGE_IRQ_EN_BITN 18 8380 #define IOC_IOCFG22_EDGE_IRQ_EN_M 0x00040000 8381 #define IOC_IOCFG22_EDGE_IRQ_EN_S 18 8382 8383 // Field: [17:16] EDGE_DET 8384 // 8385 // Enable generation of edge detection events on this IO 8386 // ENUMs: 8387 // BOTH Positive and negative edge detection 8388 // POS Positive edge detection 8389 // NEG Negative edge detection 8390 // NONE No edge detection 8391 #define IOC_IOCFG22_EDGE_DET_W 2 8392 #define IOC_IOCFG22_EDGE_DET_M 0x00030000 8393 #define IOC_IOCFG22_EDGE_DET_S 16 8394 #define IOC_IOCFG22_EDGE_DET_BOTH 0x00030000 8395 #define IOC_IOCFG22_EDGE_DET_POS 0x00020000 8396 #define IOC_IOCFG22_EDGE_DET_NEG 0x00010000 8397 #define IOC_IOCFG22_EDGE_DET_NONE 0x00000000 8398 8399 // Field: [14:13] PULL_CTL 8400 // 8401 // Pull control 8402 // ENUMs: 8403 // DIS No pull 8404 // UP Pull up 8405 // DWN Pull down 8406 #define IOC_IOCFG22_PULL_CTL_W 2 8407 #define IOC_IOCFG22_PULL_CTL_M 0x00006000 8408 #define IOC_IOCFG22_PULL_CTL_S 13 8409 #define IOC_IOCFG22_PULL_CTL_DIS 0x00006000 8410 #define IOC_IOCFG22_PULL_CTL_UP 0x00004000 8411 #define IOC_IOCFG22_PULL_CTL_DWN 0x00002000 8412 8413 // Field: [12] SLEW_RED 8414 // 8415 // 0: Normal slew rate 8416 // 1: Enables reduced slew rate in output driver. 8417 #define IOC_IOCFG22_SLEW_RED 0x00001000 8418 #define IOC_IOCFG22_SLEW_RED_BITN 12 8419 #define IOC_IOCFG22_SLEW_RED_M 0x00001000 8420 #define IOC_IOCFG22_SLEW_RED_S 12 8421 8422 // Field: [11:10] IOCURR 8423 // 8424 // Selects IO current mode of this IO. 8425 // ENUMs: 8426 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 8427 // drive strength IOs (min 4 mA for normal IOs) 8428 // when IOSTR is set to AUTO 8429 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 8430 // to AUTO 8431 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 8432 // to AUTO 8433 #define IOC_IOCFG22_IOCURR_W 2 8434 #define IOC_IOCFG22_IOCURR_M 0x00000C00 8435 #define IOC_IOCFG22_IOCURR_S 10 8436 #define IOC_IOCFG22_IOCURR_4_8MA 0x00000800 8437 #define IOC_IOCFG22_IOCURR_4MA 0x00000400 8438 #define IOC_IOCFG22_IOCURR_2MA 0x00000000 8439 8440 // Field: [9:8] IOSTR 8441 // 8442 // Select source for drive strength control of this IO. 8443 // This setting controls the drive strength of the Low-Current (LC) mode. 8444 // Higher drive strength can be selected in IOCURR 8445 // ENUMs: 8446 // MAX Maximum drive strength, controlled by 8447 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 8448 // values) 8449 // MED Medium drive strength, controlled by 8450 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 8451 // values) 8452 // MIN Minimum drive strength, controlled by 8453 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 8454 // values) 8455 // AUTO Automatic drive strength, controlled by AON BATMON 8456 // based on battery voltage. (min 2 mA @VDDS) 8457 #define IOC_IOCFG22_IOSTR_W 2 8458 #define IOC_IOCFG22_IOSTR_M 0x00000300 8459 #define IOC_IOCFG22_IOSTR_S 8 8460 #define IOC_IOCFG22_IOSTR_MAX 0x00000300 8461 #define IOC_IOCFG22_IOSTR_MED 0x00000200 8462 #define IOC_IOCFG22_IOSTR_MIN 0x00000100 8463 #define IOC_IOCFG22_IOSTR_AUTO 0x00000000 8464 8465 // Field: [7] IOEV_RTC_EN 8466 // 8467 // Event asserted by this IO when edge detection is enabled 8468 // 8469 // 0: Input edge detection does not assert RTC event 8470 // 1: Input edge detection asserts RTC event 8471 #define IOC_IOCFG22_IOEV_RTC_EN 0x00000080 8472 #define IOC_IOCFG22_IOEV_RTC_EN_BITN 7 8473 #define IOC_IOCFG22_IOEV_RTC_EN_M 0x00000080 8474 #define IOC_IOCFG22_IOEV_RTC_EN_S 7 8475 8476 // Field: [6] IOEV_MCU_WU_EN 8477 // 8478 // Event asserted by this IO when edge detection is enabled 8479 // 8480 // 0: Input edge detection does not assert MCU_WU event 8481 // 1: Input edge detection asserts MCU_WU event 8482 #define IOC_IOCFG22_IOEV_MCU_WU_EN 0x00000040 8483 #define IOC_IOCFG22_IOEV_MCU_WU_EN_BITN 6 8484 #define IOC_IOCFG22_IOEV_MCU_WU_EN_M 0x00000040 8485 #define IOC_IOCFG22_IOEV_MCU_WU_EN_S 6 8486 8487 // Field: [5:0] PORT_ID 8488 // 8489 // Selects usage for DIO22 8490 // Note: This field should not be written other than the times when PORT_ID 8491 // value is specifically required to change. 8492 // ENUMs: 8493 // RFC_SMI_CL_IN RF Core SMI Command Link In 8494 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 8495 // RFC_SMI_DL_IN RF Core SMI Data Link In 8496 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 8497 // RFC_GPI1 RF Core Data In 1 8498 // RFC_GPI0 RF Core Data In 0 8499 // RFC_GPO3 RF Core Data Out 3 8500 // RFC_GPO2 RF Core Data Out 2 8501 // RFC_GPO1 RF Core Data Out 1 8502 // RFC_GPO0 RF Core Data Out 0 8503 // RFC_TRC RF Core Trace 8504 // I2S_MCLK I2S MCLK 8505 // I2S_BCLK I2S BCLK 8506 // I2S_WCLK I2S WCLK 8507 // I2S_AD1 I2S Data 1 8508 // I2S_AD0 I2S Data 0 8509 // SSI1_CLK SSI1 CLK 8510 // SSI1_FSS SSI1 FSS 8511 // SSI1_TX SSI1 TX 8512 // SSI1_RX SSI1 RX 8513 // CPU_SWV CPU SWV 8514 // PORT_EVENT7 PORT EVENT 7 8515 // Can be used as a general 8516 // purpose IO event by selecting it through 8517 // registers in the EVENT module, for example 8518 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8519 // and so on 8520 // PORT_EVENT6 PORT EVENT 6 8521 // Can be used as a general 8522 // purpose IO event by selecting it through 8523 // registers in the EVENT module, for example 8524 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8525 // and so on 8526 // PORT_EVENT5 PORT EVENT 5 8527 // Can be used as a general 8528 // purpose IO event by selecting it through 8529 // registers in the EVENT module, for example 8530 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8531 // and so on 8532 // PORT_EVENT4 PORT EVENT 4 8533 // Can be used as a general 8534 // purpose IO event by selecting it through 8535 // registers in the EVENT module, for example 8536 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8537 // and so on 8538 // PORT_EVENT3 PORT EVENT 3 8539 // Can be used as a general 8540 // purpose IO event by selecting it through 8541 // registers in the EVENT module, for example 8542 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8543 // and so on 8544 // PORT_EVENT2 PORT EVENT 2 8545 // Can be used as a general 8546 // purpose IO event by selecting it through 8547 // registers in the EVENT module, for example 8548 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8549 // and so on 8550 // PORT_EVENT1 PORT EVENT 1 8551 // Can be used as a general 8552 // purpose IO event by selecting it through 8553 // registers in the EVENT module, for example 8554 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8555 // and so on 8556 // PORT_EVENT0 PORT EVENT 0 8557 // Can be used as a general 8558 // purpose IO event by selecting it through 8559 // registers in the EVENT module, for example 8560 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8561 // and so on 8562 // UART1_RTS UART1 RTS 8563 // UART1_CTS UART1 CTS 8564 // UART1_TX UART1 TX 8565 // UART1_RX UART1 RX 8566 // UART0_RTS UART0 RTS 8567 // UART0_CTS UART0 CTS 8568 // UART0_TX UART0 TX 8569 // UART0_RX UART0 RX 8570 // I2C_MSSCL I2C Clock 8571 // I2C_MSSDA I2C Data 8572 // SSI0_CLK SSI0 CLK 8573 // SSI0_FSS SSI0 FSS 8574 // SSI0_TX SSI0 TX 8575 // SSI0_RX SSI0 RX 8576 // AUX_IO AUX IO 8577 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 8578 // GPIO General Purpose IO 8579 #define IOC_IOCFG22_PORT_ID_W 6 8580 #define IOC_IOCFG22_PORT_ID_M 0x0000003F 8581 #define IOC_IOCFG22_PORT_ID_S 0 8582 #define IOC_IOCFG22_PORT_ID_RFC_SMI_CL_IN 0x00000038 8583 #define IOC_IOCFG22_PORT_ID_RFC_SMI_CL_OUT 0x00000037 8584 #define IOC_IOCFG22_PORT_ID_RFC_SMI_DL_IN 0x00000036 8585 #define IOC_IOCFG22_PORT_ID_RFC_SMI_DL_OUT 0x00000035 8586 #define IOC_IOCFG22_PORT_ID_RFC_GPI1 0x00000034 8587 #define IOC_IOCFG22_PORT_ID_RFC_GPI0 0x00000033 8588 #define IOC_IOCFG22_PORT_ID_RFC_GPO3 0x00000032 8589 #define IOC_IOCFG22_PORT_ID_RFC_GPO2 0x00000031 8590 #define IOC_IOCFG22_PORT_ID_RFC_GPO1 0x00000030 8591 #define IOC_IOCFG22_PORT_ID_RFC_GPO0 0x0000002F 8592 #define IOC_IOCFG22_PORT_ID_RFC_TRC 0x0000002E 8593 #define IOC_IOCFG22_PORT_ID_I2S_MCLK 0x00000029 8594 #define IOC_IOCFG22_PORT_ID_I2S_BCLK 0x00000028 8595 #define IOC_IOCFG22_PORT_ID_I2S_WCLK 0x00000027 8596 #define IOC_IOCFG22_PORT_ID_I2S_AD1 0x00000026 8597 #define IOC_IOCFG22_PORT_ID_I2S_AD0 0x00000025 8598 #define IOC_IOCFG22_PORT_ID_SSI1_CLK 0x00000024 8599 #define IOC_IOCFG22_PORT_ID_SSI1_FSS 0x00000023 8600 #define IOC_IOCFG22_PORT_ID_SSI1_TX 0x00000022 8601 #define IOC_IOCFG22_PORT_ID_SSI1_RX 0x00000021 8602 #define IOC_IOCFG22_PORT_ID_CPU_SWV 0x00000020 8603 #define IOC_IOCFG22_PORT_ID_PORT_EVENT7 0x0000001E 8604 #define IOC_IOCFG22_PORT_ID_PORT_EVENT6 0x0000001D 8605 #define IOC_IOCFG22_PORT_ID_PORT_EVENT5 0x0000001C 8606 #define IOC_IOCFG22_PORT_ID_PORT_EVENT4 0x0000001B 8607 #define IOC_IOCFG22_PORT_ID_PORT_EVENT3 0x0000001A 8608 #define IOC_IOCFG22_PORT_ID_PORT_EVENT2 0x00000019 8609 #define IOC_IOCFG22_PORT_ID_PORT_EVENT1 0x00000018 8610 #define IOC_IOCFG22_PORT_ID_PORT_EVENT0 0x00000017 8611 #define IOC_IOCFG22_PORT_ID_UART1_RTS 0x00000016 8612 #define IOC_IOCFG22_PORT_ID_UART1_CTS 0x00000015 8613 #define IOC_IOCFG22_PORT_ID_UART1_TX 0x00000014 8614 #define IOC_IOCFG22_PORT_ID_UART1_RX 0x00000013 8615 #define IOC_IOCFG22_PORT_ID_UART0_RTS 0x00000012 8616 #define IOC_IOCFG22_PORT_ID_UART0_CTS 0x00000011 8617 #define IOC_IOCFG22_PORT_ID_UART0_TX 0x00000010 8618 #define IOC_IOCFG22_PORT_ID_UART0_RX 0x0000000F 8619 #define IOC_IOCFG22_PORT_ID_I2C_MSSCL 0x0000000E 8620 #define IOC_IOCFG22_PORT_ID_I2C_MSSDA 0x0000000D 8621 #define IOC_IOCFG22_PORT_ID_SSI0_CLK 0x0000000C 8622 #define IOC_IOCFG22_PORT_ID_SSI0_FSS 0x0000000B 8623 #define IOC_IOCFG22_PORT_ID_SSI0_TX 0x0000000A 8624 #define IOC_IOCFG22_PORT_ID_SSI0_RX 0x00000009 8625 #define IOC_IOCFG22_PORT_ID_AUX_IO 0x00000008 8626 #define IOC_IOCFG22_PORT_ID_AON_CLK32K 0x00000007 8627 #define IOC_IOCFG22_PORT_ID_GPIO 0x00000000 8628 8629 //***************************************************************************** 8630 // 8631 // Register: IOC_O_IOCFG23 8632 // 8633 //***************************************************************************** 8634 // Field: [30] HYST_EN 8635 // 8636 // 0: Input hysteresis disable 8637 // 1: Input hysteresis enable 8638 #define IOC_IOCFG23_HYST_EN 0x40000000 8639 #define IOC_IOCFG23_HYST_EN_BITN 30 8640 #define IOC_IOCFG23_HYST_EN_M 0x40000000 8641 #define IOC_IOCFG23_HYST_EN_S 30 8642 8643 // Field: [29] IE 8644 // 8645 // 0: Input disabled 8646 // 1: Input enabled 8647 // 8648 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 8649 // ignored. 8650 #define IOC_IOCFG23_IE 0x20000000 8651 #define IOC_IOCFG23_IE_BITN 29 8652 #define IOC_IOCFG23_IE_M 0x20000000 8653 #define IOC_IOCFG23_IE_S 29 8654 8655 // Field: [28:27] WU_CFG 8656 // 8657 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 8658 // >0x08: 8659 // 8660 // 00: No wake-up 8661 // 01: No wake-up 8662 // 10: Wakes up from shutdown if this pad is going low. 8663 // 11: Wakes up from shutdown if this pad is going high. 8664 // 8665 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 8666 // this register only sets wakeup enable or not. 8667 // 8668 // 00, 01: Wakeup disabled 8669 // 10, 11: Wakeup enabled 8670 // 8671 // Polarity is controlled from AON registers. 8672 // 8673 // Note:When the MSB is set, the IOC will deactivate the output enable for the 8674 // DIO. 8675 #define IOC_IOCFG23_WU_CFG_W 2 8676 #define IOC_IOCFG23_WU_CFG_M 0x18000000 8677 #define IOC_IOCFG23_WU_CFG_S 27 8678 8679 // Field: [26:24] IOMODE 8680 // 8681 // IO Mode 8682 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 8683 // 0x01-0x08 8684 // AUX has its own open_source/drain configuration. 8685 // 8686 // 0x2: Reserved. Undefined behavior. 8687 // 0x3: Reserved. Undefined behavior. 8688 // ENUMs: 8689 // OPENSRC_INV Open Source 8690 // Inverted input / output 8691 // OPENSRC Open Source 8692 // Normal input / output 8693 // OPENDR_INV Open Drain 8694 // Inverted input / output 8695 // OPENDR Open Drain, 8696 // Normal input / output 8697 // INV Inverted input / ouput 8698 // NORMAL Normal input / output 8699 #define IOC_IOCFG23_IOMODE_W 3 8700 #define IOC_IOCFG23_IOMODE_M 0x07000000 8701 #define IOC_IOCFG23_IOMODE_S 24 8702 #define IOC_IOCFG23_IOMODE_OPENSRC_INV 0x07000000 8703 #define IOC_IOCFG23_IOMODE_OPENSRC 0x06000000 8704 #define IOC_IOCFG23_IOMODE_OPENDR_INV 0x05000000 8705 #define IOC_IOCFG23_IOMODE_OPENDR 0x04000000 8706 #define IOC_IOCFG23_IOMODE_INV 0x01000000 8707 #define IOC_IOCFG23_IOMODE_NORMAL 0x00000000 8708 8709 // Field: [23] IOEV_AON_PROG2_EN 8710 // 8711 // Event asserted by this IO when edge detection is enabled 8712 // 8713 // 0: Input edge detection does not assert AON_PROG2 event 8714 // 1: Input edge detection asserts AON_PROG2 event 8715 #define IOC_IOCFG23_IOEV_AON_PROG2_EN 0x00800000 8716 #define IOC_IOCFG23_IOEV_AON_PROG2_EN_BITN 23 8717 #define IOC_IOCFG23_IOEV_AON_PROG2_EN_M 0x00800000 8718 #define IOC_IOCFG23_IOEV_AON_PROG2_EN_S 23 8719 8720 // Field: [22] IOEV_AON_PROG1_EN 8721 // 8722 // Event asserted by this IO when edge detection is enabled 8723 // 8724 // 0: Input edge detection does not assert AON_PROG1 event 8725 // 1: Input edge detection asserts AON_PROG1 event 8726 #define IOC_IOCFG23_IOEV_AON_PROG1_EN 0x00400000 8727 #define IOC_IOCFG23_IOEV_AON_PROG1_EN_BITN 22 8728 #define IOC_IOCFG23_IOEV_AON_PROG1_EN_M 0x00400000 8729 #define IOC_IOCFG23_IOEV_AON_PROG1_EN_S 22 8730 8731 // Field: [21] IOEV_AON_PROG0_EN 8732 // 8733 // Event asserted by this IO when edge detection is enabled 8734 // 8735 // 0: Input edge detection does not assert AON_PROG0 event 8736 // 1: Input edge detection asserts AON_PROG0 event 8737 #define IOC_IOCFG23_IOEV_AON_PROG0_EN 0x00200000 8738 #define IOC_IOCFG23_IOEV_AON_PROG0_EN_BITN 21 8739 #define IOC_IOCFG23_IOEV_AON_PROG0_EN_M 0x00200000 8740 #define IOC_IOCFG23_IOEV_AON_PROG0_EN_S 21 8741 8742 // Field: [18] EDGE_IRQ_EN 8743 // 8744 // 0: No interrupt generation 8745 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 8746 // enabled) 8747 #define IOC_IOCFG23_EDGE_IRQ_EN 0x00040000 8748 #define IOC_IOCFG23_EDGE_IRQ_EN_BITN 18 8749 #define IOC_IOCFG23_EDGE_IRQ_EN_M 0x00040000 8750 #define IOC_IOCFG23_EDGE_IRQ_EN_S 18 8751 8752 // Field: [17:16] EDGE_DET 8753 // 8754 // Enable generation of edge detection events on this IO 8755 // ENUMs: 8756 // BOTH Positive and negative edge detection 8757 // POS Positive edge detection 8758 // NEG Negative edge detection 8759 // NONE No edge detection 8760 #define IOC_IOCFG23_EDGE_DET_W 2 8761 #define IOC_IOCFG23_EDGE_DET_M 0x00030000 8762 #define IOC_IOCFG23_EDGE_DET_S 16 8763 #define IOC_IOCFG23_EDGE_DET_BOTH 0x00030000 8764 #define IOC_IOCFG23_EDGE_DET_POS 0x00020000 8765 #define IOC_IOCFG23_EDGE_DET_NEG 0x00010000 8766 #define IOC_IOCFG23_EDGE_DET_NONE 0x00000000 8767 8768 // Field: [14:13] PULL_CTL 8769 // 8770 // Pull control 8771 // ENUMs: 8772 // DIS No pull 8773 // UP Pull up 8774 // DWN Pull down 8775 #define IOC_IOCFG23_PULL_CTL_W 2 8776 #define IOC_IOCFG23_PULL_CTL_M 0x00006000 8777 #define IOC_IOCFG23_PULL_CTL_S 13 8778 #define IOC_IOCFG23_PULL_CTL_DIS 0x00006000 8779 #define IOC_IOCFG23_PULL_CTL_UP 0x00004000 8780 #define IOC_IOCFG23_PULL_CTL_DWN 0x00002000 8781 8782 // Field: [12] SLEW_RED 8783 // 8784 // 0: Normal slew rate 8785 // 1: Enables reduced slew rate in output driver. 8786 #define IOC_IOCFG23_SLEW_RED 0x00001000 8787 #define IOC_IOCFG23_SLEW_RED_BITN 12 8788 #define IOC_IOCFG23_SLEW_RED_M 0x00001000 8789 #define IOC_IOCFG23_SLEW_RED_S 12 8790 8791 // Field: [11:10] IOCURR 8792 // 8793 // Selects IO current mode of this IO. 8794 // ENUMs: 8795 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 8796 // drive strength IOs (min 4 mA for normal IOs) 8797 // when IOSTR is set to AUTO 8798 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 8799 // to AUTO 8800 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 8801 // to AUTO 8802 #define IOC_IOCFG23_IOCURR_W 2 8803 #define IOC_IOCFG23_IOCURR_M 0x00000C00 8804 #define IOC_IOCFG23_IOCURR_S 10 8805 #define IOC_IOCFG23_IOCURR_4_8MA 0x00000800 8806 #define IOC_IOCFG23_IOCURR_4MA 0x00000400 8807 #define IOC_IOCFG23_IOCURR_2MA 0x00000000 8808 8809 // Field: [9:8] IOSTR 8810 // 8811 // Select source for drive strength control of this IO. 8812 // This setting controls the drive strength of the Low-Current (LC) mode. 8813 // Higher drive strength can be selected in IOCURR 8814 // ENUMs: 8815 // MAX Maximum drive strength, controlled by 8816 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 8817 // values) 8818 // MED Medium drive strength, controlled by 8819 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 8820 // values) 8821 // MIN Minimum drive strength, controlled by 8822 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 8823 // values) 8824 // AUTO Automatic drive strength, controlled by AON BATMON 8825 // based on battery voltage. (min 2 mA @VDDS) 8826 #define IOC_IOCFG23_IOSTR_W 2 8827 #define IOC_IOCFG23_IOSTR_M 0x00000300 8828 #define IOC_IOCFG23_IOSTR_S 8 8829 #define IOC_IOCFG23_IOSTR_MAX 0x00000300 8830 #define IOC_IOCFG23_IOSTR_MED 0x00000200 8831 #define IOC_IOCFG23_IOSTR_MIN 0x00000100 8832 #define IOC_IOCFG23_IOSTR_AUTO 0x00000000 8833 8834 // Field: [7] IOEV_RTC_EN 8835 // 8836 // Event asserted by this IO when edge detection is enabled 8837 // 8838 // 0: Input edge detection does not assert RTC event 8839 // 1: Input edge detection asserts RTC event 8840 #define IOC_IOCFG23_IOEV_RTC_EN 0x00000080 8841 #define IOC_IOCFG23_IOEV_RTC_EN_BITN 7 8842 #define IOC_IOCFG23_IOEV_RTC_EN_M 0x00000080 8843 #define IOC_IOCFG23_IOEV_RTC_EN_S 7 8844 8845 // Field: [6] IOEV_MCU_WU_EN 8846 // 8847 // Event asserted by this IO when edge detection is enabled 8848 // 8849 // 0: Input edge detection does not assert MCU_WU event 8850 // 1: Input edge detection asserts MCU_WU event 8851 #define IOC_IOCFG23_IOEV_MCU_WU_EN 0x00000040 8852 #define IOC_IOCFG23_IOEV_MCU_WU_EN_BITN 6 8853 #define IOC_IOCFG23_IOEV_MCU_WU_EN_M 0x00000040 8854 #define IOC_IOCFG23_IOEV_MCU_WU_EN_S 6 8855 8856 // Field: [5:0] PORT_ID 8857 // 8858 // Selects usage for DIO23 8859 // Note: This field should not be written other than the times when PORT_ID 8860 // value is specifically required to change. 8861 // ENUMs: 8862 // RFC_SMI_CL_IN RF Core SMI Command Link In 8863 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 8864 // RFC_SMI_DL_IN RF Core SMI Data Link In 8865 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 8866 // RFC_GPI1 RF Core Data In 1 8867 // RFC_GPI0 RF Core Data In 0 8868 // RFC_GPO3 RF Core Data Out 3 8869 // RFC_GPO2 RF Core Data Out 2 8870 // RFC_GPO1 RF Core Data Out 1 8871 // RFC_GPO0 RF Core Data Out 0 8872 // RFC_TRC RF Core Trace 8873 // I2S_MCLK I2S MCLK 8874 // I2S_BCLK I2S BCLK 8875 // I2S_WCLK I2S WCLK 8876 // I2S_AD1 I2S Data 1 8877 // I2S_AD0 I2S Data 0 8878 // SSI1_CLK SSI1 CLK 8879 // SSI1_FSS SSI1 FSS 8880 // SSI1_TX SSI1 TX 8881 // SSI1_RX SSI1 RX 8882 // CPU_SWV CPU SWV 8883 // PORT_EVENT7 PORT EVENT 7 8884 // Can be used as a general 8885 // purpose IO event by selecting it through 8886 // registers in the EVENT module, for example 8887 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8888 // and so on 8889 // PORT_EVENT6 PORT EVENT 6 8890 // Can be used as a general 8891 // purpose IO event by selecting it through 8892 // registers in the EVENT module, for example 8893 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8894 // and so on 8895 // PORT_EVENT5 PORT EVENT 5 8896 // Can be used as a general 8897 // purpose IO event by selecting it through 8898 // registers in the EVENT module, for example 8899 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8900 // and so on 8901 // PORT_EVENT4 PORT EVENT 4 8902 // Can be used as a general 8903 // purpose IO event by selecting it through 8904 // registers in the EVENT module, for example 8905 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8906 // and so on 8907 // PORT_EVENT3 PORT EVENT 3 8908 // Can be used as a general 8909 // purpose IO event by selecting it through 8910 // registers in the EVENT module, for example 8911 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8912 // and so on 8913 // PORT_EVENT2 PORT EVENT 2 8914 // Can be used as a general 8915 // purpose IO event by selecting it through 8916 // registers in the EVENT module, for example 8917 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8918 // and so on 8919 // PORT_EVENT1 PORT EVENT 1 8920 // Can be used as a general 8921 // purpose IO event by selecting it through 8922 // registers in the EVENT module, for example 8923 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8924 // and so on 8925 // PORT_EVENT0 PORT EVENT 0 8926 // Can be used as a general 8927 // purpose IO event by selecting it through 8928 // registers in the EVENT module, for example 8929 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 8930 // and so on 8931 // UART1_RTS UART1 RTS 8932 // UART1_CTS UART1 CTS 8933 // UART1_TX UART1 TX 8934 // UART1_RX UART1 RX 8935 // UART0_RTS UART0 RTS 8936 // UART0_CTS UART0 CTS 8937 // UART0_TX UART0 TX 8938 // UART0_RX UART0 RX 8939 // I2C_MSSCL I2C Clock 8940 // I2C_MSSDA I2C Data 8941 // SSI0_CLK SSI0 CLK 8942 // SSI0_FSS SSI0 FSS 8943 // SSI0_TX SSI0 TX 8944 // SSI0_RX SSI0 RX 8945 // AUX_IO AUX IO 8946 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 8947 // GPIO General Purpose IO 8948 #define IOC_IOCFG23_PORT_ID_W 6 8949 #define IOC_IOCFG23_PORT_ID_M 0x0000003F 8950 #define IOC_IOCFG23_PORT_ID_S 0 8951 #define IOC_IOCFG23_PORT_ID_RFC_SMI_CL_IN 0x00000038 8952 #define IOC_IOCFG23_PORT_ID_RFC_SMI_CL_OUT 0x00000037 8953 #define IOC_IOCFG23_PORT_ID_RFC_SMI_DL_IN 0x00000036 8954 #define IOC_IOCFG23_PORT_ID_RFC_SMI_DL_OUT 0x00000035 8955 #define IOC_IOCFG23_PORT_ID_RFC_GPI1 0x00000034 8956 #define IOC_IOCFG23_PORT_ID_RFC_GPI0 0x00000033 8957 #define IOC_IOCFG23_PORT_ID_RFC_GPO3 0x00000032 8958 #define IOC_IOCFG23_PORT_ID_RFC_GPO2 0x00000031 8959 #define IOC_IOCFG23_PORT_ID_RFC_GPO1 0x00000030 8960 #define IOC_IOCFG23_PORT_ID_RFC_GPO0 0x0000002F 8961 #define IOC_IOCFG23_PORT_ID_RFC_TRC 0x0000002E 8962 #define IOC_IOCFG23_PORT_ID_I2S_MCLK 0x00000029 8963 #define IOC_IOCFG23_PORT_ID_I2S_BCLK 0x00000028 8964 #define IOC_IOCFG23_PORT_ID_I2S_WCLK 0x00000027 8965 #define IOC_IOCFG23_PORT_ID_I2S_AD1 0x00000026 8966 #define IOC_IOCFG23_PORT_ID_I2S_AD0 0x00000025 8967 #define IOC_IOCFG23_PORT_ID_SSI1_CLK 0x00000024 8968 #define IOC_IOCFG23_PORT_ID_SSI1_FSS 0x00000023 8969 #define IOC_IOCFG23_PORT_ID_SSI1_TX 0x00000022 8970 #define IOC_IOCFG23_PORT_ID_SSI1_RX 0x00000021 8971 #define IOC_IOCFG23_PORT_ID_CPU_SWV 0x00000020 8972 #define IOC_IOCFG23_PORT_ID_PORT_EVENT7 0x0000001E 8973 #define IOC_IOCFG23_PORT_ID_PORT_EVENT6 0x0000001D 8974 #define IOC_IOCFG23_PORT_ID_PORT_EVENT5 0x0000001C 8975 #define IOC_IOCFG23_PORT_ID_PORT_EVENT4 0x0000001B 8976 #define IOC_IOCFG23_PORT_ID_PORT_EVENT3 0x0000001A 8977 #define IOC_IOCFG23_PORT_ID_PORT_EVENT2 0x00000019 8978 #define IOC_IOCFG23_PORT_ID_PORT_EVENT1 0x00000018 8979 #define IOC_IOCFG23_PORT_ID_PORT_EVENT0 0x00000017 8980 #define IOC_IOCFG23_PORT_ID_UART1_RTS 0x00000016 8981 #define IOC_IOCFG23_PORT_ID_UART1_CTS 0x00000015 8982 #define IOC_IOCFG23_PORT_ID_UART1_TX 0x00000014 8983 #define IOC_IOCFG23_PORT_ID_UART1_RX 0x00000013 8984 #define IOC_IOCFG23_PORT_ID_UART0_RTS 0x00000012 8985 #define IOC_IOCFG23_PORT_ID_UART0_CTS 0x00000011 8986 #define IOC_IOCFG23_PORT_ID_UART0_TX 0x00000010 8987 #define IOC_IOCFG23_PORT_ID_UART0_RX 0x0000000F 8988 #define IOC_IOCFG23_PORT_ID_I2C_MSSCL 0x0000000E 8989 #define IOC_IOCFG23_PORT_ID_I2C_MSSDA 0x0000000D 8990 #define IOC_IOCFG23_PORT_ID_SSI0_CLK 0x0000000C 8991 #define IOC_IOCFG23_PORT_ID_SSI0_FSS 0x0000000B 8992 #define IOC_IOCFG23_PORT_ID_SSI0_TX 0x0000000A 8993 #define IOC_IOCFG23_PORT_ID_SSI0_RX 0x00000009 8994 #define IOC_IOCFG23_PORT_ID_AUX_IO 0x00000008 8995 #define IOC_IOCFG23_PORT_ID_AON_CLK32K 0x00000007 8996 #define IOC_IOCFG23_PORT_ID_GPIO 0x00000000 8997 8998 //***************************************************************************** 8999 // 9000 // Register: IOC_O_IOCFG24 9001 // 9002 //***************************************************************************** 9003 // Field: [30] HYST_EN 9004 // 9005 // 0: Input hysteresis disable 9006 // 1: Input hysteresis enable 9007 #define IOC_IOCFG24_HYST_EN 0x40000000 9008 #define IOC_IOCFG24_HYST_EN_BITN 30 9009 #define IOC_IOCFG24_HYST_EN_M 0x40000000 9010 #define IOC_IOCFG24_HYST_EN_S 30 9011 9012 // Field: [29] IE 9013 // 9014 // 0: Input disabled 9015 // 1: Input enabled 9016 // 9017 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 9018 // ignored. 9019 #define IOC_IOCFG24_IE 0x20000000 9020 #define IOC_IOCFG24_IE_BITN 29 9021 #define IOC_IOCFG24_IE_M 0x20000000 9022 #define IOC_IOCFG24_IE_S 29 9023 9024 // Field: [28:27] WU_CFG 9025 // 9026 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 9027 // >0x08: 9028 // 9029 // 00: No wake-up 9030 // 01: No wake-up 9031 // 10: Wakes up from shutdown if this pad is going low. 9032 // 11: Wakes up from shutdown if this pad is going high. 9033 // 9034 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 9035 // this register only sets wakeup enable or not. 9036 // 9037 // 00, 01: Wakeup disabled 9038 // 10, 11: Wakeup enabled 9039 // 9040 // Polarity is controlled from AON registers. 9041 // 9042 // Note:When the MSB is set, the IOC will deactivate the output enable for the 9043 // DIO. 9044 #define IOC_IOCFG24_WU_CFG_W 2 9045 #define IOC_IOCFG24_WU_CFG_M 0x18000000 9046 #define IOC_IOCFG24_WU_CFG_S 27 9047 9048 // Field: [26:24] IOMODE 9049 // 9050 // IO Mode 9051 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 9052 // 0x01-0x08 9053 // AUX has its own open_source/drain configuration. 9054 // 9055 // 0x2: Reserved. Undefined behavior. 9056 // 0x3: Reserved. Undefined behavior. 9057 // ENUMs: 9058 // OPENSRC_INV Open Source 9059 // Inverted input / output 9060 // OPENSRC Open Source 9061 // Normal input / output 9062 // OPENDR_INV Open Drain 9063 // Inverted input / output 9064 // OPENDR Open Drain, 9065 // Normal input / output 9066 // INV Inverted input / ouput 9067 // NORMAL Normal input / output 9068 #define IOC_IOCFG24_IOMODE_W 3 9069 #define IOC_IOCFG24_IOMODE_M 0x07000000 9070 #define IOC_IOCFG24_IOMODE_S 24 9071 #define IOC_IOCFG24_IOMODE_OPENSRC_INV 0x07000000 9072 #define IOC_IOCFG24_IOMODE_OPENSRC 0x06000000 9073 #define IOC_IOCFG24_IOMODE_OPENDR_INV 0x05000000 9074 #define IOC_IOCFG24_IOMODE_OPENDR 0x04000000 9075 #define IOC_IOCFG24_IOMODE_INV 0x01000000 9076 #define IOC_IOCFG24_IOMODE_NORMAL 0x00000000 9077 9078 // Field: [23] IOEV_AON_PROG2_EN 9079 // 9080 // Event asserted by this IO when edge detection is enabled 9081 // 9082 // 0: Input edge detection does not assert AON_PROG2 event 9083 // 1: Input edge detection asserts AON_PROG2 event 9084 #define IOC_IOCFG24_IOEV_AON_PROG2_EN 0x00800000 9085 #define IOC_IOCFG24_IOEV_AON_PROG2_EN_BITN 23 9086 #define IOC_IOCFG24_IOEV_AON_PROG2_EN_M 0x00800000 9087 #define IOC_IOCFG24_IOEV_AON_PROG2_EN_S 23 9088 9089 // Field: [22] IOEV_AON_PROG1_EN 9090 // 9091 // Event asserted by this IO when edge detection is enabled 9092 // 9093 // 0: Input edge detection does not assert AON_PROG1 event 9094 // 1: Input edge detection asserts AON_PROG1 event 9095 #define IOC_IOCFG24_IOEV_AON_PROG1_EN 0x00400000 9096 #define IOC_IOCFG24_IOEV_AON_PROG1_EN_BITN 22 9097 #define IOC_IOCFG24_IOEV_AON_PROG1_EN_M 0x00400000 9098 #define IOC_IOCFG24_IOEV_AON_PROG1_EN_S 22 9099 9100 // Field: [21] IOEV_AON_PROG0_EN 9101 // 9102 // Event asserted by this IO when edge detection is enabled 9103 // 9104 // 0: Input edge detection does not assert AON_PROG0 event 9105 // 1: Input edge detection asserts AON_PROG0 event 9106 #define IOC_IOCFG24_IOEV_AON_PROG0_EN 0x00200000 9107 #define IOC_IOCFG24_IOEV_AON_PROG0_EN_BITN 21 9108 #define IOC_IOCFG24_IOEV_AON_PROG0_EN_M 0x00200000 9109 #define IOC_IOCFG24_IOEV_AON_PROG0_EN_S 21 9110 9111 // Field: [18] EDGE_IRQ_EN 9112 // 9113 // 0: No interrupt generation 9114 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 9115 // enabled) 9116 #define IOC_IOCFG24_EDGE_IRQ_EN 0x00040000 9117 #define IOC_IOCFG24_EDGE_IRQ_EN_BITN 18 9118 #define IOC_IOCFG24_EDGE_IRQ_EN_M 0x00040000 9119 #define IOC_IOCFG24_EDGE_IRQ_EN_S 18 9120 9121 // Field: [17:16] EDGE_DET 9122 // 9123 // Enable generation of edge detection events on this IO 9124 // ENUMs: 9125 // BOTH Positive and negative edge detection 9126 // POS Positive edge detection 9127 // NEG Negative edge detection 9128 // NONE No edge detection 9129 #define IOC_IOCFG24_EDGE_DET_W 2 9130 #define IOC_IOCFG24_EDGE_DET_M 0x00030000 9131 #define IOC_IOCFG24_EDGE_DET_S 16 9132 #define IOC_IOCFG24_EDGE_DET_BOTH 0x00030000 9133 #define IOC_IOCFG24_EDGE_DET_POS 0x00020000 9134 #define IOC_IOCFG24_EDGE_DET_NEG 0x00010000 9135 #define IOC_IOCFG24_EDGE_DET_NONE 0x00000000 9136 9137 // Field: [14:13] PULL_CTL 9138 // 9139 // Pull control 9140 // ENUMs: 9141 // DIS No pull 9142 // UP Pull up 9143 // DWN Pull down 9144 #define IOC_IOCFG24_PULL_CTL_W 2 9145 #define IOC_IOCFG24_PULL_CTL_M 0x00006000 9146 #define IOC_IOCFG24_PULL_CTL_S 13 9147 #define IOC_IOCFG24_PULL_CTL_DIS 0x00006000 9148 #define IOC_IOCFG24_PULL_CTL_UP 0x00004000 9149 #define IOC_IOCFG24_PULL_CTL_DWN 0x00002000 9150 9151 // Field: [12] SLEW_RED 9152 // 9153 // 0: Normal slew rate 9154 // 1: Enables reduced slew rate in output driver. 9155 #define IOC_IOCFG24_SLEW_RED 0x00001000 9156 #define IOC_IOCFG24_SLEW_RED_BITN 12 9157 #define IOC_IOCFG24_SLEW_RED_M 0x00001000 9158 #define IOC_IOCFG24_SLEW_RED_S 12 9159 9160 // Field: [11:10] IOCURR 9161 // 9162 // Selects IO current mode of this IO. 9163 // ENUMs: 9164 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 9165 // drive strength IOs (min 4 mA for normal IOs) 9166 // when IOSTR is set to AUTO 9167 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 9168 // to AUTO 9169 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 9170 // to AUTO 9171 #define IOC_IOCFG24_IOCURR_W 2 9172 #define IOC_IOCFG24_IOCURR_M 0x00000C00 9173 #define IOC_IOCFG24_IOCURR_S 10 9174 #define IOC_IOCFG24_IOCURR_4_8MA 0x00000800 9175 #define IOC_IOCFG24_IOCURR_4MA 0x00000400 9176 #define IOC_IOCFG24_IOCURR_2MA 0x00000000 9177 9178 // Field: [9:8] IOSTR 9179 // 9180 // Select source for drive strength control of this IO. 9181 // This setting controls the drive strength of the Low-Current (LC) mode. 9182 // Higher drive strength can be selected in IOCURR 9183 // ENUMs: 9184 // MAX Maximum drive strength, controlled by 9185 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 9186 // values) 9187 // MED Medium drive strength, controlled by 9188 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 9189 // values) 9190 // MIN Minimum drive strength, controlled by 9191 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 9192 // values) 9193 // AUTO Automatic drive strength, controlled by AON BATMON 9194 // based on battery voltage. (min 2 mA @VDDS) 9195 #define IOC_IOCFG24_IOSTR_W 2 9196 #define IOC_IOCFG24_IOSTR_M 0x00000300 9197 #define IOC_IOCFG24_IOSTR_S 8 9198 #define IOC_IOCFG24_IOSTR_MAX 0x00000300 9199 #define IOC_IOCFG24_IOSTR_MED 0x00000200 9200 #define IOC_IOCFG24_IOSTR_MIN 0x00000100 9201 #define IOC_IOCFG24_IOSTR_AUTO 0x00000000 9202 9203 // Field: [7] IOEV_RTC_EN 9204 // 9205 // Event asserted by this IO when edge detection is enabled 9206 // 9207 // 0: Input edge detection does not assert RTC event 9208 // 1: Input edge detection asserts RTC event 9209 #define IOC_IOCFG24_IOEV_RTC_EN 0x00000080 9210 #define IOC_IOCFG24_IOEV_RTC_EN_BITN 7 9211 #define IOC_IOCFG24_IOEV_RTC_EN_M 0x00000080 9212 #define IOC_IOCFG24_IOEV_RTC_EN_S 7 9213 9214 // Field: [6] IOEV_MCU_WU_EN 9215 // 9216 // Event asserted by this IO when edge detection is enabled 9217 // 9218 // 0: Input edge detection does not assert MCU_WU event 9219 // 1: Input edge detection asserts MCU_WU event 9220 #define IOC_IOCFG24_IOEV_MCU_WU_EN 0x00000040 9221 #define IOC_IOCFG24_IOEV_MCU_WU_EN_BITN 6 9222 #define IOC_IOCFG24_IOEV_MCU_WU_EN_M 0x00000040 9223 #define IOC_IOCFG24_IOEV_MCU_WU_EN_S 6 9224 9225 // Field: [5:0] PORT_ID 9226 // 9227 // Selects usage for DIO24 9228 // Note: This field should not be written other than the times when PORT_ID 9229 // value is specifically required to change. 9230 // ENUMs: 9231 // RFC_SMI_CL_IN RF Core SMI Command Link In 9232 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 9233 // RFC_SMI_DL_IN RF Core SMI Data Link In 9234 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 9235 // RFC_GPI1 RF Core Data In 1 9236 // RFC_GPI0 RF Core Data In 0 9237 // RFC_GPO3 RF Core Data Out 3 9238 // RFC_GPO2 RF Core Data Out 2 9239 // RFC_GPO1 RF Core Data Out 1 9240 // RFC_GPO0 RF Core Data Out 0 9241 // RFC_TRC RF Core Trace 9242 // I2S_MCLK I2S MCLK 9243 // I2S_BCLK I2S BCLK 9244 // I2S_WCLK I2S WCLK 9245 // I2S_AD1 I2S Data 1 9246 // I2S_AD0 I2S Data 0 9247 // SSI1_CLK SSI1 CLK 9248 // SSI1_FSS SSI1 FSS 9249 // SSI1_TX SSI1 TX 9250 // SSI1_RX SSI1 RX 9251 // CPU_SWV CPU SWV 9252 // PORT_EVENT7 PORT EVENT 7 9253 // Can be used as a general 9254 // purpose IO event by selecting it through 9255 // registers in the EVENT module, for example 9256 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9257 // and so on 9258 // PORT_EVENT6 PORT EVENT 6 9259 // Can be used as a general 9260 // purpose IO event by selecting it through 9261 // registers in the EVENT module, for example 9262 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9263 // and so on 9264 // PORT_EVENT5 PORT EVENT 5 9265 // Can be used as a general 9266 // purpose IO event by selecting it through 9267 // registers in the EVENT module, for example 9268 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9269 // and so on 9270 // PORT_EVENT4 PORT EVENT 4 9271 // Can be used as a general 9272 // purpose IO event by selecting it through 9273 // registers in the EVENT module, for example 9274 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9275 // and so on 9276 // PORT_EVENT3 PORT EVENT 3 9277 // Can be used as a general 9278 // purpose IO event by selecting it through 9279 // registers in the EVENT module, for example 9280 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9281 // and so on 9282 // PORT_EVENT2 PORT EVENT 2 9283 // Can be used as a general 9284 // purpose IO event by selecting it through 9285 // registers in the EVENT module, for example 9286 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9287 // and so on 9288 // PORT_EVENT1 PORT EVENT 1 9289 // Can be used as a general 9290 // purpose IO event by selecting it through 9291 // registers in the EVENT module, for example 9292 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9293 // and so on 9294 // PORT_EVENT0 PORT EVENT 0 9295 // Can be used as a general 9296 // purpose IO event by selecting it through 9297 // registers in the EVENT module, for example 9298 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9299 // and so on 9300 // UART1_RTS UART1 RTS 9301 // UART1_CTS UART1 CTS 9302 // UART1_TX UART1 TX 9303 // UART1_RX UART1 RX 9304 // UART0_RTS UART0 RTS 9305 // UART0_CTS UART0 CTS 9306 // UART0_TX UART0 TX 9307 // UART0_RX UART0 RX 9308 // I2C_MSSCL I2C Clock 9309 // I2C_MSSDA I2C Data 9310 // SSI0_CLK SSI0 CLK 9311 // SSI0_FSS SSI0 FSS 9312 // SSI0_TX SSI0 TX 9313 // SSI0_RX SSI0 RX 9314 // AUX_IO AUX IO 9315 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 9316 // GPIO General Purpose IO 9317 #define IOC_IOCFG24_PORT_ID_W 6 9318 #define IOC_IOCFG24_PORT_ID_M 0x0000003F 9319 #define IOC_IOCFG24_PORT_ID_S 0 9320 #define IOC_IOCFG24_PORT_ID_RFC_SMI_CL_IN 0x00000038 9321 #define IOC_IOCFG24_PORT_ID_RFC_SMI_CL_OUT 0x00000037 9322 #define IOC_IOCFG24_PORT_ID_RFC_SMI_DL_IN 0x00000036 9323 #define IOC_IOCFG24_PORT_ID_RFC_SMI_DL_OUT 0x00000035 9324 #define IOC_IOCFG24_PORT_ID_RFC_GPI1 0x00000034 9325 #define IOC_IOCFG24_PORT_ID_RFC_GPI0 0x00000033 9326 #define IOC_IOCFG24_PORT_ID_RFC_GPO3 0x00000032 9327 #define IOC_IOCFG24_PORT_ID_RFC_GPO2 0x00000031 9328 #define IOC_IOCFG24_PORT_ID_RFC_GPO1 0x00000030 9329 #define IOC_IOCFG24_PORT_ID_RFC_GPO0 0x0000002F 9330 #define IOC_IOCFG24_PORT_ID_RFC_TRC 0x0000002E 9331 #define IOC_IOCFG24_PORT_ID_I2S_MCLK 0x00000029 9332 #define IOC_IOCFG24_PORT_ID_I2S_BCLK 0x00000028 9333 #define IOC_IOCFG24_PORT_ID_I2S_WCLK 0x00000027 9334 #define IOC_IOCFG24_PORT_ID_I2S_AD1 0x00000026 9335 #define IOC_IOCFG24_PORT_ID_I2S_AD0 0x00000025 9336 #define IOC_IOCFG24_PORT_ID_SSI1_CLK 0x00000024 9337 #define IOC_IOCFG24_PORT_ID_SSI1_FSS 0x00000023 9338 #define IOC_IOCFG24_PORT_ID_SSI1_TX 0x00000022 9339 #define IOC_IOCFG24_PORT_ID_SSI1_RX 0x00000021 9340 #define IOC_IOCFG24_PORT_ID_CPU_SWV 0x00000020 9341 #define IOC_IOCFG24_PORT_ID_PORT_EVENT7 0x0000001E 9342 #define IOC_IOCFG24_PORT_ID_PORT_EVENT6 0x0000001D 9343 #define IOC_IOCFG24_PORT_ID_PORT_EVENT5 0x0000001C 9344 #define IOC_IOCFG24_PORT_ID_PORT_EVENT4 0x0000001B 9345 #define IOC_IOCFG24_PORT_ID_PORT_EVENT3 0x0000001A 9346 #define IOC_IOCFG24_PORT_ID_PORT_EVENT2 0x00000019 9347 #define IOC_IOCFG24_PORT_ID_PORT_EVENT1 0x00000018 9348 #define IOC_IOCFG24_PORT_ID_PORT_EVENT0 0x00000017 9349 #define IOC_IOCFG24_PORT_ID_UART1_RTS 0x00000016 9350 #define IOC_IOCFG24_PORT_ID_UART1_CTS 0x00000015 9351 #define IOC_IOCFG24_PORT_ID_UART1_TX 0x00000014 9352 #define IOC_IOCFG24_PORT_ID_UART1_RX 0x00000013 9353 #define IOC_IOCFG24_PORT_ID_UART0_RTS 0x00000012 9354 #define IOC_IOCFG24_PORT_ID_UART0_CTS 0x00000011 9355 #define IOC_IOCFG24_PORT_ID_UART0_TX 0x00000010 9356 #define IOC_IOCFG24_PORT_ID_UART0_RX 0x0000000F 9357 #define IOC_IOCFG24_PORT_ID_I2C_MSSCL 0x0000000E 9358 #define IOC_IOCFG24_PORT_ID_I2C_MSSDA 0x0000000D 9359 #define IOC_IOCFG24_PORT_ID_SSI0_CLK 0x0000000C 9360 #define IOC_IOCFG24_PORT_ID_SSI0_FSS 0x0000000B 9361 #define IOC_IOCFG24_PORT_ID_SSI0_TX 0x0000000A 9362 #define IOC_IOCFG24_PORT_ID_SSI0_RX 0x00000009 9363 #define IOC_IOCFG24_PORT_ID_AUX_IO 0x00000008 9364 #define IOC_IOCFG24_PORT_ID_AON_CLK32K 0x00000007 9365 #define IOC_IOCFG24_PORT_ID_GPIO 0x00000000 9366 9367 //***************************************************************************** 9368 // 9369 // Register: IOC_O_IOCFG25 9370 // 9371 //***************************************************************************** 9372 // Field: [30] HYST_EN 9373 // 9374 // 0: Input hysteresis disable 9375 // 1: Input hysteresis enable 9376 #define IOC_IOCFG25_HYST_EN 0x40000000 9377 #define IOC_IOCFG25_HYST_EN_BITN 30 9378 #define IOC_IOCFG25_HYST_EN_M 0x40000000 9379 #define IOC_IOCFG25_HYST_EN_S 30 9380 9381 // Field: [29] IE 9382 // 9383 // 0: Input disabled 9384 // 1: Input enabled 9385 // 9386 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 9387 // ignored. 9388 #define IOC_IOCFG25_IE 0x20000000 9389 #define IOC_IOCFG25_IE_BITN 29 9390 #define IOC_IOCFG25_IE_M 0x20000000 9391 #define IOC_IOCFG25_IE_S 29 9392 9393 // Field: [28:27] WU_CFG 9394 // 9395 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 9396 // >0x08: 9397 // 9398 // 00: No wake-up 9399 // 01: No wake-up 9400 // 10: Wakes up from shutdown if this pad is going low. 9401 // 11: Wakes up from shutdown if this pad is going high. 9402 // 9403 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 9404 // this register only sets wakeup enable or not. 9405 // 9406 // 00, 01: Wakeup disabled 9407 // 10, 11: Wakeup enabled 9408 // 9409 // Polarity is controlled from AON registers. 9410 // 9411 // Note:When the MSB is set, the IOC will deactivate the output enable for the 9412 // DIO. 9413 #define IOC_IOCFG25_WU_CFG_W 2 9414 #define IOC_IOCFG25_WU_CFG_M 0x18000000 9415 #define IOC_IOCFG25_WU_CFG_S 27 9416 9417 // Field: [26:24] IOMODE 9418 // 9419 // IO Mode 9420 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 9421 // 0x01-0x08 9422 // AUX has its own open_source/drain configuration. 9423 // 9424 // 0x2: Reserved. Undefined behavior. 9425 // 0x3: Reserved. Undefined behavior. 9426 // ENUMs: 9427 // OPENSRC_INV Open Source 9428 // Inverted input / output 9429 // OPENSRC Open Source 9430 // Normal input / output 9431 // OPENDR_INV Open Drain 9432 // Inverted input / output 9433 // OPENDR Open Drain, 9434 // Normal input / output 9435 // INV Inverted input / ouput 9436 // NORMAL Normal input / output 9437 #define IOC_IOCFG25_IOMODE_W 3 9438 #define IOC_IOCFG25_IOMODE_M 0x07000000 9439 #define IOC_IOCFG25_IOMODE_S 24 9440 #define IOC_IOCFG25_IOMODE_OPENSRC_INV 0x07000000 9441 #define IOC_IOCFG25_IOMODE_OPENSRC 0x06000000 9442 #define IOC_IOCFG25_IOMODE_OPENDR_INV 0x05000000 9443 #define IOC_IOCFG25_IOMODE_OPENDR 0x04000000 9444 #define IOC_IOCFG25_IOMODE_INV 0x01000000 9445 #define IOC_IOCFG25_IOMODE_NORMAL 0x00000000 9446 9447 // Field: [23] IOEV_AON_PROG2_EN 9448 // 9449 // Event asserted by this IO when edge detection is enabled 9450 // 9451 // 0: Input edge detection does not assert AON_PROG2 event 9452 // 1: Input edge detection asserts AON_PROG2 event 9453 #define IOC_IOCFG25_IOEV_AON_PROG2_EN 0x00800000 9454 #define IOC_IOCFG25_IOEV_AON_PROG2_EN_BITN 23 9455 #define IOC_IOCFG25_IOEV_AON_PROG2_EN_M 0x00800000 9456 #define IOC_IOCFG25_IOEV_AON_PROG2_EN_S 23 9457 9458 // Field: [22] IOEV_AON_PROG1_EN 9459 // 9460 // Event asserted by this IO when edge detection is enabled 9461 // 9462 // 0: Input edge detection does not assert AON_PROG1 event 9463 // 1: Input edge detection asserts AON_PROG1 event 9464 #define IOC_IOCFG25_IOEV_AON_PROG1_EN 0x00400000 9465 #define IOC_IOCFG25_IOEV_AON_PROG1_EN_BITN 22 9466 #define IOC_IOCFG25_IOEV_AON_PROG1_EN_M 0x00400000 9467 #define IOC_IOCFG25_IOEV_AON_PROG1_EN_S 22 9468 9469 // Field: [21] IOEV_AON_PROG0_EN 9470 // 9471 // Event asserted by this IO when edge detection is enabled 9472 // 9473 // 0: Input edge detection does not assert AON_PROG0 event 9474 // 1: Input edge detection asserts AON_PROG0 event 9475 #define IOC_IOCFG25_IOEV_AON_PROG0_EN 0x00200000 9476 #define IOC_IOCFG25_IOEV_AON_PROG0_EN_BITN 21 9477 #define IOC_IOCFG25_IOEV_AON_PROG0_EN_M 0x00200000 9478 #define IOC_IOCFG25_IOEV_AON_PROG0_EN_S 21 9479 9480 // Field: [18] EDGE_IRQ_EN 9481 // 9482 // 0: No interrupt generation 9483 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 9484 // enabled) 9485 #define IOC_IOCFG25_EDGE_IRQ_EN 0x00040000 9486 #define IOC_IOCFG25_EDGE_IRQ_EN_BITN 18 9487 #define IOC_IOCFG25_EDGE_IRQ_EN_M 0x00040000 9488 #define IOC_IOCFG25_EDGE_IRQ_EN_S 18 9489 9490 // Field: [17:16] EDGE_DET 9491 // 9492 // Enable generation of edge detection events on this IO 9493 // ENUMs: 9494 // BOTH Positive and negative edge detection 9495 // POS Positive edge detection 9496 // NEG Negative edge detection 9497 // NONE No edge detection 9498 #define IOC_IOCFG25_EDGE_DET_W 2 9499 #define IOC_IOCFG25_EDGE_DET_M 0x00030000 9500 #define IOC_IOCFG25_EDGE_DET_S 16 9501 #define IOC_IOCFG25_EDGE_DET_BOTH 0x00030000 9502 #define IOC_IOCFG25_EDGE_DET_POS 0x00020000 9503 #define IOC_IOCFG25_EDGE_DET_NEG 0x00010000 9504 #define IOC_IOCFG25_EDGE_DET_NONE 0x00000000 9505 9506 // Field: [14:13] PULL_CTL 9507 // 9508 // Pull control 9509 // ENUMs: 9510 // DIS No pull 9511 // UP Pull up 9512 // DWN Pull down 9513 #define IOC_IOCFG25_PULL_CTL_W 2 9514 #define IOC_IOCFG25_PULL_CTL_M 0x00006000 9515 #define IOC_IOCFG25_PULL_CTL_S 13 9516 #define IOC_IOCFG25_PULL_CTL_DIS 0x00006000 9517 #define IOC_IOCFG25_PULL_CTL_UP 0x00004000 9518 #define IOC_IOCFG25_PULL_CTL_DWN 0x00002000 9519 9520 // Field: [12] SLEW_RED 9521 // 9522 // 0: Normal slew rate 9523 // 1: Enables reduced slew rate in output driver. 9524 #define IOC_IOCFG25_SLEW_RED 0x00001000 9525 #define IOC_IOCFG25_SLEW_RED_BITN 12 9526 #define IOC_IOCFG25_SLEW_RED_M 0x00001000 9527 #define IOC_IOCFG25_SLEW_RED_S 12 9528 9529 // Field: [11:10] IOCURR 9530 // 9531 // Selects IO current mode of this IO. 9532 // ENUMs: 9533 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 9534 // drive strength IOs (min 4 mA for normal IOs) 9535 // when IOSTR is set to AUTO 9536 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 9537 // to AUTO 9538 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 9539 // to AUTO 9540 #define IOC_IOCFG25_IOCURR_W 2 9541 #define IOC_IOCFG25_IOCURR_M 0x00000C00 9542 #define IOC_IOCFG25_IOCURR_S 10 9543 #define IOC_IOCFG25_IOCURR_4_8MA 0x00000800 9544 #define IOC_IOCFG25_IOCURR_4MA 0x00000400 9545 #define IOC_IOCFG25_IOCURR_2MA 0x00000000 9546 9547 // Field: [9:8] IOSTR 9548 // 9549 // Select source for drive strength control of this IO. 9550 // This setting controls the drive strength of the Low-Current (LC) mode. 9551 // Higher drive strength can be selected in IOCURR 9552 // ENUMs: 9553 // MAX Maximum drive strength, controlled by 9554 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 9555 // values) 9556 // MED Medium drive strength, controlled by 9557 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 9558 // values) 9559 // MIN Minimum drive strength, controlled by 9560 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 9561 // values) 9562 // AUTO Automatic drive strength, controlled by AON BATMON 9563 // based on battery voltage. (min 2 mA @VDDS) 9564 #define IOC_IOCFG25_IOSTR_W 2 9565 #define IOC_IOCFG25_IOSTR_M 0x00000300 9566 #define IOC_IOCFG25_IOSTR_S 8 9567 #define IOC_IOCFG25_IOSTR_MAX 0x00000300 9568 #define IOC_IOCFG25_IOSTR_MED 0x00000200 9569 #define IOC_IOCFG25_IOSTR_MIN 0x00000100 9570 #define IOC_IOCFG25_IOSTR_AUTO 0x00000000 9571 9572 // Field: [7] IOEV_RTC_EN 9573 // 9574 // Event asserted by this IO when edge detection is enabled 9575 // 9576 // 0: Input edge detection does not assert RTC event 9577 // 1: Input edge detection asserts RTC event 9578 #define IOC_IOCFG25_IOEV_RTC_EN 0x00000080 9579 #define IOC_IOCFG25_IOEV_RTC_EN_BITN 7 9580 #define IOC_IOCFG25_IOEV_RTC_EN_M 0x00000080 9581 #define IOC_IOCFG25_IOEV_RTC_EN_S 7 9582 9583 // Field: [6] IOEV_MCU_WU_EN 9584 // 9585 // Event asserted by this IO when edge detection is enabled 9586 // 9587 // 0: Input edge detection does not assert MCU_WU event 9588 // 1: Input edge detection asserts MCU_WU event 9589 #define IOC_IOCFG25_IOEV_MCU_WU_EN 0x00000040 9590 #define IOC_IOCFG25_IOEV_MCU_WU_EN_BITN 6 9591 #define IOC_IOCFG25_IOEV_MCU_WU_EN_M 0x00000040 9592 #define IOC_IOCFG25_IOEV_MCU_WU_EN_S 6 9593 9594 // Field: [5:0] PORT_ID 9595 // 9596 // Selects usage for DIO25 9597 // Note: This field should not be written other than the times when PORT_ID 9598 // value is specifically required to change. 9599 // ENUMs: 9600 // RFC_SMI_CL_IN RF Core SMI Command Link In 9601 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 9602 // RFC_SMI_DL_IN RF Core SMI Data Link In 9603 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 9604 // RFC_GPI1 RF Core Data In 1 9605 // RFC_GPI0 RF Core Data In 0 9606 // RFC_GPO3 RF Core Data Out 3 9607 // RFC_GPO2 RF Core Data Out 2 9608 // RFC_GPO1 RF Core Data Out 1 9609 // RFC_GPO0 RF Core Data Out 0 9610 // RFC_TRC RF Core Trace 9611 // I2S_MCLK I2S MCLK 9612 // I2S_BCLK I2S BCLK 9613 // I2S_WCLK I2S WCLK 9614 // I2S_AD1 I2S Data 1 9615 // I2S_AD0 I2S Data 0 9616 // SSI1_CLK SSI1 CLK 9617 // SSI1_FSS SSI1 FSS 9618 // SSI1_TX SSI1 TX 9619 // SSI1_RX SSI1 RX 9620 // CPU_SWV CPU SWV 9621 // PORT_EVENT7 PORT EVENT 7 9622 // Can be used as a general 9623 // purpose IO event by selecting it through 9624 // registers in the EVENT module, for example 9625 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9626 // and so on 9627 // PORT_EVENT6 PORT EVENT 6 9628 // Can be used as a general 9629 // purpose IO event by selecting it through 9630 // registers in the EVENT module, for example 9631 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9632 // and so on 9633 // PORT_EVENT5 PORT EVENT 5 9634 // Can be used as a general 9635 // purpose IO event by selecting it through 9636 // registers in the EVENT module, for example 9637 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9638 // and so on 9639 // PORT_EVENT4 PORT EVENT 4 9640 // Can be used as a general 9641 // purpose IO event by selecting it through 9642 // registers in the EVENT module, for example 9643 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9644 // and so on 9645 // PORT_EVENT3 PORT EVENT 3 9646 // Can be used as a general 9647 // purpose IO event by selecting it through 9648 // registers in the EVENT module, for example 9649 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9650 // and so on 9651 // PORT_EVENT2 PORT EVENT 2 9652 // Can be used as a general 9653 // purpose IO event by selecting it through 9654 // registers in the EVENT module, for example 9655 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9656 // and so on 9657 // PORT_EVENT1 PORT EVENT 1 9658 // Can be used as a general 9659 // purpose IO event by selecting it through 9660 // registers in the EVENT module, for example 9661 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9662 // and so on 9663 // PORT_EVENT0 PORT EVENT 0 9664 // Can be used as a general 9665 // purpose IO event by selecting it through 9666 // registers in the EVENT module, for example 9667 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9668 // and so on 9669 // UART1_RTS UART1 RTS 9670 // UART1_CTS UART1 CTS 9671 // UART1_TX UART1 TX 9672 // UART1_RX UART1 RX 9673 // UART0_RTS UART0 RTS 9674 // UART0_CTS UART0 CTS 9675 // UART0_TX UART0 TX 9676 // UART0_RX UART0 RX 9677 // I2C_MSSCL I2C Clock 9678 // I2C_MSSDA I2C Data 9679 // SSI0_CLK SSI0 CLK 9680 // SSI0_FSS SSI0 FSS 9681 // SSI0_TX SSI0 TX 9682 // SSI0_RX SSI0 RX 9683 // AUX_IO AUX IO 9684 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 9685 // GPIO General Purpose IO 9686 #define IOC_IOCFG25_PORT_ID_W 6 9687 #define IOC_IOCFG25_PORT_ID_M 0x0000003F 9688 #define IOC_IOCFG25_PORT_ID_S 0 9689 #define IOC_IOCFG25_PORT_ID_RFC_SMI_CL_IN 0x00000038 9690 #define IOC_IOCFG25_PORT_ID_RFC_SMI_CL_OUT 0x00000037 9691 #define IOC_IOCFG25_PORT_ID_RFC_SMI_DL_IN 0x00000036 9692 #define IOC_IOCFG25_PORT_ID_RFC_SMI_DL_OUT 0x00000035 9693 #define IOC_IOCFG25_PORT_ID_RFC_GPI1 0x00000034 9694 #define IOC_IOCFG25_PORT_ID_RFC_GPI0 0x00000033 9695 #define IOC_IOCFG25_PORT_ID_RFC_GPO3 0x00000032 9696 #define IOC_IOCFG25_PORT_ID_RFC_GPO2 0x00000031 9697 #define IOC_IOCFG25_PORT_ID_RFC_GPO1 0x00000030 9698 #define IOC_IOCFG25_PORT_ID_RFC_GPO0 0x0000002F 9699 #define IOC_IOCFG25_PORT_ID_RFC_TRC 0x0000002E 9700 #define IOC_IOCFG25_PORT_ID_I2S_MCLK 0x00000029 9701 #define IOC_IOCFG25_PORT_ID_I2S_BCLK 0x00000028 9702 #define IOC_IOCFG25_PORT_ID_I2S_WCLK 0x00000027 9703 #define IOC_IOCFG25_PORT_ID_I2S_AD1 0x00000026 9704 #define IOC_IOCFG25_PORT_ID_I2S_AD0 0x00000025 9705 #define IOC_IOCFG25_PORT_ID_SSI1_CLK 0x00000024 9706 #define IOC_IOCFG25_PORT_ID_SSI1_FSS 0x00000023 9707 #define IOC_IOCFG25_PORT_ID_SSI1_TX 0x00000022 9708 #define IOC_IOCFG25_PORT_ID_SSI1_RX 0x00000021 9709 #define IOC_IOCFG25_PORT_ID_CPU_SWV 0x00000020 9710 #define IOC_IOCFG25_PORT_ID_PORT_EVENT7 0x0000001E 9711 #define IOC_IOCFG25_PORT_ID_PORT_EVENT6 0x0000001D 9712 #define IOC_IOCFG25_PORT_ID_PORT_EVENT5 0x0000001C 9713 #define IOC_IOCFG25_PORT_ID_PORT_EVENT4 0x0000001B 9714 #define IOC_IOCFG25_PORT_ID_PORT_EVENT3 0x0000001A 9715 #define IOC_IOCFG25_PORT_ID_PORT_EVENT2 0x00000019 9716 #define IOC_IOCFG25_PORT_ID_PORT_EVENT1 0x00000018 9717 #define IOC_IOCFG25_PORT_ID_PORT_EVENT0 0x00000017 9718 #define IOC_IOCFG25_PORT_ID_UART1_RTS 0x00000016 9719 #define IOC_IOCFG25_PORT_ID_UART1_CTS 0x00000015 9720 #define IOC_IOCFG25_PORT_ID_UART1_TX 0x00000014 9721 #define IOC_IOCFG25_PORT_ID_UART1_RX 0x00000013 9722 #define IOC_IOCFG25_PORT_ID_UART0_RTS 0x00000012 9723 #define IOC_IOCFG25_PORT_ID_UART0_CTS 0x00000011 9724 #define IOC_IOCFG25_PORT_ID_UART0_TX 0x00000010 9725 #define IOC_IOCFG25_PORT_ID_UART0_RX 0x0000000F 9726 #define IOC_IOCFG25_PORT_ID_I2C_MSSCL 0x0000000E 9727 #define IOC_IOCFG25_PORT_ID_I2C_MSSDA 0x0000000D 9728 #define IOC_IOCFG25_PORT_ID_SSI0_CLK 0x0000000C 9729 #define IOC_IOCFG25_PORT_ID_SSI0_FSS 0x0000000B 9730 #define IOC_IOCFG25_PORT_ID_SSI0_TX 0x0000000A 9731 #define IOC_IOCFG25_PORT_ID_SSI0_RX 0x00000009 9732 #define IOC_IOCFG25_PORT_ID_AUX_IO 0x00000008 9733 #define IOC_IOCFG25_PORT_ID_AON_CLK32K 0x00000007 9734 #define IOC_IOCFG25_PORT_ID_GPIO 0x00000000 9735 9736 //***************************************************************************** 9737 // 9738 // Register: IOC_O_IOCFG26 9739 // 9740 //***************************************************************************** 9741 // Field: [30] HYST_EN 9742 // 9743 // 0: Input hysteresis disable 9744 // 1: Input hysteresis enable 9745 #define IOC_IOCFG26_HYST_EN 0x40000000 9746 #define IOC_IOCFG26_HYST_EN_BITN 30 9747 #define IOC_IOCFG26_HYST_EN_M 0x40000000 9748 #define IOC_IOCFG26_HYST_EN_S 30 9749 9750 // Field: [29] IE 9751 // 9752 // 0: Input disabled 9753 // 1: Input enabled 9754 // 9755 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 9756 // ignored. 9757 #define IOC_IOCFG26_IE 0x20000000 9758 #define IOC_IOCFG26_IE_BITN 29 9759 #define IOC_IOCFG26_IE_M 0x20000000 9760 #define IOC_IOCFG26_IE_S 29 9761 9762 // Field: [28:27] WU_CFG 9763 // 9764 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 9765 // >0x08: 9766 // 9767 // 00: No wake-up 9768 // 01: No wake-up 9769 // 10: Wakes up from shutdown if this pad is going low. 9770 // 11: Wakes up from shutdown if this pad is going high. 9771 // 9772 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 9773 // this register only sets wakeup enable or not. 9774 // 9775 // 00, 01: Wakeup disabled 9776 // 10, 11: Wakeup enabled 9777 // 9778 // Polarity is controlled from AON registers. 9779 // 9780 // Note:When the MSB is set, the IOC will deactivate the output enable for the 9781 // DIO. 9782 #define IOC_IOCFG26_WU_CFG_W 2 9783 #define IOC_IOCFG26_WU_CFG_M 0x18000000 9784 #define IOC_IOCFG26_WU_CFG_S 27 9785 9786 // Field: [26:24] IOMODE 9787 // 9788 // IO Mode 9789 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 9790 // 0x01-0x08 9791 // AUX has its own open_source/drain configuration. 9792 // 9793 // 0x2: Reserved. Undefined behavior. 9794 // 0x3: Reserved. Undefined behavior. 9795 // ENUMs: 9796 // OPENSRC_INV Open Source 9797 // Inverted input / output 9798 // OPENSRC Open Source 9799 // Normal input / output 9800 // OPENDR_INV Open Drain 9801 // Inverted input / output 9802 // OPENDR Open Drain, 9803 // Normal input / output 9804 // INV Inverted input / ouput 9805 // NORMAL Normal input / output 9806 #define IOC_IOCFG26_IOMODE_W 3 9807 #define IOC_IOCFG26_IOMODE_M 0x07000000 9808 #define IOC_IOCFG26_IOMODE_S 24 9809 #define IOC_IOCFG26_IOMODE_OPENSRC_INV 0x07000000 9810 #define IOC_IOCFG26_IOMODE_OPENSRC 0x06000000 9811 #define IOC_IOCFG26_IOMODE_OPENDR_INV 0x05000000 9812 #define IOC_IOCFG26_IOMODE_OPENDR 0x04000000 9813 #define IOC_IOCFG26_IOMODE_INV 0x01000000 9814 #define IOC_IOCFG26_IOMODE_NORMAL 0x00000000 9815 9816 // Field: [23] IOEV_AON_PROG2_EN 9817 // 9818 // Event asserted by this IO when edge detection is enabled 9819 // 9820 // 0: Input edge detection does not assert AON_PROG2 event 9821 // 1: Input edge detection asserts AON_PROG2 event 9822 #define IOC_IOCFG26_IOEV_AON_PROG2_EN 0x00800000 9823 #define IOC_IOCFG26_IOEV_AON_PROG2_EN_BITN 23 9824 #define IOC_IOCFG26_IOEV_AON_PROG2_EN_M 0x00800000 9825 #define IOC_IOCFG26_IOEV_AON_PROG2_EN_S 23 9826 9827 // Field: [22] IOEV_AON_PROG1_EN 9828 // 9829 // Event asserted by this IO when edge detection is enabled 9830 // 9831 // 0: Input edge detection does not assert AON_PROG1 event 9832 // 1: Input edge detection asserts AON_PROG1 event 9833 #define IOC_IOCFG26_IOEV_AON_PROG1_EN 0x00400000 9834 #define IOC_IOCFG26_IOEV_AON_PROG1_EN_BITN 22 9835 #define IOC_IOCFG26_IOEV_AON_PROG1_EN_M 0x00400000 9836 #define IOC_IOCFG26_IOEV_AON_PROG1_EN_S 22 9837 9838 // Field: [21] IOEV_AON_PROG0_EN 9839 // 9840 // Event asserted by this IO when edge detection is enabled 9841 // 9842 // 0: Input edge detection does not assert AON_PROG0 event 9843 // 1: Input edge detection asserts AON_PROG0 event 9844 #define IOC_IOCFG26_IOEV_AON_PROG0_EN 0x00200000 9845 #define IOC_IOCFG26_IOEV_AON_PROG0_EN_BITN 21 9846 #define IOC_IOCFG26_IOEV_AON_PROG0_EN_M 0x00200000 9847 #define IOC_IOCFG26_IOEV_AON_PROG0_EN_S 21 9848 9849 // Field: [18] EDGE_IRQ_EN 9850 // 9851 // 0: No interrupt generation 9852 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 9853 // enabled) 9854 #define IOC_IOCFG26_EDGE_IRQ_EN 0x00040000 9855 #define IOC_IOCFG26_EDGE_IRQ_EN_BITN 18 9856 #define IOC_IOCFG26_EDGE_IRQ_EN_M 0x00040000 9857 #define IOC_IOCFG26_EDGE_IRQ_EN_S 18 9858 9859 // Field: [17:16] EDGE_DET 9860 // 9861 // Enable generation of edge detection events on this IO 9862 // ENUMs: 9863 // BOTH Positive and negative edge detection 9864 // POS Positive edge detection 9865 // NEG Negative edge detection 9866 // NONE No edge detection 9867 #define IOC_IOCFG26_EDGE_DET_W 2 9868 #define IOC_IOCFG26_EDGE_DET_M 0x00030000 9869 #define IOC_IOCFG26_EDGE_DET_S 16 9870 #define IOC_IOCFG26_EDGE_DET_BOTH 0x00030000 9871 #define IOC_IOCFG26_EDGE_DET_POS 0x00020000 9872 #define IOC_IOCFG26_EDGE_DET_NEG 0x00010000 9873 #define IOC_IOCFG26_EDGE_DET_NONE 0x00000000 9874 9875 // Field: [14:13] PULL_CTL 9876 // 9877 // Pull control 9878 // ENUMs: 9879 // DIS No pull 9880 // UP Pull up 9881 // DWN Pull down 9882 #define IOC_IOCFG26_PULL_CTL_W 2 9883 #define IOC_IOCFG26_PULL_CTL_M 0x00006000 9884 #define IOC_IOCFG26_PULL_CTL_S 13 9885 #define IOC_IOCFG26_PULL_CTL_DIS 0x00006000 9886 #define IOC_IOCFG26_PULL_CTL_UP 0x00004000 9887 #define IOC_IOCFG26_PULL_CTL_DWN 0x00002000 9888 9889 // Field: [12] SLEW_RED 9890 // 9891 // 0: Normal slew rate 9892 // 1: Enables reduced slew rate in output driver. 9893 #define IOC_IOCFG26_SLEW_RED 0x00001000 9894 #define IOC_IOCFG26_SLEW_RED_BITN 12 9895 #define IOC_IOCFG26_SLEW_RED_M 0x00001000 9896 #define IOC_IOCFG26_SLEW_RED_S 12 9897 9898 // Field: [11:10] IOCURR 9899 // 9900 // Selects IO current mode of this IO. 9901 // ENUMs: 9902 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 9903 // drive strength IOs (min 4 mA for normal IOs) 9904 // when IOSTR is set to AUTO 9905 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 9906 // to AUTO 9907 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 9908 // to AUTO 9909 #define IOC_IOCFG26_IOCURR_W 2 9910 #define IOC_IOCFG26_IOCURR_M 0x00000C00 9911 #define IOC_IOCFG26_IOCURR_S 10 9912 #define IOC_IOCFG26_IOCURR_4_8MA 0x00000800 9913 #define IOC_IOCFG26_IOCURR_4MA 0x00000400 9914 #define IOC_IOCFG26_IOCURR_2MA 0x00000000 9915 9916 // Field: [9:8] IOSTR 9917 // 9918 // Select source for drive strength control of this IO. 9919 // This setting controls the drive strength of the Low-Current (LC) mode. 9920 // Higher drive strength can be selected in IOCURR 9921 // ENUMs: 9922 // MAX Maximum drive strength, controlled by 9923 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 9924 // values) 9925 // MED Medium drive strength, controlled by 9926 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 9927 // values) 9928 // MIN Minimum drive strength, controlled by 9929 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 9930 // values) 9931 // AUTO Automatic drive strength, controlled by AON BATMON 9932 // based on battery voltage. (min 2 mA @VDDS) 9933 #define IOC_IOCFG26_IOSTR_W 2 9934 #define IOC_IOCFG26_IOSTR_M 0x00000300 9935 #define IOC_IOCFG26_IOSTR_S 8 9936 #define IOC_IOCFG26_IOSTR_MAX 0x00000300 9937 #define IOC_IOCFG26_IOSTR_MED 0x00000200 9938 #define IOC_IOCFG26_IOSTR_MIN 0x00000100 9939 #define IOC_IOCFG26_IOSTR_AUTO 0x00000000 9940 9941 // Field: [7] IOEV_RTC_EN 9942 // 9943 // Event asserted by this IO when edge detection is enabled 9944 // 9945 // 0: Input edge detection does not assert RTC event 9946 // 1: Input edge detection asserts RTC event 9947 #define IOC_IOCFG26_IOEV_RTC_EN 0x00000080 9948 #define IOC_IOCFG26_IOEV_RTC_EN_BITN 7 9949 #define IOC_IOCFG26_IOEV_RTC_EN_M 0x00000080 9950 #define IOC_IOCFG26_IOEV_RTC_EN_S 7 9951 9952 // Field: [6] IOEV_MCU_WU_EN 9953 // 9954 // Event asserted by this IO when edge detection is enabled 9955 // 9956 // 0: Input edge detection does not assert MCU_WU event 9957 // 1: Input edge detection asserts MCU_WU event 9958 #define IOC_IOCFG26_IOEV_MCU_WU_EN 0x00000040 9959 #define IOC_IOCFG26_IOEV_MCU_WU_EN_BITN 6 9960 #define IOC_IOCFG26_IOEV_MCU_WU_EN_M 0x00000040 9961 #define IOC_IOCFG26_IOEV_MCU_WU_EN_S 6 9962 9963 // Field: [5:0] PORT_ID 9964 // 9965 // Selects usage for DIO26 9966 // Note: This field should not be written other than the times when PORT_ID 9967 // value is specifically required to change. 9968 // ENUMs: 9969 // RFC_SMI_CL_IN RF Core SMI Command Link In 9970 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 9971 // RFC_SMI_DL_IN RF Core SMI Data Link In 9972 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 9973 // RFC_GPI1 RF Core Data In 1 9974 // RFC_GPI0 RF Core Data In 0 9975 // RFC_GPO3 RF Core Data Out 3 9976 // RFC_GPO2 RF Core Data Out 2 9977 // RFC_GPO1 RF Core Data Out 1 9978 // RFC_GPO0 RF Core Data Out 0 9979 // RFC_TRC RF Core Trace 9980 // I2S_MCLK I2S MCLK 9981 // I2S_BCLK I2S BCLK 9982 // I2S_WCLK I2S WCLK 9983 // I2S_AD1 I2S Data 1 9984 // I2S_AD0 I2S Data 0 9985 // SSI1_CLK SSI1 CLK 9986 // SSI1_FSS SSI1 FSS 9987 // SSI1_TX SSI1 TX 9988 // SSI1_RX SSI1 RX 9989 // CPU_SWV CPU SWV 9990 // PORT_EVENT7 PORT EVENT 7 9991 // Can be used as a general 9992 // purpose IO event by selecting it through 9993 // registers in the EVENT module, for example 9994 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 9995 // and so on 9996 // PORT_EVENT6 PORT EVENT 6 9997 // Can be used as a general 9998 // purpose IO event by selecting it through 9999 // registers in the EVENT module, for example 10000 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10001 // and so on 10002 // PORT_EVENT5 PORT EVENT 5 10003 // Can be used as a general 10004 // purpose IO event by selecting it through 10005 // registers in the EVENT module, for example 10006 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10007 // and so on 10008 // PORT_EVENT4 PORT EVENT 4 10009 // Can be used as a general 10010 // purpose IO event by selecting it through 10011 // registers in the EVENT module, for example 10012 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10013 // and so on 10014 // PORT_EVENT3 PORT EVENT 3 10015 // Can be used as a general 10016 // purpose IO event by selecting it through 10017 // registers in the EVENT module, for example 10018 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10019 // and so on 10020 // PORT_EVENT2 PORT EVENT 2 10021 // Can be used as a general 10022 // purpose IO event by selecting it through 10023 // registers in the EVENT module, for example 10024 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10025 // and so on 10026 // PORT_EVENT1 PORT EVENT 1 10027 // Can be used as a general 10028 // purpose IO event by selecting it through 10029 // registers in the EVENT module, for example 10030 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10031 // and so on 10032 // PORT_EVENT0 PORT EVENT 0 10033 // Can be used as a general 10034 // purpose IO event by selecting it through 10035 // registers in the EVENT module, for example 10036 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10037 // and so on 10038 // UART1_RTS UART1 RTS 10039 // UART1_CTS UART1 CTS 10040 // UART1_TX UART1 TX 10041 // UART1_RX UART1 RX 10042 // UART0_RTS UART0 RTS 10043 // UART0_CTS UART0 CTS 10044 // UART0_TX UART0 TX 10045 // UART0_RX UART0 RX 10046 // I2C_MSSCL I2C Clock 10047 // I2C_MSSDA I2C Data 10048 // SSI0_CLK SSI0 CLK 10049 // SSI0_FSS SSI0 FSS 10050 // SSI0_TX SSI0 TX 10051 // SSI0_RX SSI0 RX 10052 // AUX_IO AUX IO 10053 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 10054 // GPIO General Purpose IO 10055 #define IOC_IOCFG26_PORT_ID_W 6 10056 #define IOC_IOCFG26_PORT_ID_M 0x0000003F 10057 #define IOC_IOCFG26_PORT_ID_S 0 10058 #define IOC_IOCFG26_PORT_ID_RFC_SMI_CL_IN 0x00000038 10059 #define IOC_IOCFG26_PORT_ID_RFC_SMI_CL_OUT 0x00000037 10060 #define IOC_IOCFG26_PORT_ID_RFC_SMI_DL_IN 0x00000036 10061 #define IOC_IOCFG26_PORT_ID_RFC_SMI_DL_OUT 0x00000035 10062 #define IOC_IOCFG26_PORT_ID_RFC_GPI1 0x00000034 10063 #define IOC_IOCFG26_PORT_ID_RFC_GPI0 0x00000033 10064 #define IOC_IOCFG26_PORT_ID_RFC_GPO3 0x00000032 10065 #define IOC_IOCFG26_PORT_ID_RFC_GPO2 0x00000031 10066 #define IOC_IOCFG26_PORT_ID_RFC_GPO1 0x00000030 10067 #define IOC_IOCFG26_PORT_ID_RFC_GPO0 0x0000002F 10068 #define IOC_IOCFG26_PORT_ID_RFC_TRC 0x0000002E 10069 #define IOC_IOCFG26_PORT_ID_I2S_MCLK 0x00000029 10070 #define IOC_IOCFG26_PORT_ID_I2S_BCLK 0x00000028 10071 #define IOC_IOCFG26_PORT_ID_I2S_WCLK 0x00000027 10072 #define IOC_IOCFG26_PORT_ID_I2S_AD1 0x00000026 10073 #define IOC_IOCFG26_PORT_ID_I2S_AD0 0x00000025 10074 #define IOC_IOCFG26_PORT_ID_SSI1_CLK 0x00000024 10075 #define IOC_IOCFG26_PORT_ID_SSI1_FSS 0x00000023 10076 #define IOC_IOCFG26_PORT_ID_SSI1_TX 0x00000022 10077 #define IOC_IOCFG26_PORT_ID_SSI1_RX 0x00000021 10078 #define IOC_IOCFG26_PORT_ID_CPU_SWV 0x00000020 10079 #define IOC_IOCFG26_PORT_ID_PORT_EVENT7 0x0000001E 10080 #define IOC_IOCFG26_PORT_ID_PORT_EVENT6 0x0000001D 10081 #define IOC_IOCFG26_PORT_ID_PORT_EVENT5 0x0000001C 10082 #define IOC_IOCFG26_PORT_ID_PORT_EVENT4 0x0000001B 10083 #define IOC_IOCFG26_PORT_ID_PORT_EVENT3 0x0000001A 10084 #define IOC_IOCFG26_PORT_ID_PORT_EVENT2 0x00000019 10085 #define IOC_IOCFG26_PORT_ID_PORT_EVENT1 0x00000018 10086 #define IOC_IOCFG26_PORT_ID_PORT_EVENT0 0x00000017 10087 #define IOC_IOCFG26_PORT_ID_UART1_RTS 0x00000016 10088 #define IOC_IOCFG26_PORT_ID_UART1_CTS 0x00000015 10089 #define IOC_IOCFG26_PORT_ID_UART1_TX 0x00000014 10090 #define IOC_IOCFG26_PORT_ID_UART1_RX 0x00000013 10091 #define IOC_IOCFG26_PORT_ID_UART0_RTS 0x00000012 10092 #define IOC_IOCFG26_PORT_ID_UART0_CTS 0x00000011 10093 #define IOC_IOCFG26_PORT_ID_UART0_TX 0x00000010 10094 #define IOC_IOCFG26_PORT_ID_UART0_RX 0x0000000F 10095 #define IOC_IOCFG26_PORT_ID_I2C_MSSCL 0x0000000E 10096 #define IOC_IOCFG26_PORT_ID_I2C_MSSDA 0x0000000D 10097 #define IOC_IOCFG26_PORT_ID_SSI0_CLK 0x0000000C 10098 #define IOC_IOCFG26_PORT_ID_SSI0_FSS 0x0000000B 10099 #define IOC_IOCFG26_PORT_ID_SSI0_TX 0x0000000A 10100 #define IOC_IOCFG26_PORT_ID_SSI0_RX 0x00000009 10101 #define IOC_IOCFG26_PORT_ID_AUX_IO 0x00000008 10102 #define IOC_IOCFG26_PORT_ID_AON_CLK32K 0x00000007 10103 #define IOC_IOCFG26_PORT_ID_GPIO 0x00000000 10104 10105 //***************************************************************************** 10106 // 10107 // Register: IOC_O_IOCFG27 10108 // 10109 //***************************************************************************** 10110 // Field: [30] HYST_EN 10111 // 10112 // 0: Input hysteresis disable 10113 // 1: Input hysteresis enable 10114 #define IOC_IOCFG27_HYST_EN 0x40000000 10115 #define IOC_IOCFG27_HYST_EN_BITN 30 10116 #define IOC_IOCFG27_HYST_EN_M 0x40000000 10117 #define IOC_IOCFG27_HYST_EN_S 30 10118 10119 // Field: [29] IE 10120 // 10121 // 0: Input disabled 10122 // 1: Input enabled 10123 // 10124 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 10125 // ignored. 10126 #define IOC_IOCFG27_IE 0x20000000 10127 #define IOC_IOCFG27_IE_BITN 29 10128 #define IOC_IOCFG27_IE_M 0x20000000 10129 #define IOC_IOCFG27_IE_S 29 10130 10131 // Field: [28:27] WU_CFG 10132 // 10133 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 10134 // >0x08: 10135 // 10136 // 00: No wake-up 10137 // 01: No wake-up 10138 // 10: Wakes up from shutdown if this pad is going low. 10139 // 11: Wakes up from shutdown if this pad is going high. 10140 // 10141 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 10142 // this register only sets wakeup enable or not. 10143 // 10144 // 00, 01: Wakeup disabled 10145 // 10, 11: Wakeup enabled 10146 // 10147 // Polarity is controlled from AON registers. 10148 // 10149 // Note:When the MSB is set, the IOC will deactivate the output enable for the 10150 // DIO. 10151 #define IOC_IOCFG27_WU_CFG_W 2 10152 #define IOC_IOCFG27_WU_CFG_M 0x18000000 10153 #define IOC_IOCFG27_WU_CFG_S 27 10154 10155 // Field: [26:24] IOMODE 10156 // 10157 // IO Mode 10158 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 10159 // 0x01-0x08 10160 // AUX has its own open_source/drain configuration. 10161 // 10162 // 0x2: Reserved. Undefined behavior. 10163 // 0x3: Reserved. Undefined behavior. 10164 // ENUMs: 10165 // OPENSRC_INV Open Source 10166 // Inverted input / output 10167 // OPENSRC Open Source 10168 // Normal input / output 10169 // OPENDR_INV Open Drain 10170 // Inverted input / output 10171 // OPENDR Open Drain, 10172 // Normal input / output 10173 // INV Inverted input / ouput 10174 // NORMAL Normal input / output 10175 #define IOC_IOCFG27_IOMODE_W 3 10176 #define IOC_IOCFG27_IOMODE_M 0x07000000 10177 #define IOC_IOCFG27_IOMODE_S 24 10178 #define IOC_IOCFG27_IOMODE_OPENSRC_INV 0x07000000 10179 #define IOC_IOCFG27_IOMODE_OPENSRC 0x06000000 10180 #define IOC_IOCFG27_IOMODE_OPENDR_INV 0x05000000 10181 #define IOC_IOCFG27_IOMODE_OPENDR 0x04000000 10182 #define IOC_IOCFG27_IOMODE_INV 0x01000000 10183 #define IOC_IOCFG27_IOMODE_NORMAL 0x00000000 10184 10185 // Field: [23] IOEV_AON_PROG2_EN 10186 // 10187 // Event asserted by this IO when edge detection is enabled 10188 // 10189 // 0: Input edge detection does not assert AON_PROG2 event 10190 // 1: Input edge detection asserts AON_PROG2 event 10191 #define IOC_IOCFG27_IOEV_AON_PROG2_EN 0x00800000 10192 #define IOC_IOCFG27_IOEV_AON_PROG2_EN_BITN 23 10193 #define IOC_IOCFG27_IOEV_AON_PROG2_EN_M 0x00800000 10194 #define IOC_IOCFG27_IOEV_AON_PROG2_EN_S 23 10195 10196 // Field: [22] IOEV_AON_PROG1_EN 10197 // 10198 // Event asserted by this IO when edge detection is enabled 10199 // 10200 // 0: Input edge detection does not assert AON_PROG1 event 10201 // 1: Input edge detection asserts AON_PROG1 event 10202 #define IOC_IOCFG27_IOEV_AON_PROG1_EN 0x00400000 10203 #define IOC_IOCFG27_IOEV_AON_PROG1_EN_BITN 22 10204 #define IOC_IOCFG27_IOEV_AON_PROG1_EN_M 0x00400000 10205 #define IOC_IOCFG27_IOEV_AON_PROG1_EN_S 22 10206 10207 // Field: [21] IOEV_AON_PROG0_EN 10208 // 10209 // Event asserted by this IO when edge detection is enabled 10210 // 10211 // 0: Input edge detection does not assert AON_PROG0 event 10212 // 1: Input edge detection asserts AON_PROG0 event 10213 #define IOC_IOCFG27_IOEV_AON_PROG0_EN 0x00200000 10214 #define IOC_IOCFG27_IOEV_AON_PROG0_EN_BITN 21 10215 #define IOC_IOCFG27_IOEV_AON_PROG0_EN_M 0x00200000 10216 #define IOC_IOCFG27_IOEV_AON_PROG0_EN_S 21 10217 10218 // Field: [18] EDGE_IRQ_EN 10219 // 10220 // 0: No interrupt generation 10221 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 10222 // enabled) 10223 #define IOC_IOCFG27_EDGE_IRQ_EN 0x00040000 10224 #define IOC_IOCFG27_EDGE_IRQ_EN_BITN 18 10225 #define IOC_IOCFG27_EDGE_IRQ_EN_M 0x00040000 10226 #define IOC_IOCFG27_EDGE_IRQ_EN_S 18 10227 10228 // Field: [17:16] EDGE_DET 10229 // 10230 // Enable generation of edge detection events on this IO 10231 // ENUMs: 10232 // BOTH Positive and negative edge detection 10233 // POS Positive edge detection 10234 // NEG Negative edge detection 10235 // NONE No edge detection 10236 #define IOC_IOCFG27_EDGE_DET_W 2 10237 #define IOC_IOCFG27_EDGE_DET_M 0x00030000 10238 #define IOC_IOCFG27_EDGE_DET_S 16 10239 #define IOC_IOCFG27_EDGE_DET_BOTH 0x00030000 10240 #define IOC_IOCFG27_EDGE_DET_POS 0x00020000 10241 #define IOC_IOCFG27_EDGE_DET_NEG 0x00010000 10242 #define IOC_IOCFG27_EDGE_DET_NONE 0x00000000 10243 10244 // Field: [14:13] PULL_CTL 10245 // 10246 // Pull control 10247 // ENUMs: 10248 // DIS No pull 10249 // UP Pull up 10250 // DWN Pull down 10251 #define IOC_IOCFG27_PULL_CTL_W 2 10252 #define IOC_IOCFG27_PULL_CTL_M 0x00006000 10253 #define IOC_IOCFG27_PULL_CTL_S 13 10254 #define IOC_IOCFG27_PULL_CTL_DIS 0x00006000 10255 #define IOC_IOCFG27_PULL_CTL_UP 0x00004000 10256 #define IOC_IOCFG27_PULL_CTL_DWN 0x00002000 10257 10258 // Field: [12] SLEW_RED 10259 // 10260 // 0: Normal slew rate 10261 // 1: Enables reduced slew rate in output driver. 10262 #define IOC_IOCFG27_SLEW_RED 0x00001000 10263 #define IOC_IOCFG27_SLEW_RED_BITN 12 10264 #define IOC_IOCFG27_SLEW_RED_M 0x00001000 10265 #define IOC_IOCFG27_SLEW_RED_S 12 10266 10267 // Field: [11:10] IOCURR 10268 // 10269 // Selects IO current mode of this IO. 10270 // ENUMs: 10271 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 10272 // drive strength IOs (min 4 mA for normal IOs) 10273 // when IOSTR is set to AUTO 10274 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 10275 // to AUTO 10276 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 10277 // to AUTO 10278 #define IOC_IOCFG27_IOCURR_W 2 10279 #define IOC_IOCFG27_IOCURR_M 0x00000C00 10280 #define IOC_IOCFG27_IOCURR_S 10 10281 #define IOC_IOCFG27_IOCURR_4_8MA 0x00000800 10282 #define IOC_IOCFG27_IOCURR_4MA 0x00000400 10283 #define IOC_IOCFG27_IOCURR_2MA 0x00000000 10284 10285 // Field: [9:8] IOSTR 10286 // 10287 // Select source for drive strength control of this IO. 10288 // This setting controls the drive strength of the Low-Current (LC) mode. 10289 // Higher drive strength can be selected in IOCURR 10290 // ENUMs: 10291 // MAX Maximum drive strength, controlled by 10292 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 10293 // values) 10294 // MED Medium drive strength, controlled by 10295 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 10296 // values) 10297 // MIN Minimum drive strength, controlled by 10298 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 10299 // values) 10300 // AUTO Automatic drive strength, controlled by AON BATMON 10301 // based on battery voltage. (min 2 mA @VDDS) 10302 #define IOC_IOCFG27_IOSTR_W 2 10303 #define IOC_IOCFG27_IOSTR_M 0x00000300 10304 #define IOC_IOCFG27_IOSTR_S 8 10305 #define IOC_IOCFG27_IOSTR_MAX 0x00000300 10306 #define IOC_IOCFG27_IOSTR_MED 0x00000200 10307 #define IOC_IOCFG27_IOSTR_MIN 0x00000100 10308 #define IOC_IOCFG27_IOSTR_AUTO 0x00000000 10309 10310 // Field: [7] IOEV_RTC_EN 10311 // 10312 // Event asserted by this IO when edge detection is enabled 10313 // 10314 // 0: Input edge detection does not assert RTC event 10315 // 1: Input edge detection asserts RTC event 10316 #define IOC_IOCFG27_IOEV_RTC_EN 0x00000080 10317 #define IOC_IOCFG27_IOEV_RTC_EN_BITN 7 10318 #define IOC_IOCFG27_IOEV_RTC_EN_M 0x00000080 10319 #define IOC_IOCFG27_IOEV_RTC_EN_S 7 10320 10321 // Field: [6] IOEV_MCU_WU_EN 10322 // 10323 // Event asserted by this IO when edge detection is enabled 10324 // 10325 // 0: Input edge detection does not assert MCU_WU event 10326 // 1: Input edge detection asserts MCU_WU event 10327 #define IOC_IOCFG27_IOEV_MCU_WU_EN 0x00000040 10328 #define IOC_IOCFG27_IOEV_MCU_WU_EN_BITN 6 10329 #define IOC_IOCFG27_IOEV_MCU_WU_EN_M 0x00000040 10330 #define IOC_IOCFG27_IOEV_MCU_WU_EN_S 6 10331 10332 // Field: [5:0] PORT_ID 10333 // 10334 // Selects usage for DIO27 10335 // Note: This field should not be written other than the times when PORT_ID 10336 // value is specifically required to change. 10337 // ENUMs: 10338 // RFC_SMI_CL_IN RF Core SMI Command Link In 10339 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 10340 // RFC_SMI_DL_IN RF Core SMI Data Link In 10341 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 10342 // RFC_GPI1 RF Core Data In 1 10343 // RFC_GPI0 RF Core Data In 0 10344 // RFC_GPO3 RF Core Data Out 3 10345 // RFC_GPO2 RF Core Data Out 2 10346 // RFC_GPO1 RF Core Data Out 1 10347 // RFC_GPO0 RF Core Data Out 0 10348 // RFC_TRC RF Core Trace 10349 // I2S_MCLK I2S MCLK 10350 // I2S_BCLK I2S BCLK 10351 // I2S_WCLK I2S WCLK 10352 // I2S_AD1 I2S Data 1 10353 // I2S_AD0 I2S Data 0 10354 // SSI1_CLK SSI1 CLK 10355 // SSI1_FSS SSI1 FSS 10356 // SSI1_TX SSI1 TX 10357 // SSI1_RX SSI1 RX 10358 // CPU_SWV CPU SWV 10359 // PORT_EVENT7 PORT EVENT 7 10360 // Can be used as a general 10361 // purpose IO event by selecting it through 10362 // registers in the EVENT module, for example 10363 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10364 // and so on 10365 // PORT_EVENT6 PORT EVENT 6 10366 // Can be used as a general 10367 // purpose IO event by selecting it through 10368 // registers in the EVENT module, for example 10369 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10370 // and so on 10371 // PORT_EVENT5 PORT EVENT 5 10372 // Can be used as a general 10373 // purpose IO event by selecting it through 10374 // registers in the EVENT module, for example 10375 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10376 // and so on 10377 // PORT_EVENT4 PORT EVENT 4 10378 // Can be used as a general 10379 // purpose IO event by selecting it through 10380 // registers in the EVENT module, for example 10381 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10382 // and so on 10383 // PORT_EVENT3 PORT EVENT 3 10384 // Can be used as a general 10385 // purpose IO event by selecting it through 10386 // registers in the EVENT module, for example 10387 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10388 // and so on 10389 // PORT_EVENT2 PORT EVENT 2 10390 // Can be used as a general 10391 // purpose IO event by selecting it through 10392 // registers in the EVENT module, for example 10393 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10394 // and so on 10395 // PORT_EVENT1 PORT EVENT 1 10396 // Can be used as a general 10397 // purpose IO event by selecting it through 10398 // registers in the EVENT module, for example 10399 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10400 // and so on 10401 // PORT_EVENT0 PORT EVENT 0 10402 // Can be used as a general 10403 // purpose IO event by selecting it through 10404 // registers in the EVENT module, for example 10405 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10406 // and so on 10407 // UART1_RTS UART1 RTS 10408 // UART1_CTS UART1 CTS 10409 // UART1_TX UART1 TX 10410 // UART1_RX UART1 RX 10411 // UART0_RTS UART0 RTS 10412 // UART0_CTS UART0 CTS 10413 // UART0_TX UART0 TX 10414 // UART0_RX UART0 RX 10415 // I2C_MSSCL I2C Clock 10416 // I2C_MSSDA I2C Data 10417 // SSI0_CLK SSI0 CLK 10418 // SSI0_FSS SSI0 FSS 10419 // SSI0_TX SSI0 TX 10420 // SSI0_RX SSI0 RX 10421 // AUX_IO AUX IO 10422 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 10423 // GPIO General Purpose IO 10424 #define IOC_IOCFG27_PORT_ID_W 6 10425 #define IOC_IOCFG27_PORT_ID_M 0x0000003F 10426 #define IOC_IOCFG27_PORT_ID_S 0 10427 #define IOC_IOCFG27_PORT_ID_RFC_SMI_CL_IN 0x00000038 10428 #define IOC_IOCFG27_PORT_ID_RFC_SMI_CL_OUT 0x00000037 10429 #define IOC_IOCFG27_PORT_ID_RFC_SMI_DL_IN 0x00000036 10430 #define IOC_IOCFG27_PORT_ID_RFC_SMI_DL_OUT 0x00000035 10431 #define IOC_IOCFG27_PORT_ID_RFC_GPI1 0x00000034 10432 #define IOC_IOCFG27_PORT_ID_RFC_GPI0 0x00000033 10433 #define IOC_IOCFG27_PORT_ID_RFC_GPO3 0x00000032 10434 #define IOC_IOCFG27_PORT_ID_RFC_GPO2 0x00000031 10435 #define IOC_IOCFG27_PORT_ID_RFC_GPO1 0x00000030 10436 #define IOC_IOCFG27_PORT_ID_RFC_GPO0 0x0000002F 10437 #define IOC_IOCFG27_PORT_ID_RFC_TRC 0x0000002E 10438 #define IOC_IOCFG27_PORT_ID_I2S_MCLK 0x00000029 10439 #define IOC_IOCFG27_PORT_ID_I2S_BCLK 0x00000028 10440 #define IOC_IOCFG27_PORT_ID_I2S_WCLK 0x00000027 10441 #define IOC_IOCFG27_PORT_ID_I2S_AD1 0x00000026 10442 #define IOC_IOCFG27_PORT_ID_I2S_AD0 0x00000025 10443 #define IOC_IOCFG27_PORT_ID_SSI1_CLK 0x00000024 10444 #define IOC_IOCFG27_PORT_ID_SSI1_FSS 0x00000023 10445 #define IOC_IOCFG27_PORT_ID_SSI1_TX 0x00000022 10446 #define IOC_IOCFG27_PORT_ID_SSI1_RX 0x00000021 10447 #define IOC_IOCFG27_PORT_ID_CPU_SWV 0x00000020 10448 #define IOC_IOCFG27_PORT_ID_PORT_EVENT7 0x0000001E 10449 #define IOC_IOCFG27_PORT_ID_PORT_EVENT6 0x0000001D 10450 #define IOC_IOCFG27_PORT_ID_PORT_EVENT5 0x0000001C 10451 #define IOC_IOCFG27_PORT_ID_PORT_EVENT4 0x0000001B 10452 #define IOC_IOCFG27_PORT_ID_PORT_EVENT3 0x0000001A 10453 #define IOC_IOCFG27_PORT_ID_PORT_EVENT2 0x00000019 10454 #define IOC_IOCFG27_PORT_ID_PORT_EVENT1 0x00000018 10455 #define IOC_IOCFG27_PORT_ID_PORT_EVENT0 0x00000017 10456 #define IOC_IOCFG27_PORT_ID_UART1_RTS 0x00000016 10457 #define IOC_IOCFG27_PORT_ID_UART1_CTS 0x00000015 10458 #define IOC_IOCFG27_PORT_ID_UART1_TX 0x00000014 10459 #define IOC_IOCFG27_PORT_ID_UART1_RX 0x00000013 10460 #define IOC_IOCFG27_PORT_ID_UART0_RTS 0x00000012 10461 #define IOC_IOCFG27_PORT_ID_UART0_CTS 0x00000011 10462 #define IOC_IOCFG27_PORT_ID_UART0_TX 0x00000010 10463 #define IOC_IOCFG27_PORT_ID_UART0_RX 0x0000000F 10464 #define IOC_IOCFG27_PORT_ID_I2C_MSSCL 0x0000000E 10465 #define IOC_IOCFG27_PORT_ID_I2C_MSSDA 0x0000000D 10466 #define IOC_IOCFG27_PORT_ID_SSI0_CLK 0x0000000C 10467 #define IOC_IOCFG27_PORT_ID_SSI0_FSS 0x0000000B 10468 #define IOC_IOCFG27_PORT_ID_SSI0_TX 0x0000000A 10469 #define IOC_IOCFG27_PORT_ID_SSI0_RX 0x00000009 10470 #define IOC_IOCFG27_PORT_ID_AUX_IO 0x00000008 10471 #define IOC_IOCFG27_PORT_ID_AON_CLK32K 0x00000007 10472 #define IOC_IOCFG27_PORT_ID_GPIO 0x00000000 10473 10474 //***************************************************************************** 10475 // 10476 // Register: IOC_O_IOCFG28 10477 // 10478 //***************************************************************************** 10479 // Field: [30] HYST_EN 10480 // 10481 // 0: Input hysteresis disable 10482 // 1: Input hysteresis enable 10483 #define IOC_IOCFG28_HYST_EN 0x40000000 10484 #define IOC_IOCFG28_HYST_EN_BITN 30 10485 #define IOC_IOCFG28_HYST_EN_M 0x40000000 10486 #define IOC_IOCFG28_HYST_EN_S 30 10487 10488 // Field: [29] IE 10489 // 10490 // 0: Input disabled 10491 // 1: Input enabled 10492 // 10493 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 10494 // ignored. 10495 #define IOC_IOCFG28_IE 0x20000000 10496 #define IOC_IOCFG28_IE_BITN 29 10497 #define IOC_IOCFG28_IE_M 0x20000000 10498 #define IOC_IOCFG28_IE_S 29 10499 10500 // Field: [28:27] WU_CFG 10501 // 10502 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 10503 // >0x08: 10504 // 10505 // 00: No wake-up 10506 // 01: No wake-up 10507 // 10: Wakes up from shutdown if this pad is going low. 10508 // 11: Wakes up from shutdown if this pad is going high. 10509 // 10510 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 10511 // this register only sets wakeup enable or not. 10512 // 10513 // 00, 01: Wakeup disabled 10514 // 10, 11: Wakeup enabled 10515 // 10516 // Polarity is controlled from AON registers. 10517 // 10518 // Note:When the MSB is set, the IOC will deactivate the output enable for the 10519 // DIO. 10520 #define IOC_IOCFG28_WU_CFG_W 2 10521 #define IOC_IOCFG28_WU_CFG_M 0x18000000 10522 #define IOC_IOCFG28_WU_CFG_S 27 10523 10524 // Field: [26:24] IOMODE 10525 // 10526 // IO Mode 10527 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 10528 // 0x01-0x08 10529 // AUX has its own open_source/drain configuration. 10530 // 10531 // 0x2: Reserved. Undefined behavior. 10532 // 0x3: Reserved. Undefined behavior. 10533 // ENUMs: 10534 // OPENSRC_INV Open Source 10535 // Inverted input / output 10536 // OPENSRC Open Source 10537 // Normal input / output 10538 // OPENDR_INV Open Drain 10539 // Inverted input / output 10540 // OPENDR Open Drain, 10541 // Normal input / output 10542 // INV Inverted input / ouput 10543 // NORMAL Normal input / output 10544 #define IOC_IOCFG28_IOMODE_W 3 10545 #define IOC_IOCFG28_IOMODE_M 0x07000000 10546 #define IOC_IOCFG28_IOMODE_S 24 10547 #define IOC_IOCFG28_IOMODE_OPENSRC_INV 0x07000000 10548 #define IOC_IOCFG28_IOMODE_OPENSRC 0x06000000 10549 #define IOC_IOCFG28_IOMODE_OPENDR_INV 0x05000000 10550 #define IOC_IOCFG28_IOMODE_OPENDR 0x04000000 10551 #define IOC_IOCFG28_IOMODE_INV 0x01000000 10552 #define IOC_IOCFG28_IOMODE_NORMAL 0x00000000 10553 10554 // Field: [23] IOEV_AON_PROG2_EN 10555 // 10556 // Event asserted by this IO when edge detection is enabled 10557 // 10558 // 0: Input edge detection does not assert AON_PROG2 event 10559 // 1: Input edge detection asserts AON_PROG2 event 10560 #define IOC_IOCFG28_IOEV_AON_PROG2_EN 0x00800000 10561 #define IOC_IOCFG28_IOEV_AON_PROG2_EN_BITN 23 10562 #define IOC_IOCFG28_IOEV_AON_PROG2_EN_M 0x00800000 10563 #define IOC_IOCFG28_IOEV_AON_PROG2_EN_S 23 10564 10565 // Field: [22] IOEV_AON_PROG1_EN 10566 // 10567 // Event asserted by this IO when edge detection is enabled 10568 // 10569 // 0: Input edge detection does not assert AON_PROG1 event 10570 // 1: Input edge detection asserts AON_PROG1 event 10571 #define IOC_IOCFG28_IOEV_AON_PROG1_EN 0x00400000 10572 #define IOC_IOCFG28_IOEV_AON_PROG1_EN_BITN 22 10573 #define IOC_IOCFG28_IOEV_AON_PROG1_EN_M 0x00400000 10574 #define IOC_IOCFG28_IOEV_AON_PROG1_EN_S 22 10575 10576 // Field: [21] IOEV_AON_PROG0_EN 10577 // 10578 // Event asserted by this IO when edge detection is enabled 10579 // 10580 // 0: Input edge detection does not assert AON_PROG0 event 10581 // 1: Input edge detection asserts AON_PROG0 event 10582 #define IOC_IOCFG28_IOEV_AON_PROG0_EN 0x00200000 10583 #define IOC_IOCFG28_IOEV_AON_PROG0_EN_BITN 21 10584 #define IOC_IOCFG28_IOEV_AON_PROG0_EN_M 0x00200000 10585 #define IOC_IOCFG28_IOEV_AON_PROG0_EN_S 21 10586 10587 // Field: [18] EDGE_IRQ_EN 10588 // 10589 // 0: No interrupt generation 10590 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 10591 // enabled) 10592 #define IOC_IOCFG28_EDGE_IRQ_EN 0x00040000 10593 #define IOC_IOCFG28_EDGE_IRQ_EN_BITN 18 10594 #define IOC_IOCFG28_EDGE_IRQ_EN_M 0x00040000 10595 #define IOC_IOCFG28_EDGE_IRQ_EN_S 18 10596 10597 // Field: [17:16] EDGE_DET 10598 // 10599 // Enable generation of edge detection events on this IO 10600 // ENUMs: 10601 // BOTH Positive and negative edge detection 10602 // POS Positive edge detection 10603 // NEG Negative edge detection 10604 // NONE No edge detection 10605 #define IOC_IOCFG28_EDGE_DET_W 2 10606 #define IOC_IOCFG28_EDGE_DET_M 0x00030000 10607 #define IOC_IOCFG28_EDGE_DET_S 16 10608 #define IOC_IOCFG28_EDGE_DET_BOTH 0x00030000 10609 #define IOC_IOCFG28_EDGE_DET_POS 0x00020000 10610 #define IOC_IOCFG28_EDGE_DET_NEG 0x00010000 10611 #define IOC_IOCFG28_EDGE_DET_NONE 0x00000000 10612 10613 // Field: [14:13] PULL_CTL 10614 // 10615 // Pull control 10616 // ENUMs: 10617 // DIS No pull 10618 // UP Pull up 10619 // DWN Pull down 10620 #define IOC_IOCFG28_PULL_CTL_W 2 10621 #define IOC_IOCFG28_PULL_CTL_M 0x00006000 10622 #define IOC_IOCFG28_PULL_CTL_S 13 10623 #define IOC_IOCFG28_PULL_CTL_DIS 0x00006000 10624 #define IOC_IOCFG28_PULL_CTL_UP 0x00004000 10625 #define IOC_IOCFG28_PULL_CTL_DWN 0x00002000 10626 10627 // Field: [12] SLEW_RED 10628 // 10629 // 0: Normal slew rate 10630 // 1: Enables reduced slew rate in output driver. 10631 #define IOC_IOCFG28_SLEW_RED 0x00001000 10632 #define IOC_IOCFG28_SLEW_RED_BITN 12 10633 #define IOC_IOCFG28_SLEW_RED_M 0x00001000 10634 #define IOC_IOCFG28_SLEW_RED_S 12 10635 10636 // Field: [11:10] IOCURR 10637 // 10638 // Selects IO current mode of this IO. 10639 // ENUMs: 10640 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 10641 // drive strength IOs (min 4 mA for normal IOs) 10642 // when IOSTR is set to AUTO 10643 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 10644 // to AUTO 10645 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 10646 // to AUTO 10647 #define IOC_IOCFG28_IOCURR_W 2 10648 #define IOC_IOCFG28_IOCURR_M 0x00000C00 10649 #define IOC_IOCFG28_IOCURR_S 10 10650 #define IOC_IOCFG28_IOCURR_4_8MA 0x00000800 10651 #define IOC_IOCFG28_IOCURR_4MA 0x00000400 10652 #define IOC_IOCFG28_IOCURR_2MA 0x00000000 10653 10654 // Field: [9:8] IOSTR 10655 // 10656 // Select source for drive strength control of this IO. 10657 // This setting controls the drive strength of the Low-Current (LC) mode. 10658 // Higher drive strength can be selected in IOCURR 10659 // ENUMs: 10660 // MAX Maximum drive strength, controlled by 10661 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 10662 // values) 10663 // MED Medium drive strength, controlled by 10664 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 10665 // values) 10666 // MIN Minimum drive strength, controlled by 10667 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 10668 // values) 10669 // AUTO Automatic drive strength, controlled by AON BATMON 10670 // based on battery voltage. (min 2 mA @VDDS) 10671 #define IOC_IOCFG28_IOSTR_W 2 10672 #define IOC_IOCFG28_IOSTR_M 0x00000300 10673 #define IOC_IOCFG28_IOSTR_S 8 10674 #define IOC_IOCFG28_IOSTR_MAX 0x00000300 10675 #define IOC_IOCFG28_IOSTR_MED 0x00000200 10676 #define IOC_IOCFG28_IOSTR_MIN 0x00000100 10677 #define IOC_IOCFG28_IOSTR_AUTO 0x00000000 10678 10679 // Field: [7] IOEV_RTC_EN 10680 // 10681 // Event asserted by this IO when edge detection is enabled 10682 // 10683 // 0: Input edge detection does not assert RTC event 10684 // 1: Input edge detection asserts RTC event 10685 #define IOC_IOCFG28_IOEV_RTC_EN 0x00000080 10686 #define IOC_IOCFG28_IOEV_RTC_EN_BITN 7 10687 #define IOC_IOCFG28_IOEV_RTC_EN_M 0x00000080 10688 #define IOC_IOCFG28_IOEV_RTC_EN_S 7 10689 10690 // Field: [6] IOEV_MCU_WU_EN 10691 // 10692 // Event asserted by this IO when edge detection is enabled 10693 // 10694 // 0: Input edge detection does not assert MCU_WU event 10695 // 1: Input edge detection asserts MCU_WU event 10696 #define IOC_IOCFG28_IOEV_MCU_WU_EN 0x00000040 10697 #define IOC_IOCFG28_IOEV_MCU_WU_EN_BITN 6 10698 #define IOC_IOCFG28_IOEV_MCU_WU_EN_M 0x00000040 10699 #define IOC_IOCFG28_IOEV_MCU_WU_EN_S 6 10700 10701 // Field: [5:0] PORT_ID 10702 // 10703 // Selects usage for DIO28 10704 // Note: This field should not be written other than the times when PORT_ID 10705 // value is specifically required to change. 10706 // ENUMs: 10707 // RFC_SMI_CL_IN RF Core SMI Command Link In 10708 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 10709 // RFC_SMI_DL_IN RF Core SMI Data Link In 10710 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 10711 // RFC_GPI1 RF Core Data In 1 10712 // RFC_GPI0 RF Core Data In 0 10713 // RFC_GPO3 RF Core Data Out 3 10714 // RFC_GPO2 RF Core Data Out 2 10715 // RFC_GPO1 RF Core Data Out 1 10716 // RFC_GPO0 RF Core Data Out 0 10717 // RFC_TRC RF Core Trace 10718 // I2S_MCLK I2S MCLK 10719 // I2S_BCLK I2S BCLK 10720 // I2S_WCLK I2S WCLK 10721 // I2S_AD1 I2S Data 1 10722 // I2S_AD0 I2S Data 0 10723 // SSI1_CLK SSI1 CLK 10724 // SSI1_FSS SSI1 FSS 10725 // SSI1_TX SSI1 TX 10726 // SSI1_RX SSI1 RX 10727 // CPU_SWV CPU SWV 10728 // PORT_EVENT7 PORT EVENT 7 10729 // Can be used as a general 10730 // purpose IO event by selecting it through 10731 // registers in the EVENT module, for example 10732 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10733 // and so on 10734 // PORT_EVENT6 PORT EVENT 6 10735 // Can be used as a general 10736 // purpose IO event by selecting it through 10737 // registers in the EVENT module, for example 10738 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10739 // and so on 10740 // PORT_EVENT5 PORT EVENT 5 10741 // Can be used as a general 10742 // purpose IO event by selecting it through 10743 // registers in the EVENT module, for example 10744 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10745 // and so on 10746 // PORT_EVENT4 PORT EVENT 4 10747 // Can be used as a general 10748 // purpose IO event by selecting it through 10749 // registers in the EVENT module, for example 10750 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10751 // and so on 10752 // PORT_EVENT3 PORT EVENT 3 10753 // Can be used as a general 10754 // purpose IO event by selecting it through 10755 // registers in the EVENT module, for example 10756 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10757 // and so on 10758 // PORT_EVENT2 PORT EVENT 2 10759 // Can be used as a general 10760 // purpose IO event by selecting it through 10761 // registers in the EVENT module, for example 10762 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10763 // and so on 10764 // PORT_EVENT1 PORT EVENT 1 10765 // Can be used as a general 10766 // purpose IO event by selecting it through 10767 // registers in the EVENT module, for example 10768 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10769 // and so on 10770 // PORT_EVENT0 PORT EVENT 0 10771 // Can be used as a general 10772 // purpose IO event by selecting it through 10773 // registers in the EVENT module, for example 10774 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 10775 // and so on 10776 // UART1_RTS UART1 RTS 10777 // UART1_CTS UART1 CTS 10778 // UART1_TX UART1 TX 10779 // UART1_RX UART1 RX 10780 // UART0_RTS UART0 RTS 10781 // UART0_CTS UART0 CTS 10782 // UART0_TX UART0 TX 10783 // UART0_RX UART0 RX 10784 // I2C_MSSCL I2C Clock 10785 // I2C_MSSDA I2C Data 10786 // SSI0_CLK SSI0 CLK 10787 // SSI0_FSS SSI0 FSS 10788 // SSI0_TX SSI0 TX 10789 // SSI0_RX SSI0 RX 10790 // AUX_IO AUX IO 10791 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 10792 // GPIO General Purpose IO 10793 #define IOC_IOCFG28_PORT_ID_W 6 10794 #define IOC_IOCFG28_PORT_ID_M 0x0000003F 10795 #define IOC_IOCFG28_PORT_ID_S 0 10796 #define IOC_IOCFG28_PORT_ID_RFC_SMI_CL_IN 0x00000038 10797 #define IOC_IOCFG28_PORT_ID_RFC_SMI_CL_OUT 0x00000037 10798 #define IOC_IOCFG28_PORT_ID_RFC_SMI_DL_IN 0x00000036 10799 #define IOC_IOCFG28_PORT_ID_RFC_SMI_DL_OUT 0x00000035 10800 #define IOC_IOCFG28_PORT_ID_RFC_GPI1 0x00000034 10801 #define IOC_IOCFG28_PORT_ID_RFC_GPI0 0x00000033 10802 #define IOC_IOCFG28_PORT_ID_RFC_GPO3 0x00000032 10803 #define IOC_IOCFG28_PORT_ID_RFC_GPO2 0x00000031 10804 #define IOC_IOCFG28_PORT_ID_RFC_GPO1 0x00000030 10805 #define IOC_IOCFG28_PORT_ID_RFC_GPO0 0x0000002F 10806 #define IOC_IOCFG28_PORT_ID_RFC_TRC 0x0000002E 10807 #define IOC_IOCFG28_PORT_ID_I2S_MCLK 0x00000029 10808 #define IOC_IOCFG28_PORT_ID_I2S_BCLK 0x00000028 10809 #define IOC_IOCFG28_PORT_ID_I2S_WCLK 0x00000027 10810 #define IOC_IOCFG28_PORT_ID_I2S_AD1 0x00000026 10811 #define IOC_IOCFG28_PORT_ID_I2S_AD0 0x00000025 10812 #define IOC_IOCFG28_PORT_ID_SSI1_CLK 0x00000024 10813 #define IOC_IOCFG28_PORT_ID_SSI1_FSS 0x00000023 10814 #define IOC_IOCFG28_PORT_ID_SSI1_TX 0x00000022 10815 #define IOC_IOCFG28_PORT_ID_SSI1_RX 0x00000021 10816 #define IOC_IOCFG28_PORT_ID_CPU_SWV 0x00000020 10817 #define IOC_IOCFG28_PORT_ID_PORT_EVENT7 0x0000001E 10818 #define IOC_IOCFG28_PORT_ID_PORT_EVENT6 0x0000001D 10819 #define IOC_IOCFG28_PORT_ID_PORT_EVENT5 0x0000001C 10820 #define IOC_IOCFG28_PORT_ID_PORT_EVENT4 0x0000001B 10821 #define IOC_IOCFG28_PORT_ID_PORT_EVENT3 0x0000001A 10822 #define IOC_IOCFG28_PORT_ID_PORT_EVENT2 0x00000019 10823 #define IOC_IOCFG28_PORT_ID_PORT_EVENT1 0x00000018 10824 #define IOC_IOCFG28_PORT_ID_PORT_EVENT0 0x00000017 10825 #define IOC_IOCFG28_PORT_ID_UART1_RTS 0x00000016 10826 #define IOC_IOCFG28_PORT_ID_UART1_CTS 0x00000015 10827 #define IOC_IOCFG28_PORT_ID_UART1_TX 0x00000014 10828 #define IOC_IOCFG28_PORT_ID_UART1_RX 0x00000013 10829 #define IOC_IOCFG28_PORT_ID_UART0_RTS 0x00000012 10830 #define IOC_IOCFG28_PORT_ID_UART0_CTS 0x00000011 10831 #define IOC_IOCFG28_PORT_ID_UART0_TX 0x00000010 10832 #define IOC_IOCFG28_PORT_ID_UART0_RX 0x0000000F 10833 #define IOC_IOCFG28_PORT_ID_I2C_MSSCL 0x0000000E 10834 #define IOC_IOCFG28_PORT_ID_I2C_MSSDA 0x0000000D 10835 #define IOC_IOCFG28_PORT_ID_SSI0_CLK 0x0000000C 10836 #define IOC_IOCFG28_PORT_ID_SSI0_FSS 0x0000000B 10837 #define IOC_IOCFG28_PORT_ID_SSI0_TX 0x0000000A 10838 #define IOC_IOCFG28_PORT_ID_SSI0_RX 0x00000009 10839 #define IOC_IOCFG28_PORT_ID_AUX_IO 0x00000008 10840 #define IOC_IOCFG28_PORT_ID_AON_CLK32K 0x00000007 10841 #define IOC_IOCFG28_PORT_ID_GPIO 0x00000000 10842 10843 //***************************************************************************** 10844 // 10845 // Register: IOC_O_IOCFG29 10846 // 10847 //***************************************************************************** 10848 // Field: [30] HYST_EN 10849 // 10850 // 0: Input hysteresis disable 10851 // 1: Input hysteresis enable 10852 #define IOC_IOCFG29_HYST_EN 0x40000000 10853 #define IOC_IOCFG29_HYST_EN_BITN 30 10854 #define IOC_IOCFG29_HYST_EN_M 0x40000000 10855 #define IOC_IOCFG29_HYST_EN_S 30 10856 10857 // Field: [29] IE 10858 // 10859 // 0: Input disabled 10860 // 1: Input enabled 10861 // 10862 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 10863 // ignored. 10864 #define IOC_IOCFG29_IE 0x20000000 10865 #define IOC_IOCFG29_IE_BITN 29 10866 #define IOC_IOCFG29_IE_M 0x20000000 10867 #define IOC_IOCFG29_IE_S 29 10868 10869 // Field: [28:27] WU_CFG 10870 // 10871 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 10872 // >0x08: 10873 // 10874 // 00: No wake-up 10875 // 01: No wake-up 10876 // 10: Wakes up from shutdown if this pad is going low. 10877 // 11: Wakes up from shutdown if this pad is going high. 10878 // 10879 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 10880 // this register only sets wakeup enable or not. 10881 // 10882 // 00, 01: Wakeup disabled 10883 // 10, 11: Wakeup enabled 10884 // 10885 // Polarity is controlled from AON registers. 10886 // 10887 // Note:When the MSB is set, the IOC will deactivate the output enable for the 10888 // DIO. 10889 #define IOC_IOCFG29_WU_CFG_W 2 10890 #define IOC_IOCFG29_WU_CFG_M 0x18000000 10891 #define IOC_IOCFG29_WU_CFG_S 27 10892 10893 // Field: [26:24] IOMODE 10894 // 10895 // IO Mode 10896 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 10897 // 0x01-0x08 10898 // AUX has its own open_source/drain configuration. 10899 // 10900 // 0x2: Reserved. Undefined behavior. 10901 // 0x3: Reserved. Undefined behavior. 10902 // ENUMs: 10903 // OPENSRC_INV Open Source 10904 // Inverted input / output 10905 // OPENSRC Open Source 10906 // Normal input / output 10907 // OPENDR_INV Open Drain 10908 // Inverted input / output 10909 // OPENDR Open Drain, 10910 // Normal input / output 10911 // INV Inverted input / ouput 10912 // NORMAL Normal input / output 10913 #define IOC_IOCFG29_IOMODE_W 3 10914 #define IOC_IOCFG29_IOMODE_M 0x07000000 10915 #define IOC_IOCFG29_IOMODE_S 24 10916 #define IOC_IOCFG29_IOMODE_OPENSRC_INV 0x07000000 10917 #define IOC_IOCFG29_IOMODE_OPENSRC 0x06000000 10918 #define IOC_IOCFG29_IOMODE_OPENDR_INV 0x05000000 10919 #define IOC_IOCFG29_IOMODE_OPENDR 0x04000000 10920 #define IOC_IOCFG29_IOMODE_INV 0x01000000 10921 #define IOC_IOCFG29_IOMODE_NORMAL 0x00000000 10922 10923 // Field: [23] IOEV_AON_PROG2_EN 10924 // 10925 // Event asserted by this IO when edge detection is enabled 10926 // 10927 // 0: Input edge detection does not assert AON_PROG2 event 10928 // 1: Input edge detection asserts AON_PROG2 event 10929 #define IOC_IOCFG29_IOEV_AON_PROG2_EN 0x00800000 10930 #define IOC_IOCFG29_IOEV_AON_PROG2_EN_BITN 23 10931 #define IOC_IOCFG29_IOEV_AON_PROG2_EN_M 0x00800000 10932 #define IOC_IOCFG29_IOEV_AON_PROG2_EN_S 23 10933 10934 // Field: [22] IOEV_AON_PROG1_EN 10935 // 10936 // Event asserted by this IO when edge detection is enabled 10937 // 10938 // 0: Input edge detection does not assert AON_PROG1 event 10939 // 1: Input edge detection asserts AON_PROG1 event 10940 #define IOC_IOCFG29_IOEV_AON_PROG1_EN 0x00400000 10941 #define IOC_IOCFG29_IOEV_AON_PROG1_EN_BITN 22 10942 #define IOC_IOCFG29_IOEV_AON_PROG1_EN_M 0x00400000 10943 #define IOC_IOCFG29_IOEV_AON_PROG1_EN_S 22 10944 10945 // Field: [21] IOEV_AON_PROG0_EN 10946 // 10947 // Event asserted by this IO when edge detection is enabled 10948 // 10949 // 0: Input edge detection does not assert AON_PROG0 event 10950 // 1: Input edge detection asserts AON_PROG0 event 10951 #define IOC_IOCFG29_IOEV_AON_PROG0_EN 0x00200000 10952 #define IOC_IOCFG29_IOEV_AON_PROG0_EN_BITN 21 10953 #define IOC_IOCFG29_IOEV_AON_PROG0_EN_M 0x00200000 10954 #define IOC_IOCFG29_IOEV_AON_PROG0_EN_S 21 10955 10956 // Field: [18] EDGE_IRQ_EN 10957 // 10958 // 0: No interrupt generation 10959 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 10960 // enabled) 10961 #define IOC_IOCFG29_EDGE_IRQ_EN 0x00040000 10962 #define IOC_IOCFG29_EDGE_IRQ_EN_BITN 18 10963 #define IOC_IOCFG29_EDGE_IRQ_EN_M 0x00040000 10964 #define IOC_IOCFG29_EDGE_IRQ_EN_S 18 10965 10966 // Field: [17:16] EDGE_DET 10967 // 10968 // Enable generation of edge detection events on this IO 10969 // ENUMs: 10970 // BOTH Positive and negative edge detection 10971 // POS Positive edge detection 10972 // NEG Negative edge detection 10973 // NONE No edge detection 10974 #define IOC_IOCFG29_EDGE_DET_W 2 10975 #define IOC_IOCFG29_EDGE_DET_M 0x00030000 10976 #define IOC_IOCFG29_EDGE_DET_S 16 10977 #define IOC_IOCFG29_EDGE_DET_BOTH 0x00030000 10978 #define IOC_IOCFG29_EDGE_DET_POS 0x00020000 10979 #define IOC_IOCFG29_EDGE_DET_NEG 0x00010000 10980 #define IOC_IOCFG29_EDGE_DET_NONE 0x00000000 10981 10982 // Field: [14:13] PULL_CTL 10983 // 10984 // Pull control 10985 // ENUMs: 10986 // DIS No pull 10987 // UP Pull up 10988 // DWN Pull down 10989 #define IOC_IOCFG29_PULL_CTL_W 2 10990 #define IOC_IOCFG29_PULL_CTL_M 0x00006000 10991 #define IOC_IOCFG29_PULL_CTL_S 13 10992 #define IOC_IOCFG29_PULL_CTL_DIS 0x00006000 10993 #define IOC_IOCFG29_PULL_CTL_UP 0x00004000 10994 #define IOC_IOCFG29_PULL_CTL_DWN 0x00002000 10995 10996 // Field: [12] SLEW_RED 10997 // 10998 // 0: Normal slew rate 10999 // 1: Enables reduced slew rate in output driver. 11000 #define IOC_IOCFG29_SLEW_RED 0x00001000 11001 #define IOC_IOCFG29_SLEW_RED_BITN 12 11002 #define IOC_IOCFG29_SLEW_RED_M 0x00001000 11003 #define IOC_IOCFG29_SLEW_RED_S 12 11004 11005 // Field: [11:10] IOCURR 11006 // 11007 // Selects IO current mode of this IO. 11008 // ENUMs: 11009 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 11010 // drive strength IOs (min 4 mA for normal IOs) 11011 // when IOSTR is set to AUTO 11012 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 11013 // to AUTO 11014 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 11015 // to AUTO 11016 #define IOC_IOCFG29_IOCURR_W 2 11017 #define IOC_IOCFG29_IOCURR_M 0x00000C00 11018 #define IOC_IOCFG29_IOCURR_S 10 11019 #define IOC_IOCFG29_IOCURR_4_8MA 0x00000800 11020 #define IOC_IOCFG29_IOCURR_4MA 0x00000400 11021 #define IOC_IOCFG29_IOCURR_2MA 0x00000000 11022 11023 // Field: [9:8] IOSTR 11024 // 11025 // Select source for drive strength control of this IO. 11026 // This setting controls the drive strength of the Low-Current (LC) mode. 11027 // Higher drive strength can be selected in IOCURR 11028 // ENUMs: 11029 // MAX Maximum drive strength, controlled by 11030 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 11031 // values) 11032 // MED Medium drive strength, controlled by 11033 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 11034 // values) 11035 // MIN Minimum drive strength, controlled by 11036 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 11037 // values) 11038 // AUTO Automatic drive strength, controlled by AON BATMON 11039 // based on battery voltage. (min 2 mA @VDDS) 11040 #define IOC_IOCFG29_IOSTR_W 2 11041 #define IOC_IOCFG29_IOSTR_M 0x00000300 11042 #define IOC_IOCFG29_IOSTR_S 8 11043 #define IOC_IOCFG29_IOSTR_MAX 0x00000300 11044 #define IOC_IOCFG29_IOSTR_MED 0x00000200 11045 #define IOC_IOCFG29_IOSTR_MIN 0x00000100 11046 #define IOC_IOCFG29_IOSTR_AUTO 0x00000000 11047 11048 // Field: [7] IOEV_RTC_EN 11049 // 11050 // Event asserted by this IO when edge detection is enabled 11051 // 11052 // 0: Input edge detection does not assert RTC event 11053 // 1: Input edge detection asserts RTC event 11054 #define IOC_IOCFG29_IOEV_RTC_EN 0x00000080 11055 #define IOC_IOCFG29_IOEV_RTC_EN_BITN 7 11056 #define IOC_IOCFG29_IOEV_RTC_EN_M 0x00000080 11057 #define IOC_IOCFG29_IOEV_RTC_EN_S 7 11058 11059 // Field: [6] IOEV_MCU_WU_EN 11060 // 11061 // Event asserted by this IO when edge detection is enabled 11062 // 11063 // 0: Input edge detection does not assert MCU_WU event 11064 // 1: Input edge detection asserts MCU_WU event 11065 #define IOC_IOCFG29_IOEV_MCU_WU_EN 0x00000040 11066 #define IOC_IOCFG29_IOEV_MCU_WU_EN_BITN 6 11067 #define IOC_IOCFG29_IOEV_MCU_WU_EN_M 0x00000040 11068 #define IOC_IOCFG29_IOEV_MCU_WU_EN_S 6 11069 11070 // Field: [5:0] PORT_ID 11071 // 11072 // Selects usage for DIO29 11073 // Note: This field should not be written other than the times when PORT_ID 11074 // value is specifically required to change. 11075 // ENUMs: 11076 // RFC_SMI_CL_IN RF Core SMI Command Link In 11077 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 11078 // RFC_SMI_DL_IN RF Core SMI Data Link In 11079 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 11080 // RFC_GPI1 RF Core Data In 1 11081 // RFC_GPI0 RF Core Data In 0 11082 // RFC_GPO3 RF Core Data Out 3 11083 // RFC_GPO2 RF Core Data Out 2 11084 // RFC_GPO1 RF Core Data Out 1 11085 // RFC_GPO0 RF Core Data Out 0 11086 // RFC_TRC RF Core Trace 11087 // I2S_MCLK I2S MCLK 11088 // I2S_BCLK I2S BCLK 11089 // I2S_WCLK I2S WCLK 11090 // I2S_AD1 I2S Data 1 11091 // I2S_AD0 I2S Data 0 11092 // SSI1_CLK SSI1 CLK 11093 // SSI1_FSS SSI1 FSS 11094 // SSI1_TX SSI1 TX 11095 // SSI1_RX SSI1 RX 11096 // CPU_SWV CPU SWV 11097 // PORT_EVENT7 PORT EVENT 7 11098 // Can be used as a general 11099 // purpose IO event by selecting it through 11100 // registers in the EVENT module, for example 11101 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11102 // and so on 11103 // PORT_EVENT6 PORT EVENT 6 11104 // Can be used as a general 11105 // purpose IO event by selecting it through 11106 // registers in the EVENT module, for example 11107 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11108 // and so on 11109 // PORT_EVENT5 PORT EVENT 5 11110 // Can be used as a general 11111 // purpose IO event by selecting it through 11112 // registers in the EVENT module, for example 11113 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11114 // and so on 11115 // PORT_EVENT4 PORT EVENT 4 11116 // Can be used as a general 11117 // purpose IO event by selecting it through 11118 // registers in the EVENT module, for example 11119 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11120 // and so on 11121 // PORT_EVENT3 PORT EVENT 3 11122 // Can be used as a general 11123 // purpose IO event by selecting it through 11124 // registers in the EVENT module, for example 11125 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11126 // and so on 11127 // PORT_EVENT2 PORT EVENT 2 11128 // Can be used as a general 11129 // purpose IO event by selecting it through 11130 // registers in the EVENT module, for example 11131 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11132 // and so on 11133 // PORT_EVENT1 PORT EVENT 1 11134 // Can be used as a general 11135 // purpose IO event by selecting it through 11136 // registers in the EVENT module, for example 11137 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11138 // and so on 11139 // PORT_EVENT0 PORT EVENT 0 11140 // Can be used as a general 11141 // purpose IO event by selecting it through 11142 // registers in the EVENT module, for example 11143 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11144 // and so on 11145 // UART1_RTS UART1 RTS 11146 // UART1_CTS UART1 CTS 11147 // UART1_TX UART1 TX 11148 // UART1_RX UART1 RX 11149 // UART0_RTS UART0 RTS 11150 // UART0_CTS UART0 CTS 11151 // UART0_TX UART0 TX 11152 // UART0_RX UART0 RX 11153 // I2C_MSSCL I2C Clock 11154 // I2C_MSSDA I2C Data 11155 // SSI0_CLK SSI0 CLK 11156 // SSI0_FSS SSI0 FSS 11157 // SSI0_TX SSI0 TX 11158 // SSI0_RX SSI0 RX 11159 // AUX_IO AUX IO 11160 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 11161 // GPIO General Purpose IO 11162 #define IOC_IOCFG29_PORT_ID_W 6 11163 #define IOC_IOCFG29_PORT_ID_M 0x0000003F 11164 #define IOC_IOCFG29_PORT_ID_S 0 11165 #define IOC_IOCFG29_PORT_ID_RFC_SMI_CL_IN 0x00000038 11166 #define IOC_IOCFG29_PORT_ID_RFC_SMI_CL_OUT 0x00000037 11167 #define IOC_IOCFG29_PORT_ID_RFC_SMI_DL_IN 0x00000036 11168 #define IOC_IOCFG29_PORT_ID_RFC_SMI_DL_OUT 0x00000035 11169 #define IOC_IOCFG29_PORT_ID_RFC_GPI1 0x00000034 11170 #define IOC_IOCFG29_PORT_ID_RFC_GPI0 0x00000033 11171 #define IOC_IOCFG29_PORT_ID_RFC_GPO3 0x00000032 11172 #define IOC_IOCFG29_PORT_ID_RFC_GPO2 0x00000031 11173 #define IOC_IOCFG29_PORT_ID_RFC_GPO1 0x00000030 11174 #define IOC_IOCFG29_PORT_ID_RFC_GPO0 0x0000002F 11175 #define IOC_IOCFG29_PORT_ID_RFC_TRC 0x0000002E 11176 #define IOC_IOCFG29_PORT_ID_I2S_MCLK 0x00000029 11177 #define IOC_IOCFG29_PORT_ID_I2S_BCLK 0x00000028 11178 #define IOC_IOCFG29_PORT_ID_I2S_WCLK 0x00000027 11179 #define IOC_IOCFG29_PORT_ID_I2S_AD1 0x00000026 11180 #define IOC_IOCFG29_PORT_ID_I2S_AD0 0x00000025 11181 #define IOC_IOCFG29_PORT_ID_SSI1_CLK 0x00000024 11182 #define IOC_IOCFG29_PORT_ID_SSI1_FSS 0x00000023 11183 #define IOC_IOCFG29_PORT_ID_SSI1_TX 0x00000022 11184 #define IOC_IOCFG29_PORT_ID_SSI1_RX 0x00000021 11185 #define IOC_IOCFG29_PORT_ID_CPU_SWV 0x00000020 11186 #define IOC_IOCFG29_PORT_ID_PORT_EVENT7 0x0000001E 11187 #define IOC_IOCFG29_PORT_ID_PORT_EVENT6 0x0000001D 11188 #define IOC_IOCFG29_PORT_ID_PORT_EVENT5 0x0000001C 11189 #define IOC_IOCFG29_PORT_ID_PORT_EVENT4 0x0000001B 11190 #define IOC_IOCFG29_PORT_ID_PORT_EVENT3 0x0000001A 11191 #define IOC_IOCFG29_PORT_ID_PORT_EVENT2 0x00000019 11192 #define IOC_IOCFG29_PORT_ID_PORT_EVENT1 0x00000018 11193 #define IOC_IOCFG29_PORT_ID_PORT_EVENT0 0x00000017 11194 #define IOC_IOCFG29_PORT_ID_UART1_RTS 0x00000016 11195 #define IOC_IOCFG29_PORT_ID_UART1_CTS 0x00000015 11196 #define IOC_IOCFG29_PORT_ID_UART1_TX 0x00000014 11197 #define IOC_IOCFG29_PORT_ID_UART1_RX 0x00000013 11198 #define IOC_IOCFG29_PORT_ID_UART0_RTS 0x00000012 11199 #define IOC_IOCFG29_PORT_ID_UART0_CTS 0x00000011 11200 #define IOC_IOCFG29_PORT_ID_UART0_TX 0x00000010 11201 #define IOC_IOCFG29_PORT_ID_UART0_RX 0x0000000F 11202 #define IOC_IOCFG29_PORT_ID_I2C_MSSCL 0x0000000E 11203 #define IOC_IOCFG29_PORT_ID_I2C_MSSDA 0x0000000D 11204 #define IOC_IOCFG29_PORT_ID_SSI0_CLK 0x0000000C 11205 #define IOC_IOCFG29_PORT_ID_SSI0_FSS 0x0000000B 11206 #define IOC_IOCFG29_PORT_ID_SSI0_TX 0x0000000A 11207 #define IOC_IOCFG29_PORT_ID_SSI0_RX 0x00000009 11208 #define IOC_IOCFG29_PORT_ID_AUX_IO 0x00000008 11209 #define IOC_IOCFG29_PORT_ID_AON_CLK32K 0x00000007 11210 #define IOC_IOCFG29_PORT_ID_GPIO 0x00000000 11211 11212 //***************************************************************************** 11213 // 11214 // Register: IOC_O_IOCFG30 11215 // 11216 //***************************************************************************** 11217 // Field: [30] HYST_EN 11218 // 11219 // 0: Input hysteresis disable 11220 // 1: Input hysteresis enable 11221 #define IOC_IOCFG30_HYST_EN 0x40000000 11222 #define IOC_IOCFG30_HYST_EN_BITN 30 11223 #define IOC_IOCFG30_HYST_EN_M 0x40000000 11224 #define IOC_IOCFG30_HYST_EN_S 30 11225 11226 // Field: [29] IE 11227 // 11228 // 0: Input disabled 11229 // 1: Input enabled 11230 // 11231 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 11232 // ignored. 11233 #define IOC_IOCFG30_IE 0x20000000 11234 #define IOC_IOCFG30_IE_BITN 29 11235 #define IOC_IOCFG30_IE_M 0x20000000 11236 #define IOC_IOCFG30_IE_S 29 11237 11238 // Field: [28:27] WU_CFG 11239 // 11240 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 11241 // >0x08: 11242 // 11243 // 00: No wake-up 11244 // 01: No wake-up 11245 // 10: Wakes up from shutdown if this pad is going low. 11246 // 11: Wakes up from shutdown if this pad is going high. 11247 // 11248 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 11249 // this register only sets wakeup enable or not. 11250 // 11251 // 00, 01: Wakeup disabled 11252 // 10, 11: Wakeup enabled 11253 // 11254 // Polarity is controlled from AON registers. 11255 // 11256 // Note:When the MSB is set, the IOC will deactivate the output enable for the 11257 // DIO. 11258 #define IOC_IOCFG30_WU_CFG_W 2 11259 #define IOC_IOCFG30_WU_CFG_M 0x18000000 11260 #define IOC_IOCFG30_WU_CFG_S 27 11261 11262 // Field: [26:24] IOMODE 11263 // 11264 // IO Mode 11265 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 11266 // 0x01-0x08 11267 // AUX has its own open_source/drain configuration. 11268 // 11269 // 0x2: Reserved. Undefined behavior. 11270 // 0x3: Reserved. Undefined behavior. 11271 // ENUMs: 11272 // OPENSRC_INV Open Source 11273 // Inverted input / output 11274 // OPENSRC Open Source 11275 // Normal input / output 11276 // OPENDR_INV Open Drain 11277 // Inverted input / output 11278 // OPENDR Open Drain, 11279 // Normal input / output 11280 // INV Inverted input / ouput 11281 // NORMAL Normal input / output 11282 #define IOC_IOCFG30_IOMODE_W 3 11283 #define IOC_IOCFG30_IOMODE_M 0x07000000 11284 #define IOC_IOCFG30_IOMODE_S 24 11285 #define IOC_IOCFG30_IOMODE_OPENSRC_INV 0x07000000 11286 #define IOC_IOCFG30_IOMODE_OPENSRC 0x06000000 11287 #define IOC_IOCFG30_IOMODE_OPENDR_INV 0x05000000 11288 #define IOC_IOCFG30_IOMODE_OPENDR 0x04000000 11289 #define IOC_IOCFG30_IOMODE_INV 0x01000000 11290 #define IOC_IOCFG30_IOMODE_NORMAL 0x00000000 11291 11292 // Field: [23] IOEV_AON_PROG2_EN 11293 // 11294 // Event asserted by this IO when edge detection is enabled 11295 // 11296 // 0: Input edge detection does not assert AON_PROG2 event 11297 // 1: Input edge detection asserts AON_PROG2 event 11298 #define IOC_IOCFG30_IOEV_AON_PROG2_EN 0x00800000 11299 #define IOC_IOCFG30_IOEV_AON_PROG2_EN_BITN 23 11300 #define IOC_IOCFG30_IOEV_AON_PROG2_EN_M 0x00800000 11301 #define IOC_IOCFG30_IOEV_AON_PROG2_EN_S 23 11302 11303 // Field: [22] IOEV_AON_PROG1_EN 11304 // 11305 // Event asserted by this IO when edge detection is enabled 11306 // 11307 // 0: Input edge detection does not assert AON_PROG1 event 11308 // 1: Input edge detection asserts AON_PROG1 event 11309 #define IOC_IOCFG30_IOEV_AON_PROG1_EN 0x00400000 11310 #define IOC_IOCFG30_IOEV_AON_PROG1_EN_BITN 22 11311 #define IOC_IOCFG30_IOEV_AON_PROG1_EN_M 0x00400000 11312 #define IOC_IOCFG30_IOEV_AON_PROG1_EN_S 22 11313 11314 // Field: [21] IOEV_AON_PROG0_EN 11315 // 11316 // Event asserted by this IO when edge detection is enabled 11317 // 11318 // 0: Input edge detection does not assert AON_PROG0 event 11319 // 1: Input edge detection asserts AON_PROG0 event 11320 #define IOC_IOCFG30_IOEV_AON_PROG0_EN 0x00200000 11321 #define IOC_IOCFG30_IOEV_AON_PROG0_EN_BITN 21 11322 #define IOC_IOCFG30_IOEV_AON_PROG0_EN_M 0x00200000 11323 #define IOC_IOCFG30_IOEV_AON_PROG0_EN_S 21 11324 11325 // Field: [18] EDGE_IRQ_EN 11326 // 11327 // 0: No interrupt generation 11328 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 11329 // enabled) 11330 #define IOC_IOCFG30_EDGE_IRQ_EN 0x00040000 11331 #define IOC_IOCFG30_EDGE_IRQ_EN_BITN 18 11332 #define IOC_IOCFG30_EDGE_IRQ_EN_M 0x00040000 11333 #define IOC_IOCFG30_EDGE_IRQ_EN_S 18 11334 11335 // Field: [17:16] EDGE_DET 11336 // 11337 // Enable generation of edge detection events on this IO 11338 // ENUMs: 11339 // BOTH Positive and negative edge detection 11340 // POS Positive edge detection 11341 // NEG Negative edge detection 11342 // NONE No edge detection 11343 #define IOC_IOCFG30_EDGE_DET_W 2 11344 #define IOC_IOCFG30_EDGE_DET_M 0x00030000 11345 #define IOC_IOCFG30_EDGE_DET_S 16 11346 #define IOC_IOCFG30_EDGE_DET_BOTH 0x00030000 11347 #define IOC_IOCFG30_EDGE_DET_POS 0x00020000 11348 #define IOC_IOCFG30_EDGE_DET_NEG 0x00010000 11349 #define IOC_IOCFG30_EDGE_DET_NONE 0x00000000 11350 11351 // Field: [14:13] PULL_CTL 11352 // 11353 // Pull control 11354 // ENUMs: 11355 // DIS No pull 11356 // UP Pull up 11357 // DWN Pull down 11358 #define IOC_IOCFG30_PULL_CTL_W 2 11359 #define IOC_IOCFG30_PULL_CTL_M 0x00006000 11360 #define IOC_IOCFG30_PULL_CTL_S 13 11361 #define IOC_IOCFG30_PULL_CTL_DIS 0x00006000 11362 #define IOC_IOCFG30_PULL_CTL_UP 0x00004000 11363 #define IOC_IOCFG30_PULL_CTL_DWN 0x00002000 11364 11365 // Field: [12] SLEW_RED 11366 // 11367 // 0: Normal slew rate 11368 // 1: Enables reduced slew rate in output driver. 11369 #define IOC_IOCFG30_SLEW_RED 0x00001000 11370 #define IOC_IOCFG30_SLEW_RED_BITN 12 11371 #define IOC_IOCFG30_SLEW_RED_M 0x00001000 11372 #define IOC_IOCFG30_SLEW_RED_S 12 11373 11374 // Field: [11:10] IOCURR 11375 // 11376 // Selects IO current mode of this IO. 11377 // ENUMs: 11378 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 11379 // drive strength IOs (min 4 mA for normal IOs) 11380 // when IOSTR is set to AUTO 11381 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 11382 // to AUTO 11383 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 11384 // to AUTO 11385 #define IOC_IOCFG30_IOCURR_W 2 11386 #define IOC_IOCFG30_IOCURR_M 0x00000C00 11387 #define IOC_IOCFG30_IOCURR_S 10 11388 #define IOC_IOCFG30_IOCURR_4_8MA 0x00000800 11389 #define IOC_IOCFG30_IOCURR_4MA 0x00000400 11390 #define IOC_IOCFG30_IOCURR_2MA 0x00000000 11391 11392 // Field: [9:8] IOSTR 11393 // 11394 // Select source for drive strength control of this IO. 11395 // This setting controls the drive strength of the Low-Current (LC) mode. 11396 // Higher drive strength can be selected in IOCURR 11397 // ENUMs: 11398 // MAX Maximum drive strength, controlled by 11399 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 11400 // values) 11401 // MED Medium drive strength, controlled by 11402 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 11403 // values) 11404 // MIN Minimum drive strength, controlled by 11405 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 11406 // values) 11407 // AUTO Automatic drive strength, controlled by AON BATMON 11408 // based on battery voltage. (min 2 mA @VDDS) 11409 #define IOC_IOCFG30_IOSTR_W 2 11410 #define IOC_IOCFG30_IOSTR_M 0x00000300 11411 #define IOC_IOCFG30_IOSTR_S 8 11412 #define IOC_IOCFG30_IOSTR_MAX 0x00000300 11413 #define IOC_IOCFG30_IOSTR_MED 0x00000200 11414 #define IOC_IOCFG30_IOSTR_MIN 0x00000100 11415 #define IOC_IOCFG30_IOSTR_AUTO 0x00000000 11416 11417 // Field: [7] IOEV_RTC_EN 11418 // 11419 // Event asserted by this IO when edge detection is enabled 11420 // 11421 // 0: Input edge detection does not assert RTC event 11422 // 1: Input edge detection asserts RTC event 11423 #define IOC_IOCFG30_IOEV_RTC_EN 0x00000080 11424 #define IOC_IOCFG30_IOEV_RTC_EN_BITN 7 11425 #define IOC_IOCFG30_IOEV_RTC_EN_M 0x00000080 11426 #define IOC_IOCFG30_IOEV_RTC_EN_S 7 11427 11428 // Field: [6] IOEV_MCU_WU_EN 11429 // 11430 // Event asserted by this IO when edge detection is enabled 11431 // 11432 // 0: Input edge detection does not assert MCU_WU event 11433 // 1: Input edge detection asserts MCU_WU event 11434 #define IOC_IOCFG30_IOEV_MCU_WU_EN 0x00000040 11435 #define IOC_IOCFG30_IOEV_MCU_WU_EN_BITN 6 11436 #define IOC_IOCFG30_IOEV_MCU_WU_EN_M 0x00000040 11437 #define IOC_IOCFG30_IOEV_MCU_WU_EN_S 6 11438 11439 // Field: [5:0] PORT_ID 11440 // 11441 // Selects usage for DIO30 11442 // Note: This field should not be written other than the times when PORT_ID 11443 // value is specifically required to change. 11444 // ENUMs: 11445 // RFC_SMI_CL_IN RF Core SMI Command Link In 11446 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 11447 // RFC_SMI_DL_IN RF Core SMI Data Link In 11448 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 11449 // RFC_GPI1 RF Core Data In 1 11450 // RFC_GPI0 RF Core Data In 0 11451 // RFC_GPO3 RF Core Data Out 3 11452 // RFC_GPO2 RF Core Data Out 2 11453 // RFC_GPO1 RF Core Data Out 1 11454 // RFC_GPO0 RF Core Data Out 0 11455 // RFC_TRC RF Core Trace 11456 // I2S_MCLK I2S MCLK 11457 // I2S_BCLK I2S BCLK 11458 // I2S_WCLK I2S WCLK 11459 // I2S_AD1 I2S Data 1 11460 // I2S_AD0 I2S Data 0 11461 // SSI1_CLK SSI1 CLK 11462 // SSI1_FSS SSI1 FSS 11463 // SSI1_TX SSI1 TX 11464 // SSI1_RX SSI1 RX 11465 // CPU_SWV CPU SWV 11466 // PORT_EVENT7 PORT EVENT 7 11467 // Can be used as a general 11468 // purpose IO event by selecting it through 11469 // registers in the EVENT module, for example 11470 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11471 // and so on 11472 // PORT_EVENT6 PORT EVENT 6 11473 // Can be used as a general 11474 // purpose IO event by selecting it through 11475 // registers in the EVENT module, for example 11476 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11477 // and so on 11478 // PORT_EVENT5 PORT EVENT 5 11479 // Can be used as a general 11480 // purpose IO event by selecting it through 11481 // registers in the EVENT module, for example 11482 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11483 // and so on 11484 // PORT_EVENT4 PORT EVENT 4 11485 // Can be used as a general 11486 // purpose IO event by selecting it through 11487 // registers in the EVENT module, for example 11488 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11489 // and so on 11490 // PORT_EVENT3 PORT EVENT 3 11491 // Can be used as a general 11492 // purpose IO event by selecting it through 11493 // registers in the EVENT module, for example 11494 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11495 // and so on 11496 // PORT_EVENT2 PORT EVENT 2 11497 // Can be used as a general 11498 // purpose IO event by selecting it through 11499 // registers in the EVENT module, for example 11500 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11501 // and so on 11502 // PORT_EVENT1 PORT EVENT 1 11503 // Can be used as a general 11504 // purpose IO event by selecting it through 11505 // registers in the EVENT module, for example 11506 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11507 // and so on 11508 // PORT_EVENT0 PORT EVENT 0 11509 // Can be used as a general 11510 // purpose IO event by selecting it through 11511 // registers in the EVENT module, for example 11512 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11513 // and so on 11514 // UART1_RTS UART1 RTS 11515 // UART1_CTS UART1 CTS 11516 // UART1_TX UART1 TX 11517 // UART1_RX UART1 RX 11518 // UART0_RTS UART0 RTS 11519 // UART0_CTS UART0 CTS 11520 // UART0_TX UART0 TX 11521 // UART0_RX UART0 RX 11522 // I2C_MSSCL I2C Clock 11523 // I2C_MSSDA I2C Data 11524 // SSI0_CLK SSI0 CLK 11525 // SSI0_FSS SSI0 FSS 11526 // SSI0_TX SSI0 TX 11527 // SSI0_RX SSI0 RX 11528 // AUX_IO AUX IO 11529 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 11530 // GPIO General Purpose IO 11531 #define IOC_IOCFG30_PORT_ID_W 6 11532 #define IOC_IOCFG30_PORT_ID_M 0x0000003F 11533 #define IOC_IOCFG30_PORT_ID_S 0 11534 #define IOC_IOCFG30_PORT_ID_RFC_SMI_CL_IN 0x00000038 11535 #define IOC_IOCFG30_PORT_ID_RFC_SMI_CL_OUT 0x00000037 11536 #define IOC_IOCFG30_PORT_ID_RFC_SMI_DL_IN 0x00000036 11537 #define IOC_IOCFG30_PORT_ID_RFC_SMI_DL_OUT 0x00000035 11538 #define IOC_IOCFG30_PORT_ID_RFC_GPI1 0x00000034 11539 #define IOC_IOCFG30_PORT_ID_RFC_GPI0 0x00000033 11540 #define IOC_IOCFG30_PORT_ID_RFC_GPO3 0x00000032 11541 #define IOC_IOCFG30_PORT_ID_RFC_GPO2 0x00000031 11542 #define IOC_IOCFG30_PORT_ID_RFC_GPO1 0x00000030 11543 #define IOC_IOCFG30_PORT_ID_RFC_GPO0 0x0000002F 11544 #define IOC_IOCFG30_PORT_ID_RFC_TRC 0x0000002E 11545 #define IOC_IOCFG30_PORT_ID_I2S_MCLK 0x00000029 11546 #define IOC_IOCFG30_PORT_ID_I2S_BCLK 0x00000028 11547 #define IOC_IOCFG30_PORT_ID_I2S_WCLK 0x00000027 11548 #define IOC_IOCFG30_PORT_ID_I2S_AD1 0x00000026 11549 #define IOC_IOCFG30_PORT_ID_I2S_AD0 0x00000025 11550 #define IOC_IOCFG30_PORT_ID_SSI1_CLK 0x00000024 11551 #define IOC_IOCFG30_PORT_ID_SSI1_FSS 0x00000023 11552 #define IOC_IOCFG30_PORT_ID_SSI1_TX 0x00000022 11553 #define IOC_IOCFG30_PORT_ID_SSI1_RX 0x00000021 11554 #define IOC_IOCFG30_PORT_ID_CPU_SWV 0x00000020 11555 #define IOC_IOCFG30_PORT_ID_PORT_EVENT7 0x0000001E 11556 #define IOC_IOCFG30_PORT_ID_PORT_EVENT6 0x0000001D 11557 #define IOC_IOCFG30_PORT_ID_PORT_EVENT5 0x0000001C 11558 #define IOC_IOCFG30_PORT_ID_PORT_EVENT4 0x0000001B 11559 #define IOC_IOCFG30_PORT_ID_PORT_EVENT3 0x0000001A 11560 #define IOC_IOCFG30_PORT_ID_PORT_EVENT2 0x00000019 11561 #define IOC_IOCFG30_PORT_ID_PORT_EVENT1 0x00000018 11562 #define IOC_IOCFG30_PORT_ID_PORT_EVENT0 0x00000017 11563 #define IOC_IOCFG30_PORT_ID_UART1_RTS 0x00000016 11564 #define IOC_IOCFG30_PORT_ID_UART1_CTS 0x00000015 11565 #define IOC_IOCFG30_PORT_ID_UART1_TX 0x00000014 11566 #define IOC_IOCFG30_PORT_ID_UART1_RX 0x00000013 11567 #define IOC_IOCFG30_PORT_ID_UART0_RTS 0x00000012 11568 #define IOC_IOCFG30_PORT_ID_UART0_CTS 0x00000011 11569 #define IOC_IOCFG30_PORT_ID_UART0_TX 0x00000010 11570 #define IOC_IOCFG30_PORT_ID_UART0_RX 0x0000000F 11571 #define IOC_IOCFG30_PORT_ID_I2C_MSSCL 0x0000000E 11572 #define IOC_IOCFG30_PORT_ID_I2C_MSSDA 0x0000000D 11573 #define IOC_IOCFG30_PORT_ID_SSI0_CLK 0x0000000C 11574 #define IOC_IOCFG30_PORT_ID_SSI0_FSS 0x0000000B 11575 #define IOC_IOCFG30_PORT_ID_SSI0_TX 0x0000000A 11576 #define IOC_IOCFG30_PORT_ID_SSI0_RX 0x00000009 11577 #define IOC_IOCFG30_PORT_ID_AUX_IO 0x00000008 11578 #define IOC_IOCFG30_PORT_ID_AON_CLK32K 0x00000007 11579 #define IOC_IOCFG30_PORT_ID_GPIO 0x00000000 11580 11581 //***************************************************************************** 11582 // 11583 // Register: IOC_O_IOCFG31 11584 // 11585 //***************************************************************************** 11586 // Field: [30] HYST_EN 11587 // 11588 // 0: Input hysteresis disable 11589 // 1: Input hysteresis enable 11590 #define IOC_IOCFG31_HYST_EN 0x40000000 11591 #define IOC_IOCFG31_HYST_EN_BITN 30 11592 #define IOC_IOCFG31_HYST_EN_M 0x40000000 11593 #define IOC_IOCFG31_HYST_EN_S 30 11594 11595 // Field: [29] IE 11596 // 11597 // 0: Input disabled 11598 // 1: Input enabled 11599 // 11600 // Note: If IO is configured for AUX PORT_ID = 0x08, the enable will be 11601 // ignored. 11602 #define IOC_IOCFG31_IE 0x20000000 11603 #define IOC_IOCFG31_IE_BITN 29 11604 #define IOC_IOCFG31_IE_M 0x20000000 11605 #define IOC_IOCFG31_IE_S 29 11606 11607 // Field: [28:27] WU_CFG 11608 // 11609 // If DIO is configured GPIO or non-AON peripheral signals, PORT_ID 0x00 or 11610 // >0x08: 11611 // 11612 // 00: No wake-up 11613 // 01: No wake-up 11614 // 10: Wakes up from shutdown if this pad is going low. 11615 // 11: Wakes up from shutdown if this pad is going high. 11616 // 11617 // If IO is configured for AON peripheral signals or AUX PORT_ID 0x01-0x08, 11618 // this register only sets wakeup enable or not. 11619 // 11620 // 00, 01: Wakeup disabled 11621 // 10, 11: Wakeup enabled 11622 // 11623 // Polarity is controlled from AON registers. 11624 // 11625 // Note:When the MSB is set, the IOC will deactivate the output enable for the 11626 // DIO. 11627 #define IOC_IOCFG31_WU_CFG_W 2 11628 #define IOC_IOCFG31_WU_CFG_M 0x18000000 11629 #define IOC_IOCFG31_WU_CFG_S 27 11630 11631 // Field: [26:24] IOMODE 11632 // 11633 // IO Mode 11634 // Not applicable for IO configured for AON periph. signals and AUX PORT_ID 11635 // 0x01-0x08 11636 // AUX has its own open_source/drain configuration. 11637 // 11638 // 0x2: Reserved. Undefined behavior. 11639 // 0x3: Reserved. Undefined behavior. 11640 // ENUMs: 11641 // OPENSRC_INV Open Source 11642 // Inverted input / output 11643 // OPENSRC Open Source 11644 // Normal input / output 11645 // OPENDR_INV Open Drain 11646 // Inverted input / output 11647 // OPENDR Open Drain, 11648 // Normal input / output 11649 // INV Inverted input / ouput 11650 // NORMAL Normal input / output 11651 #define IOC_IOCFG31_IOMODE_W 3 11652 #define IOC_IOCFG31_IOMODE_M 0x07000000 11653 #define IOC_IOCFG31_IOMODE_S 24 11654 #define IOC_IOCFG31_IOMODE_OPENSRC_INV 0x07000000 11655 #define IOC_IOCFG31_IOMODE_OPENSRC 0x06000000 11656 #define IOC_IOCFG31_IOMODE_OPENDR_INV 0x05000000 11657 #define IOC_IOCFG31_IOMODE_OPENDR 0x04000000 11658 #define IOC_IOCFG31_IOMODE_INV 0x01000000 11659 #define IOC_IOCFG31_IOMODE_NORMAL 0x00000000 11660 11661 // Field: [23] IOEV_AON_PROG2_EN 11662 // 11663 // Event asserted by this IO when edge detection is enabled 11664 // 11665 // 0: Input edge detection does not assert AON_PROG2 event 11666 // 1: Input edge detection asserts AON_PROG2 event 11667 #define IOC_IOCFG31_IOEV_AON_PROG2_EN 0x00800000 11668 #define IOC_IOCFG31_IOEV_AON_PROG2_EN_BITN 23 11669 #define IOC_IOCFG31_IOEV_AON_PROG2_EN_M 0x00800000 11670 #define IOC_IOCFG31_IOEV_AON_PROG2_EN_S 23 11671 11672 // Field: [22] IOEV_AON_PROG1_EN 11673 // 11674 // Event asserted by this IO when edge detection is enabled 11675 // 11676 // 0: Input edge detection does not assert AON_PROG1 event 11677 // 1: Input edge detection asserts AON_PROG1 event 11678 #define IOC_IOCFG31_IOEV_AON_PROG1_EN 0x00400000 11679 #define IOC_IOCFG31_IOEV_AON_PROG1_EN_BITN 22 11680 #define IOC_IOCFG31_IOEV_AON_PROG1_EN_M 0x00400000 11681 #define IOC_IOCFG31_IOEV_AON_PROG1_EN_S 22 11682 11683 // Field: [21] IOEV_AON_PROG0_EN 11684 // 11685 // Event asserted by this IO when edge detection is enabled 11686 // 11687 // 0: Input edge detection does not assert AON_PROG0 event 11688 // 1: Input edge detection asserts AON_PROG0 event 11689 #define IOC_IOCFG31_IOEV_AON_PROG0_EN 0x00200000 11690 #define IOC_IOCFG31_IOEV_AON_PROG0_EN_BITN 21 11691 #define IOC_IOCFG31_IOEV_AON_PROG0_EN_M 0x00200000 11692 #define IOC_IOCFG31_IOEV_AON_PROG0_EN_S 21 11693 11694 // Field: [18] EDGE_IRQ_EN 11695 // 11696 // 0: No interrupt generation 11697 // 1: Enable interrupt generation for this IO (Only effective if EDGE_DET is 11698 // enabled) 11699 #define IOC_IOCFG31_EDGE_IRQ_EN 0x00040000 11700 #define IOC_IOCFG31_EDGE_IRQ_EN_BITN 18 11701 #define IOC_IOCFG31_EDGE_IRQ_EN_M 0x00040000 11702 #define IOC_IOCFG31_EDGE_IRQ_EN_S 18 11703 11704 // Field: [17:16] EDGE_DET 11705 // 11706 // Enable generation of edge detection events on this IO 11707 // ENUMs: 11708 // BOTH Positive and negative edge detection 11709 // POS Positive edge detection 11710 // NEG Negative edge detection 11711 // NONE No edge detection 11712 #define IOC_IOCFG31_EDGE_DET_W 2 11713 #define IOC_IOCFG31_EDGE_DET_M 0x00030000 11714 #define IOC_IOCFG31_EDGE_DET_S 16 11715 #define IOC_IOCFG31_EDGE_DET_BOTH 0x00030000 11716 #define IOC_IOCFG31_EDGE_DET_POS 0x00020000 11717 #define IOC_IOCFG31_EDGE_DET_NEG 0x00010000 11718 #define IOC_IOCFG31_EDGE_DET_NONE 0x00000000 11719 11720 // Field: [14:13] PULL_CTL 11721 // 11722 // Pull control 11723 // ENUMs: 11724 // DIS No pull 11725 // UP Pull up 11726 // DWN Pull down 11727 #define IOC_IOCFG31_PULL_CTL_W 2 11728 #define IOC_IOCFG31_PULL_CTL_M 0x00006000 11729 #define IOC_IOCFG31_PULL_CTL_S 13 11730 #define IOC_IOCFG31_PULL_CTL_DIS 0x00006000 11731 #define IOC_IOCFG31_PULL_CTL_UP 0x00004000 11732 #define IOC_IOCFG31_PULL_CTL_DWN 0x00002000 11733 11734 // Field: [12] SLEW_RED 11735 // 11736 // 0: Normal slew rate 11737 // 1: Enables reduced slew rate in output driver. 11738 #define IOC_IOCFG31_SLEW_RED 0x00001000 11739 #define IOC_IOCFG31_SLEW_RED_BITN 12 11740 #define IOC_IOCFG31_SLEW_RED_M 0x00001000 11741 #define IOC_IOCFG31_SLEW_RED_S 12 11742 11743 // Field: [11:10] IOCURR 11744 // 11745 // Selects IO current mode of this IO. 11746 // ENUMs: 11747 // 4_8MA Extended-Current (EC) mode: Min 8 mA for double 11748 // drive strength IOs (min 4 mA for normal IOs) 11749 // when IOSTR is set to AUTO 11750 // 4MA High-Current (HC) mode: Min 4 mA when IOSTR is set 11751 // to AUTO 11752 // 2MA Low-Current (LC) mode: Min 2 mA when IOSTR is set 11753 // to AUTO 11754 #define IOC_IOCFG31_IOCURR_W 2 11755 #define IOC_IOCFG31_IOCURR_M 0x00000C00 11756 #define IOC_IOCFG31_IOCURR_S 10 11757 #define IOC_IOCFG31_IOCURR_4_8MA 0x00000800 11758 #define IOC_IOCFG31_IOCURR_4MA 0x00000400 11759 #define IOC_IOCFG31_IOCURR_2MA 0x00000000 11760 11761 // Field: [9:8] IOSTR 11762 // 11763 // Select source for drive strength control of this IO. 11764 // This setting controls the drive strength of the Low-Current (LC) mode. 11765 // Higher drive strength can be selected in IOCURR 11766 // ENUMs: 11767 // MAX Maximum drive strength, controlled by 11768 // AON_IOC:IOSTRMAX (min 2 mA @1.8V with default 11769 // values) 11770 // MED Medium drive strength, controlled by 11771 // AON_IOC:IOSTRMED (min 2 mA @2.5V with default 11772 // values) 11773 // MIN Minimum drive strength, controlled by 11774 // AON_IOC:IOSTRMIN (min 2 mA @3.3V with default 11775 // values) 11776 // AUTO Automatic drive strength, controlled by AON BATMON 11777 // based on battery voltage. (min 2 mA @VDDS) 11778 #define IOC_IOCFG31_IOSTR_W 2 11779 #define IOC_IOCFG31_IOSTR_M 0x00000300 11780 #define IOC_IOCFG31_IOSTR_S 8 11781 #define IOC_IOCFG31_IOSTR_MAX 0x00000300 11782 #define IOC_IOCFG31_IOSTR_MED 0x00000200 11783 #define IOC_IOCFG31_IOSTR_MIN 0x00000100 11784 #define IOC_IOCFG31_IOSTR_AUTO 0x00000000 11785 11786 // Field: [7] IOEV_RTC_EN 11787 // 11788 // Event asserted by this IO when edge detection is enabled 11789 // 11790 // 0: Input edge detection does not assert RTC event 11791 // 1: Input edge detection asserts RTC event 11792 #define IOC_IOCFG31_IOEV_RTC_EN 0x00000080 11793 #define IOC_IOCFG31_IOEV_RTC_EN_BITN 7 11794 #define IOC_IOCFG31_IOEV_RTC_EN_M 0x00000080 11795 #define IOC_IOCFG31_IOEV_RTC_EN_S 7 11796 11797 // Field: [6] IOEV_MCU_WU_EN 11798 // 11799 // Event asserted by this IO when edge detection is enabled 11800 // 11801 // 0: Input edge detection does not assert MCU_WU event 11802 // 1: Input edge detection asserts MCU_WU event 11803 #define IOC_IOCFG31_IOEV_MCU_WU_EN 0x00000040 11804 #define IOC_IOCFG31_IOEV_MCU_WU_EN_BITN 6 11805 #define IOC_IOCFG31_IOEV_MCU_WU_EN_M 0x00000040 11806 #define IOC_IOCFG31_IOEV_MCU_WU_EN_S 6 11807 11808 // Field: [5:0] PORT_ID 11809 // 11810 // Selects usage for DIO31 11811 // Note: This field should not be written other than the times when PORT_ID 11812 // value is specifically required to change. 11813 // ENUMs: 11814 // RFC_SMI_CL_IN RF Core SMI Command Link In 11815 // RFC_SMI_CL_OUT RF Core SMI Command Link Out 11816 // RFC_SMI_DL_IN RF Core SMI Data Link In 11817 // RFC_SMI_DL_OUT RF Core SMI Data Link Out 11818 // RFC_GPI1 RF Core Data In 1 11819 // RFC_GPI0 RF Core Data In 0 11820 // RFC_GPO3 RF Core Data Out 3 11821 // RFC_GPO2 RF Core Data Out 2 11822 // RFC_GPO1 RF Core Data Out 1 11823 // RFC_GPO0 RF Core Data Out 0 11824 // RFC_TRC RF Core Trace 11825 // I2S_MCLK I2S MCLK 11826 // I2S_BCLK I2S BCLK 11827 // I2S_WCLK I2S WCLK 11828 // I2S_AD1 I2S Data 1 11829 // I2S_AD0 I2S Data 0 11830 // SSI1_CLK SSI1 CLK 11831 // SSI1_FSS SSI1 FSS 11832 // SSI1_TX SSI1 TX 11833 // SSI1_RX SSI1 RX 11834 // CPU_SWV CPU SWV 11835 // PORT_EVENT7 PORT EVENT 7 11836 // Can be used as a general 11837 // purpose IO event by selecting it through 11838 // registers in the EVENT module, for example 11839 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11840 // and so on 11841 // PORT_EVENT6 PORT EVENT 6 11842 // Can be used as a general 11843 // purpose IO event by selecting it through 11844 // registers in the EVENT module, for example 11845 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11846 // and so on 11847 // PORT_EVENT5 PORT EVENT 5 11848 // Can be used as a general 11849 // purpose IO event by selecting it through 11850 // registers in the EVENT module, for example 11851 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11852 // and so on 11853 // PORT_EVENT4 PORT EVENT 4 11854 // Can be used as a general 11855 // purpose IO event by selecting it through 11856 // registers in the EVENT module, for example 11857 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11858 // and so on 11859 // PORT_EVENT3 PORT EVENT 3 11860 // Can be used as a general 11861 // purpose IO event by selecting it through 11862 // registers in the EVENT module, for example 11863 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11864 // and so on 11865 // PORT_EVENT2 PORT EVENT 2 11866 // Can be used as a general 11867 // purpose IO event by selecting it through 11868 // registers in the EVENT module, for example 11869 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11870 // and so on 11871 // PORT_EVENT1 PORT EVENT 1 11872 // Can be used as a general 11873 // purpose IO event by selecting it through 11874 // registers in the EVENT module, for example 11875 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11876 // and so on 11877 // PORT_EVENT0 PORT EVENT 0 11878 // Can be used as a general 11879 // purpose IO event by selecting it through 11880 // registers in the EVENT module, for example 11881 // EVENT:GPT0ACAPTSEL.EV, EVENT:UDMACH14BSEL.EV, 11882 // and so on 11883 // UART1_RTS UART1 RTS 11884 // UART1_CTS UART1 CTS 11885 // UART1_TX UART1 TX 11886 // UART1_RX UART1 RX 11887 // UART0_RTS UART0 RTS 11888 // UART0_CTS UART0 CTS 11889 // UART0_TX UART0 TX 11890 // UART0_RX UART0 RX 11891 // I2C_MSSCL I2C Clock 11892 // I2C_MSSDA I2C Data 11893 // SSI0_CLK SSI0 CLK 11894 // SSI0_FSS SSI0 FSS 11895 // SSI0_TX SSI0 TX 11896 // SSI0_RX SSI0 RX 11897 // AUX_IO AUX IO 11898 // AON_CLK32K AON 32 KHz clock (SCLK_LF) 11899 // GPIO General Purpose IO 11900 #define IOC_IOCFG31_PORT_ID_W 6 11901 #define IOC_IOCFG31_PORT_ID_M 0x0000003F 11902 #define IOC_IOCFG31_PORT_ID_S 0 11903 #define IOC_IOCFG31_PORT_ID_RFC_SMI_CL_IN 0x00000038 11904 #define IOC_IOCFG31_PORT_ID_RFC_SMI_CL_OUT 0x00000037 11905 #define IOC_IOCFG31_PORT_ID_RFC_SMI_DL_IN 0x00000036 11906 #define IOC_IOCFG31_PORT_ID_RFC_SMI_DL_OUT 0x00000035 11907 #define IOC_IOCFG31_PORT_ID_RFC_GPI1 0x00000034 11908 #define IOC_IOCFG31_PORT_ID_RFC_GPI0 0x00000033 11909 #define IOC_IOCFG31_PORT_ID_RFC_GPO3 0x00000032 11910 #define IOC_IOCFG31_PORT_ID_RFC_GPO2 0x00000031 11911 #define IOC_IOCFG31_PORT_ID_RFC_GPO1 0x00000030 11912 #define IOC_IOCFG31_PORT_ID_RFC_GPO0 0x0000002F 11913 #define IOC_IOCFG31_PORT_ID_RFC_TRC 0x0000002E 11914 #define IOC_IOCFG31_PORT_ID_I2S_MCLK 0x00000029 11915 #define IOC_IOCFG31_PORT_ID_I2S_BCLK 0x00000028 11916 #define IOC_IOCFG31_PORT_ID_I2S_WCLK 0x00000027 11917 #define IOC_IOCFG31_PORT_ID_I2S_AD1 0x00000026 11918 #define IOC_IOCFG31_PORT_ID_I2S_AD0 0x00000025 11919 #define IOC_IOCFG31_PORT_ID_SSI1_CLK 0x00000024 11920 #define IOC_IOCFG31_PORT_ID_SSI1_FSS 0x00000023 11921 #define IOC_IOCFG31_PORT_ID_SSI1_TX 0x00000022 11922 #define IOC_IOCFG31_PORT_ID_SSI1_RX 0x00000021 11923 #define IOC_IOCFG31_PORT_ID_CPU_SWV 0x00000020 11924 #define IOC_IOCFG31_PORT_ID_PORT_EVENT7 0x0000001E 11925 #define IOC_IOCFG31_PORT_ID_PORT_EVENT6 0x0000001D 11926 #define IOC_IOCFG31_PORT_ID_PORT_EVENT5 0x0000001C 11927 #define IOC_IOCFG31_PORT_ID_PORT_EVENT4 0x0000001B 11928 #define IOC_IOCFG31_PORT_ID_PORT_EVENT3 0x0000001A 11929 #define IOC_IOCFG31_PORT_ID_PORT_EVENT2 0x00000019 11930 #define IOC_IOCFG31_PORT_ID_PORT_EVENT1 0x00000018 11931 #define IOC_IOCFG31_PORT_ID_PORT_EVENT0 0x00000017 11932 #define IOC_IOCFG31_PORT_ID_UART1_RTS 0x00000016 11933 #define IOC_IOCFG31_PORT_ID_UART1_CTS 0x00000015 11934 #define IOC_IOCFG31_PORT_ID_UART1_TX 0x00000014 11935 #define IOC_IOCFG31_PORT_ID_UART1_RX 0x00000013 11936 #define IOC_IOCFG31_PORT_ID_UART0_RTS 0x00000012 11937 #define IOC_IOCFG31_PORT_ID_UART0_CTS 0x00000011 11938 #define IOC_IOCFG31_PORT_ID_UART0_TX 0x00000010 11939 #define IOC_IOCFG31_PORT_ID_UART0_RX 0x0000000F 11940 #define IOC_IOCFG31_PORT_ID_I2C_MSSCL 0x0000000E 11941 #define IOC_IOCFG31_PORT_ID_I2C_MSSDA 0x0000000D 11942 #define IOC_IOCFG31_PORT_ID_SSI0_CLK 0x0000000C 11943 #define IOC_IOCFG31_PORT_ID_SSI0_FSS 0x0000000B 11944 #define IOC_IOCFG31_PORT_ID_SSI0_TX 0x0000000A 11945 #define IOC_IOCFG31_PORT_ID_SSI0_RX 0x00000009 11946 #define IOC_IOCFG31_PORT_ID_AUX_IO 0x00000008 11947 #define IOC_IOCFG31_PORT_ID_AON_CLK32K 0x00000007 11948 #define IOC_IOCFG31_PORT_ID_GPIO 0x00000000 11949 11950 11951 #endif // __IOC__ 11952