Statistics
| Branch: | Tag: | Revision:

amiro-os / modules / STM32L476RG-NUCLEO64 / board.h @ 8a93b752

History | View | Annotate | Download (96.567 KB)

1
/*
2
    ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3

4
    Licensed under the Apache License, Version 2.0 (the "License");
5
    you may not use this file except in compliance with the License.
6
    You may obtain a copy of the License at
7

8
        http://www.apache.org/licenses/LICENSE-2.0
9

10
    Unless required by applicable law or agreed to in writing, software
11
    distributed under the License is distributed on an "AS IS" BASIS,
12
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
    See the License for the specific language governing permissions and
14
    limitations under the License.
15
*/
16

    
17
/*
18
 * This file has been automatically generated using ChibiStudio board
19
 * generator plugin. Do not edit manually.
20
 */
21

    
22
#ifndef BOARD_H
23
#define BOARD_H
24

    
25
/*===========================================================================*/
26
/* Driver constants.                                                         */
27
/*===========================================================================*/
28

    
29
/*
30
 * Setup for STMicroelectronics STM32 Nucleo64-L476RG board.
31
 */
32

    
33
/*
34
 * Board identifier.
35
 */
36
#define BOARD_ST_NUCLEO64_L476RG
37
#define BOARD_NAME                  "STMicroelectronics STM32 Nucleo64-L476RG"
38
#define BOARD_VERSION           "1.0"
39

    
40
/*
41
 * Board oscillators-related settings.
42
 */
43
#if !defined(STM32_LSECLK)
44
#define STM32_LSECLK                32768U
45
#endif
46

    
47
#define STM32_LSEDRV                (3U << 3U)
48

    
49
#if !defined(STM32_HSECLK)
50
#define STM32_HSECLK                8000000U
51
#endif
52

    
53
#define STM32_HSE_BYPASS
54

    
55
/*
56
 * Board voltages.
57
 * Required for performance limits calculation.
58
 */
59
#define STM32_VDD                   300U
60

    
61
/*
62
 * MCU type as defined in the ST header.
63
 */
64
#define STM32L476xx
65

    
66
/*
67
 * IO pins assignments.
68
 */
69
#define GPIOA_ARD_A0                0U
70
#define GPIOA_ACD12_IN5             0U
71
#define GPIOA_ARD_A1                1U
72
#define GPIOA_ACD12_IN6             1U
73
#define GPIOA_ARD_D1                2U
74
#define GPIOA_USART2_TX             2U
75
#define GPIOA_ARD_D0                3U
76
#define GPIOA_USART2_RX             3U
77
#define GPIOA_ARD_A2                4U
78
#define GPIOA_ACD12_IN9             4U
79
#define GPIOA_ARD_D13               5U
80
#define GPIOA_LED_GREEN             5U
81
#define GPIOA_ARD_D12               6U
82
#define GPIOA_ARD_D11               7U
83
#define GPIOA_ARD_D7                8U
84
#define GPIOA_ARD_D8                9U
85
#define GPIOA_ARD_D2                10U
86
#define GPIOA_PIN11                 11U
87
#define GPIOA_PIN12                 12U
88
#define GPIOA_SWDIO                 13U
89
#define GPIOA_SWCLK                 14U
90
#define GPIOA_PIN15                 15U
91

    
92
#define GPIOB_ARD_A3                0U
93
#define GPIOB_ACD12_IN15            0U
94
#define GPIOB_PIN1                  1U
95
#define GPIOB_PIN2                  2U
96
#define GPIOB_ARD_D3                3U
97
#define GPIOB_SWO                   3U
98
#define GPIOB_ARD_D5                4U
99
#define GPIOB_ARD_D4                5U
100
#define GPIOB_ARD_D10               6U
101
#define GPIOB_PIN7                  7U
102
#define GPIOB_ARD_D15               8U
103
#define GPIOB_ARD_D14               9U
104
#define GPIOB_ARD_D6                10U
105
#define GPIOB_PIN11                 11U
106
#define GPIOB_PIN12                 12U
107
#define GPIOB_PIN13                 13U
108
#define GPIOB_PIN14                 14U
109
#define GPIOB_PIN15                 15U
110

    
111
#define GPIOC_ARD_A5                0U
112
#define GPIOC_ACD123_IN1            0U
113
#define GPIOC_ARD_A4                1U
114
#define GPIOC_ACD123_IN2            1U
115
#define GPIOC_PIN2                  2U
116
#define GPIOC_PIN3                  3U
117
#define GPIOC_PIN4                  4U
118
#define GPIOC_PIN5                  5U
119
#define GPIOC_PIN6                  6U
120
#define GPIOC_ARD_D9                7U
121
#define GPIOC_PIN8                  8U
122
#define GPIOC_PIN9                  9U
123
#define GPIOC_PIN10                 10U
124
#define GPIOC_PIN11                 11U
125
#define GPIOC_PIN12                 12U
126
#define GPIOC_BUTTON                13U
127
#define GPIOC_OSC32_IN              14U
128
#define GPIOC_OSC32_OUT             15U
129

    
130
#define GPIOD_PIN0                  0U
131
#define GPIOD_PIN1                  1U
132
#define GPIOD_PIN2                  2U
133
#define GPIOD_PIN3                  3U
134
#define GPIOD_PIN4                  4U
135
#define GPIOD_PIN5                  5U
136
#define GPIOD_PIN6                  6U
137
#define GPIOD_PIN7                  7U
138
#define GPIOD_PIN8                  8U
139
#define GPIOD_PIN9                  9U
140
#define GPIOD_PIN10                 10U
141
#define GPIOD_PIN11                 11U
142
#define GPIOD_PIN12                 12U
143
#define GPIOD_PIN13                 13U
144
#define GPIOD_PIN14                 14U
145
#define GPIOD_PIN15                 15U
146

    
147
#define GPIOE_PIN0                  0U
148
#define GPIOE_PIN1                  1U
149
#define GPIOE_PIN2                  2U
150
#define GPIOE_PIN3                  3U
151
#define GPIOE_PIN4                  4U
152
#define GPIOE_PIN5                  5U
153
#define GPIOE_PIN6                  6U
154
#define GPIOE_PIN7                  7U
155
#define GPIOE_PIN8                  8U
156
#define GPIOE_PIN9                  9U
157
#define GPIOE_PIN10                 10U
158
#define GPIOE_PIN11                 11U
159
#define GPIOE_PIN12                 12U
160
#define GPIOE_PIN13                 13U
161
#define GPIOE_PIN14                 14U
162
#define GPIOE_PIN15                 15U
163

    
164
#define GPIOF_PIN0                  0U
165
#define GPIOF_PIN1                  1U
166
#define GPIOF_PIN2                  2U
167
#define GPIOF_PIN3                  3U
168
#define GPIOF_PIN4                  4U
169
#define GPIOF_PIN5                  5U
170
#define GPIOF_PIN6                  6U
171
#define GPIOF_PIN7                  7U
172
#define GPIOF_PIN8                  8U
173
#define GPIOF_PIN9                  9U
174
#define GPIOF_PIN10                 10U
175
#define GPIOF_PIN11                 11U
176
#define GPIOF_PIN12                 12U
177
#define GPIOF_PIN13                 13U
178
#define GPIOF_PIN14                 14U
179
#define GPIOF_PIN15                 15U
180

    
181
#define GPIOG_PIN0                  0U
182
#define GPIOG_PIN1                  1U
183
#define GPIOG_PIN2                  2U
184
#define GPIOG_PIN3                  3U
185
#define GPIOG_PIN4                  4U
186
#define GPIOG_PIN5                  5U
187
#define GPIOG_PIN6                  6U
188
#define GPIOG_PIN7                  7U
189
#define GPIOG_PIN8                  8U
190
#define GPIOG_PIN9                  9U
191
#define GPIOG_PIN10                 10U
192
#define GPIOG_PIN11                 11U
193
#define GPIOG_PIN12                 12U
194
#define GPIOG_PIN13                 13U
195
#define GPIOG_PIN14                 14U
196
#define GPIOG_PIN15                 15U
197

    
198
#define GPIOH_OSC_IN                0U
199
#define GPIOH_OSC_OUT               1U
200
#define GPIOH_PIN2                  2U
201
#define GPIOH_PIN3                  3U
202
#define GPIOH_PIN4                  4U
203
#define GPIOH_PIN5                  5U
204
#define GPIOH_PIN6                  6U
205
#define GPIOH_PIN7                  7U
206
#define GPIOH_PIN8                  8U
207
#define GPIOH_PIN9                  9U
208
#define GPIOH_PIN10                 10U
209
#define GPIOH_PIN11                 11U
210
#define GPIOH_PIN12                 12U
211
#define GPIOH_PIN13                 13U
212
#define GPIOH_PIN14                 14U
213
#define GPIOH_PIN15                 15U
214

    
215
/*
216
 * IO lines assignments.
217
 */
218
#define LINE_ARD_A0                 PAL_LINE(GPIOA, 0U)
219
#define LINE_ACD12_IN5              PAL_LINE(GPIOA, 0U)
220
#define LINE_ARD_A1                 PAL_LINE(GPIOA, 1U)
221
#define LINE_ACD12_IN6              PAL_LINE(GPIOA, 1U)
222
#define LINE_ARD_D1                 PAL_LINE(GPIOA, 2U)
223
#define LINE_USART2_TX              PAL_LINE(GPIOA, 2U)
224
#define LINE_ARD_D0                 PAL_LINE(GPIOA, 3U)
225
#define LINE_USART2_RX              PAL_LINE(GPIOA, 3U)
226
#define LINE_ARD_A2                 PAL_LINE(GPIOA, 4U)
227
#define LINE_ACD12_IN9              PAL_LINE(GPIOA, 4U)
228
#define LINE_ARD_D13                PAL_LINE(GPIOA, 5U)
229
#define LINE_LED_GREEN              PAL_LINE(GPIOA, 5U)
230
#define LINE_ARD_D12                PAL_LINE(GPIOA, 6U)
231
#define LINE_ARD_D11                PAL_LINE(GPIOA, 7U)
232
#define LINE_ARD_D7                 PAL_LINE(GPIOA, 8U)
233
#define LINE_ARD_D8                 PAL_LINE(GPIOA, 9U)
234
#define LINE_ARD_D2                 PAL_LINE(GPIOA, 10U)
235
#define LINE_SWDIO                  PAL_LINE(GPIOA, 13U)
236
#define LINE_SWCLK                  PAL_LINE(GPIOA, 14U)
237
#define LINE_ARD_A3                 PAL_LINE(GPIOB, 0U)
238
#define LINE_ACD12_IN15             PAL_LINE(GPIOB, 0U)
239
#define LINE_ARD_D3                 PAL_LINE(GPIOB, 3U)
240
#define LINE_SWO                    PAL_LINE(GPIOB, 3U)
241
#define LINE_ARD_D5                 PAL_LINE(GPIOB, 4U)
242
#define LINE_ARD_D4                 PAL_LINE(GPIOB, 5U)
243
#define LINE_ARD_D10                PAL_LINE(GPIOB, 6U)
244
#define LINE_ARD_D15                PAL_LINE(GPIOB, 8U)
245
#define LINE_ARD_D14                PAL_LINE(GPIOB, 9U)
246
#define LINE_ARD_D6                 PAL_LINE(GPIOB, 10U)
247
#define LINE_ARD_A5                 PAL_LINE(GPIOC, 0U)
248
#define LINE_ACD123_IN1             PAL_LINE(GPIOC, 0U)
249
#define LINE_ARD_A4                 PAL_LINE(GPIOC, 1U)
250
#define LINE_ACD123_IN2             PAL_LINE(GPIOC, 1U)
251
#define LINE_ARD_D9                 PAL_LINE(GPIOC, 7U)
252
#define LINE_BUTTON                 PAL_LINE(GPIOC, 13U)
253
#define LINE_OSC32_IN               PAL_LINE(GPIOC, 14U)
254
#define LINE_OSC32_OUT              PAL_LINE(GPIOC, 15U)
255
#define LINE_OSC_IN                 PAL_LINE(GPIOH, 0U)
256
#define LINE_OSC_OUT                PAL_LINE(GPIOH, 1U)
257

    
258
/*===========================================================================*/
259
/* Driver pre-compile time settings.                                         */
260
/*===========================================================================*/
261

    
262
/*===========================================================================*/
263
/* Derived constants and error checks.                                       */
264
/*===========================================================================*/
265

    
266
/*===========================================================================*/
267
/* Driver data structures and types.                                         */
268
/*===========================================================================*/
269

    
270
/*===========================================================================*/
271
/* Driver macros.                                                            */
272
/*===========================================================================*/
273

    
274
/*
275
 * I/O ports initial setup, this configuration is established soon after reset
276
 * in the initialization code.
277
 * Please refer to the STM32 Reference Manual for details.
278
 */
