Statistics
| Branch: | Tag: | Revision:

amiro-os / modules / BI-Vital_5-1 / board.h @ 10853947

History | View | Annotate | Download (96.567 KB)

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

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

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

15
You should have received a copy of the GNU General Public License
16
along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
*/
18

    
19
#ifndef BOARD_H
20
#define BOARD_H
21

    
22
/*===========================================================================*/
23
/* Driver constants.                                                         */
24
/*===========================================================================*/
25

    
26
/*
27
 * Setup for BI-Vital (BGv5.1) board.
28
 */
29

    
30
/*
31
 * Board identifier.
32
 */
33
#define BOARD_BIVITAL_BG51
34
#define BOARD_NAME                  "BI-Vital (BGv5.1)"
35

    
36
/*
37
 * Board oscillators-related settings.
38
 */
39
#if !defined(STM32_LSECLK)
40
#define STM32_LSECLK                32768U
41
#endif
42

    
43
#define STM32_LSEDRV                (3U << 3U)
44

    
45
#if !defined(STM32_HSECLK)
46
#define STM32_HSECLK                16000000U
47
#endif
48

    
49
#define STM32_HSE_BYPASS
50

    
51
/*
52
 * Board voltages.
53
 * Required for performance limits calculation.
54
 */
55
#define STM32_VDD                   180U
56

    
57
/*
58
 * MCU type as defined in the ST header.
59
 */
60
#define STM32L476xx
61

    
62
/*
63
 * IO pins assignments.
64
 */
65
#define GPIOA_RESP_IN               0U
66
#define GPIOA_ECG_IN                1U
67
#define GPIOA_PIN2                  2U
68
#define GPIOA_PIN3                  3U
69
#define GPIOA_RESP_REF              4U
70
#define GPIOA_ECG_REF               5U
71
#define GPIOA_QSPI_IO3              6U
72
#define GPIOA_QSPI_IO2              7U
73
#define GPIOA_PIN8                  8U
74
#define GPIOA_VCC_USB               9U
75
#define GPIOA_PWR_USB_ID            10U
76
#define GPIOA_PWR_USB_DM            11U
77
#define GPIOA_PWR_USB_DP            12U
78
#define GPIOA_SWDIO                 13U
79
#define GPIOA_SWCLK                 14U
80
#define GPIOA_UART_RTS              15U
81

    
82
#define GPIOB_QSPI_IO1              0U
83
#define GPIOB_QSPI_IO0              1U
84
#define GPIOB_MIC_EN                2U
85
#define GPIOB_SWO                   3U
86
#define GPIOB_RESET                 4U
87
#define GPIOB_PIN5                  5U
88
#define GPIOB_PIN6                  6U
89
#define GPIOB_UART_CTS              7U
90
#define GPIOB_MIC_IN                8U
91
#define GPIOB_PIN9                  9U
92
#define GPIOB_QSPI_CLK              10U
93
#define GPIOB_QSPI_NCS              11U
94
#define GPIOB_PWR_CD                12U
95
#define GPIOB_SCL                   13U
96
#define GPIOB_SDA                   14U
97
#define GPIOB_PIN15                 15U
98

    
99
#define GPIOC_PIN0                  0U
100
#define GPIOC_PIN1                  1U
101
#define GPIOC_MIC_CLK               2U
102
#define GPIOC_PIN3                  3U
103
#define GPIOC_QSPI_EN               4U
104
#define GPIOC_MCU_WKUP              5U
105
#define GPIOC_PIN6                  6U
106
#define GPIOC_BUZZ_OUT              7U
107
#define GPIOC_PC8                   8U
108
#define GPIOC_VIB_OUT               9U
109
#define GPIOC_UART_TX               10U
110
#define GPIOC_UART_RX               11U
111
#define GPIOC_PIN12                 12U
112
#define GPIOC_PIN13                 13U
113
#define GPIOC_OSC32_IN              14U
114
#define GPIOC_OSC32_OUT             15U
115

    
116
#define GPIOD_PIN0                  0U
117
#define GPIOD_PIN1                  1U
118
#define GPIOD_BUTTON                2U
119
#define GPIOD_PIN3                  3U
120
#define GPIOD_PIN4                  4U
121
#define GPIOD_PIN5                  5U
122
#define GPIOD_PIN6                  6U
123
#define GPIOD_PIN7                  7U
124
#define GPIOD_PIN8                  8U
125
#define GPIOD_PIN9                  9U
126
#define GPIOD_PIN10                 10U
127
#define GPIOD_PIN11                 11U
128
#define GPIOD_PIN12                 12U
129
#define GPIOD_PIN13                 13U
130
#define GPIOD_PIN14                 14U
131
#define GPIOD_PIN15                 15U
132

    
133
#define GPIOE_PIN0                  0U
134
#define GPIOE_PIN1                  1U
135
#define GPIOE_PIN2                  2U
136
#define GPIOE_PIN3                  3U
137
#define GPIOE_PIN4                  4U
138
#define GPIOE_PIN5                  5U
139
#define GPIOE_PIN6                  6U
140
#define GPIOE_PIN7                  7U
141
#define GPIOE_PIN8                  8U
142
#define GPIOE_PIN9                  9U
143
#define GPIOE_PIN10                 10U
144
#define GPIOE_PIN11                 11U
145
#define GPIOE_PIN12                 12U
146
#define GPIOE_PIN13                 13U
147
#define GPIOE_PIN14                 14U
148
#define GPIOE_PIN15                 15U
149

    
150
#define GPIOF_PIN0                  0U
151
#define GPIOF_PIN1                  1U
152
#define GPIOF_PIN2                  2U
153
#define GPIOF_PIN3                  3U
154
#define GPIOF_PIN4                  4U
155
#define GPIOF_PIN5                  5U
156
#define GPIOF_PIN6                  6U
157
#define GPIOF_PIN7                  7U
158
#define GPIOF_PIN8                  8U
159
#define GPIOF_PIN9                  9U
160
#define GPIOF_PIN10                 10U
161
#define GPIOF_PIN11                 11U
162
#define GPIOF_PIN12                 12U
163
#define GPIOF_PIN13                 13U
164
#define GPIOF_PIN14                 14U
165
#define GPIOF_PIN15                 15U
166

    
167
#define GPIOG_PIN0                  0U
168
#define GPIOG_PIN1                  1U
169
#define GPIOG_PIN2                  2U
170
#define GPIOG_PIN3                  3U
171
#define GPIOG_PIN4                  4U
172
#define GPIOG_PIN5                  5U
173
#define GPIOG_PIN6                  6U
174
#define GPIOG_PIN7                  7U
175
#define GPIOG_PIN8                  8U
176
#define GPIOG_LED_R                 9U
177
#define GPIOG_LED_G                 10U
178
#define GPIOG_PIN11                 11U
179
#define GPIOG_PIN12                 12U
180
#define GPIOG_PIN13                 13U
181
#define GPIOG_LED_B                 14U
182
#define GPIOG_PIN15                 15U
183

    
184
#define GPIOH_OSC_IN                0U
185
#define GPIOH_OSC_OUT               1U
186
#define GPIOH_PIN2                  2U
187
#define GPIOH_PIN3                  3U
188
#define GPIOH_PIN4                  4U
189
#define GPIOH_PIN5                  5U
190
#define GPIOH_PIN6                  6U
191
#define GPIOH_PIN7                  7U
192
#define GPIOH_PIN8                  8U
193
#define GPIOH_PIN9                  9U
194
#define GPIOH_PIN10                 10U
195
#define GPIOH_PIN11                 11U
196
#define GPIOH_PIN12                 12U
197
#define GPIOH_PIN13                 13U
198
#define GPIOH_PIN14                 14U
199
#define GPIOH_PIN15                 15U
200

    
201
/*
202
 * IO lines assignments.
203
 */
