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
1643extern "C" {
1644#endif
1645 void boardInit(void);
1646#ifdef __cplusplus
1647}
1648#endif
1649#endif /* _FROM_ASM_ */
1650
1651#endif /* BOARD_H */
void boardInit(void)
Board-specific initialization code.
Definition board.c:264