279
#define PIN_MODE_INPUT(n)           (0U << ((n) * 2U))
280
#define PIN_MODE_OUTPUT(n)          (1U << ((n) * 2U))
281
#define PIN_MODE_ALTERNATE(n)       (2U << ((n) * 2U))
282
#define PIN_MODE_ANALOG(n)          (3U << ((n) * 2U))
283
#define PIN_ODR_LOW(n)              (0U << (n))
284
#define PIN_ODR_HIGH(n)             (1U << (n))
285
#define PIN_OTYPE_PUSHPULL(n)       (0U << (n))
286
#define PIN_OTYPE_OPENDRAIN(n)      (1U << (n))
287
#define PIN_OSPEED_VERYLOW(n)       (0U << ((n) * 2U))
288
#define PIN_OSPEED_LOW(n)           (1U << ((n) * 2U))
289
#define PIN_OSPEED_MEDIUM(n)        (2U << ((n) * 2U))
290
#define PIN_OSPEED_HIGH(n)          (3U << ((n) * 2U))
291
#define PIN_PUPDR_FLOATING(n)       (0U << ((n) * 2U))
292
#define PIN_PUPDR_PULLUP(n)         (1U << ((n) * 2U))
293
#define PIN_PUPDR_PULLDOWN(n)       (2U << ((n) * 2U))
294
#define PIN_AFIO_AF(n, v)           ((v) << (((n) % 8U) * 4U))
295
#define PIN_ASCR_DISABLED(n)        (0U << (n))
296
#define PIN_ASCR_ENABLED(n)         (1U << (n))
297
#define PIN_LOCKR_DISABLED(n)       (0U << (n))
298
#define PIN_LOCKR_ENABLED(n)        (1U << (n))
299

    
300
/*
301
 * GPIOA setup:
302
 *
303
 * PA0  - ARD_A0 ACD12_IN5          (analog).
304
 * PA1  - ARD_A1 ACD12_IN6          (analog).
305
 * PA2  - ARD_D1 USART2_TX          (alternate 7).
306
 * PA3  - ARD_D0 USART2_RX          (alternate 7).
307
 * PA4  - ARD_A2 ACD12_IN9          (analog).
308
 * PA5  - ARD_D13 LED_GREEN         (output pushpull maximum).
309
 * PA6  - ARD_D12                   (analog).
310
 * PA7  - ARD_D11                   (analog).
311
 * PA8  - ARD_D7                    (analog).
312
 * PA9  - ARD_D8                    (analog).
313
 * PA10 - ARD_D2                    (analog).
314
 * PA11 - PIN11                     (analog).
315
 * PA12 - PIN12                     (analog).
316
 * PA13 - SWDIO                     (alternate 0).
317
 * PA14 - SWCLK                     (alternate 0).
318
 * PA15 - PIN15                     (analog).
319
 */
320
#define VAL_GPIOA_MODER             (PIN_MODE_ANALOG(GPIOA_ARD_A0) |        \
321
                                     PIN_MODE_ANALOG(GPIOA_ARD_A1) |        \
322
                                     PIN_MODE_ALTERNATE(GPIOA_ARD_D1) |     \
323
                                     PIN_MODE_ALTERNATE(GPIOA_ARD_D0) |     \
324
                                     PIN_MODE_ANALOG(GPIOA_ARD_A2) |        \
325
                                     PIN_MODE_OUTPUT(GPIOA_ARD_D13) |       \
326
                                     PIN_MODE_ANALOG(GPIOA_ARD_D12) |       \
327
                                     PIN_MODE_ANALOG(GPIOA_ARD_D11) |       \
328
                                     PIN_MODE_ANALOG(GPIOA_ARD_D7) |        \
329
                                     PIN_MODE_ANALOG(GPIOA_ARD_D8) |        \
330
                                     PIN_MODE_ANALOG(GPIOA_ARD_D2) |        \
331
                                     PIN_MODE_ANALOG(GPIOA_PIN11) |         \
332
                                     PIN_MODE_ANALOG(GPIOA_PIN12) |         \
333
                                     PIN_MODE_ALTERNATE(GPIOA_SWDIO) |      \
334
                                     PIN_MODE_ALTERNATE(GPIOA_SWCLK) |      \
335
                                     PIN_MODE_ANALOG(GPIOA_PIN15))
336
#define VAL_GPIOA_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOA_ARD_A0) |     \
337
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_A1) |     \
338
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_D1) |     \
339
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_D0) |     \
340
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_A2) |     \
341
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_D13) |    \
342
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_D12) |    \
343
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_D11) |    \
344
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_D7) |     \
345
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_D8) |     \
346
                                     PIN_OTYPE_PUSHPULL(GPIOA_ARD_D2) |     \
347
                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN11) |      \
348
                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN12) |      \
349
                                     PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) |      \
350
                                     PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) |      \
351
                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN15))
352
#define VAL_GPIOA_OSPEEDR           (PIN_OSPEED_HIGH(GPIOA_ARD_A0) |        \
353
                                     PIN_OSPEED_HIGH(GPIOA_ARD_A1) |        \
354
                                     PIN_OSPEED_MEDIUM(GPIOA_ARD_D1) |      \
355
                                     PIN_OSPEED_MEDIUM(GPIOA_ARD_D0) |      \
356
                                     PIN_OSPEED_HIGH(GPIOA_ARD_A2) |        \
357
                                     PIN_OSPEED_HIGH(GPIOA_ARD_D13) |       \
358
                                     PIN_OSPEED_HIGH(GPIOA_ARD_D12) |       \
359
                                     PIN_OSPEED_HIGH(GPIOA_ARD_D11) |       \
360
                                     PIN_OSPEED_HIGH(GPIOA_ARD_D7) |        \
361
                                     PIN_OSPEED_HIGH(GPIOA_ARD_D8) |        \
362
                                     PIN_OSPEED_HIGH(GPIOA_ARD_D2) |        \
363
                                     PIN_OSPEED_HIGH(GPIOA_PIN11) |         \
364
                                     PIN_OSPEED_HIGH(GPIOA_PIN12) |         \
365
                                     PIN_OSPEED_HIGH(GPIOA_SWDIO) |         \
366
                                     PIN_OSPEED_HIGH(GPIOA_SWCLK) |         \
367
                                     PIN_OSPEED_HIGH(GPIOA_PIN15))
368
#define VAL_GPIOA_PUPDR             (PIN_PUPDR_FLOATING(GPIOA_ARD_A0) |     \
369
                                     PIN_PUPDR_FLOATING(GPIOA_ARD_A1) |     \
370
                                     PIN_PUPDR_FLOATING(GPIOA_ARD_D1) |     \
371
                                     PIN_PUPDR_FLOATING(GPIOA_ARD_D0) |     \
372
                                     PIN_PUPDR_FLOATING(GPIOA_ARD_A2) |     \
373
                                     PIN_PUPDR_FLOATING(GPIOA_ARD_D13) |    \
374
                                     PIN_PUPDR_FLOATING(GPIOA_ARD_D12) |    \
375
                                     PIN_PUPDR_FLOATING(GPIOA_ARD_D11) |    \
376
                                     PIN_PUPDR_FLOATING(GPIOA_ARD_D7) |     \
377
                                     PIN_PUPDR_FLOATING(GPIOA_ARD_D8) |     \
378
                                     PIN_PUPDR_FLOATING(GPIOA_ARD_D2) |     \
379
                                     PIN_PUPDR_FLOATING(GPIOA_PIN11) |      \
380
                                     PIN_PUPDR_FLOATING(GPIOA_PIN12) |      \
381
                                     PIN_PUPDR_PULLUP(GPIOA_SWDIO) |        \
382
                                     PIN_PUPDR_PULLDOWN(GPIOA_SWCLK) |      \
383
                                     PIN_PUPDR_FLOATING(GPIOA_PIN15))
384
#define VAL_GPIOA_ODR               (PIN_ODR_HIGH(GPIOA_ARD_A0) |           \
385
                                     PIN_ODR_HIGH(GPIOA_ARD_A1) |           \
386
                                     PIN_ODR_HIGH(GPIOA_ARD_D1) |           \
387
                                     PIN_ODR_HIGH(GPIOA_ARD_D0) |           \
388
                                     PIN_ODR_HIGH(GPIOA_ARD_A2) |           \
389
                                     PIN_ODR_LOW(GPIOA_ARD_D13) |           \
390
                                     PIN_ODR_HIGH(GPIOA_ARD_D12) |          \
391
                                     PIN_ODR_HIGH(GPIOA_ARD_D11) |          \
392
                                     PIN_ODR_HIGH(GPIOA_ARD_D7) |           \
393
                                     PIN_ODR_HIGH(GPIOA_ARD_D8) |           \
394
                                     PIN_ODR_HIGH(GPIOA_ARD_D2) |           \
395
                                     PIN_ODR_HIGH(GPIOA_PIN11) |            \
396
                                     PIN_ODR_HIGH(GPIOA_PIN12) |            \
397
                                     PIN_ODR_HIGH(GPIOA_SWDIO) |            \
398
                                     PIN_ODR_HIGH(GPIOA_SWCLK) |            \
399
                                     PIN_ODR_HIGH(GPIOA_PIN15))
400
#define VAL_GPIOA_AFRL              (PIN_AFIO_AF(GPIOA_ARD_A0, 0U) |        \
401
                                     PIN_AFIO_AF(GPIOA_ARD_A1, 0U) |        \
402
                                     PIN_AFIO_AF(GPIOA_ARD_D1, 7U) |        \
403
                                     PIN_AFIO_AF(GPIOA_ARD_D0, 7U) |        \
404
                                     PIN_AFIO_AF(GPIOA_ARD_A2, 0U) |        \
405
                                     PIN_AFIO_AF(GPIOA_ARD_D13, 0U) |       \
406
                                     PIN_AFIO_AF(GPIOA_ARD_D12, 0U) |       \
407
                                     PIN_AFIO_AF(GPIOA_ARD_D11, 0U))
408
#define VAL_GPIOA_AFRH              (PIN_AFIO_AF(GPIOA_ARD_D7, 0U) |        \
409
                                     PIN_AFIO_AF(GPIOA_ARD_D8, 0U) |        \
410
                                     PIN_AFIO_AF(GPIOA_ARD_D2, 0U) |        \
411
                                     PIN_AFIO_AF(GPIOA_PIN11, 0U) |         \
412
                                     PIN_AFIO_AF(GPIOA_PIN12, 0U) |         \
413
                                     PIN_AFIO_AF(GPIOA_SWDIO, 0U) |         \
414
                                     PIN_AFIO_AF(GPIOA_SWCLK, 0U) |         \
415
                                     PIN_AFIO_AF(GPIOA_PIN15, 0U))
416
#define VAL_GPIOA_ASCR              (PIN_ASCR_DISABLED(GPIOA_ARD_A0) |      \
417
                                     PIN_ASCR_DISABLED(GPIOA_ARD_A1) |      \
418
                                     PIN_ASCR_DISABLED(GPIOA_ARD_D1) |      \
419
                                     PIN_ASCR_DISABLED(GPIOA_ARD_D0) |      \
420
                                     PIN_ASCR_DISABLED(GPIOA_ARD_A2) |      \
421
                                     PIN_ASCR_DISABLED(GPIOA_ARD_D13) |     \
422
                                     PIN_ASCR_DISABLED(GPIOA_ARD_D12) |     \
423
                                     PIN_ASCR_DISABLED(GPIOA_ARD_D11) |     \
424
                                     PIN_ASCR_DISABLED(GPIOA_ARD_D7) |      \
425
                                     PIN_ASCR_DISABLED(GPIOA_ARD_D8) |      \
426
                                     PIN_ASCR_DISABLED(GPIOA_ARD_D2) |      \
427
                                     PIN_ASCR_DISABLED(GPIOA_PIN11) |       \
428
                                     PIN_ASCR_DISABLED(GPIOA_PIN12) |       \
429
                                     PIN_ASCR_DISABLED(GPIOA_SWDIO) |       \
430
                                     PIN_ASCR_DISABLED(GPIOA_SWCLK) |       \
431
                                     PIN_ASCR_DISABLED(GPIOA_PIN15))
432
#define VAL_GPIOA_LOCKR             (PIN_LOCKR_DISABLED(GPIOA_ARD_A0) |     \
433
                                     PIN_LOCKR_DISABLED(GPIOA_ARD_A1) |     \
434
                                     PIN_LOCKR_DISABLED(GPIOA_ARD_D1) |     \
435
                                     PIN_LOCKR_DISABLED(GPIOA_ARD_D0) |     \
436
                                     PIN_LOCKR_DISABLED(GPIOA_ARD_A2) |     \
437
                                     PIN_LOCKR_DISABLED(GPIOA_ARD_D13) |    \
438
                                     PIN_LOCKR_DISABLED(GPIOA_ARD_D12) |    \
439
                                     PIN_LOCKR_DISABLED(GPIOA_ARD_D11) |    \
440
                                     PIN_LOCKR_DISABLED(GPIOA_ARD_D7) |     \
441
                                     PIN_LOCKR_DISABLED(GPIOA_ARD_D8) |     \
442
                                     PIN_LOCKR_DISABLED(GPIOA_ARD_D2) |     \
443
                                     PIN_LOCKR_DISABLED(GPIOA_PIN11) |      \
444
                                     PIN_LOCKR_DISABLED(GPIOA_PIN12) |      \
445
                                     PIN_LOCKR_DISABLED(GPIOA_SWDIO) |      \
446
                                     PIN_LOCKR_DISABLED(GPIOA_SWCLK) |      \
447
                                     PIN_LOCKR_DISABLED(GPIOA_PIN15))
448

    
449
/*
450
 * GPIOB setup:
451
 *
452
 * PB0  - ARD_A3 ACD12_IN15         (analog).
453
 * PB1  - PIN1                      (analog).
454
 * PB2  - PIN2                      (analog).
455
 * PB3  - ARD_D3 SWO                (analog).
456
 * PB4  - ARD_D5                    (analog).
457
 * PB5  - ARD_D4                    (analog).
458
 * PB6  - ARD_D10                   (analog).
459
 * PB7  - PIN7                      (analog).
460
 * PB8  - ARD_D15                   (analog).
461
 * PB9  - ARD_D14                   (analog).
462
 * PB10 - ARD_D6                    (analog).
463
 * PB11 - PIN11                     (analog).
464
 * PB12 - PIN12                     (analog).
465
 * PB13 - PIN13                     (analog).
466
 * PB14 - PIN14                     (analog).
467
 * PB15 - PIN15                     (analog).
468
 */