204
#define LINE_RESP_IN                PAL_LINE(GPIOA, GPIOA_RESP_IN)
205
#define LINE_ECG_IN                 PAL_LINE(GPIOA, GPIOA_ECG_IN)
206
#define LINE_RESP_REF               PAL_LINE(GPIOA, GPIOA_RESP_REF)
207
#define LINE_ECG_REF                PAL_LINE(GPIOA, GPIOA_ECG_REF)
208
#define LINE_QSPI_IO3               PAL_LINE(GPIOA, GPIOA_QSPI_IO3)
209
#define LINE_QSPI_IO2               PAL_LINE(GPIOA, GPIOA_QSPI_IO2)
210
#define LINE_VCC_USB                PAL_LINE(GPIOA, GPIOA_VCC_USB)
211
#define LINE_PWR_USB_ID             PAL_LINE(GPIOA, GPIOA_PWR_USB_ID)
212
#define LINE_PWR_USB_DM             PAL_LINE(GPIOA, GPIOA_PWR_USB_DM)
213
#define LINE_PWR_USB_DP             PAL_LINE(GPIOA, GPIOA_PWR_USB_DP)
214
#define LINE_SWDIO                  PAL_LINE(GPIOA, GPIOA_SWDIO)
215
#define LINE_SWCLK                  PAL_LINE(GPIOA, GPIOA_SWCLK)
216
#define LINE_UART_RTS               PAL_LINE(GPIOA, GPIOA_UART_RTS)
217

    
218
#define LINE_QSPI_IO1               PAL_LINE(GPIOB, GPIOB_QSPI_IO1)
219
#define LINE_QSPI_IO0               PAL_LINE(GPIOB, GPIOB_QSPI_IO0)
220
#define LINE_MIC_EN                 PAL_LINE(GPIOB, GPIOB_MIC_EN)
221
#define LINE_SWO                    PAL_LINE(GPIOB, GPIOB_SWO)
222
#define LINE_RESET                  PAL_LINE(GPIOB, GPIOB_RESET)
223
#define LINE_UART_CTS               PAL_LINE(GPIOB, GPIOB_UART_CTS)
224
#define LINE_MIC_IN                 PAL_LINE(GPIOB, GPIOB_MIC_IN)
225
#define LINE_QSPI_CLK               PAL_LINE(GPIOB, GPIOB_QSPI_CLK)
226
#define LINE_QSPI_NCS               PAL_LINE(GPIOB, GPIOB_QSPI_NCS)
227
#define LINE_PWR_CD                 PAL_LINE(GPIOB, GPIOB_PWR_CD)
228
#define LINE_SCL                    PAL_LINE(GPIOB, GPIOB_SCL)
229
#define LINE_SDA                    PAL_LINE(GPIOB, GPIOB_SDA)
230

    
231
#define LINE_MIC_CLK                PAL_LINE(GPIOC, GPIOC_MIC_CLK)
232
#define LINE_QSPI_EN                PAL_LINE(GPIOC, GPIOC_QSPI_EN)
233
#define LINE_MCU_WKUP               PAL_LINE(GPIOC, GPIOC_MCU_WKUP)
234
#define LINE_BUZZ_OUT               PAL_LINE(GPIOC, GPIOC_BUZZ_OUT)
235
#define LINE_VIB_OUT                PAL_LINE(GPIOC, GPIOC_VIB_OUT)
236
#define LINE_UART_TX                PAL_LINE(GPIOC, GPIOC_UART_TX)
237
#define LINE_UART_RX                PAL_LINE(GPIOC, GPIOC_UART_RX)
238
#define LINE_OSC32_IN               PAL_LINE(GPIOC, GPIOC_OSC32_IN)
239
#define LINE_OSC32_OUT              PAL_LINE(GPIOC, GPIOC_OSC32_OUT)
240

    
241
#define LINE_BUTTON                 PAL_LINE(GPIOD, GPIOD_BUTTON)
242

    
243
#define LINE_LED_R                  PAL_LINE(GPIOG, GPIOG_LED_R)
244
#define LINE_LED_G                  PAL_LINE(GPIOG, GPIOG_LED_G)
245
#define LINE_LED_B                  PAL_LINE(GPIOG, GPIOG_LED_B)
246

    
247
#define LINE_OSC_IN                 PAL_LINE(GPIOH, GPIOH_OSC_IN)
248
#define LINE_OSC_OUT                PAL_LINE(GPIOH, GPIOH_OSC_OUT)
249

    
250
/*===========================================================================*/
251
/* Driver pre-compile time settings.                                         */
252
/*===========================================================================*/
253

    
254
/*===========================================================================*/
255
/* Derived constants and error checks.                                       */
256
/*===========================================================================*/
257

    
258
/*===========================================================================*/
259
/* Driver data structures and types.                                         */
260
/*===========================================================================*/
261

    
262
/*===========================================================================*/
263
/* Driver macros.                                                            */
264
/*===========================================================================*/
265

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

    
292
/*
293
 * GPIOA setup:
294
 *
295
 * PA0  - RESP_IN                   (analog).
296
 * PA1  - ECG_IN                    (analog).
297
 * PA2  - PIN2                      (analog).
298
 * PA3  - PIN3                      (analog).
299
 * PA4  - RESP_REF                  (analog).
300
 * PA5  - ECG_REF                   (analog).
301
 * PA6  - QSPI_IO3                  (analog).
302
 * PA7  - QSPI_IO2                  (analog).
303
 * PA8  - PIN8                      (analog).
304
 * PA9  - VCC_USB                   (analog).
305
 * PA10 - PWR_USB_ID                (analog).
306
 * PA11 - PWR_USB_DM                (analog).
307
 * PA12 - PWR_USB_DP                (analog).
308
 * PA13 - SWDIO                     (analog).
309
 * PA14 - SWCLK                     (analog).
310
 * PA15 - UART_RTS                  (analog).
311
 */
