1 /* 2 * Copyright (c) 2021 Nordic Semiconductor ASA 3 * SPDX-License-Identifier: Apache-2.0 4 */ 5 6 #ifndef ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_TI_CC32XX_PINCTRL_H_ 7 #define ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_TI_CC32XX_PINCTRL_H_ 8 9 /* 10 * The whole TI CC32XX pin configuration information is encoded in a 32-bit 11 * bitfield organized as follows: 12 * 13 * - 31..22: Reserved 14 * - 21..16: Pin. 15 * - 15..10: Reserved. 16 * - 9: Pull-down flag. 17 * - 8: Pull-up flag. 18 * - 7..5: Drive strength. 19 * - 4: Enable open-drain flag. 20 * - 3..0: Configuration mode 21 * 22 * Note that the lower bits (11..0) map directly to the MEM_GPIO_PAD_CONFIG 23 * register. 24 */ 25 26 /** 27 * @name TI CC32XX pin configuration bit field positions and masks. 28 * @{ 29 */ 30 31 #define TI_CC32XX_PIN_MSK 0x3FU 32 #define TI_CC32XX_PIN_POS 16U 33 #define TI_CC32XX_MUX_MSK 0xFU 34 #define TI_CC32XX_MUX_POS 0U 35 36 /** @} */ 37 38 /** 39 * @brief Utility macro to build TI CC32XX pinmux property entry. 40 * 41 * @param pin Pin 42 * @param mux Multiplexer choice 43 */ 44 #define TI_CC32XX_PINMUX(pin, mux) \ 45 ((((pin)&TI_CC32XX_PIN_MSK) << TI_CC32XX_PIN_POS) | \ 46 (((mux)&TI_CC32XX_MUX_MSK) << TI_CC32XX_MUX_POS)) 47 48 /** 49 * @name TI CC32XX pinctrl pin functions (reference: SWRU465). 50 * @{ 51 */ 52 53 #define GPIO10_P1 TI_CC32XX_PINMUX(1U, 0U) 54 #define I2C_SCL_P1 TI_CC32XX_PINMUX(1U, 1U) 55 #define GT_PWM06_P1 TI_CC32XX_PINMUX(1U, 3U) 56 #define UART1_TX_P1 TI_CC32XX_PINMUX(1U, 7U) 57 #define SDCARD_CLK_P1 TI_CC32XX_PINMUX(1U, 6U) 58 #define GT_CCP01_P1 TI_CC32XX_PINMUX(1U, 12U) 59 60 #define GPIO11_P2 TI_CC32XX_PINMUX(2U, 0U) 61 #define I2C_SDA_P2 TI_CC32XX_PINMUX(2U, 1U) 62 #define GT_PWM07_P2 TI_CC32XX_PINMUX(2U, 3U) 63 #define PXCLK_P2 TI_CC32XX_PINMUX(2U, 4U) 64 #define SDCARD_CMD_P2 TI_CC32XX_PINMUX(2U, 6U) 65 #define UART1_RX_P2 TI_CC32XX_PINMUX(2U, 7U) 66 #define GT_CCP02_P2 TI_CC32XX_PINMUX(2U, 12U) 67 #define MCAFSX_P2 TI_CC32XX_PINMUX(2U, 13U) 68 69 #define GPIO12_P3 TI_CC32XX_PINMUX(3U, 0U) 70 #define MCACLK_P3 TI_CC32XX_PINMUX(3U, 3U) 71 #define PVS_P3 TI_CC32XX_PINMUX(3U, 4U) 72 #define I2C_SCL_P3 TI_CC32XX_PINMUX(3U, 5U) 73 #define UART0_TX_P3 TI_CC32XX_PINMUX(3U, 7U) 74 #define GT_CCP03_P3 TI_CC32XX_PINMUX(3U, 12U) 75 76 #define GPIO13_P4 TI_CC32XX_PINMUX(4U, 0U) 77 #define I2C_SDA_P4 TI_CC32XX_PINMUX(4U, 5U) 78 #define PHS_P4 TI_CC32XX_PINMUX(4U, 4U) 79 #define UART0_RX_P4 TI_CC32XX_PINMUX(4U, 7U) 80 #define GT_CCP04_P4 TI_CC32XX_PINMUX(4U, 12U) 81 82 #define GPIO14_P5 TI_CC32XX_PINMUX(5U, 0U) 83 #define I2C_SCL_P5 TI_CC32XX_PINMUX(5U, 5U) 84 #define GSPI_CLK_P5 TI_CC32XX_PINMUX(5U, 7U) 85 #define PDATA8_P5 TI_CC32XX_PINMUX(5U, 4U) 86 #define GT_CCP05_P5 TI_CC32XX_PINMUX(5U, 12U) 87 88 #define GPIO15_P6 TI_CC32XX_PINMUX(6U, 0U) 89 #define I2C_SDA_P6 TI_CC32XX_PINMUX(6U, 5U) 90 #define GSPI_MISO_P6 TI_CC32XX_PINMUX(6U, 7U) 91 #define PDATA9_P6 TI_CC32XX_PINMUX(6U, 4U) 92 #define SDCARD_DATA3_P6 TI_CC32XX_PINMUX(6U, 8U) 93 #define GT_CCP06_P6 TI_CC32XX_PINMUX(6U, 13U) 94 95 #define GPIO16_P7 TI_CC32XX_PINMUX(7U, 0U) 96 #define GSPI_MOSI_P7 TI_CC32XX_PINMUX(7U, 7U) 97 #define PDATA10_P7 TI_CC32XX_PINMUX(7U, 4U) 98 #define UART1_TX_P7 TI_CC32XX_PINMUX(7U, 5U) 99 #define SDCARD_CLK_P7 TI_CC32XX_PINMUX(7U, 8U) 100 #define GT_CCP07_P7 TI_CC32XX_PINMUX(7U, 13U) 101 102 #define GPIO17_P8 TI_CC32XX_PINMUX(8U, 0U) 103 #define UART1_RX_P8 TI_CC32XX_PINMUX(8U, 5U) 104 #define GSPI_CS_P8 TI_CC32XX_PINMUX(8U, 7U) 105 #define SDCARD_CMD_P8 TI_CC32XX_PINMUX(8U, 8U) 106 #define PDATA11_P8 TI_CC32XX_PINMUX(8U, 4U) 107 108 #define GPIO22_P15 TI_CC32XX_PINMUX(15U, 0U) 109 #define MCAFSX_P15 TI_CC32XX_PINMUX(15U, 7U) 110 #define GT_CCP04_P15 TI_CC32XX_PINMUX(15U, 5U) 111 112 #define GPIO23_P16 TI_CC32XX_PINMUX(16U, 0U) 113 #define TDI_P16 TI_CC32XX_PINMUX(16U, 1U) 114 #define UART1_TX_P16 TI_CC32XX_PINMUX(16U, 2U) 115 #define I2C_SCL_P16 TI_CC32XX_PINMUX(16U, 9U) 116 117 #define GPIO24_P17 TI_CC32XX_PINMUX(17U, 0U) 118 #define TDO_P17 TI_CC32XX_PINMUX(17U, 1U) 119 #define PWM0_P17 TI_CC32XX_PINMUX(17U, 5U) 120 #define UART1_RX_P17 TI_CC32XX_PINMUX(17U, 2U) 121 #define I2C_SDA_P17 TI_CC32XX_PINMUX(17U, 9U) 122 #define GT_CCP06_P17 TI_CC32XX_PINMUX(17U, 4U) 123 #define MCAFSX_P17 TI_CC32XX_PINMUX(17U, 6U) 124 125 #define GPIO28_P18 TI_CC32XX_PINMUX(18U, 0U) 126 127 #define TCK_P19 TI_CC32XX_PINMUX(19U, 1U) 128 #define GT_PWM03_P19 TI_CC32XX_PINMUX(19U, 8U) 129 130 #define GPIO29_P20 TI_CC32XX_PINMUX(20U, 0U) 131 #define TMS_P20 TI_CC32XX_PINMUX(20U, 1U) 132 133 #define GPIO25_P21 TI_CC32XX_PINMUX(21U, 0U) 134 #define GT_PWM02_P21 TI_CC32XX_PINMUX(21U, 9U) 135 #define MCASFX_P21 TI_CC32XX_PINMUX(21U, 2U) 136 137 #define ANTSEL1_P29 TI_CC32XX_PINMUX(29U, 0U) 138 139 #define ANTSEL2_P30 TI_CC32XX_PINMUX(30U, 0U) 140 141 #define GPIO31_P45 TI_CC32XX_PINMUX(45U, 0U) 142 #define UART0_RX_P45 TI_CC32XX_PINMUX(45U, 9U) 143 #define MCAFSX_P45 TI_CC32XX_PINMUX(45U, 12U) 144 #define UART1_RX_P45 TI_CC32XX_PINMUX(45U, 2U) 145 #define MCAXR0_P45 TI_CC32XX_PINMUX(45U, 6U) 146 #define GSPI_CLK_P45 TI_CC32XX_PINMUX(45U, 7U) 147 148 #define GPIO0_P50 TI_CC32XX_PINMUX(50U, 0U) 149 #define UART0_CTSN_P50 TI_CC32XX_PINMUX(50U, 12U) 150 #define MCAXR1_P50 TI_CC32XX_PINMUX(50U, 6U) 151 #define GT_CCP00_P50 TI_CC32XX_PINMUX(50U, 7U) 152 #define GSPI_CS_P50 TI_CC32XX_PINMUX(50U, 9U) 153 #define UART1_RTS_P50 TI_CC32XX_PINMUX(50U, 10U) 154 #define UART0_RTS_P50 TI_CC32XX_PINMUX(50U, 3U) 155 #define MCAXR0_P50 TI_CC32XX_PINMUX(50U, 4U) 156 157 #define GPIO32_P52 TI_CC32XX_PINMUX(52U, 0U) 158 #define MCACLK_P52 TI_CC32XX_PINMUX(52U, 2U) 159 #define MCAXR0_P52 TI_CC32XX_PINMUX(52U, 4U) 160 #define UART0_RTS_P52 TI_CC32XX_PINMUX(52U, 6U) 161 #define GSPI_MOSI_P52 TI_CC32XX_PINMUX(52U, 8U) 162 163 #define GPIO30_P53 TI_CC32XX_PINMUX(53U, 0U) 164 #define UART0_TX_P53 TI_CC32XX_PINMUX(53U, 9U) 165 #define MCACLK_P53 TI_CC32XX_PINMUX(53U, 2U) 166 #define MCAFSX_P53 TI_CC32XX_PINMUX(53U, 3U) 167 #define GT_CCP05_P53 TI_CC32XX_PINMUX(53U, 4U) 168 #define GSPI_MISO_P53 TI_CC32XX_PINMUX(53U, 7U) 169 170 #define GPIO1_P55 TI_CC32XX_PINMUX(55U, 0U) 171 #define UART0_TX_P55 TI_CC32XX_PINMUX(55U, 3U) 172 #define PCLK_P55 TI_CC32XX_PINMUX(55U, 4U) 173 #define UART1_TX_P55 TI_CC32XX_PINMUX(55U, 6U) 174 #define GT_CCP01_P55 TI_CC32XX_PINMUX(55U, 7U) 175 176 #define GPIO2_P57 TI_CC32XX_PINMUX(57U, 0U) 177 #define UART0_RX_P57 TI_CC32XX_PINMUX(57U, 3U) 178 #define UART1_RX_P57 TI_CC32XX_PINMUX(57U, 6U) 179 #define GT_CCP02_P57 TI_CC32XX_PINMUX(57U, 7U) 180 181 #define GPIO3_P58 TI_CC32XX_PINMUX(58U, 0U) 182 #define UART1_TX_P58 TI_CC32XX_PINMUX(58U, 6U) 183 #define PDATA7_P58 TI_CC32XX_PINMUX(58U, 7U) 184 185 #define GPIO5_P59 TI_CC32XX_PINMUX(59U, 0U) 186 #define UART1_RX_P59 TI_CC32XX_PINMUX(59U, 6U) 187 #define PDATA6_P59 TI_CC32XX_PINMUX(59U, 4U) 188 189 #define GPIO5_P60 TI_CC32XX_PINMUX(60U, 0U) 190 #define PDATA5_P60 TI_CC32XX_PINMUX(60U, 4U) 191 #define MCAXR1_P60 TI_CC32XX_PINMUX(60U, 6U) 192 #define GT_CCP05_P60 TI_CC32XX_PINMUX(60U, 7U) 193 194 #define GPIO6_P61 TI_CC32XX_PINMUX(61U, 0U) 195 #define UART0_RTS_P61 TI_CC32XX_PINMUX(61U, 5U) 196 #define PDATA4_P61 TI_CC32XX_PINMUX(61U, 4U) 197 #define UART1_CTS_P61 TI_CC32XX_PINMUX(61U, 3U) 198 #define UART0_CTS_P61 TI_CC32XX_PINMUX(61U, 6U) 199 #define GT_CCP06_P61 TI_CC32XX_PINMUX(61U, 7U) 200 201 #define GPIO7_P62 TI_CC32XX_PINMUX(62U, 0U) 202 #define MCACLKX_P62 TI_CC32XX_PINMUX(62U, 13U) 203 #define UART1_RTS_P62 TI_CC32XX_PINMUX(62U, 3U) 204 #define UART0_RTS_P62 TI_CC32XX_PINMUX(62U, 10U) 205 #define UART0_TX_P62 TI_CC32XX_PINMUX(62U, 11U) 206 207 #define GPIO8_P63 TI_CC32XX_PINMUX(63U, 0U) 208 #define SDCARD_IRQ_P63 TI_CC32XX_PINMUX(63U, 6U) 209 #define MCAFSX_P63 TI_CC32XX_PINMUX(63U, 7U) 210 #define GT_CCP06_P63 TI_CC32XX_PINMUX(63U, 12U) 211 212 #define GPIO9_P64 TI_CC32XX_PINMUX(64U, 0U) 213 #define GT_PWM05_P64 TI_CC32XX_PINMUX(64U, 3U) 214 #define SDCARD_DATA_P64 TI_CC32XX_PINMUX(64U, 6U) 215 #define MCAXR0_P64 TI_CC32XX_PINMUX(64U, 7U) 216 #define GT_CCP00_P64 TI_CC32XX_PINMUX(64U, 12U) 217 218 /** @} */ 219 220 #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_TI_CC32XX_PINCTRL_H_ */ 221