Brick Groove Machine
0.9.3
Firmware embarqué pour contrôleur/synthé Brick
Chargement...
Recherche...
Aucune correspondance
board.h
Aller à la documentation de ce fichier.
1
/*
2
ChibiOS - Copyright (C) 2006..2023 Giovanni Di Sirio
3
4
Licensed under the Apache License, Version 2.0 (the "License");
5
you may not use this file except in compliance with the License.
6
You may obtain a copy of the License at
7
8
http://www.apache.org/licenses/LICENSE-2.0
9
10
Unless required by applicable law or agreed to in writing, software
11
distributed under the License is distributed on an "AS IS" BASIS,
12
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
See the License for the specific language governing permissions and
14
limitations under the License.
15
*/
16
17
/*
18
* This file has been automatically generated using ChibiStudio board
19
* generator plugin. Do not edit manually.
20
*/
21
22
#ifndef BOARD_H
23
#define BOARD_H
24
25
/*===========================================================================*/
26
/* Driver constants. */
27
/*===========================================================================*/
28
29
/*
30
* Setup for Brick board.
31
*/
32
33
/*
34
* Board identifier.
35
*/
36
#define BOARD_Brick
37
#define BOARD_NAME "Brick"
38
39
/*
40
* Board oscillators-related settings.
41
* NOTE: LSE not fitted.
42
*/
43
#if !defined(STM32_LSECLK)
44
#define STM32_LSECLK 0U
45
#endif
46
47
#if !defined(STM32_HSECLK)
48
#define STM32_HSECLK 8000000U
49
#endif
50
51
/*
52
* Board voltages.
53
* Required for performance limits calculation.
54
*/
55
#define STM32_VDD 300U
56
57
/*
58
* MCU type as defined in the ST header.
59
*/
60
#define STM32F429xx
61
62
/*
63
* IO pins assignments.
64
*/
65
#define GPIOA_PIN0 0U
66
#define GPIOA_MIDI_IN 1U
67
#define GPIOA_USART2_TX 2U
68
#define GPIOA_USART2_RX 3U
69
#define GPIOA_PIN4 4U
70
#define GPIOA_SPI1_SCK 5U
71
#define GPIOA_PIN6 6U
72
#define GPIOA_SPI1_MOSI 7U
73
#define GPIOA_PIN8 8U
74
#define GPIOA_USART1_TX 9U
75
#define GPIOA_USART1_RX 10U
76
#define GPIOA_USB_DM 11U
77
#define GPIOA_USB_DP 12U
78
#define GPIOA_SWDIO 13U
79
#define GPIOA_SWCLK 14U
80
#define GPIOA_ENC4_A 15U
81
82
#define GPIOB_SR_LOAD 0U
83
#define GPIOB_SR_CLK 1U
84
#define GPIOB_PIN2 2U
85
#define GPIOB_ENC4_B 3U
86
#define GPIOB_OLED_CS 4U
87
#define GPIOB_OLED_DC 5U
88
#define GPIOB_ENC2_A 6U
89
#define GPIOB_ENC2_B 7U
90
#define GPIOB_PIN8 8U
91
#define GPIOB_PIN9 9U
92
#define GPIOB_USART3_TX 10U
93
#define GPIOB_USART3_RX 11U
94
#define GPIOB_PIN12 12U
95
#define GPIOB_PIN13 13U
96
#define GPIOB_USBH_DM 14U
97
#define GPIOB_USBH_DP 15U
98
99
#define GPIOC_POT4 0U
100
#define GPIOC_POT3 1U
101
#define GPIOC_POT2 2U
102
#define GPIOC_POT1 3U
103
#define GPIOC_PIN4 4U
104
#define GPIOC_PIN5 5U
105
#define GPIOC_ENC1_A 6U
106
#define GPIOC_ENC1_B 7U
107
#define GPIOC_PIN8 8U
108
#define GPIOC_PIN9 9U
109
#define GPIOC_FLASH_SCK 10U
110
#define GPIOC_FLASH_MISO 11U
111
#define GPIOC_FLASH_MOSI 12U
112
#define GPIOC_PIN13 13U
113
#define GPIOC_PIN14 14U
114
#define GPIOC_PIN15 15U
115
116
#define GPIOD_PIN0 0U
117
#define GPIOD_FLASH_CS 1U
118
#define GPIOD_MIDI_OUT1 2U
119
#define GPIOD_LED_WS2812 3U
120
#define GPIOD_PIN4 4U
121
#define GPIOD_PIN5 5U
122
#define GPIOD_LED4 6U
123
#define GPIOD_LED3 7U
124
#define GPIOD_PIN8 8U
125
#define GPIOD_PIN9 9U
126
#define GPIOD_PIN10 10U
127
#define GPIOD_PIN11 11U
128
#define GPIOD_ENC3_A 12U
129
#define GPIOD_ENC3_B 13U
130
#define GPIOD_PIN14 14U
131
#define GPIOD_PIN15 15U
132
133
#define GPIOE_UART8_RX 0U
134
#define GPIOE_UART8_TX 1U
135
#define GPIOE_CART4_ID2 2U
136
#define GPIOE_CART4_ID1 3U
137
#define GPIOE_PIN4 4U
138
#define GPIOE_PIN5 5U
139
#define GPIOE_PIN6 6U
140
#define GPIOE_UART4_RX 7U
141
#define GPIOE_UART4_TX 8U
142
#define GPIOE_CART2_ID1 9U
143
#define GPIOE_PIN10 10U
144
#define GPIOE_PIN11 11U
145
#define GPIOE_PIN12 12U
146
#define GPIOE_PIN13 13U
147
#define GPIOE_CART1_ID2 14U
148
#define GPIOE_CART1_ID1 15U
149
150
#define GPIOF_PIN0 0U
151
#define GPIOF_PIN1 1U
152
#define GPIOF_PIN2 2U
153
#define GPIOF_PIN3 3U
154
#define GPIOF_PIN4 4U
155
#define GPIOF_PIN5 5U
156
#define GPIOF_PIN6 6U
157
#define GPIOF_PIN7 7U
158
#define GPIOF_PIN8 8U
159
#define GPIOF_PIN9 9U
160
#define GPIOF_PIN10 10U
161
#define GPIOF_PIN11 11U
162
#define GPIOF_PIN12 12U
163
#define GPIOF_PIN13 13U
164
#define GPIOF_PIN14 14U
165
#define GPIOF_CART3_ID2 15U
166
167
#define GPIOG_CART3_ID1 0U
168
#define GPIOG_CART2_ID2 1U
169
#define GPIOG_PIN2 2U
170
#define GPIOG_PIN3 3U
171
#define GPIOG_PIN4 4U
172
#define GPIOG_PIN5 5U
173
#define GPIOG_PIN6 6U
174
#define GPIOG_PIN7 7U
175
#define GPIOG_PIN8 8U
176
#define GPIOG_LED2 9U
177
#define GPIOG_LED1 10U
178
#define GPIOG_SR_DATA 11U
179
#define GPIOG_PIN12 12U
180
#define GPIOG_PIN13 13U
181
#define GPIOG_PIN14 14U
182
#define GPIOG_PIN15 15U
183
184
#define GPIOH_OSC_IN 0U
185
#define GPIOH_OSC_OUT 1U
186
#define GPIOH_PIN2 2U
187
#define GPIOH_PIN3 3U
188
#define GPIOH_PIN4 4U
189
#define GPIOH_PIN5 5U
190
#define GPIOH_PIN6 6U
191
#define GPIOH_PIN7 7U
192
#define GPIOH_PIN8 8U
193
#define GPIOH_PIN9 9U
194
#define GPIOH_PIN10 10U
195
#define GPIOH_PIN11 11U
196
#define GPIOH_PIN12 12U
197
#define GPIOH_PIN13 13U
198
#define GPIOH_PIN14 14U
199
#define GPIOH_PIN15 15U
200
201
#define GPIOI_PIN0 0U
202
#define GPIOI_PIN1 1U
203
#define GPIOI_PIN2 2U
204
#define GPIOI_PIN3 3U
205
#define GPIOI_PIN4 4U
206
#define GPIOI_PIN5 5U
207
#define GPIOI_PIN6 6U
208
#define GPIOI_PIN7 7U
209
#define GPIOI_PIN8 8U
210
#define GPIOI_PIN9 9U
211
#define GPIOI_PIN10 10U
212
#define GPIOI_PIN11 11U
213
#define GPIOI_PIN12 12U
214
#define GPIOI_PIN13 13U
215
#define GPIOI_PIN14 14U
216
#define GPIOI_PIN15 15U
217
218
#define GPIOJ_PIN0 0U
219
#define GPIOJ_PIN1 1U
220
#define GPIOJ_PIN2 2U
221
#define GPIOJ_PIN3 3U
222
#define GPIOJ_PIN4 4U
223
#define GPIOJ_PIN5 5U
224
#define GPIOJ_PIN6 6U
225
#define GPIOJ_PIN7 7U
226
#define GPIOJ_PIN8 8U
227
#define GPIOJ_PIN9 9U
228
#define GPIOJ_PIN10 10U
229
#define GPIOJ_PIN11 11U
230
#define GPIOJ_PIN12 12U
231
#define GPIOJ_PIN13 13U
232
#define GPIOJ_PIN14 14U
233
#define GPIOJ_PIN15 15U
234
235
#define GPIOK_PIN0 0U
236
#define GPIOK_PIN1 1U
237
#define GPIOK_PIN2 2U
238
#define GPIOK_PIN3 3U
239
#define GPIOK_PIN4 4U
240
#define GPIOK_PIN5 5U
241
#define GPIOK_PIN6 6U
242
#define GPIOK_PIN7 7U
243
#define GPIOK_PIN8 8U
244
#define GPIOK_PIN9 9U
245
#define GPIOK_PIN10 10U
246
#define GPIOK_PIN11 11U
247
#define GPIOK_PIN12 12U
248
#define GPIOK_PIN13 13U
249
#define GPIOK_PIN14 14U
250
#define GPIOK_PIN15 15U
251
252
/*
253
* IO lines assignments.
254
*/
255
#define LINE_MIDI_IN PAL_LINE(GPIOA, 1U)
256
#define LINE_USART2_TX PAL_LINE(GPIOA, 2U)
257
#define LINE_USART2_RX PAL_LINE(GPIOA, 3U)
258
#define LINE_SPI1_SCK PAL_LINE(GPIOA, 5U)
259
#define LINE_SPI1_MOSI PAL_LINE(GPIOA, 7U)
260
#define LINE_USART1_TX PAL_LINE(GPIOA, 9U)
261
#define LINE_USART1_RX PAL_LINE(GPIOA, 10U)
262
#define LINE_USB_DM PAL_LINE(GPIOA, 11U)
263
#define LINE_USB_DP PAL_LINE(GPIOA, 12U)
264
#define LINE_SWDIO PAL_LINE(GPIOA, 13U)
265
#define LINE_SWCLK PAL_LINE(GPIOA, 14U)
266
#define LINE_ENC4_A PAL_LINE(GPIOA, 15U)
267
#define LINE_SR_LOAD PAL_LINE(GPIOB, 0U)
268
#define LINE_SR_CLK PAL_LINE(GPIOB, 1U)
269
#define LINE_ENC4_B PAL_LINE(GPIOB, 3U)
270
#define LINE_OLED_CS PAL_LINE(GPIOB, 4U)
271
#define LINE_OLED_DC PAL_LINE(GPIOB, 5U)
272
#define LINE_ENC2_A PAL_LINE(GPIOB, 6U)
273
#define LINE_ENC2_B PAL_LINE(GPIOB, 7U)
274
#define LINE_USART3_TX PAL_LINE(GPIOB, 10U)
275
#define LINE_USART3_RX PAL_LINE(GPIOB, 11U)
276
#define LINE_USBH_DM PAL_LINE(GPIOB, 14U)
277
#define LINE_USBH_DP PAL_LINE(GPIOB, 15U)
278
#define LINE_POT4 PAL_LINE(GPIOC, 0U)
279
#define LINE_POT3 PAL_LINE(GPIOC, 1U)
280
#define LINE_POT2 PAL_LINE(GPIOC, 2U)
281
#define LINE_POT1 PAL_LINE(GPIOC, 3U)
282
#define LINE_ENC1_A PAL_LINE(GPIOC, 6U)
283
#define LINE_ENC1_B PAL_LINE(GPIOC, 7U)
284
#define LINE_FLASH_SCK PAL_LINE(GPIOC, 10U)
285
#define LINE_FLASH_MISO PAL_LINE(GPIOC, 11U)
286
#define LINE_FLASH_MOSI PAL_LINE(GPIOC, 12U)
287
#define LINE_FLASH_CS PAL_LINE(GPIOD, 1U)
288
#define LINE_MIDI_OUT1 PAL_LINE(GPIOD, 2U)
289
#define LINE_LED_WS2812 PAL_LINE(GPIOD, 3U)
290
#define LINE_LED4 PAL_LINE(GPIOD, 6U)
291
#define LINE_LED3 PAL_LINE(GPIOD, 7U)
292
#define LINE_ENC3_A PAL_LINE(GPIOD, 12U)
293
#define LINE_ENC3_B PAL_LINE(GPIOD, 13U)
294
#define LINE_UART8_RX PAL_LINE(GPIOE, 0U)
295
#define LINE_UART8_TX PAL_LINE(GPIOE, 1U)
296
#define LINE_CART4_ID2 PAL_LINE(GPIOE, 2U)
297
#define LINE_CART4_ID1 PAL_LINE(GPIOE, 3U)
298
#define LINE_UART4_RX PAL_LINE(GPIOE, 7U)
299
#define LINE_UART4_TX PAL_LINE(GPIOE, 8U)
300
#define LINE_CART2_ID1 PAL_LINE(GPIOE, 9U)
301
#define LINE_CART1_ID2 PAL_LINE(GPIOE, 14U)
302
#define LINE_CART1_ID1 PAL_LINE(GPIOE, 15U)
303
#define LINE_CART3_ID2 PAL_LINE(GPIOF, 15U)
304
#define LINE_CART3_ID1 PAL_LINE(GPIOG, 0U)
305
#define LINE_CART2_ID2 PAL_LINE(GPIOG, 1U)
306
#define LINE_LED2 PAL_LINE(GPIOG, 9U)
307
#define LINE_LED1 PAL_LINE(GPIOG, 10U)
308
#define LINE_SR_DATA PAL_LINE(GPIOG, 11U)
309
#define LINE_OSC_IN PAL_LINE(GPIOH, 0U)
310
#define LINE_OSC_OUT PAL_LINE(GPIOH, 1U)
311
312
/*===========================================================================*/
313
/* Driver pre-compile time settings. */
314
/*===========================================================================*/
315
316
/*===========================================================================*/
317
/* Derived constants and error checks. */
318
/*===========================================================================*/
319
320
/*===========================================================================*/
321
/* Driver data structures and types. */
322
/*===========================================================================*/
323
324
/*===========================================================================*/
325
/* Driver macros. */
326
/*===========================================================================*/
327
328
/*
329
* I/O ports initial setup, this configuration is established soon after reset
330
* in the initialization code.
331
* Please refer to the STM32 Reference Manual for details.
332
*/
333
#define PIN_MODE_INPUT(n) (0U << ((n) * 2U))
334
#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U))
335
#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U))
336
#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U))
337
#define PIN_ODR_LOW(n) (0U << (n))
338
#define PIN_ODR_HIGH(n) (1U << (n))
339
#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
340
#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
341
#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U))
342
#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U))
343
#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U))
344
#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U))
345
#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U))
346
#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U))
347
#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U))
348
#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U))
349
350
/*
351
* GPIOA setup:
352
*
353
* PA0 - PIN0 (input pullup).
354
* PA1 - MIDI_IN (input pullup).
355
* PA2 - USART2_TX (alternate 7).
356
* PA3 - USART2_RX (alternate 7).
357
* PA4 - PIN4 (input pullup).
358
* PA5 - SPI1_SCK (alternate 5).
359
* PA6 - PIN6 (input pullup).
360
* PA7 - SPI1_MOSI (alternate 5).
361
* PA8 - PIN8 (input pullup).
362
* PA9 - USART1_TX (alternate 7).
363
* PA10 - USART1_RX (alternate 7).
364
* PA11 - USB_DM (alternate 10).
365
* PA12 - USB_DP (alternate 10).
366
* PA13 - SWDIO (alternate 0).
367
* PA14 - SWCLK (alternate 0).
368
* PA15 - ENC4_A (input pullup).
369
*/
370
#define VAL_GPIOA_MODER (PIN_MODE_INPUT(GPIOA_PIN0) | \
371
PIN_MODE_INPUT(GPIOA_MIDI_IN) | \
372
PIN_MODE_ALTERNATE(GPIOA_USART2_TX) | \
373
PIN_MODE_ALTERNATE(GPIOA_USART2_RX) | \
374
PIN_MODE_INPUT(GPIOA_PIN4) | \
375
PIN_MODE_ALTERNATE(GPIOA_SPI1_SCK) | \
376
PIN_MODE_INPUT(GPIOA_PIN6) | \
377
PIN_MODE_ALTERNATE(GPIOA_SPI1_MOSI) | \
378
PIN_MODE_INPUT(GPIOA_PIN8) | \
379
PIN_MODE_ALTERNATE(GPIOA_USART1_TX) | \
380
PIN_MODE_ALTERNATE(GPIOA_USART1_RX) | \
381
PIN_MODE_ALTERNATE(GPIOA_USB_DM) | \
382
PIN_MODE_ALTERNATE(GPIOA_USB_DP) | \
383
PIN_MODE_ALTERNATE(GPIOA_SWDIO) | \
384
PIN_MODE_ALTERNATE(GPIOA_SWCLK) | \
385
PIN_MODE_ALTERNATE(GPIOA_ENC4_A))
386
#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(GPIOA_PIN0) | \
387
PIN_OTYPE_PUSHPULL(GPIOA_MIDI_IN) | \
388
PIN_OTYPE_PUSHPULL(GPIOA_USART2_TX) | \
389
PIN_OTYPE_PUSHPULL(GPIOA_USART2_RX) | \
390
PIN_OTYPE_PUSHPULL(GPIOA_PIN4) | \
391
PIN_OTYPE_PUSHPULL(GPIOA_SPI1_SCK) | \
392
PIN_OTYPE_PUSHPULL(GPIOA_PIN6) | \
393
PIN_OTYPE_PUSHPULL(GPIOA_SPI1_MOSI) | \
394
PIN_OTYPE_PUSHPULL(GPIOA_PIN8) | \
395
PIN_OTYPE_PUSHPULL(GPIOA_USART1_TX) | \
396
PIN_OTYPE_PUSHPULL(GPIOA_USART1_RX) | \
397
PIN_OTYPE_PUSHPULL(GPIOA_USB_DM) | \
398
PIN_OTYPE_PUSHPULL(GPIOA_USB_DP) | \
399
PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) | \
400
PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) | \
401
PIN_OTYPE_PUSHPULL(GPIOA_ENC4_A))
402
#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOA_PIN0) | \
403
PIN_OSPEED_HIGH(GPIOA_MIDI_IN) | \
404
PIN_OSPEED_HIGH(GPIOA_USART2_TX) | \
405
PIN_OSPEED_HIGH(GPIOA_USART2_RX) | \
406
PIN_OSPEED_VERYLOW(GPIOA_PIN4) | \
407
PIN_OSPEED_HIGH(GPIOA_SPI1_SCK) | \
408
PIN_OSPEED_VERYLOW(GPIOA_PIN6) | \
409
PIN_OSPEED_HIGH(GPIOA_SPI1_MOSI) | \
410
PIN_OSPEED_VERYLOW(GPIOA_PIN8) | \
411
PIN_OSPEED_HIGH(GPIOA_USART1_TX) | \
412
PIN_OSPEED_HIGH(GPIOA_USART1_RX) | \
413
PIN_OSPEED_HIGH(GPIOA_USB_DM) | \
414
PIN_OSPEED_HIGH(GPIOA_USB_DP) | \
415
PIN_OSPEED_HIGH(GPIOA_SWDIO) | \
416
PIN_OSPEED_HIGH(GPIOA_SWCLK) | \
417
PIN_OSPEED_HIGH(GPIOA_ENC4_A))
418
#define VAL_GPIOA_PUPDR (PIN_PUPDR_PULLUP(GPIOA_PIN0) | \
419
PIN_PUPDR_PULLUP(GPIOA_MIDI_IN) | \
420
PIN_PUPDR_FLOATING(GPIOA_USART2_TX) | \
421
PIN_PUPDR_FLOATING(GPIOA_USART2_RX) | \
422
PIN_PUPDR_PULLUP(GPIOA_PIN4) | \
423
PIN_PUPDR_FLOATING(GPIOA_SPI1_SCK) | \
424
PIN_PUPDR_PULLUP(GPIOA_PIN6) | \
425
PIN_PUPDR_FLOATING(GPIOA_SPI1_MOSI) | \
426
PIN_PUPDR_PULLUP(GPIOA_PIN8) | \
427
PIN_PUPDR_FLOATING(GPIOA_USART1_TX) | \
428
PIN_PUPDR_FLOATING(GPIOA_USART1_RX) | \
429
PIN_PUPDR_FLOATING(GPIOA_USB_DM) | \
430
PIN_PUPDR_FLOATING(GPIOA_USB_DP) | \
431
PIN_PUPDR_FLOATING(GPIOA_SWDIO) | \
432
PIN_PUPDR_FLOATING(GPIOA_SWCLK) | \
433
PIN_PUPDR_PULLUP(GPIOA_ENC4_A))
434
#define VAL_GPIOA_ODR (PIN_ODR_HIGH(GPIOA_PIN0) | \
435
PIN_ODR_HIGH(GPIOA_MIDI_IN) | \
436
PIN_ODR_HIGH(GPIOA_USART2_TX) | \
437
PIN_ODR_HIGH(GPIOA_USART2_RX) | \
438
PIN_ODR_HIGH(GPIOA_PIN4) | \
439
PIN_ODR_HIGH(GPIOA_SPI1_SCK) | \
440
PIN_ODR_HIGH(GPIOA_PIN6) | \
441
PIN_ODR_HIGH(GPIOA_SPI1_MOSI) | \
442
PIN_ODR_HIGH(GPIOA_PIN8) | \
443
PIN_ODR_HIGH(GPIOA_USART1_TX) | \
444
PIN_ODR_HIGH(GPIOA_USART1_RX) | \
445
PIN_ODR_HIGH(GPIOA_USB_DM) | \
446
PIN_ODR_HIGH(GPIOA_USB_DP) | \
447
PIN_ODR_HIGH(GPIOA_SWDIO) | \
448
PIN_ODR_HIGH(GPIOA_SWCLK) | \
449
PIN_ODR_HIGH(GPIOA_ENC4_A))
450
#define VAL_GPIOA_AFRL (PIN_AFIO_AF(GPIOA_PIN0, 0U) | \
451
PIN_AFIO_AF(GPIOA_MIDI_IN, 0U) | \
452
PIN_AFIO_AF(GPIOA_USART2_TX, 7U) | \
453
PIN_AFIO_AF(GPIOA_USART2_RX, 7U) | \
454
PIN_AFIO_AF(GPIOA_PIN4, 0U) | \
455
PIN_AFIO_AF(GPIOA_SPI1_SCK, 5U) | \
456
PIN_AFIO_AF(GPIOA_PIN6, 0U) | \
457
PIN_AFIO_AF(GPIOA_SPI1_MOSI, 5U))
458
#define VAL_GPIOA_AFRH (PIN_AFIO_AF(GPIOA_PIN8, 0U) | \
459
PIN_AFIO_AF(GPIOA_USART1_TX, 7U) | \
460
PIN_AFIO_AF(GPIOA_USART1_RX, 7U) | \
461
PIN_AFIO_AF(GPIOA_USB_DM, 10U) | \
462
PIN_AFIO_AF(GPIOA_USB_DP, 10U) | \
463
PIN_AFIO_AF(GPIOA_SWDIO, 0U) | \
464
PIN_AFIO_AF(GPIOA_SWCLK, 0U) | \
465
PIN_AFIO_AF(GPIOA_ENC4_A, 1U))
466
467
/*
468
* GPIOB setup:
469
*
470
* PB0 - SR_LOAD (output pushpull maximum).
471
* PB1 - SR_CLK (output pushpull maximum).
472
* PB2 - PIN2 (input pullup).
473
* PB3 - ENC4_B (input pullup).
474
* PB4 - OLED_CS (output pushpull maximum).
475
* PB5 - OLED_DC (output pushpull maximum).
476
* PB6 - ENC2_A (input pullup).
477
* PB7 - ENC2_B (input pullup).
478
* PB8 - PIN8 (input pullup).
479
* PB9 - PIN9 (input pullup).
480
* PB10 - USART3_TX (alternate 7).
481
* PB11 - USART3_RX (alternate 7).
482
* PB12 - PIN12 (input pullup).
483
* PB13 - PIN13 (input pullup).
484
* PB14 - USBH_DM (alternate 12).
485
* PB15 - USBH_DP (alternate 12).
486
*/
487
#define VAL_GPIOB_MODER (PIN_MODE_OUTPUT(GPIOB_SR_LOAD) | \
488
PIN_MODE_OUTPUT(GPIOB_SR_CLK) | \
489
PIN_MODE_INPUT(GPIOB_PIN2) | \
490
PIN_MODE_ALTERNATE(GPIOB_ENC4_B) | \
491
PIN_MODE_OUTPUT(GPIOB_OLED_CS) | \
492
PIN_MODE_OUTPUT(GPIOB_OLED_DC) | \
493
PIN_MODE_ALTERNATE(GPIOB_ENC2_A) | \
494
PIN_MODE_ALTERNATE(GPIOB_ENC2_B) | \
495
PIN_MODE_INPUT(GPIOB_PIN8) | \
496
PIN_MODE_INPUT(GPIOB_PIN9) | \
497
PIN_MODE_ALTERNATE(GPIOB_USART3_TX) | \
498
PIN_MODE_ALTERNATE(GPIOB_USART3_RX) | \
499
PIN_MODE_INPUT(GPIOB_PIN12) | \
500
PIN_MODE_INPUT(GPIOB_PIN13) | \
501
PIN_MODE_ALTERNATE(GPIOB_USBH_DM) | \
502
PIN_MODE_ALTERNATE(GPIOB_USBH_DP))
503
#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(GPIOB_SR_LOAD) | \
504
PIN_OTYPE_PUSHPULL(GPIOB_SR_CLK) | \
505
PIN_OTYPE_PUSHPULL(GPIOB_PIN2) | \
506
PIN_OTYPE_PUSHPULL(GPIOB_ENC4_B) | \
507
PIN_OTYPE_PUSHPULL(GPIOB_OLED_CS) | \
508
PIN_OTYPE_PUSHPULL(GPIOB_OLED_DC) | \
509
PIN_OTYPE_PUSHPULL(GPIOB_ENC2_A) | \
510
PIN_OTYPE_PUSHPULL(GPIOB_ENC2_B) | \
511
PIN_OTYPE_PUSHPULL(GPIOB_PIN8) | \
512
PIN_OTYPE_PUSHPULL(GPIOB_PIN9) | \
513
PIN_OTYPE_PUSHPULL(GPIOB_USART3_TX) | \
514
PIN_OTYPE_PUSHPULL(GPIOB_USART3_RX) | \
515
PIN_OTYPE_PUSHPULL(GPIOB_PIN12) | \
516
PIN_OTYPE_PUSHPULL(GPIOB_PIN13) | \
517
PIN_OTYPE_PUSHPULL(GPIOB_USBH_DM) | \
518
PIN_OTYPE_PUSHPULL(GPIOB_USBH_DP))
519
#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_HIGH(GPIOB_SR_LOAD) | \
520
PIN_OSPEED_HIGH(GPIOB_SR_CLK) | \
521
PIN_OSPEED_VERYLOW(GPIOB_PIN2) | \
522
PIN_OSPEED_HIGH(GPIOB_ENC4_B) | \
523
PIN_OSPEED_HIGH(GPIOB_OLED_CS) | \
524
PIN_OSPEED_HIGH(GPIOB_OLED_DC) | \
525
PIN_OSPEED_HIGH(GPIOB_ENC2_A) | \
526
PIN_OSPEED_HIGH(GPIOB_ENC2_B) | \
527
PIN_OSPEED_VERYLOW(GPIOB_PIN8) | \
528
PIN_OSPEED_VERYLOW(GPIOB_PIN9) | \
529
PIN_OSPEED_HIGH(GPIOB_USART3_TX) | \
530
PIN_OSPEED_HIGH(GPIOB_USART3_RX) | \
531
PIN_OSPEED_VERYLOW(GPIOB_PIN12) | \
532
PIN_OSPEED_VERYLOW(GPIOB_PIN13) | \
533
PIN_OSPEED_HIGH(GPIOB_USBH_DM) | \
534
PIN_OSPEED_HIGH(GPIOB_USBH_DP))
535
#define VAL_GPIOB_PUPDR (PIN_PUPDR_FLOATING(GPIOB_SR_LOAD) | \
536
PIN_PUPDR_FLOATING(GPIOB_SR_CLK) | \
537
PIN_PUPDR_PULLUP(GPIOB_PIN2) | \
538
PIN_PUPDR_PULLUP(GPIOB_ENC4_B) | \
539
PIN_PUPDR_FLOATING(GPIOB_OLED_CS) | \
540
PIN_PUPDR_FLOATING(GPIOB_OLED_DC) | \
541
PIN_PUPDR_PULLUP(GPIOB_ENC2_A) | \
542
PIN_PUPDR_PULLUP(GPIOB_ENC2_B) | \
543
PIN_PUPDR_PULLUP(GPIOB_PIN8) | \
544
PIN_PUPDR_PULLUP(GPIOB_PIN9) | \
545
PIN_PUPDR_FLOATING(GPIOB_USART3_TX) | \
546
PIN_PUPDR_FLOATING(GPIOB_USART3_RX) | \
547
PIN_PUPDR_PULLUP(GPIOB_PIN12) | \
548
PIN_PUPDR_PULLUP(GPIOB_PIN13) | \
549
PIN_PUPDR_FLOATING(GPIOB_USBH_DM) | \
550
PIN_PUPDR_FLOATING(GPIOB_USBH_DP))
551
#define VAL_GPIOB_ODR (PIN_ODR_HIGH(GPIOB_SR_LOAD) | \
552
PIN_ODR_LOW(GPIOB_SR_CLK) | \
553
PIN_ODR_HIGH(GPIOB_PIN2) | \
554
PIN_ODR_HIGH(GPIOB_ENC4_B) | \
555
PIN_ODR_HIGH(GPIOB_OLED_CS) | \
556
PIN_ODR_HIGH(GPIOB_OLED_DC) | \
557
PIN_ODR_HIGH(GPIOB_ENC2_A) | \
558
PIN_ODR_HIGH(GPIOB_ENC2_B) | \
559
PIN_ODR_HIGH(GPIOB_PIN8) | \
560
PIN_ODR_HIGH(GPIOB_PIN9) | \
561
PIN_ODR_HIGH(GPIOB_USART3_TX) | \
562
PIN_ODR_HIGH(GPIOB_USART3_RX) | \
563
PIN_ODR_HIGH(GPIOB_PIN12) | \
564
PIN_ODR_HIGH(GPIOB_PIN13) | \
565
PIN_ODR_HIGH(GPIOB_USBH_DM) | \
566
PIN_ODR_HIGH(GPIOB_USBH_DP))
567
#define VAL_GPIOB_AFRL (PIN_AFIO_AF(GPIOB_SR_LOAD, 0U) | \
568
PIN_AFIO_AF(GPIOB_SR_CLK, 0U) | \
569
PIN_AFIO_AF(GPIOB_PIN2, 0U) | \
570
PIN_AFIO_AF(GPIOB_ENC4_B, 1U) | \
571
PIN_AFIO_AF(GPIOB_OLED_CS, 0U) | \
572
PIN_AFIO_AF(GPIOB_OLED_DC, 0U) | \
573
PIN_AFIO_AF(GPIOB_ENC2_A,2U) | \
574
PIN_AFIO_AF(GPIOB_ENC2_B, 2U))
575
#define VAL_GPIOB_AFRH (PIN_AFIO_AF(GPIOB_PIN8, 0U) | \
576
PIN_AFIO_AF(GPIOB_PIN9, 0U) | \
577
PIN_AFIO_AF(GPIOB_USART3_TX, 7U) | \
578
PIN_AFIO_AF(GPIOB_USART3_RX, 7U) | \
579
PIN_AFIO_AF(GPIOB_PIN12, 0U) | \
580
PIN_AFIO_AF(GPIOB_PIN13, 0U) | \
581
PIN_AFIO_AF(GPIOB_USBH_DM, 12U) | \
582
PIN_AFIO_AF(GPIOB_USBH_DP, 12U))
583
584
/*
585
* GPIOC setup:
586
*
587
* PC0 - POT4 (analog).
588
* PC1 - POT3 (analog).
589
* PC2 - POT2 (analog).
590
* PC3 - POT1 (analog).
591
* PC4 - PIN4 (input pullup).
592
* PC5 - PIN5 (input pullup).
593
* PC6 - ENC1_A (input pullup).
594
* PC7 - ENC1_B (input pullup).
595
* PC8 - PIN8 (input pullup).
596
* PC9 - PIN9 (input pullup).
597
* PC10 - FLASH_SCK (alternate 6).
598
* PC11 - FLASH_MISO (alternate 6).
599
* PC12 - FLASH_MOSI (alternate 6).
600
* PC13 - PIN13 (input pullup).
601
* PC14 - PIN14 (input pullup).
602
* PC15 - PIN15 (input pullup).
603
*/
604
#define VAL_GPIOC_MODER (PIN_MODE_ANALOG(GPIOC_POT4) | \
605
PIN_MODE_ANALOG(GPIOC_POT3) | \
606
PIN_MODE_ANALOG(GPIOC_POT2) | \
607
PIN_MODE_ANALOG(GPIOC_POT1) | \
608
PIN_MODE_INPUT(GPIOC_PIN4) | \
609
PIN_MODE_INPUT(GPIOC_PIN5) | \
610
PIN_MODE_ALTERNATE(GPIOC_ENC1_A) | \
611
PIN_MODE_ALTERNATE(GPIOC_ENC1_B) | \
612
PIN_MODE_INPUT(GPIOC_PIN8) | \
613
PIN_MODE_INPUT(GPIOC_PIN9) | \
614
PIN_MODE_ALTERNATE(GPIOC_FLASH_SCK) | \
615
PIN_MODE_ALTERNATE(GPIOC_FLASH_MISO) | \
616
PIN_MODE_ALTERNATE(GPIOC_FLASH_MOSI) | \
617
PIN_MODE_INPUT(GPIOC_PIN13) | \
618
PIN_MODE_INPUT(GPIOC_PIN14) | \
619
PIN_MODE_INPUT(GPIOC_PIN15))
620
#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(GPIOC_POT4) | \
621
PIN_OTYPE_PUSHPULL(GPIOC_POT3) | \
622
PIN_OTYPE_PUSHPULL(GPIOC_POT2) | \
623
PIN_OTYPE_PUSHPULL(GPIOC_POT1) | \
624
PIN_OTYPE_PUSHPULL(GPIOC_PIN4) | \
625
PIN_OTYPE_PUSHPULL(GPIOC_PIN5) | \
626
PIN_OTYPE_PUSHPULL(GPIOC_ENC1_A) | \
627
PIN_OTYPE_PUSHPULL(GPIOC_ENC1_B) | \
628
PIN_OTYPE_PUSHPULL(GPIOC_PIN8) | \
629
PIN_OTYPE_PUSHPULL(GPIOC_PIN9) | \
630
PIN_OTYPE_PUSHPULL(GPIOC_FLASH_SCK) | \
631
PIN_OTYPE_PUSHPULL(GPIOC_FLASH_MISO) | \
632
PIN_OTYPE_PUSHPULL(GPIOC_FLASH_MOSI) | \
633
PIN_OTYPE_PUSHPULL(GPIOC_PIN13) | \
634
PIN_OTYPE_PUSHPULL(GPIOC_PIN14) | \
635
PIN_OTYPE_PUSHPULL(GPIOC_PIN15))
636
#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOC_POT4) | \
637
PIN_OSPEED_VERYLOW(GPIOC_POT3) | \
638
PIN_OSPEED_VERYLOW(GPIOC_POT2) | \
639
PIN_OSPEED_VERYLOW(GPIOC_POT1) | \
640
PIN_OSPEED_VERYLOW(GPIOC_PIN4) | \
641
PIN_OSPEED_VERYLOW(GPIOC_PIN5) | \
642
PIN_OSPEED_HIGH(GPIOC_ENC1_A) | \
643
PIN_OSPEED_HIGH(GPIOC_ENC1_B) | \
644
PIN_OSPEED_VERYLOW(GPIOC_PIN8) | \
645
PIN_OSPEED_VERYLOW(GPIOC_PIN9) | \
646
PIN_OSPEED_HIGH(GPIOC_FLASH_SCK) | \
647
PIN_OSPEED_HIGH(GPIOC_FLASH_MISO) | \
648
PIN_OSPEED_HIGH(GPIOC_FLASH_MOSI) | \
649
PIN_OSPEED_VERYLOW(GPIOC_PIN13) | \
650
PIN_OSPEED_VERYLOW(GPIOC_PIN14) | \
651
PIN_OSPEED_VERYLOW(GPIOC_PIN15))
652
#define VAL_GPIOC_PUPDR (PIN_PUPDR_FLOATING(GPIOC_POT4) | \
653
PIN_PUPDR_FLOATING(GPIOC_POT3) | \
654
PIN_PUPDR_FLOATING(GPIOC_POT2) | \
655
PIN_PUPDR_FLOATING(GPIOC_POT1) | \
656
PIN_PUPDR_PULLUP(GPIOC_PIN4) | \
657
PIN_PUPDR_PULLUP(GPIOC_PIN5) | \
658
PIN_PUPDR_PULLUP(GPIOC_ENC1_A) | \
659
PIN_PUPDR_PULLUP(GPIOC_ENC1_B) | \
660
PIN_PUPDR_PULLUP(GPIOC_PIN8) | \
661
PIN_PUPDR_PULLUP(GPIOC_PIN9) | \
662
PIN_PUPDR_FLOATING(GPIOC_FLASH_SCK) | \
663
PIN_PUPDR_FLOATING(GPIOC_FLASH_MISO) | \
664
PIN_PUPDR_FLOATING(GPIOC_FLASH_MOSI) | \
665
PIN_PUPDR_PULLUP(GPIOC_PIN13) | \
666
PIN_PUPDR_PULLUP(GPIOC_PIN14) | \
667
PIN_PUPDR_PULLUP(GPIOC_PIN15))
668
#define VAL_GPIOC_ODR (PIN_ODR_HIGH(GPIOC_POT4) | \
669
PIN_ODR_HIGH(GPIOC_POT3) | \
670
PIN_ODR_HIGH(GPIOC_POT2) | \
671
PIN_ODR_HIGH(GPIOC_POT1) | \
672
PIN_ODR_HIGH(GPIOC_PIN4) | \
673
PIN_ODR_HIGH(GPIOC_PIN5) | \
674
PIN_ODR_HIGH(GPIOC_ENC1_A) | \
675
PIN_ODR_HIGH(GPIOC_ENC1_B) | \
676
PIN_ODR_HIGH(GPIOC_PIN8) | \
677
PIN_ODR_HIGH(GPIOC_PIN9) | \
678
PIN_ODR_HIGH(GPIOC_FLASH_SCK) | \
679
PIN_ODR_HIGH(GPIOC_FLASH_MISO) | \
680
PIN_ODR_HIGH(GPIOC_FLASH_MOSI) | \
681
PIN_ODR_HIGH(GPIOC_PIN13) | \
682
PIN_ODR_HIGH(GPIOC_PIN14) | \
683
PIN_ODR_HIGH(GPIOC_PIN15))
684
#define VAL_GPIOC_AFRL (PIN_AFIO_AF(GPIOC_POT4, 0U) | \
685
PIN_AFIO_AF(GPIOC_POT3, 0U) | \
686
PIN_AFIO_AF(GPIOC_POT2, 0U) | \
687
PIN_AFIO_AF(GPIOC_POT1, 0U) | \
688
PIN_AFIO_AF(GPIOC_PIN4, 0U) | \
689
PIN_AFIO_AF(GPIOC_PIN5, 0U) | \
690
PIN_AFIO_AF(GPIOC_ENC1_A, 3U) | \
691
PIN_AFIO_AF(GPIOC_ENC1_B, 3U))
692
#define VAL_GPIOC_AFRH (PIN_AFIO_AF(GPIOC_PIN8, 0U) | \
693
PIN_AFIO_AF(GPIOC_PIN9, 0U) | \
694
PIN_AFIO_AF(GPIOC_FLASH_SCK, 6U) | \
695
PIN_AFIO_AF(GPIOC_FLASH_MISO, 6U) | \
696
PIN_AFIO_AF(GPIOC_FLASH_MOSI, 6U) | \
697
PIN_AFIO_AF(GPIOC_PIN13, 0U) | \
698
PIN_AFIO_AF(GPIOC_PIN14, 0U) | \
699
PIN_AFIO_AF(GPIOC_PIN15, 0U))
700
701
/*
702
* GPIOD setup:
703
*
704
* PD0 - PIN0 (input pullup).
705
* PD1 - FLASH_CS (output pushpull maximum).
706
* PD2 - MIDI_OUT1 (alternate 7).
707
* PD3 - LED_WS2812 (output pushpull maximum).
708
* PD4 - PIN4 (input pullup).
709
* PD5 - PIN5 (input pullup).
710
* PD6 - LED4 (output pushpull maximum).
711
* PD7 - LED3 (output pushpull maximum).
712
* PD8 - PIN8 (input pullup).
713
* PD9 - PIN9 (input pullup).
714
* PD10 - PIN10 (input pullup).
715
* PD11 - PIN11 (input pullup).
716
* PD12 - ENC3_A (input pullup).
717
* PD13 - ENC3_B (input pullup).
718
* PD14 - PIN14 (input pullup).
719
* PD15 - PIN15 (input pullup).
720
*/
721
#define VAL_GPIOD_MODER (PIN_MODE_INPUT(GPIOD_PIN0) | \
722
PIN_MODE_OUTPUT(GPIOD_FLASH_CS) | \
723
PIN_MODE_ALTERNATE(GPIOD_MIDI_OUT1) | \
724
PIN_MODE_ALTERNATE(GPIOD_LED_WS2812) | \
725
PIN_MODE_INPUT(GPIOD_PIN4) | \
726
PIN_MODE_INPUT(GPIOD_PIN5) | \
727
PIN_MODE_OUTPUT(GPIOD_LED4) | \
728
PIN_MODE_OUTPUT(GPIOD_LED3) | \
729
PIN_MODE_INPUT(GPIOD_PIN8) | \
730
PIN_MODE_INPUT(GPIOD_PIN9) | \
731
PIN_MODE_INPUT(GPIOD_PIN10) | \
732
PIN_MODE_INPUT(GPIOD_PIN11) | \
733
PIN_MODE_INPUT(GPIOD_ENC3_A) | \
734
PIN_MODE_INPUT(GPIOD_ENC3_B) | \
735
PIN_MODE_INPUT(GPIOD_PIN14) | \
736
PIN_MODE_INPUT(GPIOD_PIN15))
737
#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL(GPIOD_PIN0) | \
738
PIN_OTYPE_PUSHPULL(GPIOD_FLASH_CS) | \
739
PIN_OTYPE_PUSHPULL(GPIOD_MIDI_OUT1) | \
740
PIN_OTYPE_PUSHPULL(GPIOD_LED_WS2812) | \
741
PIN_OTYPE_PUSHPULL(GPIOD_PIN4) | \
742
PIN_OTYPE_PUSHPULL(GPIOD_PIN5) | \
743
PIN_OTYPE_PUSHPULL(GPIOD_LED4) | \
744
PIN_OTYPE_PUSHPULL(GPIOD_LED3) | \
745
PIN_OTYPE_PUSHPULL(GPIOD_PIN8) | \
746
PIN_OTYPE_PUSHPULL(GPIOD_PIN9) | \
747
PIN_OTYPE_PUSHPULL(GPIOD_PIN10) | \
748
PIN_OTYPE_PUSHPULL(GPIOD_PIN11) | \
749
PIN_OTYPE_PUSHPULL(GPIOD_ENC3_A) | \
750
PIN_OTYPE_PUSHPULL(GPIOD_ENC3_B) | \
751
PIN_OTYPE_PUSHPULL(GPIOD_PIN14) | \
752
PIN_OTYPE_PUSHPULL(GPIOD_PIN15))
753
#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOD_PIN0) | \
754
PIN_OSPEED_HIGH(GPIOD_FLASH_CS) | \
755
PIN_OSPEED_HIGH(GPIOD_MIDI_OUT1) | \
756
PIN_OSPEED_HIGH(GPIOD_LED_WS2812) | \
757
PIN_OSPEED_VERYLOW(GPIOD_PIN4) | \
758
PIN_OSPEED_VERYLOW(GPIOD_PIN5) | \
759
PIN_OSPEED_HIGH(GPIOD_LED4) | \
760
PIN_OSPEED_HIGH(GPIOD_LED3) | \
761
PIN_OSPEED_VERYLOW(GPIOD_PIN8) | \
762
PIN_OSPEED_VERYLOW(GPIOD_PIN9) | \
763
PIN_OSPEED_VERYLOW(GPIOD_PIN10) | \
764
PIN_OSPEED_VERYLOW(GPIOD_PIN11) | \
765
PIN_OSPEED_HIGH(GPIOD_ENC3_A) | \
766
PIN_OSPEED_HIGH(GPIOD_ENC3_B) | \
767
PIN_OSPEED_VERYLOW(GPIOD_PIN14) | \
768
PIN_OSPEED_VERYLOW(GPIOD_PIN15))
769
#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLUP(GPIOD_PIN0) | \
770
PIN_PUPDR_FLOATING(GPIOD_FLASH_CS) | \
771
PIN_PUPDR_FLOATING(GPIOD_MIDI_OUT1) | \
772
PIN_PUPDR_FLOATING(GPIOD_LED_WS2812) | \
773
PIN_PUPDR_PULLUP(GPIOD_PIN4) | \
774
PIN_PUPDR_PULLUP(GPIOD_PIN5) | \
775
PIN_PUPDR_FLOATING(GPIOD_LED4) | \
776
PIN_PUPDR_FLOATING(GPIOD_LED3) | \
777
PIN_PUPDR_PULLUP(GPIOD_PIN8) | \
778
PIN_PUPDR_PULLUP(GPIOD_PIN9) | \
779
PIN_PUPDR_PULLUP(GPIOD_PIN10) | \
780
PIN_PUPDR_PULLUP(GPIOD_PIN11) | \
781
PIN_PUPDR_PULLUP(GPIOD_ENC3_A) | \
782
PIN_PUPDR_PULLUP(GPIOD_ENC3_B) | \
783
PIN_PUPDR_PULLUP(GPIOD_PIN14) | \
784
PIN_PUPDR_PULLUP(GPIOD_PIN15))
785
#define VAL_GPIOD_ODR (PIN_ODR_HIGH(GPIOD_PIN0) | \
786
PIN_ODR_HIGH(GPIOD_FLASH_CS) | \
787
PIN_ODR_HIGH(GPIOD_MIDI_OUT1) | \
788
PIN_ODR_LOW(GPIOD_LED_WS2812) | \
789
PIN_ODR_HIGH(GPIOD_PIN4) | \
790
PIN_ODR_HIGH(GPIOD_PIN5) | \
791
PIN_ODR_LOW(GPIOD_LED4) | \
792
PIN_ODR_LOW(GPIOD_LED3) | \
793
PIN_ODR_HIGH(GPIOD_PIN8) | \
794
PIN_ODR_HIGH(GPIOD_PIN9) | \
795
PIN_ODR_HIGH(GPIOD_PIN10) | \
796
PIN_ODR_HIGH(GPIOD_PIN11) | \
797
PIN_ODR_HIGH(GPIOD_ENC3_A) | \
798
PIN_ODR_HIGH(GPIOD_ENC3_B) | \
799
PIN_ODR_HIGH(GPIOD_PIN14) | \
800
PIN_ODR_HIGH(GPIOD_PIN15))
801
#define VAL_GPIOD_AFRL (PIN_AFIO_AF(GPIOD_PIN0, 0U) | \
802
PIN_AFIO_AF(GPIOD_FLASH_CS, 0U) | \
803
PIN_AFIO_AF(GPIOD_MIDI_OUT1, 7U) | \
804
PIN_AFIO_AF(GPIOD_LED_WS2812, 2U) | \
805
PIN_AFIO_AF(GPIOD_PIN4, 0U) | \
806
PIN_AFIO_AF(GPIOD_PIN5, 0U) | \
807
PIN_AFIO_AF(GPIOD_LED4, 0U) | \
808
PIN_AFIO_AF(GPIOD_LED3, 0U))
809
#define VAL_GPIOD_AFRH (PIN_AFIO_AF(GPIOD_PIN8, 0U) | \
810
PIN_AFIO_AF(GPIOD_PIN9, 0U) | \
811
PIN_AFIO_AF(GPIOD_PIN10, 0U) | \
812
PIN_AFIO_AF(GPIOD_PIN11, 0U) | \
813
PIN_AFIO_AF(GPIOD_ENC3_A, 0U) | \
814
PIN_AFIO_AF(GPIOD_ENC3_B, 0U) | \
815
PIN_AFIO_AF(GPIOD_PIN14, 0U) | \
816
PIN_AFIO_AF(GPIOD_PIN15, 0U))
817
818
/*
819
* GPIOE setup:
820
*
821
* PE0 - UART8_RX (alternate 8).
822
* PE1 - UART8_TX (alternate 8).
823
* PE2 - CART4_ID2 (input pullup).
824
* PE3 - CART4_ID1 (input pullup).
825
* PE4 - PIN4 (input pullup).
826
* PE5 - PIN5 (input pullup).
827
* PE6 - PIN6 (input pullup).
828
* PE7 - UART4_RX (alternate 8).
829
* PE8 - UART4_TX (alternate 8).
830
* PE9 - CART2_ID1 (input pullup).
831
* PE10 - PIN10 (input pullup).
832
* PE11 - PIN11 (input pullup).
833
* PE12 - PIN12 (input pullup).
834
* PE13 - PIN13 (input pullup).
835
* PE14 - CART1_ID2 (input pullup).
836
* PE15 - CART1_ID1 (input pullup).
837
*/
838
#define VAL_GPIOE_MODER (PIN_MODE_ALTERNATE(GPIOE_UART8_RX) | \
839
PIN_MODE_ALTERNATE(GPIOE_UART8_TX) | \
840
PIN_MODE_INPUT(GPIOE_CART4_ID2) | \
841
PIN_MODE_INPUT(GPIOE_CART4_ID1) | \
842
PIN_MODE_INPUT(GPIOE_PIN4) | \
843
PIN_MODE_INPUT(GPIOE_PIN5) | \
844
PIN_MODE_INPUT(GPIOE_PIN6) | \
845
PIN_MODE_ALTERNATE(GPIOE_UART4_RX) | \
846
PIN_MODE_ALTERNATE(GPIOE_UART4_TX) | \
847
PIN_MODE_INPUT(GPIOE_CART2_ID1) | \
848
PIN_MODE_INPUT(GPIOE_PIN10) | \
849
PIN_MODE_INPUT(GPIOE_PIN11) | \
850
PIN_MODE_INPUT(GPIOE_PIN12) | \
851
PIN_MODE_INPUT(GPIOE_PIN13) | \
852
PIN_MODE_INPUT(GPIOE_CART1_ID2) | \
853
PIN_MODE_INPUT(GPIOE_CART1_ID1))
854
#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(GPIOE_UART8_RX) | \
855
PIN_OTYPE_PUSHPULL(GPIOE_UART8_TX) | \
856
PIN_OTYPE_PUSHPULL(GPIOE_CART4_ID2) | \
857
PIN_OTYPE_PUSHPULL(GPIOE_CART4_ID1) | \
858
PIN_OTYPE_PUSHPULL(GPIOE_PIN4) | \
859
PIN_OTYPE_PUSHPULL(GPIOE_PIN5) | \
860
PIN_OTYPE_PUSHPULL(GPIOE_PIN6) | \
861
PIN_OTYPE_PUSHPULL(GPIOE_UART4_RX) | \
862
PIN_OTYPE_PUSHPULL(GPIOE_UART4_TX) | \
863
PIN_OTYPE_PUSHPULL(GPIOE_CART2_ID1) | \
864
PIN_OTYPE_PUSHPULL(GPIOE_PIN10) | \
865
PIN_OTYPE_PUSHPULL(GPIOE_PIN11) | \
866
PIN_OTYPE_PUSHPULL(GPIOE_PIN12) | \
867
PIN_OTYPE_PUSHPULL(GPIOE_PIN13) | \
868
PIN_OTYPE_PUSHPULL(GPIOE_CART1_ID2) | \
869
PIN_OTYPE_PUSHPULL(GPIOE_CART1_ID1))
870
#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_HIGH(GPIOE_UART8_RX) | \
871
PIN_OSPEED_HIGH(GPIOE_UART8_TX) | \
872
PIN_OSPEED_VERYLOW(GPIOE_CART4_ID2) | \
873
PIN_OSPEED_VERYLOW(GPIOE_CART4_ID1) | \
874
PIN_OSPEED_VERYLOW(GPIOE_PIN4) | \
875
PIN_OSPEED_VERYLOW(GPIOE_PIN5) | \
876
PIN_OSPEED_VERYLOW(GPIOE_PIN6) | \
877
PIN_OSPEED_HIGH(GPIOE_UART4_RX) | \
878
PIN_OSPEED_HIGH(GPIOE_UART4_TX) | \
879
PIN_OSPEED_VERYLOW(GPIOE_CART2_ID1) | \
880
PIN_OSPEED_VERYLOW(GPIOE_PIN10) | \
881
PIN_OSPEED_VERYLOW(GPIOE_PIN11) | \
882
PIN_OSPEED_VERYLOW(GPIOE_PIN12) | \
883
PIN_OSPEED_VERYLOW(GPIOE_PIN13) | \
884
PIN_OSPEED_VERYLOW(GPIOE_CART1_ID2) | \
885
PIN_OSPEED_VERYLOW(GPIOE_CART1_ID1))
886
#define VAL_GPIOE_PUPDR (PIN_PUPDR_FLOATING(GPIOE_UART8_RX) | \
887
PIN_PUPDR_FLOATING(GPIOE_UART8_TX) | \
888
PIN_PUPDR_PULLUP(GPIOE_CART4_ID2) | \
889
PIN_PUPDR_PULLUP(GPIOE_CART4_ID1) | \
890
PIN_PUPDR_PULLUP(GPIOE_PIN4) | \
891
PIN_PUPDR_PULLUP(GPIOE_PIN5) | \
892
PIN_PUPDR_PULLUP(GPIOE_PIN6) | \
893
PIN_PUPDR_FLOATING(GPIOE_UART4_RX) | \
894
PIN_PUPDR_FLOATING(GPIOE_UART4_TX) | \
895
PIN_PUPDR_PULLUP(GPIOE_CART2_ID1) | \
896
PIN_PUPDR_PULLUP(GPIOE_PIN10) | \
897
PIN_PUPDR_PULLUP(GPIOE_PIN11) | \
898
PIN_PUPDR_PULLUP(GPIOE_PIN12) | \
899
PIN_PUPDR_PULLUP(GPIOE_PIN13) | \
900
PIN_PUPDR_PULLUP(GPIOE_CART1_ID2) | \
901
PIN_PUPDR_PULLUP(GPIOE_CART1_ID1))
902
#define VAL_GPIOE_ODR (PIN_ODR_HIGH(GPIOE_UART8_RX) | \
903
PIN_ODR_HIGH(GPIOE_UART8_TX) | \
904
PIN_ODR_HIGH(GPIOE_CART4_ID2) | \
905
PIN_ODR_HIGH(GPIOE_CART4_ID1) | \
906
PIN_ODR_HIGH(GPIOE_PIN4) | \
907
PIN_ODR_HIGH(GPIOE_PIN5) | \
908
PIN_ODR_HIGH(GPIOE_PIN6) | \
909
PIN_ODR_HIGH(GPIOE_UART4_RX) | \
910
PIN_ODR_HIGH(GPIOE_UART4_TX) | \
911
PIN_ODR_HIGH(GPIOE_CART2_ID1) | \
912
PIN_ODR_HIGH(GPIOE_PIN10) | \
913
PIN_ODR_HIGH(GPIOE_PIN11) | \
914
PIN_ODR_HIGH(GPIOE_PIN12) | \
915
PIN_ODR_HIGH(GPIOE_PIN13) | \
916
PIN_ODR_HIGH(GPIOE_CART1_ID2) | \
917
PIN_ODR_HIGH(GPIOE_CART1_ID1))
918
#define VAL_GPIOE_AFRL (PIN_AFIO_AF(GPIOE_UART8_RX, 8U) | \
919
PIN_AFIO_AF(GPIOE_UART8_TX, 8U) | \
920
PIN_AFIO_AF(GPIOE_CART4_ID2, 0U) | \
921
PIN_AFIO_AF(GPIOE_CART4_ID1, 0U) | \
922
PIN_AFIO_AF(GPIOE_PIN4, 0U) | \
923
PIN_AFIO_AF(GPIOE_PIN5, 0U) | \
924
PIN_AFIO_AF(GPIOE_PIN6, 0U) | \
925
PIN_AFIO_AF(GPIOE_UART4_RX, 8U))
926
#define VAL_GPIOE_AFRH (PIN_AFIO_AF(GPIOE_UART4_TX, 8U) | \
927
PIN_AFIO_AF(GPIOE_CART2_ID1, 0U) | \
928
PIN_AFIO_AF(GPIOE_PIN10, 0U) | \
929
PIN_AFIO_AF(GPIOE_PIN11, 0U) | \
930
PIN_AFIO_AF(GPIOE_PIN12, 0U) | \
931
PIN_AFIO_AF(GPIOE_PIN13, 0U) | \
932
PIN_AFIO_AF(GPIOE_CART1_ID2, 0U) | \
933
PIN_AFIO_AF(GPIOE_CART1_ID1, 0U))
934
935
/*
936
* GPIOF setup:
937
*
938
* PF0 - PIN0 (input pullup).
939
* PF1 - PIN1 (input pullup).
940
* PF2 - PIN2 (input pullup).
941
* PF3 - PIN3 (input pullup).
942
* PF4 - PIN4 (input pullup).
943
* PF5 - PIN5 (input pullup).
944
* PF6 - PIN6 (input pullup).
945
* PF7 - PIN7 (input pullup).
946
* PF8 - PIN8 (input pullup).
947
* PF9 - PIN9 (input pullup).
948
* PF10 - PIN10 (input pullup).
949
* PF11 - PIN11 (input pullup).
950
* PF12 - PIN12 (input pullup).
951
* PF13 - PIN13 (input pullup).
952
* PF14 - PIN14 (input pullup).
953
* PF15 - CART3_ID2 (input pullup).
954
*/
955
#define VAL_GPIOF_MODER (PIN_MODE_INPUT(GPIOF_PIN0) | \
956
PIN_MODE_INPUT(GPIOF_PIN1) | \
957
PIN_MODE_INPUT(GPIOF_PIN2) | \
958
PIN_MODE_INPUT(GPIOF_PIN3) | \
959
PIN_MODE_INPUT(GPIOF_PIN4) | \
960
PIN_MODE_INPUT(GPIOF_PIN5) | \
961
PIN_MODE_INPUT(GPIOF_PIN6) | \
962
PIN_MODE_INPUT(GPIOF_PIN7) | \
963
PIN_MODE_INPUT(GPIOF_PIN8) | \
964
PIN_MODE_INPUT(GPIOF_PIN9) | \
965
PIN_MODE_INPUT(GPIOF_PIN10) | \
966
PIN_MODE_INPUT(GPIOF_PIN11) | \
967
PIN_MODE_INPUT(GPIOF_PIN12) | \
968
PIN_MODE_INPUT(GPIOF_PIN13) | \
969
PIN_MODE_INPUT(GPIOF_PIN14) | \
970
PIN_MODE_INPUT(GPIOF_CART3_ID2))
971
#define VAL_GPIOF_OTYPER (PIN_OTYPE_PUSHPULL(GPIOF_PIN0) | \
972
PIN_OTYPE_PUSHPULL(GPIOF_PIN1) | \
973
PIN_OTYPE_PUSHPULL(GPIOF_PIN2) | \
974
PIN_OTYPE_PUSHPULL(GPIOF_PIN3) | \
975
PIN_OTYPE_PUSHPULL(GPIOF_PIN4) | \
976
PIN_OTYPE_PUSHPULL(GPIOF_PIN5) | \
977
PIN_OTYPE_PUSHPULL(GPIOF_PIN6) | \
978
PIN_OTYPE_PUSHPULL(GPIOF_PIN7) | \
979
PIN_OTYPE_PUSHPULL(GPIOF_PIN8) | \
980
PIN_OTYPE_PUSHPULL(GPIOF_PIN9) | \
981
PIN_OTYPE_PUSHPULL(GPIOF_PIN10) | \
982
PIN_OTYPE_PUSHPULL(GPIOF_PIN11) | \
983
PIN_OTYPE_PUSHPULL(GPIOF_PIN12) | \
984
PIN_OTYPE_PUSHPULL(GPIOF_PIN13) | \
985
PIN_OTYPE_PUSHPULL(GPIOF_PIN14) | \
986
PIN_OTYPE_PUSHPULL(GPIOF_CART3_ID2))
987
#define VAL_GPIOF_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOF_PIN0) | \
988
PIN_OSPEED_VERYLOW(GPIOF_PIN1) | \
989
PIN_OSPEED_VERYLOW(GPIOF_PIN2) | \
990
PIN_OSPEED_VERYLOW(GPIOF_PIN3) | \
991
PIN_OSPEED_VERYLOW(GPIOF_PIN4) | \
992
PIN_OSPEED_VERYLOW(GPIOF_PIN5) | \
993
PIN_OSPEED_VERYLOW(GPIOF_PIN6) | \
994
PIN_OSPEED_VERYLOW(GPIOF_PIN7) | \
995
PIN_OSPEED_VERYLOW(GPIOF_PIN8) | \
996
PIN_OSPEED_VERYLOW(GPIOF_PIN9) | \
997
PIN_OSPEED_VERYLOW(GPIOF_PIN10) | \
998
PIN_OSPEED_VERYLOW(GPIOF_PIN11) | \
999
PIN_OSPEED_VERYLOW(GPIOF_PIN12) | \
1000
PIN_OSPEED_VERYLOW(GPIOF_PIN13) | \
1001
PIN_OSPEED_VERYLOW(GPIOF_PIN14) | \
1002
PIN_OSPEED_VERYLOW(GPIOF_CART3_ID2))
1003
#define VAL_GPIOF_PUPDR (PIN_PUPDR_PULLUP(GPIOF_PIN0) | \
1004
PIN_PUPDR_PULLUP(GPIOF_PIN1) | \
1005
PIN_PUPDR_PULLUP(GPIOF_PIN2) | \
1006
PIN_PUPDR_PULLUP(GPIOF_PIN3) | \
1007
PIN_PUPDR_PULLUP(GPIOF_PIN4) | \
1008
PIN_PUPDR_PULLUP(GPIOF_PIN5) | \
1009
PIN_PUPDR_PULLUP(GPIOF_PIN6) | \
1010
PIN_PUPDR_PULLUP(GPIOF_PIN7) | \
1011
PIN_PUPDR_PULLUP(GPIOF_PIN8) | \
1012
PIN_PUPDR_PULLUP(GPIOF_PIN9) | \
1013
PIN_PUPDR_PULLUP(GPIOF_PIN10) | \
1014
PIN_PUPDR_PULLUP(GPIOF_PIN11) | \
1015
PIN_PUPDR_PULLUP(GPIOF_PIN12) | \
1016
PIN_PUPDR_PULLUP(GPIOF_PIN13) | \
1017
PIN_PUPDR_PULLUP(GPIOF_PIN14) | \
1018
PIN_PUPDR_PULLUP(GPIOF_CART3_ID2))
1019
#define VAL_GPIOF_ODR (PIN_ODR_HIGH(GPIOF_PIN0) | \
1020
PIN_ODR_HIGH(GPIOF_PIN1) | \
1021
PIN_ODR_HIGH(GPIOF_PIN2) | \
1022
PIN_ODR_HIGH(GPIOF_PIN3) | \
1023
PIN_ODR_HIGH(GPIOF_PIN4) | \
1024
PIN_ODR_HIGH(GPIOF_PIN5) | \
1025
PIN_ODR_HIGH(GPIOF_PIN6) | \
1026
PIN_ODR_HIGH(GPIOF_PIN7) | \
1027
PIN_ODR_HIGH(GPIOF_PIN8) | \
1028
PIN_ODR_HIGH(GPIOF_PIN9) | \
1029
PIN_ODR_HIGH(GPIOF_PIN10) | \
1030
PIN_ODR_HIGH(GPIOF_PIN11) | \
1031
PIN_ODR_HIGH(GPIOF_PIN12) | \
1032
PIN_ODR_HIGH(GPIOF_PIN13) | \
1033
PIN_ODR_HIGH(GPIOF_PIN14) | \
1034
PIN_ODR_HIGH(GPIOF_CART3_ID2))
1035
#define VAL_GPIOF_AFRL (PIN_AFIO_AF(GPIOF_PIN0, 0U) | \
1036
PIN_AFIO_AF(GPIOF_PIN1, 0U) | \
1037
PIN_AFIO_AF(GPIOF_PIN2, 0U) | \
1038
PIN_AFIO_AF(GPIOF_PIN3, 0U) | \
1039
PIN_AFIO_AF(GPIOF_PIN4, 0U) | \
1040
PIN_AFIO_AF(GPIOF_PIN5, 0U) | \
1041
PIN_AFIO_AF(GPIOF_PIN6, 0U) | \
1042
PIN_AFIO_AF(GPIOF_PIN7, 0U))
1043
#define VAL_GPIOF_AFRH (PIN_AFIO_AF(GPIOF_PIN8, 0U) | \
1044
PIN_AFIO_AF(GPIOF_PIN9, 0U) | \
1045
PIN_AFIO_AF(GPIOF_PIN10, 0U) | \
1046
PIN_AFIO_AF(GPIOF_PIN11, 0U) | \
1047
PIN_AFIO_AF(GPIOF_PIN12, 0U) | \
1048
PIN_AFIO_AF(GPIOF_PIN13, 0U) | \
1049
PIN_AFIO_AF(GPIOF_PIN14, 0U) | \
1050
PIN_AFIO_AF(GPIOF_CART3_ID2, 0U))
1051
1052
/*
1053
* GPIOG setup:
1054
*
1055
* PG0 - CART3_ID1 (input pullup).
1056
* PG1 - CART2_ID2 (input pullup).
1057
* PG2 - PIN2 (input pullup).
1058
* PG3 - PIN3 (input pullup).
1059
* PG4 - PIN4 (input pullup).
1060
* PG5 - PIN5 (input pullup).
1061
* PG6 - PIN6 (input pullup).
1062
* PG7 - PIN7 (input pullup).
1063
* PG8 - PIN8 (input pullup).
1064
* PG9 - LED2 (output pushpull maximum).
1065
* PG10 - LED1 (output pushpull maximum).
1066
* PG11 - SR_DATA (input pullup).
1067
* PG12 - PIN12 (input pullup).
1068
* PG13 - PIN13 (input pullup).
1069
* PG14 - PIN14 (input pullup).
1070
* PG15 - PIN15 (input pullup).
1071
*/
1072
#define VAL_GPIOG_MODER (PIN_MODE_INPUT(GPIOG_CART3_ID1) | \
1073
PIN_MODE_INPUT(GPIOG_CART2_ID2) | \
1074
PIN_MODE_INPUT(GPIOG_PIN2) | \
1075
PIN_MODE_INPUT(GPIOG_PIN3) | \
1076
PIN_MODE_INPUT(GPIOG_PIN4) | \
1077
PIN_MODE_INPUT(GPIOG_PIN5) | \
1078
PIN_MODE_INPUT(GPIOG_PIN6) | \
1079
PIN_MODE_INPUT(GPIOG_PIN7) | \
1080
PIN_MODE_INPUT(GPIOG_PIN8) | \
1081
PIN_MODE_OUTPUT(GPIOG_LED2) | \
1082
PIN_MODE_OUTPUT(GPIOG_LED1) | \
1083
PIN_MODE_INPUT(GPIOG_SR_DATA) | \
1084
PIN_MODE_INPUT(GPIOG_PIN12) | \
1085
PIN_MODE_INPUT(GPIOG_PIN13) | \
1086
PIN_MODE_INPUT(GPIOG_PIN14) | \
1087
PIN_MODE_INPUT(GPIOG_PIN15))
1088
#define VAL_GPIOG_OTYPER (PIN_OTYPE_PUSHPULL(GPIOG_CART3_ID1) | \
1089
PIN_OTYPE_PUSHPULL(GPIOG_CART2_ID2) | \
1090
PIN_OTYPE_PUSHPULL(GPIOG_PIN2) | \
1091
PIN_OTYPE_PUSHPULL(GPIOG_PIN3) | \
1092
PIN_OTYPE_PUSHPULL(GPIOG_PIN4) | \
1093
PIN_OTYPE_PUSHPULL(GPIOG_PIN5) | \
1094
PIN_OTYPE_PUSHPULL(GPIOG_PIN6) | \
1095
PIN_OTYPE_PUSHPULL(GPIOG_PIN7) | \
1096
PIN_OTYPE_PUSHPULL(GPIOG_PIN8) | \
1097
PIN_OTYPE_PUSHPULL(GPIOG_LED2) | \
1098
PIN_OTYPE_PUSHPULL(GPIOG_LED1) | \
1099
PIN_OTYPE_PUSHPULL(GPIOG_SR_DATA) | \
1100
PIN_OTYPE_PUSHPULL(GPIOG_PIN12) | \
1101
PIN_OTYPE_PUSHPULL(GPIOG_PIN13) | \
1102
PIN_OTYPE_PUSHPULL(GPIOG_PIN14) | \
1103
PIN_OTYPE_PUSHPULL(GPIOG_PIN15))
1104
#define VAL_GPIOG_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOG_CART3_ID1) | \
1105
PIN_OSPEED_VERYLOW(GPIOG_CART2_ID2) | \
1106
PIN_OSPEED_VERYLOW(GPIOG_PIN2) | \
1107
PIN_OSPEED_VERYLOW(GPIOG_PIN3) | \
1108
PIN_OSPEED_VERYLOW(GPIOG_PIN4) | \
1109
PIN_OSPEED_VERYLOW(GPIOG_PIN5) | \
1110
PIN_OSPEED_VERYLOW(GPIOG_PIN6) | \
1111
PIN_OSPEED_VERYLOW(GPIOG_PIN7) | \
1112
PIN_OSPEED_VERYLOW(GPIOG_PIN8) | \
1113
PIN_OSPEED_HIGH(GPIOG_LED2) | \
1114
PIN_OSPEED_HIGH(GPIOG_LED1) | \
1115
PIN_OSPEED_VERYLOW(GPIOG_SR_DATA) | \
1116
PIN_OSPEED_VERYLOW(GPIOG_PIN12) | \
1117
PIN_OSPEED_VERYLOW(GPIOG_PIN13) | \
1118
PIN_OSPEED_VERYLOW(GPIOG_PIN14) | \
1119
PIN_OSPEED_VERYLOW(GPIOG_PIN15))
1120
#define VAL_GPIOG_PUPDR (PIN_PUPDR_PULLUP(GPIOG_CART3_ID1) | \
1121
PIN_PUPDR_PULLUP(GPIOG_CART2_ID2) | \
1122
PIN_PUPDR_PULLUP(GPIOG_PIN2) | \
1123
PIN_PUPDR_PULLUP(GPIOG_PIN3) | \
1124
PIN_PUPDR_PULLUP(GPIOG_PIN4) | \
1125
PIN_PUPDR_PULLUP(GPIOG_PIN5) | \
1126
PIN_PUPDR_PULLUP(GPIOG_PIN6) | \
1127
PIN_PUPDR_PULLUP(GPIOG_PIN7) | \
1128
PIN_PUPDR_PULLUP(GPIOG_PIN8) | \
1129
PIN_PUPDR_FLOATING(GPIOG_LED2) | \
1130
PIN_PUPDR_FLOATING(GPIOG_LED1) | \
1131
PIN_PUPDR_PULLUP(GPIOG_SR_DATA) | \
1132
PIN_PUPDR_PULLUP(GPIOG_PIN12) | \
1133
PIN_PUPDR_PULLUP(GPIOG_PIN13) | \
1134
PIN_PUPDR_PULLUP(GPIOG_PIN14) | \
1135
PIN_PUPDR_PULLUP(GPIOG_PIN15))
1136
#define VAL_GPIOG_ODR (PIN_ODR_HIGH(GPIOG_CART3_ID1) | \
1137
PIN_ODR_HIGH(GPIOG_CART2_ID2) | \
1138
PIN_ODR_HIGH(GPIOG_PIN2) | \
1139
PIN_ODR_HIGH(GPIOG_PIN3) | \
1140
PIN_ODR_HIGH(GPIOG_PIN4) | \
1141
PIN_ODR_HIGH(GPIOG_PIN5) | \
1142
PIN_ODR_HIGH(GPIOG_PIN6) | \
1143
PIN_ODR_HIGH(GPIOG_PIN7) | \
1144
PIN_ODR_HIGH(GPIOG_PIN8) | \
1145
PIN_ODR_LOW(GPIOG_LED2) | \
1146
PIN_ODR_LOW(GPIOG_LED1) | \
1147
PIN_ODR_HIGH(GPIOG_SR_DATA) | \
1148
PIN_ODR_HIGH(GPIOG_PIN12) | \
1149
PIN_ODR_HIGH(GPIOG_PIN13) | \
1150
PIN_ODR_HIGH(GPIOG_PIN14) | \
1151
PIN_ODR_HIGH(GPIOG_PIN15))
1152
#define VAL_GPIOG_AFRL (PIN_AFIO_AF(GPIOG_CART3_ID1, 0U) | \
1153
PIN_AFIO_AF(GPIOG_CART2_ID2, 0U) | \
1154
PIN_AFIO_AF(GPIOG_PIN2, 0U) | \
1155
PIN_AFIO_AF(GPIOG_PIN3, 0U) | \
1156
PIN_AFIO_AF(GPIOG_PIN4, 0U) | \
1157
PIN_AFIO_AF(GPIOG_PIN5, 0U) | \
1158
PIN_AFIO_AF(GPIOG_PIN6, 0U) | \
1159
PIN_AFIO_AF(GPIOG_PIN7, 0U))
1160
#define VAL_GPIOG_AFRH (PIN_AFIO_AF(GPIOG_PIN8, 0U) | \
1161
PIN_AFIO_AF(GPIOG_LED2, 0U) | \
1162
PIN_AFIO_AF(GPIOG_LED1, 0U) | \
1163
PIN_AFIO_AF(GPIOG_SR_DATA, 0U) | \
1164
PIN_AFIO_AF(GPIOG_PIN12, 0U) | \
1165
PIN_AFIO_AF(GPIOG_PIN13, 0U) | \
1166
PIN_AFIO_AF(GPIOG_PIN14, 0U) | \
1167
PIN_AFIO_AF(GPIOG_PIN15, 0U))
1168
1169
/*
1170
* GPIOH setup:
1171
*
1172
* PH0 - OSC_IN (input floating).
1173
* PH1 - OSC_OUT (input floating).
1174
* PH2 - PIN2 (input pullup).
1175
* PH3 - PIN3 (input pullup).
1176
* PH4 - PIN4 (input pullup).
1177
* PH5 - PIN5 (input pullup).
1178
* PH6 - PIN6 (input pullup).
1179
* PH7 - PIN7 (input pullup).
1180
* PH8 - PIN8 (input pullup).
1181
* PH9 - PIN9 (input pullup).
1182
* PH10 - PIN10 (input pullup).
1183
* PH11 - PIN11 (input pullup).
1184
* PH12 - PIN12 (input pullup).
1185
* PH13 - PIN13 (input pullup).
1186
* PH14 - PIN14 (input pullup).
1187
* PH15 - PIN15 (input pullup).
1188
*/
1189
#define VAL_GPIOH_MODER (PIN_MODE_INPUT(GPIOH_OSC_IN) | \
1190
PIN_MODE_INPUT(GPIOH_OSC_OUT) | \
1191
PIN_MODE_INPUT(GPIOH_PIN2) | \
1192
PIN_MODE_INPUT(GPIOH_PIN3) | \
1193
PIN_MODE_INPUT(GPIOH_PIN4) | \
1194
PIN_MODE_INPUT(GPIOH_PIN5) | \
1195
PIN_MODE_INPUT(GPIOH_PIN6) | \
1196
PIN_MODE_INPUT(GPIOH_PIN7) | \
1197
PIN_MODE_INPUT(GPIOH_PIN8) | \
1198
PIN_MODE_INPUT(GPIOH_PIN9) | \
1199
PIN_MODE_INPUT(GPIOH_PIN10) | \
1200
PIN_MODE_INPUT(GPIOH_PIN11) | \
1201
PIN_MODE_INPUT(GPIOH_PIN12) | \
1202
PIN_MODE_INPUT(GPIOH_PIN13) | \
1203
PIN_MODE_INPUT(GPIOH_PIN14) | \
1204
PIN_MODE_INPUT(GPIOH_PIN15))
1205
#define VAL_GPIOH_OTYPER (PIN_OTYPE_PUSHPULL(GPIOH_OSC_IN) | \
1206
PIN_OTYPE_PUSHPULL(GPIOH_OSC_OUT) | \
1207
PIN_OTYPE_PUSHPULL(GPIOH_PIN2) | \
1208
PIN_OTYPE_PUSHPULL(GPIOH_PIN3) | \
1209
PIN_OTYPE_PUSHPULL(GPIOH_PIN4) | \
1210
PIN_OTYPE_PUSHPULL(GPIOH_PIN5) | \
1211
PIN_OTYPE_PUSHPULL(GPIOH_PIN6) | \
1212
PIN_OTYPE_PUSHPULL(GPIOH_PIN7) | \
1213
PIN_OTYPE_PUSHPULL(GPIOH_PIN8) | \
1214
PIN_OTYPE_PUSHPULL(GPIOH_PIN9) | \
1215
PIN_OTYPE_PUSHPULL(GPIOH_PIN10) | \
1216
PIN_OTYPE_PUSHPULL(GPIOH_PIN11) | \
1217
PIN_OTYPE_PUSHPULL(GPIOH_PIN12) | \
1218
PIN_OTYPE_PUSHPULL(GPIOH_PIN13) | \
1219
PIN_OTYPE_PUSHPULL(GPIOH_PIN14) | \
1220
PIN_OTYPE_PUSHPULL(GPIOH_PIN15))
1221
#define VAL_GPIOH_OSPEEDR (PIN_OSPEED_HIGH(GPIOH_OSC_IN) | \
1222
PIN_OSPEED_HIGH(GPIOH_OSC_OUT) | \
1223
PIN_OSPEED_VERYLOW(GPIOH_PIN2) | \
1224
PIN_OSPEED_VERYLOW(GPIOH_PIN3) | \
1225
PIN_OSPEED_VERYLOW(GPIOH_PIN4) | \
1226
PIN_OSPEED_VERYLOW(GPIOH_PIN5) | \
1227
PIN_OSPEED_VERYLOW(GPIOH_PIN6) | \
1228
PIN_OSPEED_VERYLOW(GPIOH_PIN7) | \
1229
PIN_OSPEED_VERYLOW(GPIOH_PIN8) | \
1230
PIN_OSPEED_VERYLOW(GPIOH_PIN9) | \
1231
PIN_OSPEED_VERYLOW(GPIOH_PIN10) | \
1232
PIN_OSPEED_VERYLOW(GPIOH_PIN11) | \
1233
PIN_OSPEED_VERYLOW(GPIOH_PIN12) | \
1234
PIN_OSPEED_VERYLOW(GPIOH_PIN13) | \
1235
PIN_OSPEED_VERYLOW(GPIOH_PIN14) | \
1236
PIN_OSPEED_VERYLOW(GPIOH_PIN15))
1237
#define VAL_GPIOH_PUPDR (PIN_PUPDR_FLOATING(GPIOH_OSC_IN) | \
1238
PIN_PUPDR_FLOATING(GPIOH_OSC_OUT) | \
1239
PIN_PUPDR_PULLUP(GPIOH_PIN2) | \
1240
PIN_PUPDR_PULLUP(GPIOH_PIN3) | \
1241
PIN_PUPDR_PULLUP(GPIOH_PIN4) | \
1242
PIN_PUPDR_PULLUP(GPIOH_PIN5) | \
1243
PIN_PUPDR_PULLUP(GPIOH_PIN6) | \
1244
PIN_PUPDR_PULLUP(GPIOH_PIN7) | \
1245
PIN_PUPDR_PULLUP(GPIOH_PIN8) | \
1246
PIN_PUPDR_PULLUP(GPIOH_PIN9) | \
1247
PIN_PUPDR_PULLUP(GPIOH_PIN10) | \
1248
PIN_PUPDR_PULLUP(GPIOH_PIN11) | \
1249
PIN_PUPDR_PULLUP(GPIOH_PIN12) | \
1250
PIN_PUPDR_PULLUP(GPIOH_PIN13) | \
1251
PIN_PUPDR_PULLUP(GPIOH_PIN14) | \
1252
PIN_PUPDR_PULLUP(GPIOH_PIN15))
1253
#define VAL_GPIOH_ODR (PIN_ODR_HIGH(GPIOH_OSC_IN) | \
1254
PIN_ODR_HIGH(GPIOH_OSC_OUT) | \
1255
PIN_ODR_HIGH(GPIOH_PIN2) | \
1256
PIN_ODR_HIGH(GPIOH_PIN3) | \
1257
PIN_ODR_HIGH(GPIOH_PIN4) | \
1258
PIN_ODR_HIGH(GPIOH_PIN5) | \
1259
PIN_ODR_HIGH(GPIOH_PIN6) | \
1260
PIN_ODR_HIGH(GPIOH_PIN7) | \
1261
PIN_ODR_HIGH(GPIOH_PIN8) | \
1262
PIN_ODR_HIGH(GPIOH_PIN9) | \
1263
PIN_ODR_HIGH(GPIOH_PIN10) | \
1264
PIN_ODR_HIGH(GPIOH_PIN11) | \
1265
PIN_ODR_HIGH(GPIOH_PIN12) | \
1266
PIN_ODR_HIGH(GPIOH_PIN13) | \
1267
PIN_ODR_HIGH(GPIOH_PIN14) | \
1268
PIN_ODR_HIGH(GPIOH_PIN15))
1269
#define VAL_GPIOH_AFRL (PIN_AFIO_AF(GPIOH_OSC_IN, 0U) | \
1270
PIN_AFIO_AF(GPIOH_OSC_OUT, 0U) | \
1271
PIN_AFIO_AF(GPIOH_PIN2, 0U) | \
1272
PIN_AFIO_AF(GPIOH_PIN3, 0U) | \
1273
PIN_AFIO_AF(GPIOH_PIN4, 0U) | \
1274
PIN_AFIO_AF(GPIOH_PIN5, 0U) | \
1275
PIN_AFIO_AF(GPIOH_PIN6, 0U) | \
1276
PIN_AFIO_AF(GPIOH_PIN7, 0U))
1277
#define VAL_GPIOH_AFRH (PIN_AFIO_AF(GPIOH_PIN8, 0U) | \
1278
PIN_AFIO_AF(GPIOH_PIN9, 0U) | \
1279
PIN_AFIO_AF(GPIOH_PIN10, 0U) | \
1280
PIN_AFIO_AF(GPIOH_PIN11, 0U) | \
1281
PIN_AFIO_AF(GPIOH_PIN12, 0U) | \
1282
PIN_AFIO_AF(GPIOH_PIN13, 0U) | \
1283
PIN_AFIO_AF(GPIOH_PIN14, 0U) | \
1284
PIN_AFIO_AF(GPIOH_PIN15, 0U))
1285
1286
/*
1287
* GPIOI setup:
1288
*
1289
* PI0 - PIN0 (input pullup).
1290
* PI1 - PIN1 (input pullup).
1291
* PI2 - PIN2 (input pullup).
1292
* PI3 - PIN3 (input pullup).
1293
* PI4 - PIN4 (input pullup).
1294
* PI5 - PIN5 (input pullup).
1295
* PI6 - PIN6 (input pullup).
1296
* PI7 - PIN7 (input pullup).
1297
* PI8 - PIN8 (input pullup).
1298
* PI9 - PIN9 (input pullup).
1299
* PI10 - PIN10 (input pullup).
1300
* PI11 - PIN11 (input pullup).
1301
* PI12 - PIN12 (input pullup).
1302
* PI13 - PIN13 (input pullup).
1303
* PI14 - PIN14 (input pullup).
1304
* PI15 - PIN15 (input pullup).
1305
*/
1306
#define VAL_GPIOI_MODER (PIN_MODE_INPUT(GPIOI_PIN0) | \
1307
PIN_MODE_INPUT(GPIOI_PIN1) | \
1308
PIN_MODE_INPUT(GPIOI_PIN2) | \
1309
PIN_MODE_INPUT(GPIOI_PIN3) | \
1310
PIN_MODE_INPUT(GPIOI_PIN4) | \
1311
PIN_MODE_INPUT(GPIOI_PIN5) | \
1312
PIN_MODE_INPUT(GPIOI_PIN6) | \
1313
PIN_MODE_INPUT(GPIOI_PIN7) | \
1314
PIN_MODE_INPUT(GPIOI_PIN8) | \
1315
PIN_MODE_INPUT(GPIOI_PIN9) | \
1316
PIN_MODE_INPUT(GPIOI_PIN10) | \
1317
PIN_MODE_INPUT(GPIOI_PIN11) | \
1318
PIN_MODE_INPUT(GPIOI_PIN12) | \
1319
PIN_MODE_INPUT(GPIOI_PIN13) | \
1320
PIN_MODE_INPUT(GPIOI_PIN14) | \
1321
PIN_MODE_INPUT(GPIOI_PIN15))
1322
#define VAL_GPIOI_OTYPER (PIN_OTYPE_PUSHPULL(GPIOI_PIN0) | \
1323
PIN_OTYPE_PUSHPULL(GPIOI_PIN1) | \
1324
PIN_OTYPE_PUSHPULL(GPIOI_PIN2) | \
1325
PIN_OTYPE_PUSHPULL(GPIOI_PIN3) | \
1326
PIN_OTYPE_PUSHPULL(GPIOI_PIN4) | \
1327
PIN_OTYPE_PUSHPULL(GPIOI_PIN5) | \
1328
PIN_OTYPE_PUSHPULL(GPIOI_PIN6) | \
1329
PIN_OTYPE_PUSHPULL(GPIOI_PIN7) | \
1330
PIN_OTYPE_PUSHPULL(GPIOI_PIN8) | \
1331
PIN_OTYPE_PUSHPULL(GPIOI_PIN9) | \
1332
PIN_OTYPE_PUSHPULL(GPIOI_PIN10) | \
1333
PIN_OTYPE_PUSHPULL(GPIOI_PIN11) | \
1334
PIN_OTYPE_PUSHPULL(GPIOI_PIN12) | \
1335
PIN_OTYPE_PUSHPULL(GPIOI_PIN13) | \
1336
PIN_OTYPE_PUSHPULL(GPIOI_PIN14) | \
1337
PIN_OTYPE_PUSHPULL(GPIOI_PIN15))
1338
#define VAL_GPIOI_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOI_PIN0) | \
1339
PIN_OSPEED_VERYLOW(GPIOI_PIN1) | \
1340
PIN_OSPEED_VERYLOW(GPIOI_PIN2) | \
1341
PIN_OSPEED_VERYLOW(GPIOI_PIN3) | \
1342
PIN_OSPEED_VERYLOW(GPIOI_PIN4) | \
1343
PIN_OSPEED_VERYLOW(GPIOI_PIN5) | \
1344
PIN_OSPEED_VERYLOW(GPIOI_PIN6) | \
1345
PIN_OSPEED_VERYLOW(GPIOI_PIN7) | \
1346
PIN_OSPEED_VERYLOW(GPIOI_PIN8) | \
1347
PIN_OSPEED_VERYLOW(GPIOI_PIN9) | \
1348
PIN_OSPEED_VERYLOW(GPIOI_PIN10) | \
1349
PIN_OSPEED_VERYLOW(GPIOI_PIN11) | \
1350
PIN_OSPEED_VERYLOW(GPIOI_PIN12) | \
1351
PIN_OSPEED_VERYLOW(GPIOI_PIN13) | \
1352
PIN_OSPEED_VERYLOW(GPIOI_PIN14) | \
1353
PIN_OSPEED_VERYLOW(GPIOI_PIN15))
1354
#define VAL_GPIOI_PUPDR (PIN_PUPDR_PULLUP(GPIOI_PIN0) | \
1355
PIN_PUPDR_PULLUP(GPIOI_PIN1) | \
1356
PIN_PUPDR_PULLUP(GPIOI_PIN2) | \
1357
PIN_PUPDR_PULLUP(GPIOI_PIN3) | \
1358
PIN_PUPDR_PULLUP(GPIOI_PIN4) | \
1359
PIN_PUPDR_PULLUP(GPIOI_PIN5) | \
1360
PIN_PUPDR_PULLUP(GPIOI_PIN6) | \
1361
PIN_PUPDR_PULLUP(GPIOI_PIN7) | \
1362
PIN_PUPDR_PULLUP(GPIOI_PIN8) | \
1363
PIN_PUPDR_PULLUP(GPIOI_PIN9) | \
1364
PIN_PUPDR_PULLUP(GPIOI_PIN10) | \
1365
PIN_PUPDR_PULLUP(GPIOI_PIN11) | \
1366
PIN_PUPDR_PULLUP(GPIOI_PIN12) | \
1367
PIN_PUPDR_PULLUP(GPIOI_PIN13) | \
1368
PIN_PUPDR_PULLUP(GPIOI_PIN14) | \
1369
PIN_PUPDR_PULLUP(GPIOI_PIN15))
1370
#define VAL_GPIOI_ODR (PIN_ODR_HIGH(GPIOI_PIN0) | \
1371
PIN_ODR_HIGH(GPIOI_PIN1) | \
1372
PIN_ODR_HIGH(GPIOI_PIN2) | \
1373
PIN_ODR_HIGH(GPIOI_PIN3) | \
1374
PIN_ODR_HIGH(GPIOI_PIN4) | \
1375
PIN_ODR_HIGH(GPIOI_PIN5) | \
1376
PIN_ODR_HIGH(GPIOI_PIN6) | \
1377
PIN_ODR_HIGH(GPIOI_PIN7) | \
1378
PIN_ODR_HIGH(GPIOI_PIN8) | \
1379
PIN_ODR_HIGH(GPIOI_PIN9) | \
1380
PIN_ODR_HIGH(GPIOI_PIN10) | \
1381
PIN_ODR_HIGH(GPIOI_PIN11) | \
1382
PIN_ODR_HIGH(GPIOI_PIN12) | \
1383
PIN_ODR_HIGH(GPIOI_PIN13) | \
1384
PIN_ODR_HIGH(GPIOI_PIN14) | \
1385
PIN_ODR_HIGH(GPIOI_PIN15))
1386
#define VAL_GPIOI_AFRL (PIN_AFIO_AF(GPIOI_PIN0, 0U) | \
1387
PIN_AFIO_AF(GPIOI_PIN1, 0U) | \
1388
PIN_AFIO_AF(GPIOI_PIN2, 0U) | \
1389
PIN_AFIO_AF(GPIOI_PIN3, 0U) | \
1390
PIN_AFIO_AF(GPIOI_PIN4, 0U) | \
1391
PIN_AFIO_AF(GPIOI_PIN5, 0U) | \
1392
PIN_AFIO_AF(GPIOI_PIN6, 0U) | \
1393
PIN_AFIO_AF(GPIOI_PIN7, 0U))
1394
#define VAL_GPIOI_AFRH (PIN_AFIO_AF(GPIOI_PIN8, 0U) | \
1395
PIN_AFIO_AF(GPIOI_PIN9, 0U) | \
1396
PIN_AFIO_AF(GPIOI_PIN10, 0U) | \
1397
PIN_AFIO_AF(GPIOI_PIN11, 0U) | \
1398
PIN_AFIO_AF(GPIOI_PIN12, 0U) | \
1399
PIN_AFIO_AF(GPIOI_PIN13, 0U) | \
1400
PIN_AFIO_AF(GPIOI_PIN14, 0U) | \
1401
PIN_AFIO_AF(GPIOI_PIN15, 0U))
1402
1403
/*
1404
* GPIOJ setup:
1405
*
1406
* PJ0 - PIN0 (input pullup).
1407
* PJ1 - PIN1 (input pullup).
1408
* PJ2 - PIN2 (input pullup).
1409
* PJ3 - PIN3 (input pullup).
1410
* PJ4 - PIN4 (input pullup).
1411
* PJ5 - PIN5 (input pullup).
1412
* PJ6 - PIN6 (input pullup).
1413
* PJ7 - PIN7 (input pullup).
1414
* PJ8 - PIN8 (input pullup).
1415
* PJ9 - PIN9 (input pullup).
1416
* PJ10 - PIN10 (input pullup).
1417
* PJ11 - PIN11 (input pullup).
1418
* PJ12 - PIN12 (input pullup).
1419
* PJ13 - PIN13 (input pullup).
1420
* PJ14 - PIN14 (input pullup).
1421
* PJ15 - PIN15 (input pullup).
1422
*/
1423
#define VAL_GPIOJ_MODER (PIN_MODE_INPUT(GPIOJ_PIN0) | \
1424
PIN_MODE_INPUT(GPIOJ_PIN1) | \
1425
PIN_MODE_INPUT(GPIOJ_PIN2) | \
1426
PIN_MODE_INPUT(GPIOJ_PIN3) | \
1427
PIN_MODE_INPUT(GPIOJ_PIN4) | \
1428
PIN_MODE_INPUT(GPIOJ_PIN5) | \
1429
PIN_MODE_INPUT(GPIOJ_PIN6) | \
1430
PIN_MODE_INPUT(GPIOJ_PIN7) | \
1431
PIN_MODE_INPUT(GPIOJ_PIN8) | \
1432
PIN_MODE_INPUT(GPIOJ_PIN9) | \
1433
PIN_MODE_INPUT(GPIOJ_PIN10) | \
1434
PIN_MODE_INPUT(GPIOJ_PIN11) | \
1435
PIN_MODE_INPUT(GPIOJ_PIN12) | \
1436
PIN_MODE_INPUT(GPIOJ_PIN13) | \
1437
PIN_MODE_INPUT(GPIOJ_PIN14) | \
1438
PIN_MODE_INPUT(GPIOJ_PIN15))
1439
#define VAL_GPIOJ_OTYPER (PIN_OTYPE_PUSHPULL(GPIOJ_PIN0) | \
1440
PIN_OTYPE_PUSHPULL(GPIOJ_PIN1) | \
1441
PIN_OTYPE_PUSHPULL(GPIOJ_PIN2) | \
1442
PIN_OTYPE_PUSHPULL(GPIOJ_PIN3) | \
1443
PIN_OTYPE_PUSHPULL(GPIOJ_PIN4) | \
1444
PIN_OTYPE_PUSHPULL(GPIOJ_PIN5) | \
1445
PIN_OTYPE_PUSHPULL(GPIOJ_PIN6) | \
1446
PIN_OTYPE_PUSHPULL(GPIOJ_PIN7) | \
1447
PIN_OTYPE_PUSHPULL(GPIOJ_PIN8) | \
1448
PIN_OTYPE_PUSHPULL(GPIOJ_PIN9) | \
1449
PIN_OTYPE_PUSHPULL(GPIOJ_PIN10) | \
1450
PIN_OTYPE_PUSHPULL(GPIOJ_PIN11) | \
1451
PIN_OTYPE_PUSHPULL(GPIOJ_PIN12) | \
1452
PIN_OTYPE_PUSHPULL(GPIOJ_PIN13) | \
1453
PIN_OTYPE_PUSHPULL(GPIOJ_PIN14) | \
1454
PIN_OTYPE_PUSHPULL(GPIOJ_PIN15))
1455
#define VAL_GPIOJ_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOJ_PIN0) | \
1456
PIN_OSPEED_VERYLOW(GPIOJ_PIN1) | \
1457
PIN_OSPEED_VERYLOW(GPIOJ_PIN2) | \
1458
PIN_OSPEED_VERYLOW(GPIOJ_PIN3) | \
1459
PIN_OSPEED_VERYLOW(GPIOJ_PIN4) | \
1460
PIN_OSPEED_VERYLOW(GPIOJ_PIN5) | \
1461
PIN_OSPEED_VERYLOW(GPIOJ_PIN6) | \
1462
PIN_OSPEED_VERYLOW(GPIOJ_PIN7) | \
1463
PIN_OSPEED_VERYLOW(GPIOJ_PIN8) | \
1464
PIN_OSPEED_VERYLOW(GPIOJ_PIN9) | \
1465
PIN_OSPEED_VERYLOW(GPIOJ_PIN10) | \
1466
PIN_OSPEED_VERYLOW(GPIOJ_PIN11) | \
1467
PIN_OSPEED_VERYLOW(GPIOJ_PIN12) | \
1468
PIN_OSPEED_VERYLOW(GPIOJ_PIN13) | \
1469
PIN_OSPEED_VERYLOW(GPIOJ_PIN14) | \
1470
PIN_OSPEED_VERYLOW(GPIOJ_PIN15))
1471
#define VAL_GPIOJ_PUPDR (PIN_PUPDR_PULLUP(GPIOJ_PIN0) | \
1472
PIN_PUPDR_PULLUP(GPIOJ_PIN1) | \
1473
PIN_PUPDR_PULLUP(GPIOJ_PIN2) | \
1474
PIN_PUPDR_PULLUP(GPIOJ_PIN3) | \
1475
PIN_PUPDR_PULLUP(GPIOJ_PIN4) | \
1476
PIN_PUPDR_PULLUP(GPIOJ_PIN5) | \
1477
PIN_PUPDR_PULLUP(GPIOJ_PIN6) | \
1478
PIN_PUPDR_PULLUP(GPIOJ_PIN7) | \
1479
PIN_PUPDR_PULLUP(GPIOJ_PIN8) | \
1480
PIN_PUPDR_PULLUP(GPIOJ_PIN9) | \
1481
PIN_PUPDR_PULLUP(GPIOJ_PIN10) | \
1482
PIN_PUPDR_PULLUP(GPIOJ_PIN11) | \
1483
PIN_PUPDR_PULLUP(GPIOJ_PIN12) | \
1484
PIN_PUPDR_PULLUP(GPIOJ_PIN13) | \
1485
PIN_PUPDR_PULLUP(GPIOJ_PIN14) | \
1486
PIN_PUPDR_PULLUP(GPIOJ_PIN15))
1487
#define VAL_GPIOJ_ODR (PIN_ODR_HIGH(GPIOJ_PIN0) | \
1488
PIN_ODR_HIGH(GPIOJ_PIN1) | \
1489
PIN_ODR_HIGH(GPIOJ_PIN2) | \
1490
PIN_ODR_HIGH(GPIOJ_PIN3) | \
1491
PIN_ODR_HIGH(GPIOJ_PIN4) | \
1492
PIN_ODR_HIGH(GPIOJ_PIN5) | \
1493
PIN_ODR_HIGH(GPIOJ_PIN6) | \
1494
PIN_ODR_HIGH(GPIOJ_PIN7) | \
1495
PIN_ODR_HIGH(GPIOJ_PIN8) | \
1496
PIN_ODR_HIGH(GPIOJ_PIN9) | \
1497
PIN_ODR_HIGH(GPIOJ_PIN10) | \
1498
PIN_ODR_HIGH(GPIOJ_PIN11) | \
1499
PIN_ODR_HIGH(GPIOJ_PIN12) | \
1500
PIN_ODR_HIGH(GPIOJ_PIN13) | \
1501
PIN_ODR_HIGH(GPIOJ_PIN14) | \
1502
PIN_ODR_HIGH(GPIOJ_PIN15))
1503
#define VAL_GPIOJ_AFRL (PIN_AFIO_AF(GPIOJ_PIN0, 0U) | \
1504
PIN_AFIO_AF(GPIOJ_PIN1, 0U) | \
1505
PIN_AFIO_AF(GPIOJ_PIN2, 0U) | \
1506
PIN_AFIO_AF(GPIOJ_PIN3, 0U) | \
1507
PIN_AFIO_AF(GPIOJ_PIN4, 0U) | \
1508
PIN_AFIO_AF(GPIOJ_PIN5, 0U) | \
1509
PIN_AFIO_AF(GPIOJ_PIN6, 0U) | \
1510
PIN_AFIO_AF(GPIOJ_PIN7, 0U))
1511
#define VAL_GPIOJ_AFRH (PIN_AFIO_AF(GPIOJ_PIN8, 0U) | \
1512
PIN_AFIO_AF(GPIOJ_PIN9, 0U) | \
1513
PIN_AFIO_AF(GPIOJ_PIN10, 0U) | \
1514
PIN_AFIO_AF(GPIOJ_PIN11, 0U) | \
1515
PIN_AFIO_AF(GPIOJ_PIN12, 0U) | \
1516
PIN_AFIO_AF(GPIOJ_PIN13, 0U) | \
1517
PIN_AFIO_AF(GPIOJ_PIN14, 0U) | \
1518
PIN_AFIO_AF(GPIOJ_PIN15, 0U))
1519
1520
/*
1521
* GPIOK setup:
1522
*
1523
* PK0 - PIN0 (input pullup).
1524
* PK1 - PIN1 (input pullup).
1525
* PK2 - PIN2 (input pullup).
1526
* PK3 - PIN3 (input pullup).
1527
* PK4 - PIN4 (input pullup).
1528
* PK5 - PIN5 (input pullup).
1529
* PK6 - PIN6 (input pullup).
1530
* PK7 - PIN7 (input pullup).
1531
* PK8 - PIN8 (input pullup).
1532
* PK9 - PIN9 (input pullup).
1533
* PK10 - PIN10 (input pullup).
1534
* PK11 - PIN11 (input pullup).
1535
* PK12 - PIN12 (input pullup).
1536
* PK13 - PIN13 (input pullup).
1537
* PK14 - PIN14 (input pullup).
1538
* PK15 - PIN15 (input pullup).
1539
*/
1540
#define VAL_GPIOK_MODER (PIN_MODE_INPUT(GPIOK_PIN0) | \
1541
PIN_MODE_INPUT(GPIOK_PIN1) | \
1542
PIN_MODE_INPUT(GPIOK_PIN2) | \
1543
PIN_MODE_INPUT(GPIOK_PIN3) | \
1544
PIN_MODE_INPUT(GPIOK_PIN4) | \
1545
PIN_MODE_INPUT(GPIOK_PIN5) | \
1546
PIN_MODE_INPUT(GPIOK_PIN6) | \
1547
PIN_MODE_INPUT(GPIOK_PIN7) | \
1548
PIN_MODE_INPUT(GPIOK_PIN8) | \
1549
PIN_MODE_INPUT(GPIOK_PIN9) | \
1550
PIN_MODE_INPUT(GPIOK_PIN10) | \
1551
PIN_MODE_INPUT(GPIOK_PIN11) | \
1552
PIN_MODE_INPUT(GPIOK_PIN12) | \
1553
PIN_MODE_INPUT(GPIOK_PIN13) | \
1554
PIN_MODE_INPUT(GPIOK_PIN14) | \
1555
PIN_MODE_INPUT(GPIOK_PIN15))
1556
#define VAL_GPIOK_OTYPER (PIN_OTYPE_PUSHPULL(GPIOK_PIN0) | \
1557
PIN_OTYPE_PUSHPULL(GPIOK_PIN1) | \
1558
PIN_OTYPE_PUSHPULL(GPIOK_PIN2) | \
1559
PIN_OTYPE_PUSHPULL(GPIOK_PIN3) | \
1560
PIN_OTYPE_PUSHPULL(GPIOK_PIN4) | \
1561
PIN_OTYPE_PUSHPULL(GPIOK_PIN5) | \
1562
PIN_OTYPE_PUSHPULL(GPIOK_PIN6) | \
1563
PIN_OTYPE_PUSHPULL(GPIOK_PIN7) | \
1564
PIN_OTYPE_PUSHPULL(GPIOK_PIN8) | \
1565
PIN_OTYPE_PUSHPULL(GPIOK_PIN9) | \
1566
PIN_OTYPE_PUSHPULL(GPIOK_PIN10) | \
1567
PIN_OTYPE_PUSHPULL(GPIOK_PIN11) | \
1568
PIN_OTYPE_PUSHPULL(GPIOK_PIN12) | \
1569
PIN_OTYPE_PUSHPULL(GPIOK_PIN13) | \
1570
PIN_OTYPE_PUSHPULL(GPIOK_PIN14) | \
1571
PIN_OTYPE_PUSHPULL(GPIOK_PIN15))
1572
#define VAL_GPIOK_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOK_PIN0) | \
1573
PIN_OSPEED_VERYLOW(GPIOK_PIN1) | \
1574
PIN_OSPEED_VERYLOW(GPIOK_PIN2) | \
1575
PIN_OSPEED_VERYLOW(GPIOK_PIN3) | \
1576
PIN_OSPEED_VERYLOW(GPIOK_PIN4) | \
1577
PIN_OSPEED_VERYLOW(GPIOK_PIN5) | \
1578
PIN_OSPEED_VERYLOW(GPIOK_PIN6) | \
1579
PIN_OSPEED_VERYLOW(GPIOK_PIN7) | \
1580
PIN_OSPEED_VERYLOW(GPIOK_PIN8) | \
1581
PIN_OSPEED_VERYLOW(GPIOK_PIN9) | \
1582
PIN_OSPEED_VERYLOW(GPIOK_PIN10) | \
1583
PIN_OSPEED_VERYLOW(GPIOK_PIN11) | \
1584
PIN_OSPEED_VERYLOW(GPIOK_PIN12) | \
1585
PIN_OSPEED_VERYLOW(GPIOK_PIN13) | \
1586
PIN_OSPEED_VERYLOW(GPIOK_PIN14) | \
1587
PIN_OSPEED_VERYLOW(GPIOK_PIN15))
1588
#define VAL_GPIOK_PUPDR (PIN_PUPDR_PULLUP(GPIOK_PIN0) | \
1589
PIN_PUPDR_PULLUP(GPIOK_PIN1) | \
1590
PIN_PUPDR_PULLUP(GPIOK_PIN2) | \
1591
PIN_PUPDR_PULLUP(GPIOK_PIN3) | \
1592
PIN_PUPDR_PULLUP(GPIOK_PIN4) | \
1593
PIN_PUPDR_PULLUP(GPIOK_PIN5) | \
1594
PIN_PUPDR_PULLUP(GPIOK_PIN6) | \
1595
PIN_PUPDR_PULLUP(GPIOK_PIN7) | \
1596
PIN_PUPDR_PULLUP(GPIOK_PIN8) | \
1597
PIN_PUPDR_PULLUP(GPIOK_PIN9) | \
1598
PIN_PUPDR_PULLUP(GPIOK_PIN10) | \
1599
PIN_PUPDR_PULLUP(GPIOK_PIN11) | \
1600
PIN_PUPDR_PULLUP(GPIOK_PIN12) | \
1601
PIN_PUPDR_PULLUP(GPIOK_PIN13) | \
1602
PIN_PUPDR_PULLUP(GPIOK_PIN14) | \
1603
PIN_PUPDR_PULLUP(GPIOK_PIN15))
1604
#define VAL_GPIOK_ODR (PIN_ODR_HIGH(GPIOK_PIN0) | \
1605
PIN_ODR_HIGH(GPIOK_PIN1) | \
1606
PIN_ODR_HIGH(GPIOK_PIN2) | \
1607
PIN_ODR_HIGH(GPIOK_PIN3) | \
1608
PIN_ODR_HIGH(GPIOK_PIN4) | \
1609
PIN_ODR_HIGH(GPIOK_PIN5) | \
1610
PIN_ODR_HIGH(GPIOK_PIN6) | \
1611
PIN_ODR_HIGH(GPIOK_PIN7) | \
1612
PIN_ODR_HIGH(GPIOK_PIN8) | \
1613
PIN_ODR_HIGH(GPIOK_PIN9) | \
1614
PIN_ODR_HIGH(GPIOK_PIN10) | \
1615
PIN_ODR_HIGH(GPIOK_PIN11) | \
1616
PIN_ODR_HIGH(GPIOK_PIN12) | \
1617
PIN_ODR_HIGH(GPIOK_PIN13) | \
1618
PIN_ODR_HIGH(GPIOK_PIN14) | \
1619
PIN_ODR_HIGH(GPIOK_PIN15))
1620
#define VAL_GPIOK_AFRL (PIN_AFIO_AF(GPIOK_PIN0, 0U) | \
1621
PIN_AFIO_AF(GPIOK_PIN1, 0U) | \
1622
PIN_AFIO_AF(GPIOK_PIN2, 0U) | \
1623
PIN_AFIO_AF(GPIOK_PIN3, 0U) | \
1624
PIN_AFIO_AF(GPIOK_PIN4, 0U) | \
1625
PIN_AFIO_AF(GPIOK_PIN5, 0U) | \
1626
PIN_AFIO_AF(GPIOK_PIN6, 0U) | \
1627
PIN_AFIO_AF(GPIOK_PIN7, 0U))
1628
#define VAL_GPIOK_AFRH (PIN_AFIO_AF(GPIOK_PIN8, 0U) | \
1629
PIN_AFIO_AF(GPIOK_PIN9, 0U) | \
1630
PIN_AFIO_AF(GPIOK_PIN10, 0U) | \
1631
PIN_AFIO_AF(GPIOK_PIN11, 0U) | \
1632
PIN_AFIO_AF(GPIOK_PIN12, 0U) | \
1633
PIN_AFIO_AF(GPIOK_PIN13, 0U) | \
1634
PIN_AFIO_AF(GPIOK_PIN14, 0U) | \
1635
PIN_AFIO_AF(GPIOK_PIN15, 0U))
1636
1637
/*===========================================================================*/
1638
/* External declarations. */
1639
/*===========================================================================*/
1640
1641
#if !defined(_FROM_ASM_)
1642
#ifdef __cplusplus
1643
extern
"C"
{
1644
#endif
1645
void
boardInit
(
void
);
1646
#ifdef __cplusplus
1647
}
1648
#endif
1649
#endif
/* _FROM_ASM_ */
1650
1651
#endif
/* BOARD_H */
boardInit
void boardInit(void)
Board-specific initialization code.
Definition
board.c:264
board
board.h
Généré par
1.9.8