Choco OS  V.0.16.9.0
Join to the chocolate world
oc_pins_defs.h
1 
28 #ifndef SYSTEM_PORTABLE_INC_ST_STM32F4_STM32F429ZIT6U_OC_PINS_DEFS_H_
29 #define SYSTEM_PORTABLE_INC_ST_STM32F4_STM32F429ZIT6U_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  MAKE_PIN( PORTE , PE2 , 2 , 1 )\
53  MAKE_PIN( PORTE , PE3 , 3 , 2 )\
54  MAKE_PIN( PORTE , PE4 , 4 , 3 )\
55  MAKE_PIN( PORTE , PE5 , 5 , 4 )\
56  MAKE_PIN( PORTE , PE6 , 6 , 5 )\
57  MAKE_PIN( PORTC , PC13 , 13 , 7 )\
58  MAKE_PIN( PORTC , PC14 , 14 , 8 )\
59  MAKE_PIN( PORTC , PC15 , 15 , 9 )\
60  MAKE_PIN( PORTF , PF0 , 0 , 10 )\
61  MAKE_PIN( PORTF , PF1 , 1 , 11 )\
62  MAKE_PIN( PORTF , PF2 , 2 , 12 )\
63  MAKE_PIN( PORTF , PF3 , 3 , 13 )\
64  MAKE_PIN( PORTF , PF4 , 4 , 14 )\
65  MAKE_PIN( PORTF , PF5 , 5 , 15 )\
66  MAKE_PIN( PORTF , PF6 , 6 , 18 )\
67  MAKE_PIN( PORTF , PF7 , 7 , 19 )\
68  MAKE_PIN( PORTF , PF8 , 8 , 20 )\
69  MAKE_PIN( PORTF , PF9 , 9 , 21 )\
70  MAKE_PIN( PORTF , PF10 , 10 , 22 )\
71  MAKE_PIN( PORTH , PH0 , 0 , 23 )\
72  MAKE_PIN( PORTH , PH1 , 1 , 24 )\
73  MAKE_PIN( PORTC , PC0 , 0 , 26 )\
74  MAKE_PIN( PORTC , PC1 , 1 , 27 )\
75  MAKE_PIN( PORTC , PC2 , 2 , 28 )\
76  MAKE_PIN( PORTC , PC3 , 3 , 29 )\
77  MAKE_PIN( PORTA , PA0 , 0 , 34 )\
78  MAKE_PIN( PORTA , PA1 , 1 , 35 )\
79  MAKE_PIN( PORTA , PA2 , 2 , 36 )\
80  MAKE_PIN( PORTA , PA3 , 3 , 37 )\
81  MAKE_PIN( PORTA , PA4 , 4 , 40 )\
82  MAKE_PIN( PORTA , PA5 , 5 , 41 )\
83  MAKE_PIN( PORTA , PA6 , 6 , 42 )\
84  MAKE_PIN( PORTA , PA7 , 7 , 43 )\
85  MAKE_PIN( PORTC , PC4 , 4 , 44 )\
86  MAKE_PIN( PORTC , PC5 , 5 , 45 )\
87  MAKE_PIN( PORTB , PB0 , 0 , 46 )\
88  MAKE_PIN( PORTB , PB1 , 1 , 47 )\
89  MAKE_PIN( PORTB , PB2 , 2 , 48 )\
90  MAKE_PIN( PORTF , PF11 , 11 , 49 )\
91  MAKE_PIN( PORTF , PF12 , 12 , 50 )\
92  MAKE_PIN( PORTF , PF13 , 13 , 53 )\
93  MAKE_PIN( PORTF , PF14 , 14 , 54 )\
94  MAKE_PIN( PORTF , PF15 , 15 , 55 )\
95  MAKE_PIN( PORTG , PG0 , 0 , 56 )\
96  MAKE_PIN( PORTG , PG1 , 1 , 57 )\
97  MAKE_PIN( PORTE , PE7 , 7 , 58 )\
98  MAKE_PIN( PORTE , PE8 , 8 , 59 )\
99  MAKE_PIN( PORTE , PE9 , 9 , 60 )\
100  MAKE_PIN( PORTE , PE10 , 10 , 63 )\
101  MAKE_PIN( PORTE , PE11 , 11 , 64 )\
102  MAKE_PIN( PORTE , PE12 , 12 , 65 )\
103  MAKE_PIN( PORTE , PE13 , 13 , 66 )\
104  MAKE_PIN( PORTE , PE14 , 14 , 67 )\
105  MAKE_PIN( PORTE , PE15 , 15 , 68 )\
106  MAKE_PIN( PORTB , PB10 , 10 , 69 )\
107  MAKE_PIN( PORTB , PB11 , 11 , 70 )\
108  MAKE_PIN( PORTB , PB12 , 12 , 73 )\
109  MAKE_PIN( PORTB , PB13 , 13 , 74 )\
110  MAKE_PIN( PORTB , PB14 , 14 , 75 )\
111  MAKE_PIN( PORTB , PB15 , 15 , 76 )\
112  MAKE_PIN( PORTD , PD8 , 8 , 77 )\
113  MAKE_PIN( PORTD , PD9 , 9 , 78 )\
114  MAKE_PIN( PORTD , PD10 , 10 , 79 )\
115  MAKE_PIN( PORTD , PD11 , 11 , 80 )\
116  MAKE_PIN( PORTD , PD12 , 12 , 81 )\
117  MAKE_PIN( PORTD , PD13 , 13 , 83 )\
118  MAKE_PIN( PORTD , PD14 , 14 , 85 )\
119  MAKE_PIN( PORTD , PD15 , 15 , 86 )\
120  MAKE_PIN( PORTG , PG2 , 2 , 87 )\
121  MAKE_PIN( PORTG , PG3 , 3 , 88 )\
122  MAKE_PIN( PORTG , PG4 , 4 , 89 )\
123  MAKE_PIN( PORTG , PG5 , 5 , 90 )\
124  MAKE_PIN( PORTG , PG6 , 6 , 91 )\
125  MAKE_PIN( PORTG , PG7 , 7 , 92 )\
126  MAKE_PIN( PORTG , PG8 , 8 , 93 )\
127  MAKE_PIN( PORTC , PC6 , 6 , 96 )\
128  MAKE_PIN( PORTC , PC7 , 7 , 97 )\
129  MAKE_PIN( PORTC , PC8 , 8 , 98 )\
130  MAKE_PIN( PORTC , PC9 , 9 , 99 )\
131  MAKE_PIN( PORTA , PA8 , 8 , 100 )\
132  MAKE_PIN( PORTA , PA9 , 9 , 101 )\
133  MAKE_PIN( PORTA , PA10 , 10 , 102 )\
134  MAKE_PIN( PORTA , PA11 , 11 , 103 )\
135  MAKE_PIN( PORTA , PA12 , 12 , 104 )\
136  MAKE_PIN( PORTA , PA13 , 13 , 105 )\
137  MAKE_PIN( PORTA , PA14 , 14 , 109 )\
138  MAKE_PIN( PORTA , PA15 , 15 , 110 )\
139  MAKE_PIN( PORTC , PC10 , 10 , 111 )\
140  MAKE_PIN( PORTC , PC11 , 11 , 112 )\
141  MAKE_PIN( PORTC , PC12 , 12 , 113 )\
142  MAKE_PIN( PORTD , PD0 , 0 , 114 )\
143  MAKE_PIN( PORTD , PD1 , 1 , 115 )\
144  MAKE_PIN( PORTD , PD2 , 2 , 116 )\
145  MAKE_PIN( PORTD , PD3 , 3 , 117 )\
146  MAKE_PIN( PORTD , PD4 , 4 , 118 )\
147  MAKE_PIN( PORTD , PD5 , 5 , 119 )\
148  MAKE_PIN( PORTD , PD6 , 6 , 122 )\
149  MAKE_PIN( PORTD , PD7 , 7 , 123 )\
150  MAKE_PIN( PORTG , PG9 , 9 , 124 )\
151  MAKE_PIN( PORTG , PG10 , 10 , 125 )\
152  MAKE_PIN( PORTG , PG11 , 11 , 126 )\
153  MAKE_PIN( PORTG , PG12 , 12 , 127 )\
154  MAKE_PIN( PORTG , PG13 , 13 , 128 )\
155  MAKE_PIN( PORTG , PG14 , 14 , 129 )\
156  MAKE_PIN( PORTG , PG15 , 15 , 132 )\
157  MAKE_PIN( PORTB , PB3 , 3 , 133 )\
158  MAKE_PIN( PORTB , PB4 , 4 , 134 )\
159  MAKE_PIN( PORTB , PB5 , 5 , 135 )\
160  MAKE_PIN( PORTB , PB6 , 6 , 136 )\
161  MAKE_PIN( PORTB , PB7 , 7 , 137 )\
162  MAKE_PIN( PORTB , PB8 , 8 , 139 )\
163  MAKE_PIN( PORTB , PB9 , 9 , 140 )\
164  MAKE_PIN( PORTE , PE0 , 0 , 141 )\
165  MAKE_PIN( PORTE , PE1 , 1 , 142 )\
166 
167 
168 #define oC_MODULE_PIN_FUNCTIONS_(MODULE_NAME) oC_1WORD_FROM_2(oC_MODULE_PIN_FUNCTIONS_ , MODULE_NAME)
169 
170 #define oC_MODULE_PINS_(MODULE_NAME) oC_1WORD_FROM_2(oC_MODULE_PINS_ , MODULE_NAME)
171 
172 #define oC_MODULE_PIN_FUNCTIONS_LCDTFT(MAKE_PIN_FUNCTION) \
173  MAKE_PIN_FUNCTION(LCD_R0)\
174  MAKE_PIN_FUNCTION(LCD_R1)\
175  MAKE_PIN_FUNCTION(LCD_R2)\
176  MAKE_PIN_FUNCTION(LCD_R3)\
177  MAKE_PIN_FUNCTION(LCD_R4)\
178  MAKE_PIN_FUNCTION(LCD_R5)\
179  MAKE_PIN_FUNCTION(LCD_R6)\
180  MAKE_PIN_FUNCTION(LCD_R7)\
181  MAKE_PIN_FUNCTION(LCD_G0)\
182  MAKE_PIN_FUNCTION(LCD_G1)\
183  MAKE_PIN_FUNCTION(LCD_G2)\
184  MAKE_PIN_FUNCTION(LCD_G3)\
185  MAKE_PIN_FUNCTION(LCD_G4)\
186  MAKE_PIN_FUNCTION(LCD_G5)\
187  MAKE_PIN_FUNCTION(LCD_G6)\
188  MAKE_PIN_FUNCTION(LCD_G7)\
189  MAKE_PIN_FUNCTION(LCD_B0)\
190  MAKE_PIN_FUNCTION(LCD_B1)\
191  MAKE_PIN_FUNCTION(LCD_B2)\
192  MAKE_PIN_FUNCTION(LCD_B3)\
193  MAKE_PIN_FUNCTION(LCD_B4)\
194  MAKE_PIN_FUNCTION(LCD_B5)\
195  MAKE_PIN_FUNCTION(LCD_B6)\
196  MAKE_PIN_FUNCTION(LCD_B7)\
197  MAKE_PIN_FUNCTION(LCD_VSYNC)\
198  MAKE_PIN_FUNCTION(LCD_HSYNC)\
199  MAKE_PIN_FUNCTION(LCD_CLK)\
200  MAKE_PIN_FUNCTION(LCD_DE)\
201 
202 #define oC_MODULE_PINS_LCDTFT(MAKE_PIN) \
203  MAKE_PIN( PF10 , LCD , LCD_DE , 14) \
204  MAKE_PIN( PA3 , LCD , LCD_B5 , 14) \
205  MAKE_PIN( PA4 , LCD , LCD_VSYNC , 14) \
206  MAKE_PIN( PA6 , LCD , LCD_G2 , 14) \
207  MAKE_PIN( PB0 , LCD , LCD_R3 , 9 ) \
208  MAKE_PIN( PB1 , LCD , LCD_R6 , 9 ) \
209  MAKE_PIN( PG10 , LCD , LCD_G3 , 9 ) \
210  MAKE_PIN( PG12 , LCD , LCD_B4 , 9 ) \
211  MAKE_PIN( PG7 , LCD , LCD_CLK , 14) \
212  MAKE_PIN( PG6 , LCD , LCD_R7 , 14) \
213  MAKE_PIN( PB10 , LCD , LCD_G4 , 14) \
214  MAKE_PIN( PB11 , LCD , LCD_G5 , 14) \
215  MAKE_PIN( PG11 , LCD , LCD_B3 , 14) \
216  MAKE_PIN( PC6 , LCD , LCD_HSYNC , 14) \
217  MAKE_PIN( PC7 , LCD , LCD_G6 , 14) \
218  MAKE_PIN( PA11 , LCD , LCD_R4 , 14) \
219  MAKE_PIN( PA12 , LCD , LCD_R5 , 14) \
220  MAKE_PIN( PC10 , LCD , LCD_R2 , 14) \
221  MAKE_PIN( PB8 , LCD , LCD_B6 , 14) \
222  MAKE_PIN( PB9 , LCD , LCD_B7 , 14) \
223  MAKE_PIN( PD3 , LCD , LCD_G7 , 14) \
224  MAKE_PIN( PD6 , LCD , LCD_B2 , 14) \
225 
226 
227 #define oC_MODULE_PIN_FUNCTIONS_UART(MAKE_PIN_FUNCTION) \
228  MAKE_PIN_FUNCTION(Rx)\
229  MAKE_PIN_FUNCTION(Tx)\
230  MAKE_PIN_FUNCTION(CTS)\
231  MAKE_PIN_FUNCTION(RTS)\
232  MAKE_PIN_FUNCTION(CK)\
233 
234 #define oC_MODULE_PINS_UART(MAKE_PIN) \
235  MAKE_PIN( PA0 , UART2 , CTS , 7) \
236  MAKE_PIN( PA1 , UART2 , RTS , 7) \
237  MAKE_PIN( PA2 , UART2 , Tx , 7) \
238  MAKE_PIN( PA3 , UART2 , Rx , 7) \
239  MAKE_PIN( PA4 , UART2 , CK , 7) \
240  MAKE_PIN( PA8 , UART1 , CK , 7) \
241  MAKE_PIN( PA9 , UART1 , Tx , 7) \
242  MAKE_PIN( PA10 , UART1 , Rx , 7) \
243  MAKE_PIN( PA11 , UART1 , CTS , 7) \
244  MAKE_PIN( PA12 , UART1 , RTS , 7) \
245  MAKE_PIN( PB6 , UART1 , Tx , 7) \
246  MAKE_PIN( PB7 , UART1 , Rx , 7) \
247  MAKE_PIN( PB10 , UART3 , Tx , 7) \
248  MAKE_PIN( PB11 , UART3 , Rx , 7) \
249  MAKE_PIN( PB12 , UART3 , CK , 7) \
250  MAKE_PIN( PB13 , UART3 , CTS , 7) \
251  MAKE_PIN( PB14 , UART3 , RTS , 7) \
252  MAKE_PIN( PC10 , UART3 , Tx , 7) \
253  MAKE_PIN( PC11 , UART3 , Rx , 7) \
254  MAKE_PIN( PC12 , UART3 , CK , 7) \
255  MAKE_PIN( PD3 , UART2 , CTS , 7) \
256  MAKE_PIN( PD4 , UART2 , RTS , 7) \
257  MAKE_PIN( PD5 , UART2 , Tx , 7) \
258  MAKE_PIN( PD6 , UART2 , Rx , 7) \
259  MAKE_PIN( PD7 , UART2 , CK , 7) \
260  MAKE_PIN( PD8 , UART3 , Tx , 7) \
261  MAKE_PIN( PD9 , UART3 , Rx , 7) \
262  MAKE_PIN( PD10 , UART3 , CK , 7) \
263  MAKE_PIN( PD11 , UART3 , CTS , 7) \
264  MAKE_PIN( PD12 , UART3 , RTS , 7) \
265  MAKE_PIN( PA0 , UART3 , Tx , 8) \
266  MAKE_PIN( PA1 , UART3 , Rx , 8) \
267  MAKE_PIN( PA15 , UART3 , RTS , 8) \
268  MAKE_PIN( PB0 , UART3 , CTS , 8) \
269  MAKE_PIN( PC6 , UART5 , Tx , 8) \
270  MAKE_PIN( PC7 , UART5 , Rx , 8) \
271  MAKE_PIN( PC8 , UART5 , CK , 8) \
272  MAKE_PIN( PC10 , UART3 , Tx , 8) \
273  MAKE_PIN( PC11 , UART3 , Rx , 8) \
274  MAKE_PIN( PC12 , UART4 , Tx , 8) \
275  MAKE_PIN( PD2 , UART4 , Rx , 8) \
276  MAKE_PIN( PD14 , UART7 , CTS , 8) \
277  MAKE_PIN( PD15 , UART7 , RTS , 8) \
278  MAKE_PIN( PE0 , UART7 , Rx , 8) \
279  MAKE_PIN( PE1 , UART7 , Tx , 8) \
280  MAKE_PIN( PE7 , UART6 , Rx , 8) \
281  MAKE_PIN( PE8 , UART6 , Tx , 8) \
282  MAKE_PIN( PE9 , UART6 , RTS , 8) \
283  MAKE_PIN( PE10 , UART6 , CTS , 8) \
284  MAKE_PIN( PF6 , UART6 , Rx , 8) \
285  MAKE_PIN( PF7 , UART6 , Tx , 8) \
286  MAKE_PIN( PF8 , UART6 , RTS , 8) \
287  MAKE_PIN( PF9 , UART6 , CTS , 8) \
288  MAKE_PIN( PG7 , UART5 , CK , 8) \
289  MAKE_PIN( PG8 , UART5 , RTS , 8) \
290  MAKE_PIN( PG9 , UART5 , Rx , 8) \
291  MAKE_PIN( PG12 , UART5 , RTS , 8) \
292  MAKE_PIN( PG13 , UART5 , CTS , 8) \
293  MAKE_PIN( PG14 , UART5 , Tx , 8) \
294  MAKE_PIN( PG15 , UART5 , CTS , 8) \
295 
296 #define oC_MODULE_PIN_FUNCTIONS_SPI(MAKE_PIN_FUNCTION) \
297  MAKE_PIN_FUNCTION(MOSI)\
298  MAKE_PIN_FUNCTION(MISO)\
299  MAKE_PIN_FUNCTION(CS)\
300  MAKE_PIN_FUNCTION(CLK)\
301 
302 #define oC_MODULE_PINS_SPI(MAKE_PIN) \
303  MAKE_PIN( PA7 , SPI0 , MOSI , 1) \
304  MAKE_PIN( PA6 , SPI0 , MISO , 1) \
305  MAKE_PIN( PA5 , SPI0 , CLK , 1) \
306  MAKE_PIN( PA4 , SPI0 , CS , 1) \
307 
308 
309 #define oC_MODULE_PIN_FUNCTIONS_TIMER(MAKE_PIN_FUNCTION) \
310  MAKE_PIN_FUNCTION(CH1) \
311  MAKE_PIN_FUNCTION(CH2) \
312  MAKE_PIN_FUNCTION(CH3) \
313  MAKE_PIN_FUNCTION(CH4) \
314  MAKE_PIN_FUNCTION(CH1N) \
315  MAKE_PIN_FUNCTION(CH2N) \
316  MAKE_PIN_FUNCTION(CH3N) \
317  MAKE_PIN_FUNCTION(ETR) \
318  MAKE_PIN_FUNCTION(BKIN) \
319  MAKE_PIN_FUNCTION(BKIN2) \
320  MAKE_PIN_FUNCTION(IN1) \
321  MAKE_PIN_FUNCTION(IN2) \
322  MAKE_PIN_FUNCTION(OUT) \
323 
324 #define oC_MODULE_PINS_TIMER(MAKE_PIN) \
325  MAKE_PIN( PE5 , Timer9 , CH1 , 1) \
326  MAKE_PIN( PE6 , Timer9 , CH2 , 1) \
327  MAKE_PIN( PF6 , Timer10 , CH1 , 1) \
328  MAKE_PIN( PF7 , Timer11 , CH1 , 1) \
329  MAKE_PIN( PF8 , Timer13 , CH1 , 1) \
330  MAKE_PIN( PF9 , Timer14 , CH1 , 1) \
331  MAKE_PIN( PA0 , Timer2 , CH1 , 1) \
332  MAKE_PIN( PA0 , Timer2 , ETR , 1) \
333  MAKE_PIN( PA0 , Timer5 , CH1 , 1) \
334  MAKE_PIN( PA0 , Timer8 , ETR , 1) \
335  MAKE_PIN( PA1 , Timer2 , CH2 , 1) \
336  MAKE_PIN( PA1 , Timer5 , CH2 , 1) \
337  MAKE_PIN( PA2 , Timer2 , CH3 , 1) \
338  MAKE_PIN( PA2 , Timer5 , CH3 , 1) \
339  MAKE_PIN( PA2 , Timer9 , CH1 , 1) \
340  MAKE_PIN( PA3 , Timer2 , CH4 , 1) \
341  MAKE_PIN( PA3 , Timer5 , CH4 , 1) \
342  MAKE_PIN( PA3 , Timer9 , CH2 , 1) \
343  MAKE_PIN( PA5 , Timer2 , CH1 , 1) \
344  MAKE_PIN( PA5 , Timer2 , ETR , 1) \
345  MAKE_PIN( PA5 , Timer8 , CH1N , 1) \
346  MAKE_PIN( PA6 , Timer1 , BKIN , 1) \
347  MAKE_PIN( PA6 , Timer3 , CH1 , 1) \
348  MAKE_PIN( PA6 , Timer8 , BKIN , 1) \
349  MAKE_PIN( PA6 , Timer13 , CH1 , 1) \
350  MAKE_PIN( PA7 , Timer1 , CH1N , 1) \
351  MAKE_PIN( PA7 , Timer3 , CH2 , 1) \
352  MAKE_PIN( PA7 , Timer8 , CH1N , 1) \
353  MAKE_PIN( PA7 , Timer14 , CH1 , 1) \
354  MAKE_PIN( PB0 , Timer1 , CH2N , 1) \
355  MAKE_PIN( PB0 , Timer3 , CH3 , 1) \
356  MAKE_PIN( PB0 , Timer8 , CH2N , 1) \
357  MAKE_PIN( PB1 , Timer1 , CH3N , 1) \
358  MAKE_PIN( PB1 , Timer3 , CH4 , 1) \
359  MAKE_PIN( PB1 , Timer8 , CH3N , 1) \
360  MAKE_PIN( PE7 , Timer1 , ETR , 1) \
361  MAKE_PIN( PE8 , Timer1 , CH1N , 1) \
362  MAKE_PIN( PE9 , Timer1 , CH1 , 1) \
363  MAKE_PIN( PE10, Timer1 , CH2N , 1) \
364  MAKE_PIN( PE11, Timer1 , CH2 , 1) \
365  MAKE_PIN( PE12, Timer1 , CH3N , 1) \
366  MAKE_PIN( PE13, Timer1 , CH3 , 1) \
367  MAKE_PIN( PE14, Timer1 , CH4 , 1) \
368  MAKE_PIN( PE15, Timer1 , BKIN , 1) \
369  MAKE_PIN( PB10, Timer2 , CH3 , 1) \
370  MAKE_PIN( PB11, Timer2 , CH4 , 1) \
371  MAKE_PIN( PB12, Timer1 , BKIN , 1) \
372  MAKE_PIN( PB13, Timer1 , CH1N , 1) \
373  MAKE_PIN( PB14, Timer1 , CH2N , 1) \
374  MAKE_PIN( PB14, Timer8 , CH2N , 1) \
375  MAKE_PIN( PB14, Timer12 , CH1 , 1) \
376  MAKE_PIN( PB15, Timer1 , CH3N , 1) \
377  MAKE_PIN( PB15, Timer8 , CH3N , 1) \
378  MAKE_PIN( PB15, Timer12 , CH2 , 1) \
379  MAKE_PIN( PD12, Timer4 , CH1 , 1) \
380  MAKE_PIN( PD13, Timer4 , CH2 , 1) \
381  MAKE_PIN( PD14, Timer4 , CH3 , 1) \
382  MAKE_PIN( PD15, Timer4 , CH4 , 1) \
383  MAKE_PIN( PC6 , Timer3 , CH1 , 2) \
384  MAKE_PIN( PC6 , Timer8 , CH1 , 2) \
385  \
386  MAKE_PIN( PA1 , Timer4 , CH2 , 2) \
387  MAKE_PIN( PA2 , Timer4 , CH3 , 2) \
388  MAKE_PIN( PA3 , Timer4 , CH4 , 2) \
389  MAKE_PIN( PA6 , Timer3 , CH1 , 2) \
390  MAKE_PIN( PA7 , Timer3 , CH2 , 2) \
391  MAKE_PIN( PB0 , Timer3 , CH3 , 2) \
392  MAKE_PIN( PB1 , Timer3 , CH4 , 2) \
393  MAKE_PIN( PB4 , Timer3 , CH1 , 2) \
394  MAKE_PIN( PB5 , Timer3 , CH2 , 2) \
395  MAKE_PIN( PB6 , Timer3 , CH1 , 2) \
396  MAKE_PIN( PB7 , Timer3 , CH2 , 2) \
397  MAKE_PIN( PB8 , Timer3 , CH3 , 2) \
398  MAKE_PIN( PB9 , Timer3 , CH4 , 2) \
399  MAKE_PIN( PC6 , Timer7 , CH1 , 2) \
400  MAKE_PIN( PC7 , Timer7 , CH2 , 2) \
401  MAKE_PIN( PC8 , Timer7 , CH3 , 2) \
402  MAKE_PIN( PC9 , Timer7 , CH4 , 2) \
403  MAKE_PIN( PD2 , Timer3 , ETR , 2) \
404  MAKE_PIN( PD12, Timer3 , CH1 , 2) \
405  MAKE_PIN( PD13, Timer3 , CH2 , 2) \
406  MAKE_PIN( PD14, Timer3 , CH3 , 2) \
407  MAKE_PIN( PD15, Timer3 , CH4 , 2) \
408  MAKE_PIN( PE0 , Timer3 , ETR , 2) \
409  MAKE_PIN( PA0 , Timer7 , ETR , 3) \
410  MAKE_PIN( PA2 , Timer8 , CH1 , 3) \
411  MAKE_PIN( PA3 , Timer8 , CH2 , 3) \
412  MAKE_PIN( PA5 , Timer7 , CH1N , 3) \
413  MAKE_PIN( PA6 , Timer7 , BKIN , 3) \
414  MAKE_PIN( PA7 , Timer7 , CH1N , 3) \
415  MAKE_PIN( PA8 , Timer7 , BKIN2 , 3) \
416  MAKE_PIN( PB0 , Timer7 , CH2N , 3) \
417  MAKE_PIN( PB1 , Timer7 , CH3N , 3) \
418  MAKE_PIN( PB8 , Timer9 , CH1 , 3) \
419  MAKE_PIN( PB9 , Timer10 , CH1 , 3) \
420  MAKE_PIN( PB14, Timer7 , CH2N , 3) \
421  MAKE_PIN( PB15, Timer7 , CH3N , 3) \
422  MAKE_PIN( PC6 , Timer7 , CH1 , 3) \
423  MAKE_PIN( PC7 , Timer7 , CH2 , 3) \
424  MAKE_PIN( PC8 , Timer7 , CH3 , 3) \
425  MAKE_PIN( PC9 , Timer7 , CH4 , 3) \
426  MAKE_PIN( PD12, Timer14 , IN1 , 3) \
427  MAKE_PIN( PD13, Timer14 , OUT , 3) \
428  MAKE_PIN( PE0 , Timer14 , ETR , 3) \
429  MAKE_PIN( PE1 , Timer14 , IN2 , 3) \
430  MAKE_PIN( PE5 , Timer8 , CH1 , 3) \
431  MAKE_PIN( PE6 , Timer8 , CH2 , 3) \
432  MAKE_PIN( PF6 , Timer9 , CH1 , 3) \
433  MAKE_PIN( PF7 , Timer10 , CH1 , 3) \
434  MAKE_PIN( PG12, Timer14 , IN1 , 3) \
435  MAKE_PIN( PG13, Timer14 , OUT , 3) \
436  MAKE_PIN( PG14, Timer14 , ETR , 3) \
437 
438 // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
439 /*
440  * PINS OF THE ETH MODULE
441  */
442 // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
443 
444 //==========================================================================================================================================
448 //==========================================================================================================================================
449 #define oC_MODULE_PIN_FUNCTIONS_ETH(MAKE_PIN_FUNCTION) \
450  MAKE_PIN_FUNCTION(ETH_MII_CRS)\
451  MAKE_PIN_FUNCTION(ETH_MII_COL)\
452  MAKE_PIN_FUNCTION(ETH_MII_RX_CLK)\
453  MAKE_PIN_FUNCTION(ETH_MII_RX_DV)\
454  MAKE_PIN_FUNCTION(ETH_MII_RXD0)\
455  MAKE_PIN_FUNCTION(ETH_MII_RXD1)\
456  MAKE_PIN_FUNCTION(ETH_MII_RXD2)\
457  MAKE_PIN_FUNCTION(ETH_MII_RXD3)\
458  MAKE_PIN_FUNCTION(ETH_MII_RX_ER)\
459  MAKE_PIN_FUNCTION(ETH_MII_TX_EN)\
460  MAKE_PIN_FUNCTION(ETH_MII_TXD0)\
461  MAKE_PIN_FUNCTION(ETH_MII_TXD1)\
462  MAKE_PIN_FUNCTION(ETH_MII_TXD2)\
463  MAKE_PIN_FUNCTION(ETH_MII_TXD3)\
464  MAKE_PIN_FUNCTION(ETH_MII_TX_CLK)\
465  MAKE_PIN_FUNCTION(ETH_RMII_REF_CLK)\
466  MAKE_PIN_FUNCTION(ETH_RMII_CRS_DV)\
467  MAKE_PIN_FUNCTION(ETH_RMII_TX_EN)\
468  MAKE_PIN_FUNCTION(ETH_RMII_RXD0)\
469  MAKE_PIN_FUNCTION(ETH_RMII_RXD1)\
470  MAKE_PIN_FUNCTION(ETH_RMII_TXD0)\
471  MAKE_PIN_FUNCTION(ETH_RMII_TXD1)\
472  MAKE_PIN_FUNCTION(ETH_MDIO)\
473  MAKE_PIN_FUNCTION(ETH_MDC)\
474  MAKE_PIN_FUNCTION(ETH_PPS_OUT)\
475 
476 //==========================================================================================================================================
480 //==========================================================================================================================================
481 #define oC_MODULE_PINS_ETH(MAKE_PIN) \
482  MAKE_PIN( PA0 , ETH , ETH_MII_CRS , 11 ) \
483  MAKE_PIN( PA1 , ETH , ETH_MII_RX_CLK , 11 ) \
484  MAKE_PIN( PA1 , ETH , ETH_RMII_REF_CLK , 11 ) \
485  MAKE_PIN( PA2 , ETH , ETH_MDIO , 11 ) \
486  MAKE_PIN( PA3 , ETH , ETH_MII_COL , 11 ) \
487  MAKE_PIN( PA7 , ETH , ETH_MII_RX_DV , 11 ) \
488  MAKE_PIN( PA7 , ETH , ETH_RMII_CRS_DV , 11 ) \
489  MAKE_PIN( PB0 , ETH , ETH_MII_RXD2 , 11 ) \
490  MAKE_PIN( PB1 , ETH , ETH_MII_RXD3 , 11 ) \
491  MAKE_PIN( PB5 , ETH , ETH_PPS_OUT , 11 ) \
492  MAKE_PIN( PB8 , ETH , ETH_MII_TXD3 , 11 ) \
493  MAKE_PIN( PB10 , ETH , ETH_MII_RX_ER , 11 ) \
494  MAKE_PIN( PB11 , ETH , ETH_MII_TX_EN , 11 ) \
495  MAKE_PIN( PB11 , ETH , ETH_RMII_TX_EN , 11 ) \
496  MAKE_PIN( PB12 , ETH , ETH_MII_TXD0 , 11 ) \
497  MAKE_PIN( PB12 , ETH , ETH_RMII_TXD0 , 11 ) \
498  MAKE_PIN( PB13 , ETH , ETH_MII_TXD1 , 11 ) \
499  MAKE_PIN( PB13 , ETH , ETH_RMII_TXD1 , 11 ) \
500  MAKE_PIN( PC1 , ETH , ETH_MDC , 11 ) \
501  MAKE_PIN( PC2 , ETH , ETH_MII_TXD2 , 11 ) \
502  MAKE_PIN( PC3 , ETH , ETH_MII_TX_CLK , 11 ) \
503  MAKE_PIN( PC4 , ETH , ETH_MII_RXD0 , 11 ) \
504  MAKE_PIN( PC4 , ETH , ETH_RMII_RXD0 , 11 ) \
505  MAKE_PIN( PC5 , ETH , ETH_MII_RXD1 , 11 ) \
506  MAKE_PIN( PC5 , ETH , ETH_RMII_RXD1 , 11 ) \
507  MAKE_PIN( PE2 , ETH , ETH_MII_TXD3 , 11 ) \
508  MAKE_PIN( PG8 , ETH , ETH_PPS_OUT , 11 ) \
509  MAKE_PIN( PG11 , ETH , ETH_MII_TX_EN , 11 ) \
510  MAKE_PIN( PG11 , ETH , ETH_RMII_TX_EN , 11 ) \
511  MAKE_PIN( PG13 , ETH , ETH_MII_TXD0 , 11 ) \
512  MAKE_PIN( PG13 , ETH , ETH_RMII_TXD0 , 11 ) \
513  MAKE_PIN( PG14 , ETH , ETH_MII_TXD1 , 11 ) \
514  MAKE_PIN( PG14 , ETH , ETH_RMII_TXD1 , 11 ) \
515 
516 
517 #define oC_MODULE_PIN_FUNCTIONS_FMC(MAKE_PIN_FUNCTION) \
518  MAKE_PIN_FUNCTION(FMC_SDNWE)\
519  MAKE_PIN_FUNCTION(FMC_SDCKE0)\
520  MAKE_PIN_FUNCTION(FMC_SDCKE1)\
521  MAKE_PIN_FUNCTION(FMC_SDNE0)\
522  MAKE_PIN_FUNCTION(FMC_SDNE1)\
523  MAKE_PIN_FUNCTION(FMC_SDNRAS)\
524  MAKE_PIN_FUNCTION(FMC_SDNCAS)\
525  MAKE_PIN_FUNCTION(FMC_NE1)\
526  MAKE_PIN_FUNCTION(FMC_NL)\
527  MAKE_PIN_FUNCTION(FMC_SDCLK)\
528  MAKE_PIN_FUNCTION(FMC_CLK)\
529  MAKE_PIN_FUNCTION(FMC_CLE)\
530  MAKE_PIN_FUNCTION(FMC_ALE)\
531  MAKE_PIN_FUNCTION(FMC_D0)\
532  MAKE_PIN_FUNCTION(FMC_D1)\
533  MAKE_PIN_FUNCTION(FMC_D2)\
534  MAKE_PIN_FUNCTION(FMC_D3)\
535  MAKE_PIN_FUNCTION(FMC_D4)\
536  MAKE_PIN_FUNCTION(FMC_D5)\
537  MAKE_PIN_FUNCTION(FMC_D6)\
538  MAKE_PIN_FUNCTION(FMC_D7)\
539  MAKE_PIN_FUNCTION(FMC_D8)\
540  MAKE_PIN_FUNCTION(FMC_D9)\
541  MAKE_PIN_FUNCTION(FMC_D10)\
542  MAKE_PIN_FUNCTION(FMC_D11)\
543  MAKE_PIN_FUNCTION(FMC_D12)\
544  MAKE_PIN_FUNCTION(FMC_D13)\
545  MAKE_PIN_FUNCTION(FMC_D14)\
546  MAKE_PIN_FUNCTION(FMC_D15)\
547  MAKE_PIN_FUNCTION(FMC_D16)\
548  MAKE_PIN_FUNCTION(FMC_D17)\
549  MAKE_PIN_FUNCTION(FMC_D18)\
550  MAKE_PIN_FUNCTION(FMC_D19)\
551  MAKE_PIN_FUNCTION(FMC_D20)\
552  MAKE_PIN_FUNCTION(FMC_D21)\
553  MAKE_PIN_FUNCTION(FMC_D22)\
554  MAKE_PIN_FUNCTION(FMC_D23)\
555  MAKE_PIN_FUNCTION(FMC_D24)\
556  MAKE_PIN_FUNCTION(FMC_D25)\
557  MAKE_PIN_FUNCTION(FMC_D26)\
558  MAKE_PIN_FUNCTION(FMC_D27)\
559  MAKE_PIN_FUNCTION(FMC_D28)\
560  MAKE_PIN_FUNCTION(FMC_D29)\
561  MAKE_PIN_FUNCTION(FMC_D30)\
562  MAKE_PIN_FUNCTION(FMC_D31)\
563  MAKE_PIN_FUNCTION(FMC_NOE)\
564  MAKE_PIN_FUNCTION(FMC_NWE)\
565  MAKE_PIN_FUNCTION(FMC_NCE)\
566  MAKE_PIN_FUNCTION(FMC_NWAIT)\
567  MAKE_PIN_FUNCTION(FMC_A0)\
568  MAKE_PIN_FUNCTION(FMC_A1)\
569  MAKE_PIN_FUNCTION(FMC_A2)\
570  MAKE_PIN_FUNCTION(FMC_A3)\
571  MAKE_PIN_FUNCTION(FMC_A4)\
572  MAKE_PIN_FUNCTION(FMC_A5)\
573  MAKE_PIN_FUNCTION(FMC_A6)\
574  MAKE_PIN_FUNCTION(FMC_A7)\
575  MAKE_PIN_FUNCTION(FMC_A8)\
576  MAKE_PIN_FUNCTION(FMC_A9)\
577  MAKE_PIN_FUNCTION(FMC_A10)\
578  MAKE_PIN_FUNCTION(FMC_A11)\
579  MAKE_PIN_FUNCTION(FMC_A12)\
580  MAKE_PIN_FUNCTION(FMC_A13)\
581  MAKE_PIN_FUNCTION(FMC_A14)\
582  MAKE_PIN_FUNCTION(FMC_A15)\
583  MAKE_PIN_FUNCTION(FMC_A16)\
584  MAKE_PIN_FUNCTION(FMC_A17)\
585  MAKE_PIN_FUNCTION(FMC_A18)\
586  MAKE_PIN_FUNCTION(FMC_A19)\
587  MAKE_PIN_FUNCTION(FMC_A20)\
588  MAKE_PIN_FUNCTION(FMC_A21)\
589  MAKE_PIN_FUNCTION(FMC_A22)\
590  MAKE_PIN_FUNCTION(FMC_A23)\
591  MAKE_PIN_FUNCTION(FMC_A24)\
592  MAKE_PIN_FUNCTION(FMC_A25)\
593  MAKE_PIN_FUNCTION(FMC_NBL0)\
594  MAKE_PIN_FUNCTION(FMC_NBL1)\
595  MAKE_PIN_FUNCTION(FMC_BA0)\
596  MAKE_PIN_FUNCTION(FMC_BA1)\
597  MAKE_PIN_FUNCTION(FMC_INT)\
598  MAKE_PIN_FUNCTION(FMC_NE2)\
599  MAKE_PIN_FUNCTION(FMC_NE3)\
600  MAKE_PIN_FUNCTION(FMC_NE4)\
601  MAKE_PIN_FUNCTION(FMC_NBL2)\
602  MAKE_PIN_FUNCTION(FMC_NBL3)\
603 
604 #define oC_MODULE_PINS_FMC(MAKE_PIN) \
605  MAKE_PIN( PB5 , FMC , FMC_SDCKE1 , 12 ) \
606  MAKE_PIN( PB6 , FMC , FMC_SDNE1 , 12 ) \
607  MAKE_PIN( PB7 , FMC , FMC_NL , 12 ) \
608  MAKE_PIN( PC0 , FMC , FMC_SDNWE , 12 ) \
609  MAKE_PIN( PC2 , FMC , FMC_SDNE0 , 12 ) \
610  MAKE_PIN( PC3 , FMC , FMC_SDCKE0 , 12 ) \
611  MAKE_PIN( PD0 , FMC , FMC_D2 , 12 ) \
612  MAKE_PIN( PD1 , FMC , FMC_D3 , 12 ) \
613  MAKE_PIN( PD3 , FMC , FMC_CLK , 12 ) \
614  MAKE_PIN( PD4 , FMC , FMC_NOE , 12 ) \
615  MAKE_PIN( PD5 , FMC , FMC_NWE , 12 ) \
616  MAKE_PIN( PD6 , FMC , FMC_NWAIT , 12 ) \
617  MAKE_PIN( PD7 , FMC , FMC_NE1 , 12 ) \
618  MAKE_PIN( PD8 , FMC , FMC_D13 , 12 ) \
619  MAKE_PIN( PD9 , FMC , FMC_D14 , 12 ) \
620  MAKE_PIN( PD10, FMC , FMC_D15 , 12 ) \
621  MAKE_PIN( PD11, FMC , FMC_A16 , 12 ) \
622  MAKE_PIN( PD11, FMC , FMC_CLE , 12 ) \
623  MAKE_PIN( PD12, FMC , FMC_A17 , 12 ) \
624  MAKE_PIN( PD12, FMC , FMC_ALE , 12 ) \
625  MAKE_PIN( PD13, FMC , FMC_A18 , 12 ) \
626  MAKE_PIN( PD14, FMC , FMC_D0 , 12 ) \
627  MAKE_PIN( PD15, FMC , FMC_D1 , 12 ) \
628  MAKE_PIN( PE0 , FMC , FMC_NBL0 , 12 ) \
629  MAKE_PIN( PE1 , FMC , FMC_NBL1 , 12 ) \
630  MAKE_PIN( PE2 , FMC , FMC_A23 , 12 ) \
631  MAKE_PIN( PE3 , FMC , FMC_A19 , 12 ) \
632  MAKE_PIN( PE4 , FMC , FMC_A20 , 12 ) \
633  MAKE_PIN( PE5 , FMC , FMC_A21 , 12 ) \
634  MAKE_PIN( PE6 , FMC , FMC_A22 , 12 ) \
635  MAKE_PIN( PE7 , FMC , FMC_D4 , 12 ) \
636  MAKE_PIN( PE8 , FMC , FMC_D5 , 12 ) \
637  MAKE_PIN( PE9 , FMC , FMC_D6 , 12 ) \
638  MAKE_PIN( PE10, FMC , FMC_D7 , 12 ) \
639  MAKE_PIN( PE11, FMC , FMC_D8 , 12 ) \
640  MAKE_PIN( PE12, FMC , FMC_D9 , 12 ) \
641  MAKE_PIN( PE13, FMC , FMC_D10 , 12 ) \
642  MAKE_PIN( PE14, FMC , FMC_D11 , 12 ) \
643  MAKE_PIN( PE15, FMC , FMC_D12 , 12 ) \
644  MAKE_PIN( PF0 , FMC , FMC_A0 , 12 ) \
645  MAKE_PIN( PF1 , FMC , FMC_A1 , 12 ) \
646  MAKE_PIN( PF2 , FMC , FMC_A2 , 12 ) \
647  MAKE_PIN( PF3 , FMC , FMC_A3 , 12 ) \
648  MAKE_PIN( PF4 , FMC , FMC_A4 , 12 ) \
649  MAKE_PIN( PF5 , FMC , FMC_A5 , 12 ) \
650  MAKE_PIN( PF11, FMC , FMC_SDNRAS , 12 ) \
651  MAKE_PIN( PF12, FMC , FMC_A6 , 12 ) \
652  MAKE_PIN( PF13, FMC , FMC_A7 , 12 ) \
653  MAKE_PIN( PF14, FMC , FMC_A8 , 12 ) \
654  MAKE_PIN( PF15, FMC , FMC_A9 , 12 ) \
655  MAKE_PIN( PG0 , FMC , FMC_A10 , 12 ) \
656  MAKE_PIN( PG1 , FMC , FMC_A11 , 12 ) \
657  MAKE_PIN( PG2 , FMC , FMC_A12 , 12 ) \
658  MAKE_PIN( PG3 , FMC , FMC_A13 , 12 ) \
659  MAKE_PIN( PG4 , FMC , FMC_A14 , 12 ) \
660  MAKE_PIN( PG4 , FMC , FMC_BA0 , 12 ) \
661  MAKE_PIN( PG5 , FMC , FMC_A15 , 12 ) \
662  MAKE_PIN( PG5 , FMC , FMC_BA1 , 12 ) \
663  MAKE_PIN( PG8 , FMC , FMC_SDCLK , 12 ) \
664  MAKE_PIN( PG9 , FMC , FMC_NE2 , 12 ) \
665  MAKE_PIN( PG10, FMC , FMC_NE3 , 12 ) \
666  MAKE_PIN( PG12, FMC , FMC_NE4 , 12 ) \
667  MAKE_PIN( PG13, FMC , FMC_A24 , 12 ) \
668  MAKE_PIN( PG14, FMC , FMC_A25 , 12 ) \
669  MAKE_PIN( PG15, FMC , FMC_SDNCAS , 12 ) \
670 
671 
672 #define oC_MODULES_PINS_LIST(MAKE_MODULE) \
673  MAKE_MODULE(UART) \
674  MAKE_MODULE(SPI) \
675  MAKE_MODULE(LCDTFT) \
676  MAKE_MODULE(TIMER) \
677  MAKE_MODULE(ETH) \
678  MAKE_MODULE(FMC) \
679 
680 #endif /* SYSTEM_PORTABLE_INC_ST_STM32F4_STM32F429ZIT6U_OC_PINS_DEFS_H_ */
Contains macros for creating one word from more words in macros.