VSF Documented
device_af.h
Go to the documentation of this file.
1// macro name foramt: VSF_HW_AF_{PERIPHERAL_NAME}[_MASTER/_SLAVE]_{PERIPHERAL_PIN_NAME}_P{PORT_INDEX}_{PIN_INDEX}
2// PERIPHERAL_NAME: USART/SPI/I2C/PWM/......
3// PERIPHERAL_PIN_NAME:
4// USART: CK/TX/RX/CTS/RTS/DE
5// SPI: MISO/MOSI/SCK/CS(NSS)
6// I2C: SDA/SCL/SMBA
7
8// For at32f405, __VSF_HW_AF_MODE_INPUT can be same value as __VSF_HW_AF_MODE_OUTPUT_PP or __VSF_HW_AF_MODE_OUTPUT_OD
9// So __VSF_HW_AF_MODE_OUTPUT_PP/__VSF_HW_AF_MODE_OUTPUT_OD will be used for __VSF_HW_AF_MODE_INPUT,
10// and there is no need to distinguish between master mode or slave mode.
11
12// Lower 8-bits if af value, higher 8-bits is af mode
13#define VSF_HW_GPIO_AF_VALUE_BITS 8
14#define VSF_HW_GPIO_AF_MODE_BITS 8
15
16#ifdef VSF_HW_USART_MASK
17
18#define VSF_HW_AF_MODE_USART_CK (__VSF_HW_AF_MODE_OUTPUT_PP << 8)
19#define VSF_HW_AF_MODE_USART_TX (__VSF_HW_AF_MODE_OUTPUT_PP << 8)
20#define VSF_HW_AF_MODE_USART_RX (__VSF_HW_AF_MODE_OUTPUT_PP << 8)
21#define VSF_HW_AF_MODE_USART_CTS (__VSF_HW_AF_MODE_OUTPUT_PP << 8)
22#define VSF_HW_AF_MODE_USART_RTS (__VSF_HW_AF_MODE_OUTPUT_PP << 8)
23#define VSF_HW_AF_MODE_USART_DE (__VSF_HW_AF_MODE_OUTPUT_PP << 8)
24
25#if VSF_HW_USART_MASK & (1 << 1)
26
27// remap for USART1
28
29#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 8))
30# define VSF_HW_AF_USART1_CK_P0_8 7 | VSF_HW_AF_MODE_USART_CK
31#endif
32#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 9))
33# define VSF_HW_AF_USART1_TX_P0_9 7 | VSF_HW_AF_MODE_USART_TX
34#endif
35#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 10))
36# define VSF_HW_AF_USART1_RX_P0_10 7 | VSF_HW_AF_MODE_USART_RX
37#endif
38#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 11))
39# define VSF_HW_AF_USART1_CTS_P0_11 7 | VSF_HW_AF_MODE_USART_CTS
40#endif
41#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 12))
42# define VSF_HW_AF_USART1_RTS_P0_12 7 | VSF_HW_AF_MODE_USART_RTS
43#endif
44#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 12))
45# define VSF_HW_AF_USART1_DE_P0_12 7 | VSF_HW_AF_MODE_USART_DE
46#endif
47#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 15))
48# define VSF_HW_AF_USART1_TX_P0_15 7 | VSF_HW_AF_MODE_USART_TX
49#endif
50
51#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 3))
52# define VSF_HW_AF_USART1_RX_P1_3 7 | VSF_HW_AF_MODE_USART_RX
53#endif
54#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 3))
55# define VSF_HW_AF_USART1_RTS_P1_3 8 | VSF_HW_AF_MODE_USART_RTS
56#endif
57#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 4))
58# define VSF_HW_AF_USART1_CTS_P1_4 7 | VSF_HW_AF_MODE_USART_CTS
59#endif
60#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 5))
61# define VSF_HW_AF_USART1_CK_P1_5 7 | VSF_HW_AF_MODE_USART_CK
62#endif
63#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 6))
64# define VSF_HW_AF_USART1_TX_P1_6 7 | VSF_HW_AF_MODE_USART_TX
65#endif
66#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 7))
67# define VSF_HW_AF_USART1_RX_P1_7 7 | VSF_HW_AF_MODE_USART_RX
68#endif
69#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 8))
70# define VSF_HW_AF_USART1_TX_P1_8 7 | VSF_HW_AF_MODE_USART_TX
71#endif
72
73#endif
74
75#if VSF_HW_USART_MASK & (1 << 2)
76
77// remap for USART2
78
79#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 0))
80# define VSF_HW_AF_USART2_RX_P0_0 6 | VSF_HW_AF_MODE_USART_RX
81#endif
82#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 0))
83# define VSF_HW_AF_USART2_CTS_P0_0 7 | VSF_HW_AF_MODE_USART_CTS
84#endif
85#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 1))
86# define VSF_HW_AF_USART2_RTS_P0_1 7 | VSF_HW_AF_MODE_USART_RTS
87#endif
88#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 1))
89# define VSF_HW_AF_USART2_DE_P0_1 7 | VSF_HW_AF_MODE_USART_DE
90#endif
91#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 2))
92# define VSF_HW_AF_USART2_TX_P0_2 7 | VSF_HW_AF_MODE_USART_TX
93#endif
94#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 3))
95# define VSF_HW_AF_USART2_RX_P0_3 7 | VSF_HW_AF_MODE_USART_RX
96#endif
97#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 4))
98# define VSF_HW_AF_USART2_CK_P0_4 7 | VSF_HW_AF_MODE_USART_CK
99#endif
100#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 8))
101# define VSF_HW_AF_USART2_TX_P0_8 8 | VSF_HW_AF_MODE_USART_TX
102#endif
103#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 14))
104# define VSF_HW_AF_USART2_TX_P0_14 8 | VSF_HW_AF_MODE_USART_TX
105#endif
106#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 15))
107# define VSF_HW_AF_USART2_RX_P0_15 8 | VSF_HW_AF_MODE_USART_RX
108#endif
109
110#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 0))
111# define VSF_HW_AF_USART2_TX_P1_0 7 | VSF_HW_AF_MODE_USART_TX
112#endif
113#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 1))
114# define VSF_HW_AF_USART2_CK_P1_1 7 | VSF_HW_AF_MODE_USART_CK
115#endif
116
117#endif
118
119#if VSF_HW_USART_MASK & (1 << 3)
120
121// remap for USART3
122
123#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 5))
124# define VSF_HW_AF_USART3_CK_P0_5 6 | VSF_HW_AF_MODE_USART_CK
125#endif
126#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 5))
127# define VSF_HW_AF_USART3_RX_P0_5 7 | VSF_HW_AF_MODE_USART_RX
128#endif
129#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 6))
130# define VSF_HW_AF_USART3_CTS_P0_6 7 | VSF_HW_AF_MODE_USART_CTS
131#endif
132#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 6))
133# define VSF_HW_AF_USART3_RX_P0_6 8 | VSF_HW_AF_MODE_USART_RX
134#endif
135#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 7))
136# define VSF_HW_AF_USART3_TX_P0_7 7 | VSF_HW_AF_MODE_USART_TX
137#endif
138
139#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 0))
140# define VSF_HW_AF_USART3_CK_P1_0 8 | VSF_HW_AF_MODE_USART_CK
141#endif
142#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 1))
143# define VSF_HW_AF_USART3_RTS_P1_1 8 | VSF_HW_AF_MODE_USART_RTS
144#endif
145#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 1))
146# define VSF_HW_AF_USART3_DE_P1_1 8 | VSF_HW_AF_MODE_USART_DE
147#endif
148#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 10))
149# define VSF_HW_AF_USART3_TX_P1_10 7 | VSF_HW_AF_MODE_USART_TX
150#endif
151#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 11))
152# define VSF_HW_AF_USART3_RX_P1_11 7 | VSF_HW_AF_MODE_USART_RX
153#endif
154#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 12))
155# define VSF_HW_AF_USART3_CK_P1_12 8 | VSF_HW_AF_MODE_USART_CK
156#endif
157#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 13))
158# define VSF_HW_AF_USART3_CTS_P1_13 8 | VSF_HW_AF_MODE_USART_CTS
159#endif
160#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 14))
161# define VSF_HW_AF_USART3_RTS_P1_14 7 | VSF_HW_AF_MODE_USART_RTS
162#endif
163#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 14))
164# define VSF_HW_AF_USART3_DE_P1_14 7 | VSF_HW_AF_MODE_USART_DE
165#endif
166
167#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 4))
168# define VSF_HW_AF_USART3_TX_P2_4 7 | VSF_HW_AF_MODE_USART_TX
169#endif
170#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 5))
171# define VSF_HW_AF_USART3_RX_P2_5 7 | VSF_HW_AF_MODE_USART_RX
172#endif
173#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 10))
174# define VSF_HW_AF_USART3_TX_P2_10 7 | VSF_HW_AF_MODE_USART_TX
175#endif
176#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 11))
177# define VSF_HW_AF_USART3_RX_P2_11 7 | VSF_HW_AF_MODE_USART_RX
178#endif
179#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 12))
180# define VSF_HW_AF_USART3_CK_P2_12 7 | VSF_HW_AF_MODE_USART_CK
181#endif
182
183#if defined(VSF_HW_GPIO_PORT3_MASK) && (VSF_HW_GPIO_PORT3_MASK & (1 << 2))
184# define VSF_HW_AF_USART3_RTS_P3_2 7 | VSF_HW_AF_MODE_USART_RTS
185#endif
186#if defined(VSF_HW_GPIO_PORT3_MASK) && (VSF_HW_GPIO_PORT3_MASK & (1 << 2))
187# define VSF_HW_AF_USART3_DE_P3_2 7 | VSF_HW_AF_MODE_USART_DE
188#endif
189
190#endif
191
192#if VSF_HW_USART_MASK & (1 << 4)
193
194// remap for USART4
195
196#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 0))
197# define VSF_HW_AF_USART4_TX_P0_0 8 | VSF_HW_AF_MODE_USART_TX
198#endif
199#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 1))
200# define VSF_HW_AF_USART4_RX_P0_1 8 | VSF_HW_AF_MODE_USART_RX
201#endif
202#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 15))
203# define VSF_HW_AF_USART4_RTS_P0_15 10 | VSF_HW_AF_MODE_USART_RTS
204#endif
205#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 15))
206# define VSF_HW_AF_USART4_DE_P0_15 10 | VSF_HW_AF_MODE_USART_DE
207#endif
208
209#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 6))
210# define VSF_HW_AF_USART4_CK_P1_6 10 | VSF_HW_AF_MODE_USART_CK
211#endif
212#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 7))
213# define VSF_HW_AF_USART4_CTS_P1_7 8 | VSF_HW_AF_MODE_USART_CTS
214#endif
215
216#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 10))
217# define VSF_HW_AF_USART4_TX_P2_10 8 | VSF_HW_AF_MODE_USART_TX
218#endif
219#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 11))
220# define VSF_HW_AF_USART4_RX_P2_11 8 | VSF_HW_AF_MODE_USART_RX
221#endif
222#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 12))
223# define VSF_HW_AF_USART4_CK_P2_12 8 | VSF_HW_AF_MODE_USART_CK
224#endif
225
226#endif
227
228#if VSF_HW_USART_MASK & (1 << 5)
229
230// remap for USART5
231
232#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 3))
233# define VSF_HW_AF_USART5_TX_P1_3 10 | VSF_HW_AF_MODE_USART_TX
234#endif
235#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 4))
236# define VSF_HW_AF_USART5_RX_P1_4 10 | VSF_HW_AF_MODE_USART_RX
237#endif
238#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 5))
239# define VSF_HW_AF_USART5_RX_P1_5 8 | VSF_HW_AF_MODE_USART_RX
240#endif
241#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 5))
242# define VSF_HW_AF_USART5_CK_P1_5 10 | VSF_HW_AF_MODE_USART_CK
243#endif
244#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 5))
245# define VSF_HW_AF_USART5_RTS_P1_5 10 | VSF_HW_AF_MODE_USART_RTS
246#endif
247#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 5))
248# define VSF_HW_AF_USART5_DE_P1_5 10 | VSF_HW_AF_MODE_USART_DE
249#endif
250#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 6))
251# define VSF_HW_AF_USART5_TX_P1_6 8 | VSF_HW_AF_MODE_USART_TX
252#endif
253#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 8))
254# define VSF_HW_AF_USART5_RX_P1_8 8 | VSF_HW_AF_MODE_USART_RX
255#endif
256#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 9))
257# define VSF_HW_AF_USART5_TX_P1_9 8 | VSF_HW_AF_MODE_USART_TX
258#endif
259
260#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 10))
261# define VSF_HW_AF_USART5_TX_P2_12 10 | VSF_HW_AF_MODE_USART_TX
262#endif
263
264#if defined(VSF_HW_GPIO_PORT3_MASK) && (VSF_HW_GPIO_PORT3_MASK & (1 << 8))
265# define VSF_HW_AF_USART5_RX_P3_2 8 | VSF_HW_AF_MODE_USART_RX
266#endif
267
268#endif
269
270#if VSF_HW_USART_MASK & (1 << 6)
271
272// remap for USART6
273
274#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 4))
275# define VSF_HW_AF_USART6_TX_P0_4 8 | VSF_HW_AF_MODE_USART_TX
276#endif
277#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 5))
278# define VSF_HW_AF_USART6_RX_P0_5 8 | VSF_HW_AF_MODE_USART_RX
279#endif
280#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 11))
281# define VSF_HW_AF_USART6_TX_P0_11 8 | VSF_HW_AF_MODE_USART_TX
282#endif
283#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 12))
284# define VSF_HW_AF_USART6_RX_P0_12 8 | VSF_HW_AF_MODE_USART_RX
285#endif
286
287#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 0))
288# define VSF_HW_AF_USART6_TX_P2_0 8 | VSF_HW_AF_MODE_USART_TX
289#endif
290#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 1))
291# define VSF_HW_AF_USART6_RX_P2_1 8 | VSF_HW_AF_MODE_USART_RX
292#endif
293#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 6))
294# define VSF_HW_AF_USART6_TX_P2_6 8 | VSF_HW_AF_MODE_USART_TX
295#endif
296#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 7))
297# define VSF_HW_AF_USART6_RX_P2_7 8 | VSF_HW_AF_MODE_USART_RX
298#endif
299#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 8))
300# define VSF_HW_AF_USART6_CK_P2_8 8 | VSF_HW_AF_MODE_USART_CK
301#endif
302#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 8))
303# define VSF_HW_AF_USART6_RTS_P2_8 8 | VSF_HW_AF_MODE_USART_RTS
304#endif
305#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 8))
306# define VSF_HW_AF_USART6_DE_P2_8 8 | VSF_HW_AF_MODE_USART_DE
307#endif
308
309#endif
310
311#if VSF_HW_USART_MASK & (1 << 7)
312
313// remap for USART7
314
315#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 8))
316# define VSF_HW_AF_USART7_TX_P0_8 9 | VSF_HW_AF_MODE_USART_TX
317#endif
318#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 15))
319# define VSF_HW_AF_USART7_TX_P0_15 9 | VSF_HW_AF_MODE_USART_TX
320#endif
321
322#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 3))
323# define VSF_HW_AF_USART7_RX_P1_3 9 | VSF_HW_AF_MODE_USART_RX
324#endif
325#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 4))
326# define VSF_HW_AF_USART7_TX_P1_4 9 | VSF_HW_AF_MODE_USART_TX
327#endif
328
329#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 0))
330# define VSF_HW_AF_USART7_TX_P2_0 9 | VSF_HW_AF_MODE_USART_TX
331#endif
332#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 1))
333# define VSF_HW_AF_USART7_RX_P2_1 9 | VSF_HW_AF_MODE_USART_RX
334#endif
335#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 6))
336# define VSF_HW_AF_USART7_TX_P2_6 9 | VSF_HW_AF_MODE_USART_TX
337#endif
338#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 7))
339# define VSF_HW_AF_USART7_RX_P2_7 9 | VSF_HW_AF_MODE_USART_RX
340#endif
341
342#if defined(VSF_HW_GPIO_PORT5_MASK) && (VSF_HW_GPIO_PORT5_MASK & (1 << 6))
343# define VSF_HW_AF_USART7_RX_P5_6 9 | VSF_HW_AF_MODE_USART_RX
344#endif
345#if defined(VSF_HW_GPIO_PORT5_MASK) && (VSF_HW_GPIO_PORT5_MASK & (1 << 7))
346# define VSF_HW_AF_USART7_TX_P5_7 9 | VSF_HW_AF_MODE_USART_TX
347#endif
348
349#endif
350
351#if VSF_HW_USART_MASK & (1 << 8)
352
353// remap for USART8
354
355#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 2))
356# define VSF_HW_AF_USART8_TX_P2_2 8 | VSF_HW_AF_MODE_USART_TX
357#endif
358#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 3))
359# define VSF_HW_AF_USART8_RX_P2_3 8 | VSF_HW_AF_MODE_USART_RX
360#endif
361#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 8))
362# define VSF_HW_AF_USART8_TX_P2_8 7 | VSF_HW_AF_MODE_USART_TX
363#endif
364#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 9))
365# define VSF_HW_AF_USART8_RX_P2_9 7 | VSF_HW_AF_MODE_USART_RX
366#endif
367
368#endif
369
370#endif // VSF_HW_USART_MASK
371
372#ifdef VSF_HW_SPI_MASK
373
374#define VSF_HW_AF_MODE_SPI_MOSI (__VSF_HW_AF_MODE_OUTPUT_PP << 8)
375#define VSF_HW_AF_MODE_SPI_MISO (__VSF_HW_AF_MODE_OUTPUT_PP << 8)
376#define VSF_HW_AF_MODE_SPI_SCK (__VSF_HW_AF_MODE_OUTPUT_PP << 8)
377#define VSF_HW_AF_MODE_SPI_CS (__VSF_HW_AF_MODE_OUTPUT_PP << 8)
378
379#if VSF_HW_SPI_MASK & (1 << 1)
380
381// remap for SPI1
382
383#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 4))
384# define VSF_HW_AF_SPI1_CS_P0_4 5 | VSF_HW_AF_MODE_SPI_CS
385#endif
386#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 5))
387# define VSF_HW_AF_SPI1_SCK_P0_5 5 | VSF_HW_AF_MODE_SPI_SCK
388#endif
389#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 6))
390# define VSF_HW_AF_SPI1_MISO_P0_6 5 | VSF_HW_AF_MODE_SPI_MISO
391#endif
392#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 7))
393# define VSF_HW_AF_SPI1_MOSI_P0_7 5 | VSF_HW_AF_MODE_SPI_MOSI
394#endif
395#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 15))
396# define VSF_HW_AF_SPI1_CS_P0_15 5 | VSF_HW_AF_MODE_SPI_CS
397#endif
398
399#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 0))
400# define VSF_HW_AF_SPI1_MISO_P1_0 5 | VSF_HW_AF_MODE_SPI_MISO
401#endif
402#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 1))
403# define VSF_HW_AF_SPI1_MOSI_P1_1 5 | VSF_HW_AF_MODE_SPI_MOSI
404#endif
405#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 3))
406# define VSF_HW_AF_SPI1_SCK_P1_3 5 | VSF_HW_AF_MODE_SPI_SCK
407#endif
408#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 4))
409# define VSF_HW_AF_SPI1_MISO_P1_4 5 | VSF_HW_AF_MODE_SPI_MISO
410#endif
411#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 5))
412# define VSF_HW_AF_SPI1_MOSI_P1_5 5 | VSF_HW_AF_MODE_SPI_MOSI
413#endif
414
415#endif
416
417#if VSF_HW_SPI_MASK & (1 << 2)
418
419// remap for SPI2
420
421#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 9))
422# define VSF_HW_AF_SPI2_SCK_P0_9 5 | VSF_HW_AF_MODE_SPI_SCK
423#endif
424#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 10))
425# define VSF_HW_AF_SPI2_MOSI_P0_10 5 | VSF_HW_AF_MODE_SPI_MOSI
426#endif
427#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 11))
428# define VSF_HW_AF_SPI2_CS_P0_11 5 | VSF_HW_AF_MODE_SPI_CS
429#endif
430#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 12))
431# define VSF_HW_AF_SPI2_MISO_P0_12 5 | VSF_HW_AF_MODE_SPI_MISO
432#endif
433
434#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 1))
435# define VSF_HW_AF_SPI2_SCK_P1_1 6 | VSF_HW_AF_MODE_SPI_SCK
436#endif
437#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 9))
438# define VSF_HW_AF_SPI2_CS_P1_9 5 | VSF_HW_AF_MODE_SPI_CS
439#endif
440#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 10))
441# define VSF_HW_AF_SPI2_SCK_P1_10 5 | VSF_HW_AF_MODE_SPI_SCK
442#endif
443#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 12))
444# define VSF_HW_AF_SPI2_CS_P1_12 5 | VSF_HW_AF_MODE_SPI_CS
445#endif
446#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 13))
447# define VSF_HW_AF_SPI2_SCK_P1_13 5 | VSF_HW_AF_MODE_SPI_SCK
448#endif
449#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 14))
450# define VSF_HW_AF_SPI2_MISO_P1_14 5 | VSF_HW_AF_MODE_SPI_MISO
451#endif
452#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 15))
453# define VSF_HW_AF_SPI2_MOSI_P1_15 5 | VSF_HW_AF_MODE_SPI_MOSI
454#endif
455
456#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 1))
457# define VSF_HW_AF_SPI2_MOSI_P2_1 6 | VSF_HW_AF_MODE_SPI_MOSI
458#endif
459#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 2))
460# define VSF_HW_AF_SPI2_MISO_P2_2 5 | VSF_HW_AF_MODE_SPI_MISO
461#endif
462#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 3))
463# define VSF_HW_AF_SPI2_MOSI_P2_3 5 | VSF_HW_AF_MODE_SPI_MOSI
464#endif
465#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 7))
466# define VSF_HW_AF_SPI2_SCK_P2_7 5 | VSF_HW_AF_MODE_SPI_SCK
467#endif
468
469#if defined(VSF_HW_GPIO_PORT5_MASK) && (VSF_HW_GPIO_PORT5_MASK & (1 << 1))
470# define VSF_HW_AF_SPI2_CS_P5_1 5 | VSF_HW_AF_MODE_SPI_CS
471#endif
472
473#endif
474
475#if VSF_HW_SPI_MASK & (1 << 3)
476
477// remap for SPI3
478
479#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 4))
480# define VSF_HW_AF_SPI3_CS_P0_4 6 | VSF_HW_AF_MODE_SPI_CS
481#endif
482#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 13))
483# define VSF_HW_AF_SPI3_MISO_P0_13 6 | VSF_HW_AF_MODE_SPI_MISO
484#endif
485#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 14))
486# define VSF_HW_AF_SPI3_MOSI_P0_14 6 | VSF_HW_AF_MODE_SPI_MOSI
487#endif
488#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 15))
489# define VSF_HW_AF_SPI3_CS_P0_15 6 | VSF_HW_AF_MODE_SPI_CS
490#endif
491
492#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 0))
493# define VSF_HW_AF_SPI3_MOSI_P1_0 6 | VSF_HW_AF_MODE_SPI_MOSI
494#endif
495#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 2))
496# define VSF_HW_AF_SPI3_MOSI_P1_2 6 | VSF_HW_AF_MODE_SPI_MOSI
497#endif
498#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 3))
499# define VSF_HW_AF_SPI3_SCK_P1_3 6 | VSF_HW_AF_MODE_SPI_SCK
500#endif
501#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 4))
502# define VSF_HW_AF_SPI3_MISO_P1_4 6 | VSF_HW_AF_MODE_SPI_MISO
503#endif
504#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 5))
505# define VSF_HW_AF_SPI3_MOSI_P1_5 6 | VSF_HW_AF_MODE_SPI_MOSI
506#endif
507#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 12))
508# define VSF_HW_AF_SPI3_SCK_P1_12 6 | VSF_HW_AF_MODE_SPI_SCK
509#endif
510
511#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 1))
512# define VSF_HW_AF_SPI3_MOSI_P2_1 5 | VSF_HW_AF_MODE_SPI_MOSI
513#endif
514#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 10))
515# define VSF_HW_AF_SPI3_SCK_P2_10 6 | VSF_HW_AF_MODE_SPI_SCK
516#endif
517#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 11))
518# define VSF_HW_AF_SPI3_MISO_P2_11 6 | VSF_HW_AF_MODE_SPI_MISO
519#endif
520#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 12))
521# define VSF_HW_AF_SPI3_MOSI_P2_12 6 | VSF_HW_AF_MODE_SPI_MOSI
522#endif
523
524#endif
525
526#endif
527
528#ifdef VSF_HW_I2C_MASK
529
530#define VSF_HW_AF_MODE_I2C_SDA (__VSF_HW_AF_MODE_OUTPUT_OD_PU << 8)
531#define VSF_HW_AF_MODE_I2C_SCL (__VSF_HW_AF_MODE_OUTPUT_OD_PU << 8)
532#define VSF_HW_AF_MODE_I2C_SMBA (__VSF_HW_AF_MODE_OUTPUT_OD_PU << 8)
533
534#if VSF_HW_I2C_MASK & (1 << 1)
535
536// remap for I2C1
537
538#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 1))
539# define VSF_HW_AF_I2C1_SMBA_P0_1 5 | VSF_HW_AF_MODE_I2C_SMBA
540#endif
541#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 4))
542# define VSF_HW_AF_I2C1_SCL_P0_4 4 | VSF_HW_AF_MODE_I2C_SCL
543#endif
544#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 9))
545# define VSF_HW_AF_I2C1_SCL_P0_9 8 | VSF_HW_AF_MODE_I2C_SCL
546#endif
547#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 10))
548# define VSF_HW_AF_I2C1_SDA_P0_10 8 | VSF_HW_AF_MODE_I2C_SDA
549#endif
550#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 11))
551# define VSF_HW_AF_I2C1_SMBA_P0_11 6 | VSF_HW_AF_MODE_I2C_SMBA
552#endif
553#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 13))
554# define VSF_HW_AF_I2C1_SDA_P0_13 4 | VSF_HW_AF_MODE_I2C_SDA
555#endif
556#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 14))
557# define VSF_HW_AF_I2C1_SMBA_P0_14 4 | VSF_HW_AF_MODE_I2C_SMBA
558#endif
559
560#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 6))
561# define VSF_HW_AF_I2C1_SCL_P1_6 4 | VSF_HW_AF_MODE_I2C_SCL
562#endif
563#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 7))
564# define VSF_HW_AF_I2C1_SDA_P1_7 4 | VSF_HW_AF_MODE_I2C_SDA
565#endif
566#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 8))
567# define VSF_HW_AF_I2C1_SCL_P1_8 4 | VSF_HW_AF_MODE_I2C_SCL
568#endif
569#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 9))
570# define VSF_HW_AF_I2C1_SDA_P1_9 4 | VSF_HW_AF_MODE_I2C_SDA
571#endif
572
573#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 0))
574# define VSF_HW_AF_I2C1_SCL_P2_0 7 | VSF_HW_AF_MODE_I2C_SCL
575#endif
576#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 1))
577# define VSF_HW_AF_I2C1_SDA_P2_1 7 | VSF_HW_AF_MODE_I2C_SDA
578#endif
579#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 5))
580# define VSF_HW_AF_I2C1_SMBA_P2_5 4 | VSF_HW_AF_MODE_I2C_SMBA
581#endif
582#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 6))
583# define VSF_HW_AF_I2C1_SCL_P2_6 4 | VSF_HW_AF_MODE_I2C_SCL
584#endif
585#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 7))
586# define VSF_HW_AF_I2C1_SDA_P2_7 4 | VSF_HW_AF_MODE_I2C_SDA
587#endif
588#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 9))
589# define VSF_HW_AF_I2C1_SDA_P2_9 8 | VSF_HW_AF_MODE_I2C_SDA
590#endif
591
592#if defined(VSF_HW_GPIO_PORT5_MASK) && (VSF_HW_GPIO_PORT5_MASK & (1 << 0))
593# define VSF_HW_AF_I2C1_SDA_P5_0 4 | VSF_HW_AF_MODE_I2C_SDA
594#endif
595#if defined(VSF_HW_GPIO_PORT5_MASK) && (VSF_HW_GPIO_PORT5_MASK & (1 << 1))
596# define VSF_HW_AF_I2C1_SCL_P5_1 4 | VSF_HW_AF_MODE_I2C_SCL
597#endif
598#if defined(VSF_HW_GPIO_PORT5_MASK) && (VSF_HW_GPIO_PORT5_MASK & (1 << 4))
599# define VSF_HW_AF_I2C1_SDA_P5_4 4 | VSF_HW_AF_MODE_I2C_SDA
600#endif
601#if defined(VSF_HW_GPIO_PORT5_MASK) && (VSF_HW_GPIO_PORT5_MASK & (1 << 5))
602# define VSF_HW_AF_I2C1_SCL_P5_5 4 | VSF_HW_AF_MODE_I2C_SCL
603#endif
604
605#endif
606
607#if VSF_HW_I2C_MASK & (1 << 2)
608
609// remap for I2C2
610
611#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 0))
612# define VSF_HW_AF_I2C2_SCL_P0_0 4 | VSF_HW_AF_MODE_I2C_SCL
613#endif
614#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 1))
615# define VSF_HW_AF_I2C2_SDA_P0_1 4 | VSF_HW_AF_MODE_I2C_SDA
616#endif
617#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 11))
618# define VSF_HW_AF_I2C2_SCL_P0_11 4 | VSF_HW_AF_MODE_I2C_SCL
619#endif
620#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 12))
621# define VSF_HW_AF_I2C2_SDA_P0_12 4 | VSF_HW_AF_MODE_I2C_SDA
622#endif
623
624#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 3))
625# define VSF_HW_AF_I2C2_SDA_P1_3 4 | VSF_HW_AF_MODE_I2C_SDA
626#endif
627#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 9))
628# define VSF_HW_AF_I2C2_SDA_P1_9 7 | VSF_HW_AF_MODE_I2C_SDA
629#endif
630#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 10))
631# define VSF_HW_AF_I2C2_SCL_P1_10 4 | VSF_HW_AF_MODE_I2C_SCL
632#endif
633#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 11))
634# define VSF_HW_AF_I2C2_SDA_P1_11 4 | VSF_HW_AF_MODE_I2C_SDA
635#endif
636#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 12))
637# define VSF_HW_AF_I2C2_SMBA_P1_12 4 | VSF_HW_AF_MODE_I2C_SMBA
638#endif
639
640#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 12))
641# define VSF_HW_AF_I2C2_SDA_P2_12 4 | VSF_HW_AF_MODE_I2C_SDA
642#endif
643
644#if defined(VSF_HW_GPIO_PORT5_MASK) && (VSF_HW_GPIO_PORT5_MASK & (1 << 6))
645# define VSF_HW_AF_I2C2_SCL_P5_6 4 | VSF_HW_AF_MODE_I2C_SCL
646#endif
647#if defined(VSF_HW_GPIO_PORT5_MASK) && (VSF_HW_GPIO_PORT5_MASK & (1 << 7))
648# define VSF_HW_AF_I2C2_SDA_P5_7 4 | VSF_HW_AF_MODE_I2C_SDA
649#endif
650
651#endif
652
653#if VSF_HW_I2C_MASK & (1 << 3)
654
655// remap for I2C3
656
657#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 7))
658# define VSF_HW_AF_I2C3_SCL_P0_7 4 | VSF_HW_AF_MODE_I2C_SCL
659#endif
660#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 8))
661# define VSF_HW_AF_I2C3_SCL_P0_8 4 | VSF_HW_AF_MODE_I2C_SCL
662#endif
663#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 9))
664# define VSF_HW_AF_I2C3_SMBA_P0_9 4 | VSF_HW_AF_MODE_I2C_SMBA
665#endif
666
667#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 2))
668# define VSF_HW_AF_I2C3_SMBA_P1_2 4 | VSF_HW_AF_MODE_I2C_SMBA
669#endif
670#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 4))
671# define VSF_HW_AF_I2C3_SDA_P1_4 4 | VSF_HW_AF_MODE_I2C_SDA
672#endif
673#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 5))
674# define VSF_HW_AF_I2C3_SMBA_P1_5 4 | VSF_HW_AF_MODE_I2C_SMBA
675#endif
676#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 13))
677# define VSF_HW_AF_I2C3_SMBA_P1_13 4 | VSF_HW_AF_MODE_I2C_SMBA
678#endif
679#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 13))
680# define VSF_HW_AF_I2C3_SCL_P1_13 7 | VSF_HW_AF_MODE_I2C_SCL
681#endif
682#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 14))
683# define VSF_HW_AF_I2C3_SDA_P1_14 4 | VSF_HW_AF_MODE_I2C_SDA
684#endif
685#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 15))
686# define VSF_HW_AF_I2C3_SCL_P1_15 4 | VSF_HW_AF_MODE_I2C_SCL
687#endif
688
689#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 0))
690# define VSF_HW_AF_I2C3_SCL_P2_0 4 | VSF_HW_AF_MODE_I2C_SCL
691#endif
692#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 1))
693# define VSF_HW_AF_I2C3_SDA_P2_1 4 | VSF_HW_AF_MODE_I2C_SDA
694#endif
695#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 9))
696# define VSF_HW_AF_I2C3_SDA_P2_9 4 | VSF_HW_AF_MODE_I2C_SDA
697#endif
698
699#endif
700
701#endif
702
703#if !defined(VSF_HW_USB_OTG_MASK) && defined(VSF_HW_USB_OTG_COUNT)
704# define VSF_HW_USB_OTG_MASK ((1 << VSF_HW_USB_OTG_COUNT) - 1)
705#endif
706
707#ifdef VSF_HW_USB_OTG_MASK
708#if VSF_HW_USB_OTG_MASK & (1 << 0)
709#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 8))
710# define VSF_HW_AF_OTG0_SOF_P0_8 10
711#endif
712#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 9))
713# define VSF_HW_AF_OTG0_VBUS_P0_9 10
714#endif
715#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 10))
716# define VSF_HW_AF_OTG0_ID_P0_10 10
717#endif
718#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 13))
719# define VSF_HW_AF_OTG0_OE_P0_13 10
720#endif
721#endif
722#if VSF_HW_USB_OTG_MASK & (1 << 1)
723#if defined(VSF_HW_GPIO_PORT0_MASK) && (VSF_HW_GPIO_PORT0_MASK & (1 << 4))
724# define VSF_HW_AF_OTG1_SOF_P0_4 10
725#endif
726#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 12))
727# define VSF_HW_AF_OTG1_ID_P1_12 10
728#endif
729#if defined(VSF_HW_GPIO_PORT1_MASK) && (VSF_HW_GPIO_PORT1_MASK & (1 << 13))
730# define VSF_HW_AF_OTG1_VBUS_P1_13 10
731#endif
732#if defined(VSF_HW_GPIO_PORT2_MASK) && (VSF_HW_GPIO_PORT2_MASK & (1 << 9))
733# define VSF_HW_AF_OTG1_OE_P2_9 10
734#endif
735#endif
736#endif
Generated from commit: vsfteam/vsf@8634e61