469
#define VAL_GPIOB_MODER             (PIN_MODE_ANALOG(GPIOB_ARD_A3) |        \
470
                                     PIN_MODE_ANALOG(GPIOB_PIN1) |          \
471
                                     PIN_MODE_ANALOG(GPIOB_PIN2) |          \
472
                                     PIN_MODE_ANALOG(GPIOB_ARD_D3) |        \
473
                                     PIN_MODE_ANALOG(GPIOB_ARD_D5) |        \
474
                                     PIN_MODE_ANALOG(GPIOB_ARD_D4) |        \
475
                                     PIN_MODE_ANALOG(GPIOB_ARD_D10) |       \
476
                                     PIN_MODE_ANALOG(GPIOB_PIN7) |          \
477
                                     PIN_MODE_ANALOG(GPIOB_ARD_D15) |       \
478
                                     PIN_MODE_ANALOG(GPIOB_ARD_D14) |       \
479
                                     PIN_MODE_ANALOG(GPIOB_ARD_D6) |        \
480
                                     PIN_MODE_ANALOG(GPIOB_PIN11) |         \
481
                                     PIN_MODE_ANALOG(GPIOB_PIN12) |         \
482
                                     PIN_MODE_ANALOG(GPIOB_PIN13) |         \
483
                                     PIN_MODE_ANALOG(GPIOB_PIN14) |         \
484
                                     PIN_MODE_ANALOG(GPIOB_PIN15))
485
#define VAL_GPIOB_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOB_ARD_A3) |     \
486
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN1) |       \
487
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN2) |       \
488
                                     PIN_OTYPE_PUSHPULL(GPIOB_ARD_D3) |     \
489
                                     PIN_OTYPE_PUSHPULL(GPIOB_ARD_D5) |     \
490
                                     PIN_OTYPE_PUSHPULL(GPIOB_ARD_D4) |     \
491
                                     PIN_OTYPE_PUSHPULL(GPIOB_ARD_D10) |    \
492
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN7) |       \
493
                                     PIN_OTYPE_PUSHPULL(GPIOB_ARD_D15) |    \
494
                                     PIN_OTYPE_PUSHPULL(GPIOB_ARD_D14) |    \
495
                                     PIN_OTYPE_PUSHPULL(GPIOB_ARD_D6) |     \
496
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN11) |      \
497
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN12) |      \
498
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN13) |      \
499
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN14) |      \
500
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN15))
501
#define VAL_GPIOB_OSPEEDR           (PIN_OSPEED_HIGH(GPIOB_ARD_A3) |        \
502
                                     PIN_OSPEED_HIGH(GPIOB_PIN1) |          \
503
                                     PIN_OSPEED_HIGH(GPIOB_PIN2) |          \
504
                                     PIN_OSPEED_HIGH(GPIOB_ARD_D3) |        \
505
                                     PIN_OSPEED_HIGH(GPIOB_ARD_D5) |        \
506
                                     PIN_OSPEED_HIGH(GPIOB_ARD_D4) |        \
507
                                     PIN_OSPEED_HIGH(GPIOB_ARD_D10) |       \
508
                                     PIN_OSPEED_HIGH(GPIOB_PIN7) |          \
509
                                     PIN_OSPEED_HIGH(GPIOB_ARD_D15) |       \
510
                                     PIN_OSPEED_HIGH(GPIOB_ARD_D14) |       \
511
                                     PIN_OSPEED_HIGH(GPIOB_ARD_D6) |        \
512
                                     PIN_OSPEED_HIGH(GPIOB_PIN11) |         \
513
                                     PIN_OSPEED_HIGH(GPIOB_PIN12) |         \
514
                                     PIN_OSPEED_HIGH(GPIOB_PIN13) |         \
515
                                     PIN_OSPEED_HIGH(GPIOB_PIN14) |         \
516
                                     PIN_OSPEED_HIGH(GPIOB_PIN15))
517
#define VAL_GPIOB_PUPDR             (PIN_PUPDR_FLOATING(GPIOB_ARD_A3) |     \
518
                                     PIN_PUPDR_FLOATING(GPIOB_PIN1) |       \
519
                                     PIN_PUPDR_FLOATING(GPIOB_PIN2) |       \
520
                                     PIN_PUPDR_FLOATING(GPIOB_ARD_D3) |     \
521
                                     PIN_PUPDR_FLOATING(GPIOB_ARD_D5) |     \
522
                                     PIN_PUPDR_FLOATING(GPIOB_ARD_D4) |     \
523
                                     PIN_PUPDR_FLOATING(GPIOB_ARD_D10) |    \
524
                                     PIN_PUPDR_FLOATING(GPIOB_PIN7) |       \
525
                                     PIN_PUPDR_FLOATING(GPIOB_ARD_D15) |    \
526
                                     PIN_PUPDR_FLOATING(GPIOB_ARD_D14) |    \
527
                                     PIN_PUPDR_FLOATING(GPIOB_ARD_D6) |     \
528
                                     PIN_PUPDR_FLOATING(GPIOB_PIN11) |      \
529
                                     PIN_PUPDR_FLOATING(GPIOB_PIN12) |      \
530
                                     PIN_PUPDR_FLOATING(GPIOB_PIN13) |      \
531
                                     PIN_PUPDR_FLOATING(GPIOB_PIN14) |      \
532
                                     PIN_PUPDR_FLOATING(GPIOB_PIN15))
533
#define VAL_GPIOB_ODR               (PIN_ODR_HIGH(GPIOB_ARD_A3) |           \
534
                                     PIN_ODR_HIGH(GPIOB_PIN1) |             \
535
                                     PIN_ODR_HIGH(GPIOB_PIN2) |             \
536
                                     PIN_ODR_HIGH(GPIOB_ARD_D3) |           \
537
                                     PIN_ODR_HIGH(GPIOB_ARD_D5) |           \
538
                                     PIN_ODR_HIGH(GPIOB_ARD_D4) |           \
539
                                     PIN_ODR_HIGH(GPIOB_ARD_D10) |          \
540
                                     PIN_ODR_HIGH(GPIOB_PIN7) |             \
541
                                     PIN_ODR_HIGH(GPIOB_ARD_D15) |          \
542
                                     PIN_ODR_HIGH(GPIOB_ARD_D14) |          \
543
                                     PIN_ODR_HIGH(GPIOB_ARD_D6) |           \
544
                                     PIN_ODR_HIGH(GPIOB_PIN11) |            \
545
                                     PIN_ODR_HIGH(GPIOB_PIN12) |            \
546
                                     PIN_ODR_HIGH(GPIOB_PIN13) |            \
547
                                     PIN_ODR_HIGH(GPIOB_PIN14) |            \
548
                                     PIN_ODR_HIGH(GPIOB_PIN15))
549
#define VAL_GPIOB_AFRL              (PIN_AFIO_AF(GPIOB_ARD_A3, 0U) |        \
550
                                     PIN_AFIO_AF(GPIOB_PIN1, 0U) |          \
551
                                     PIN_AFIO_AF(GPIOB_PIN2, 0U) |          \
552
                                     PIN_AFIO_AF(GPIOB_ARD_D3, 0U) |        \
553
                                     PIN_AFIO_AF(GPIOB_ARD_D5, 0U) |        \
554
                                     PIN_AFIO_AF(GPIOB_ARD_D4, 0U) |        \
555
                                     PIN_AFIO_AF(GPIOB_ARD_D10, 0U) |       \
556
                                     PIN_AFIO_AF(GPIOB_PIN7, 0U))
557
#define VAL_GPIOB_AFRH              (PIN_AFIO_AF(GPIOB_ARD_D15, 0U) |       \
558
                                     PIN_AFIO_AF(GPIOB_ARD_D14, 0U) |       \
559
                                     PIN_AFIO_AF(GPIOB_ARD_D6, 0U) |        \
560
                                     PIN_AFIO_AF(GPIOB_PIN11, 0U) |         \
561
                                     PIN_AFIO_AF(GPIOB_PIN12, 0U) |         \
562
                                     PIN_AFIO_AF(GPIOB_PIN13, 0U) |         \
563
                                     PIN_AFIO_AF(GPIOB_PIN14, 0U) |         \
564
                                     PIN_AFIO_AF(GPIOB_PIN15, 0U))
565
#define VAL_GPIOB_ASCR              (PIN_ASCR_DISABLED(GPIOB_ARD_A3) |      \
566
                                     PIN_ASCR_DISABLED(GPIOB_PIN1) |        \
567
                                     PIN_ASCR_DISABLED(GPIOB_PIN2) |        \
568
                                     PIN_ASCR_DISABLED(GPIOB_ARD_D3) |      \
569
                                     PIN_ASCR_DISABLED(GPIOB_ARD_D5) |      \
570
                                     PIN_ASCR_DISABLED(GPIOB_ARD_D4) |      \
571
                                     PIN_ASCR_DISABLED(GPIOB_ARD_D10) |     \
572
                                     PIN_ASCR_DISABLED(GPIOB_PIN7) |        \
573
                                     PIN_ASCR_DISABLED(GPIOB_ARD_D15) |     \
574
                                     PIN_ASCR_DISABLED(GPIOB_ARD_D14) |     \
575
                                     PIN_ASCR_DISABLED(GPIOB_ARD_D6) |      \
576
                                     PIN_ASCR_DISABLED(GPIOB_PIN11) |       \
577
                                     PIN_ASCR_DISABLED(GPIOB_PIN12) |       \
578
                                     PIN_ASCR_DISABLED(GPIOB_PIN13) |       \
579
                                     PIN_ASCR_DISABLED(GPIOB_PIN14) |       \
580
                                     PIN_ASCR_DISABLED(GPIOB_PIN15))
581
#define VAL_GPIOB_LOCKR             (PIN_LOCKR_DISABLED(GPIOB_ARD_A3) |     \
582
                                     PIN_LOCKR_DISABLED(GPIOB_PIN1) |       \
583
                                     PIN_LOCKR_DISABLED(GPIOB_PIN2) |       \
584
                                     PIN_LOCKR_DISABLED(GPIOB_ARD_D3) |     \
585
                                     PIN_LOCKR_DISABLED(GPIOB_ARD_D5) |     \
586
                                     PIN_LOCKR_DISABLED(GPIOB_ARD_D4) |     \
587
                                     PIN_LOCKR_DISABLED(GPIOB_ARD_D10) |    \
588
                                     PIN_LOCKR_DISABLED(GPIOB_PIN7) |       \
589
                                     PIN_LOCKR_DISABLED(GPIOB_ARD_D15) |    \
590
                                     PIN_LOCKR_DISABLED(GPIOB_ARD_D14) |    \
591
                                     PIN_LOCKR_DISABLED(GPIOB_ARD_D6) |     \
592
                                     PIN_LOCKR_DISABLED(GPIOB_PIN11) |      \
593
                                     PIN_LOCKR_DISABLED(GPIOB_PIN12) |      \
594
                                     PIN_LOCKR_DISABLED(GPIOB_PIN13) |      \
595
                                     PIN_LOCKR_DISABLED(GPIOB_PIN14) |      \
596
                                     PIN_LOCKR_DISABLED(GPIOB_PIN15))
597

    
598
/*
599
 * GPIOC setup:
600
 *
601
 * PC0  - ARD_A5 ACD123_IN1         (analog).
602
 * PC1  - ARD_A4 ACD123_IN2         (analog).
603
 * PC2  - PIN2                      (analog).
604
 * PC3  - PIN3                      (analog).
605
 * PC4  - PIN4                      (analog).
606
 * PC5  - PIN5                      (analog).
607
 * PC6  - PIN6                      (analog).
608
 * PC7  - ARD_D9                    (analog).
609
 * PC8  - PIN8                      (analog).
610
 * PC9  - PIN9                      (analog).
611
 * PC10 - PIN10                     (analog).
612
 * PC11 - PIN11                     (analog).
613
 * PC12 - PIN12                     (analog).
614
 * PC13 - BUTTON                    (input floating).
615
 * PC14 - OSC32_IN                  (input floating).
616
 * PC15 - OSC32_OUT                 (input floating).
617
 */
618
#define VAL_GPIOC_MODER             (PIN_MODE_ANALOG(GPIOC_ARD_A5) |        \
619
                                     PIN_MODE_ANALOG(GPIOC_ARD_A4) |        \
620
                                     PIN_MODE_ANALOG(GPIOC_PIN2) |          \
621
                                     PIN_MODE_ANALOG(GPIOC_PIN3) |          \
622
                                     PIN_MODE_ANALOG(GPIOC_PIN4) |          \
623
                                     PIN_MODE_ANALOG(GPIOC_PIN5) |          \
624
                                     PIN_MODE_ANALOG(GPIOC_PIN6) |          \
625
                                     PIN_MODE_ANALOG(GPIOC_ARD_D9) |        \
626
                                     PIN_MODE_ANALOG(GPIOC_PIN8) |          \
627
                                     PIN_MODE_ANALOG(GPIOC_PIN9) |          \
628
                                     PIN_MODE_ANALOG(GPIOC_PIN10) |         \
629
                                     PIN_MODE_ANALOG(GPIOC_PIN11) |         \
630
                                     PIN_MODE_ANALOG(GPIOC_PIN12) |         \
