1 /** 2 * @file mxc_pins.c 3 * @brief This file contains constant pin configurations for the peripherals. 4 */ 5 6 /****************************************************************************** 7 * 8 * Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by 9 * Analog Devices, Inc.), 10 * Copyright (C) 2023-2024 Analog Devices, Inc. 11 * 12 * Licensed under the Apache License, Version 2.0 (the "License"); 13 * you may not use this file except in compliance with the License. 14 * You may obtain a copy of the License at 15 * 16 * http://www.apache.org/licenses/LICENSE-2.0 17 * 18 * Unless required by applicable law or agreed to in writing, software 19 * distributed under the License is distributed on an "AS IS" BASIS, 20 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 * See the License for the specific language governing permissions and 22 * limitations under the License. 23 * 24 ******************************************************************************/ 25 26 #include "gpio.h" 27 #include "mxc_device.h" 28 29 /***** Definitions *****/ 30 31 /***** Global Variables *****/ 32 33 // clang-format off 34 const mxc_gpio_cfg_t gpio_cfg_i2c0 = { MXC_GPIO0, (MXC_GPIO_PIN_0 | MXC_GPIO_PIN_1), 35 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, 36 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 37 const mxc_gpio_cfg_t gpio_cfg_i2c1 = { MXC_GPIO2, (MXC_GPIO_PIN_18 | MXC_GPIO_PIN_19), 38 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, 39 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 40 const mxc_gpio_cfg_t gpio_cfg_i2c2 = { MXC_GPIO0, (MXC_GPIO_PIN_6 | MXC_GPIO_PIN_7), 41 MXC_GPIO_FUNC_ALT4, MXC_GPIO_PAD_NONE, 42 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 43 const mxc_gpio_cfg_t gpio_cfg_i2c2b = { MXC_GPIO1, (MXC_GPIO_PIN_20 | MXC_GPIO_PIN_21), 44 MXC_GPIO_FUNC_ALT2, MXC_GPIO_PAD_NONE, 45 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 46 const mxc_gpio_cfg_t gpio_cfg_i2c2c = { MXC_GPIO1, (MXC_GPIO_PIN_30 | MXC_GPIO_PIN_31), 47 MXC_GPIO_FUNC_ALT3, MXC_GPIO_PAD_NONE, 48 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 49 50 const mxc_gpio_cfg_t gpio_cfg_uart0 = { MXC_GPIO1, (MXC_GPIO_PIN_8 | MXC_GPIO_PIN_9), 51 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, 52 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 53 const mxc_gpio_cfg_t gpio_cfg_uart0_flow = { MXC_GPIO1, (MXC_GPIO_PIN_6 | MXC_GPIO_PIN_7), 54 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, 55 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 56 const mxc_gpio_cfg_t gpio_cfg_uart1 = { MXC_GPIO1, (MXC_GPIO_PIN_12 | MXC_GPIO_PIN_13), 57 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, 58 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 59 const mxc_gpio_cfg_t gpio_cfg_uart1_flow = { MXC_GPIO1, (MXC_GPIO_PIN_10 | MXC_GPIO_PIN_11), 60 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, 61 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 62 const mxc_gpio_cfg_t gpio_cfg_uart2 = { MXC_GPIO1, (MXC_GPIO_PIN_16 | MXC_GPIO_PIN_17), 63 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, 64 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 65 const mxc_gpio_cfg_t gpio_cfg_uart2_flow = { MXC_GPIO1, (MXC_GPIO_PIN_14 | MXC_GPIO_PIN_15), 66 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, 67 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 68 const mxc_gpio_cfg_t gpio_cfg_uart3 = { MXC_GPIO1, (MXC_GPIO_PIN_20 | MXC_GPIO_PIN_21), 69 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, 70 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 71 const mxc_gpio_cfg_t gpio_cfg_uart3_flow = { MXC_GPIO1, (MXC_GPIO_PIN_18 | MXC_GPIO_PIN_19), 72 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, 73 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 74 const mxc_gpio_cfg_t gpio_cfg_uart4 = { MXC_GPIO1, (MXC_GPIO_PIN_28 | MXC_GPIO_PIN_29), 75 MXC_GPIO_FUNC_ALT2, MXC_GPIO_PAD_NONE, 76 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 77 const mxc_gpio_cfg_t gpio_cfg_uart4b = { MXC_GPIO2, (MXC_GPIO_PIN_26 | MXC_GPIO_PIN_27), 78 MXC_GPIO_FUNC_ALT3, MXC_GPIO_PAD_NONE, 79 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 80 const mxc_gpio_cfg_t gpio_cfg_uart4c = { MXC_GPIO1, (MXC_GPIO_PIN_1 | MXC_GPIO_PIN_2), 81 MXC_GPIO_FUNC_ALT4, MXC_GPIO_PAD_NONE, 82 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 83 const mxc_gpio_cfg_t gpio_cfg_uart4_flow = { MXC_GPIO2, (MXC_GPIO_PIN_0 | MXC_GPIO_PIN_1), 84 MXC_GPIO_FUNC_ALT2, MXC_GPIO_PAD_NONE, 85 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 86 const mxc_gpio_cfg_t gpio_cfg_uart4b_flow = { MXC_GPIO2, (MXC_GPIO_PIN_28 | MXC_GPIO_PIN_29), 87 MXC_GPIO_FUNC_ALT3, MXC_GPIO_PAD_NONE, 88 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 89 const mxc_gpio_cfg_t gpio_cfg_uart4c_flow = { MXC_GPIO1, (MXC_GPIO_PIN_3 | MXC_GPIO_PIN_4), 90 MXC_GPIO_FUNC_ALT4, MXC_GPIO_PAD_NONE, 91 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 92 const mxc_gpio_cfg_t gpio_cfg_uart5 = { MXC_GPIO1, (MXC_GPIO_PIN_30 | MXC_GPIO_PIN_31), 93 MXC_GPIO_FUNC_ALT2, MXC_GPIO_PAD_NONE, 94 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 95 const mxc_gpio_cfg_t gpio_cfg_uart5b = { MXC_GPIO2, (MXC_GPIO_PIN_30 | MXC_GPIO_PIN_31), 96 MXC_GPIO_FUNC_ALT3, MXC_GPIO_PAD_NONE, 97 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 98 const mxc_gpio_cfg_t gpio_cfg_uart5_flow = { MXC_GPIO2, (MXC_GPIO_PIN_8 | MXC_GPIO_PIN_9), 99 MXC_GPIO_FUNC_ALT2, MXC_GPIO_PAD_NONE, 100 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 101 const mxc_gpio_cfg_t gpio_cfg_uart5b_flow = { MXC_GPIO2, (MXC_GPIO_PIN_4 | MXC_GPIO_PIN_5), 102 MXC_GPIO_FUNC_ALT3, MXC_GPIO_PAD_NONE, 103 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 104 // NOTE: uart5b flow control is split across port pins 0.31 and 1.0 105 const mxc_gpio_cfg_t gpio_cfg_uart5c_P1_flow = { MXC_GPIO1, MXC_GPIO_PIN_0, MXC_GPIO_FUNC_ALT4, 106 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 107 const mxc_gpio_cfg_t gpio_cfg_uart5c_P0_flow = { MXC_GPIO0, MXC_GPIO_PIN_31, MXC_GPIO_FUNC_ALT4, 108 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 109 110 const mxc_gpio_cfg_t gpio_cfg_spi0 = { 111 MXC_GPIO0, (MXC_GPIO_PIN_2 | MXC_GPIO_PIN_3 | MXC_GPIO_PIN_4 | MXC_GPIO_PIN_5), 112 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 113 }; 114 // NOTE: SPI1 definied here with SS1 only, SS0 is on port0 by itself. 115 const mxc_gpio_cfg_t gpio_cfg_spi1 = { 116 MXC_GPIO1, (MXC_GPIO_PIN_0 | MXC_GPIO_PIN_3 | MXC_GPIO_PIN_4 | MXC_GPIO_PIN_5), 117 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 118 }; 119 // NOTE: SPI2 defined here with SS0 only, and NOT SS1 and SS2 120 const mxc_gpio_cfg_t gpio_cfg_spi2 = { 121 MXC_GPIO2, (MXC_GPIO_PIN_14 | MXC_GPIO_PIN_15 | MXC_GPIO_PIN_16 | MXC_GPIO_PIN_17), 122 MXC_GPIO_FUNC_ALT2, MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 123 }; 124 const mxc_gpio_cfg_t gpio_cfg_spi2b = { 125 MXC_GPIO2, (MXC_GPIO_PIN_22 | MXC_GPIO_PIN_23 | MXC_GPIO_PIN_24 | MXC_GPIO_PIN_25), 126 MXC_GPIO_FUNC_ALT3, MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 127 }; 128 // NOTE: SPI3 defined here with SS0 only, and NOT SS1, SS2, or SS3 129 const mxc_gpio_cfg_t gpio_cfg_spi3 = { MXC_GPIO0, 130 (MXC_GPIO_PIN_6 | MXC_GPIO_PIN_10 | MXC_GPIO_PIN_11 | 131 MXC_GPIO_PIN_12 | MXC_GPIO_PIN_13 | MXC_GPIO_PIN_14), 132 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, 133 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 134 135 // Timers are only defined once, depending on package, each timer could be mapped to other pins 136 const mxc_gpio_cfg_t gpio_cfg_tmr0 = { MXC_GPIO1, MXC_GPIO_PIN_14, MXC_GPIO_FUNC_ALT3, 137 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 138 const mxc_gpio_cfg_t gpio_cfg_tmr1 = { MXC_GPIO1, MXC_GPIO_PIN_15, MXC_GPIO_FUNC_ALT3, 139 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 140 const mxc_gpio_cfg_t gpio_cfg_tmr2 = { MXC_GPIO2, MXC_GPIO_PIN_24, MXC_GPIO_FUNC_ALT2, 141 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 142 const mxc_gpio_cfg_t gpio_cfg_tmr3 = { MXC_GPIO2, MXC_GPIO_PIN_25, MXC_GPIO_FUNC_ALT2, 143 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 144 const mxc_gpio_cfg_t gpio_cfg_tmr4 = { MXC_GPIO1, MXC_GPIO_PIN_12, MXC_GPIO_FUNC_ALT3, 145 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 146 const mxc_gpio_cfg_t gpio_cfg_tmr5 = { MXC_GPIO1, MXC_GPIO_PIN_13, MXC_GPIO_FUNC_ALT3, 147 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 148 149 // Pulse trains are only defined once, depending on package, each PT could be mapped to other pins 150 const mxc_gpio_cfg_t gpio_cfg_pt0 = { MXC_GPIO2, MXC_GPIO_PIN_28, MXC_GPIO_FUNC_ALT2, 151 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 152 const mxc_gpio_cfg_t gpio_cfg_pt1 = { MXC_GPIO1, MXC_GPIO_PIN_11, MXC_GPIO_FUNC_ALT4, 153 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 154 const mxc_gpio_cfg_t gpio_cfg_pt2 = { MXC_GPIO0, MXC_GPIO_PIN_11, MXC_GPIO_FUNC_ALT4, 155 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 156 const mxc_gpio_cfg_t gpio_cfg_pt3 = { MXC_GPIO0, MXC_GPIO_PIN_12, MXC_GPIO_FUNC_ALT4, 157 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 158 const mxc_gpio_cfg_t gpio_cfg_pt4 = { MXC_GPIO0, MXC_GPIO_PIN_13, MXC_GPIO_FUNC_ALT4, 159 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 160 const mxc_gpio_cfg_t gpio_cfg_pt5 = { MXC_GPIO1, MXC_GPIO_PIN_7, MXC_GPIO_FUNC_ALT3, 161 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 162 const mxc_gpio_cfg_t gpio_cfg_pt6 = { MXC_GPIO1, MXC_GPIO_PIN_0, MXC_GPIO_FUNC_ALT3, 163 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 164 const mxc_gpio_cfg_t gpio_cfg_pt7 = { MXC_GPIO0, MXC_GPIO_PIN_31, MXC_GPIO_FUNC_ALT3, 165 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 166 167 const mxc_gpio_cfg_t gpio_cfg_owm = { MXC_GPIO0, (MXC_GPIO_PIN_0 | MXC_GPIO_PIN_1), 168 MXC_GPIO_FUNC_ALT4, MXC_GPIO_PAD_NONE, 169 MXC_GPIO_VSSEL_VDDIOH }; 170 const mxc_gpio_cfg_t gpio_cfg_owmb = { MXC_GPIO1, (MXC_GPIO_PIN_18 | MXC_GPIO_PIN_19), 171 MXC_GPIO_FUNC_ALT2, MXC_GPIO_PAD_NONE, 172 MXC_GPIO_VSSEL_VDDIOH }; 173 174 // Port 0 Pins 6-14, Port 1 Pins 1-5 and 16-19, Port 2 Pins 10-19 175 // Other configurations are available, depending on package, to allow the use of EMAC or SDHC 176 // Note that both P1a and P1b must be configured for proper operation 177 const mxc_gpio_cfg_t gpio_cfg_P0_clcd = { MXC_GPIO0, 0x00007FC0, MXC_GPIO_FUNC_ALT3, 178 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 179 const mxc_gpio_cfg_t gpio_cfg_P1a_clcd = { MXC_GPIO1, 0x000F003E, MXC_GPIO_FUNC_ALT3, 180 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 181 const mxc_gpio_cfg_t gpio_cfg_P1b_clcd = { MXC_GPIO1, 0x00300000, MXC_GPIO_FUNC_ALT4, 182 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 183 const mxc_gpio_cfg_t gpio_cfg_P2_clcd = { MXC_GPIO2, 0x000FFC00, MXC_GPIO_FUNC_ALT3, 184 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 185 186 const mxc_gpio_cfg_t gpio_cfg_rtcsqw = { MXC_GPIO0, MXC_GPIO_PIN_8, MXC_GPIO_FUNC_ALT4, 187 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 188 const mxc_gpio_cfg_t gpio_cfg_rtcsqwb = { MXC_GPIO1, MXC_GPIO_PIN_11, MXC_GPIO_FUNC_ALT2, 189 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 190 191 const mxc_gpio_cfg_t gpio_cfg_sdhc = { MXC_GPIO2, 192 (MXC_GPIO_PIN_10 | MXC_GPIO_PIN_11 | MXC_GPIO_PIN_12 | 193 MXC_GPIO_PIN_13 | MXC_GPIO_PIN_14 | MXC_GPIO_PIN_15 | 194 MXC_GPIO_PIN_16 | MXC_GPIO_PIN_17), 195 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, 196 MXC_GPIO_VSSEL_VDDIOH }; 197 const mxc_gpio_cfg_t gpio_cfg_sdhcb = { MXC_GPIO1, 198 (MXC_GPIO_PIN_14 | MXC_GPIO_PIN_15 | MXC_GPIO_PIN_22 | 199 MXC_GPIO_PIN_23 | MXC_GPIO_PIN_24 | MXC_GPIO_PIN_25 | 200 MXC_GPIO_PIN_26 | MXC_GPIO_PIN_27), 201 MXC_GPIO_FUNC_ALT4, MXC_GPIO_PAD_NONE, 202 MXC_GPIO_VSSEL_VDDIOH }; 203 204 const mxc_gpio_cfg_t gpio_cfg_sc0 = { MXC_GPIO0, 205 (MXC_GPIO_PIN_15 | MXC_GPIO_PIN_16 | MXC_GPIO_PIN_17 | 206 MXC_GPIO_PIN_18 | MXC_GPIO_PIN_19 | MXC_GPIO_PIN_20), 207 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 208 const mxc_gpio_cfg_t gpio_cfg_sc1 = { MXC_GPIO0, 209 (MXC_GPIO_PIN_22 | MXC_GPIO_PIN_23 | MXC_GPIO_PIN_24 | 210 MXC_GPIO_PIN_25 | MXC_GPIO_PIN_26 | MXC_GPIO_PIN_27), 211 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 212 213 // Note that both P0 and P1 must be configured for proper operation 214 const mxc_gpio_cfg_t gpio_cfg_spixf = { MXC_GPIO1, 215 (MXC_GPIO_PIN_22 | MXC_GPIO_PIN_23 | MXC_GPIO_PIN_24 | 216 MXC_GPIO_PIN_25 | MXC_GPIO_PIN_26 | MXC_GPIO_PIN_27), 217 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_NONE, 218 MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 219 const mxc_gpio_cfg_t gpio_cfg_spixr_P0 = { 220 MXC_GPIO1, (MXC_GPIO_PIN_28 | MXC_GPIO_PIN_29 | MXC_GPIO_PIN_30 | MXC_GPIO_PIN_31), 221 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_PULL_UP 222 }; 223 const mxc_gpio_cfg_t gpio_cfg_spixr_P1 = { MXC_GPIO2, (MXC_GPIO_PIN_0 | MXC_GPIO_PIN_1), 224 MXC_GPIO_FUNC_ALT1, MXC_GPIO_PAD_PULL_UP }; 225 226 // Note that both P2a and P2b must be configured for proper operation 227 const mxc_gpio_cfg_t gpio_cfg_emac_P2a = { MXC_GPIO2, 0x000003FC, MXC_GPIO_FUNC_ALT4, 228 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 229 const mxc_gpio_cfg_t gpio_cfg_emac_P2b = { MXC_GPIO2, 0xFFE00000, MXC_GPIO_FUNC_ALT1, 230 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIO, MXC_GPIO_DRVSTR_0 }; 231 232 // Note that all of the following must be configured for proper operation 233 const mxc_gpio_cfg_t gpio_cfg_kbd_P2 = { MXC_GPIO2, 0x000003FC, MXC_GPIO_FUNC_ALT1, 234 MXC_GPIO_PAD_PULL_UP }; 235 236 // Note that both P0 and P1 must be configured for proper operation 237 const mxc_gpio_cfg_t gpio_cfg_pcif_P0_BITS_0_7 = { 238 MXC_GPIO0, 239 (MXC_GPIO_PIN_6 | MXC_GPIO_PIN_7 | MXC_GPIO_PIN_8 | MXC_GPIO_PIN_9 | MXC_GPIO_PIN_10 | 240 MXC_GPIO_PIN_11 | MXC_GPIO_PIN_12 | MXC_GPIO_PIN_13), 241 MXC_GPIO_FUNC_ALT2, MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIOH 242 }; 243 const mxc_gpio_cfg_t gpio_cfg_pcif_P0_BITS_8 = { MXC_GPIO0, (MXC_GPIO_PIN_14), MXC_GPIO_FUNC_ALT2, 244 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIOH, MXC_GPIO_DRVSTR_0}; 245 const mxc_gpio_cfg_t gpio_cfg_pcif_P1_BITS_9 = { MXC_GPIO1, (MXC_GPIO_PIN_14), MXC_GPIO_FUNC_ALT2, 246 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIOH, MXC_GPIO_DRVSTR_0}; 247 const mxc_gpio_cfg_t gpio_cfg_pcif_P1_BITS_10_11 = { MXC_GPIO1, (MXC_GPIO_PIN_1 | MXC_GPIO_PIN_15), 248 MXC_GPIO_FUNC_ALT2, MXC_GPIO_PAD_NONE, 249 MXC_GPIO_VSSEL_VDDIOH }; 250 const mxc_gpio_cfg_t gpio_cfg_pcif_hsync = { MXC_GPIO1, MXC_GPIO_PIN_2, MXC_GPIO_FUNC_ALT2, 251 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIOH, MXC_GPIO_DRVSTR_0}; 252 const mxc_gpio_cfg_t gpio_cfg_pcif_vsync = { MXC_GPIO1, MXC_GPIO_PIN_18, MXC_GPIO_FUNC_ALT4, 253 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIOH, MXC_GPIO_DRVSTR_0}; 254 const mxc_gpio_cfg_t gpio_cfg_pcif_pclk = { MXC_GPIO1, MXC_GPIO_PIN_19, MXC_GPIO_FUNC_ALT4, 255 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIOH, MXC_GPIO_DRVSTR_0}; 256 const mxc_gpio_cfg_t gpio_cfg_pcif_pwrdwn = { MXC_GPIO1, MXC_GPIO_PIN_21, MXC_GPIO_FUNC_OUT, 257 MXC_GPIO_PAD_NONE, MXC_GPIO_VSSEL_VDDIOH, MXC_GPIO_DRVSTR_0}; 258