Statistics
| Branch: | Tag: | Revision:

amiro-os / modules / NUCLEO-F401RE / board.h @ 40b5aa1d

History | View | Annotate | Download (86.726 KB)

1 b93c5d98 Thomas Schöpping
/*
2
AMiRo-OS is an operating system designed for the Autonomous Mini Robot (AMiRo) platform.
3 96621a83 Thomas Schöpping
Copyright (C) 2016..2020  Thomas Schöpping et al.
4 b93c5d98 Thomas Schöpping

5
This program is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
9

10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
GNU General Public License for more details.
14

15
You should have received a copy of the GNU General Public License
16
along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#ifndef BOARD_H
20
#define BOARD_H
21
22
/*===========================================================================*/
23
/* Driver constants.                                                         */
24
/*===========================================================================*/
25
26
/*
27
 * Setup for STMicroelectronics STM32 Nucleo64-F401RE board.
28
 */
29
30
/*
31
 * Board identifier.
32
 */
33
#define BOARD_ST_NUCLEO64_F401RE
34
#define BOARD_NAME                  "STMicroelectronics STM32 Nucleo64-F401RE"
35
36
/*
37
 * Board oscillators-related settings.
38
 * NOTE: LSE not fitted.
39
 */
40
#if !defined(STM32_LSECLK)
41
#define STM32_LSECLK                0U
42
#endif
43
44
#if !defined(STM32_HSECLK)
45
#define STM32_HSECLK                8000000U
46
#endif
47
48
#define STM32_HSE_BYPASS
49
50
/*
51
 * Board voltages.
52
 * Required for performance limits calculation.
53
 */
54
#define STM32_VDD                   300U
55
56
/*
57
 * MCU type as defined in the ST header.
58
 */
59
#define STM32F401xE
60
61
/*
62
 * IO pins assignments.
63
 */
64
#define GPIOA_ARD_A0                0U
65
#define GPIOA_ADC1_IN0              0U
66
#define GPIOA_ARD_A1                1U
67
#define GPIOA_ADC1_IN1              1U
68
#define GPIOA_ARD_D1                2U
69
#define GPIOA_USART2_TX             2U
70
#define GPIOA_ARD_D0                3U
71
#define GPIOA_USART2_RX             3U
72
#define GPIOA_ARD_A2                4U
73
#define GPIOA_ADC1_IN4              4U
74
#define GPIOA_ARD_D13               5U
75 3106e8cc Thomas Schöpping
#define GPIOA_LED_GREEN             5U
76 b93c5d98 Thomas Schöpping
#define GPIOA_ARD_D12               6U
77
#define GPIOA_ARD_D11               7U
78
#define GPIOA_ARD_D7                8U
79
#define GPIOA_ARD_D8                9U
80
#define GPIOA_ARD_D2                10U
81
#define GPIOA_OTG_FS_DM             11U
82
#define GPIOA_OTG_FS_DP             12U
83
#define GPIOA_SWDIO                 13U
84
#define GPIOA_SWCLK                 14U
85
#define GPIOA_PIN15                 15U
86
87
#define GPIOB_ARD_A3                0U
88
#define GPIOB_ADC1_IN8              0U
89
#define GPIOB_PIN1                  1U
90
#define GPIOB_PIN2                  2U
91
#define GPIOB_ARD_D3                3U
92 3106e8cc Thomas Schöpping
#define GPIOB_SWO                   3U
93 b93c5d98 Thomas Schöpping
#define GPIOB_ARD_D5                4U
94
#define GPIOB_ARD_D4                5U
95
#define GPIOB_ARD_D10               6U
96
#define GPIOB_PIN7                  7U
97
#define GPIOB_ARD_D15               8U
98
#define GPIOB_ARD_D14               9U
99
#define GPIOB_ARD_D6                10U
100
#define GPIOB_PIN11                 11U
101
#define GPIOB_PIN12                 12U
102
#define GPIOB_PIN13                 13U
103
#define GPIOB_PIN14                 14U
104
#define GPIOB_PIN15                 15U
105
106
#define GPIOC_ARD_A5                0U
107
#define GPIOC_ADC1_IN10             0U
108
#define GPIOC_ARD_A4                1U
109
#define GPIOC_ADC1_IN11             1U
110
#define GPIOC_PIN2                  2U
111
#define GPIOC_PIN3                  3U
112
#define GPIOC_PIN4                  4U
113
#define GPIOC_PIN5                  5U
114
#define GPIOC_PIN6                  6U
115
#define GPIOC_ARD_D9                7U
116
#define GPIOC_PIN8                  8U
117
#define GPIOC_PIN9                  9U
118
#define GPIOC_PIN10                 10U
119
#define GPIOC_PIN11                 11U
120
#define GPIOC_PIN12                 12U
121
#define GPIOC_BUTTON                13U
122
#define GPIOC_OSC32_IN              14U
123
#define GPIOC_OSC32_OUT             15U
124
125
#define GPIOD_PIN0                  0U
126
#define GPIOD_PIN1                  1U
127
#define GPIOD_PIN2                  2U
128
#define GPIOD_PIN3                  3U
129
#define GPIOD_PIN4                  4U
130
#define GPIOD_PIN5                  5U
131
#define GPIOD_PIN6                  6U
132
#define GPIOD_PIN7                  7U
133
#define GPIOD_PIN8                  8U
134
#define GPIOD_PIN9                  9U
135
#define GPIOD_PIN10                 10U
136
#define GPIOD_PIN11                 11U
137
#define GPIOD_PIN12                 12U
138
#define GPIOD_PIN13                 13U
139
#define GPIOD_PIN14                 14U
140
#define GPIOD_PIN15                 15U
141
142
#define GPIOE_PIN0                  0U
143
#define GPIOE_PIN1                  1U
144
#define GPIOE_PIN2                  2U
145
#define GPIOE_PIN3                  3U
146
#define GPIOE_PIN4                  4U
147
#define GPIOE_PIN5                  5U
148
#define GPIOE_PIN6                  6U
149
#define GPIOE_PIN7                  7U
150
#define GPIOE_PIN8                  8U
151
#define GPIOE_PIN9                  9U
152
#define GPIOE_PIN10                 10U
153
#define GPIOE_PIN11                 11U
154
#define GPIOE_PIN12                 12U
155
#define GPIOE_PIN13                 13U
156
#define GPIOE_PIN14                 14U
157
#define GPIOE_PIN15                 15U
158
159
#define GPIOF_PIN0                  0U
160
#define GPIOF_PIN1                  1U
161
#define GPIOF_PIN2                  2U
162
#define GPIOF_PIN3                  3U
163
#define GPIOF_PIN4                  4U
164
#define GPIOF_PIN5                  5U
165
#define GPIOF_PIN6                  6U
166
#define GPIOF_PIN7                  7U
167
#define GPIOF_PIN8                  8U
168
#define GPIOF_PIN9                  9U
169
#define GPIOF_PIN10                 10U
170
#define GPIOF_PIN11                 11U
171
#define GPIOF_PIN12                 12U
172
#define GPIOF_PIN13                 13U
173
#define GPIOF_PIN14                 14U
174
#define GPIOF_PIN15                 15U
175
176
#define GPIOG_PIN0                  0U
177
#define GPIOG_PIN1                  1U
178
#define GPIOG_PIN2                  2U
179
#define GPIOG_PIN3                  3U
180
#define GPIOG_PIN4                  4U
181
#define GPIOG_PIN5                  5U
182
#define GPIOG_PIN6                  6U
183
#define GPIOG_PIN7                  7U
184
#define GPIOG_PIN8                  8U
185
#define GPIOG_PIN9                  9U
186
#define GPIOG_PIN10                 10U
187
#define GPIOG_PIN11                 11U
188
#define GPIOG_PIN12                 12U
189
#define GPIOG_PIN13                 13U
190
#define GPIOG_PIN14                 14U
191
#define GPIOG_PIN15                 15U
192
193
#define GPIOH_OSC_IN                0U
194
#define GPIOH_OSC_OUT               1U
195
#define GPIOH_PIN2                  2U
196
#define GPIOH_PIN3                  3U
197
#define GPIOH_PIN4                  4U
198
#define GPIOH_PIN5                  5U
199
#define GPIOH_PIN6                  6U
200
#define GPIOH_PIN7                  7U
201
#define GPIOH_PIN8                  8U
202
#define GPIOH_PIN9                  9U
203
#define GPIOH_PIN10                 10U
204
#define GPIOH_PIN11                 11U
205
#define GPIOH_PIN12                 12U
206
#define GPIOH_PIN13                 13U
207
#define GPIOH_PIN14                 14U
208
#define GPIOH_PIN15                 15U
209
210
#define GPIOI_PIN0                  0U
211
#define GPIOI_PIN1                  1U
212
#define GPIOI_PIN2                  2U
213
#define GPIOI_PIN3                  3U
214
#define GPIOI_PIN4                  4U
215
#define GPIOI_PIN5                  5U
216
#define GPIOI_PIN6                  6U
217
#define GPIOI_PIN7                  7U
218
#define GPIOI_PIN8                  8U
219
#define GPIOI_PIN9                  9U
220
#define GPIOI_PIN10                 10U
221
#define GPIOI_PIN11                 11U
222
#define GPIOI_PIN12                 12U
223
#define GPIOI_PIN13                 13U
224
#define GPIOI_PIN14                 14U
225
#define GPIOI_PIN15                 15U
226
227
/*
228
 * IO lines assignments.
229
 */
230 3106e8cc Thomas Schöpping
#define LINE_ARD_A0                 PAL_LINE(GPIOA, GPIOA_ARD_A0)
231
#define LINE_ADC1_IN0               PAL_LINE(GPIOA, GPIOA_ADC1_IN0)
232
#define LINE_ARD_A1                 PAL_LINE(GPIOA, GPIOA_ARD_A1)
233
#define LINE_ADC1_IN1               PAL_LINE(GPIOA, GPIOA_ADC1_IN1)
234
#define LINE_ARD_D1                 PAL_LINE(GPIOA, GPIOA_ARD_D1)
235
#define LINE_USART2_TX              PAL_LINE(GPIOA, GPIOA_USART2_TX)
236
#define LINE_ARD_D0                 PAL_LINE(GPIOA, GPIOA_ARD_D0)
237
#define LINE_USART2_RX              PAL_LINE(GPIOA, GPIOA_USART2_RX)
238
#define LINE_ARD_A2                 PAL_LINE(GPIOA, GPIOA_ARD_A2)
239
#define LINE_ADC1_IN4               PAL_LINE(GPIOA, GPIOA_ADC1_IN4)
240
#define LINE_ARD_D13                PAL_LINE(GPIOA, GPIOA_ARD_D13)
241
#define LINE_LED_GREEN              PAL_LINE(GPIOA, GPIOA_LED_GREEN)
242
#define LINE_ARD_D12                PAL_LINE(GPIOA, GPIOA_ARD_D12)
243
#define LINE_ARD_D11                PAL_LINE(GPIOA, GPIOA_ARD_D11)
244
#define LINE_ARD_D7                 PAL_LINE(GPIOA, GPIOA_ARD_D7)
245
#define LINE_ARD_D8                 PAL_LINE(GPIOA, GPIOA_ARD_D8)
246
#define LINE_ARD_D2                 PAL_LINE(GPIOA, GPIOA_ARD_D2)
247
#define LINE_OTG_FS_DM              PAL_LINE(GPIOA, GPIOA_OTG_FS_DM)
248
#define LINE_OTG_FS_DP              PAL_LINE(GPIOA, GPIOA_OTG_FS_DP)
249
#define LINE_SWDIO                  PAL_LINE(GPIOA, GPIOA_SWDIO)
250
#define LINE_SWCLK                  PAL_LINE(GPIOA, GPIOA_SWCLK)
251
252
#define LINE_ARD_A3                 PAL_LINE(GPIOB, GPIOB_ARD_A3)
253
#define LINE_ADC1_IN8               PAL_LINE(GPIOB, GPIOB_ADC1_IN8)
254
#define LINE_ARD_D3                 PAL_LINE(GPIOB, GPIOB_ARD_D3)
255
#define LINE_SWO                    PAL_LINE(GPIOB, GPIOB_SWO)
256
#define LINE_ARD_D5                 PAL_LINE(GPIOB, GPIOB_ARD_D5)
257
#define LINE_ARD_D4                 PAL_LINE(GPIOB, GPIOB_ARD_D4)
258
#define LINE_ARD_D10                PAL_LINE(GPIOB, GPIOB_ARD_D10)
259
#define LINE_ARD_D15                PAL_LINE(GPIOB, GPIOB_ARD_D15)
260
#define LINE_ARD_D14                PAL_LINE(GPIOB, GPIOB_ARD_D14)
261
#define LINE_ARD_D6                 PAL_LINE(GPIOB, GPIOB_ARD_D6)
262
263
#define LINE_ARD_A5                 PAL_LINE(GPIOC, GPIOC_ARD_A5)
264
#define LINE_ADC1_IN10              PAL_LINE(GPIOC, GPIOC_ADC1_IN10)
265
#define LINE_ARD_A4                 PAL_LINE(GPIOC, GPIOC_ARD_A4)
266
#define LINE_ADC1_IN11              PAL_LINE(GPIOC, GPIOC_ADC1_IN11)
267
#define LINE_ARD_D9                 PAL_LINE(GPIOC, GPIOC_ARD_D9)
268
#define LINE_BUTTON                 PAL_LINE(GPIOC, GPIOC_BUTTON)
269
#define LINE_OSC32_IN               PAL_LINE(GPIOC, GPIOC_OSC32_IN)
270
#define LINE_OSC32_OUT              PAL_LINE(GPIOC, GPIOC_OSC32_OUT)
271
272
#define LINE_OSC_IN                 PAL_LINE(GPIOH, GPIOH_OSC_IN)
273
#define LINE_OSC_OUT                PAL_LINE(GPIOH, GPIOH_OSC_OUT)
274 b93c5d98 Thomas Schöpping
275
/*===========================================================================*/
276
/* Driver pre-compile time settings.                                         */
277
/*===========================================================================*/
278
279
/*===========================================================================*/
280
/* Derived constants and error checks.                                       */
281
/*===========================================================================*/
282
283
/*===========================================================================*/
284
/* Driver data structures and types.                                         */
285
/*===========================================================================*/
286
287
/*===========================================================================*/
288
/* Driver macros.                                                            */
289
/*===========================================================================*/
290
291
/*
292
 * I/O ports initial setup, this configuration is established soon after reset
293
 * in the initialization code.
294
 * Please refer to the STM32 Reference Manual for details.
295
 */