631
                                     PIN_MODE_INPUT(GPIOC_BUTTON) |         \
632
                                     PIN_MODE_INPUT(GPIOC_OSC32_IN) |       \
633
                                     PIN_MODE_INPUT(GPIOC_OSC32_OUT))
634
#define VAL_GPIOC_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOC_ARD_A5) |     \
635
                                     PIN_OTYPE_PUSHPULL(GPIOC_ARD_A4) |     \
636
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN2) |       \
637
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN3) |       \
638
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN4) |       \
639
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN5) |       \
640
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN6) |       \
641
                                     PIN_OTYPE_PUSHPULL(GPIOC_ARD_D9) |     \
642
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN8) |       \
643
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN9) |       \
644
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN10) |      \
645
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN11) |      \
646
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN12) |      \
647
                                     PIN_OTYPE_PUSHPULL(GPIOC_BUTTON) |     \
648
                                     PIN_OTYPE_PUSHPULL(GPIOC_OSC32_IN) |   \
649
                                     PIN_OTYPE_PUSHPULL(GPIOC_OSC32_OUT))
650
#define VAL_GPIOC_OSPEEDR           (PIN_OSPEED_HIGH(GPIOC_ARD_A5) |        \
651
                                     PIN_OSPEED_HIGH(GPIOC_ARD_A4) |        \
652
                                     PIN_OSPEED_HIGH(GPIOC_PIN2) |          \
653
                                     PIN_OSPEED_HIGH(GPIOC_PIN3) |          \
654
                                     PIN_OSPEED_HIGH(GPIOC_PIN4) |          \
655
                                     PIN_OSPEED_HIGH(GPIOC_PIN5) |          \
656
                                     PIN_OSPEED_HIGH(GPIOC_PIN6) |          \
657
                                     PIN_OSPEED_HIGH(GPIOC_ARD_D9) |        \
658
                                     PIN_OSPEED_HIGH(GPIOC_PIN8) |          \
659
                                     PIN_OSPEED_HIGH(GPIOC_PIN9) |          \
660
                                     PIN_OSPEED_HIGH(GPIOC_PIN10) |         \
661
                                     PIN_OSPEED_HIGH(GPIOC_PIN11) |         \
662
                                     PIN_OSPEED_HIGH(GPIOC_PIN12) |         \
663
                                     PIN_OSPEED_HIGH(GPIOC_BUTTON) |        \
664
                                     PIN_OSPEED_HIGH(GPIOC_OSC32_IN) |      \
665
                                     PIN_OSPEED_HIGH(GPIOC_OSC32_OUT))
666
#define VAL_GPIOC_PUPDR             (PIN_PUPDR_FLOATING(GPIOC_ARD_A5) |     \
667
                                     PIN_PUPDR_FLOATING(GPIOC_ARD_A4) |     \
668
                                     PIN_PUPDR_FLOATING(GPIOC_PIN2) |       \
669
                                     PIN_PUPDR_FLOATING(GPIOC_PIN3) |       \
670
                                     PIN_PUPDR_FLOATING(GPIOC_PIN4) |       \
671
                                     PIN_PUPDR_FLOATING(GPIOC_PIN5) |       \
672
                                     PIN_PUPDR_FLOATING(GPIOC_PIN6) |       \
673
                                     PIN_PUPDR_FLOATING(GPIOC_ARD_D9) |     \
674
                                     PIN_PUPDR_FLOATING(GPIOC_PIN8) |       \
675
                                     PIN_PUPDR_FLOATING(GPIOC_PIN9) |       \
676
                                     PIN_PUPDR_FLOATING(GPIOC_PIN10) |      \
677
                                     PIN_PUPDR_FLOATING(GPIOC_PIN11) |      \
678
                                     PIN_PUPDR_FLOATING(GPIOC_PIN12) |      \
679
                                     PIN_PUPDR_FLOATING(GPIOC_BUTTON) |     \
680
                                     PIN_PUPDR_FLOATING(GPIOC_OSC32_IN) |   \
681
                                     PIN_PUPDR_FLOATING(GPIOC_OSC32_OUT))
682
#define VAL_GPIOC_ODR               (PIN_ODR_HIGH(GPIOC_ARD_A5) |           \
683
                                     PIN_ODR_HIGH(GPIOC_ARD_A4) |           \
684
                                     PIN_ODR_HIGH(GPIOC_PIN2) |             \
685
                                     PIN_ODR_HIGH(GPIOC_PIN3) |             \
686
                                     PIN_ODR_HIGH(GPIOC_PIN4) |             \
687
                                     PIN_ODR_HIGH(GPIOC_PIN5) |             \
688
                                     PIN_ODR_HIGH(GPIOC_PIN6) |             \
689
                                     PIN_ODR_HIGH(GPIOC_ARD_D9) |           \
690
                                     PIN_ODR_HIGH(GPIOC_PIN8) |             \
691
                                     PIN_ODR_HIGH(GPIOC_PIN9) |             \
692
                                     PIN_ODR_HIGH(GPIOC_PIN10) |            \
693
                                     PIN_ODR_HIGH(GPIOC_PIN11) |            \
694
                                     PIN_ODR_HIGH(GPIOC_PIN12) |            \
695
                                     PIN_ODR_HIGH(GPIOC_BUTTON) |           \
696
                                     PIN_ODR_HIGH(GPIOC_OSC32_IN) |         \
697
                                     PIN_ODR_HIGH(GPIOC_OSC32_OUT))
698
#define VAL_GPIOC_AFRL              (PIN_AFIO_AF(GPIOC_ARD_A5, 0U) |        \
699
                                     PIN_AFIO_AF(GPIOC_ARD_A4, 0U) |        \
700
                                     PIN_AFIO_AF(GPIOC_PIN2, 0U) |          \
701
                                     PIN_AFIO_AF(GPIOC_PIN3, 0U) |          \
702
                                     PIN_AFIO_AF(GPIOC_PIN4, 0U) |          \
703
                                     PIN_AFIO_AF(GPIOC_PIN5, 0U) |          \
704
                                     PIN_AFIO_AF(GPIOC_PIN6, 0U) |          \
705
                                     PIN_AFIO_AF(GPIOC_ARD_D9, 0U))
706
#define VAL_GPIOC_AFRH              (PIN_AFIO_AF(GPIOC_PIN8, 0U) |          \
707
                                     PIN_AFIO_AF(GPIOC_PIN9, 0U) |          \
708
                                     PIN_AFIO_AF(GPIOC_PIN10, 0U) |         \
709
                                     PIN_AFIO_AF(GPIOC_PIN11, 0U) |         \
710
                                     PIN_AFIO_AF(GPIOC_PIN12, 0U) |         \
711
                                     PIN_AFIO_AF(GPIOC_BUTTON, 0U) |        \
712
                                     PIN_AFIO_AF(GPIOC_OSC32_IN, 0U) |      \
713
                                     PIN_AFIO_AF(GPIOC_OSC32_OUT, 0U))
714
#define VAL_GPIOC_ASCR              (PIN_ASCR_DISABLED(GPIOC_ARD_A5) |      \
715
                                     PIN_ASCR_DISABLED(GPIOC_ARD_A4) |      \
716
                                     PIN_ASCR_DISABLED(GPIOC_PIN2) |        \
717
                                     PIN_ASCR_DISABLED(GPIOC_PIN3) |        \
718
                                     PIN_ASCR_DISABLED(GPIOC_PIN4) |        \
719
                                     PIN_ASCR_DISABLED(GPIOC_PIN5) |        \
720
                                     PIN_ASCR_DISABLED(GPIOC_PIN6) |        \
721
                                     PIN_ASCR_DISABLED(GPIOC_ARD_D9) |      \
722
                                     PIN_ASCR_DISABLED(GPIOC_PIN8) |        \
723
                                     PIN_ASCR_DISABLED(GPIOC_PIN9) |        \
724
                                     PIN_ASCR_DISABLED(GPIOC_PIN10) |       \
725
                                     PIN_ASCR_DISABLED(GPIOC_PIN11) |       \
726
                                     PIN_ASCR_DISABLED(GPIOC_PIN12) |       \
727
                                     PIN_ASCR_DISABLED(GPIOC_BUTTON) |      \
728
                                     PIN_ASCR_DISABLED(GPIOC_OSC32_IN) |    \
729
                                     PIN_ASCR_DISABLED(GPIOC_OSC32_OUT))
730
#define VAL_GPIOC_LOCKR             (PIN_LOCKR_DISABLED(GPIOC_ARD_A5) |     \
731
                                     PIN_LOCKR_DISABLED(GPIOC_ARD_A4) |     \
732
                                     PIN_LOCKR_DISABLED(GPIOC_PIN2) |       \
733
                                     PIN_LOCKR_DISABLED(GPIOC_PIN3) |       \
734
                                     PIN_LOCKR_DISABLED(GPIOC_PIN4) |       \
735
                                     PIN_LOCKR_DISABLED(GPIOC_PIN5) |       \
736
                                     PIN_LOCKR_DISABLED(GPIOC_PIN6) |       \
737
                                     PIN_LOCKR_DISABLED(GPIOC_ARD_D9) |     \
738
                                     PIN_LOCKR_DISABLED(GPIOC_PIN8) |       \
739
                                     PIN_LOCKR_DISABLED(GPIOC_PIN9) |       \
740
                                     PIN_LOCKR_DISABLED(GPIOC_PIN10) |      \
741
                                     PIN_LOCKR_DISABLED(GPIOC_PIN11) |      \
742
                                     PIN_LOCKR_DISABLED(GPIOC_PIN12) |      \
743
                                     PIN_LOCKR_DISABLED(GPIOC_BUTTON) |     \
744
                                     PIN_LOCKR_DISABLED(GPIOC_OSC32_IN) |   \
745
                                     PIN_LOCKR_DISABLED(GPIOC_OSC32_OUT))
746

    
747
/*
748
 * GPIOD setup:
749
 *
750
 * PD0  - PIN0                      (analog).
751
 * PD1  - PIN1                      (analog).
752
 * PD2  - PIN2                      (analog).
753
 * PD3  - PIN3                      (analog).
754
 * PD4  - PIN4                      (analog).
755
 * PD5  - PIN5                      (analog).
756
 * PD6  - PIN6                      (analog).
757
 * PD7  - PIN7                      (analog).
758
 * PD8  - PIN8                      (analog).
759
 * PD9  - PIN9                      (analog).
760
 * PD10 - PIN10                     (analog).
761
 * PD11 - PIN11                     (analog).
762
 * PD12 - PIN12                     (analog).
763
 * PD13 - PIN13                     (analog).
764
 * PD14 - PIN14                     (analog).
765
 * PD15 - PIN15                     (analog).
766
 */
767
#define VAL_GPIOD_MODER             (PIN_MODE_ANALOG(GPIOD_PIN0) |          \
768
                                     PIN_MODE_ANALOG(GPIOD_PIN1) |          \
769
                                     PIN_MODE_ANALOG(GPIOD_PIN2) |          \
770
                                     PIN_MODE_ANALOG(GPIOD_PIN3) |          \
771
                                     PIN_MODE_ANALOG(GPIOD_PIN4) |          \
772
                                     PIN_MODE_ANALOG(GPIOD_PIN5) |          \
773
                                     PIN_MODE_ANALOG(GPIOD_PIN6) |          \
774
                                     PIN_MODE_ANALOG(GPIOD_PIN7) |          \
775
                                     PIN_MODE_ANALOG(GPIOD_PIN8) |          \
776
                                     PIN_MODE_ANALOG(GPIOD_PIN9) |          \
777
                                     PIN_MODE_ANALOG(GPIOD_PIN10) |         \
778
                                     PIN_MODE_ANALOG(GPIOD_PIN11) |         \
779
                                     PIN_MODE_ANALOG(GPIOD_PIN12) |         \
780
                                     PIN_MODE_ANALOG(GPIOD_PIN13) |         \
781
                                     PIN_MODE_ANALOG(GPIOD_PIN14) |         \
782
                                     PIN_MODE_ANALOG(GPIOD_PIN15))
783
#define VAL_GPIOD_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOD_PIN0) |       \
784
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN1) |       \
785
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN2) |       \
786
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN3) |       \
787
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN4) |       \
788
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN5) |       \
789
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN6) |       \
790
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN7) |       \
791
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN8) |       \
792
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN9) |       \
793
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN10) |      \
794
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN11) |      \
795
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN12) |      \
796
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN13) |      \
797
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN14) |      \
798
                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN15))
799
#define VAL_GPIOD_OSPEEDR           (PIN_OSPEED_HIGH(GPIOD_PIN0) |          \
800
                                     PIN_OSPEED_HIGH(GPIOD_PIN1) |          \
801
                                     PIN_OSPEED_HIGH(GPIOD_PIN2) |          \
802
                                     PIN_OSPEED_HIGH(GPIOD_PIN3) |          \
803
                                     PIN_OSPEED_HIGH(GPIOD_PIN4) |          \
804
                                     PIN_OSPEED_HIGH(GPIOD_PIN5) |          \
805
                                     PIN_OSPEED_HIGH(GPIOD_PIN6) |          \
806
                                     PIN_OSPEED_HIGH(GPIOD_PIN7) |          \
807
                                     PIN_OSPEED_HIGH(GPIOD_PIN8) |          \
808
                                     PIN_OSPEED_HIGH(GPIOD_PIN9) |          \
809
                                     PIN_OSPEED_HIGH(GPIOD_PIN10) |         \
810
                                     PIN_OSPEED_HIGH(GPIOD_PIN11) |         \