312
#define VAL_GPIOA_MODER             (PIN_MODE_ANALOG(GPIOA_RESP_IN) |       \
313
                                     PIN_MODE_ANALOG(GPIOA_ECG_IN |         \
314
                                     PIN_MODE_ANALOG(GPIOA_PIN2) |          \
315
                                     PIN_MODE_ANALOG(GPIOA_PIN3) |          \
316
                                     PIN_MODE_ANALOG(GPIOA_RESP_REF) |      \
317
                                     PIN_MODE_ANALOG(GPIOA_ECG_REF) |       \
318
                                     PIN_MODE_ANALOG(GPIOA_QSPI_IO3) |      \
319
                                     PIN_MODE_ANALOG(GPIOA_QSPI_IO2) |      \
320
                                     PIN_MODE_ANALOG(GPIOA_PIN8) |          \
321
                                     PIN_MODE_ANALOG(GPIOA_VCC_USB) |       \
322
                                     PIN_MODE_ANALOG(GPIOA_PWR_USB_ID) |    \
323
                                     PIN_MODE_ANALOG(GPIOA_PWR_USB_DM) |    \
324
                                     PIN_MODE_ANALOG(GPIOA_PWR_USB_DP) |    \
325
                                     PIN_MODE_ANALOG(GPIOA_SWDIO) |         \
326
                                     PIN_MODE_ANALOG(GPIOA_SWCLK) |         \
327
                                     PIN_MODE_ANALOG(GPIOA_UART_RTS))
328
#define VAL_GPIOA_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOA_RESP_IN) |    \
329
                                     PIN_OTYPE_PUSHPULL(GPIOA_ECG_IN |      \
330
                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN2) |       \
331
                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN3) |       \
332
                                     PIN_OTYPE_PUSHPULL(GPIOA_RESP_REF) |   \
333
                                     PIN_OTYPE_PUSHPULL(GPIOA_ECG_REF) |    \
334
                                     PIN_OTYPE_PUSHPULL(GPIOA_QSPI_IO3) |   \
335
                                     PIN_OTYPE_PUSHPULL(GPIOA_QSPI_IO2) |   \
336
                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN8) |       \
337
                                     PIN_OTYPE_PUSHPULL(GPIOA_VCC_USB) |    \
338
                                     PIN_OTYPE_PUSHPULL(GPIOA_PWR_USB_ID) | \
339
                                     PIN_OTYPE_PUSHPULL(GPIOA_PWR_USB_DM) | \
340
                                     PIN_OTYPE_PUSHPULL(GPIOA_PWR_USB_DP) | \
341
                                     PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) |      \
342
                                     PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) |      \
343
                                     PIN_OTYPE_PUSHPULL(GPIOA_UART_RTS))
344
#define VAL_GPIOA_OSPEEDR           (PIN_OSPEED_HIGH(GPIOA_RESP_IN) |       \
345
                                     PIN_OSPEED_HIGH(GPIOA_ECG_IN |         \
346
                                     PIN_OSPEED_HIGH(GPIOA_PIN2) |          \
347
                                     PIN_OSPEED_HIGH(GPIOA_PIN3) |          \
348
                                     PIN_OSPEED_HIGH(GPIOA_RESP_REF) |      \
349
                                     PIN_OSPEED_HIGH(GPIOA_ECG_REF) |       \
350
                                     PIN_OSPEED_HIGH(GPIOA_QSPI_IO3) |      \
351
                                     PIN_OSPEED_HIGH(GPIOA_QSPI_IO2) |      \
352
                                     PIN_OSPEED_HIGH(GPIOA_PIN8) |          \
353
                                     PIN_OSPEED_HIGH(GPIOA_VCC_USB) |       \
354
                                     PIN_OSPEED_HIGH(GPIOA_PWR_USB_ID) |    \
355
                                     PIN_OSPEED_HIGH(GPIOA_PWR_USB_DM) |    \
356
                                     PIN_OSPEED_HIGH(GPIOA_PWR_USB_DP) |    \
357
                                     PIN_OSPEED_HIGH(GPIOA_SWDIO) |         \
358
                                     PIN_OSPEED_HIGH(GPIOA_SWCLK) |         \
359
                                     PIN_OSPEED_HIGH(GPIOA_UART_RTS))
360
#define VAL_GPIOA_PUPDR             (PIN_PUPDR_FLOATING(GPIOA_RESP_IN) |    \
361
                                     PIN_PUPDR_FLOATING(GPIOA_ECG_IN |      \
362
                                     PIN_PUPDR_FLOATING(GPIOA_PIN2) |       \
363
                                     PIN_PUPDR_FLOATING(GPIOA_PIN3) |       \
364
                                     PIN_PUPDR_FLOATING(GPIOA_RESP_REF) |   \
365
                                     PIN_PUPDR_FLOATING(GPIOA_ECG_REF) |    \
366
                                     PIN_PUPDR_FLOATING(GPIOA_QSPI_IO3) |   \
367
                                     PIN_PUPDR_FLOATING(GPIOA_QSPI_IO2) |   \
368
                                     PIN_PUPDR_FLOATING(GPIOA_PIN8) |       \
369
                                     PIN_PUPDR_FLOATING(GPIOA_VCC_USB) |    \
370
                                     PIN_PUPDR_FLOATING(GPIOA_PWR_USB_ID) | \
371
                                     PIN_PUPDR_FLOATING(GPIOA_PWR_USB_DM) | \
372
                                     PIN_PUPDR_FLOATING(GPIOA_PWR_USB_DP) | \
373
                                     PIN_PUPDR_FLOATING(GPIOA_SWDIO) |      \
374
                                     PIN_PUPDR_FLOATING(GPIOA_SWCLK) |      \
375
                                     PIN_PUPDR_FLOATING(GPIOA_UART_RTS))