296
#define PIN_MODE_INPUT(n)           (0U << ((n) * 2U))
297
#define PIN_MODE_OUTPUT(n)          (1U << ((n) * 2U))
298
#define PIN_MODE_ALTERNATE(n)       (2U << ((n) * 2U))
299
#define PIN_MODE_ANALOG(n)          (3U << ((n) * 2U))
300
#define PIN_ODR_LOW(n)              (0U << (n))
301
#define PIN_ODR_HIGH(n)             (1U << (n))
302
#define PIN_OTYPE_PUSHPULL(n)       (0U << (n))
303
#define PIN_OTYPE_OPENDRAIN(n)      (1U << (n))
304
#define PIN_OSPEED_VERYLOW(n)       (0U << ((n) * 2U))
305
#define PIN_OSPEED_LOW(n)           (1U << ((n) * 2U))
306
#define PIN_OSPEED_MEDIUM(n)        (2U << ((n) * 2U))
307
#define PIN_OSPEED_HIGH(n)          (3U << ((n) * 2U))
308
#define PIN_PUPDR_FLOATING(n)       (0U << ((n) * 2U))
309
#define PIN_PUPDR_PULLUP(n)         (1U << ((n) * 2U))
310
#define PIN_PUPDR_PULLDOWN(n)       (2U << ((n) * 2U))
311
#define PIN_AFIO_AF(n, v)           ((v) << (((n) % 8U) * 4U))
312
313
/*
314
 * GPIOA setup:
315
 *
316
 * PA0  - ARD_A0 ADC1_IN0           (input pullup).
317
 * PA1  - ARD_A1 ADC1_IN1           (input pullup).
318
 * PA2  - ARD_D1 USART2_TX          (alternate 7).
319
 * PA3  - ARD_D0 USART2_RX          (alternate 7).
320
 * PA4  - ARD_A2 ADC1_IN4           (input pullup).
321
 * PA5  - LED_GREEN ARD_D13         (output pushpull high).
322
 * PA6  - ARD_D12                   (input pullup).
323
 * PA7  - ARD_D11                   (input pullup).
324
 * PA8  - ARD_D7                    (input pullup).
325
 * PA9  - ARD_D8                    (input pullup).
326
 * PA10 - ARD_D2                    (input pullup).
327
 * PA11 - OTG_FS_DM                 (alternate 10).
328
 * PA12 - OTG_FS_DP                 (alternate 10).
329
 * PA13 - SWDIO                     (alternate 0).
330
 * PA14 - SWCLK                     (alternate 0).
331
 * PA15 - PIN15                     (input pullup).
332
 */
333
#define VAL_GPIOA_MODER             (PIN_MODE_INPUT(GPIOA_ARD_A0) |         \
334
                                     PIN_MODE_INPUT(GPIOA_ARD_A1) |         \
335
                                     PIN_MODE_ALTERNATE(GPIOA_ARD_D1) |     \
336
                                     PIN_MODE_ALTERNATE(GPIOA_ARD_D0) |     \
337
                                     PIN_MODE_INPUT(GPIOA_ARD_A2) |         \
338
                                     PIN_MODE_OUTPUT(GPIOA_LED_GREEN) |     \
339
                                     PIN_MODE_INPUT(GPIOA_ARD_D12) |        \
340
                                     PIN_MODE_INPUT(GPIOA_ARD_D11) |        \
341
                                     PIN_MODE_INPUT(GPIOA_ARD_D7) |         \
342
                                     PIN_MODE_INPUT(GPIOA_ARD_D8) |         \
343
                                     PIN_MODE_INPUT(GPIOA_ARD_D2) |         \
344
                                     PIN_MODE_ALTERNATE(GPIOA_OTG_FS_DM) |  \
345
                                     PIN_MODE_ALTERNATE(GPIOA_OTG_FS_DP) |  \
346
                                     PIN_MODE_ALTERNATE(GPIOA_SWDIO) |      \
347
                                     PIN_MODE_ALTERNATE(GPIOA_SWCLK) |      \
348
                                     PIN_MODE_INPUT(GPIOA_PIN15))
349
#define VAL_GPIOA_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOA_ARD_A0) |     \
350
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_A1) |     \
351
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_D1) |     \
352
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_D0) |     \
353
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_A2) |     \
354
                                     PIN_OTYPE_PUSHPULL(GPIOA_LED_GREEN) |  \
355
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_D12) |    \
356
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_D11) |    \
357
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_D7) |     \
358
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_D8) |     \
359
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_D2) |     \
360
                                     PIN_OTYPE_PUSHPULL(GPIOA_OTG_FS_DM) |  \
361
                                     PIN_OTYPE_PUSHPULL(GPIOA_OTG_FS_DP) |  \
362
                                     PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) |      \
363
                                     PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) |      \
364
                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN15))
365
#define VAL_GPIOA_OSPEEDR           (PIN_OSPEED_HIGH(GPIOA_ARD_A0) |        \
366
                                     PIN_OSPEED_HIGH(GPIOA_ARD_A1) |        \
367
                                     PIN_OSPEED_MEDIUM(GPIOA_ARD_D1) |      \
368
                                     PIN_OSPEED_MEDIUM(GPIOA_ARD_D0) |      \
369
                                     PIN_OSPEED_HIGH(GPIOA_ARD_A2) |        \
370
                                     PIN_OSPEED_MEDIUM(GPIOA_LED_GREEN) |   \
371
                                     PIN_OSPEED_HIGH(GPIOA_ARD_D12) |       \
372
                                     PIN_OSPEED_HIGH(GPIOA_ARD_D11) |       \
373
                                     PIN_OSPEED_HIGH(GPIOA_ARD_D7) |        \
374
                                     PIN_OSPEED_HIGH(GPIOA_ARD_D8) |        \
375
                                     PIN_OSPEED_HIGH(GPIOA_ARD_D2) |        \
376
                                     PIN_OSPEED_HIGH(GPIOA_OTG_FS_DM) |     \
377
                                     PIN_OSPEED_HIGH(GPIOA_OTG_FS_DP) |     \
378
                                     PIN_OSPEED_HIGH(GPIOA_SWDIO) |         \
379
                                     PIN_OSPEED_HIGH(GPIOA_SWCLK) |         \
380
                                     PIN_OSPEED_HIGH(GPIOA_PIN15))
381
#define VAL_GPIOA_PUPDR             (PIN_PUPDR_PULLUP(GPIOA_ARD_A0) |       \
382
                                     PIN_PUPDR_PULLUP(GPIOA_ARD_A1) |       \
383
                                     PIN_PUPDR_FLOATING(GPIOA_ARD_D1) |     \
384
                                     PIN_PUPDR_FLOATING(GPIOA_ARD_D0) |     \
385
                                     PIN_PUPDR_PULLUP(GPIOA_ARD_A2) |       \
386
                                     PIN_PUPDR_FLOATING(GPIOA_LED_GREEN) |  \
387
                                     PIN_PUPDR_PULLUP(GPIOA_ARD_D12) |      \
388
                                     PIN_PUPDR_PULLUP(GPIOA_ARD_D11) |      \
389
                                     PIN_PUPDR_PULLUP(GPIOA_ARD_D7) |       \
390
                                     PIN_PUPDR_PULLUP(GPIOA_ARD_D8) |       \
391
                                     PIN_PUPDR_PULLUP(GPIOA_ARD_D2) |       \
392
                                     PIN_PUPDR_FLOATING(GPIOA_OTG_FS_DM) |  \
393
                                     PIN_PUPDR_FLOATING(GPIOA_OTG_FS_DP) |  \
394
                                     PIN_PUPDR_PULLUP(GPIOA_SWDIO) |        \
395
                                     PIN_PUPDR_PULLDOWN(GPIOA_SWCLK) |      \
396
                                     PIN_PUPDR_PULLUP(GPIOA_PIN15))
397
#define VAL_GPIOA_ODR               (PIN_ODR_HIGH(GPIOA_ARD_A0) |           \
398
                                     PIN_ODR_HIGH(GPIOA_ARD_A1) |           \
399
                                     PIN_ODR_HIGH(GPIOA_ARD_D1) |           \
400
                                     PIN_ODR_HIGH(GPIOA_ARD_D0) |           \
401
                                     PIN_ODR_HIGH(GPIOA_ARD_A2) |           \
402
                                     PIN_ODR_LOW(GPIOA_LED_GREEN) |         \
403
                                     PIN_ODR_HIGH(GPIOA_ARD_D12) |          \
404
                                     PIN_ODR_HIGH(GPIOA_ARD_D11) |          \
405
                                     PIN_ODR_HIGH(GPIOA_ARD_D7) |           \
406
                                     PIN_ODR_HIGH(GPIOA_ARD_D8) |           \
407
                                     PIN_ODR_HIGH(GPIOA_ARD_D2) |           \
408
                                     PIN_ODR_HIGH(GPIOA_OTG_FS_DM) |        \
409
                                     PIN_ODR_HIGH(GPIOA_OTG_FS_DP) |        \
410
                                     PIN_ODR_HIGH(GPIOA_SWDIO) |            \
411
                                     PIN_ODR_HIGH(GPIOA_SWCLK) |            \
412
                                     PIN_ODR_HIGH(GPIOA_PIN15))
413
#define VAL_GPIOA_AFRL              (PIN_AFIO_AF(GPIOA_ARD_A0, 0U) |        \
414
                                     PIN_AFIO_AF(GPIOA_ARD_A1, 0U) |        \