811
                                     PIN_OSPEED_HIGH(GPIOD_PIN12) |         \
812
                                     PIN_OSPEED_HIGH(GPIOD_PIN13) |         \
813
                                     PIN_OSPEED_HIGH(GPIOD_PIN14) |         \
814
                                     PIN_OSPEED_HIGH(GPIOD_PIN15))
815
#define VAL_GPIOD_PUPDR             (PIN_PUPDR_FLOATING(GPIOD_PIN0) |       \
816
                                     PIN_PUPDR_FLOATING(GPIOD_PIN1) |       \
817
                                     PIN_PUPDR_FLOATING(GPIOD_PIN2) |       \
818
                                     PIN_PUPDR_FLOATING(GPIOD_PIN3) |       \
819
                                     PIN_PUPDR_FLOATING(GPIOD_PIN4) |       \
820
                                     PIN_PUPDR_FLOATING(GPIOD_PIN5) |       \
821
                                     PIN_PUPDR_FLOATING(GPIOD_PIN6) |       \
822
                                     PIN_PUPDR_FLOATING(GPIOD_PIN7) |       \
823
                                     PIN_PUPDR_FLOATING(GPIOD_PIN8) |       \
824
                                     PIN_PUPDR_FLOATING(GPIOD_PIN9) |       \
825
                                     PIN_PUPDR_FLOATING(GPIOD_PIN10) |      \
826
                                     PIN_PUPDR_FLOATING(GPIOD_PIN11) |      \
827
                                     PIN_PUPDR_FLOATING(GPIOD_PIN12) |      \
828
                                     PIN_PUPDR_FLOATING(GPIOD_PIN13) |      \
829
                                     PIN_PUPDR_FLOATING(GPIOD_PIN14) |      \
830
                                     PIN_PUPDR_FLOATING(GPIOD_PIN15))
831
#define VAL_GPIOD_ODR               (PIN_ODR_HIGH(GPIOD_PIN0) |             \
832
                                     PIN_ODR_HIGH(GPIOD_PIN1) |             \
833
                                     PIN_ODR_HIGH(GPIOD_PIN2) |             \
834
                                     PIN_ODR_HIGH(GPIOD_PIN3) |             \
835
                                     PIN_ODR_HIGH(GPIOD_PIN4) |             \
836
                                     PIN_ODR_HIGH(GPIOD_PIN5) |             \
837
                                     PIN_ODR_HIGH(GPIOD_PIN6) |             \
838
                                     PIN_ODR_HIGH(GPIOD_PIN7) |             \
839
                                     PIN_ODR_HIGH(GPIOD_PIN8) |             \
840
                                     PIN_ODR_HIGH(GPIOD_PIN9) |             \
841
                                     PIN_ODR_HIGH(GPIOD_PIN10) |            \
842
                                     PIN_ODR_HIGH(GPIOD_PIN11) |            \
843
                                     PIN_ODR_HIGH(GPIOD_PIN12) |            \
844
                                     PIN_ODR_HIGH(GPIOD_PIN13) |            \
845
                                     PIN_ODR_HIGH(GPIOD_PIN14) |            \
846
                                     PIN_ODR_HIGH(GPIOD_PIN15))
847
#define VAL_GPIOD_AFRL              (PIN_AFIO_AF(GPIOD_PIN0, 0U) |          \
848
                                     PIN_AFIO_AF(GPIOD_PIN1, 0U) |          \
849
                                     PIN_AFIO_AF(GPIOD_PIN2, 0U) |          \
850
                                     PIN_AFIO_AF(GPIOD_PIN3, 0U) |          \
851
                                     PIN_AFIO_AF(GPIOD_PIN4, 0U) |          \
852
                                     PIN_AFIO_AF(GPIOD_PIN5, 0U) |          \
853
                                     PIN_AFIO_AF(GPIOD_PIN6, 0U) |          \
854
                                     PIN_AFIO_AF(GPIOD_PIN7, 0U))
855
#define VAL_GPIOD_AFRH              (PIN_AFIO_AF(GPIOD_PIN8, 0U) |          \
856
                                     PIN_AFIO_AF(GPIOD_PIN9, 0U) |          \
857
                                     PIN_AFIO_AF(GPIOD_PIN10, 0U) |         \
858
                                     PIN_AFIO_AF(GPIOD_PIN11, 0U) |         \
859
                                     PIN_AFIO_AF(GPIOD_PIN12, 0U) |         \
860
                                     PIN_AFIO_AF(GPIOD_PIN13, 0U) |         \
861
                                     PIN_AFIO_AF(GPIOD_PIN14, 0U) |         \
862
                                     PIN_AFIO_AF(GPIOD_PIN15, 0U))
863
#define VAL_GPIOD_ASCR              (PIN_ASCR_DISABLED(GPIOD_PIN0) |        \
864
                                     PIN_ASCR_DISABLED(GPIOD_PIN1) |        \
865
                                     PIN_ASCR_DISABLED(GPIOD_PIN2) |        \
866
                                     PIN_ASCR_DISABLED(GPIOD_PIN3) |        \
867
                                     PIN_ASCR_DISABLED(GPIOD_PIN4) |        \
868
                                     PIN_ASCR_DISABLED(GPIOD_PIN5) |        \
869
                                     PIN_ASCR_DISABLED(GPIOD_PIN6) |        \
870
                                     PIN_ASCR_DISABLED(GPIOD_PIN7) |        \
871
                                     PIN_ASCR_DISABLED(GPIOD_PIN8) |        \
872
                                     PIN_ASCR_DISABLED(GPIOD_PIN9) |        \
873
                                     PIN_ASCR_DISABLED(GPIOD_PIN10) |       \
874
                                     PIN_ASCR_DISABLED(GPIOD_PIN11) |       \
875
                                     PIN_ASCR_DISABLED(GPIOD_PIN12) |       \
876
                                     PIN_ASCR_DISABLED(GPIOD_PIN13) |       \
877
                                     PIN_ASCR_DISABLED(GPIOD_PIN14) |       \
878
                                     PIN_ASCR_DISABLED(GPIOD_PIN15))
879
#define VAL_GPIOD_LOCKR             (PIN_LOCKR_DISABLED(GPIOD_PIN0) |       \
880
                                     PIN_LOCKR_DISABLED(GPIOD_PIN1) |       \
881
                                     PIN_LOCKR_DISABLED(GPIOD_PIN2) |       \
882
                                     PIN_LOCKR_DISABLED(GPIOD_PIN3) |       \
883
                                     PIN_LOCKR_DISABLED(GPIOD_PIN4) |       \
884
                                     PIN_LOCKR_DISABLED(GPIOD_PIN5) |       \
885
                                     PIN_LOCKR_DISABLED(GPIOD_PIN6) |       \
886
                                     PIN_LOCKR_DISABLED(GPIOD_PIN7) |       \
887
                                     PIN_LOCKR_DISABLED(GPIOD_PIN8) |       \
888
                                     PIN_LOCKR_DISABLED(GPIOD_PIN9) |       \
889
                                     PIN_LOCKR_DISABLED(GPIOD_PIN10) |      \
890
                                     PIN_LOCKR_DISABLED(GPIOD_PIN11) |      \
891
                                     PIN_LOCKR_DISABLED(GPIOD_PIN12) |      \
892
                                     PIN_LOCKR_DISABLED(GPIOD_PIN13) |      \
893
                                     PIN_LOCKR_DISABLED(GPIOD_PIN14) |      \
894
                                     PIN_LOCKR_DISABLED(GPIOD_PIN15))
895

    
896
/*
897
 * GPIOE setup:
898
 *
899
 * PE0  - PIN0                      (analog).
900
 * PE1  - PIN1                      (analog).
901
 * PE2  - PIN2                      (analog).
902
 * PE3  - PIN3                      (analog).
903
 * PE4  - PIN4                      (analog).
904
 * PE5  - PIN5                      (analog).
905
 * PE6  - PIN6                      (analog).
906
 * PE7  - PIN7                      (analog).
907
 * PE8  - PIN8                      (analog).
908
 * PE9  - PIN9                      (analog).
909
 * PE10 - PIN10                     (analog).
910
 * PE11 - PIN11                     (analog).
911
 * PE12 - PIN12                     (analog).
912
 * PE13 - PIN13                     (analog).
913
 * PE14 - PIN14                     (analog).
914
 * PE15 - PIN15                     (analog).
915
 */
916
#define VAL_GPIOE_MODER             (PIN_MODE_ANALOG(GPIOE_PIN0) |          \
917
                                     PIN_MODE_ANALOG(GPIOE_PIN1) |          \
918
                                     PIN_MODE_ANALOG(GPIOE_PIN2) |          \
919
                                     PIN_MODE_ANALOG(GPIOE_PIN3) |          \
920
                                     PIN_MODE_ANALOG(GPIOE_PIN4) |          \
921
                                     PIN_MODE_ANALOG(GPIOE_PIN5) |          \
922
                                     PIN_MODE_ANALOG(GPIOE_PIN6) |          \
923
                                     PIN_MODE_ANALOG(GPIOE_PIN7) |          \
924
                                     PIN_MODE_ANALOG(GPIOE_PIN8) |          \
925
                                     PIN_MODE_ANALOG(GPIOE_PIN9) |          \
926
                                     PIN_MODE_ANALOG(GPIOE_PIN10) |         \
927
                                     PIN_MODE_ANALOG(GPIOE_PIN11) |         \
928
                                     PIN_MODE_ANALOG(GPIOE_PIN12) |         \
929
                                     PIN_MODE_ANALOG(GPIOE_PIN13) |         \
930
                                     PIN_MODE_ANALOG(GPIOE_PIN14) |         \
931
                                     PIN_MODE_ANALOG(GPIOE_PIN15))
932
#define VAL_GPIOE_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOE_PIN0) |       \
933
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN1) |       \
934
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN2) |       \
935
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN3) |       \
936
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN4) |       \
937
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN5) |       \
938
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN6) |       \
939
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN7) |       \
940
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN8) |       \
941
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN9) |       \
942
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN10) |      \
943
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN11) |      \
944
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN12) |      \
945
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN13) |      \
946
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN14) |      \
947
                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN15))
948
#define VAL_GPIOE_OSPEEDR           (PIN_OSPEED_HIGH(GPIOE_PIN0) |          \
949
                                     PIN_OSPEED_HIGH(GPIOE_PIN1) |          \
950
                                     PIN_OSPEED_HIGH(GPIOE_PIN2) |          \
951
                                     PIN_OSPEED_HIGH(GPIOE_PIN3) |          \
952
                                     PIN_OSPEED_HIGH(GPIOE_PIN4) |          \
953
                                     PIN_OSPEED_HIGH(GPIOE_PIN5) |          \
954
                                     PIN_OSPEED_HIGH(GPIOE_PIN6) |          \
955
                                     PIN_OSPEED_HIGH(GPIOE_PIN7) |          \
956
                                     PIN_OSPEED_HIGH(GPIOE_PIN8) |          \
957
                                     PIN_OSPEED_HIGH(GPIOE_PIN9) |          \
958
                                     PIN_OSPEED_HIGH(GPIOE_PIN10) |         \
959
                                     PIN_OSPEED_HIGH(GPIOE_PIN11) |         \
960
                                     PIN_OSPEED_HIGH(GPIOE_PIN12) |         \
961
                                     PIN_OSPEED_HIGH(GPIOE_PIN13) |         \
962
                                     PIN_OSPEED_HIGH(GPIOE_PIN14) |         \
963
                                     PIN_OSPEED_HIGH(GPIOE_PIN15))
964
#define VAL_GPIOE_PUPDR             (PIN_PUPDR_FLOATING(GPIOE_PIN0) |       \
965
                                     PIN_PUPDR_FLOATING(GPIOE_PIN1) |       \
966
                                     PIN_PUPDR_FLOATING(GPIOE_PIN2) |       \
967
                                     PIN_PUPDR_FLOATING(GPIOE_PIN3) |       \
968
                                     PIN_PUPDR_FLOATING(GPIOE_PIN4) |       \
969
                                     PIN_PUPDR_FLOATING(GPIOE_PIN5) |       \
970
                                     PIN_PUPDR_FLOATING(GPIOE_PIN6) |       \
971
                                     PIN_PUPDR_FLOATING(GPIOE_PIN7) |       \
972
                                     PIN_PUPDR_FLOATING(GPIOE_PIN8) |       \
973
                                     PIN_PUPDR_FLOATING(GPIOE_PIN9) |       \
974
                                     PIN_PUPDR_FLOATING(GPIOE_PIN10) |      \
975
                                     PIN_PUPDR_FLOATING(GPIOE_PIN11) |      \
976
                                     PIN_PUPDR_FLOATING(GPIOE_PIN12) |      \
977
                                     PIN_PUPDR_FLOATING(GPIOE_PIN13) |      \
978
                                     PIN_PUPDR_FLOATING(GPIOE_PIN14) |      \
979
                                     PIN_PUPDR_FLOATING(GPIOE_PIN15))
980
#define VAL_GPIOE_ODR               (PIN_ODR_HIGH(GPIOE_PIN0) |             \
981
                                     PIN_ODR_HIGH(GPIOE_PIN1) |             \
982
                                     PIN_ODR_HIGH(GPIOE_PIN2) |             \
983
                                     PIN_ODR_HIGH(GPIOE_PIN3) |             \
984
                                     PIN_ODR_HIGH(GPIOE_PIN4) |             \
985
                                     PIN_ODR_HIGH(GPIOE_PIN5) |             \
986
                                     PIN_ODR_HIGH(GPIOE_PIN6) |             \