376
#define VAL_GPIOA_ODR               (PIN_ODR_HIGH(GPIOA_RESP_IN) |          \
377
                                     PIN_ODR_HIGH(GPIOA_ECG_IN |            \
378
                                     PIN_ODR_HIGH(GPIOA_PIN2) |             \
379
                                     PIN_ODR_HIGH(GPIOA_PIN3) |             \
380
                                     PIN_ODR_HIGH(GPIOA_RESP_REF) |         \
381
                                     PIN_ODR_HIGH(GPIOA_ECG_REF) |          \
382
                                     PIN_ODR_HIGH(GPIOA_QSPI_IO3) |         \
383
                                     PIN_ODR_HIGH(GPIOA_QSPI_IO2) |         \
384
                                     PIN_ODR_HIGH(GPIOA_PIN8) |             \
385
                                     PIN_ODR_HIGH(GPIOA_VCC_USB) |          \
386
                                     PIN_ODR_HIGH(GPIOA_PWR_USB_ID) |       \
387
                                     PIN_ODR_HIGH(GPIOA_PWR_USB_DM) |       \
388
                                     PIN_ODR_HIGH(GPIOA_PWR_USB_DP) |       \
389
                                     PIN_ODR_HIGH(GPIOA_SWDIO) |            \
390
                                     PIN_ODR_HIGH(GPIOA_SWCLK) |            \
391
                                     PIN_ODR_HIGH(GPIOA_UART_RTS))
392
#define VAL_GPIOA_AFRL              (PIN_AFIO_AF(GPIOA_RESP_IN, 0U) |       \
393
                                     PIN_AFIO_AF(GPIOA_ECG_IN 0U) |         \
394
                                     PIN_AFIO_AF(GPIOA_PIN2, 0U) |          \
395
                                     PIN_AFIO_AF(GPIOA_PIN3, 0U) |          \
396
                                     PIN_AFIO_AF(GPIOA_RESP_REF, 0U) |      \
397
                                     PIN_AFIO_AF(GPIOA_ECG_REF, 0U) |       \
398
                                     PIN_AFIO_AF(GPIOA_QSPI_IO3, 0U) |      \
399
                                     PIN_AFIO_AF(GPIOA_QSPI_IO2, 0U))
400
#define VAL_GPIOA_AFRH              (PIN_AFIO_AF(GPIOA_PIN8, 0U) |          \
401
                                     PIN_AFIO_AF(GPIOA_VCC_USB, 0U) |       \
402
                                     PIN_AFIO_AF(GPIOA_PWR_USB_ID, 0U) |    \
403
                                     PIN_AFIO_AF(GPIOA_PWR_USB_DM, 0U) |    \
404
                                     PIN_AFIO_AF(GPIOA_PWR_USB_DP, 0U) |    \
405
                                     PIN_AFIO_AF(GPIOA_SWDIO, 0U) |         \
406
                                     PIN_AFIO_AF(GPIOA_SWCLK, 0U) |         \
407
                                     PIN_AFIO_AF(GPIOA_UART_RTS, 0U))
408
#define VAL_GPIOA_ASCR              (PIN_ASCR_DISABLED(GPIOA_RESP_IN) |     \
409
                                     PIN_ASCR_DISABLED(GPIOA_ECG_IN |       \
410
                                     PIN_ASCR_DISABLED(GPIOA_PIN2) |        \
411
                                     PIN_ASCR_DISABLED(GPIOA_PIN3) |        \
412
                                     PIN_ASCR_DISABLED(GPIOA_RESP_REF) |    \
413
                                     PIN_ASCR_DISABLED(GPIOA_ECG_REF) |     \
414
                                     PIN_ASCR_DISABLED(GPIOA_QSPI_IO3) |    \
415
                                     PIN_ASCR_DISABLED(GPIOA_QSPI_IO2) |    \
416
                                     PIN_ASCR_DISABLED(GPIOA_PIN8) |        \
417
                                     PIN_ASCR_DISABLED(GPIOA_VCC_USB) |     \
418
                                     PIN_ASCR_DISABLED(GPIOA_PWR_USB_ID) |  \
419
                                     PIN_ASCR_DISABLED(GPIOA_PWR_USB_DM) |  \
420
                                     PIN_ASCR_DISABLED(GPIOA_PWR_USB_DP) |  \
421
                                     PIN_ASCR_DISABLED(GPIOA_SWDIO) |       \
422
                                     PIN_ASCR_DISABLED(GPIOA_SWCLK) |       \
423
                                     PIN_ASCR_DISABLED(GPIOA_UART_RTS))
424
#define VAL_GPIOA_LOCKR             (PIN_LOCKR_DISABLED(GPIOA_RESP_IN) |    \
425
                                     PIN_LOCKR_DISABLED(GPIOA_ECG_IN |      \
426
                                     PIN_LOCKR_DISABLED(GPIOA_PIN2) |       \
427
                                     PIN_LOCKR_DISABLED(GPIOA_PIN3) |       \
428
                                     PIN_LOCKR_DISABLED(GPIOA_RESP_REF) |   \
429
                                     PIN_LOCKR_DISABLED(GPIOA_ECG_REF) |    \
430
                                     PIN_LOCKR_DISABLED(GPIOA_QSPI_IO3) |   \
431
                                     PIN_LOCKR_DISABLED(GPIOA_QSPI_IO2) |   \
432
                                     PIN_LOCKR_DISABLED(GPIOA_PIN8) |       \
433
                                     PIN_LOCKR_DISABLED(GPIOA_VCC_USB) |    \
434
                                     PIN_LOCKR_DISABLED(GPIOA_PWR_USB_ID) | \
435
                                     PIN_LOCKR_DISABLED(GPIOA_PWR_USB_DM) | \
436
                                     PIN_LOCKR_DISABLED(GPIOA_PWR_USB_DP) | \
437
                                     PIN_LOCKR_DISABLED(GPIOA_SWDIO) |      \
438
                                     PIN_LOCKR_DISABLED(GPIOA_SWCLK) |      \
439
                                     PIN_LOCKR_DISABLED(GPIOA_UART_RTS))