415
                                     PIN_AFIO_AF(GPIOA_ARD_D1, 7U) |        \
416
                                     PIN_AFIO_AF(GPIOA_ARD_D0, 7U) |        \
417
                                     PIN_AFIO_AF(GPIOA_ARD_A2, 0U) |        \
418
                                     PIN_AFIO_AF(GPIOA_LED_GREEN, 0U) |     \
419
                                     PIN_AFIO_AF(GPIOA_ARD_D12, 0U) |       \
420
                                     PIN_AFIO_AF(GPIOA_ARD_D11, 0U))
421
#define VAL_GPIOA_AFRH              (PIN_AFIO_AF(GPIOA_ARD_D7, 0U) |        \
422
                                     PIN_AFIO_AF(GPIOA_ARD_D8, 0U) |        \
423
                                     PIN_AFIO_AF(GPIOA_ARD_D2, 0U) |        \
424
                                     PIN_AFIO_AF(GPIOA_OTG_FS_DM, 10U) |    \
425
                                     PIN_AFIO_AF(GPIOA_OTG_FS_DP, 10U) |    \
426
                                     PIN_AFIO_AF(GPIOA_SWDIO, 0U) |         \
427
                                     PIN_AFIO_AF(GPIOA_SWCLK, 0U) |         \
428
                                     PIN_AFIO_AF(GPIOA_PIN15, 0U))
429
430
/*
431
 * GPIOB setup:
432
 *
433
 * PB0  - ARD_A3 ADC1_IN8           (input pullup).
434
 * PB1  - PIN1                      (input pullup).
435
 * PB2  - PIN2                      (input pullup).
436
 * PB3  - SWO ARD_D3                (alternate 0).
437
 * PB4  - ARD_D5                    (input pullup).
438
 * PB5  - ARD_D4                    (input pullup).
439
 * PB6  - ARD_D10                   (input pullup).
440
 * PB7  - PIN7                      (input pullup).
441
 * PB8  - ARD_D15                   (input pullup).
442
 * PB9  - ARD_D14                   (input pullup).
443
 * PB10 - ARD_D6                    (input pullup).
444
 * PB11 - PIN11                     (input pullup).
445
 * PB12 - PIN12                     (input pullup).
446
 * PB13 - PIN13                     (input pullup).
447
 * PB14 - PIN14                     (input pullup).
448
 * PB15 - PIN15                     (input pullup).
449
 */
450
#define VAL_GPIOB_MODER             (PIN_MODE_INPUT(GPIOB_ARD_A3) |         \
451
                                     PIN_MODE_INPUT(GPIOB_PIN1) |           \
452
                                     PIN_MODE_INPUT(GPIOB_PIN2) |           \
453
                                     PIN_MODE_ALTERNATE(GPIOB_SWO) |        \
454
                                     PIN_MODE_INPUT(GPIOB_ARD_D5) |         \
455
                                     PIN_MODE_INPUT(GPIOB_ARD_D4) |         \
456
                                     PIN_MODE_INPUT(GPIOB_ARD_D10) |        \
457
                                     PIN_MODE_INPUT(GPIOB_PIN7) |           \
458
                                     PIN_MODE_INPUT(GPIOB_ARD_D15) |        \
459
                                     PIN_MODE_INPUT(GPIOB_ARD_D14) |        \
460
                                     PIN_MODE_INPUT(GPIOB_ARD_D6) |         \
461
                                     PIN_MODE_INPUT(GPIOB_PIN11) |          \
462
                                     PIN_MODE_INPUT(GPIOB_PIN12) |          \
463
                                     PIN_MODE_INPUT(GPIOB_PIN13) |          \
464
                                     PIN_MODE_INPUT(GPIOB_PIN14) |          \
465
                                     PIN_MODE_INPUT(GPIOB_PIN15))
466
#define VAL_GPIOB_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOB_ARD_A3) |     \
467
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN1) |       \
468
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN2) |       \
469
                                     PIN_OTYPE_PUSHPULL(GPIOB_SWO) |        \
470
                                     PIN_OTYPE_PUSHPULL(GPIOB_ARD_D5) |     \
471
                                     PIN_OTYPE_PUSHPULL(GPIOB_ARD_D4) |     \
472
                                     PIN_OTYPE_PUSHPULL(GPIOB_ARD_D10) |    \
473
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN7) |       \
474
                                     PIN_OTYPE_PUSHPULL(GPIOB_ARD_D15) |    \
475
                                     PIN_OTYPE_PUSHPULL(GPIOB_ARD_D14) |    \
476
                                     PIN_OTYPE_PUSHPULL(GPIOB_ARD_D6) |     \
477
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN11) |      \
478
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN12) |      \
479
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN13) |      \
480
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN14) |      \
481
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN15))
482
#define VAL_GPIOB_OSPEEDR           (PIN_OSPEED_HIGH(GPIOB_ARD_A3) |        \
483
                                     PIN_OSPEED_HIGH(GPIOB_PIN1) |          \
484
                                     PIN_OSPEED_HIGH(GPIOB_PIN2) |          \
485
                                     PIN_OSPEED_HIGH(GPIOB_SWO) |           \
486
                                     PIN_OSPEED_HIGH(GPIOB_ARD_D5) |        \
487
                                     PIN_OSPEED_HIGH(GPIOB_ARD_D4) |        \
488
                                     PIN_OSPEED_HIGH(GPIOB_ARD_D10) |       \
489
                                     PIN_OSPEED_HIGH(GPIOB_PIN7) |          \
490
                                     PIN_OSPEED_HIGH(GPIOB_ARD_D15) |       \
491
                                     PIN_OSPEED_HIGH(GPIOB_ARD_D14) |       \
492
                                     PIN_OSPEED_HIGH(GPIOB_ARD_D6) |        \
493
                                     PIN_OSPEED_HIGH(GPIOB_PIN11) |         \
494
                                     PIN_OSPEED_HIGH(GPIOB_PIN12) |         \
495
                                     PIN_OSPEED_HIGH(GPIOB_PIN13) |         \
496
                                     PIN_OSPEED_HIGH(GPIOB_PIN14) |         \
497
                                     PIN_OSPEED_HIGH(GPIOB_PIN15))
498
#define VAL_GPIOB_PUPDR             (PIN_PUPDR_PULLUP(GPIOB_ARD_A3) |       \
499
                                     PIN_PUPDR_PULLUP(GPIOB_PIN1) |         \
500
                                     PIN_PUPDR_PULLUP(GPIOB_PIN2) |         \
501
                                     PIN_PUPDR_PULLUP(GPIOB_SWO) |          \
502
                                     PIN_PUPDR_PULLUP(GPIOB_ARD_D5) |       \
503
                                     PIN_PUPDR_PULLUP(GPIOB_ARD_D4) |       \
504
                                     PIN_PUPDR_PULLUP(GPIOB_ARD_D10) |      \
505
                                     PIN_PUPDR_PULLUP(GPIOB_PIN7) |         \
506
                                     PIN_PUPDR_PULLUP(GPIOB_ARD_D15) |      \
507
                                     PIN_PUPDR_PULLUP(GPIOB_ARD_D14) |      \
508
                                     PIN_PUPDR_PULLUP(GPIOB_ARD_D6) |       \
509
                                     PIN_PUPDR_PULLUP(GPIOB_PIN11) |        \
510
                                     PIN_PUPDR_PULLUP(GPIOB_PIN12) |        \
511
                                     PIN_PUPDR_PULLUP(GPIOB_PIN13) |        \
512
                                     PIN_PUPDR_PULLUP(GPIOB_PIN14) |        \
513
                                     PIN_PUPDR_PULLUP(GPIOB_PIN15))
514
#define VAL_GPIOB_ODR               (PIN_ODR_HIGH(GPIOB_ARD_A3) |           \
515
                                     PIN_ODR_HIGH(GPIOB_PIN1) |             \
516
                                     PIN_ODR_HIGH(GPIOB_PIN2) |             \
517
                                     PIN_ODR_HIGH(GPIOB_SWO) |              \
518
                                     PIN_ODR_HIGH(GPIOB_ARD_D5) |           \
519
                                     PIN_ODR_HIGH(GPIOB_ARD_D4) |           \
520
                                     PIN_ODR_HIGH(GPIOB_ARD_D10) |          \
521
                                     PIN_ODR_HIGH(GPIOB_PIN7) |             \
522
                                     PIN_ODR_HIGH(GPIOB_ARD_D15) |          \
523
                                     PIN_ODR_HIGH(GPIOB_ARD_D14) |          \
524
                                     PIN_ODR_HIGH(GPIOB_ARD_D6) |           \
525
                                     PIN_ODR_HIGH(GPIOB_PIN11) |            \
526
                                     PIN_ODR_HIGH(GPIOB_PIN12) |            \
527
                                     PIN_ODR_HIGH(GPIOB_PIN13) |            \
528
                                     PIN_ODR_HIGH(GPIOB_PIN14) |            \
529
                                     PIN_ODR_HIGH(GPIOB_PIN15))
530
#define VAL_GPIOB_AFRL              (PIN_AFIO_AF(GPIOB_ARD_A3, 0U) |        \
531
                                     PIN_AFIO_AF(GPIOB_PIN1, 0U) |          \
532
                                     PIN_AFIO_AF(GPIOB_PIN2, 0U) |          \
533
                                     PIN_AFIO_AF(GPIOB_SWO, 0U) |           \
534
                                     PIN_AFIO_AF(GPIOB_ARD_D5, 0U) |        \
535
                                     PIN_AFIO_AF(GPIOB_ARD_D4, 0U) |        \
536
                                     PIN_AFIO_AF(GPIOB_ARD_D10, 0U) |       \
537
                                     PIN_AFIO_AF(GPIOB_PIN7, 0U))
538
#define VAL_GPIOB_AFRH              (PIN_AFIO_AF(GPIOB_ARD_D15, 0U) |       \
539
                                     PIN_AFIO_AF(GPIOB_ARD_D14, 0U) |       \
540
                                     PIN_AFIO_AF(GPIOB_ARD_D6, 0U) |        \
541
                                     PIN_AFIO_AF(GPIOB_PIN11, 0U) |         \
542
                                     PIN_AFIO_AF(GPIOB_PIN12, 0U) |         \
543
                                     PIN_AFIO_AF(GPIOB_PIN13, 0U) |         \
544
                                     PIN_AFIO_AF(GPIOB_PIN14, 0U) |         \
545
                                     PIN_AFIO_AF(GPIOB_PIN15, 0U))
546
547
/*
548
 * GPIOC setup:
549
 *
550
 * PC0  - ARD_A5 ADC1_IN10          (input pullup).
551
 * PC1  - ARD_A4 ADC1_IN11          (input pullup).
552
 * PC2  - PIN2                      (input pullup).
553
 * PC3  - PIN3                      (input pullup).
554
 * PC4  - PIN4                      (input pullup).
555
 * PC5  - PIN5                      (input pullup).
556
 * PC6  - PIN6                      (input pullup).
557
 * PC7  - ARD_D9                    (input pullup).
558
 * PC8  - PIN8                      (input pullup).
559
 * PC9  - PIN9                      (input pullup).
560
 * PC10 - PIN10                     (input pullup).
561
 * PC11 - PIN11                     (input pullup).
562
 * PC12 - PIN12                     (input pullup).
563
 * PC13 - BUTTON                    (input floating).
564
 * PC14 - OSC32_IN                  (input floating).
565
 * PC15 - OSC32_OUT                 (input floating).
566
 */
567
#define VAL_GPIOC_MODER             (PIN_MODE_INPUT(GPIOC_ARD_A5) |         \
568
                                     PIN_MODE_INPUT(GPIOC_ARD_A4) |         \
569
                                     PIN_MODE_INPUT(GPIOC_PIN2) |           \
570
                                     PIN_MODE_INPUT(GPIOC_PIN3) |           \
571
                                     PIN_MODE_INPUT(GPIOC_PIN4) |           \
572
                                     PIN_MODE_INPUT(GPIOC_PIN5) |           \
573
                                     PIN_MODE_INPUT(GPIOC_PIN6) |           \