987
                                     PIN_ODR_HIGH(GPIOE_PIN7) |             \
988
                                     PIN_ODR_HIGH(GPIOE_PIN8) |             \
989
                                     PIN_ODR_HIGH(GPIOE_PIN9) |             \
990
                                     PIN_ODR_HIGH(GPIOE_PIN10) |            \
991
                                     PIN_ODR_HIGH(GPIOE_PIN11) |            \
992
                                     PIN_ODR_HIGH(GPIOE_PIN12) |            \
993
                                     PIN_ODR_HIGH(GPIOE_PIN13) |            \
994
                                     PIN_ODR_HIGH(GPIOE_PIN14) |            \
995
                                     PIN_ODR_HIGH(GPIOE_PIN15))
996
#define VAL_GPIOE_AFRL              (PIN_AFIO_AF(GPIOE_PIN0, 0U) |          \
997
                                     PIN_AFIO_AF(GPIOE_PIN1, 0U) |          \
998
                                     PIN_AFIO_AF(GPIOE_PIN2, 0U) |          \
999
                                     PIN_AFIO_AF(GPIOE_PIN3, 0U) |          \
1000
                                     PIN_AFIO_AF(GPIOE_PIN4, 0U) |          \
1001
                                     PIN_AFIO_AF(GPIOE_PIN5, 0U) |          \
1002
                                     PIN_AFIO_AF(GPIOE_PIN6, 0U) |          \
1003
                                     PIN_AFIO_AF(GPIOE_PIN7, 0U))
1004
#define VAL_GPIOE_AFRH              (PIN_AFIO_AF(GPIOE_PIN8, 0U) |          \
1005
                                     PIN_AFIO_AF(GPIOE_PIN9, 0U) |          \
1006
                                     PIN_AFIO_AF(GPIOE_PIN10, 0U) |         \
1007
                                     PIN_AFIO_AF(GPIOE_PIN11, 0U) |         \
1008
                                     PIN_AFIO_AF(GPIOE_PIN12, 0U) |         \
1009
                                     PIN_AFIO_AF(GPIOE_PIN13, 0U) |         \
1010
                                     PIN_AFIO_AF(GPIOE_PIN14, 0U) |         \
1011
                                     PIN_AFIO_AF(GPIOE_PIN15, 0U))
1012
#define VAL_GPIOE_ASCR              (PIN_ASCR_DISABLED(GPIOE_PIN0) |        \
1013
                                     PIN_ASCR_DISABLED(GPIOE_PIN1) |        \
1014
                                     PIN_ASCR_DISABLED(GPIOE_PIN2) |        \
1015
                                     PIN_ASCR_DISABLED(GPIOE_PIN3) |        \
1016
                                     PIN_ASCR_DISABLED(GPIOE_PIN4) |        \
1017
                                     PIN_ASCR_DISABLED(GPIOE_PIN5) |        \
1018
                                     PIN_ASCR_DISABLED(GPIOE_PIN6) |        \
1019
                                     PIN_ASCR_DISABLED(GPIOE_PIN7) |        \
1020
                                     PIN_ASCR_DISABLED(GPIOE_PIN8) |        \
1021
                                     PIN_ASCR_DISABLED(GPIOE_PIN9) |        \
1022
                                     PIN_ASCR_DISABLED(GPIOE_PIN10) |       \
1023
                                     PIN_ASCR_DISABLED(GPIOE_PIN11) |       \
1024
                                     PIN_ASCR_DISABLED(GPIOE_PIN12) |       \
1025
                                     PIN_ASCR_DISABLED(GPIOE_PIN13) |       \
1026
                                     PIN_ASCR_DISABLED(GPIOE_PIN14) |       \
1027
                                     PIN_ASCR_DISABLED(GPIOE_PIN15))
1028
#define VAL_GPIOE_LOCKR             (PIN_LOCKR_DISABLED(GPIOE_PIN0) |       \
1029
                                     PIN_LOCKR_DISABLED(GPIOE_PIN1) |       \
1030
                                     PIN_LOCKR_DISABLED(GPIOE_PIN2) |       \
1031
                                     PIN_LOCKR_DISABLED(GPIOE_PIN3) |       \
1032
                                     PIN_LOCKR_DISABLED(GPIOE_PIN4) |       \
1033
                                     PIN_LOCKR_DISABLED(GPIOE_PIN5) |       \
1034
                                     PIN_LOCKR_DISABLED(GPIOE_PIN6) |       \
1035
                                     PIN_LOCKR_DISABLED(GPIOE_PIN7) |       \
1036
                                     PIN_LOCKR_DISABLED(GPIOE_PIN8) |       \
1037
                                     PIN_LOCKR_DISABLED(GPIOE_PIN9) |       \
1038
                                     PIN_LOCKR_DISABLED(GPIOE_PIN10) |      \
1039
                                     PIN_LOCKR_DISABLED(GPIOE_PIN11) |      \
1040
                                     PIN_LOCKR_DISABLED(GPIOE_PIN12) |      \
1041
                                     PIN_LOCKR_DISABLED(GPIOE_PIN13) |      \
1042
                                     PIN_LOCKR_DISABLED(GPIOE_PIN14) |      \
1043
                                     PIN_LOCKR_DISABLED(GPIOE_PIN15))
1044

    
1045
/*
1046
 * GPIOF setup:
1047
 *
1048
 * PF0  - PIN0                      (analog).
1049
 * PF1  - PIN1                      (analog).
1050
 * PF2  - PIN2                      (analog).
1051
 * PF3  - PIN3                      (analog).
1052
 * PF4  - PIN4                      (analog).
1053
 * PF5  - PIN5                      (analog).
1054
 * PF6  - PIN6                      (analog).
1055
 * PF7  - PIN7                      (analog).
1056
 * PF8  - PIN8                      (analog).
1057
 * PF9  - PIN9                      (analog).
1058
 * PF10 - PIN10                     (analog).
1059
 * PF11 - PIN11                     (analog).
1060
 * PF12 - PIN12                     (analog).
1061
 * PF13 - PIN13                     (analog).
1062
 * PF14 - PIN14                     (analog).
1063
 * PF15 - PIN15                     (analog).
1064
 */
1065
#define VAL_GPIOF_MODER             (PIN_MODE_ANALOG(GPIOF_PIN0) |          \
1066
                                     PIN_MODE_ANALOG(GPIOF_PIN1) |          \
1067
                                     PIN_MODE_ANALOG(GPIOF_PIN2) |          \
1068
                                     PIN_MODE_ANALOG(GPIOF_PIN3) |          \
1069
                                     PIN_MODE_ANALOG(GPIOF_PIN4) |          \
1070
                                     PIN_MODE_ANALOG(GPIOF_PIN5) |          \
1071
                                     PIN_MODE_ANALOG(GPIOF_PIN6) |          \
1072
                                     PIN_MODE_ANALOG(GPIOF_PIN7) |          \
1073
                                     PIN_MODE_ANALOG(GPIOF_PIN8) |          \
1074
                                     PIN_MODE_ANALOG(GPIOF_PIN9) |          \
1075
                                     PIN_MODE_ANALOG(GPIOF_PIN10) |         \
1076
                                     PIN_MODE_ANALOG(GPIOF_PIN11) |         \
1077
                                     PIN_MODE_ANALOG(GPIOF_PIN12) |         \
1078
                                     PIN_MODE_ANALOG(GPIOF_PIN13) |         \
1079
                                     PIN_MODE_ANALOG(GPIOF_PIN14) |         \
1080
                                     PIN_MODE_ANALOG(GPIOF_PIN15))
1081
#define VAL_GPIOF_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOF_PIN0) |       \
1082
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN1) |       \
1083
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN2) |       \
1084
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN3) |       \
1085
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN4) |       \
1086
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN5) |       \
1087
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN6) |       \
1088
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN7) |       \
1089
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN8) |       \
1090
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN9) |       \
1091
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN10) |      \
1092
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN11) |      \
1093
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN12) |      \
1094
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN13) |      \
1095
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN14) |      \
1096
                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN15))
1097
#define VAL_GPIOF_OSPEEDR           (PIN_OSPEED_HIGH(GPIOF_PIN0) |          \
1098
                                     PIN_OSPEED_HIGH(GPIOF_PIN1) |          \
1099
                                     PIN_OSPEED_HIGH(GPIOF_PIN2) |          \
1100
                                     PIN_OSPEED_HIGH(GPIOF_PIN3) |          \
1101
                                     PIN_OSPEED_HIGH(GPIOF_PIN4) |          \
1102
                                     PIN_OSPEED_HIGH(GPIOF_PIN5) |          \
1103
                                     PIN_OSPEED_HIGH(GPIOF_PIN6) |          \
1104
                                     PIN_OSPEED_HIGH(GPIOF_PIN7) |          \
1105
                                     PIN_OSPEED_HIGH(GPIOF_PIN8) |          \
1106
                                     PIN_OSPEED_HIGH(GPIOF_PIN9) |          \
1107
                                     PIN_OSPEED_HIGH(GPIOF_PIN10) |         \
1108
                                     PIN_OSPEED_HIGH(GPIOF_PIN11) |         \
1109
                                     PIN_OSPEED_HIGH(GPIOF_PIN12) |         \
1110
                                     PIN_OSPEED_HIGH(GPIOF_PIN13) |         \
1111
                                     PIN_OSPEED_HIGH(GPIOF_PIN14) |         \
1112
                                     PIN_OSPEED_HIGH(GPIOF_PIN15))
1113
#define VAL_GPIOF_PUPDR             (PIN_PUPDR_FLOATING(GPIOF_PIN0) |       \
1114
                                     PIN_PUPDR_FLOATING(GPIOF_PIN1) |       \
1115
                                     PIN_PUPDR_FLOATING(GPIOF_PIN2) |       \
1116
                                     PIN_PUPDR_FLOATING(GPIOF_PIN3) |       \
1117
                                     PIN_PUPDR_FLOATING(GPIOF_PIN4) |       \
1118
                                     PIN_PUPDR_FLOATING(GPIOF_PIN5) |       \
1119
                                     PIN_PUPDR_FLOATING(GPIOF_PIN6) |       \
1120
                                     PIN_PUPDR_FLOATING(GPIOF_PIN7) |       \
1121
                                     PIN_PUPDR_FLOATING(GPIOF_PIN8) |       \
1122
                                     PIN_PUPDR_FLOATING(GPIOF_PIN9) |       \
1123
                                     PIN_PUPDR_FLOATING(GPIOF_PIN10) |      \
1124
                                     PIN_PUPDR_FLOATING(GPIOF_PIN11) |      \
1125
                                     PIN_PUPDR_FLOATING(GPIOF_PIN12) |      \
1126
                                     PIN_PUPDR_FLOATING(GPIOF_PIN13) |      \
1127
                                     PIN_PUPDR_FLOATING(GPIOF_PIN14) |      \
1128
                                     PIN_PUPDR_FLOATING(GPIOF_PIN15))
1129
#define VAL_GPIOF_ODR               (PIN_ODR_HIGH(GPIOF_PIN0) |             \
1130
                                     PIN_ODR_HIGH(GPIOF_PIN1) |             \
1131
                                     PIN_ODR_HIGH(GPIOF_PIN2) |             \
1132
                                     PIN_ODR_HIGH(GPIOF_PIN3) |             \
1133
                                     PIN_ODR_HIGH(GPIOF_PIN4) |             \
1134
                                     PIN_ODR_HIGH(GPIOF_PIN5) |             \
1135
                                     PIN_ODR_HIGH(GPIOF_PIN6) |             \
1136
                                     PIN_ODR_HIGH(GPIOF_PIN7) |             \
1137
                                     PIN_ODR_HIGH(GPIOF_PIN8) |             \
1138
                                     PIN_ODR_HIGH(GPIOF_PIN9) |             \
1139
                                     PIN_ODR_HIGH(GPIOF_PIN10) |            \
1140
                                     PIN_ODR_HIGH(GPIOF_PIN11) |            \
1141
                                     PIN_ODR_HIGH(GPIOF_PIN12) |            \
1142
                                     PIN_ODR_HIGH(GPIOF_PIN13) |            \
1143
                                     PIN_ODR_HIGH(GPIOF_PIN14) |            \
1144
                                     PIN_ODR_HIGH(GPIOF_PIN15))
1145
#define VAL_GPIOF_AFRL              (PIN_AFIO_AF(GPIOF_PIN0, 0U) |          \
1146
                                     PIN_AFIO_AF(GPIOF_PIN1, 0U) |          \
1147
                                     PIN_AFIO_AF(GPIOF_PIN2, 0U) |          \
1148
                                     PIN_AFIO_AF(GPIOF_PIN3, 0U) |          \
1149
                                     PIN_AFIO_AF(GPIOF_PIN4, 0U) |          \
1150
                                     PIN_AFIO_AF(GPIOF_PIN5, 0U) |          \
1151
                                     PIN_AFIO_AF(GPIOF_PIN6, 0U) |          \
1152
                                     PIN_AFIO_AF(GPIOF_PIN7, 0U))
1153
#define VAL_GPIOF_AFRH              (PIN_AFIO_AF(GPIOF_PIN8, 0U) |          \
1154
                                     PIN_AFIO_AF(GPIOF_PIN9, 0U) |          \
1155
                                     PIN_AFIO_AF(GPIOF_PIN10, 0U) |         \
1156
                                     PIN_AFIO_AF(GPIOF_PIN11, 0U) |         \
1157
                                     PIN_AFIO_AF(GPIOF_PIN12, 0U) |         \