440

    
441
/*
442
 * GPIOB setup:
443
 *
444
 * PB0  - QSPI_IO1                  (analog).
445
 * PB1  - QSPI_IO0                  (analog).
446
 * PB2  - MIC_EN                    (analog).
447
 * PB3  - SWO                       (analog).
448
 * PB4  - RESET                     (analog).
449
 * PB5  - PIN5                      (analog).
450
 * PB6  - PIN6                      (analog).
451
 * PB7  - UART_CTS                  (analog).
452
 * PB8  - MIC_IN                    (analog).
453
 * PB9  - PIN9                      (analog).
454
 * PB10 - QSPI_CLK                  (analog).
455
 * PB11 - QSP_NCS                   (analog).
456
 * PB12 - PWR_CD                    (analog).
457
 * PB13 - SCL                       (analog).
458
 * PB14 - SDA                       (analog).
459
 * PB15 - PIN15                     (analog).
460
 */
461
#define VAL_GPIOB_MODER             (PIN_MODE_ANALOG(GPIOB_QSPI_IO1) |      \
462
                                     PIN_MODE_ANALOG(GPIOB_QSPI_IO0) |      \
463
                                     PIN_MODE_ANALOG(GPIOB_MIC_EN) |        \
464
                                     PIN_MODE_ANALOG(GPIOB_SWO) |           \
465
                                     PIN_MODE_ANALOG(GPIOB_RESET) |         \
466
                                     PIN_MODE_ANALOG(GPIOB_PIN5) |          \
467
                                     PIN_MODE_ANALOG(GPIOB_PIN6) |          \
468
                                     PIN_MODE_ANALOG(GPIOB_UART_CTS) |      \
469
                                     PIN_MODE_ANALOG(GPIOB_MIC_IN) |        \
470
                                     PIN_MODE_ANALOG(GPIOB_PIN9) |          \
471
                                     PIN_MODE_ANALOG(GPIOB_QSPI_CLK) |      \
472
                                     PIN_MODE_ANALOG(GPIOB_QSPI_NCS) |      \
473
                                     PIN_MODE_ANALOG(GPIOB_PWR_CD) |        \
474
                                     PIN_MODE_ANALOG(GPIOB_SCL) |           \
475
                                     PIN_MODE_ANALOG(GPIOB_SDA) |           \
476
                                     PIN_MODE_ANALOG(GPIOB_PIN15))
477
#define VAL_GPIOB_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOB_QSPI_IO1) |   \
478
                                     PIN_OTYPE_PUSHPULL(GPIOB_QSPI_IO0) |   \
479
                                     PIN_OTYPE_PUSHPULL(GPIOB_MIC_EN) |     \
480
                                     PIN_OTYPE_PUSHPULL(GPIOB_SWO) |        \
481
                                     PIN_OTYPE_PUSHPULL(GPIOB_RESET) |      \
482
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN5) |       \
483
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN6) |       \
484
                                     PIN_OTYPE_PUSHPULL(GPIOB_UART_CTS) |   \
485
                                     PIN_OTYPE_PUSHPULL(GPIOB_MIC_IN) |     \
486
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN9) |       \
487
                                     PIN_OTYPE_PUSHPULL(GPIOB_QSPI_CLK) |   \
488
                                     PIN_OTYPE_PUSHPULL(GPIOB_QSPI_NCS) |   \
489
                                     PIN_OTYPE_PUSHPULL(GPIOB_PWR_CD) |     \
490
                                     PIN_OTYPE_PUSHPULL(GPIOB_SCL) |        \
491
                                     PIN_OTYPE_PUSHPULL(GPIOB_SDA) |        \
492
                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN15))
493
#define VAL_GPIOB_OSPEEDR           (PIN_OSPEED_HIGH(GPIOB_QSPI_IO1) |      \
494
                                     PIN_OSPEED_HIGH(GPIOB_QSPI_IO0) |      \
495
                                     PIN_OSPEED_HIGH(GPIOB_MIC_EN) |        \
496
                                     PIN_OSPEED_HIGH(GPIOB_SWO) |           \
497
                                     PIN_OSPEED_HIGH(GPIOB_RESET) |         \
498
                                     PIN_OSPEED_HIGH(GPIOB_PIN5) |          \
499
                                     PIN_OSPEED_HIGH(GPIOB_PIN6) |          \
500
                                     PIN_OSPEED_HIGH(GPIOB_UART_CTS) |      \
501
                                     PIN_OSPEED_HIGH(GPIOB_MIC_IN) |        \
502
                                     PIN_OSPEED_HIGH(GPIOB_PIN9) |          \
503
                                     PIN_OSPEED_HIGH(GPIOB_QSPI_CLK) |      \
504
                                     PIN_OSPEED_HIGH(GPIOB_QSPI_NCS) |      \
505
                                     PIN_OSPEED_HIGH(GPIOB_PWR_CD) |        \
506
                                     PIN_OSPEED_HIGH(GPIOB_SCL) |           \
507
                                     PIN_OSPEED_HIGH(GPIOB_SDA) |           \
508
                                     PIN_OSPEED_HIGH(GPIOB_PIN15))
509
#define VAL_GPIOB_PUPDR             (PIN_PUPDR_FLOATING(GPIOB_QSPI_IO1) |   \
510
                                     PIN_PUPDR_FLOATING(GPIOB_QSPI_IO0) |   \
511
                                     PIN_PUPDR_FLOATING(GPIOB_MIC_EN) |     \
512
                                     PIN_PUPDR_FLOATING(GPIOB_SWO) |        \
513
                                     PIN_PUPDR_FLOATING(GPIOB_RESET) |      \
514
                                     PIN_PUPDR_FLOATING(GPIOB_PIN5) |       \
515
                                     PIN_PUPDR_FLOATING(GPIOB_PIN6) |       \
516
                                     PIN_PUPDR_FLOATING(GPIOB_UART_CTS) |   \
517
                                     PIN_PUPDR_FLOATING(GPIOB_MIC_IN) |     \
518
                                     PIN_PUPDR_FLOATING(GPIOB_PIN9) |       \
519
                                     PIN_PUPDR_FLOATING(GPIOB_QSPI_CLK) |   \
520
                                     PIN_PUPDR_FLOATING(GPIOB_QSPI_NCS) |   \
521
                                     PIN_PUPDR_FLOATING(GPIOB_PWR_CD) |     \
522
                                     PIN_PUPDR_FLOATING(GPIOB_SCL) |        \