574
                                     PIN_MODE_INPUT(GPIOC_ARD_D9) |         \
575
                                     PIN_MODE_INPUT(GPIOC_PIN8) |           \
576
                                     PIN_MODE_INPUT(GPIOC_PIN9) |           \
577
                                     PIN_MODE_INPUT(GPIOC_PIN10) |          \
578
                                     PIN_MODE_INPUT(GPIOC_PIN11) |          \
579
                                     PIN_MODE_INPUT(GPIOC_PIN12) |          \
580
                                     PIN_MODE_INPUT(GPIOC_BUTTON) |         \
581
                                     PIN_MODE_INPUT(GPIOC_OSC32_IN) |       \
582
                                     PIN_MODE_INPUT(GPIOC_OSC32_OUT))
583
#define VAL_GPIOC_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOC_ARD_A5) |     \
584
                                     PIN_OTYPE_PUSHPULL(GPIOC_ARD_A4) |     \
585
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN2) |       \
586
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN3) |       \
587
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN4) |       \
588
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN5) |       \
589
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN6) |       \
590
                                     PIN_OTYPE_PUSHPULL(GPIOC_ARD_D9) |     \
591
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN8) |       \
592
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN9) |       \
593
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN10) |      \
594
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN11) |      \
595
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN12) |      \
596
                                     PIN_OTYPE_PUSHPULL(GPIOC_BUTTON) |     \
597
                                     PIN_OTYPE_PUSHPULL(GPIOC_OSC32_IN) |   \
598
                                     PIN_OTYPE_PUSHPULL(GPIOC_OSC32_OUT))
599
#define VAL_GPIOC_OSPEEDR           (PIN_OSPEED_HIGH(GPIOC_ARD_A5) |        \
600
                                     PIN_OSPEED_HIGH(GPIOC_ARD_A4) |        \
601
                                     PIN_OSPEED_HIGH(GPIOC_PIN2) |          \
602
                                     PIN_OSPEED_HIGH(GPIOC_PIN3) |          \
603
                                     PIN_OSPEED_HIGH(GPIOC_PIN4) |          \
604
                                     PIN_OSPEED_HIGH(GPIOC_PIN5) |          \
605
                                     PIN_OSPEED_HIGH(GPIOC_PIN6) |          \
606
                                     PIN_OSPEED_HIGH(GPIOC_ARD_D9) |        \
607
                                     PIN_OSPEED_HIGH(GPIOC_PIN8) |          \
608
                                     PIN_OSPEED_HIGH(GPIOC_PIN9) |          \
609
                                     PIN_OSPEED_HIGH(GPIOC_PIN10) |         \
610
                                     PIN_OSPEED_HIGH(GPIOC_PIN11) |         \
611
                                     PIN_OSPEED_HIGH(GPIOC_PIN12) |         \
612
                                     PIN_OSPEED_HIGH(GPIOC_BUTTON) |        \
613
                                     PIN_OSPEED_HIGH(GPIOC_OSC32_IN) |      \
614
                                     PIN_OSPEED_HIGH(GPIOC_OSC32_OUT))
615
#define VAL_GPIOC_PUPDR             (PIN_PUPDR_PULLUP(GPIOC_ARD_A5) |       \
616
                                     PIN_PUPDR_PULLUP(GPIOC_ARD_A4) |       \
617
                                     PIN_PUPDR_PULLUP(GPIOC_PIN2) |         \
618
                                     PIN_PUPDR_PULLUP(GPIOC_PIN3) |         \
619
                                     PIN_PUPDR_PULLUP(GPIOC_PIN4) |         \
620
                                     PIN_PUPDR_PULLUP(GPIOC_PIN5) |         \
621
                                     PIN_PUPDR_PULLUP(GPIOC_PIN6) |         \
622
                                     PIN_PUPDR_PULLUP(GPIOC_ARD_D9) |       \
623
                                     PIN_PUPDR_PULLUP(GPIOC_PIN8) |         \
624
                                     PIN_PUPDR_PULLUP(GPIOC_PIN9) |         \
625
                                     PIN_PUPDR_PULLUP(GPIOC_PIN10) |        \
626
                                     PIN_PUPDR_PULLUP(GPIOC_PIN11) |        \
627
                                     PIN_PUPDR_PULLUP(GPIOC_PIN12) |        \
628
                                     PIN_PUPDR_FLOATING(GPIOC_BUTTON) |     \
629
                                     PIN_PUPDR_FLOATING(GPIOC_OSC32_IN) |   \
630
                                     PIN_PUPDR_FLOATING(GPIOC_OSC32_OUT))
631
#define VAL_GPIOC_ODR               (PIN_ODR_HIGH(GPIOC_ARD_A5) |           \
632
                                     PIN_ODR_HIGH(GPIOC_ARD_A4) |           \
633
                                     PIN_ODR_HIGH(GPIOC_PIN2) |             \
634
                                     PIN_ODR_HIGH(GPIOC_PIN3) |             \
635
                                     PIN_ODR_HIGH(GPIOC_PIN4) |             \
636
                                     PIN_ODR_HIGH(GPIOC_PIN5) |             \
637
                                     PIN_ODR_HIGH(GPIOC_PIN6) |             \
638
                                     PIN_ODR_HIGH(GPIOC_ARD_D9) |           \
639
                                     PIN_ODR_HIGH(GPIOC_PIN8) |             \
640
                                     PIN_ODR_HIGH(GPIOC_PIN9) |             \
641
                                     PIN_ODR_HIGH(GPIOC_PIN10) |            \
642
                                     PIN_ODR_HIGH(GPIOC_PIN11) |            \
643
                                     PIN_ODR_HIGH(GPIOC_PIN12) |            \
644
                                     PIN_ODR_HIGH(GPIOC_BUTTON) |           \
645
                                     PIN_ODR_HIGH(GPIOC_OSC32_IN) |         \
646
                                     PIN_ODR_HIGH(GPIOC_OSC32_OUT))
647
#define VAL_GPIOC_AFRL              (PIN_AFIO_AF(GPIOC_ARD_A5, 0U) |        \
648
                                     PIN_AFIO_AF(GPIOC_ARD_A4, 0U) |        \
649
                                     PIN_AFIO_AF(GPIOC_PIN2, 0U) |          \
650
                                     PIN_AFIO_AF(GPIOC_PIN3, 0U) |          \
651
                                     PIN_AFIO_AF(GPIOC_PIN4, 0U) |          \
652
                                     PIN_AFIO_AF(GPIOC_PIN5, 0U) |          \
653
                                     PIN_AFIO_AF(GPIOC_PIN6, 0U) |          \
654
                                     PIN_AFIO_AF(GPIOC_ARD_D9, 0U))
655
#define VAL_GPIOC_AFRH              (PIN_AFIO_AF(GPIOC_PIN8, 0U) |          \
656
                                     PIN_AFIO_AF(GPIOC_PIN9, 0U) |          \
657
                                     PIN_AFIO_AF(GPIOC_PIN10, 0U) |         \
658
                                     PIN_AFIO_AF(GPIOC_PIN11, 0U) |         \
659
                                     PIN_AFIO_AF(GPIOC_PIN12, 0U) |         \
660
                                     PIN_AFIO_AF(GPIOC_BUTTON, 0U) |        \
661
                                     PIN_AFIO_AF(GPIOC_OSC32_IN, 0U) |      \
662
                                     PIN_AFIO_AF(GPIOC_OSC32_OUT, 0U))
663
664
/*
665
 * GPIOD setup:
666
 *
667
 * PD0  - PIN0                      (input pullup).
668
 * PD1  - PIN1                      (input pullup).
669
 * PD2  - PIN2                      (input pullup).
670
 * PD3  - PIN3                      (input pullup).
671
 * PD4  - PIN4                      (input pullup).
672
 * PD5  - PIN5                      (input pullup).
673
 * PD6  - PIN6                      (input pullup).
674
 * PD7  - PIN7                      (input pullup).
675
 * PD8  - PIN8                      (input pullup).
676
 * PD9  - PIN9                      (input pullup).
677
 * PD10 - PIN10                     (input pullup).
678
 * PD11 - PIN11                     (input pullup).
679
 * PD12 - PIN12                     (input pullup).
680
 * PD13 - PIN13                     (input pullup).
681
 * PD14 - PIN14                     (input pullup).
682
 * PD15 - PIN15                     (input pullup).
683
 */
684
#define VAL_GPIOD_MODER             (PIN_MODE_INPUT(GPIOD_PIN0) |           \
685
                                     PIN_MODE_INPUT(GPIOD_PIN1) |           \
686
                                     PIN_MODE_INPUT(GPIOD_PIN2) |           \
687
                                     PIN_MODE_INPUT(GPIOD_PIN3) |           \
688
                                     PIN_MODE_INPUT(GPIOD_PIN4) |           \
689
                                     PIN_MODE_INPUT(GPIOD_PIN5) |           \
690
                                     PIN_MODE_INPUT(GPIOD_PIN6) |           \
691
                                     PIN_MODE_INPUT(GPIOD_PIN7) |           \
692
                                     PIN_MODE_INPUT(GPIOD_PIN8) |           \
693
                                     PIN_MODE_INPUT(GPIOD_PIN9) |           \
694
                                     PIN_MODE_INPUT(GPIOD_PIN10) |          \
695
                                     PIN_MODE_INPUT(GPIOD_PIN11) |          \
696
                                     PIN_MODE_INPUT(GPIOD_PIN12) |          \
697
                                     PIN_MODE_INPUT(GPIOD_PIN13) |          \
698
                                     PIN_MODE_INPUT(GPIOD_PIN14) |          \
699
                                     PIN_MODE_INPUT(GPIOD_PIN15))
700
#define VAL_GPIOD_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOD_PIN0) |       \
701
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN1) |       \
702
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN2) |       \
703
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN3) |       \
704
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN4) |       \
705
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN5) |       \
706
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN6) |       \
707
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN7) |       \
708
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN8) |       \
709
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN9) |       \
710
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN10) |      \
711
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN11) |      \
712
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN12) |      \
713
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN13) |      \
714
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN14) |      \
715
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN15))
716
#define VAL_GPIOD_OSPEEDR           (PIN_OSPEED_HIGH(GPIOD_PIN0) |          \
717
                                     PIN_OSPEED_HIGH(GPIOD_PIN1) |          \
718
                                     PIN_OSPEED_HIGH(GPIOD_PIN2) |          \
719
                                     PIN_OSPEED_HIGH(GPIOD_PIN3) |          \
720
                                     PIN_OSPEED_HIGH(GPIOD_PIN4) |          \
721
                                     PIN_OSPEED_HIGH(GPIOD_PIN5) |          \
722
                                     PIN_OSPEED_HIGH(GPIOD_PIN6) |          \
723
                                     PIN_OSPEED_HIGH(GPIOD_PIN7) |          \
724
                                     PIN_OSPEED_HIGH(GPIOD_PIN8) |          \
725
                                     PIN_OSPEED_HIGH(GPIOD_PIN9) |          \
726
                                     PIN_OSPEED_HIGH(GPIOD_PIN10) |         \
727
                                     PIN_OSPEED_HIGH(GPIOD_PIN11) |         \
728
                                     PIN_OSPEED_HIGH(GPIOD_PIN12) |         \
729
                                     PIN_OSPEED_HIGH(GPIOD_PIN13) |         \
730
                                     PIN_OSPEED_HIGH(GPIOD_PIN14) |         \
731
                                     PIN_OSPEED_HIGH(GPIOD_PIN15))
732
#define VAL_GPIOD_PUPDR             (PIN_PUPDR_PULLUP(GPIOD_PIN0) |         \
733
                                     PIN_PUPDR_PULLUP(GPIOD_PIN1) |         \
734
                                     PIN_PUPDR_PULLUP(GPIOD_PIN2) |         \
735
                                     PIN_PUPDR_PULLUP(GPIOD_PIN3) |         \
736
                                     PIN_PUPDR_PULLUP(GPIOD_PIN4) |         \
