Choco OS  V.0.16.9.0
Join to the chocolate world
oc_channels_defs.h
1 
28 #ifndef SYSTEM_PORTABLE_INC_ST_STM32F7_STM32F746NGH6_OC_CHANNELS_DEFS_H_
29 #define SYSTEM_PORTABLE_INC_ST_STM32F7_STM32F746NGH6_OC_CHANNELS_DEFS_H_
30 
31 #include <oc_1word.h>
32 
33 #define oC_MODULE_CHANNELS_(MODULE_NAME) oC_1WORD_FROM_2(oC_MODULE_CHANNELS_ , MODULE_NAME )
34 
35 #define oC_CHANNEL_MASK_WIDTH 9ULL
36 
37 #define oC_MODULE_CHANNELS_FLASH(MAKE_CHANNEL) \
38  MAKE_CHANNEL( FLASH , FLASH , FLASH ) \
39 
40 #define oC_MODULE_CHANNELS_PWR(MAKE_CHANNEL) \
41  MAKE_CHANNEL( PWR , PWR , PWR ) \
42 
43 #define oC_MODULE_CHANNELS_RCC(MAKE_CHANNEL) \
44  MAKE_CHANNEL( RCC , RCC , RCC ) \
45 
46 #define oC_MODULE_CHANNELS_SYSCFG(MAKE_CHANNEL) \
47  MAKE_CHANNEL( SYSCFG , SYSCFG , SYSCFG ) \
48 
49 #define oC_MODULE_CHANNELS_CRC(MAKE_CHANNEL) \
50  MAKE_CHANNEL( CRC , CRC , CRC ) \
51 
52 #define oC_MODULE_CHANNELS_FMC(MAKE_CHANNEL) \
53  MAKE_CHANNEL( FMC , FMC , FMC ) \
54 
55 #define oC_MODULE_CHANNELS_QUADSPI(MAKE_CHANNEL) \
56  MAKE_CHANNEL( QUADSPI , QUADSPI , QUADSPI ) \
57 
58 #define oC_MODULE_CHANNELS_ADC(MAKE_CHANNEL) \
59  MAKE_CHANNEL( ADC0 , ADC1 , ADC ) \
60  MAKE_CHANNEL( ADC1 , ADC2 , ADC ) \
61  MAKE_CHANNEL( ADC2 , ADC3 , ADC ) \
62 
63 #define oC_MODULE_CHANNELS_DAC(MAKE_CHANNEL) \
64  MAKE_CHANNEL( DAC , DAC , DAC ) \
65 
66 #define oC_MODULE_CHANNELS_GPIO(MAKE_CHANNEL) \
67  MAKE_CHANNEL( PORTA , GPIOA , GPIO ) \
68  MAKE_CHANNEL( PORTB , GPIOB , GPIO ) \
69  MAKE_CHANNEL( PORTC , GPIOC , GPIO ) \
70  MAKE_CHANNEL( PORTD , GPIOD , GPIO ) \
71  MAKE_CHANNEL( PORTE , GPIOE , GPIO ) \
72  MAKE_CHANNEL( PORTF , GPIOF , GPIO ) \
73  MAKE_CHANNEL( PORTG , GPIOG , GPIO ) \
74  MAKE_CHANNEL( PORTH , GPIOH , GPIO ) \
75  MAKE_CHANNEL( PORTI , GPIOI , GPIO ) \
76  MAKE_CHANNEL( PORTJ , GPIOJ , GPIO ) \
77  MAKE_CHANNEL( PORTK , GPIOK , GPIO ) \
78 
79 #define oC_MODULE_CHANNELS_DMA(MAKE_CHANNEL) \
80  MAKE_CHANNEL( DMA0 , DMA1 , DMA , 0 , 0 ) \
81  MAKE_CHANNEL( DMA1 , DMA1 , DMA , 1 , 0 ) \
82  MAKE_CHANNEL( DMA2 , DMA1 , DMA , 2 , 0 ) \
83  MAKE_CHANNEL( DMA3 , DMA1 , DMA , 3 , 0 ) \
84  MAKE_CHANNEL( DMA4 , DMA1 , DMA , 4 , 0 ) \
85  MAKE_CHANNEL( DMA5 , DMA1 , DMA , 5 , 0 ) \
86  MAKE_CHANNEL( DMA6 , DMA1 , DMA , 6 , 0 ) \
87  MAKE_CHANNEL( DMA7 , DMA1 , DMA , 7 , 0 ) \
88  MAKE_CHANNEL( DMA8 , DMA1 , DMA , 0 , 1 ) \
89  MAKE_CHANNEL( DMA9 , DMA1 , DMA , 1 , 1 ) \
90  MAKE_CHANNEL( DMA10 , DMA1 , DMA , 2 , 1 ) \
91  MAKE_CHANNEL( DMA11 , DMA1 , DMA , 3 , 1 ) \
92  MAKE_CHANNEL( DMA12 , DMA1 , DMA , 4 , 1 ) \
93  MAKE_CHANNEL( DMA13 , DMA1 , DMA , 5 , 1 ) \
94  MAKE_CHANNEL( DMA14 , DMA1 , DMA , 6 , 1 ) \
95  MAKE_CHANNEL( DMA15 , DMA1 , DMA , 7 , 1 ) \
96  MAKE_CHANNEL( DMA16 , DMA1 , DMA , 0 , 2 ) \
97  MAKE_CHANNEL( DMA17 , DMA1 , DMA , 1 , 2 ) \
98  MAKE_CHANNEL( DMA18 , DMA1 , DMA , 2 , 2 ) \
99  MAKE_CHANNEL( DMA19 , DMA1 , DMA , 3 , 2 ) \
100  MAKE_CHANNEL( DMA20 , DMA1 , DMA , 4 , 2 ) \
101  MAKE_CHANNEL( DMA21 , DMA1 , DMA , 5 , 2 ) \
102  MAKE_CHANNEL( DMA22 , DMA1 , DMA , 6 , 2 ) \
103  MAKE_CHANNEL( DMA23 , DMA1 , DMA , 7 , 2 ) \
104  MAKE_CHANNEL( DMA24 , DMA1 , DMA , 0 , 3 ) \
105  MAKE_CHANNEL( DMA25 , DMA1 , DMA , 1 , 3 ) \
106  MAKE_CHANNEL( DMA26 , DMA1 , DMA , 2 , 3 ) \
107  MAKE_CHANNEL( DMA27 , DMA1 , DMA , 3 , 3 ) \
108  MAKE_CHANNEL( DMA28 , DMA1 , DMA , 4 , 3 ) \
109  MAKE_CHANNEL( DMA29 , DMA1 , DMA , 5 , 3 ) \
110  MAKE_CHANNEL( DMA30 , DMA1 , DMA , 6 , 3 ) \
111  MAKE_CHANNEL( DMA31 , DMA1 , DMA , 7 , 3 ) \
112  MAKE_CHANNEL( DMA32 , DMA1 , DMA , 0 , 4 ) \
113  MAKE_CHANNEL( DMA33 , DMA1 , DMA , 1 , 4 ) \
114  MAKE_CHANNEL( DMA34 , DMA1 , DMA , 2 , 4 ) \
115  MAKE_CHANNEL( DMA35 , DMA1 , DMA , 3 , 4 ) \
116  MAKE_CHANNEL( DMA36 , DMA1 , DMA , 4 , 4 ) \
117  MAKE_CHANNEL( DMA37 , DMA1 , DMA , 5 , 4 ) \
118  MAKE_CHANNEL( DMA38 , DMA1 , DMA , 6 , 4 ) \
119  MAKE_CHANNEL( DMA39 , DMA1 , DMA , 7 , 4 ) \
120  MAKE_CHANNEL( DMA40 , DMA1 , DMA , 0 , 5 ) \
121  MAKE_CHANNEL( DMA41 , DMA1 , DMA , 1 , 5 ) \
122  MAKE_CHANNEL( DMA42 , DMA1 , DMA , 2 , 5 ) \
123  MAKE_CHANNEL( DMA43 , DMA1 , DMA , 3 , 5 ) \
124  MAKE_CHANNEL( DMA44 , DMA1 , DMA , 4 , 5 ) \
125  MAKE_CHANNEL( DMA45 , DMA1 , DMA , 5 , 5 ) \
126  MAKE_CHANNEL( DMA46 , DMA1 , DMA , 6 , 5 ) \
127  MAKE_CHANNEL( DMA47 , DMA1 , DMA , 7 , 5 ) \
128  MAKE_CHANNEL( DMA48 , DMA1 , DMA , 0 , 6 ) \
129  MAKE_CHANNEL( DMA49 , DMA1 , DMA , 1 , 6 ) \
130  MAKE_CHANNEL( DMA50 , DMA1 , DMA , 2 , 6 ) \
131  MAKE_CHANNEL( DMA51 , DMA1 , DMA , 3 , 6 ) \
132  MAKE_CHANNEL( DMA52 , DMA1 , DMA , 4 , 6 ) \
133  MAKE_CHANNEL( DMA53 , DMA1 , DMA , 5 , 6 ) \
134  MAKE_CHANNEL( DMA54 , DMA1 , DMA , 6 , 6 ) \
135  MAKE_CHANNEL( DMA55 , DMA1 , DMA , 7 , 6 ) \
136  MAKE_CHANNEL( DMA56 , DMA1 , DMA , 0 , 7 ) \
137  MAKE_CHANNEL( DMA57 , DMA1 , DMA , 1 , 7 ) \
138  MAKE_CHANNEL( DMA58 , DMA1 , DMA , 2 , 7 ) \
139  MAKE_CHANNEL( DMA59 , DMA1 , DMA , 3 , 7 ) \
140  MAKE_CHANNEL( DMA60 , DMA1 , DMA , 4 , 7 ) \
141  MAKE_CHANNEL( DMA61 , DMA1 , DMA , 5 , 7 ) \
142  MAKE_CHANNEL( DMA62 , DMA1 , DMA , 6 , 7 ) \
143  MAKE_CHANNEL( DMA63 , DMA1 , DMA , 7 , 7 ) \
144  MAKE_CHANNEL( DMA64 , DMA2 , DMA , 0 , 0 ) \
145  MAKE_CHANNEL( DMA65 , DMA2 , DMA , 1 , 0 ) \
146  MAKE_CHANNEL( DMA66 , DMA2 , DMA , 2 , 0 ) \
147  MAKE_CHANNEL( DMA67 , DMA2 , DMA , 3 , 0 ) \
148  MAKE_CHANNEL( DMA68 , DMA2 , DMA , 4 , 0 ) \
149  MAKE_CHANNEL( DMA69 , DMA2 , DMA , 5 , 0 ) \
150  MAKE_CHANNEL( DMA70 , DMA2 , DMA , 6 , 0 ) \
151  MAKE_CHANNEL( DMA71 , DMA2 , DMA , 7 , 0 ) \
152  MAKE_CHANNEL( DMA72 , DMA2 , DMA , 0 , 1 ) \
153  MAKE_CHANNEL( DMA73 , DMA2 , DMA , 1 , 1 ) \
154  MAKE_CHANNEL( DMA74 , DMA2 , DMA , 2 , 1 ) \
155  MAKE_CHANNEL( DMA75 , DMA2 , DMA , 3 , 1 ) \
156  MAKE_CHANNEL( DMA76 , DMA2 , DMA , 4 , 1 ) \
157  MAKE_CHANNEL( DMA77 , DMA2 , DMA , 5 , 1 ) \
158  MAKE_CHANNEL( DMA78 , DMA2 , DMA , 6 , 1 ) \
159  MAKE_CHANNEL( DMA79 , DMA2 , DMA , 7 , 1 ) \
160  MAKE_CHANNEL( DMA80 , DMA2 , DMA , 0 , 2 ) \
161  MAKE_CHANNEL( DMA81 , DMA2 , DMA , 1 , 2 ) \
162  MAKE_CHANNEL( DMA82 , DMA2 , DMA , 2 , 2 ) \
163  MAKE_CHANNEL( DMA83 , DMA2 , DMA , 3 , 2 ) \
164  MAKE_CHANNEL( DMA84 , DMA2 , DMA , 4 , 2 ) \
165  MAKE_CHANNEL( DMA85 , DMA2 , DMA , 5 , 2 ) \
166  MAKE_CHANNEL( DMA86 , DMA2 , DMA , 6 , 2 ) \
167  MAKE_CHANNEL( DMA87 , DMA2 , DMA , 7 , 2 ) \
168  MAKE_CHANNEL( DMA88 , DMA2 , DMA , 0 , 3 ) \
169  MAKE_CHANNEL( DMA89 , DMA2 , DMA , 1 , 3 ) \
170  MAKE_CHANNEL( DMA90 , DMA2 , DMA , 2 , 3 ) \
171  MAKE_CHANNEL( DMA91 , DMA2 , DMA , 3 , 3 ) \
172  MAKE_CHANNEL( DMA92 , DMA2 , DMA , 4 , 3 ) \
173  MAKE_CHANNEL( DMA93 , DMA2 , DMA , 5 , 3 ) \
174  MAKE_CHANNEL( DMA94 , DMA2 , DMA , 6 , 3 ) \
175  MAKE_CHANNEL( DMA95 , DMA2 , DMA , 7 , 3 ) \
176  MAKE_CHANNEL( DMA96 , DMA2 , DMA , 0 , 4 ) \
177  MAKE_CHANNEL( DMA97 , DMA2 , DMA , 1 , 4 ) \
178  MAKE_CHANNEL( DMA98 , DMA2 , DMA , 2 , 4 ) \
179  MAKE_CHANNEL( DMA99 , DMA2 , DMA , 3 , 4 ) \
180  MAKE_CHANNEL( DMA100, DMA2 , DMA , 4 , 4 ) \
181  MAKE_CHANNEL( DMA101, DMA2 , DMA , 5 , 4 ) \
182  MAKE_CHANNEL( DMA102, DMA2 , DMA , 6 , 4 ) \
183  MAKE_CHANNEL( DMA103, DMA2 , DMA , 7 , 4 ) \
184  MAKE_CHANNEL( DMA104, DMA2 , DMA , 0 , 5 ) \
185  MAKE_CHANNEL( DMA105, DMA2 , DMA , 1 , 5 ) \
186  MAKE_CHANNEL( DMA106, DMA2 , DMA , 2 , 5 ) \
187  MAKE_CHANNEL( DMA107, DMA2 , DMA , 3 , 5 ) \
188  MAKE_CHANNEL( DMA108, DMA2 , DMA , 4 , 5 ) \
189  MAKE_CHANNEL( DMA109, DMA2 , DMA , 5 , 5 ) \
190  MAKE_CHANNEL( DMA110, DMA2 , DMA , 6 , 5 ) \
191  MAKE_CHANNEL( DMA111, DMA2 , DMA , 7 , 5 ) \
192  MAKE_CHANNEL( DMA112, DMA2 , DMA , 0 , 6 ) \
193  MAKE_CHANNEL( DMA113, DMA2 , DMA , 1 , 6 ) \
194  MAKE_CHANNEL( DMA114, DMA2 , DMA , 2 , 6 ) \
195  MAKE_CHANNEL( DMA115, DMA2 , DMA , 3 , 6 ) \
196  MAKE_CHANNEL( DMA116, DMA2 , DMA , 4 , 6 ) \
197  MAKE_CHANNEL( DMA117, DMA2 , DMA , 5 , 6 ) \
198  MAKE_CHANNEL( DMA118, DMA2 , DMA , 6 , 6 ) \
199  MAKE_CHANNEL( DMA119, DMA2 , DMA , 7 , 6 ) \
200  MAKE_CHANNEL( DMA120, DMA2 , DMA , 0 , 7 ) \
201  MAKE_CHANNEL( DMA121, DMA2 , DMA , 1 , 7 ) \
202  MAKE_CHANNEL( DMA122, DMA2 , DMA , 2 , 7 ) \
203  MAKE_CHANNEL( DMA123, DMA2 , DMA , 3 , 7 ) \
204  MAKE_CHANNEL( DMA124, DMA2 , DMA , 4 , 7 ) \
205  MAKE_CHANNEL( DMA125, DMA2 , DMA , 5 , 7 ) \
206  MAKE_CHANNEL( DMA126, DMA2 , DMA , 6 , 7 ) \
207  MAKE_CHANNEL( DMA127, DMA2 , DMA , 7 , 7 ) \
208 
209 #define oC_MODULE_CHANNELS_DMA2D(MAKE_CHANNEL) \
210  MAKE_CHANNEL( DMA2D, DMA2D , DMA2D ) \
211 
212 #define oC_MODULE_CHANNELS_EXTI(MAKE_CHANNEL) \
213  MAKE_CHANNEL( EXTI , EXTI , EXTI ) \
214 
215 #define oC_MODULE_CHANNELS_DCMI(MAKE_CHANNEL) \
216  MAKE_CHANNEL( DCMI , DCMI , DCMI ) \
217 
218 #define oC_MODULE_CHANNELS_LCDTFT(MAKE_CHANNEL) \
219  MAKE_CHANNEL( LCD , LCD_TFT , LTDC ) \
220 
221 #define oC_MODULE_CHANNELS_RNG(MAKE_CHANNEL) \
222  MAKE_CHANNEL( RNG , RNG , RNG ) \
223 
224 #define oC_MODULE_CHANNELS_CRYP(MAKE_CHANNEL) \
225  MAKE_CHANNEL( CRYP , CRYP , CRYP ) \
226 
227 #define oC_MODULE_CHANNELS_HASH(MAKE_CHANNEL) \
228  MAKE_CHANNEL( HASH , HASH , HASH ) \
229 
230 #define oC_MODULE_CHANNELS_TIMER(MAKE_CHANNEL) \
231  MAKE_CHANNEL( Timer0 , TIM1 , TIMx ) \
232  MAKE_CHANNEL( Timer1 , TIM2 , TIMx ) \
233  MAKE_CHANNEL( Timer2 , TIM3 , TIMx ) \
234  MAKE_CHANNEL( Timer3 , TIM4 , TIMx ) \
235  MAKE_CHANNEL( Timer4 , TIM5 , TIMx ) \
236  MAKE_CHANNEL( Timer5 , TIM6 , TIMx ) \
237  MAKE_CHANNEL( Timer6 , TIM7 , TIMx ) \
238  MAKE_CHANNEL( Timer7 , TIM8 , TIMx ) \
239  MAKE_CHANNEL( Timer8 , TIM9 , TIMx ) \
240  MAKE_CHANNEL( Timer9 , TIM10 , TIMx ) \
241  MAKE_CHANNEL( Timer10 , TIM11 , TIMx ) \
242  MAKE_CHANNEL( Timer11 , TIM12 , TIMx ) \
243  MAKE_CHANNEL( Timer12 , TIM13 , TIMx ) \
244  MAKE_CHANNEL( Timer13 , TIM14 , TIMx ) \
245  MAKE_CHANNEL( Timer14 , LPTIM1, LPTIMx ) \
246 
247 #define oC_MODULE_CHANNELS_WDG(MAKE_CHANNEL) \
248  MAKE_CHANNEL( IWDG , IWDG , IWDG ) \
249  MAKE_CHANNEL( WWDG , WWDG , WWDG ) \
250 
251 #define oC_MODULE_CHANNELS_RTC(MAKE_CHANNEL) \
252  MAKE_CHANNEL( RTC , RTC_BKP , RTC ) \
253 
254 #define oC_MODULE_CHANNELS_I2C(MAKE_CHANNEL) \
255  MAKE_CHANNEL( I2C0 , I2C1 , I2C ) \
256  MAKE_CHANNEL( I2C1 , I2C2 , I2C ) \
257  MAKE_CHANNEL( I2C2 , I2C3 , I2C ) \
258  MAKE_CHANNEL( I2C3 , I2C4 , I2C ) \
259 
260 #define oC_MODULE_CHANNELS_UART(MAKE_CHANNEL) \
261  MAKE_CHANNEL( UART0 , USART1 , USART ) \
262  MAKE_CHANNEL( UART1 , USART2 , USART ) \
263  MAKE_CHANNEL( UART2 , USART3 , USART ) \
264  MAKE_CHANNEL( UART3 , UART4 , USART ) \
265  MAKE_CHANNEL( UART4 , UART5 , USART ) \
266  MAKE_CHANNEL( UART5 , USART6 , USART ) \
267  MAKE_CHANNEL( UART6 , UART7 , USART ) \
268  MAKE_CHANNEL( UART7 , UART8 , USART ) \
269 
270 #define oC_MODULE_CHANNELS_SPI(MAKE_CHANNEL) \
271  MAKE_CHANNEL( SPI0 , SPI1 , SPI ) \
272  MAKE_CHANNEL( SPI1 , SPI2 , SPI ) \
273  MAKE_CHANNEL( SPI2 , SPI3 , SPI ) \
274  MAKE_CHANNEL( SPI3 , SPI4 , SPI ) \
275  MAKE_CHANNEL( SPI4 , SPI5 , SPI ) \
276  MAKE_CHANNEL( SPI5 , SPI6 , SPI ) \
277 
278 #define oC_MODULE_CHANNELS_SAI(MAKE_CHANNEL) \
279  MAKE_CHANNEL( SAI0 , SAI1 , SAI ) \
280  MAKE_CHANNEL( SAI1 , SAI2 , SAI ) \
281 
282 #define oC_MODULE_CHANNELS_SPDIFRX(MAKE_CHANNEL) \
283  MAKE_CHANNEL( SPDIFRX , SPDIFRX , SPDIFRX ) \
284 
285 #define oC_MODULE_CHANNELS_SDMMC(MAKE_CHANNEL) \
286  MAKE_CHANNEL( SDMMC , SDMMC1 , SDMMC ) \
287 
288 #define oC_MODULE_CHANNELS_CAN(MAKE_CHANNEL) \
289  MAKE_CHANNEL( CAN0 , CAN1 , CAN ) \
290  MAKE_CHANNEL( CAN1 , CAN2 , CAN ) \
291 
292 #define oC_MODULE_CHANNELS_USB(MAKE_CHANNEL) \
293  MAKE_CHANNEL( USB_FS , USB_OTG_FS , OTG ) \
294  MAKE_CHANNEL( USB_HS , USB_OTG_HS , OTG ) \
295 
296 #define oC_MODULE_CHANNELS_ETH(MAKE_CHANNEL) \
297  MAKE_CHANNEL( ETH , ETHERNET_MAC , ETH ) \
298 
299 #define oC_MODULE_CHANNELS_HDMI(MAKE_CHANNEL) \
300  MAKE_CHANNEL( HDMI , HDMI_CEC , HDMI ) \
301 
302 #define oC_MODULES_LIST(MAKE_MODULE_CHANNELS) \
303  MAKE_MODULE_CHANNELS( FLASH ) \
304  MAKE_MODULE_CHANNELS( PWR ) \
305  MAKE_MODULE_CHANNELS( RCC ) \
306  MAKE_MODULE_CHANNELS( SYSCFG ) \
307  MAKE_MODULE_CHANNELS( CRC ) \
308  MAKE_MODULE_CHANNELS( FMC ) \
309  MAKE_MODULE_CHANNELS( QUADSPI ) \
310  MAKE_MODULE_CHANNELS( ADC ) \
311  MAKE_MODULE_CHANNELS( DAC ) \
312  MAKE_MODULE_CHANNELS( GPIO ) \
313  MAKE_MODULE_CHANNELS( DMA ) \
314  MAKE_MODULE_CHANNELS( DMA2D ) \
315  MAKE_MODULE_CHANNELS( EXTI ) \
316  MAKE_MODULE_CHANNELS( DCMI ) \
317  MAKE_MODULE_CHANNELS( LCDTFT ) \
318  MAKE_MODULE_CHANNELS( RNG ) \
319  MAKE_MODULE_CHANNELS( CRYP ) \
320  MAKE_MODULE_CHANNELS( HASH ) \
321  MAKE_MODULE_CHANNELS( TIMER ) \
322  MAKE_MODULE_CHANNELS( WDG ) \
323  MAKE_MODULE_CHANNELS( RTC ) \
324  MAKE_MODULE_CHANNELS( I2C ) \
325  MAKE_MODULE_CHANNELS( UART ) \
326  MAKE_MODULE_CHANNELS( SPI ) \
327  MAKE_MODULE_CHANNELS( SAI ) \
328  MAKE_MODULE_CHANNELS( SDMMC ) \
329  MAKE_MODULE_CHANNELS( CAN ) \
330  MAKE_MODULE_CHANNELS( USB ) \
331  MAKE_MODULE_CHANNELS( ETH ) \
332  MAKE_MODULE_CHANNELS( HDMI ) \
333 
334 #endif /* SYSTEM_PORTABLE_INC_ST_STM32F7_STM32F746NGH6_OC_CHANNELS_DEFS_H_ */
Contains macros for creating one word from more words in macros.