523
                                     PIN_PUPDR_FLOATING(GPIOB_SDA) |        \
524
                                     PIN_PUPDR_FLOATING(GPIOB_PIN15))
525
#define VAL_GPIOB_ODR               (PIN_ODR_HIGH(GPIOB_QSPI_IO1) |         \
526
                                     PIN_ODR_HIGH(GPIOB_QSPI_IO0) |         \
527
                                     PIN_ODR_HIGH(GPIOB_MIC_EN) |           \
528
                                     PIN_ODR_HIGH(GPIOB_SWO) |              \
529
                                     PIN_ODR_HIGH(GPIOB_RESET) |            \
530
                                     PIN_ODR_HIGH(GPIOB_PIN5) |             \
531
                                     PIN_ODR_HIGH(GPIOB_PIN6) |             \
532
                                     PIN_ODR_HIGH(GPIOB_UART_CTS) |         \
533
                                     PIN_ODR_HIGH(GPIOB_MIC_IN) |           \
534
                                     PIN_ODR_HIGH(GPIOB_PIN9) |             \
535
                                     PIN_ODR_HIGH(GPIOB_QSPI_CLK) |         \
536
                                     PIN_ODR_HIGH(GPIOB_QSPI_NCS) |         \
537
                                     PIN_ODR_HIGH(GPIOB_PWR_CD) |           \
538
                                     PIN_ODR_HIGH(GPIOB_SCL) |              \
539
                                     PIN_ODR_HIGH(GPIOB_SDA) |              \
540
                                     PIN_ODR_HIGH(GPIOB_PIN15))
541
#define VAL_GPIOB_AFRL              (PIN_AFIO_AF(GPIOB_QSPI_IO1, 0U) |      \
542
                                     PIN_AFIO_AF(GPIOB_QSPI_IO0, 0U) |      \
543
                                     PIN_AFIO_AF(GPIOB_MIC_EN, 0U) |        \
544
                                     PIN_AFIO_AF(GPIOB_SWO, 0U) |           \
545
                                     PIN_AFIO_AF(GPIOB_RESET, 0U) |         \
546
                                     PIN_AFIO_AF(GPIOB_PIN5, 0U) |          \
547
                                     PIN_AFIO_AF(GPIOB_PIN6, 0U) |          \
548
                                     PIN_AFIO_AF(GPIOB_UART_CTS, 0U))
549
#define VAL_GPIOB_AFRH              (PIN_AFIO_AF(GPIOB_MIC_IN, 0U) |        \
550
                                     PIN_AFIO_AF(GPIOB_PIN9, 0U) |          \
551
                                     PIN_AFIO_AF(GPIOB_QSPI_CLK, 0U) |      \
552
                                     PIN_AFIO_AF(GPIOB_QSPI_NCS, 0U) |      \
553
                                     PIN_AFIO_AF(GPIOB_PWR_CD, 0U) |        \
554
                                     PIN_AFIO_AF(GPIOB_SCL, 0U) |           \
555
                                     PIN_AFIO_AF(GPIOB_SDA, 0U) |           \
556
                                     PIN_AFIO_AF(GPIOB_PIN15, 0U))
557
#define VAL_GPIOB_ASCR              (PIN_ASCR_DISABLED(GPIOB_QSPI_IO1) |    \
558
                                     PIN_ASCR_DISABLED(GPIOB_QSPI_IO0) |    \
559
                                     PIN_ASCR_DISABLED(GPIOB_MIC_EN) |      \
560
                                     PIN_ASCR_DISABLED(GPIOB_SWO) |         \
561
                                     PIN_ASCR_DISABLED(GPIOB_RESET) |       \
562
                                     PIN_ASCR_DISABLED(GPIOB_PIN5) |        \
563
                                     PIN_ASCR_DISABLED(GPIOB_PIN6) |        \
564
                                     PIN_ASCR_DISABLED(GPIOB_UART_CTS) |    \
565
                                     PIN_ASCR_DISABLED(GPIOB_MIC_IN) |      \
566
                                     PIN_ASCR_DISABLED(GPIOB_PIN9) |        \
567
                                     PIN_ASCR_DISABLED(GPIOB_QSPI_CLK) |    \
568
                                     PIN_ASCR_DISABLED(GPIOB_QSPI_NCS) |    \
569
                                     PIN_ASCR_DISABLED(GPIOB_PWR_CD) |      \
570
                                     PIN_ASCR_DISABLED(GPIOB_SCL) |         \
571
                                     PIN_ASCR_DISABLED(GPIOB_SDA) |         \
572
                                     PIN_ASCR_DISABLED(GPIOB_PIN15))
573
#define VAL_GPIOB_LOCKR             (PIN_LOCKR_DISABLED(GPIOB_QSPI_IO1) |   \
574
                                     PIN_LOCKR_DISABLED(GPIOB_QSPI_IO0) |   \
575
                                     PIN_LOCKR_DISABLED(GPIOB_MIC_EN) |     \
576
                                     PIN_LOCKR_DISABLED(GPIOB_SWO) |        \
577
                                     PIN_LOCKR_DISABLED(GPIOB_RESET) |      \
578
                                     PIN_LOCKR_DISABLED(GPIOB_PIN5) |       \
579
                                     PIN_LOCKR_DISABLED(GPIOB_PIN6) |       \
580
                                     PIN_LOCKR_DISABLED(GPIOB_UART_CTS) |   \
581
                                     PIN_LOCKR_DISABLED(GPIOB_MIC_IN) |     \
582
                                     PIN_LOCKR_DISABLED(GPIOB_PIN9) |       \
583
                                     PIN_LOCKR_DISABLED(GPIOB_QSPI_CLK) |   \
584
                                     PIN_LOCKR_DISABLED(GPIOB_QSPI_NCS) |   \
585
                                     PIN_LOCKR_DISABLED(GPIOB_PWR_CD) |     \
586
                                     PIN_LOCKR_DISABLED(GPIOB_SCL) |        \
587
                                     PIN_LOCKR_DISABLED(GPIOB_SDA) |        \
588
                                     PIN_LOCKR_DISABLED(GPIOB_PIN15))