737
                                     PIN_PUPDR_PULLUP(GPIOD_PIN5) |         \
738
                                     PIN_PUPDR_PULLUP(GPIOD_PIN6) |         \
739
                                     PIN_PUPDR_PULLUP(GPIOD_PIN7) |         \
740
                                     PIN_PUPDR_PULLUP(GPIOD_PIN8) |         \
741
                                     PIN_PUPDR_PULLUP(GPIOD_PIN9) |         \
742
                                     PIN_PUPDR_PULLUP(GPIOD_PIN10) |        \
743
                                     PIN_PUPDR_PULLUP(GPIOD_PIN11) |        \
744
                                     PIN_PUPDR_PULLUP(GPIOD_PIN12) |        \
745
                                     PIN_PUPDR_PULLUP(GPIOD_PIN13) |        \
746
                                     PIN_PUPDR_PULLUP(GPIOD_PIN14) |        \
747
                                     PIN_PUPDR_PULLUP(GPIOD_PIN15))
748
#define VAL_GPIOD_ODR               (PIN_ODR_HIGH(GPIOD_PIN0) |             \
749
                                     PIN_ODR_HIGH(GPIOD_PIN1) |             \
750
                                     PIN_ODR_HIGH(GPIOD_PIN2) |             \
751
                                     PIN_ODR_HIGH(GPIOD_PIN3) |             \
752
                                     PIN_ODR_HIGH(GPIOD_PIN4) |             \
753
                                     PIN_ODR_HIGH(GPIOD_PIN5) |             \
754
                                     PIN_ODR_HIGH(GPIOD_PIN6) |             \
755
                                     PIN_ODR_HIGH(GPIOD_PIN7) |             \
756
                                     PIN_ODR_HIGH(GPIOD_PIN8) |             \
757
                                     PIN_ODR_HIGH(GPIOD_PIN9) |             \
758
                                     PIN_ODR_HIGH(GPIOD_PIN10) |            \
759
                                     PIN_ODR_HIGH(GPIOD_PIN11) |            \
760
                                     PIN_ODR_HIGH(GPIOD_PIN12) |            \
761
                                     PIN_ODR_HIGH(GPIOD_PIN13) |            \
762
                                     PIN_ODR_HIGH(GPIOD_PIN14) |            \
763
                                     PIN_ODR_HIGH(GPIOD_PIN15))
764
#define VAL_GPIOD_AFRL              (PIN_AFIO_AF(GPIOD_PIN0, 0U) |          \
765
                                     PIN_AFIO_AF(GPIOD_PIN1, 0U) |          \
766
                                     PIN_AFIO_AF(GPIOD_PIN2, 0U) |          \
767
                                     PIN_AFIO_AF(GPIOD_PIN3, 0U) |          \
768
                                     PIN_AFIO_AF(GPIOD_PIN4, 0U) |          \
769
                                     PIN_AFIO_AF(GPIOD_PIN5, 0U) |          \
770
                                     PIN_AFIO_AF(GPIOD_PIN6, 0U) |          \
771
                                     PIN_AFIO_AF(GPIOD_PIN7, 0U))
772
#define VAL_GPIOD_AFRH              (PIN_AFIO_AF(GPIOD_PIN8, 0U) |          \
773
                                     PIN_AFIO_AF(GPIOD_PIN9, 0U) |          \
774
                                     PIN_AFIO_AF(GPIOD_PIN10, 0U) |         \
775
                                     PIN_AFIO_AF(GPIOD_PIN11, 0U) |         \
776
                                     PIN_AFIO_AF(GPIOD_PIN12, 0U) |         \
777
                                     PIN_AFIO_AF(GPIOD_PIN13, 0U) |         \
778
                                     PIN_AFIO_AF(GPIOD_PIN14, 0U) |         \
779
                                     PIN_AFIO_AF(GPIOD_PIN15, 0U))
780
781
/*
782
 * GPIOE setup:
783
 *
784
 * PE0  - PIN0                      (input pullup).
785
 * PE1  - PIN1                      (input pullup).
786
 * PE2  - PIN2                      (input pullup).
787
 * PE3  - PIN3                      (input pullup).
788
 * PE4  - PIN4                      (input pullup).
789
 * PE5  - PIN5                      (input pullup).
790
 * PE6  - PIN6                      (input pullup).
791
 * PE7  - PIN7                      (input pullup).
792
 * PE8  - PIN8                      (input pullup).
793
 * PE9  - PIN9                      (input pullup).
794
 * PE10 - PIN10                     (input pullup).
795
 * PE11 - PIN11                     (input pullup).
796
 * PE12 - PIN12                     (input pullup).
797
 * PE13 - PIN13                     (input pullup).
798
 * PE14 - PIN14                     (input pullup).
799
 * PE15 - PIN15                     (input pullup).
800
 */
801
#define VAL_GPIOE_MODER             (PIN_MODE_INPUT(GPIOE_PIN0) |           \
802
                                     PIN_MODE_INPUT(GPIOE_PIN1) |           \
803
                                     PIN_MODE_INPUT(GPIOE_PIN2) |           \
804
                                     PIN_MODE_INPUT(GPIOE_PIN3) |           \
805
                                     PIN_MODE_INPUT(GPIOE_PIN4) |           \
806
                                     PIN_MODE_INPUT(GPIOE_PIN5) |           \
807
                                     PIN_MODE_INPUT(GPIOE_PIN6) |           \
808
                                     PIN_MODE_INPUT(GPIOE_PIN7) |           \
809
                                     PIN_MODE_INPUT(GPIOE_PIN8) |           \
810
                                     PIN_MODE_INPUT(GPIOE_PIN9) |           \
811
                                     PIN_MODE_INPUT(GPIOE_PIN10) |          \
812
                                     PIN_MODE_INPUT(GPIOE_PIN11) |          \
813
                                     PIN_MODE_INPUT(GPIOE_PIN12) |          \
814
                                     PIN_MODE_INPUT(GPIOE_PIN13) |          \
815
                                     PIN_MODE_INPUT(GPIOE_PIN14) |          \
816
                                     PIN_MODE_INPUT(GPIOE_PIN15))
817
#define VAL_GPIOE_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOE_PIN0) |       \
818
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN1) |       \
819
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN2) |       \
820
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN3) |       \
821
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN4) |       \
822
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN5) |       \
823
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN6) |       \
824
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN7) |       \
825
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN8) |       \
826
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN9) |       \
827
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN10) |      \
828
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN11) |      \
829
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN12) |      \
830
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN13) |      \
831
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN14) |      \
832
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN15))
833
#define VAL_GPIOE_OSPEEDR           (PIN_OSPEED_HIGH(GPIOE_PIN0) |          \
834
                                     PIN_OSPEED_HIGH(GPIOE_PIN1) |          \
835
                                     PIN_OSPEED_HIGH(GPIOE_PIN2) |          \
836
                                     PIN_OSPEED_HIGH(GPIOE_PIN3) |          \
837
                                     PIN_OSPEED_HIGH(GPIOE_PIN4) |          \
838
                                     PIN_OSPEED_HIGH(GPIOE_PIN5) |          \
839
                                     PIN_OSPEED_HIGH(GPIOE_PIN6) |          \
840
                                     PIN_OSPEED_HIGH(GPIOE_PIN7) |          \
841
                                     PIN_OSPEED_HIGH(GPIOE_PIN8) |          \
842
                                     PIN_OSPEED_HIGH(GPIOE_PIN9) |          \
843
                                     PIN_OSPEED_HIGH(GPIOE_PIN10) |         \
844
                                     PIN_OSPEED_HIGH(GPIOE_PIN11) |         \
845
                                     PIN_OSPEED_HIGH(GPIOE_PIN12) |         \
846
                                     PIN_OSPEED_HIGH(GPIOE_PIN13) |         \
847
                                     PIN_OSPEED_HIGH(GPIOE_PIN14) |         \
848
                                     PIN_OSPEED_HIGH(GPIOE_PIN15))
849
#define VAL_GPIOE_PUPDR             (PIN_PUPDR_PULLUP(GPIOE_PIN0) |         \
850
                                     PIN_PUPDR_PULLUP(GPIOE_PIN1) |         \
851
                                     PIN_PUPDR_PULLUP(GPIOE_PIN2) |         \
852
                                     PIN_PUPDR_PULLUP(GPIOE_PIN3) |         \
853
                                     PIN_PUPDR_PULLUP(GPIOE_PIN4) |         \
854
                                     PIN_PUPDR_PULLUP(GPIOE_PIN5) |         \
855
                                     PIN_PUPDR_PULLUP(GPIOE_PIN6) |         \
856
                                     PIN_PUPDR_PULLUP(GPIOE_PIN7) |         \
857
                                     PIN_PUPDR_PULLUP(GPIOE_PIN8) |         \
858
                                     PIN_PUPDR_PULLUP(GPIOE_PIN9) |         \
859
                                     PIN_PUPDR_PULLUP(GPIOE_PIN10) |        \
860
                                     PIN_PUPDR_PULLUP(GPIOE_PIN11) |        \
861
                                     PIN_PUPDR_PULLUP(GPIOE_PIN12) |        \
862
                                     PIN_PUPDR_PULLUP(GPIOE_PIN13) |        \
863
                                     PIN_PUPDR_PULLUP(GPIOE_PIN14) |        \
864
                                     PIN_PUPDR_PULLUP(GPIOE_PIN15))
865
#define VAL_GPIOE_ODR               (PIN_ODR_HIGH(GPIOE_PIN0) |             \
866
                                     PIN_ODR_HIGH(GPIOE_PIN1) |             \
867
                                     PIN_ODR_HIGH(GPIOE_PIN2) |             \
868
                                     PIN_ODR_HIGH(GPIOE_PIN3) |             \
869
                                     PIN_ODR_HIGH(GPIOE_PIN4) |             \
870
                                     PIN_ODR_HIGH(GPIOE_PIN5) |             \
871
                                     PIN_ODR_HIGH(GPIOE_PIN6) |             \
872
                                     PIN_ODR_HIGH(GPIOE_PIN7) |             \
873
                                     PIN_ODR_HIGH(GPIOE_PIN8) |             \
874
                                     PIN_ODR_HIGH(GPIOE_PIN9) |             \
875
                                     PIN_ODR_HIGH(GPIOE_PIN10) |            \
876
                                     PIN_ODR_HIGH(GPIOE_PIN11) |            \
877
                                     PIN_ODR_HIGH(GPIOE_PIN12) |            \
878
                                     PIN_ODR_HIGH(GPIOE_PIN13) |            \
879
                                     PIN_ODR_HIGH(GPIOE_PIN14) |            \
880
                                     PIN_ODR_HIGH(GPIOE_PIN15))
881
#define VAL_GPIOE_AFRL              (PIN_AFIO_AF(GPIOE_PIN0, 0U) |          \
882
                                     PIN_AFIO_AF(GPIOE_PIN1, 0U) |          \
883
                                     PIN_AFIO_AF(GPIOE_PIN2, 0U) |          \
884
                                     PIN_AFIO_AF(GPIOE_PIN3, 0U) |          \
885
                                     PIN_AFIO_AF(GPIOE_PIN4, 0U) |          \
886
                                     PIN_AFIO_AF(GPIOE_PIN5, 0U) |          \
887
                                     PIN_AFIO_AF(GPIOE_PIN6, 0U) |          \
888
                                     PIN_AFIO_AF(GPIOE_PIN7, 0U))
889
#define VAL_GPIOE_AFRH              (PIN_AFIO_AF(GPIOE_PIN8, 0U) |          \
890
                                     PIN_AFIO_AF(GPIOE_PIN9, 0U) |          \
891
                                     PIN_AFIO_AF(GPIOE_PIN10, 0U) |         \
892
                                     PIN_AFIO_AF(GPIOE_PIN11, 0U) |         \
893
                                     PIN_AFIO_AF(GPIOE_PIN12, 0U) |         \
894
                                     PIN_AFIO_AF(GPIOE_PIN13, 0U) |         \
895
                                     PIN_AFIO_AF(GPIOE_PIN14, 0U) |         \