1158
                                     PIN_AFIO_AF(GPIOF_PIN13, 0U) |         \
1159
                                     PIN_AFIO_AF(GPIOF_PIN14, 0U) |         \
1160
                                     PIN_AFIO_AF(GPIOF_PIN15, 0U))
1161
#define VAL_GPIOF_ASCR              (PIN_ASCR_DISABLED(GPIOF_PIN0) |        \
1162
                                     PIN_ASCR_DISABLED(GPIOF_PIN1) |        \
1163
                                     PIN_ASCR_DISABLED(GPIOF_PIN2) |        \
1164
                                     PIN_ASCR_DISABLED(GPIOF_PIN3) |        \
1165
                                     PIN_ASCR_DISABLED(GPIOF_PIN4) |        \
1166
                                     PIN_ASCR_DISABLED(GPIOF_PIN5) |        \
1167
                                     PIN_ASCR_DISABLED(GPIOF_PIN6) |        \
1168
                                     PIN_ASCR_DISABLED(GPIOF_PIN7) |        \
1169
                                     PIN_ASCR_DISABLED(GPIOF_PIN8) |        \
1170
                                     PIN_ASCR_DISABLED(GPIOF_PIN9) |        \
1171
                                     PIN_ASCR_DISABLED(GPIOF_PIN10) |       \
1172
                                     PIN_ASCR_DISABLED(GPIOF_PIN11) |       \
1173
                                     PIN_ASCR_DISABLED(GPIOF_PIN12) |       \
1174
                                     PIN_ASCR_DISABLED(GPIOF_PIN13) |       \
1175
                                     PIN_ASCR_DISABLED(GPIOF_PIN14) |       \
1176
                                     PIN_ASCR_DISABLED(GPIOF_PIN15))
1177
#define VAL_GPIOF_LOCKR             (PIN_LOCKR_DISABLED(GPIOF_PIN0) |       \
1178
                                     PIN_LOCKR_DISABLED(GPIOF_PIN1) |       \
1179
                                     PIN_LOCKR_DISABLED(GPIOF_PIN2) |       \
1180
                                     PIN_LOCKR_DISABLED(GPIOF_PIN3) |       \
1181
                                     PIN_LOCKR_DISABLED(GPIOF_PIN4) |       \
1182
                                     PIN_LOCKR_DISABLED(GPIOF_PIN5) |       \
1183
                                     PIN_LOCKR_DISABLED(GPIOF_PIN6) |       \
1184
                                     PIN_LOCKR_DISABLED(GPIOF_PIN7) |       \
1185
                                     PIN_LOCKR_DISABLED(GPIOF_PIN8) |       \
1186
                                     PIN_LOCKR_DISABLED(GPIOF_PIN9) |       \
1187
                                     PIN_LOCKR_DISABLED(GPIOF_PIN10) |      \
1188
                                     PIN_LOCKR_DISABLED(GPIOF_PIN11) |      \
1189
                                     PIN_LOCKR_DISABLED(GPIOF_PIN12) |      \
1190
                                     PIN_LOCKR_DISABLED(GPIOF_PIN13) |      \
1191
                                     PIN_LOCKR_DISABLED(GPIOF_PIN14) |      \
1192
                                     PIN_LOCKR_DISABLED(GPIOF_PIN15))
1193

    
1194
/*
1195
 * GPIOG setup:
1196
 *
1197
 * PG0  - PIN0                      (analog).
1198
 * PG1  - PIN1                      (analog).
1199
 * PG2  - PIN2                      (analog).
1200
 * PG3  - PIN3                      (analog).
1201
 * PG4  - PIN4                      (analog).
1202
 * PG5  - PIN5                      (analog).
1203
 * PG6  - PIN6                      (analog).
1204
 * PG7  - PIN7                      (analog).
1205
 * PG8  - PIN8                      (analog).
1206
 * PG9  - PIN9                      (analog).
1207
 * PG10 - PIN10                     (analog).
1208
 * PG11 - PIN11                     (analog).
1209
 * PG12 - PIN12                     (analog).
1210
 * PG13 - PIN13                     (analog).
1211
 * PG14 - PIN14                     (analog).
1212
 * PG15 - PIN15                     (analog).
1213
 */
1214
#define VAL_GPIOG_MODER             (PIN_MODE_ANALOG(GPIOG_PIN0) |          \
1215
                                     PIN_MODE_ANALOG(GPIOG_PIN1) |          \
1216
                                     PIN_MODE_ANALOG(GPIOG_PIN2) |          \
1217
                                     PIN_MODE_ANALOG(GPIOG_PIN3) |          \
1218
                                     PIN_MODE_ANALOG(GPIOG_PIN4) |          \
1219
                                     PIN_MODE_ANALOG(GPIOG_PIN5) |          \
1220
                                     PIN_MODE_ANALOG(GPIOG_PIN6) |          \
1221
                                     PIN_MODE_ANALOG(GPIOG_PIN7) |          \
1222
                                     PIN_MODE_ANALOG(GPIOG_PIN8) |          \
1223
                                     PIN_MODE_ANALOG(GPIOG_PIN9) |          \
1224
                                     PIN_MODE_ANALOG(GPIOG_PIN10) |         \
1225
                                     PIN_MODE_ANALOG(GPIOG_PIN11) |         \
1226
                                     PIN_MODE_ANALOG(GPIOG_PIN12) |         \
1227
                                     PIN_MODE_ANALOG(GPIOG_PIN13) |         \
1228
                                     PIN_MODE_ANALOG(GPIOG_PIN14) |         \
1229
                                     PIN_MODE_ANALOG(GPIOG_PIN15))
1230
#define VAL_GPIOG_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOG_PIN0) |       \
1231
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN1) |       \
1232
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN2) |       \
1233
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN3) |       \
1234
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN4) |       \
1235
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN5) |       \
1236
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN6) |       \
1237
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN7) |       \
1238
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN8) |       \
1239
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN9) |       \
1240
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN10) |      \
1241
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN11) |      \
1242
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN12) |      \
1243
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN13) |      \
1244
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN14) |      \
1245
                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN15))
1246
#define VAL_GPIOG_OSPEEDR           (PIN_OSPEED_VERYLOW(GPIOG_PIN0) |       \
1247
                                     PIN_OSPEED_VERYLOW(GPIOG_PIN1) |       \
1248
                                     PIN_OSPEED_VERYLOW(GPIOG_PIN2) |       \
1249
                                     PIN_OSPEED_VERYLOW(GPIOG_PIN3) |       \
1250
                                     PIN_OSPEED_VERYLOW(GPIOG_PIN4) |       \
1251
                                     PIN_OSPEED_VERYLOW(GPIOG_PIN5) |       \
1252
                                     PIN_OSPEED_VERYLOW(GPIOG_PIN6) |       \
1253
                                     PIN_OSPEED_VERYLOW(GPIOG_PIN7) |       \
1254
                                     PIN_OSPEED_VERYLOW(GPIOG_PIN8) |       \
1255
                                     PIN_OSPEED_VERYLOW(GPIOG_PIN9) |       \
1256
                                     PIN_OSPEED_VERYLOW(GPIOG_PIN10) |      \
1257
                                     PIN_OSPEED_VERYLOW(GPIOG_PIN11) |      \
1258
                                     PIN_OSPEED_VERYLOW(GPIOG_PIN12) |      \
1259
                                     PIN_OSPEED_VERYLOW(GPIOG_PIN13) |      \
1260
                                     PIN_OSPEED_VERYLOW(GPIOG_PIN14) |      \
1261
                                     PIN_OSPEED_VERYLOW(GPIOG_PIN15))
1262
#define VAL_GPIOG_PUPDR             (PIN_PUPDR_FLOATING(GPIOG_PIN0) |       \
1263
                                     PIN_PUPDR_FLOATING(GPIOG_PIN1) |       \
1264
                                     PIN_PUPDR_FLOATING(GPIOG_PIN2) |       \
1265
                                     PIN_PUPDR_FLOATING(GPIOG_PIN3) |       \
1266
                                     PIN_PUPDR_FLOATING(GPIOG_PIN4) |       \
1267
                                     PIN_PUPDR_FLOATING(GPIOG_PIN5) |       \
1268
                                     PIN_PUPDR_FLOATING(GPIOG_PIN6) |       \
1269
                                     PIN_PUPDR_FLOATING(GPIOG_PIN7) |       \
1270
                                     PIN_PUPDR_FLOATING(GPIOG_PIN8) |       \
1271
                                     PIN_PUPDR_FLOATING(GPIOG_PIN9) |       \
1272
                                     PIN_PUPDR_FLOATING(GPIOG_PIN10) |      \
1273
                                     PIN_PUPDR_FLOATING(GPIOG_PIN11) |      \
1274
                                     PIN_PUPDR_FLOATING(GPIOG_PIN12) |      \
1275
                                     PIN_PUPDR_FLOATING(GPIOG_PIN13) |      \
1276
                                     PIN_PUPDR_FLOATING(GPIOG_PIN14) |      \
1277
                                     PIN_PUPDR_FLOATING(GPIOG_PIN15))
1278
#define VAL_GPIOG_ODR               (PIN_ODR_HIGH(GPIOG_PIN0) |             \
1279
                                     PIN_ODR_HIGH(GPIOG_PIN1) |             \
1280
                                     PIN_ODR_HIGH(GPIOG_PIN2) |             \
1281
                                     PIN_ODR_HIGH(GPIOG_PIN3) |             \
1282
                                     PIN_ODR_HIGH(GPIOG_PIN4) |             \
1283
                                     PIN_ODR_HIGH(GPIOG_PIN5) |             \
1284
                                     PIN_ODR_HIGH(GPIOG_PIN6) |             \
1285
                                     PIN_ODR_HIGH(GPIOG_PIN7) |             \
1286
                                     PIN_ODR_HIGH(GPIOG_PIN8) |             \
1287
                                     PIN_ODR_HIGH(GPIOG_PIN9) |             \
1288
                                     PIN_ODR_HIGH(GPIOG_PIN10) |            \
1289
                                     PIN_ODR_HIGH(GPIOG_PIN11) |            \
1290
                                     PIN_ODR_HIGH(GPIOG_PIN12) |            \
1291
                                     PIN_ODR_HIGH(GPIOG_PIN13) |            \
1292
                                     PIN_ODR_HIGH(GPIOG_PIN14) |            \
1293
                                     PIN_ODR_HIGH(GPIOG_PIN15))
1294
#define VAL_GPIOG_AFRL              (PIN_AFIO_AF(GPIOG_PIN0, 0U) |          \
1295
                                     PIN_AFIO_AF(GPIOG_PIN1, 0U) |          \
1296
                                     PIN_AFIO_AF(GPIOG_PIN2, 0U) |          \
1297
                                     PIN_AFIO_AF(GPIOG_PIN3, 0U) |          \
1298
                                     PIN_AFIO_AF(GPIOG_PIN4, 0U) |          \
1299
                                     PIN_AFIO_AF(GPIOG_PIN5, 0U) |          \
1300
                                     PIN_AFIO_AF(GPIOG_PIN6, 0U) |          \
1301
                                     PIN_AFIO_AF(GPIOG_PIN7, 0U))
1302
#define VAL_GPIOG_AFRH              (PIN_AFIO_AF(GPIOG_PIN8, 0U) |          \
1303
                                     PIN_AFIO_AF(GPIOG_PIN9, 0U) |          \
1304
                                     PIN_AFIO_AF(GPIOG_PIN10, 0U) |         \
1305
                                     PIN_AFIO_AF(GPIOG_PIN11, 0U) |         \
1306
                                     PIN_AFIO_AF(GPIOG_PIN12, 0U) |         \
1307
                                     PIN_AFIO_AF(GPIOG_PIN13, 0U) |         \
1308
                                     PIN_AFIO_AF(GPIOG_PIN14, 0U) |         \
1309
                                     PIN_AFIO_AF(GPIOG_PIN15, 0U))
1310
#define VAL_GPIOG_ASCR              (PIN_ASCR_DISABLED(GPIOG_PIN0) |        \
1311
                                     PIN_ASCR_DISABLED(GPIOG_PIN1) |        \
1312
                                     PIN_ASCR_DISABLED(GPIOG_PIN2) |        \
1313
                                     PIN_ASCR_DISABLED(GPIOG_PIN3) |        \
1314
                                     PIN_ASCR_DISABLED(GPIOG_PIN4) |        \
1315
                                     PIN_ASCR_DISABLED(GPIOG_PIN5) |        \
1316
                                     PIN_ASCR_DISABLED(GPIOG_PIN6) |        \
1317
                                     PIN_ASCR_DISABLED(GPIOG_PIN7) |        \
1318
                                     PIN_ASCR_DISABLED(GPIOG_PIN8) |        \
1319
                                     PIN_ASCR_DISABLED(GPIOG_PIN9) |        \
1320
                                     PIN_ASCR_DISABLED(GPIOG_PIN10) |       \
1321
                                     PIN_ASCR_DISABLED(GPIOG_PIN11) |       \
1322
                                     PIN_ASCR_DISABLED(GPIOG_PIN12) |       \
1323
                                     PIN_ASCR_DISABLED(GPIOG_PIN13) |       \
1324
                                     PIN_ASCR_DISABLED(GPIOG_PIN14) |       \
1325
                                     PIN_ASCR_DISABLED(GPIOG_PIN15))
1326
#define VAL_GPIOG_LOCKR             (PIN_LOCKR_DISABLED(GPIOG_PIN0) |       \
1327
                                     PIN_LOCKR_DISABLED(GPIOG_PIN1) |       \