589

    
590
/*
591
 * GPIOC setup:
592
 *
593
 * PC0  - PIN0                      (analog).
594
 * PC1  - PIN1                      (analog).
595
 * PC2  - MIC_CLK                   (analog).
596
 * PC3  - PIN3                      (analog).
597
 * PC4  - QSPI_EN                   (analog).
598
 * PC5  - MCU_WKUP                  (analog).
599
 * PC6  - PIN6                      (analog).
600
 * PC7  - BUZZ_OUT                  (analog).
601
 * PC8  - PIN8                      (analog).
602
 * PC9  - VIB_OUT                   (analog).
603
 * PC10 - UART_TX                   (analog).
604
 * PC11 - UART_RX                   (analog).
605
 * PC12 - PIN12                     (analog).
606
 * PC13 - PIN13                     (analog).
607
 * PC14 - OSC32_IN                  (input floating).
608
 * PC15 - OSC32_OUT                 (input floating).
609
 */
610
#define VAL_GPIOC_MODER             (PIN_MODE_ANALOG(GPIOC_PIN0) |          \
611
                                     PIN_MODE_ANALOG(GPIOC_PIN1) |          \
612
                                     PIN_MODE_ANALOG(GPIOC_MIC_CLK) |       \
613
                                     PIN_MODE_ANALOG(GPIOC_PIN3) |          \
614
                                     PIN_MODE_ANALOG(GPIOC_QSPI_EN) |       \
615
                                     PIN_MODE_ANALOG(GPIOC_MCU_WKUP) |      \
616
                                     PIN_MODE_ANALOG(GPIOC_PIN6) |          \
617
                                     PIN_MODE_ANALOG(GPIOC_BUZZ_OUT) |      \
618
                                     PIN_MODE_ANALOG(GPIOC_PIN8) |          \
619
                                     PIN_MODE_ANALOG(GPIOC_VIB_OUT) |       \
620
                                     PIN_MODE_ANALOG(GPIOC_UART_TX) |       \
621
                                     PIN_MODE_ANALOG(GPIOC_UART_RX) |       \
622
                                     PIN_MODE_ANALOG(GPIOC_PIN12) |         \
623
                                     PIN_MODE_ANALOG(GPIOC_PIN13) |         \
624
                                     PIN_MODE_INPUT(GPIOC_OSC32_IN) |       \
625
                                     PIN_MODE_INPUT(GPIOC_OSC32_OUT))
626
#define VAL_GPIOC_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOC_PIN0) |       \
627
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN1) |       \
628
                                     PIN_OTYPE_PUSHPULL(GPIOC_MIC_CLK) |    \
629
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN3) |       \
630
                                     PIN_OTYPE_PUSHPULL(GPIOC_QSPI_EN) |    \
631
                                     PIN_OTYPE_PUSHPULL(GPIOC_MCU_WKUP) |   \
632
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN6) |       \
633
                                     PIN_OTYPE_PUSHPULL(GPIOC_BUZZ_OUT) |   \
634
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN8) |       \
635
                                     PIN_OTYPE_PUSHPULL(GPIOC_VIB_OUT) |    \
636
                                     PIN_OTYPE_PUSHPULL(GPIOC_UART_TX) |    \
637
                                     PIN_OTYPE_PUSHPULL(GPIOC_UART_RX) |    \
638
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN12) |      \
639
                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN13) |      \
640
                                     PIN_OTYPE_PUSHPULL(GPIOC_OSC32_IN) |   \
641
                                     PIN_OTYPE_PUSHPULL(GPIOC_OSC32_OUT))
642
#define VAL_GPIOC_OSPEEDR           (PIN_OSPEED_HIGH(GPIOC_PIN0) |          \
643
                                     PIN_OSPEED_HIGH(GPIOC_PIN1) |          \
644
                                     PIN_OSPEED_HIGH(GPIOC_MIC_CLK) |       \
645
                                     PIN_OSPEED_HIGH(GPIOC_PIN3) |          \
646
                                     PIN_OSPEED_HIGH(GPIOC_QSPI_EN) |       \
647
                                     PIN_OSPEED_HIGH(GPIOC_MCU_WKUP) |      \
648
                                     PIN_OSPEED_HIGH(GPIOC_PIN6) |          \
649
                                     PIN_OSPEED_HIGH(GPIOC_BUZZ_OUT) |      \
650
                                     PIN_OSPEED_HIGH(GPIOC_PIN8) |          \
651
                                     PIN_OSPEED_HIGH(GPIOC_VIB_OUT) |       \
652
                                     PIN_OSPEED_HIGH(GPIOC_UART_TX) |       \
653
                                     PIN_OSPEED_HIGH(GPIOC_UART_RX) |       \
654
                                     PIN_OSPEED_HIGH(GPIOC_PIN12) |         \
655
                                     PIN_OSPEED_HIGH(GPIOC_PIN13) |         \
656
                                     PIN_OSPEED_HIGH(GPIOC_OSC32_IN) |      \
657
                                     PIN_OSPEED_HIGH(GPIOC_OSC32_OUT))
658
#define VAL_GPIOC_PUPDR             (PIN_PUPDR_FLOATING(GPIOC_PIN0) |       \
659
                                     PIN_PUPDR_FLOATING(GPIOC_PIN1) |       \
660
                                     PIN_PUPDR_FLOATING(GPIOC_MIC_CLK) |    \
661
                                     PIN_PUPDR_FLOATING(GPIOC_PIN3) |       \
662
                                     PIN_PUPDR_FLOATING(GPIOC_QSPI_EN) |    \
663
                                     PIN_PUPDR_FLOATING(GPIOC_MCU_WKUP) |   \
664
                                     PIN_PUPDR_FLOATING(GPIOC_PIN6) |       \
665
                                     PIN_PUPDR_FLOATING(GPIOC_BUZZ_OUT) |   \
666
                                     PIN_PUPDR_FLOATING(GPIOC_PIN8) |       \
667
                                     PIN_PUPDR_FLOATING(GPIOC_VIB_OUT) |    \
668
                                     PIN_PUPDR_FLOATING(GPIOC_UART_TX) |    \
669
                                     PIN_PUPDR_FLOATING(GPIOC_UART_RX) |    \
670
                                     PIN_PUPDR_FLOATING(GPIOC_PIN12) |      \
671
                                     PIN_PUPDR_FLOATING(GPIOC_PIN13) |      \
672
                                     PIN_PUPDR_FLOATING(GPIOC_OSC32_IN) |   \
673
                                     PIN_PUPDR_FLOATING(GPIOC_OSC32_OUT))