896
                                     PIN_AFIO_AF(GPIOE_PIN15, 0U))
897
898
/*
899
 * GPIOF setup:
900
 *
901
 * PF0  - PIN0                      (input pullup).
902
 * PF1  - PIN1                      (input pullup).
903
 * PF2  - PIN2                      (input pullup).
904
 * PF3  - PIN3                      (input pullup).
905
 * PF4  - PIN4                      (input pullup).
906
 * PF5  - PIN5                      (input pullup).
907
 * PF6  - PIN6                      (input pullup).
908
 * PF7  - PIN7                      (input pullup).
909
 * PF8  - PIN8                      (input pullup).
910
 * PF9  - PIN9                      (input pullup).
911
 * PF10 - PIN10                     (input pullup).
912
 * PF11 - PIN11                     (input pullup).
913
 * PF12 - PIN12                     (input pullup).
914
 * PF13 - PIN13                     (input pullup).
915
 * PF14 - PIN14                     (input pullup).
916
 * PF15 - PIN15                     (input pullup).
917
 */
918
#define VAL_GPIOF_MODER             (PIN_MODE_INPUT(GPIOF_PIN0) |           \
919
                                     PIN_MODE_INPUT(GPIOF_PIN1) |           \
920
                                     PIN_MODE_INPUT(GPIOF_PIN2) |           \
921
                                     PIN_MODE_INPUT(GPIOF_PIN3) |           \
922
                                     PIN_MODE_INPUT(GPIOF_PIN4) |           \
923
                                     PIN_MODE_INPUT(GPIOF_PIN5) |           \
924
                                     PIN_MODE_INPUT(GPIOF_PIN6) |           \
925
                                     PIN_MODE_INPUT(GPIOF_PIN7) |           \
926
                                     PIN_MODE_INPUT(GPIOF_PIN8) |           \
927
                                     PIN_MODE_INPUT(GPIOF_PIN9) |           \
928
                                     PIN_MODE_INPUT(GPIOF_PIN10) |          \
929
                                     PIN_MODE_INPUT(GPIOF_PIN11) |          \
930
                                     PIN_MODE_INPUT(GPIOF_PIN12) |          \
931
                                     PIN_MODE_INPUT(GPIOF_PIN13) |          \
932
                                     PIN_MODE_INPUT(GPIOF_PIN14) |          \
933
                                     PIN_MODE_INPUT(GPIOF_PIN15))
934
#define VAL_GPIOF_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOF_PIN0) |       \
935
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN1) |       \
936
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN2) |       \
937
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN3) |       \
938
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN4) |       \
939
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN5) |       \
940
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN6) |       \
941
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN7) |       \
942
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN8) |       \
943
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN9) |       \
944
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN10) |      \
945
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN11) |      \
946
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN12) |      \
947
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN13) |      \
948
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN14) |      \
949
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN15))
950
#define VAL_GPIOF_OSPEEDR           (PIN_OSPEED_HIGH(GPIOF_PIN0) |          \
951
                                     PIN_OSPEED_HIGH(GPIOF_PIN1) |          \
952
                                     PIN_OSPEED_HIGH(GPIOF_PIN2) |          \
953
                                     PIN_OSPEED_HIGH(GPIOF_PIN3) |          \
954
                                     PIN_OSPEED_HIGH(GPIOF_PIN4) |          \
955
                                     PIN_OSPEED_HIGH(GPIOF_PIN5) |          \
956
                                     PIN_OSPEED_HIGH(GPIOF_PIN6) |          \
957
                                     PIN_OSPEED_HIGH(GPIOF_PIN7) |          \
958
                                     PIN_OSPEED_HIGH(GPIOF_PIN8) |          \
959
                                     PIN_OSPEED_HIGH(GPIOF_PIN9) |          \
960
                                     PIN_OSPEED_HIGH(GPIOF_PIN10) |         \
961
                                     PIN_OSPEED_HIGH(GPIOF_PIN11) |         \
962
                                     PIN_OSPEED_HIGH(GPIOF_PIN12) |         \
963
                                     PIN_OSPEED_HIGH(GPIOF_PIN13) |         \
964
                                     PIN_OSPEED_HIGH(GPIOF_PIN14) |         \
965
                                     PIN_OSPEED_HIGH(GPIOF_PIN15))
966
#define VAL_GPIOF_PUPDR             (PIN_PUPDR_PULLUP(GPIOF_PIN0) |         \
967
                                     PIN_PUPDR_PULLUP(GPIOF_PIN1) |         \
968
                                     PIN_PUPDR_PULLUP(GPIOF_PIN2) |         \
969
                                     PIN_PUPDR_PULLUP(GPIOF_PIN3) |         \
970
                                     PIN_PUPDR_PULLUP(GPIOF_PIN4) |         \
971
                                     PIN_PUPDR_PULLUP(GPIOF_PIN5) |         \
972
                                     PIN_PUPDR_PULLUP(GPIOF_PIN6) |         \
973
                                     PIN_PUPDR_PULLUP(GPIOF_PIN7) |         \
974
                                     PIN_PUPDR_PULLUP(GPIOF_PIN8) |         \
975
                                     PIN_PUPDR_PULLUP(GPIOF_PIN9) |         \
976
                                     PIN_PUPDR_PULLUP(GPIOF_PIN10) |        \
977
                                     PIN_PUPDR_PULLUP(GPIOF_PIN11) |        \
978
                                     PIN_PUPDR_PULLUP(GPIOF_PIN12) |        \
979
                                     PIN_PUPDR_PULLUP(GPIOF_PIN13) |        \
980
                                     PIN_PUPDR_PULLUP(GPIOF_PIN14) |        \
981
                                     PIN_PUPDR_PULLUP(GPIOF_PIN15))
982
#define VAL_GPIOF_ODR               (PIN_ODR_HIGH(GPIOF_PIN0) |             \
983
                                     PIN_ODR_HIGH(GPIOF_PIN1) |             \
984
                                     PIN_ODR_HIGH(GPIOF_PIN2) |             \
985
                                     PIN_ODR_HIGH(GPIOF_PIN3) |             \
986
                                     PIN_ODR_HIGH(GPIOF_PIN4) |             \
987
                                     PIN_ODR_HIGH(GPIOF_PIN5) |             \
988
                                     PIN_ODR_HIGH(GPIOF_PIN6) |             \
989
                                     PIN_ODR_HIGH(GPIOF_PIN7) |             \
990
                                     PIN_ODR_HIGH(GPIOF_PIN8) |             \
991
                                     PIN_ODR_HIGH(GPIOF_PIN9) |             \
992
                                     PIN_ODR_HIGH(GPIOF_PIN10) |            \
993
                                     PIN_ODR_HIGH(GPIOF_PIN11) |            \
994
                                     PIN_ODR_HIGH(GPIOF_PIN12) |            \
995
                                     PIN_ODR_HIGH(GPIOF_PIN13) |            \
996
                                     PIN_ODR_HIGH(GPIOF_PIN14) |            \
997
                                     PIN_ODR_HIGH(GPIOF_PIN15))
998
#define VAL_GPIOF_AFRL              (PIN_AFIO_AF(GPIOF_PIN0, 0U) |          \
999
                                     PIN_AFIO_AF(GPIOF_PIN1, 0U) |          \
1000
                                     PIN_AFIO_AF(GPIOF_PIN2, 0U) |          \
1001
                                     PIN_AFIO_AF(GPIOF_PIN3, 0U) |          \
1002
                                     PIN_AFIO_AF(GPIOF_PIN4, 0U) |          \
1003
                                     PIN_AFIO_AF(GPIOF_PIN5, 0U) |          \
1004
                                     PIN_AFIO_AF(GPIOF_PIN6, 0U) |          \
1005
                                     PIN_AFIO_AF(GPIOF_PIN7, 0U))
1006
#define VAL_GPIOF_AFRH              (PIN_AFIO_AF(GPIOF_PIN8, 0U) |          \
1007
                                     PIN_AFIO_AF(GPIOF_PIN9, 0U) |          \
1008
                                     PIN_AFIO_AF(GPIOF_PIN10, 0U) |         \
1009
                                     PIN_AFIO_AF(GPIOF_PIN11, 0U) |         \
1010
                                     PIN_AFIO_AF(GPIOF_PIN12, 0U) |         \
1011
                                     PIN_AFIO_AF(GPIOF_PIN13, 0U) |         \
1012
                                     PIN_AFIO_AF(GPIOF_PIN14, 0U) |         \
1013
                                     PIN_AFIO_AF(GPIOF_PIN15, 0U))
1014
1015
/*
1016
 * GPIOG setup:
1017
 *
1018
 * PG0  - PIN0                      (input pullup).
1019
 * PG1  - PIN1                      (input pullup).
1020
 * PG2  - PIN2                      (input pullup).
1021
 * PG3  - PIN3                      (input pullup).
1022
 * PG4  - PIN4                      (input pullup).
1023
 * PG5  - PIN5                      (input pullup).
1024
 * PG6  - PIN6                      (input pullup).
1025
 * PG7  - PIN7                      (input pullup).
1026
 * PG8  - PIN8                      (input pullup).
1027
 * PG9  - PIN9                      (input pullup).
1028
 * PG10 - PIN10                     (input pullup).
1029
 * PG11 - PIN11                     (input pullup).
1030
 * PG12 - PIN12                     (input pullup).
1031
 * PG13 - PIN13                     (input pullup).
1032
 * PG14 - PIN14                     (input pullup).
1033
 * PG15 - PIN15                     (input pullup).
1034
 */
1035
#define VAL_GPIOG_MODER             (PIN_MODE_INPUT(GPIOG_PIN0) |           \
1036
                                     PIN_MODE_INPUT(GPIOG_PIN1) |           \
1037
                                     PIN_MODE_INPUT(GPIOG_PIN2) |           \
1038
                                     PIN_MODE_INPUT(GPIOG_PIN3) |           \
1039
                                     PIN_MODE_INPUT(GPIOG_PIN4) |           \
1040
                                     PIN_MODE_INPUT(GPIOG_PIN5) |           \
1041
                                     PIN_MODE_INPUT(GPIOG_PIN6) |           \
1042
                                     PIN_MODE_INPUT(GPIOG_PIN7) |           \
1043
                                     PIN_MODE_INPUT(GPIOG_PIN8) |           \
1044
                                     PIN_MODE_INPUT(GPIOG_PIN9) |           \
1045
                                     PIN_MODE_INPUT(GPIOG_PIN10) |          \
1046
                                     PIN_MODE_INPUT(GPIOG_PIN11) |          \
1047
                                     PIN_MODE_INPUT(GPIOG_PIN12) |          \
1048
                                     PIN_MODE_INPUT(GPIOG_PIN13) |          \
1049
                                     PIN_MODE_INPUT(GPIOG_PIN14) |          \
1050
                                     PIN_MODE_INPUT(GPIOG_PIN15))
1051
#define VAL_GPIOG_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOG_PIN0) |       \
1052
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN1) |       \
1053
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN2) |       \
1054
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN3) |       \
1055
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN4) |       \
1056
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN5) |       \
1057
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN6) |       \
1058
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN7) |       \
1059
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN8) |       \
1060
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN9) |       \
1061
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN10) |      \
1062
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN11) |      \
1063
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN12) |      \
1064
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN13) |      \
1065
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN14) |      \
1066
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN15))
1067
#define VAL_GPIOG_OSPEEDR           (PIN_OSPEED_HIGH(GPIOG_PIN0) |          \
1068
                                     PIN_OSPEED_HIGH(GPIOG_PIN1) |          \
1069
                                     PIN_OSPEED_HIGH(GPIOG_PIN2) |          \
1070
                                     PIN_OSPEED_HIGH(GPIOG_PIN3) |          \
1071
                                     PIN_OSPEED_HIGH(GPIOG_PIN4) |          \
1072
                                     PIN_OSPEED_HIGH(GPIOG_PIN5) |          \
1073
                                     PIN_OSPEED_HIGH(GPIOG_PIN6) |          \
1074
                                     PIN_OSPEED_HIGH(GPIOG_PIN7) |          \
