Choco OS  V.0.16.9.0
Join to the chocolate world
oc_pins_defs.h
1 
28 #ifndef SYSTEM_PORTABLE_INC_ST_STM32F7_STM32F746NGH6_OC_PINS_DEFS_H_
29 #define SYSTEM_PORTABLE_INC_ST_STM32F7_STM32F746NGH6_OC_PINS_DEFS_H_
30 
31 #include <oc_1word.h>
32 
33 #define oC_PORT_WIDTH 16ULL
34 #define oC_ALTERNATE_NUMBER_FIELD_WIDTH 4ULL
35 #define oC_MODULE_PIN_FUNCTION_WIDTH 4ULL
36 
37 //==========================================================================================================================================
50 //==========================================================================================================================================
51 #define oC_PINS_LIST(MAKE_PIN)\
52  /* The A Row */ \
53  MAKE_PIN( PORTE , PE4 , 4 , A1 )\
54  MAKE_PIN( PORTE , PE3 , 3 , A2 )\
55  MAKE_PIN( PORTE , PE2 , 2 , A3 )\
56  MAKE_PIN( PORTG , PG14 , 14 , A4 )\
57  MAKE_PIN( PORTE , PE1 , 1 , A5 )\
58  MAKE_PIN( PORTE , PE0 , 0 , A6 )\
59  MAKE_PIN( PORTB , PB8 , 8 , A7 )\
60  MAKE_PIN( PORTB , PB5 , 5 , A8 )\
61  MAKE_PIN( PORTB , PB4 , 4 , A9 )\
62  MAKE_PIN( PORTB , PB3 , 3 , A10 )\
63  MAKE_PIN( PORTD , PD7 , 7 , A11 )\
64  MAKE_PIN( PORTC , PC12 , 12 , A12 )\
65  MAKE_PIN( PORTA , PA15 , 15 , A13 )\
66  MAKE_PIN( PORTA , PA14 , 14 , A14 )\
67  MAKE_PIN( PORTA , PA13 , 13 , A15 )\
68  /* The B Row */ \
69  MAKE_PIN( PORTE , PE5 , 5 , B1 )\
70  MAKE_PIN( PORTE , PE6 , 6 , B2 )\
71  MAKE_PIN( PORTG , PG13 , 13 , B3 )\
72  MAKE_PIN( PORTB , PB9 , 9 , B4 )\
73  MAKE_PIN( PORTB , PB7 , 7 , B5 )\
74  MAKE_PIN( PORTB , PB6 , 6 , B6 )\
75  MAKE_PIN( PORTG , PG15 , 15 , B7 )\
76  MAKE_PIN( PORTG , PG11 , 11 , B8 )\
77  MAKE_PIN( PORTJ , PJ13 , 13 , B9 )\
78  MAKE_PIN( PORTJ , PJ12 , 12 , B10 )\
79  MAKE_PIN( PORTD , PD6 , 6 , B11 )\
80  MAKE_PIN( PORTD , PD0 , 0 , B12 )\
81  MAKE_PIN( PORTC , PC11 , 11 , B13 )\
82  MAKE_PIN( PORTC , PC10 , 10 , B14 )\
83  MAKE_PIN( PORTA , PA12 , 12 , B15 )\
84  /* The C Row */ \
85  MAKE_PIN( PORTI , PI8 , 8 , C2 )\
86  MAKE_PIN( PORTI , PI4 , 4 , C3 )\
87  MAKE_PIN( PORTK , PK7 , 7 , C4 )\
88  MAKE_PIN( PORTK , PK6 , 6 , C5 )\
89  MAKE_PIN( PORTK , PK5 , 5 , C6 )\
90  MAKE_PIN( PORTG , PG12 , 12 , C7 )\
91  MAKE_PIN( PORTG , PG10 , 10 , C8 )\
92  MAKE_PIN( PORTJ , PJ14 , 14 , C9 )\
93  MAKE_PIN( PORTD , PD5 , 5 , C10 )\
94  MAKE_PIN( PORTD , PD3 , 3 , C11 )\
95  MAKE_PIN( PORTD , PD1 , 1 , C12 )\
96  MAKE_PIN( PORTI , PI3 , 3 , C13 )\
97  MAKE_PIN( PORTI , PI2 , 2 , C14 )\
98  MAKE_PIN( PORTA , PA11 , 11 , C15 )\
99  /* The D Row */ \
100  MAKE_PIN( PORTC , PC13 , 13 , D1 )\
101  MAKE_PIN( PORTF , PF0 , 0 , D2 )\
102  MAKE_PIN( PORTI , PI5 , 5 , D3 )\
103  MAKE_PIN( PORTI , PI7 , 7 , D4 )\
104  MAKE_PIN( PORTI , PI10 , 10 , D5 )\
105  MAKE_PIN( PORTI , PI6 , 6 , D6 )\
106  MAKE_PIN( PORTK , PK4 , 4 , D7 )\
107  MAKE_PIN( PORTK , PK3 , 3 , D8 )\
108  MAKE_PIN( PORTG , PG9 , 9 , D9 )\
109  MAKE_PIN( PORTJ , PJ15 , 15 , D10 )\
110  MAKE_PIN( PORTD , PD4 , 4 , D11 )\
111  MAKE_PIN( PORTD , PD2 , 2 , D12 )\
112  MAKE_PIN( PORTH , PH15 , 15 , D13 )\
113  MAKE_PIN( PORTI , PI1 , 1 , D14 )\
114  MAKE_PIN( PORTA , PA10 , 10 , D15 )\
115  /* The E Row */ \
116  MAKE_PIN( PORTC , PC14 , 14 , E1 )\
117  MAKE_PIN( PORTF , PF1 , 1 , E2 )\
118  MAKE_PIN( PORTI , PI12 , 12 , E3 )\
119  MAKE_PIN( PORTI , PI9 , 9 , E4 )\
120  MAKE_PIN( PORTH , PH13 , 13 , E12 )\
121  MAKE_PIN( PORTH , PH14 , 14 , E13 )\
122  MAKE_PIN( PORTI , PI0 , 0 , E14 )\
123  MAKE_PIN( PORTA , PA9 , 9 , E15 )\
124  /* The F Row */ \
125  MAKE_PIN( PORTC , PC15 , 15 , F1 )\
126  MAKE_PIN( PORTI , PI11 , 11 , F3 )\
127  MAKE_PIN( PORTK , PK1 , 1 , F12 )\
128  MAKE_PIN( PORTK , PK2 , 2 , F13 )\
129  MAKE_PIN( PORTC , PC9 , 9 , F14 )\
130  MAKE_PIN( PORTA , PA8 , 8 , F15 )\
131  /* The G Row */ \
132  MAKE_PIN( PORTH , PH0 , 0 , G1 )\
133  MAKE_PIN( PORTF , PF2 , 2 , G2 )\
134  MAKE_PIN( PORTI , PI13 , 13 , G3 )\
135  MAKE_PIN( PORTI , PI15 , 15 , G4 )\
136  MAKE_PIN( PORTJ , PJ11 , 11 , G12 )\
137  MAKE_PIN( PORTK , PK0 , 0 , G13 )\
138  MAKE_PIN( PORTC , PC8 , 8 , G14 )\
139  MAKE_PIN( PORTC , PC7 , 7 , G15 )\
140  /* The H Row */ \
141  MAKE_PIN( PORTH , PH1 , 1 , H1 )\
142  MAKE_PIN( PORTF , PF3 , 3 , H2 )\
143  MAKE_PIN( PORTI , PI14 , 14 , H3 )\
144  MAKE_PIN( PORTH , PH4 , 4 , H4 )\
145  MAKE_PIN( PORTJ , PJ8 , 8 , H12 )\
146  MAKE_PIN( PORTJ , PJ10 , 10 , H13 )\
147  MAKE_PIN( PORTG , PG8 , 8 , H14 )\
148  MAKE_PIN( PORTC , PC6 , 6 , H15 )\
149  /* The J Row */ \
150  MAKE_PIN( PORTF , PF4 , 4 , J2 )\
151  MAKE_PIN( PORTH , PH5 , 5 , J3 )\
152  MAKE_PIN( PORTH , PH3 , 3 , J4 )\
153  MAKE_PIN( PORTJ , PJ7 , 7 , J12 )\
154  MAKE_PIN( PORTJ , PJ9 , 9 , J13 )\
155  MAKE_PIN( PORTG , PG7 , 7 , J14 )\
156  MAKE_PIN( PORTG , PG6 , 6 , J15 )\
157  /* The K Row */ \
158  MAKE_PIN( PORTF , PF7 , 7 , K1 )\
159  MAKE_PIN( PORTF , PF6 , 6 , K2 )\
160  MAKE_PIN( PORTF , PF5 , 5 , K3 )\
161  MAKE_PIN( PORTH , PH2 , 2 , K4 )\
162  MAKE_PIN( PORTJ , PJ6 , 6 , K12 )\
163  MAKE_PIN( PORTD , PD15 , 15 , K13 )\
164  MAKE_PIN( PORTB , PB13 , 13 , K14 )\
165  MAKE_PIN( PORTD , PD10 , 10 , K15 )\
166  /* The L Row */ \
167  MAKE_PIN( PORTF , PF10 , 10 , L1 )\
168  MAKE_PIN( PORTF , PF9 , 9 , L2 )\
169  MAKE_PIN( PORTF , PF8 , 8 , L3 )\
170  MAKE_PIN( PORTC , PC3 , 3 , L4 )\
171  MAKE_PIN( PORTD , PD14 , 14 , L12 )\
172  MAKE_PIN( PORTB , PB12 , 12 , L13 )\
173  MAKE_PIN( PORTD , PD9 , 9 , L14 )\
174  MAKE_PIN( PORTD , PD8 , 8 , L15 )\
175  /* The M Row */ \
176  MAKE_PIN( PORTC , PC0 , 0 , M2 )\
177  MAKE_PIN( PORTC , PC1 , 1 , M3 )\
178  MAKE_PIN( PORTC , PC2 , 2 , M4 )\
179  MAKE_PIN( PORTB , PB2 , 2 , M5 )\
180  MAKE_PIN( PORTF , PF12 , 12 , M6 )\
181  MAKE_PIN( PORTG , PG1 , 1 , M7 )\
182  MAKE_PIN( PORTF , PF15 , 15 , M8 )\
183  MAKE_PIN( PORTJ , PJ4 , 4 , M9 )\
184  MAKE_PIN( PORTD , PD12 , 12 , M10 )\
185  MAKE_PIN( PORTD , PD13 , 13 , M11 )\
186  MAKE_PIN( PORTG , PG3 , 3 , M12 )\
187  MAKE_PIN( PORTG , PG2 , 2 , M13 )\
188  MAKE_PIN( PORTJ , PJ5 , 5 , M14 )\
189  MAKE_PIN( PORTH , PH12 , 12 , M15 )\
190  /* The N Row */ \
191  MAKE_PIN( PORTA , PA1 , 1 , N2 )\
192  MAKE_PIN( PORTA , PA0 , 0 , N3 )\
193  MAKE_PIN( PORTA , PA4 , 4 , N4 )\
194  MAKE_PIN( PORTC , PC4 , 4 , N5 )\
195  MAKE_PIN( PORTF , PF13 , 13 , N6 )\
196  MAKE_PIN( PORTG , PG0 , 0 , N7 )\
197  MAKE_PIN( PORTJ , PJ3 , 3 , N8 )\
198  MAKE_PIN( PORTE , PE8 , 8 , N9 )\
199  MAKE_PIN( PORTD , PD11 , 11 , N10 )\
200  MAKE_PIN( PORTG , PG5 , 5 , N11 )\
201  MAKE_PIN( PORTG , PG4 , 4 , N12 )\
202  MAKE_PIN( PORTH , PH7 , 7 , N13 )\
203  MAKE_PIN( PORTH , PH9 , 9 , N14 )\
204  MAKE_PIN( PORTH , PH11 , 11 , N15 )\
205  /* The P Row */ \
206  MAKE_PIN( PORTA , PA2 , 2 , P2 )\
207  MAKE_PIN( PORTA , PA6 , 6 , P3 )\
208  MAKE_PIN( PORTA , PA5 , 5 , P4 )\
209  MAKE_PIN( PORTC , PC5 , 5 , P5 )\
210  MAKE_PIN( PORTF , PF14 , 14 , P6 )\
211  MAKE_PIN( PORTJ , PJ2 , 2 , P7 )\
212  MAKE_PIN( PORTF , PF11 , 11 , P8 )\
213  MAKE_PIN( PORTE , PE9 , 9 , P9 )\
214  MAKE_PIN( PORTE , PE11 , 11 , P10 )\
215  MAKE_PIN( PORTE , PE14 , 14 , P11 )\
216  MAKE_PIN( PORTB , PB10 , 10 , P12 )\
217  MAKE_PIN( PORTH , PH6 , 6 , P13 )\
218  MAKE_PIN( PORTH , PH8 , 8 , P14 )\
219  MAKE_PIN( PORTH , PH10 , 10 , P15 )\
220  /* The R Row */ \
221  MAKE_PIN( PORTA , PA3 , 3 , R2 )\
222  MAKE_PIN( PORTA , PA7 , 7 , R3 )\
223  MAKE_PIN( PORTB , PB1 , 1 , R4 )\
224  MAKE_PIN( PORTB , PB0 , 0 , R5 )\
225  MAKE_PIN( PORTJ , PJ0 , 0 , R6 )\
226  MAKE_PIN( PORTJ , PJ1 , 1 , R7 )\
227  MAKE_PIN( PORTE , PE7 , 7 , R8 )\
228  MAKE_PIN( PORTE , PE10 , 10 , R9 )\
229  MAKE_PIN( PORTE , PE12 , 12 , R10 )\
230  MAKE_PIN( PORTE , PE15 , 15 , R11 )\
231  MAKE_PIN( PORTE , PE13 , 13 , R12 )\
232  MAKE_PIN( PORTB , PB11 , 11 , R13 )\
233  MAKE_PIN( PORTB , PB14 , 14 , R14 )\
234  MAKE_PIN( PORTB , PB15 , 15 , R15 )\
235 
236 #define oC_MODULE_PIN_FUNCTIONS_(MODULE_NAME) oC_1WORD_FROM_2(oC_MODULE_PIN_FUNCTIONS_ , MODULE_NAME)
237 
238 #define oC_MODULE_PINS_(MODULE_NAME) oC_1WORD_FROM_2(oC_MODULE_PINS_ , MODULE_NAME)
239 
240 // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
241 /*
242  * PINS OF THE LCDTFT MODULE
243  */
244 // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
245 
246 
247 #define oC_MODULE_PIN_FUNCTIONS_LCDTFT(MAKE_PIN_FUNCTION) \
248  MAKE_PIN_FUNCTION(LCD_R0)\
249  MAKE_PIN_FUNCTION(LCD_R1)\
250  MAKE_PIN_FUNCTION(LCD_R2)\
251  MAKE_PIN_FUNCTION(LCD_R3)\
252  MAKE_PIN_FUNCTION(LCD_R4)\
253  MAKE_PIN_FUNCTION(LCD_R5)\
254  MAKE_PIN_FUNCTION(LCD_R6)\
255  MAKE_PIN_FUNCTION(LCD_R7)\
256  MAKE_PIN_FUNCTION(LCD_G0)\
257  MAKE_PIN_FUNCTION(LCD_G1)\
258  MAKE_PIN_FUNCTION(LCD_G2)\
259  MAKE_PIN_FUNCTION(LCD_G3)\
260  MAKE_PIN_FUNCTION(LCD_G4)\
261  MAKE_PIN_FUNCTION(LCD_G5)\
262  MAKE_PIN_FUNCTION(LCD_G6)\
263  MAKE_PIN_FUNCTION(LCD_G7)\
264  MAKE_PIN_FUNCTION(LCD_B0)\
265  MAKE_PIN_FUNCTION(LCD_B1)\
266  MAKE_PIN_FUNCTION(LCD_B2)\
267  MAKE_PIN_FUNCTION(LCD_B3)\
268  MAKE_PIN_FUNCTION(LCD_B4)\
269  MAKE_PIN_FUNCTION(LCD_B5)\
270  MAKE_PIN_FUNCTION(LCD_B6)\
271  MAKE_PIN_FUNCTION(LCD_B7)\
272  MAKE_PIN_FUNCTION(LCD_VSYNC)\
273  MAKE_PIN_FUNCTION(LCD_HSYNC)\
274  MAKE_PIN_FUNCTION(LCD_CLK)\
275  MAKE_PIN_FUNCTION(LCD_DE)\
276 
277 #define oC_MODULE_PINS_LCDTFT(MAKE_PIN) \
278  MAKE_PIN( PA1 , LCD , LCD_R2 , 14) \
279  MAKE_PIN( PA2 , LCD , LCD_R1 , 14) \
280  MAKE_PIN( PA3 , LCD , LCD_B5 , 14) \
281  MAKE_PIN( PA4 , LCD , LCD_VSYNC , 14) \
282  MAKE_PIN( PA5 , LCD , LCD_R4 , 14) \
283  MAKE_PIN( PA6 , LCD , LCD_G2 , 14) \
284  MAKE_PIN( PA8 , LCD , LCD_R6 , 14) \
285  MAKE_PIN( PA11 , LCD , LCD_R4 , 14) \
286  MAKE_PIN( PA12 , LCD , LCD_R5 , 14) \
287  MAKE_PIN( PB8 , LCD , LCD_B6 , 14) \
288  MAKE_PIN( PB9 , LCD , LCD_B7 , 14) \
289  MAKE_PIN( PB10 , LCD , LCD_G4 , 14) \
290  MAKE_PIN( PB11 , LCD , LCD_G5 , 14) \
291  MAKE_PIN( PC0 , LCD , LCD_R5 , 14) \
292  MAKE_PIN( PC6 , LCD , LCD_HSYNC , 14) \
293  MAKE_PIN( PC7 , LCD , LCD_G6 , 14) \
294  MAKE_PIN( PC10 , LCD , LCD_R2 , 14) \
295  MAKE_PIN( PD3 , LCD , LCD_G7 , 14) \
296  MAKE_PIN( PD6 , LCD , LCD_B2 , 14) \
297  MAKE_PIN( PD10 , LCD , LCD_B3 , 14) \
298  MAKE_PIN( PE4 , LCD , LCD_B0 , 14) \
299  MAKE_PIN( PE5 , LCD , LCD_G0 , 14) \
300  MAKE_PIN( PE6 , LCD , LCD_G1 , 14) \
301  MAKE_PIN( PE11 , LCD , LCD_G3 , 14) \
302  MAKE_PIN( PE12 , LCD , LCD_B4 , 14) \
303  MAKE_PIN( PE13 , LCD , LCD_DE , 14) \
304  MAKE_PIN( PE14 , LCD , LCD_CLK , 14) \
305  MAKE_PIN( PE15 , LCD , LCD_R7 , 14) \
306  MAKE_PIN( PF10 , LCD , LCD_DE , 14) \
307  MAKE_PIN( PG6 , LCD , LCD_R7 , 14) \
308  MAKE_PIN( PG7 , LCD , LCD_CLK , 14) \
309  MAKE_PIN( PG10 , LCD , LCD_B2 , 14) \
310  MAKE_PIN( PG11 , LCD , LCD_B3 , 14) \
311  MAKE_PIN( PG12 , LCD , LCD_B4 , 14) \
312  MAKE_PIN( PG13 , LCD , LCD_R0 , 14) \
313  MAKE_PIN( PG14 , LCD , LCD_B0 , 14) \
314  MAKE_PIN( PH2 , LCD , LCD_R0 , 14) \
315  MAKE_PIN( PH3 , LCD , LCD_R1 , 14) \
316  MAKE_PIN( PH8 , LCD , LCD_R2 , 14) \
317  MAKE_PIN( PH9 , LCD , LCD_R3 , 14) \
318  MAKE_PIN( PH10 , LCD , LCD_R4 , 14) \
319  MAKE_PIN( PH11 , LCD , LCD_R5 , 14) \
320  MAKE_PIN( PH12 , LCD , LCD_R6 , 14) \
321  MAKE_PIN( PH13 , LCD , LCD_G2 , 14) \
322  MAKE_PIN( PH14 , LCD , LCD_G3 , 14) \
323  MAKE_PIN( PH15 , LCD , LCD_G4 , 14) \
324  MAKE_PIN( PI0 , LCD , LCD_G5 , 14) \
325  MAKE_PIN( PI1 , LCD , LCD_G6 , 14) \
326  MAKE_PIN( PI2 , LCD , LCD_G7 , 14) \
327  MAKE_PIN( PI4 , LCD , LCD_B4 , 14) \
328  MAKE_PIN( PI5 , LCD , LCD_B5 , 14) \
329  MAKE_PIN( PI6 , LCD , LCD_B6 , 14) \
330  MAKE_PIN( PI7 , LCD , LCD_B7 , 14) \
331  MAKE_PIN( PI9 , LCD , LCD_VSYNC , 14) \
332  MAKE_PIN( PI10 , LCD , LCD_HSYNC , 14) \
333  MAKE_PIN( PI12 , LCD , LCD_HSYNC , 14) \
334  MAKE_PIN( PI13 , LCD , LCD_VSYNC , 14) \
335  MAKE_PIN( PI14 , LCD , LCD_CLK , 14) \
336  MAKE_PIN( PI15 , LCD , LCD_R0 , 14) \
337  MAKE_PIN( PJ0 , LCD , LCD_R1 , 14) \
338  MAKE_PIN( PJ1 , LCD , LCD_R2 , 14) \
339  MAKE_PIN( PJ2 , LCD , LCD_R3 , 14) \
340  MAKE_PIN( PJ3 , LCD , LCD_R4 , 14) \
341  MAKE_PIN( PJ4 , LCD , LCD_R5 , 14) \
342  MAKE_PIN( PJ5 , LCD , LCD_R6 , 14) \
343  MAKE_PIN( PJ6 , LCD , LCD_R7 , 14) \
344  MAKE_PIN( PJ7 , LCD , LCD_G0 , 14) \
345  MAKE_PIN( PJ8 , LCD , LCD_G1 , 14) \
346  MAKE_PIN( PJ9 , LCD , LCD_G2 , 14) \
347  MAKE_PIN( PJ10 , LCD , LCD_G3 , 14) \
348  MAKE_PIN( PJ11 , LCD , LCD_G4 , 14) \
349  MAKE_PIN( PJ12 , LCD , LCD_B0 , 14) \
350  MAKE_PIN( PJ13 , LCD , LCD_B1 , 14) \
351  MAKE_PIN( PJ14 , LCD , LCD_B2 , 14) \
352  MAKE_PIN( PJ15 , LCD , LCD_B3 , 14) \
353  MAKE_PIN( PK0 , LCD , LCD_G5 , 14) \
354  MAKE_PIN( PK1 , LCD , LCD_G6 , 14) \
355  MAKE_PIN( PK2 , LCD , LCD_G7 , 14) \
356  MAKE_PIN( PK3 , LCD , LCD_B4 , 14) \
357  MAKE_PIN( PK4 , LCD , LCD_B5 , 14) \
358  MAKE_PIN( PK5 , LCD , LCD_B6 , 14) \
359  MAKE_PIN( PK6 , LCD , LCD_B7 , 14) \
360  MAKE_PIN( PK7 , LCD , LCD_DE , 14) \
361 
362 // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
363 /*
364  * PINS OF THE UART MODULE
365  */
366 // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
367 
368 
369 #define oC_MODULE_PIN_FUNCTIONS_UART(MAKE_PIN_FUNCTION) \
370  MAKE_PIN_FUNCTION(Rx)\
371  MAKE_PIN_FUNCTION(Tx)\
372  MAKE_PIN_FUNCTION(CTS)\
373  MAKE_PIN_FUNCTION(RTS)\
374  MAKE_PIN_FUNCTION(CK)\
375 
376 #define oC_MODULE_PINS_UART(MAKE_PIN) \
377  MAKE_PIN( PA0 , UART1 , CTS , 7) \
378  MAKE_PIN( PA1 , UART1 , RTS , 7) \
379  MAKE_PIN( PA2 , UART1 , Tx , 7) \
380  MAKE_PIN( PA3 , UART1 , Rx , 7) \
381  MAKE_PIN( PA4 , UART1 , CK , 7) \
382  MAKE_PIN( PA8 , UART0 , CK , 7) \
383  MAKE_PIN( PA9 , UART0 , Tx , 7) \
384  MAKE_PIN( PA10 , UART0 , Rx , 7) \
385  MAKE_PIN( PA11 , UART0 , CTS , 7) \
386  MAKE_PIN( PA12 , UART0 , RTS , 7) \
387  MAKE_PIN( PB6 , UART0 , Tx , 7) \
388  MAKE_PIN( PB7 , UART0 , Rx , 7) \
389  MAKE_PIN( PB10 , UART2 , Tx , 7) \
390  MAKE_PIN( PB11 , UART2 , Rx , 7) \
391  MAKE_PIN( PB12 , UART2 , CK , 7) \
392  MAKE_PIN( PB13 , UART2 , CTS , 7) \
393  MAKE_PIN( PB14 , UART2 , RTS , 7) \
394  MAKE_PIN( PC8 , UART4 , RTS , 7) \
395  MAKE_PIN( PC9 , UART4 , CTS , 7) \
396  MAKE_PIN( PC10 , UART2 , Tx , 7) \
397  MAKE_PIN( PC11 , UART2 , Rx , 7) \
398  MAKE_PIN( PC12 , UART2 , CK , 7) \
399  MAKE_PIN( PD3 , UART1 , CTS , 7) \
400  MAKE_PIN( PD4 , UART1 , RTS , 7) \
401  MAKE_PIN( PD5 , UART1 , Tx , 7) \
402  MAKE_PIN( PD6 , UART1 , Rx , 7) \
403  MAKE_PIN( PD7 , UART1 , CK , 7) \
404  MAKE_PIN( PD8 , UART2 , Tx , 7) \
405  MAKE_PIN( PD9 , UART2 , Rx , 7) \
406  MAKE_PIN( PD10 , UART2 , CK , 7) \
407  MAKE_PIN( PD11 , UART2 , CTS , 7) \
408  MAKE_PIN( PD12 , UART2 , RTS , 7) \
409  MAKE_PIN( PA0 , UART3 , Tx , 8) \
410  MAKE_PIN( PA1 , UART3 , Rx , 8) \
411  MAKE_PIN( PA15 , UART3 , RTS , 8) \
412  MAKE_PIN( PB0 , UART3 , CTS , 8) \
413  MAKE_PIN( PC6 , UART5 , Tx , 8) \
414  MAKE_PIN( PC7 , UART5 , Rx , 8) \
415  MAKE_PIN( PC8 , UART5 , CK , 8) \
416  MAKE_PIN( PC10 , UART3 , Tx , 8) \
417  MAKE_PIN( PC11 , UART3 , Rx , 8) \
418  MAKE_PIN( PC12 , UART4 , Tx , 8) \
419  MAKE_PIN( PD2 , UART4 , Rx , 8) \
420  MAKE_PIN( PD14 , UART7 , CTS , 8) \
421  MAKE_PIN( PD15 , UART7 , RTS , 8) \
422  MAKE_PIN( PE0 , UART7 , Rx , 8) \
423  MAKE_PIN( PE1 , UART7 , Tx , 8) \
424  MAKE_PIN( PE7 , UART6 , Rx , 8) \
425  MAKE_PIN( PE8 , UART6 , Tx , 8) \
426  MAKE_PIN( PE9 , UART6 , RTS , 8) \
427  MAKE_PIN( PE10 , UART6 , CTS , 8) \
428  MAKE_PIN( PF6 , UART6 , Rx , 8) \
429  MAKE_PIN( PF7 , UART6 , Tx , 8) \
430  MAKE_PIN( PF8 , UART6 , RTS , 8) \
431  MAKE_PIN( PF9 , UART6 , CTS , 8) \
432  MAKE_PIN( PG7 , UART5 , CK , 8) \
433  MAKE_PIN( PG8 , UART5 , RTS , 8) \
434  MAKE_PIN( PG9 , UART5 , Rx , 8) \
435  MAKE_PIN( PG12 , UART5 , RTS , 8) \
436  MAKE_PIN( PG13 , UART5 , CTS , 8) \
437  MAKE_PIN( PG14 , UART5 , Tx , 8) \
438  MAKE_PIN( PG15 , UART5 , CTS , 8) \
439 
440 #define oC_MODULE_PIN_FUNCTIONS_SPI(MAKE_PIN_FUNCTION) \
441  MAKE_PIN_FUNCTION(MOSI)\
442  MAKE_PIN_FUNCTION(MISO)\
443  MAKE_PIN_FUNCTION(CS)\
444  MAKE_PIN_FUNCTION(CLK)\
445 
446 #define oC_MODULE_PINS_SPI(MAKE_PIN) \
447  MAKE_PIN( PA0 , SPI0 , MOSI , 1) \
448 
449 // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
450 /*
451  * PINS OF THE TIMER MODULE
452  */
453 // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
454 
455 
456 #define oC_MODULE_PIN_FUNCTIONS_TIMER(MAKE_PIN_FUNCTION) \
457  MAKE_PIN_FUNCTION(CH1) \
458  MAKE_PIN_FUNCTION(CH2) \
459  MAKE_PIN_FUNCTION(CH3) \
460  MAKE_PIN_FUNCTION(CH4) \
461  MAKE_PIN_FUNCTION(CH1N) \
462  MAKE_PIN_FUNCTION(CH2N) \
463  MAKE_PIN_FUNCTION(CH3N) \
464  MAKE_PIN_FUNCTION(ETR) \
465  MAKE_PIN_FUNCTION(BKIN) \
466  MAKE_PIN_FUNCTION(BKIN2) \
467  MAKE_PIN_FUNCTION(IN1) \
468  MAKE_PIN_FUNCTION(IN2) \
469  MAKE_PIN_FUNCTION(OUT) \
470 
471 #define oC_MODULE_PINS_TIMER(MAKE_PIN) \
472  MAKE_PIN( PA0 , Timer1 , CH1 , 1) \
473  MAKE_PIN( PA0 , Timer1 , ETR , 1) \
474  MAKE_PIN( PA1 , Timer1 , CH2 , 1) \
475  MAKE_PIN( PA2 , Timer1 , CH3 , 1) \
476  MAKE_PIN( PA3 , Timer1 , CH4 , 1) \
477  MAKE_PIN( PA5 , Timer1 , CH1 , 1) \
478  MAKE_PIN( PA5 , Timer1 , ETR , 1) \
479  MAKE_PIN( PA6 , Timer0 , BKIN , 1) \
480  MAKE_PIN( PA7 , Timer0 , CH1N , 1) \
481  MAKE_PIN( PA8 , Timer0 , CH1 , 1) \
482  MAKE_PIN( PA9 , Timer0 , CH2 , 1) \
483  MAKE_PIN( PA10, Timer0 , CH3 , 1) \
484  MAKE_PIN( PA11, Timer0 , CH4 , 1) \
485  MAKE_PIN( PA12, Timer0 , ETR , 1) \
486  MAKE_PIN( PA15, Timer1 , CH1 , 1) \
487  MAKE_PIN( PA15, Timer1 , ETR , 1) \
488  MAKE_PIN( PB0 , Timer0 , CH2N , 1) \
489  MAKE_PIN( PB1 , Timer0 , CH3N , 1) \
490  MAKE_PIN( PB3 , Timer1 , CH2 , 1) \
491  MAKE_PIN( PB10, Timer1 , CH3 , 1) \
492  MAKE_PIN( PB11, Timer1 , CH4 , 1) \
493  MAKE_PIN( PB12, Timer0 , BKIN , 1) \
494  MAKE_PIN( PB13, Timer0 , CH1N , 1) \
495  MAKE_PIN( PB14, Timer0 , CH2N , 1) \
496  MAKE_PIN( PB15, Timer0 , CH3N , 1) \
497  MAKE_PIN( PE6 , Timer0 , BKIN2 , 1) \
498  MAKE_PIN( PE7 , Timer0 , ETR , 1) \
499  MAKE_PIN( PE8 , Timer0 , CH1N , 1) \
500  MAKE_PIN( PE9 , Timer0 , CH1 , 1) \
501  MAKE_PIN( PE10, Timer0 , CH2N , 1) \
502  MAKE_PIN( PE11, Timer0 , CH2 , 1) \
503  MAKE_PIN( PE12, Timer0 , CH3N , 1) \
504  MAKE_PIN( PE13, Timer0 , CH3 , 1) \
505  MAKE_PIN( PE14, Timer0 , CH4 , 1) \
506  MAKE_PIN( PE15, Timer0 , BKIN , 1) \
507  MAKE_PIN( PA0 , Timer4 , CH1 , 2) \
508  MAKE_PIN( PA1 , Timer4 , CH2 , 2) \
509  MAKE_PIN( PA2 , Timer4 , CH3 , 2) \
510  MAKE_PIN( PA3 , Timer4 , CH4 , 2) \
511  MAKE_PIN( PA6 , Timer3 , CH1 , 2) \
512  MAKE_PIN( PA7 , Timer3 , CH2 , 2) \
513  MAKE_PIN( PB0 , Timer3 , CH3 , 2) \
514  MAKE_PIN( PB1 , Timer3 , CH4 , 2) \
515  MAKE_PIN( PB4 , Timer3 , CH1 , 2) \
516  MAKE_PIN( PB5 , Timer3 , CH2 , 2) \
517  MAKE_PIN( PB6 , Timer3 , CH1 , 2) \
518  MAKE_PIN( PB7 , Timer3 , CH2 , 2) \
519  MAKE_PIN( PB8 , Timer3 , CH3 , 2) \
520  MAKE_PIN( PB9 , Timer3 , CH4 , 2) \
521  MAKE_PIN( PC6 , Timer7 , CH1 , 2) \
522  MAKE_PIN( PC7 , Timer7 , CH2 , 2) \
523  MAKE_PIN( PC8 , Timer7 , CH3 , 2) \
524  MAKE_PIN( PC9 , Timer7 , CH4 , 2) \
525  MAKE_PIN( PD2 , Timer3 , ETR , 2) \
526  MAKE_PIN( PD12, Timer3 , CH1 , 2) \
527  MAKE_PIN( PD13, Timer3 , CH2 , 2) \
528  MAKE_PIN( PD14, Timer3 , CH3 , 2) \
529  MAKE_PIN( PD15, Timer3 , CH4 , 2) \
530  MAKE_PIN( PE0 , Timer3 , ETR , 2) \
531  MAKE_PIN( PH10, Timer4 , CH1 , 2) \
532  MAKE_PIN( PH11, Timer4 , CH2 , 2) \
533  MAKE_PIN( PH12, Timer4 , CH3 , 2) \
534  MAKE_PIN( PI0 , Timer4 , CH4 , 2) \
535  MAKE_PIN( PA0 , Timer7 , ETR , 3) \
536  MAKE_PIN( PA2 , Timer8 , CH1 , 3) \
537  MAKE_PIN( PA3 , Timer8 , CH2 , 3) \
538  MAKE_PIN( PA5 , Timer7 , CH1N , 3) \
539  MAKE_PIN( PA6 , Timer7 , BKIN , 3) \
540  MAKE_PIN( PA7 , Timer7 , CH1N , 3) \
541  MAKE_PIN( PA8 , Timer7 , BKIN2 , 3) \
542  MAKE_PIN( PB0 , Timer7 , CH2N , 3) \
543  MAKE_PIN( PB1 , Timer7 , CH3N , 3) \
544  MAKE_PIN( PB8 , Timer9 , CH1 , 3) \
545  MAKE_PIN( PB9 , Timer10 , CH1 , 3) \
546  MAKE_PIN( PB14, Timer7 , CH2N , 3) \
547  MAKE_PIN( PB15, Timer7 , CH3N , 3) \
548  MAKE_PIN( PC6 , Timer7 , CH1 , 3) \
549  MAKE_PIN( PC7 , Timer7 , CH2 , 3) \
550  MAKE_PIN( PC8 , Timer7 , CH3 , 3) \
551  MAKE_PIN( PC9 , Timer7 , CH4 , 3) \
552  MAKE_PIN( PD12, Timer14 , IN1 , 3) \
553  MAKE_PIN( PD13, Timer14 , OUT , 3) \
554  MAKE_PIN( PE0 , Timer14 , ETR , 3) \
555  MAKE_PIN( PE1 , Timer14 , IN2 , 3) \
556  MAKE_PIN( PE5 , Timer8 , CH1 , 3) \
557  MAKE_PIN( PE6 , Timer8 , CH2 , 3) \
558  MAKE_PIN( PF6 , Timer9 , CH1 , 3) \
559  MAKE_PIN( PF7 , Timer10 , CH1 , 3) \
560  MAKE_PIN( PG12, Timer14 , IN1 , 3) \
561  MAKE_PIN( PG13, Timer14 , OUT , 3) \
562  MAKE_PIN( PG14, Timer14 , ETR , 3) \
563  MAKE_PIN( PH3 , Timer14 , IN2 , 3) \
564  MAKE_PIN( PH13, Timer7 , CH1N , 3) \
565  MAKE_PIN( PH14, Timer7 , CH2N , 3) \
566  MAKE_PIN( PH15, Timer7 , CH3N , 3) \
567  MAKE_PIN( PI1 , Timer7 , BKIN2 , 3) \
568  MAKE_PIN( PI2 , Timer7 , CH4 , 3) \
569  MAKE_PIN( PI3 , Timer7 , ETR , 3) \
570  MAKE_PIN( PI4 , Timer7 , BKIN , 3) \
571  MAKE_PIN( PI5 , Timer7 , CH1 , 3) \
572  MAKE_PIN( PI6 , Timer7 , CH2 , 3) \
573  MAKE_PIN( PI7 , Timer7 , CH3 , 3) \
574 
575 // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
576 /*
577  * PINS OF THE FMC MODULE
578  */
579 // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
580 
581 
582 #define oC_MODULE_PIN_FUNCTIONS_FMC(MAKE_PIN_FUNCTION) \
583  MAKE_PIN_FUNCTION(FMC_SDNWE)\
584  MAKE_PIN_FUNCTION(FMC_SDCKE0)\
585  MAKE_PIN_FUNCTION(FMC_SDCKE1)\
586  MAKE_PIN_FUNCTION(FMC_SDNE0)\
587  MAKE_PIN_FUNCTION(FMC_SDNE1)\
588  MAKE_PIN_FUNCTION(FMC_SDNRAS)\
589  MAKE_PIN_FUNCTION(FMC_SDNCAS)\
590  MAKE_PIN_FUNCTION(FMC_NE1)\
591  MAKE_PIN_FUNCTION(FMC_NL)\
592  MAKE_PIN_FUNCTION(FMC_SDCLK)\
593  MAKE_PIN_FUNCTION(FMC_CLK)\
594  MAKE_PIN_FUNCTION(FMC_CLE)\
595  MAKE_PIN_FUNCTION(FMC_ALE)\
596  MAKE_PIN_FUNCTION(FMC_D0)\
597  MAKE_PIN_FUNCTION(FMC_D1)\
598  MAKE_PIN_FUNCTION(FMC_D2)\
599  MAKE_PIN_FUNCTION(FMC_D3)\
600  MAKE_PIN_FUNCTION(FMC_D4)\
601  MAKE_PIN_FUNCTION(FMC_D5)\
602  MAKE_PIN_FUNCTION(FMC_D6)\
603  MAKE_PIN_FUNCTION(FMC_D7)\
604  MAKE_PIN_FUNCTION(FMC_D8)\
605  MAKE_PIN_FUNCTION(FMC_D9)\
606  MAKE_PIN_FUNCTION(FMC_D10)\
607  MAKE_PIN_FUNCTION(FMC_D11)\
608  MAKE_PIN_FUNCTION(FMC_D12)\
609  MAKE_PIN_FUNCTION(FMC_D13)\
610  MAKE_PIN_FUNCTION(FMC_D14)\
611  MAKE_PIN_FUNCTION(FMC_D15)\
612  MAKE_PIN_FUNCTION(FMC_D16)\
613  MAKE_PIN_FUNCTION(FMC_D17)\
614  MAKE_PIN_FUNCTION(FMC_D18)\
615  MAKE_PIN_FUNCTION(FMC_D19)\
616  MAKE_PIN_FUNCTION(FMC_D20)\
617  MAKE_PIN_FUNCTION(FMC_D21)\
618  MAKE_PIN_FUNCTION(FMC_D22)\
619  MAKE_PIN_FUNCTION(FMC_D23)\
620  MAKE_PIN_FUNCTION(FMC_D24)\
621  MAKE_PIN_FUNCTION(FMC_D25)\
622  MAKE_PIN_FUNCTION(FMC_D26)\
623  MAKE_PIN_FUNCTION(FMC_D27)\
624  MAKE_PIN_FUNCTION(FMC_D28)\
625  MAKE_PIN_FUNCTION(FMC_D29)\
626  MAKE_PIN_FUNCTION(FMC_D30)\
627  MAKE_PIN_FUNCTION(FMC_D31)\
628  MAKE_PIN_FUNCTION(FMC_NOE)\
629  MAKE_PIN_FUNCTION(FMC_NWE)\
630  MAKE_PIN_FUNCTION(FMC_NCE)\
631  MAKE_PIN_FUNCTION(FMC_NWAIT)\
632  MAKE_PIN_FUNCTION(FMC_A0)\
633  MAKE_PIN_FUNCTION(FMC_A1)\
634  MAKE_PIN_FUNCTION(FMC_A2)\
635  MAKE_PIN_FUNCTION(FMC_A3)\
636  MAKE_PIN_FUNCTION(FMC_A4)\
637  MAKE_PIN_FUNCTION(FMC_A5)\
638  MAKE_PIN_FUNCTION(FMC_A6)\
639  MAKE_PIN_FUNCTION(FMC_A7)\
640  MAKE_PIN_FUNCTION(FMC_A8)\
641  MAKE_PIN_FUNCTION(FMC_A9)\
642  MAKE_PIN_FUNCTION(FMC_A10)\
643  MAKE_PIN_FUNCTION(FMC_A11)\
644  MAKE_PIN_FUNCTION(FMC_A12)\
645  MAKE_PIN_FUNCTION(FMC_A13)\
646  MAKE_PIN_FUNCTION(FMC_A14)\
647  MAKE_PIN_FUNCTION(FMC_A15)\
648  MAKE_PIN_FUNCTION(FMC_A16)\
649  MAKE_PIN_FUNCTION(FMC_A17)\
650  MAKE_PIN_FUNCTION(FMC_A18)\
651  MAKE_PIN_FUNCTION(FMC_A19)\
652  MAKE_PIN_FUNCTION(FMC_A20)\
653  MAKE_PIN_FUNCTION(FMC_A21)\
654  MAKE_PIN_FUNCTION(FMC_A22)\
655  MAKE_PIN_FUNCTION(FMC_A23)\
656  MAKE_PIN_FUNCTION(FMC_A24)\
657  MAKE_PIN_FUNCTION(FMC_A25)\
658  MAKE_PIN_FUNCTION(FMC_NBL0)\
659  MAKE_PIN_FUNCTION(FMC_NBL1)\
660  MAKE_PIN_FUNCTION(FMC_BA0)\
661  MAKE_PIN_FUNCTION(FMC_BA1)\
662  MAKE_PIN_FUNCTION(FMC_INT)\
663  MAKE_PIN_FUNCTION(FMC_NE2)\
664  MAKE_PIN_FUNCTION(FMC_NE3)\
665  MAKE_PIN_FUNCTION(FMC_NE4)\
666  MAKE_PIN_FUNCTION(FMC_NBL2)\
667  MAKE_PIN_FUNCTION(FMC_NBL3)\
668 
669 #define oC_MODULE_PINS_FMC(MAKE_PIN) \
670  MAKE_PIN( PA7 , FMC , FMC_SDNWE , 12 ) \
671  MAKE_PIN( PB5 , FMC , FMC_SDCKE1 , 12 ) \
672  MAKE_PIN( PB6 , FMC , FMC_SDNE1 , 12 ) \
673  MAKE_PIN( PB7 , FMC , FMC_NL , 12 ) \
674  MAKE_PIN( PC0 , FMC , FMC_SDNWE , 12 ) \
675  MAKE_PIN( PC2 , FMC , FMC_SDNE0 , 12 ) \
676  MAKE_PIN( PC3 , FMC , FMC_SDCKE0 , 12 ) \
677  MAKE_PIN( PC4 , FMC , FMC_SDNE0 , 12 ) \
678  MAKE_PIN( PC5 , FMC , FMC_SDCKE0 , 12 ) \
679  MAKE_PIN( PD0 , FMC , FMC_D2 , 12 ) \
680  MAKE_PIN( PD1 , FMC , FMC_D3 , 12 ) \
681  MAKE_PIN( PD3 , FMC , FMC_CLK , 12 ) \
682  MAKE_PIN( PD4 , FMC , FMC_NOE , 12 ) \
683  MAKE_PIN( PD5 , FMC , FMC_NWE , 12 ) \
684  MAKE_PIN( PD6 , FMC , FMC_NWAIT , 12 ) \
685  MAKE_PIN( PD7 , FMC , FMC_NE1 , 12 ) \
686  MAKE_PIN( PD8 , FMC , FMC_D13 , 12 ) \
687  MAKE_PIN( PD9 , FMC , FMC_D14 , 12 ) \
688  MAKE_PIN( PD10, FMC , FMC_D15 , 12 ) \
689  MAKE_PIN( PD11, FMC , FMC_A16 , 12 ) \
690  MAKE_PIN( PD11, FMC , FMC_CLE , 12 ) \
691  MAKE_PIN( PD12, FMC , FMC_A17 , 12 ) \
692  MAKE_PIN( PD12, FMC , FMC_ALE , 12 ) \
693  MAKE_PIN( PD13, FMC , FMC_A18 , 12 ) \
694  MAKE_PIN( PD14, FMC , FMC_D0 , 12 ) \
695  MAKE_PIN( PD15, FMC , FMC_D1 , 12 ) \
696  MAKE_PIN( PE0 , FMC , FMC_NBL0 , 12 ) \
697  MAKE_PIN( PE1 , FMC , FMC_NBL1 , 12 ) \
698  MAKE_PIN( PE2 , FMC , FMC_A23 , 12 ) \
699  MAKE_PIN( PE3 , FMC , FMC_A19 , 12 ) \
700  MAKE_PIN( PE4 , FMC , FMC_A20 , 12 ) \
701  MAKE_PIN( PE5 , FMC , FMC_A21 , 12 ) \
702  MAKE_PIN( PE6 , FMC , FMC_A22 , 12 ) \
703  MAKE_PIN( PE7 , FMC , FMC_D4 , 12 ) \
704  MAKE_PIN( PE8 , FMC , FMC_D5 , 12 ) \
705  MAKE_PIN( PE9 , FMC , FMC_D6 , 12 ) \
706  MAKE_PIN( PE10, FMC , FMC_D7 , 12 ) \
707  MAKE_PIN( PE11, FMC , FMC_D8 , 12 ) \
708  MAKE_PIN( PE12, FMC , FMC_D9 , 12 ) \
709  MAKE_PIN( PE13, FMC , FMC_D10 , 12 ) \
710  MAKE_PIN( PE14, FMC , FMC_D11 , 12 ) \
711  MAKE_PIN( PE15, FMC , FMC_D12 , 12 ) \
712  MAKE_PIN( PF0 , FMC , FMC_A0 , 12 ) \
713  MAKE_PIN( PF1 , FMC , FMC_A1 , 12 ) \
714  MAKE_PIN( PF2 , FMC , FMC_A2 , 12 ) \
715  MAKE_PIN( PF3 , FMC , FMC_A3 , 12 ) \
716  MAKE_PIN( PF4 , FMC , FMC_A4 , 12 ) \
717  MAKE_PIN( PF5 , FMC , FMC_A5 , 12 ) \
718  MAKE_PIN( PF11, FMC , FMC_SDNRAS , 12 ) \
719  MAKE_PIN( PF12, FMC , FMC_A6 , 12 ) \
720  MAKE_PIN( PF13, FMC , FMC_A7 , 12 ) \
721  MAKE_PIN( PF14, FMC , FMC_A8 , 12 ) \
722  MAKE_PIN( PF15, FMC , FMC_A9 , 12 ) \
723  MAKE_PIN( PG0 , FMC , FMC_A10 , 12 ) \
724  MAKE_PIN( PG1 , FMC , FMC_A11 , 12 ) \
725  MAKE_PIN( PG2 , FMC , FMC_A12 , 12 ) \
726  MAKE_PIN( PG3 , FMC , FMC_A13 , 12 ) \
727  MAKE_PIN( PG4 , FMC , FMC_A14 , 12 ) \
728  MAKE_PIN( PG4 , FMC , FMC_BA0 , 12 ) \
729  MAKE_PIN( PG5 , FMC , FMC_A15 , 12 ) \
730  MAKE_PIN( PG5 , FMC , FMC_BA1 , 12 ) \
731  MAKE_PIN( PG7 , FMC , FMC_INT , 12 ) \
732  MAKE_PIN( PG8 , FMC , FMC_SDCLK , 12 ) \
733  MAKE_PIN( PG9 , FMC , FMC_NE2 , 12 ) \
734  MAKE_PIN( PG9 , FMC , FMC_NCE , 12 ) \
735  MAKE_PIN( PG10, FMC , FMC_NE3 , 12 ) \
736  MAKE_PIN( PG12, FMC , FMC_NE4 , 12 ) \
737  MAKE_PIN( PG13, FMC , FMC_A24 , 12 ) \
738  MAKE_PIN( PG14, FMC , FMC_A25 , 12 ) \
739  MAKE_PIN( PG15, FMC , FMC_SDNCAS , 12 ) \
740  MAKE_PIN( PH2 , FMC , FMC_SDCKE0 , 12 ) \
741  MAKE_PIN( PH3 , FMC , FMC_SDNE0 , 12 ) \
742  MAKE_PIN( PH5 , FMC , FMC_SDNWE , 12 ) \
743  MAKE_PIN( PH6 , FMC , FMC_SDNE1 , 12 ) \
744  MAKE_PIN( PH7 , FMC , FMC_SDCKE1 , 12 ) \
745  MAKE_PIN( PH8 , FMC , FMC_D16 , 12 ) \
746  MAKE_PIN( PH9 , FMC , FMC_D17 , 12 ) \
747  MAKE_PIN( PH10, FMC , FMC_D18 , 12 ) \
748  MAKE_PIN( PH11, FMC , FMC_D19 , 12 ) \
749  MAKE_PIN( PH12, FMC , FMC_D20 , 12 ) \
750  MAKE_PIN( PH13, FMC , FMC_D21 , 12 ) \
751  MAKE_PIN( PH14, FMC , FMC_D22 , 12 ) \
752  MAKE_PIN( PH15, FMC , FMC_D23 , 12 ) \
753  MAKE_PIN( PI0 , FMC , FMC_D24 , 12 ) \
754  MAKE_PIN( PI1 , FMC , FMC_D25 , 12 ) \
755  MAKE_PIN( PI2 , FMC , FMC_D26 , 12 ) \
756  MAKE_PIN( PI3 , FMC , FMC_D27 , 12 ) \
757  MAKE_PIN( PI4 , FMC , FMC_NBL2 , 12 ) \
758  MAKE_PIN( PI5 , FMC , FMC_NBL3 , 12 ) \
759  MAKE_PIN( PI6 , FMC , FMC_D28 , 12 ) \
760  MAKE_PIN( PI7 , FMC , FMC_D29 , 12 ) \
761  MAKE_PIN( PI9 , FMC , FMC_D30 , 12 ) \
762  MAKE_PIN( PI10, FMC , FMC_D31 , 12 ) \
763 
764 // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
765 /*
766  * PINS OF THE ETH MODULE
767  */
768 // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
769 
770 //==========================================================================================================================================
774 //==========================================================================================================================================
775 #define oC_MODULE_PIN_FUNCTIONS_ETH(MAKE_PIN_FUNCTION) \
776  MAKE_PIN_FUNCTION(ETH_MII_CRS)\
777  MAKE_PIN_FUNCTION(ETH_MII_COL)\
778  MAKE_PIN_FUNCTION(ETH_MII_RX_CLK)\
779  MAKE_PIN_FUNCTION(ETH_MII_RX_DV)\
780  MAKE_PIN_FUNCTION(ETH_MII_RXD0)\
781  MAKE_PIN_FUNCTION(ETH_MII_RXD1)\
782  MAKE_PIN_FUNCTION(ETH_MII_RXD2)\
783  MAKE_PIN_FUNCTION(ETH_MII_RXD3)\
784  MAKE_PIN_FUNCTION(ETH_MII_RX_ER)\
785  MAKE_PIN_FUNCTION(ETH_MII_TX_EN)\
786  MAKE_PIN_FUNCTION(ETH_MII_TXD0)\
787  MAKE_PIN_FUNCTION(ETH_MII_TXD1)\
788  MAKE_PIN_FUNCTION(ETH_MII_TXD2)\
789  MAKE_PIN_FUNCTION(ETH_MII_TXD3)\
790  MAKE_PIN_FUNCTION(ETH_MII_TX_CLK)\
791  MAKE_PIN_FUNCTION(ETH_RMII_REF_CLK)\
792  MAKE_PIN_FUNCTION(ETH_RMII_CRS_DV)\
793  MAKE_PIN_FUNCTION(ETH_RMII_TX_EN)\
794  MAKE_PIN_FUNCTION(ETH_RMII_RX_ER)\
795  MAKE_PIN_FUNCTION(ETH_RMII_RXD0)\
796  MAKE_PIN_FUNCTION(ETH_RMII_RXD1)\
797  MAKE_PIN_FUNCTION(ETH_RMII_TXD0)\
798  MAKE_PIN_FUNCTION(ETH_RMII_TXD1)\
799  MAKE_PIN_FUNCTION(ETH_MDIO)\
800  MAKE_PIN_FUNCTION(ETH_MDC)\
801  MAKE_PIN_FUNCTION(ETH_PPS_OUT)\
802 
803 //==========================================================================================================================================
807 //==========================================================================================================================================
808 #define oC_MODULE_PINS_ETH(MAKE_PIN) \
809  MAKE_PIN( PA0 , ETH , ETH_MII_CRS , 11 ) \
810  MAKE_PIN( PA1 , ETH , ETH_MII_RX_CLK , 11 ) \
811  MAKE_PIN( PA1 , ETH , ETH_RMII_REF_CLK , 11 ) \
812  MAKE_PIN( PA2 , ETH , ETH_MDIO , 11 ) \
813  MAKE_PIN( PA3 , ETH , ETH_MII_COL , 11 ) \
814  MAKE_PIN( PA7 , ETH , ETH_MII_RX_DV , 11 ) \
815  MAKE_PIN( PA7 , ETH , ETH_RMII_CRS_DV , 11 ) \
816  MAKE_PIN( PB0 , ETH , ETH_MII_RXD2 , 11 ) \
817  MAKE_PIN( PB1 , ETH , ETH_MII_RXD3 , 11 ) \
818  MAKE_PIN( PB5 , ETH , ETH_PPS_OUT , 11 ) \
819  MAKE_PIN( PB8 , ETH , ETH_MII_TXD3 , 11 ) \
820  MAKE_PIN( PB10 , ETH , ETH_MII_RX_ER , 11 ) \
821  MAKE_PIN( PB11 , ETH , ETH_MII_TX_EN , 11 ) \
822  MAKE_PIN( PB11 , ETH , ETH_RMII_TX_EN , 11 ) \
823  MAKE_PIN( PB12 , ETH , ETH_MII_TXD0 , 11 ) \
824  MAKE_PIN( PB12 , ETH , ETH_RMII_TXD0 , 11 ) \
825  MAKE_PIN( PB13 , ETH , ETH_MII_TXD1 , 11 ) \
826  MAKE_PIN( PB13 , ETH , ETH_RMII_TXD1 , 11 ) \
827  MAKE_PIN( PC1 , ETH , ETH_MDC , 11 ) \
828  MAKE_PIN( PC2 , ETH , ETH_MII_TXD2 , 11 ) \
829  MAKE_PIN( PC3 , ETH , ETH_MII_TX_CLK , 11 ) \
830  MAKE_PIN( PC4 , ETH , ETH_MII_RXD0 , 11 ) \
831  MAKE_PIN( PC4 , ETH , ETH_RMII_RXD0 , 11 ) \
832  MAKE_PIN( PC5 , ETH , ETH_MII_RXD1 , 11 ) \
833  MAKE_PIN( PC5 , ETH , ETH_RMII_RXD1 , 11 ) \
834  MAKE_PIN( PE2 , ETH , ETH_MII_TXD3 , 11 ) \
835  MAKE_PIN( PG8 , ETH , ETH_PPS_OUT , 11 ) \
836  MAKE_PIN( PG11 , ETH , ETH_MII_TX_EN , 11 ) \
837  MAKE_PIN( PG11 , ETH , ETH_RMII_TX_EN , 11 ) \
838  MAKE_PIN( PG13 , ETH , ETH_MII_TXD0 , 11 ) \
839  MAKE_PIN( PG13 , ETH , ETH_RMII_TXD0 , 11 ) \
840  MAKE_PIN( PG14 , ETH , ETH_MII_TXD1 , 11 ) \
841  MAKE_PIN( PG14 , ETH , ETH_RMII_TXD1 , 11 ) \
842  MAKE_PIN( PH2 , ETH , ETH_MII_CRS , 11 ) \
843  MAKE_PIN( PH3 , ETH , ETH_MII_COL , 11 ) \
844  MAKE_PIN( PH6 , ETH , ETH_MII_RXD2 , 11 ) \
845  MAKE_PIN( PH7 , ETH , ETH_MII_RXD3 , 11 ) \
846  MAKE_PIN( PI10 , ETH , ETH_MII_RX_ER , 11 ) \
847  MAKE_PIN( PG2 , ETH , ETH_RMII_RX_ER , 11 ) \
848 
849 // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
850 /*
851  * LIST OF MODULES
852  */
853 // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
854 
855 
856 #define oC_MODULES_PINS_LIST(MAKE_MODULE) \
857  MAKE_MODULE(TIMER) \
858  MAKE_MODULE(UART) \
859  MAKE_MODULE(SPI) \
860  MAKE_MODULE(LCDTFT) \
861  MAKE_MODULE(FMC) \
862  MAKE_MODULE(ETH) \
863 
864 #endif /* SYSTEM_PORTABLE_INC_ST_STM32F7_STM32F746NGH6_OC_PINS_DEFS_H_ */
Contains macros for creating one word from more words in macros.