674
#define VAL_GPIOC_ODR               (PIN_ODR_HIGH(GPIOC_PIN0) |             \
675
                                     PIN_ODR_HIGH(GPIOC_PIN1) |             \
676
                                     PIN_ODR_HIGH(GPIOC_MIC_CLK) |          \
677
                                     PIN_ODR_HIGH(GPIOC_PIN3) |             \
678
                                     PIN_ODR_HIGH(GPIOC_QSPI_EN) |          \
679
                                     PIN_ODR_HIGH(GPIOC_MCU_WKUP) |         \
680
                                     PIN_ODR_HIGH(GPIOC_PIN6) |             \
681
                                     PIN_ODR_HIGH(GPIOC_BUZZ_OUT) |         \
682
                                     PIN_ODR_HIGH(GPIOC_PIN8) |             \
683
                                     PIN_ODR_HIGH(GPIOC_VIB_OUT) |          \
684
                                     PIN_ODR_HIGH(GPIOC_UART_TX) |          \
685
                                     PIN_ODR_HIGH(GPIOC_UART_RX) |          \
686
                                     PIN_ODR_HIGH(GPIOC_PIN12) |            \
687
                                     PIN_ODR_HIGH(GPIOC_PIN13) |            \
688
                                     PIN_ODR_HIGH(GPIOC_OSC32_IN) |         \
689
                                     PIN_ODR_HIGH(GPIOC_OSC32_OUT))
690
#define VAL_GPIOC_AFRL              (PIN_AFIO_AF(GPIOC_PIN0, 0U) |          \
691
                                     PIN_AFIO_AF(GPIOC_PIN1, 0U) |          \
692
                                     PIN_AFIO_AF(GPIOC_MIC_CLK, 0U) |       \
693
                                     PIN_AFIO_AF(GPIOC_PIN3, 0U) |          \
694
                                     PIN_AFIO_AF(GPIOC_QSPI_EN, 0U) |       \
695
                                     PIN_AFIO_AF(GPIOC_MCU_WKUP, 0U) |      \
696
                                     PIN_AFIO_AF(GPIOC_PIN6, 0U) |          \
697
                                     PIN_AFIO_AF(GPIOC_BUZZ_OUT, 0U))
698
#define VAL_GPIOC_AFRH              (PIN_AFIO_AF(GPIOC_PIN8, 0U) |          \
699
                                     PIN_AFIO_AF(GPIOC_VIB_OUT, 0U) |       \
700
                                     PIN_AFIO_AF(GPIOC_UART_TX, 0U) |       \
701
                                     PIN_AFIO_AF(GPIOC_UART_RX, 0U) |       \
702
                                     PIN_AFIO_AF(GPIOC_PIN12, 0U) |         \
703
                                     PIN_AFIO_AF(GPIOC_PIN13, 0U) |         \
704
                                     PIN_AFIO_AF(GPIOC_OSC32_IN, 0U) |      \
705
                                     PIN_AFIO_AF(GPIOC_OSC32_OUT, 0U))
706
#define VAL_GPIOC_ASCR              (PIN_ASCR_DISABLED(GPIOC_PIN0) |        \
707
                                     PIN_ASCR_DISABLED(GPIOC_PIN1) |        \
708
                                     PIN_ASCR_DISABLED(GPIOC_MIC_CLK) |     \
709
                                     PIN_ASCR_DISABLED(GPIOC_PIN3) |        \
710
                                     PIN_ASCR_DISABLED(GPIOC_QSPI_EN) |     \
711
                                     PIN_ASCR_DISABLED(GPIOC_MCU_WKUP) |    \
712
                                     PIN_ASCR_DISABLED(GPIOC_PIN6) |        \
713
                                     PIN_ASCR_DISABLED(GPIOC_BUZZ_OUT) |    \
714
                                     PIN_ASCR_DISABLED(GPIOC_PIN8) |        \
715
                                     PIN_ASCR_DISABLED(GPIOC_VIB_OUT) |     \
716
                                     PIN_ASCR_DISABLED(GPIOC_UART_TX) |     \
717
                                     PIN_ASCR_DISABLED(GPIOC_UART_RX) |     \
718
                                     PIN_ASCR_DISABLED(GPIOC_PIN12) |       \
719
                                     PIN_ASCR_DISABLED(GPIOC_PIN13) |       \
720
                                     PIN_ASCR_DISABLED(GPIOC_OSC32_IN) |    \
721
                                     PIN_ASCR_DISABLED(GPIOC_OSC32_OUT))
722
#define VAL_GPIOC_LOCKR             (PIN_LOCKR_DISABLED(GPIOC_PIN0) |       \
723
                                     PIN_LOCKR_DISABLED(GPIOC_PIN1) |       \
724
                                     PIN_LOCKR_DISABLED(GPIOC_MIC_CLK) |    \
725
                                     PIN_LOCKR_DISABLED(GPIOC_PIN3) |       \
726
                                     PIN_LOCKR_DISABLED(GPIOC_QSPI_EN) |    \
727
                                     PIN_LOCKR_DISABLED(GPIOC_MCU_WKUP) |   \
728
                                     PIN_LOCKR_DISABLED(GPIOC_PIN6) |       \
729
                                     PIN_LOCKR_DISABLED(GPIOC_BUZZ_OUT) |   \
730
                                     PIN_LOCKR_DISABLED(GPIOC_PIN8) |       \
731
                                     PIN_LOCKR_DISABLED(GPIOC_VIB_OUT) |    \
732
                                     PIN_LOCKR_DISABLED(GPIOC_UART_TX) |    \
733
                                     PIN_LOCKR_DISABLED(GPIOC_UART_RX) |    \
734
                                     PIN_LOCKR_DISABLED(GPIOC_PIN12) |      \
735
                                     PIN_LOCKR_DISABLED(GPIOC_PIN13) |      \
736
                                     PIN_LOCKR_DISABLED(GPIOC_OSC32_IN) |   \
737
                                     PIN_LOCKR_DISABLED(GPIOC_OSC32_OUT))
738

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

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

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

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

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

    
1484
/*===========================================================================*/
1485
/* External declarations.                                                    */
1486
/*===========================================================================*/
1487

    
1488
#if !defined(_FROM_ASM_)
1489
#ifdef __cplusplus
1490
extern "C" {
1491
#endif
1492
  void boardInit(void);
1493
#ifdef __cplusplus
1494
}
1495
#endif
1496
#endif /* _FROM_ASM_ */
1497

    
1498
#endif /* BOARD_H */