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