Line data Source code
1 0 : /*
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 0 : #define TI_CC32XX_PIN_MSK 0x3FU
32 0 : #define TI_CC32XX_PIN_POS 16U
33 0 : #define TI_CC32XX_MUX_MSK 0xFU
34 0 : #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 1 : #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 0 : #define GPIO10_P1 TI_CC32XX_PINMUX(1U, 0U)
54 0 : #define I2C_SCL_P1 TI_CC32XX_PINMUX(1U, 1U)
55 0 : #define GT_PWM06_P1 TI_CC32XX_PINMUX(1U, 3U)
56 0 : #define UART1_TX_P1 TI_CC32XX_PINMUX(1U, 7U)
57 0 : #define SDCARD_CLK_P1 TI_CC32XX_PINMUX(1U, 6U)
58 0 : #define GT_CCP01_P1 TI_CC32XX_PINMUX(1U, 12U)
59 :
60 0 : #define GPIO11_P2 TI_CC32XX_PINMUX(2U, 0U)
61 0 : #define I2C_SDA_P2 TI_CC32XX_PINMUX(2U, 1U)
62 0 : #define GT_PWM07_P2 TI_CC32XX_PINMUX(2U, 3U)
63 0 : #define PXCLK_P2 TI_CC32XX_PINMUX(2U, 4U)
64 0 : #define SDCARD_CMD_P2 TI_CC32XX_PINMUX(2U, 6U)
65 0 : #define UART1_RX_P2 TI_CC32XX_PINMUX(2U, 7U)
66 0 : #define GT_CCP02_P2 TI_CC32XX_PINMUX(2U, 12U)
67 0 : #define MCAFSX_P2 TI_CC32XX_PINMUX(2U, 13U)
68 :
69 0 : #define GPIO12_P3 TI_CC32XX_PINMUX(3U, 0U)
70 0 : #define MCACLK_P3 TI_CC32XX_PINMUX(3U, 3U)
71 0 : #define PVS_P3 TI_CC32XX_PINMUX(3U, 4U)
72 0 : #define I2C_SCL_P3 TI_CC32XX_PINMUX(3U, 5U)
73 0 : #define UART0_TX_P3 TI_CC32XX_PINMUX(3U, 7U)
74 0 : #define GT_CCP03_P3 TI_CC32XX_PINMUX(3U, 12U)
75 :
76 0 : #define GPIO13_P4 TI_CC32XX_PINMUX(4U, 0U)
77 0 : #define I2C_SDA_P4 TI_CC32XX_PINMUX(4U, 5U)
78 0 : #define PHS_P4 TI_CC32XX_PINMUX(4U, 4U)
79 0 : #define UART0_RX_P4 TI_CC32XX_PINMUX(4U, 7U)
80 0 : #define GT_CCP04_P4 TI_CC32XX_PINMUX(4U, 12U)
81 :
82 0 : #define GPIO14_P5 TI_CC32XX_PINMUX(5U, 0U)
83 0 : #define I2C_SCL_P5 TI_CC32XX_PINMUX(5U, 5U)
84 0 : #define GSPI_CLK_P5 TI_CC32XX_PINMUX(5U, 7U)
85 0 : #define PDATA8_P5 TI_CC32XX_PINMUX(5U, 4U)
86 0 : #define GT_CCP05_P5 TI_CC32XX_PINMUX(5U, 12U)
87 :
88 0 : #define GPIO15_P6 TI_CC32XX_PINMUX(6U, 0U)
89 0 : #define I2C_SDA_P6 TI_CC32XX_PINMUX(6U, 5U)
90 0 : #define GSPI_MISO_P6 TI_CC32XX_PINMUX(6U, 7U)
91 0 : #define PDATA9_P6 TI_CC32XX_PINMUX(6U, 4U)
92 0 : #define SDCARD_DATA3_P6 TI_CC32XX_PINMUX(6U, 8U)
93 0 : #define GT_CCP06_P6 TI_CC32XX_PINMUX(6U, 13U)
94 :
95 0 : #define GPIO16_P7 TI_CC32XX_PINMUX(7U, 0U)
96 0 : #define GSPI_MOSI_P7 TI_CC32XX_PINMUX(7U, 7U)
97 0 : #define PDATA10_P7 TI_CC32XX_PINMUX(7U, 4U)
98 0 : #define UART1_TX_P7 TI_CC32XX_PINMUX(7U, 5U)
99 0 : #define SDCARD_CLK_P7 TI_CC32XX_PINMUX(7U, 8U)
100 0 : #define GT_CCP07_P7 TI_CC32XX_PINMUX(7U, 13U)
101 :
102 0 : #define GPIO17_P8 TI_CC32XX_PINMUX(8U, 0U)
103 0 : #define UART1_RX_P8 TI_CC32XX_PINMUX(8U, 5U)
104 0 : #define GSPI_CS_P8 TI_CC32XX_PINMUX(8U, 7U)
105 0 : #define SDCARD_CMD_P8 TI_CC32XX_PINMUX(8U, 8U)
106 0 : #define PDATA11_P8 TI_CC32XX_PINMUX(8U, 4U)
107 :
108 0 : #define GPIO22_P15 TI_CC32XX_PINMUX(15U, 0U)
109 0 : #define MCAFSX_P15 TI_CC32XX_PINMUX(15U, 7U)
110 0 : #define GT_CCP04_P15 TI_CC32XX_PINMUX(15U, 5U)
111 :
112 0 : #define GPIO23_P16 TI_CC32XX_PINMUX(16U, 0U)
113 0 : #define TDI_P16 TI_CC32XX_PINMUX(16U, 1U)
114 0 : #define UART1_TX_P16 TI_CC32XX_PINMUX(16U, 2U)
115 0 : #define I2C_SCL_P16 TI_CC32XX_PINMUX(16U, 9U)
116 :
117 0 : #define GPIO24_P17 TI_CC32XX_PINMUX(17U, 0U)
118 0 : #define TDO_P17 TI_CC32XX_PINMUX(17U, 1U)
119 0 : #define PWM0_P17 TI_CC32XX_PINMUX(17U, 5U)
120 0 : #define UART1_RX_P17 TI_CC32XX_PINMUX(17U, 2U)
121 0 : #define I2C_SDA_P17 TI_CC32XX_PINMUX(17U, 9U)
122 0 : #define GT_CCP06_P17 TI_CC32XX_PINMUX(17U, 4U)
123 0 : #define MCAFSX_P17 TI_CC32XX_PINMUX(17U, 6U)
124 :
125 0 : #define GPIO28_P18 TI_CC32XX_PINMUX(18U, 0U)
126 :
127 0 : #define TCK_P19 TI_CC32XX_PINMUX(19U, 1U)
128 0 : #define GT_PWM03_P19 TI_CC32XX_PINMUX(19U, 8U)
129 :
130 0 : #define GPIO29_P20 TI_CC32XX_PINMUX(20U, 0U)
131 0 : #define TMS_P20 TI_CC32XX_PINMUX(20U, 1U)
132 :
133 0 : #define GPIO25_P21 TI_CC32XX_PINMUX(21U, 0U)
134 0 : #define GT_PWM02_P21 TI_CC32XX_PINMUX(21U, 9U)
135 0 : #define MCASFX_P21 TI_CC32XX_PINMUX(21U, 2U)
136 :
137 0 : #define ANTSEL1_P29 TI_CC32XX_PINMUX(29U, 0U)
138 :
139 0 : #define ANTSEL2_P30 TI_CC32XX_PINMUX(30U, 0U)
140 :
141 0 : #define GPIO31_P45 TI_CC32XX_PINMUX(45U, 0U)
142 0 : #define UART0_RX_P45 TI_CC32XX_PINMUX(45U, 9U)
143 0 : #define MCAFSX_P45 TI_CC32XX_PINMUX(45U, 12U)
144 0 : #define UART1_RX_P45 TI_CC32XX_PINMUX(45U, 2U)
145 0 : #define MCAXR0_P45 TI_CC32XX_PINMUX(45U, 6U)
146 0 : #define GSPI_CLK_P45 TI_CC32XX_PINMUX(45U, 7U)
147 :
148 0 : #define GPIO0_P50 TI_CC32XX_PINMUX(50U, 0U)
149 0 : #define UART0_CTSN_P50 TI_CC32XX_PINMUX(50U, 12U)
150 0 : #define MCAXR1_P50 TI_CC32XX_PINMUX(50U, 6U)
151 0 : #define GT_CCP00_P50 TI_CC32XX_PINMUX(50U, 7U)
152 0 : #define GSPI_CS_P50 TI_CC32XX_PINMUX(50U, 9U)
153 0 : #define UART1_RTS_P50 TI_CC32XX_PINMUX(50U, 10U)
154 0 : #define UART0_RTS_P50 TI_CC32XX_PINMUX(50U, 3U)
155 0 : #define MCAXR0_P50 TI_CC32XX_PINMUX(50U, 4U)
156 :
157 0 : #define GPIO32_P52 TI_CC32XX_PINMUX(52U, 0U)
158 0 : #define MCACLK_P52 TI_CC32XX_PINMUX(52U, 2U)
159 0 : #define MCAXR0_P52 TI_CC32XX_PINMUX(52U, 4U)
160 0 : #define UART0_RTS_P52 TI_CC32XX_PINMUX(52U, 6U)
161 0 : #define GSPI_MOSI_P52 TI_CC32XX_PINMUX(52U, 8U)
162 :
163 0 : #define GPIO30_P53 TI_CC32XX_PINMUX(53U, 0U)
164 0 : #define UART0_TX_P53 TI_CC32XX_PINMUX(53U, 9U)
165 0 : #define MCACLK_P53 TI_CC32XX_PINMUX(53U, 2U)
166 0 : #define MCAFSX_P53 TI_CC32XX_PINMUX(53U, 3U)
167 0 : #define GT_CCP05_P53 TI_CC32XX_PINMUX(53U, 4U)
168 0 : #define GSPI_MISO_P53 TI_CC32XX_PINMUX(53U, 7U)
169 :
170 0 : #define GPIO1_P55 TI_CC32XX_PINMUX(55U, 0U)
171 0 : #define UART0_TX_P55 TI_CC32XX_PINMUX(55U, 3U)
172 0 : #define PCLK_P55 TI_CC32XX_PINMUX(55U, 4U)
173 0 : #define UART1_TX_P55 TI_CC32XX_PINMUX(55U, 6U)
174 0 : #define GT_CCP01_P55 TI_CC32XX_PINMUX(55U, 7U)
175 :
176 0 : #define GPIO2_P57 TI_CC32XX_PINMUX(57U, 0U)
177 0 : #define UART0_RX_P57 TI_CC32XX_PINMUX(57U, 3U)
178 0 : #define UART1_RX_P57 TI_CC32XX_PINMUX(57U, 6U)
179 0 : #define GT_CCP02_P57 TI_CC32XX_PINMUX(57U, 7U)
180 :
181 0 : #define GPIO3_P58 TI_CC32XX_PINMUX(58U, 0U)
182 0 : #define UART1_TX_P58 TI_CC32XX_PINMUX(58U, 6U)
183 0 : #define PDATA7_P58 TI_CC32XX_PINMUX(58U, 7U)
184 :
185 0 : #define GPIO5_P59 TI_CC32XX_PINMUX(59U, 0U)
186 0 : #define UART1_RX_P59 TI_CC32XX_PINMUX(59U, 6U)
187 0 : #define PDATA6_P59 TI_CC32XX_PINMUX(59U, 4U)
188 :
189 0 : #define GPIO5_P60 TI_CC32XX_PINMUX(60U, 0U)
190 0 : #define PDATA5_P60 TI_CC32XX_PINMUX(60U, 4U)
191 0 : #define MCAXR1_P60 TI_CC32XX_PINMUX(60U, 6U)
192 0 : #define GT_CCP05_P60 TI_CC32XX_PINMUX(60U, 7U)
193 :
194 0 : #define GPIO6_P61 TI_CC32XX_PINMUX(61U, 0U)
195 0 : #define UART0_RTS_P61 TI_CC32XX_PINMUX(61U, 5U)
196 0 : #define PDATA4_P61 TI_CC32XX_PINMUX(61U, 4U)
197 0 : #define UART1_CTS_P61 TI_CC32XX_PINMUX(61U, 3U)
198 0 : #define UART0_CTS_P61 TI_CC32XX_PINMUX(61U, 6U)
199 0 : #define GT_CCP06_P61 TI_CC32XX_PINMUX(61U, 7U)
200 :
201 0 : #define GPIO7_P62 TI_CC32XX_PINMUX(62U, 0U)
202 0 : #define MCACLKX_P62 TI_CC32XX_PINMUX(62U, 13U)
203 0 : #define UART1_RTS_P62 TI_CC32XX_PINMUX(62U, 3U)
204 0 : #define UART0_RTS_P62 TI_CC32XX_PINMUX(62U, 10U)
205 0 : #define UART0_TX_P62 TI_CC32XX_PINMUX(62U, 11U)
206 :
207 0 : #define GPIO8_P63 TI_CC32XX_PINMUX(63U, 0U)
208 0 : #define SDCARD_IRQ_P63 TI_CC32XX_PINMUX(63U, 6U)
209 0 : #define MCAFSX_P63 TI_CC32XX_PINMUX(63U, 7U)
210 0 : #define GT_CCP06_P63 TI_CC32XX_PINMUX(63U, 12U)
211 :
212 0 : #define GPIO9_P64 TI_CC32XX_PINMUX(64U, 0U)
213 0 : #define GT_PWM05_P64 TI_CC32XX_PINMUX(64U, 3U)
214 0 : #define SDCARD_DATA_P64 TI_CC32XX_PINMUX(64U, 6U)
215 0 : #define MCAXR0_P64 TI_CC32XX_PINMUX(64U, 7U)
216 0 : #define GT_CCP00_P64 TI_CC32XX_PINMUX(64U, 12U)
217 :
218 : /** @} */
219 :
220 : #endif /* ZEPHYR_INCLUDE_DT_BINDINGS_PINCTRL_TI_CC32XX_PINCTRL_H_ */
|