1328
                                     PIN_LOCKR_DISABLED(GPIOG_PIN2) |       \
1329
                                     PIN_LOCKR_DISABLED(GPIOG_PIN3) |       \
1330
                                     PIN_LOCKR_DISABLED(GPIOG_PIN4) |       \
1331
                                     PIN_LOCKR_DISABLED(GPIOG_PIN5) |       \
1332
                                     PIN_LOCKR_DISABLED(GPIOG_PIN6) |       \
1333
                                     PIN_LOCKR_DISABLED(GPIOG_PIN7) |       \
1334
                                     PIN_LOCKR_DISABLED(GPIOG_PIN8) |       \
1335
                                     PIN_LOCKR_DISABLED(GPIOG_PIN9) |       \
1336
                                     PIN_LOCKR_DISABLED(GPIOG_PIN10) |      \
1337
                                     PIN_LOCKR_DISABLED(GPIOG_PIN11) |      \
1338
                                     PIN_LOCKR_DISABLED(GPIOG_PIN12) |      \
1339
                                     PIN_LOCKR_DISABLED(GPIOG_PIN13) |      \
1340
                                     PIN_LOCKR_DISABLED(GPIOG_PIN14) |      \
1341
                                     PIN_LOCKR_DISABLED(GPIOG_PIN15))
1342

    
1343
/*
1344
 * GPIOH setup:
1345
 *
1346
 * PH0  - OSC_IN                    (input floating).
1347
 * PH1  - OSC_OUT                   (input floating).
1348
 * PH2  - PIN2                      (analog).
1349
 * PH3  - PIN3                      (analog).
1350
 * PH4  - PIN4                      (analog).
1351
 * PH5  - PIN5                      (analog).
1352
 * PH6  - PIN6                      (analog).
1353
 * PH7  - PIN7                      (analog).
1354
 * PH8  - PIN8                      (analog).
1355
 * PH9  - PIN9                      (analog).
1356
 * PH10 - PIN10                     (analog).
1357
 * PH11 - PIN11                     (analog).
1358
 * PH12 - PIN12                     (analog).
1359
 * PH13 - PIN13                     (analog).
1360
 * PH14 - PIN14                     (analog).
1361
 * PH15 - PIN15                     (analog).
1362
 */
1363
#define VAL_GPIOH_MODER             (PIN_MODE_INPUT(GPIOH_OSC_IN) |         \
1364
                                     PIN_MODE_INPUT(GPIOH_OSC_OUT) |        \
1365
                                     PIN_MODE_ANALOG(GPIOH_PIN2) |          \
1366
                                     PIN_MODE_ANALOG(GPIOH_PIN3) |          \
1367
                                     PIN_MODE_ANALOG(GPIOH_PIN4) |          \
1368
                                     PIN_MODE_ANALOG(GPIOH_PIN5) |          \
1369
                                     PIN_MODE_ANALOG(GPIOH_PIN6) |          \
1370
                                     PIN_MODE_ANALOG(GPIOH_PIN7) |          \
1371
                                     PIN_MODE_ANALOG(GPIOH_PIN8) |          \
1372
                                     PIN_MODE_ANALOG(GPIOH_PIN9) |          \
1373
                                     PIN_MODE_ANALOG(GPIOH_PIN10) |         \
1374
                                     PIN_MODE_ANALOG(GPIOH_PIN11) |         \
1375
                                     PIN_MODE_ANALOG(GPIOH_PIN12) |         \
1376
                                     PIN_MODE_ANALOG(GPIOH_PIN13) |         \
1377
                                     PIN_MODE_ANALOG(GPIOH_PIN14) |         \
1378
                                     PIN_MODE_ANALOG(GPIOH_PIN15))
1379
#define VAL_GPIOH_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOH_OSC_IN) |     \
1380
                                     PIN_OTYPE_PUSHPULL(GPIOH_OSC_OUT) |    \
1381
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN2) |       \
1382
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN3) |       \
1383
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN4) |       \
1384
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN5) |       \
1385
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN6) |       \
1386
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN7) |       \
1387
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN8) |       \
1388
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN9) |       \
1389
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN10) |      \
1390
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN11) |      \
1391
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN12) |      \
1392
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN13) |      \
1393
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN14) |      \
1394
                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN15))
1395
#define VAL_GPIOH_OSPEEDR           (PIN_OSPEED_HIGH(GPIOH_OSC_IN) |        \
1396
                                     PIN_OSPEED_HIGH(GPIOH_OSC_OUT) |       \
1397
                                     PIN_OSPEED_VERYLOW(GPIOH_PIN2) |       \
1398
                                     PIN_OSPEED_VERYLOW(GPIOH_PIN3) |       \
1399
                                     PIN_OSPEED_VERYLOW(GPIOH_PIN4) |       \
1400
                                     PIN_OSPEED_VERYLOW(GPIOH_PIN5) |       \
1401
                                     PIN_OSPEED_VERYLOW(GPIOH_PIN6) |       \
1402
                                     PIN_OSPEED_VERYLOW(GPIOH_PIN7) |       \
1403
                                     PIN_OSPEED_VERYLOW(GPIOH_PIN8) |       \
1404
                                     PIN_OSPEED_VERYLOW(GPIOH_PIN9) |       \
1405
                                     PIN_OSPEED_VERYLOW(GPIOH_PIN10) |      \
1406
                                     PIN_OSPEED_VERYLOW(GPIOH_PIN11) |      \
1407
                                     PIN_OSPEED_VERYLOW(GPIOH_PIN12) |      \
1408
                                     PIN_OSPEED_VERYLOW(GPIOH_PIN13) |      \
1409
                                     PIN_OSPEED_VERYLOW(GPIOH_PIN14) |      \
1410
                                     PIN_OSPEED_VERYLOW(GPIOH_PIN15))
1411
#define VAL_GPIOH_PUPDR             (PIN_PUPDR_FLOATING(GPIOH_OSC_IN) |     \
1412
                                     PIN_PUPDR_FLOATING(GPIOH_OSC_OUT) |    \
1413
                                     PIN_PUPDR_FLOATING(GPIOH_PIN2) |       \
1414
                                     PIN_PUPDR_FLOATING(GPIOH_PIN3) |       \
1415
                                     PIN_PUPDR_FLOATING(GPIOH_PIN4) |       \
1416
                                     PIN_PUPDR_FLOATING(GPIOH_PIN5) |       \
1417
                                     PIN_PUPDR_FLOATING(GPIOH_PIN6) |       \
1418
                                     PIN_PUPDR_FLOATING(GPIOH_PIN7) |       \
1419
                                     PIN_PUPDR_FLOATING(GPIOH_PIN8) |       \
1420
                                     PIN_PUPDR_FLOATING(GPIOH_PIN9) |       \
1421
                                     PIN_PUPDR_FLOATING(GPIOH_PIN10) |      \
1422
                                     PIN_PUPDR_FLOATING(GPIOH_PIN11) |      \
1423
                                     PIN_PUPDR_FLOATING(GPIOH_PIN12) |      \
1424
                                     PIN_PUPDR_FLOATING(GPIOH_PIN13) |      \
1425
                                     PIN_PUPDR_FLOATING(GPIOH_PIN14) |      \
1426
                                     PIN_PUPDR_FLOATING(GPIOH_PIN15))
1427
#define VAL_GPIOH_ODR               (PIN_ODR_HIGH(GPIOH_OSC_IN) |           \
1428
                                     PIN_ODR_HIGH(GPIOH_OSC_OUT) |          \
1429
                                     PIN_ODR_HIGH(GPIOH_PIN2) |             \
1430
                                     PIN_ODR_HIGH(GPIOH_PIN3) |             \
1431
                                     PIN_ODR_HIGH(GPIOH_PIN4) |             \
1432
                                     PIN_ODR_HIGH(GPIOH_PIN5) |             \
1433
                                     PIN_ODR_HIGH(GPIOH_PIN6) |             \
1434
                                     PIN_ODR_HIGH(GPIOH_PIN7) |             \
1435
                                     PIN_ODR_HIGH(GPIOH_PIN8) |             \
1436
                                     PIN_ODR_HIGH(GPIOH_PIN9) |             \
1437
                                     PIN_ODR_HIGH(GPIOH_PIN10) |            \
1438
                                     PIN_ODR_HIGH(GPIOH_PIN11) |            \
1439
                                     PIN_ODR_HIGH(GPIOH_PIN12) |            \
1440
                                     PIN_ODR_HIGH(GPIOH_PIN13) |            \
1441
                                     PIN_ODR_HIGH(GPIOH_PIN14) |            \
1442
                                     PIN_ODR_HIGH(GPIOH_PIN15))
1443
#define VAL_GPIOH_AFRL              (PIN_AFIO_AF(GPIOH_OSC_IN, 0U) |        \
1444
                                     PIN_AFIO_AF(GPIOH_OSC_OUT, 0U) |       \
1445
                                     PIN_AFIO_AF(GPIOH_PIN2, 0U) |          \
1446
                                     PIN_AFIO_AF(GPIOH_PIN3, 0U) |          \
1447
                                     PIN_AFIO_AF(GPIOH_PIN4, 0U) |          \
1448
                                     PIN_AFIO_AF(GPIOH_PIN5, 0U) |          \
1449
                                     PIN_AFIO_AF(GPIOH_PIN6, 0U) |          \
1450
                                     PIN_AFIO_AF(GPIOH_PIN7, 0U))
1451
#define VAL_GPIOH_AFRH              (PIN_AFIO_AF(GPIOH_PIN8, 0U) |          \
1452
                                     PIN_AFIO_AF(GPIOH_PIN9, 0U) |          \
1453
                                     PIN_AFIO_AF(GPIOH_PIN10, 0U) |         \
1454
                                     PIN_AFIO_AF(GPIOH_PIN11, 0U) |         \
1455
                                     PIN_AFIO_AF(GPIOH_PIN12, 0U) |         \
1456
                                     PIN_AFIO_AF(GPIOH_PIN13, 0U) |         \
1457
                                     PIN_AFIO_AF(GPIOH_PIN14, 0U) |         \
1458
                                     PIN_AFIO_AF(GPIOH_PIN15, 0U))
1459
#define VAL_GPIOH_ASCR              (PIN_ASCR_DISABLED(GPIOH_OSC_IN) |      \
1460
                                     PIN_ASCR_DISABLED(GPIOH_OSC_OUT) |     \
1461
                                     PIN_ASCR_DISABLED(GPIOH_PIN2) |        \
1462
                                     PIN_ASCR_DISABLED(GPIOH_PIN3) |        \
1463
                                     PIN_ASCR_DISABLED(GPIOH_PIN4) |        \
1464
                                     PIN_ASCR_DISABLED(GPIOH_PIN5) |        \
1465
                                     PIN_ASCR_DISABLED(GPIOH_PIN6) |        \
1466
                                     PIN_ASCR_DISABLED(GPIOH_PIN7) |        \
1467
                                     PIN_ASCR_DISABLED(GPIOH_PIN8) |        \
1468
                                     PIN_ASCR_DISABLED(GPIOH_PIN9) |        \
1469
                                     PIN_ASCR_DISABLED(GPIOH_PIN10) |       \
1470
                                     PIN_ASCR_DISABLED(GPIOH_PIN11) |       \
1471
                                     PIN_ASCR_DISABLED(GPIOH_PIN12) |       \
1472
                                     PIN_ASCR_DISABLED(GPIOH_PIN13) |       \
1473
                                     PIN_ASCR_DISABLED(GPIOH_PIN14) |       \
1474
                                     PIN_ASCR_DISABLED(GPIOH_PIN15))
1475
#define VAL_GPIOH_LOCKR             (PIN_LOCKR_DISABLED(GPIOH_OSC_IN) |     \
1476
                                     PIN_LOCKR_DISABLED(GPIOH_OSC_OUT) |    \
1477
                                     PIN_LOCKR_DISABLED(GPIOH_PIN2) |       \
1478
                                     PIN_LOCKR_DISABLED(GPIOH_PIN3) |       \
1479
                                     PIN_LOCKR_DISABLED(GPIOH_PIN4) |       \
1480
                                     PIN_LOCKR_DISABLED(GPIOH_PIN5) |       \
1481
                                     PIN_LOCKR_DISABLED(GPIOH_PIN6) |       \
1482
                                     PIN_LOCKR_DISABLED(GPIOH_PIN7) |       \
1483
                                     PIN_LOCKR_DISABLED(GPIOH_PIN8) |       \
1484
                                     PIN_LOCKR_DISABLED(GPIOH_PIN9) |       \
1485
                                     PIN_LOCKR_DISABLED(GPIOH_PIN10) |      \
1486
                                     PIN_LOCKR_DISABLED(GPIOH_PIN11) |      \
1487
                                     PIN_LOCKR_DISABLED(GPIOH_PIN12) |      \
1488
                                     PIN_LOCKR_DISABLED(GPIOH_PIN13) |      \
1489
                                     PIN_LOCKR_DISABLED(GPIOH_PIN14) |      \
1490
                                     PIN_LOCKR_DISABLED(GPIOH_PIN15))
1491

    
1492
/*===========================================================================*/
1493
/* External declarations.                                                    */
1494
/*===========================================================================*/
1495

    
1496
#if !defined(_FROM_ASM_)
1497
#ifdef __cplusplus
1498
extern "C" {
1499
#endif
1500
  void boardInit(void);
1501
#ifdef __cplusplus
1502
}
1503
#endif
1504
#endif /* _FROM_ASM_ */
1505

    
1506
#endif /* BOARD_H */