1075
                                     PIN_OSPEED_HIGH(GPIOG_PIN8) |          \
1076
                                     PIN_OSPEED_HIGH(GPIOG_PIN9) |          \
1077
                                     PIN_OSPEED_HIGH(GPIOG_PIN10) |         \
1078
                                     PIN_OSPEED_HIGH(GPIOG_PIN11) |         \
1079
                                     PIN_OSPEED_HIGH(GPIOG_PIN12) |         \
1080
                                     PIN_OSPEED_HIGH(GPIOG_PIN13) |         \
1081
                                     PIN_OSPEED_HIGH(GPIOG_PIN14) |         \
1082
                                     PIN_OSPEED_HIGH(GPIOG_PIN15))
1083
#define VAL_GPIOG_PUPDR             (PIN_PUPDR_PULLUP(GPIOG_PIN0) |         \
1084
                                     PIN_PUPDR_PULLUP(GPIOG_PIN1) |         \
1085
                                     PIN_PUPDR_PULLUP(GPIOG_PIN2) |         \
1086
                                     PIN_PUPDR_PULLUP(GPIOG_PIN3) |         \
1087
                                     PIN_PUPDR_PULLUP(GPIOG_PIN4) |         \
1088
                                     PIN_PUPDR_PULLUP(GPIOG_PIN5) |         \
1089
                                     PIN_PUPDR_PULLUP(GPIOG_PIN6) |         \
1090
                                     PIN_PUPDR_PULLUP(GPIOG_PIN7) |         \
1091
                                     PIN_PUPDR_PULLUP(GPIOG_PIN8) |         \
1092
                                     PIN_PUPDR_PULLUP(GPIOG_PIN9) |         \
1093
                                     PIN_PUPDR_PULLUP(GPIOG_PIN10) |        \
1094
                                     PIN_PUPDR_PULLUP(GPIOG_PIN11) |        \
1095
                                     PIN_PUPDR_PULLUP(GPIOG_PIN12) |        \
1096
                                     PIN_PUPDR_PULLUP(GPIOG_PIN13) |        \
1097
                                     PIN_PUPDR_PULLUP(GPIOG_PIN14) |        \
1098
                                     PIN_PUPDR_PULLUP(GPIOG_PIN15))
1099
#define VAL_GPIOG_ODR               (PIN_ODR_HIGH(GPIOG_PIN0) |             \
1100
                                     PIN_ODR_HIGH(GPIOG_PIN1) |             \
1101
                                     PIN_ODR_HIGH(GPIOG_PIN2) |             \
1102
                                     PIN_ODR_HIGH(GPIOG_PIN3) |             \
1103
                                     PIN_ODR_HIGH(GPIOG_PIN4) |             \
1104
                                     PIN_ODR_HIGH(GPIOG_PIN5) |             \
1105
                                     PIN_ODR_HIGH(GPIOG_PIN6) |             \
1106
                                     PIN_ODR_HIGH(GPIOG_PIN7) |             \
1107
                                     PIN_ODR_HIGH(GPIOG_PIN8) |             \
1108
                                     PIN_ODR_HIGH(GPIOG_PIN9) |             \
1109
                                     PIN_ODR_HIGH(GPIOG_PIN10) |            \
1110
                                     PIN_ODR_HIGH(GPIOG_PIN11) |            \
1111
                                     PIN_ODR_HIGH(GPIOG_PIN12) |            \
1112
                                     PIN_ODR_HIGH(GPIOG_PIN13) |            \
1113
                                     PIN_ODR_HIGH(GPIOG_PIN14) |            \
1114
                                     PIN_ODR_HIGH(GPIOG_PIN15))
1115
#define VAL_GPIOG_AFRL              (PIN_AFIO_AF(GPIOG_PIN0, 0U) |          \
1116
                                     PIN_AFIO_AF(GPIOG_PIN1, 0U) |          \
1117
                                     PIN_AFIO_AF(GPIOG_PIN2, 0U) |          \
1118
                                     PIN_AFIO_AF(GPIOG_PIN3, 0U) |          \
1119
                                     PIN_AFIO_AF(GPIOG_PIN4, 0U) |          \
1120
                                     PIN_AFIO_AF(GPIOG_PIN5, 0U) |          \
1121
                                     PIN_AFIO_AF(GPIOG_PIN6, 0U) |          \
1122
                                     PIN_AFIO_AF(GPIOG_PIN7, 0U))
1123
#define VAL_GPIOG_AFRH              (PIN_AFIO_AF(GPIOG_PIN8, 0U) |          \
1124
                                     PIN_AFIO_AF(GPIOG_PIN9, 0U) |          \
1125
                                     PIN_AFIO_AF(GPIOG_PIN10, 0U) |         \
1126
                                     PIN_AFIO_AF(GPIOG_PIN11, 0U) |         \
1127
                                     PIN_AFIO_AF(GPIOG_PIN12, 0U) |         \
1128
                                     PIN_AFIO_AF(GPIOG_PIN13, 0U) |         \
1129
                                     PIN_AFIO_AF(GPIOG_PIN14, 0U) |         \
1130
                                     PIN_AFIO_AF(GPIOG_PIN15, 0U))
1131
1132
/*
1133
 * GPIOH setup:
1134
 *
1135
 * PH0  - OSC_IN                    (input floating).
1136
 * PH1  - OSC_OUT                   (input floating).
1137
 * PH2  - PIN2                      (input pullup).
1138
 * PH3  - PIN3                      (input pullup).
1139
 * PH4  - PIN4                      (input pullup).
1140
 * PH5  - PIN5                      (input pullup).
1141
 * PH6  - PIN6                      (input pullup).
1142
 * PH7  - PIN7                      (input pullup).
1143
 * PH8  - PIN8                      (input pullup).
1144
 * PH9  - PIN9                      (input pullup).
1145
 * PH10 - PIN10                     (input pullup).
1146
 * PH11 - PIN11                     (input pullup).
1147
 * PH12 - PIN12                     (input pullup).
1148
 * PH13 - PIN13                     (input pullup).
1149
 * PH14 - PIN14                     (input pullup).
1150
 * PH15 - PIN15                     (input pullup).
1151
 */
1152
#define VAL_GPIOH_MODER             (PIN_MODE_INPUT(GPIOH_OSC_IN) |         \
1153
                                     PIN_MODE_INPUT(GPIOH_OSC_OUT) |        \
1154
                                     PIN_MODE_INPUT(GPIOH_PIN2) |           \
1155
                                     PIN_MODE_INPUT(GPIOH_PIN3) |           \
1156
                                     PIN_MODE_INPUT(GPIOH_PIN4) |           \
1157
                                     PIN_MODE_INPUT(GPIOH_PIN5) |           \
1158
                                     PIN_MODE_INPUT(GPIOH_PIN6) |           \
1159
                                     PIN_MODE_INPUT(GPIOH_PIN7) |           \
1160
                                     PIN_MODE_INPUT(GPIOH_PIN8) |           \
1161
                                     PIN_MODE_INPUT(GPIOH_PIN9) |           \
1162
                                     PIN_MODE_INPUT(GPIOH_PIN10) |          \
1163
                                     PIN_MODE_INPUT(GPIOH_PIN11) |          \
1164
                                     PIN_MODE_INPUT(GPIOH_PIN12) |          \
1165
                                     PIN_MODE_INPUT(GPIOH_PIN13) |          \
1166
                                     PIN_MODE_INPUT(GPIOH_PIN14) |          \
1167
                                     PIN_MODE_INPUT(GPIOH_PIN15))
1168
#define VAL_GPIOH_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOH_OSC_IN) |     \
1169
                                     PIN_OTYPE_PUSHPULL(GPIOH_OSC_OUT) |    \
1170
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN2) |       \
1171
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN3) |       \
1172
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN4) |       \
1173
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN5) |       \
1174
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN6) |       \
1175
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN7) |       \
1176
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN8) |       \
1177
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN9) |       \
1178
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN10) |      \
1179
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN11) |      \
1180
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN12) |      \
1181
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN13) |      \
1182
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN14) |      \
1183
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN15))
1184
#define VAL_GPIOH_OSPEEDR           (PIN_OSPEED_HIGH(GPIOH_OSC_IN) |        \
1185
                                     PIN_OSPEED_HIGH(GPIOH_OSC_OUT) |       \
1186
                                     PIN_OSPEED_HIGH(GPIOH_PIN2) |          \
1187
                                     PIN_OSPEED_HIGH(GPIOH_PIN3) |          \
1188
                                     PIN_OSPEED_HIGH(GPIOH_PIN4) |          \
1189
                                     PIN_OSPEED_HIGH(GPIOH_PIN5) |          \
1190
                                     PIN_OSPEED_HIGH(GPIOH_PIN6) |          \
1191
                                     PIN_OSPEED_HIGH(GPIOH_PIN7) |          \
1192
                                     PIN_OSPEED_HIGH(GPIOH_PIN8) |          \
1193
                                     PIN_OSPEED_HIGH(GPIOH_PIN9) |          \
1194
                                     PIN_OSPEED_HIGH(GPIOH_PIN10) |         \
1195
                                     PIN_OSPEED_HIGH(GPIOH_PIN11) |         \
1196
                                     PIN_OSPEED_HIGH(GPIOH_PIN12) |         \
1197
                                     PIN_OSPEED_HIGH(GPIOH_PIN13) |         \
1198
                                     PIN_OSPEED_HIGH(GPIOH_PIN14) |         \
1199
                                     PIN_OSPEED_HIGH(GPIOH_PIN15))
1200
#define VAL_GPIOH_PUPDR             (PIN_PUPDR_FLOATING(GPIOH_OSC_IN) |     \
1201
                                     PIN_PUPDR_FLOATING(GPIOH_OSC_OUT) |    \
1202
                                     PIN_PUPDR_PULLUP(GPIOH_PIN2) |         \
1203
                                     PIN_PUPDR_PULLUP(GPIOH_PIN3) |         \
1204
                                     PIN_PUPDR_PULLUP(GPIOH_PIN4) |         \
1205
                                     PIN_PUPDR_PULLUP(GPIOH_PIN5) |         \
1206
                                     PIN_PUPDR_PULLUP(GPIOH_PIN6) |         \
1207
                                     PIN_PUPDR_PULLUP(GPIOH_PIN7) |         \
1208
                                     PIN_PUPDR_PULLUP(GPIOH_PIN8) |         \
1209
                                     PIN_PUPDR_PULLUP(GPIOH_PIN9) |         \
1210
                                     PIN_PUPDR_PULLUP(GPIOH_PIN10) |        \
1211
                                     PIN_PUPDR_PULLUP(GPIOH_PIN11) |        \
1212
                                     PIN_PUPDR_PULLUP(GPIOH_PIN12) |        \
1213
                                     PIN_PUPDR_PULLUP(GPIOH_PIN13) |        \
1214
                                     PIN_PUPDR_PULLUP(GPIOH_PIN14) |        \
1215
                                     PIN_PUPDR_PULLUP(GPIOH_PIN15))
1216
#define VAL_GPIOH_ODR               (PIN_ODR_HIGH(GPIOH_OSC_IN) |           \
1217
                                     PIN_ODR_HIGH(GPIOH_OSC_OUT) |          \
1218
                                     PIN_ODR_HIGH(GPIOH_PIN2) |             \
1219
                                     PIN_ODR_HIGH(GPIOH_PIN3) |             \
1220
                                     PIN_ODR_HIGH(GPIOH_PIN4) |             \
1221
                                     PIN_ODR_HIGH(GPIOH_PIN5) |             \
1222
                                     PIN_ODR_HIGH(GPIOH_PIN6) |             \
1223
                                     PIN_ODR_HIGH(GPIOH_PIN7) |             \
1224
                                     PIN_ODR_HIGH(GPIOH_PIN8) |             \
1225
                                     PIN_ODR_HIGH(GPIOH_PIN9) |             \
1226
                                     PIN_ODR_HIGH(GPIOH_PIN10) |            \
1227
                                     PIN_ODR_HIGH(GPIOH_PIN11) |            \
1228
                                     PIN_ODR_HIGH(GPIOH_PIN12) |            \
1229
                                     PIN_ODR_HIGH(GPIOH_PIN13) |            \
1230
                                     PIN_ODR_HIGH(GPIOH_PIN14) |            \
1231
                                     PIN_ODR_HIGH(GPIOH_PIN15))
1232
#define VAL_GPIOH_AFRL              (PIN_AFIO_AF(GPIOH_OSC_IN, 0U) |        \
1233
                                     PIN_AFIO_AF(GPIOH_OSC_OUT, 0U) |       \
1234
                                     PIN_AFIO_AF(GPIOH_PIN2, 0U) |          \
1235
                                     PIN_AFIO_AF(GPIOH_PIN3, 0U) |          \
1236
                                     PIN_AFIO_AF(GPIOH_PIN4, 0U) |          \
1237
                                     PIN_AFIO_AF(GPIOH_PIN5, 0U) |          \
1238
                                     PIN_AFIO_AF(GPIOH_PIN6, 0U) |          \
1239
                                     PIN_AFIO_AF(GPIOH_PIN7, 0U))
1240
#define VAL_GPIOH_AFRH              (PIN_AFIO_AF(GPIOH_PIN8, 0U) |          \
1241
                                     PIN_AFIO_AF(GPIOH_PIN9, 0U) |          \
1242
                                     PIN_AFIO_AF(GPIOH_PIN10, 0U) |         \
1243
                                     PIN_AFIO_AF(GPIOH_PIN11, 0U) |         \
1244
                                     PIN_AFIO_AF(GPIOH_PIN12, 0U) |         \
1245
                                     PIN_AFIO_AF(GPIOH_PIN13, 0U) |         \
1246
                                     PIN_AFIO_AF(GPIOH_PIN14, 0U) |         \
1247
                                     PIN_AFIO_AF(GPIOH_PIN15, 0U))
1248
1249
/*
1250
 * GPIOI setup:
1251
 *
1252
 * PI0  - PIN0                      (input pullup).
1253
 * PI1  - PIN1                      (input pullup).
1254
 * PI2  - PIN2                      (input pullup).
1255
 * PI3  - PIN3                      (input pullup).
1256
 * PI4  - PIN4                      (input pullup).
1257
 * PI5  - PIN5                      (input pullup).
1258
 * PI6  - PIN6                      (input pullup).
1259
 * PI7  - PIN7                      (input pullup).
1260
 * PI8  - PIN8                      (input pullup).
1261
 * PI9  - PIN9                      (input pullup).
1262
 * PI10 - PIN10                     (input pullup).
1263
 * PI11 - PIN11                     (input pullup).
1264
 * PI12 - PIN12                     (input pullup).
1265
 * PI13 - PIN13                     (input pullup).
1266
 * PI14 - PIN14                     (input pullup).
1267
 * PI15 - PIN15                     (input pullup).
1268
 */
1269
#define VAL_GPIOI_MODER             (PIN_MODE_INPUT(GPIOI_PIN0) |           \
1270
                                     PIN_MODE_INPUT(GPIOI_PIN1) |           \
1271
                                     PIN_MODE_INPUT(GPIOI_PIN2) |           \
1272
                                     PIN_MODE_INPUT(GPIOI_PIN3) |           \
1273
                                     PIN_MODE_INPUT(GPIOI_PIN4) |           \
1274
                                     PIN_MODE_INPUT(GPIOI_PIN5) |           \
1275
                                     PIN_MODE_INPUT(GPIOI_PIN6) |           \
1276
                                     PIN_MODE_INPUT(GPIOI_PIN7) |           \
1277
                                     PIN_MODE_INPUT(GPIOI_PIN8) |           \
1278
                                     PIN_MODE_INPUT(GPIOI_PIN9) |           \
1279
                                     PIN_MODE_INPUT(GPIOI_PIN10) |          \
1280
                                     PIN_MODE_INPUT(GPIOI_PIN11) |          \
1281
                                     PIN_MODE_INPUT(GPIOI_PIN12) |          \
1282
                                     PIN_MODE_INPUT(GPIOI_PIN13) |          \
1283
                                     PIN_MODE_INPUT(GPIOI_PIN14) |          \
1284
                                     PIN_MODE_INPUT(GPIOI_PIN15))
1285
#define VAL_GPIOI_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOI_PIN0) |       \
1286
                                     PIN_OTYPE_PUSHPULL(GPIOI_PIN1) |       \
1287
                                     PIN_OTYPE_PUSHPULL(GPIOI_PIN2) |       \
1288
                                     PIN_OTYPE_PUSHPULL(GPIOI_PIN3) |       \
1289
                                     PIN_OTYPE_PUSHPULL(GPIOI_PIN4) |       \
1290
                                     PIN_OTYPE_PUSHPULL(GPIOI_PIN5) |       \
1291
                                     PIN_OTYPE_PUSHPULL(GPIOI_PIN6) |       \
1292
                                     PIN_OTYPE_PUSHPULL(GPIOI_PIN7) |       \
1293
                                     PIN_OTYPE_PUSHPULL(GPIOI_PIN8) |       \
1294
                                     PIN_OTYPE_PUSHPULL(GPIOI_PIN9) |       \
1295
                                     PIN_OTYPE_PUSHPULL(GPIOI_PIN10) |      \
1296
                                     PIN_OTYPE_PUSHPULL(GPIOI_PIN11) |      \
1297
                                     PIN_OTYPE_PUSHPULL(GPIOI_PIN12) |      \
1298
                                     PIN_OTYPE_PUSHPULL(GPIOI_PIN13) |      \
1299
                                     PIN_OTYPE_PUSHPULL(GPIOI_PIN14) |      \
1300
                                     PIN_OTYPE_PUSHPULL(GPIOI_PIN15))
1301
#define VAL_GPIOI_OSPEEDR           (PIN_OSPEED_HIGH(GPIOI_PIN0) |          \
1302
                                     PIN_OSPEED_HIGH(GPIOI_PIN1) |          \
1303
                                     PIN_OSPEED_HIGH(GPIOI_PIN2) |          \
1304
                                     PIN_OSPEED_HIGH(GPIOI_PIN3) |          \
1305
                                     PIN_OSPEED_HIGH(GPIOI_PIN4) |          \
1306
                                     PIN_OSPEED_HIGH(GPIOI_PIN5) |          \
1307
                                     PIN_OSPEED_HIGH(GPIOI_PIN6) |          \
1308
                                     PIN_OSPEED_HIGH(GPIOI_PIN7) |          \
1309
                                     PIN_OSPEED_HIGH(GPIOI_PIN8) |          \
1310
                                     PIN_OSPEED_HIGH(GPIOI_PIN9) |          \
1311
                                     PIN_OSPEED_HIGH(GPIOI_PIN10) |         \
1312
                                     PIN_OSPEED_HIGH(GPIOI_PIN11) |         \
1313
                                     PIN_OSPEED_HIGH(GPIOI_PIN12) |         \
1314
                                     PIN_OSPEED_HIGH(GPIOI_PIN13) |         \
1315
                                     PIN_OSPEED_HIGH(GPIOI_PIN14) |         \
1316
                                     PIN_OSPEED_HIGH(GPIOI_PIN15))
1317
#define VAL_GPIOI_PUPDR             (PIN_PUPDR_PULLUP(GPIOI_PIN0) |         \
1318
                                     PIN_PUPDR_PULLUP(GPIOI_PIN1) |         \
1319
                                     PIN_PUPDR_PULLUP(GPIOI_PIN2) |         \
1320
                                     PIN_PUPDR_PULLUP(GPIOI_PIN3) |         \
1321
                                     PIN_PUPDR_PULLUP(GPIOI_PIN4) |         \
1322
                                     PIN_PUPDR_PULLUP(GPIOI_PIN5) |         \
1323
                                     PIN_PUPDR_PULLUP(GPIOI_PIN6) |         \
1324
                                     PIN_PUPDR_PULLUP(GPIOI_PIN7) |         \
1325
                                     PIN_PUPDR_PULLUP(GPIOI_PIN8) |         \
1326
                                     PIN_PUPDR_PULLUP(GPIOI_PIN9) |         \
1327
                                     PIN_PUPDR_PULLUP(GPIOI_PIN10) |        \
1328
                                     PIN_PUPDR_PULLUP(GPIOI_PIN11) |        \
1329
                                     PIN_PUPDR_PULLUP(GPIOI_PIN12) |        \
1330
                                     PIN_PUPDR_PULLUP(GPIOI_PIN13) |        \
1331
                                     PIN_PUPDR_PULLUP(GPIOI_PIN14) |        \
1332
                                     PIN_PUPDR_PULLUP(GPIOI_PIN15))
1333
#define VAL_GPIOI_ODR               (PIN_ODR_HIGH(GPIOI_PIN0) |             \
1334
                                     PIN_ODR_HIGH(GPIOI_PIN1) |             \
1335
                                     PIN_ODR_HIGH(GPIOI_PIN2) |             \
1336
                                     PIN_ODR_HIGH(GPIOI_PIN3) |             \
1337
                                     PIN_ODR_HIGH(GPIOI_PIN4) |             \
1338
                                     PIN_ODR_HIGH(GPIOI_PIN5) |             \
1339
                                     PIN_ODR_HIGH(GPIOI_PIN6) |             \
1340
                                     PIN_ODR_HIGH(GPIOI_PIN7) |             \
1341
                                     PIN_ODR_HIGH(GPIOI_PIN8) |             \
1342
                                     PIN_ODR_HIGH(GPIOI_PIN9) |             \
1343
                                     PIN_ODR_HIGH(GPIOI_PIN10) |            \
1344
                                     PIN_ODR_HIGH(GPIOI_PIN11) |            \
1345
                                     PIN_ODR_HIGH(GPIOI_PIN12) |            \
1346
                                     PIN_ODR_HIGH(GPIOI_PIN13) |            \
1347
                                     PIN_ODR_HIGH(GPIOI_PIN14) |            \
1348
                                     PIN_ODR_HIGH(GPIOI_PIN15))
1349
#define VAL_GPIOI_AFRL              (PIN_AFIO_AF(GPIOI_PIN0, 0U) |          \
1350
                                     PIN_AFIO_AF(GPIOI_PIN1, 0U) |          \
1351
                                     PIN_AFIO_AF(GPIOI_PIN2, 0U) |          \
1352
                                     PIN_AFIO_AF(GPIOI_PIN3, 0U) |          \
1353
                                     PIN_AFIO_AF(GPIOI_PIN4, 0U) |          \
1354
                                     PIN_AFIO_AF(GPIOI_PIN5, 0U) |          \
1355
                                     PIN_AFIO_AF(GPIOI_PIN6, 0U) |          \
1356
                                     PIN_AFIO_AF(GPIOI_PIN7, 0U))
1357
#define VAL_GPIOI_AFRH              (PIN_AFIO_AF(GPIOI_PIN8, 0U) |          \
1358
                                     PIN_AFIO_AF(GPIOI_PIN9, 0U) |          \
1359
                                     PIN_AFIO_AF(GPIOI_PIN10, 0U) |         \
1360
                                     PIN_AFIO_AF(GPIOI_PIN11, 0U) |         \
1361
                                     PIN_AFIO_AF(GPIOI_PIN12, 0U) |         \
1362
                                     PIN_AFIO_AF(GPIOI_PIN13, 0U) |         \
1363
                                     PIN_AFIO_AF(GPIOI_PIN14, 0U) |         \
1364
                                     PIN_AFIO_AF(GPIOI_PIN15, 0U))
1365
1366
/*===========================================================================*/
1367
/* External declarations.                                                    */
1368
/*===========================================================================*/
1369
1370
#if !defined(_FROM_ASM_)
1371
#ifdef __cplusplus
1372
extern "C" {
1373
#endif
1374
  void boardInit(void);
1375
#ifdef __cplusplus
1376
}
1377
#endif
1378
#endif /* _FROM_ASM_ */
1379
1380
#endif /* BOARD_H */