aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios/os/hal/boards/ST_STM32L_DISCOVERY/board.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios/os/hal/boards/ST_STM32L_DISCOVERY/board.h')
-rw-r--r--lib/chibios/os/hal/boards/ST_STM32L_DISCOVERY/board.h934
1 files changed, 934 insertions, 0 deletions
diff --git a/lib/chibios/os/hal/boards/ST_STM32L_DISCOVERY/board.h b/lib/chibios/os/hal/boards/ST_STM32L_DISCOVERY/board.h
new file mode 100644
index 000000000..7b765b2d2
--- /dev/null
+++ b/lib/chibios/os/hal/boards/ST_STM32L_DISCOVERY/board.h
@@ -0,0 +1,934 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * This file has been automatically generated using ChibiStudio board
19 * generator plugin. Do not edit manually.
20 */
21
22#ifndef BOARD_H
23#define BOARD_H
24
25/*===========================================================================*/
26/* Driver constants. */
27/*===========================================================================*/
28
29/*
30 * Setup for ST STM32L-Discovery board.
31 */
32
33/*
34 * Board identifier.
35 */
36#define BOARD_ST_STM32L_DISCOVERY
37#define BOARD_NAME "ST STM32L-Discovery"
38
39/*
40 * Board oscillators-related settings.
41 * NOTE: HSE not fitted.
42 */
43#if !defined(STM32_LSECLK)
44#define STM32_LSECLK 32768U
45#endif
46
47#if !defined(STM32_HSECLK)
48#define STM32_HSECLK 0U
49#endif
50
51#define STM32_HSE_BYPASS
52
53/*
54 * MCU type as defined in the ST header.
55 */
56#define STM32L152xB
57
58/*
59 * IO pins assignments.
60 */
61#define GPIOA_BUTTON 0U
62#define GPIOA_PIN1 1U
63#define GPIOA_PIN2 2U
64#define GPIOA_PIN3 3U
65#define GPIOA_PIN4 4U
66#define GPIOA_PIN5 5U
67#define GPIOA_PIN6 6U
68#define GPIOA_PIN7 7U
69#define GPIOA_PIN8 8U
70#define GPIOA_PIN9 9U
71#define GPIOA_PIN10 10U
72#define GPIOA_PIN11 11U
73#define GPIOA_PIN12 12U
74#define GPIOA_JTAG_TMS 13U
75#define GPIOA_JTAG_TCK 14U
76#define GPIOA_JTAG_TDI 15U
77
78#define GPIOB_PIN0 0U
79#define GPIOB_PIN1 1U
80#define GPIOB_BOOT1 2U
81#define GPIOB_JTAG_TDO 3U
82#define GPIOB_JTAG_TRST 4U
83#define GPIOB_PIN5 5U
84#define GPIOB_LED4 6U
85#define GPIOB_LED3 7U
86#define GPIOB_PIN8 8U
87#define GPIOB_PIN9 9U
88#define GPIOB_PIN10 10U
89#define GPIOB_PIN11 11U
90#define GPIOB_PIN12 12U
91#define GPIOB_PIN13 13U
92#define GPIOB_PIN14 14U
93#define GPIOB_PIN15 15U
94
95#define GPIOC_PIN0 0U
96#define GPIOC_PIN1 1U
97#define GPIOC_PIN2 2U
98#define GPIOC_PIN3 3U
99#define GPIOC_PIN4 4U
100#define GPIOC_PIN5 5U
101#define GPIOC_PIN6 6U
102#define GPIOC_PIN7 7U
103#define GPIOC_PIN8 8U
104#define GPIOC_PIN9 9U
105#define GPIOC_PIN10 10U
106#define GPIOC_PIN11 11U
107#define GPIOC_PIN12 12U
108#define GPIOC_PIN13 13U
109#define GPIOC_OSC32_IN 14U
110#define GPIOC_OSC32_OUT 15U
111
112#define GPIOD_PIN0 0U
113#define GPIOD_PIN1 1U
114#define GPIOD_PIN2 2U
115#define GPIOD_PIN3 3U
116#define GPIOD_PIN4 4U
117#define GPIOD_PIN5 5U
118#define GPIOD_PIN6 6U
119#define GPIOD_PIN7 7U
120#define GPIOD_PIN8 8U
121#define GPIOD_PIN9 9U
122#define GPIOD_PIN10 10U
123#define GPIOD_PIN11 11U
124#define GPIOD_PIN12 12U
125#define GPIOD_PIN13 13U
126#define GPIOD_PIN14 14U
127#define GPIOD_PIN15 15U
128
129#define GPIOE_PIN0 0U
130#define GPIOE_PIN1 1U
131#define GPIOE_PIN2 2U
132#define GPIOE_PIN3 3U
133#define GPIOE_PIN4 4U
134#define GPIOE_PIN5 5U
135#define GPIOE_PIN6 6U
136#define GPIOE_PIN7 7U
137#define GPIOE_PIN8 8U
138#define GPIOE_PIN9 9U
139#define GPIOE_PIN10 10U
140#define GPIOE_PIN11 11U
141#define GPIOE_PIN12 12U
142#define GPIOE_PIN13 13U
143#define GPIOE_PIN14 14U
144#define GPIOE_PIN15 15U
145
146#define GPIOH_OSC_IN 0U
147#define GPIOH_OSC_OUT 1U
148#define GPIOH_PIN2 2U
149#define GPIOH_PIN3 3U
150#define GPIOH_PIN4 4U
151#define GPIOH_PIN5 5U
152#define GPIOH_PIN6 6U
153#define GPIOH_PIN7 7U
154#define GPIOH_PIN8 8U
155#define GPIOH_PIN9 9U
156#define GPIOH_PIN10 10U
157#define GPIOH_PIN11 11U
158#define GPIOH_PIN12 12U
159#define GPIOH_PIN13 13U
160#define GPIOH_PIN14 14U
161#define GPIOH_PIN15 15U
162
163/*
164 * IO lines assignments.
165 */
166#define LINE_BUTTON PAL_LINE(GPIOA, 0U)
167#define LINE_JTAG_TMS PAL_LINE(GPIOA, 13U)
168#define LINE_JTAG_TCK PAL_LINE(GPIOA, 14U)
169#define LINE_JTAG_TDI PAL_LINE(GPIOA, 15U)
170#define LINE_BOOT1 PAL_LINE(GPIOB, 2U)
171#define LINE_JTAG_TDO PAL_LINE(GPIOB, 3U)
172#define LINE_JTAG_TRST PAL_LINE(GPIOB, 4U)
173#define LINE_LED4 PAL_LINE(GPIOB, 6U)
174#define LINE_LED3 PAL_LINE(GPIOB, 7U)
175#define LINE_OSC32_IN PAL_LINE(GPIOC, 14U)
176#define LINE_OSC32_OUT PAL_LINE(GPIOC, 15U)
177#define LINE_OSC_IN PAL_LINE(GPIOH, 0U)
178#define LINE_OSC_OUT PAL_LINE(GPIOH, 1U)
179
180/*===========================================================================*/
181/* Driver pre-compile time settings. */
182/*===========================================================================*/
183
184/*===========================================================================*/
185/* Derived constants and error checks. */
186/*===========================================================================*/
187
188/*===========================================================================*/
189/* Driver data structures and types. */
190/*===========================================================================*/
191
192/*===========================================================================*/
193/* Driver macros. */
194/*===========================================================================*/
195
196/*
197 * I/O ports initial setup, this configuration is established soon after reset
198 * in the initialization code.
199 * Please refer to the STM32 Reference Manual for details.
200 */
201#define PIN_MODE_INPUT(n) (0U << ((n) * 2U))
202#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U))
203#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U))
204#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U))
205#define PIN_ODR_LOW(n) (0U << (n))
206#define PIN_ODR_HIGH(n) (1U << (n))
207#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
208#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
209#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U))
210#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U))
211#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U))
212#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U))
213#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U))
214#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U))
215#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U))
216#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U))
217
218/*
219 * GPIOA setup:
220 *
221 * PA0 - BUTTON (input floating).
222 * PA1 - PIN1 (input pullup).
223 * PA2 - PIN2 (input pullup).
224 * PA3 - PIN3 (input pullup).
225 * PA4 - PIN4 (input pullup).
226 * PA5 - PIN5 (input pullup).
227 * PA6 - PIN6 (input pullup).
228 * PA7 - PIN7 (input pullup).
229 * PA8 - PIN8 (input pullup).
230 * PA9 - PIN9 (input pullup).
231 * PA10 - PIN10 (input pullup).
232 * PA11 - PIN11 (input pullup).
233 * PA12 - PIN12 (input pullup).
234 * PA13 - JTAG_TMS (alternate 0).
235 * PA14 - JTAG_TCK (alternate 0).
236 * PA15 - JTAG_TDI (alternate 0).
237 */
238#define VAL_GPIOA_MODER (PIN_MODE_INPUT(GPIOA_BUTTON) | \
239 PIN_MODE_INPUT(GPIOA_PIN1) | \
240 PIN_MODE_INPUT(GPIOA_PIN2) | \
241 PIN_MODE_INPUT(GPIOA_PIN3) | \
242 PIN_MODE_INPUT(GPIOA_PIN4) | \
243 PIN_MODE_INPUT(GPIOA_PIN5) | \
244 PIN_MODE_INPUT(GPIOA_PIN6) | \
245 PIN_MODE_INPUT(GPIOA_PIN7) | \
246 PIN_MODE_INPUT(GPIOA_PIN8) | \
247 PIN_MODE_INPUT(GPIOA_PIN9) | \
248 PIN_MODE_INPUT(GPIOA_PIN10) | \
249 PIN_MODE_INPUT(GPIOA_PIN11) | \
250 PIN_MODE_INPUT(GPIOA_PIN12) | \
251 PIN_MODE_ALTERNATE(GPIOA_JTAG_TMS) | \
252 PIN_MODE_ALTERNATE(GPIOA_JTAG_TCK) | \
253 PIN_MODE_ALTERNATE(GPIOA_JTAG_TDI))
254#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(GPIOA_BUTTON) | \
255 PIN_OTYPE_PUSHPULL(GPIOA_PIN1) | \
256 PIN_OTYPE_PUSHPULL(GPIOA_PIN2) | \
257 PIN_OTYPE_PUSHPULL(GPIOA_PIN3) | \
258 PIN_OTYPE_PUSHPULL(GPIOA_PIN4) | \
259 PIN_OTYPE_PUSHPULL(GPIOA_PIN5) | \
260 PIN_OTYPE_PUSHPULL(GPIOA_PIN6) | \
261 PIN_OTYPE_PUSHPULL(GPIOA_PIN7) | \
262 PIN_OTYPE_PUSHPULL(GPIOA_PIN8) | \
263 PIN_OTYPE_PUSHPULL(GPIOA_PIN9) | \
264 PIN_OTYPE_PUSHPULL(GPIOA_PIN10) | \
265 PIN_OTYPE_PUSHPULL(GPIOA_PIN11) | \
266 PIN_OTYPE_PUSHPULL(GPIOA_PIN12) | \
267 PIN_OTYPE_PUSHPULL(GPIOA_JTAG_TMS) | \
268 PIN_OTYPE_PUSHPULL(GPIOA_JTAG_TCK) | \
269 PIN_OTYPE_PUSHPULL(GPIOA_JTAG_TDI))
270#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOA_BUTTON) | \
271 PIN_OSPEED_VERYLOW(GPIOA_PIN1) | \
272 PIN_OSPEED_VERYLOW(GPIOA_PIN2) | \
273 PIN_OSPEED_VERYLOW(GPIOA_PIN3) | \
274 PIN_OSPEED_VERYLOW(GPIOA_PIN4) | \
275 PIN_OSPEED_VERYLOW(GPIOA_PIN5) | \
276 PIN_OSPEED_VERYLOW(GPIOA_PIN6) | \
277 PIN_OSPEED_VERYLOW(GPIOA_PIN7) | \
278 PIN_OSPEED_VERYLOW(GPIOA_PIN8) | \
279 PIN_OSPEED_VERYLOW(GPIOA_PIN9) | \
280 PIN_OSPEED_VERYLOW(GPIOA_PIN10) | \
281 PIN_OSPEED_VERYLOW(GPIOA_PIN11) | \
282 PIN_OSPEED_VERYLOW(GPIOA_PIN12) | \
283 PIN_OSPEED_HIGH(GPIOA_JTAG_TMS) | \
284 PIN_OSPEED_HIGH(GPIOA_JTAG_TCK) | \
285 PIN_OSPEED_HIGH(GPIOA_JTAG_TDI))
286#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING(GPIOA_BUTTON) | \
287 PIN_PUPDR_PULLUP(GPIOA_PIN1) | \
288 PIN_PUPDR_PULLUP(GPIOA_PIN2) | \
289 PIN_PUPDR_PULLUP(GPIOA_PIN3) | \
290 PIN_PUPDR_PULLUP(GPIOA_PIN4) | \
291 PIN_PUPDR_PULLUP(GPIOA_PIN5) | \
292 PIN_PUPDR_PULLUP(GPIOA_PIN6) | \
293 PIN_PUPDR_PULLUP(GPIOA_PIN7) | \
294 PIN_PUPDR_PULLUP(GPIOA_PIN8) | \
295 PIN_PUPDR_PULLUP(GPIOA_PIN9) | \
296 PIN_PUPDR_PULLUP(GPIOA_PIN10) | \
297 PIN_PUPDR_PULLUP(GPIOA_PIN11) | \
298 PIN_PUPDR_PULLUP(GPIOA_PIN12) | \
299 PIN_PUPDR_PULLUP(GPIOA_JTAG_TMS) | \
300 PIN_PUPDR_PULLDOWN(GPIOA_JTAG_TCK) | \
301 PIN_PUPDR_PULLUP(GPIOA_JTAG_TDI))
302#define VAL_GPIOA_ODR (PIN_ODR_HIGH(GPIOA_BUTTON) | \
303 PIN_ODR_HIGH(GPIOA_PIN1) | \
304 PIN_ODR_HIGH(GPIOA_PIN2) | \
305 PIN_ODR_HIGH(GPIOA_PIN3) | \
306 PIN_ODR_HIGH(GPIOA_PIN4) | \
307 PIN_ODR_HIGH(GPIOA_PIN5) | \
308 PIN_ODR_HIGH(GPIOA_PIN6) | \
309 PIN_ODR_HIGH(GPIOA_PIN7) | \
310 PIN_ODR_HIGH(GPIOA_PIN8) | \
311 PIN_ODR_HIGH(GPIOA_PIN9) | \
312 PIN_ODR_HIGH(GPIOA_PIN10) | \
313 PIN_ODR_HIGH(GPIOA_PIN11) | \
314 PIN_ODR_HIGH(GPIOA_PIN12) | \
315 PIN_ODR_HIGH(GPIOA_JTAG_TMS) | \
316 PIN_ODR_HIGH(GPIOA_JTAG_TCK) | \
317 PIN_ODR_HIGH(GPIOA_JTAG_TDI))
318#define VAL_GPIOA_AFRL (PIN_AFIO_AF(GPIOA_BUTTON, 0U) | \
319 PIN_AFIO_AF(GPIOA_PIN1, 0U) | \
320 PIN_AFIO_AF(GPIOA_PIN2, 0U) | \
321 PIN_AFIO_AF(GPIOA_PIN3, 0U) | \
322 PIN_AFIO_AF(GPIOA_PIN4, 0U) | \
323 PIN_AFIO_AF(GPIOA_PIN5, 0U) | \
324 PIN_AFIO_AF(GPIOA_PIN6, 0U) | \
325 PIN_AFIO_AF(GPIOA_PIN7, 0U))
326#define VAL_GPIOA_AFRH (PIN_AFIO_AF(GPIOA_PIN8, 0U) | \
327 PIN_AFIO_AF(GPIOA_PIN9, 0U) | \
328 PIN_AFIO_AF(GPIOA_PIN10, 0U) | \
329 PIN_AFIO_AF(GPIOA_PIN11, 0U) | \
330 PIN_AFIO_AF(GPIOA_PIN12, 0U) | \
331 PIN_AFIO_AF(GPIOA_JTAG_TMS, 0U) | \
332 PIN_AFIO_AF(GPIOA_JTAG_TCK, 0U) | \
333 PIN_AFIO_AF(GPIOA_JTAG_TDI, 0U))
334
335/*
336 * GPIOB setup:
337 *
338 * PB0 - PIN0 (input pullup).
339 * PB1 - PIN1 (input pullup).
340 * PB2 - BOOT1 (input floating).
341 * PB3 - JTAG_TDO (alternate 0).
342 * PB4 - JTAG_TRST (alternate 0).
343 * PB5 - PIN5 (input pullup).
344 * PB6 - LED4 (output pushpull maximum).
345 * PB7 - LED3 (output pushpull maximum).
346 * PB8 - PIN8 (input pullup).
347 * PB9 - PIN9 (input pullup).
348 * PB10 - PIN10 (input pullup).
349 * PB11 - PIN11 (input pullup).
350 * PB12 - PIN12 (input pullup).
351 * PB13 - PIN13 (input pullup).
352 * PB14 - PIN14 (input pullup).
353 * PB15 - PIN15 (input pullup).
354 */
355#define VAL_GPIOB_MODER (PIN_MODE_INPUT(GPIOB_PIN0) | \
356 PIN_MODE_INPUT(GPIOB_PIN1) | \
357 PIN_MODE_INPUT(GPIOB_BOOT1) | \
358 PIN_MODE_ALTERNATE(GPIOB_JTAG_TDO) | \
359 PIN_MODE_ALTERNATE(GPIOB_JTAG_TRST) | \
360 PIN_MODE_INPUT(GPIOB_PIN5) | \
361 PIN_MODE_OUTPUT(GPIOB_LED4) | \
362 PIN_MODE_OUTPUT(GPIOB_LED3) | \
363 PIN_MODE_INPUT(GPIOB_PIN8) | \
364 PIN_MODE_INPUT(GPIOB_PIN9) | \
365 PIN_MODE_INPUT(GPIOB_PIN10) | \
366 PIN_MODE_INPUT(GPIOB_PIN11) | \
367 PIN_MODE_INPUT(GPIOB_PIN12) | \
368 PIN_MODE_INPUT(GPIOB_PIN13) | \
369 PIN_MODE_INPUT(GPIOB_PIN14) | \
370 PIN_MODE_INPUT(GPIOB_PIN15))
371#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(GPIOB_PIN0) | \
372 PIN_OTYPE_PUSHPULL(GPIOB_PIN1) | \
373 PIN_OTYPE_PUSHPULL(GPIOB_BOOT1) | \
374 PIN_OTYPE_PUSHPULL(GPIOB_JTAG_TDO) | \
375 PIN_OTYPE_PUSHPULL(GPIOB_JTAG_TRST) | \
376 PIN_OTYPE_PUSHPULL(GPIOB_PIN5) | \
377 PIN_OTYPE_PUSHPULL(GPIOB_LED4) | \
378 PIN_OTYPE_PUSHPULL(GPIOB_LED3) | \
379 PIN_OTYPE_PUSHPULL(GPIOB_PIN8) | \
380 PIN_OTYPE_PUSHPULL(GPIOB_PIN9) | \
381 PIN_OTYPE_PUSHPULL(GPIOB_PIN10) | \
382 PIN_OTYPE_PUSHPULL(GPIOB_PIN11) | \
383 PIN_OTYPE_PUSHPULL(GPIOB_PIN12) | \
384 PIN_OTYPE_PUSHPULL(GPIOB_PIN13) | \
385 PIN_OTYPE_PUSHPULL(GPIOB_PIN14) | \
386 PIN_OTYPE_PUSHPULL(GPIOB_PIN15))
387#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOB_PIN0) | \
388 PIN_OSPEED_VERYLOW(GPIOB_PIN1) | \
389 PIN_OSPEED_HIGH(GPIOB_BOOT1) | \
390 PIN_OSPEED_HIGH(GPIOB_JTAG_TDO) | \
391 PIN_OSPEED_HIGH(GPIOB_JTAG_TRST) | \
392 PIN_OSPEED_VERYLOW(GPIOB_PIN5) | \
393 PIN_OSPEED_HIGH(GPIOB_LED4) | \
394 PIN_OSPEED_HIGH(GPIOB_LED3) | \
395 PIN_OSPEED_VERYLOW(GPIOB_PIN8) | \
396 PIN_OSPEED_VERYLOW(GPIOB_PIN9) | \
397 PIN_OSPEED_VERYLOW(GPIOB_PIN10) | \
398 PIN_OSPEED_VERYLOW(GPIOB_PIN11) | \
399 PIN_OSPEED_VERYLOW(GPIOB_PIN12) | \
400 PIN_OSPEED_VERYLOW(GPIOB_PIN13) | \
401 PIN_OSPEED_VERYLOW(GPIOB_PIN14) | \
402 PIN_OSPEED_VERYLOW(GPIOB_PIN15))
403#define VAL_GPIOB_PUPDR (PIN_PUPDR_PULLUP(GPIOB_PIN0) | \
404 PIN_PUPDR_PULLUP(GPIOB_PIN1) | \
405 PIN_PUPDR_FLOATING(GPIOB_BOOT1) | \
406 PIN_PUPDR_FLOATING(GPIOB_JTAG_TDO) | \
407 PIN_PUPDR_PULLUP(GPIOB_JTAG_TRST) | \
408 PIN_PUPDR_PULLUP(GPIOB_PIN5) | \
409 PIN_PUPDR_FLOATING(GPIOB_LED4) | \
410 PIN_PUPDR_FLOATING(GPIOB_LED3) | \
411 PIN_PUPDR_PULLUP(GPIOB_PIN8) | \
412 PIN_PUPDR_PULLUP(GPIOB_PIN9) | \
413 PIN_PUPDR_PULLUP(GPIOB_PIN10) | \
414 PIN_PUPDR_PULLUP(GPIOB_PIN11) | \
415 PIN_PUPDR_PULLUP(GPIOB_PIN12) | \
416 PIN_PUPDR_PULLUP(GPIOB_PIN13) | \
417 PIN_PUPDR_PULLUP(GPIOB_PIN14) | \
418 PIN_PUPDR_PULLUP(GPIOB_PIN15))
419#define VAL_GPIOB_ODR (PIN_ODR_HIGH(GPIOB_PIN0) | \
420 PIN_ODR_HIGH(GPIOB_PIN1) | \
421 PIN_ODR_HIGH(GPIOB_BOOT1) | \
422 PIN_ODR_HIGH(GPIOB_JTAG_TDO) | \
423 PIN_ODR_HIGH(GPIOB_JTAG_TRST) | \
424 PIN_ODR_HIGH(GPIOB_PIN5) | \
425 PIN_ODR_LOW(GPIOB_LED4) | \
426 PIN_ODR_LOW(GPIOB_LED3) | \
427 PIN_ODR_HIGH(GPIOB_PIN8) | \
428 PIN_ODR_HIGH(GPIOB_PIN9) | \
429 PIN_ODR_HIGH(GPIOB_PIN10) | \
430 PIN_ODR_HIGH(GPIOB_PIN11) | \
431 PIN_ODR_HIGH(GPIOB_PIN12) | \
432 PIN_ODR_HIGH(GPIOB_PIN13) | \
433 PIN_ODR_HIGH(GPIOB_PIN14) | \
434 PIN_ODR_HIGH(GPIOB_PIN15))
435#define VAL_GPIOB_AFRL (PIN_AFIO_AF(GPIOB_PIN0, 0U) | \
436 PIN_AFIO_AF(GPIOB_PIN1, 0U) | \
437 PIN_AFIO_AF(GPIOB_BOOT1, 0U) | \
438 PIN_AFIO_AF(GPIOB_JTAG_TDO, 0U) | \
439 PIN_AFIO_AF(GPIOB_JTAG_TRST, 0U) | \
440 PIN_AFIO_AF(GPIOB_PIN5, 0U) | \
441 PIN_AFIO_AF(GPIOB_LED4, 0U) | \
442 PIN_AFIO_AF(GPIOB_LED3, 0U))
443#define VAL_GPIOB_AFRH (PIN_AFIO_AF(GPIOB_PIN8, 0U) | \
444 PIN_AFIO_AF(GPIOB_PIN9, 0U) | \
445 PIN_AFIO_AF(GPIOB_PIN10, 0U) | \
446 PIN_AFIO_AF(GPIOB_PIN11, 0U) | \
447 PIN_AFIO_AF(GPIOB_PIN12, 0U) | \
448 PIN_AFIO_AF(GPIOB_PIN13, 0U) | \
449 PIN_AFIO_AF(GPIOB_PIN14, 0U) | \
450 PIN_AFIO_AF(GPIOB_PIN15, 0U))
451
452/*
453 * GPIOC setup:
454 *
455 * PC0 - PIN0 (input pullup).
456 * PC1 - PIN1 (input pullup).
457 * PC2 - PIN2 (input pullup).
458 * PC3 - PIN3 (input pullup).
459 * PC4 - PIN4 (input pullup).
460 * PC5 - PIN5 (input pullup).
461 * PC6 - PIN6 (input pullup).
462 * PC7 - PIN7 (input pullup).
463 * PC8 - PIN8 (input pullup).
464 * PC9 - PIN9 (input pullup).
465 * PC10 - PIN10 (input pullup).
466 * PC11 - PIN11 (input pullup).
467 * PC12 - PIN12 (input pullup).
468 * PC13 - PIN13 (input pullup).
469 * PC14 - OSC32_IN (input floating).
470 * PC15 - OSC32_OUT (input floating).
471 */
472#define VAL_GPIOC_MODER (PIN_MODE_INPUT(GPIOC_PIN0) | \
473 PIN_MODE_INPUT(GPIOC_PIN1) | \
474 PIN_MODE_INPUT(GPIOC_PIN2) | \
475 PIN_MODE_INPUT(GPIOC_PIN3) | \
476 PIN_MODE_INPUT(GPIOC_PIN4) | \
477 PIN_MODE_INPUT(GPIOC_PIN5) | \
478 PIN_MODE_INPUT(GPIOC_PIN6) | \
479 PIN_MODE_INPUT(GPIOC_PIN7) | \
480 PIN_MODE_INPUT(GPIOC_PIN8) | \
481 PIN_MODE_INPUT(GPIOC_PIN9) | \
482 PIN_MODE_INPUT(GPIOC_PIN10) | \
483 PIN_MODE_INPUT(GPIOC_PIN11) | \
484 PIN_MODE_INPUT(GPIOC_PIN12) | \
485 PIN_MODE_INPUT(GPIOC_PIN13) | \
486 PIN_MODE_INPUT(GPIOC_OSC32_IN) | \
487 PIN_MODE_INPUT(GPIOC_OSC32_OUT))
488#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(GPIOC_PIN0) | \
489 PIN_OTYPE_PUSHPULL(GPIOC_PIN1) | \
490 PIN_OTYPE_PUSHPULL(GPIOC_PIN2) | \
491 PIN_OTYPE_PUSHPULL(GPIOC_PIN3) | \
492 PIN_OTYPE_PUSHPULL(GPIOC_PIN4) | \
493 PIN_OTYPE_PUSHPULL(GPIOC_PIN5) | \
494 PIN_OTYPE_PUSHPULL(GPIOC_PIN6) | \
495 PIN_OTYPE_PUSHPULL(GPIOC_PIN7) | \
496 PIN_OTYPE_PUSHPULL(GPIOC_PIN8) | \
497 PIN_OTYPE_PUSHPULL(GPIOC_PIN9) | \
498 PIN_OTYPE_PUSHPULL(GPIOC_PIN10) | \
499 PIN_OTYPE_PUSHPULL(GPIOC_PIN11) | \
500 PIN_OTYPE_PUSHPULL(GPIOC_PIN12) | \
501 PIN_OTYPE_PUSHPULL(GPIOC_PIN13) | \
502 PIN_OTYPE_PUSHPULL(GPIOC_OSC32_IN) | \
503 PIN_OTYPE_PUSHPULL(GPIOC_OSC32_OUT))
504#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOC_PIN0) | \
505 PIN_OSPEED_VERYLOW(GPIOC_PIN1) | \
506 PIN_OSPEED_VERYLOW(GPIOC_PIN2) | \
507 PIN_OSPEED_VERYLOW(GPIOC_PIN3) | \
508 PIN_OSPEED_VERYLOW(GPIOC_PIN4) | \
509 PIN_OSPEED_VERYLOW(GPIOC_PIN5) | \
510 PIN_OSPEED_VERYLOW(GPIOC_PIN6) | \
511 PIN_OSPEED_VERYLOW(GPIOC_PIN7) | \
512 PIN_OSPEED_VERYLOW(GPIOC_PIN8) | \
513 PIN_OSPEED_VERYLOW(GPIOC_PIN9) | \
514 PIN_OSPEED_VERYLOW(GPIOC_PIN10) | \
515 PIN_OSPEED_VERYLOW(GPIOC_PIN11) | \
516 PIN_OSPEED_VERYLOW(GPIOC_PIN12) | \
517 PIN_OSPEED_VERYLOW(GPIOC_PIN13) | \
518 PIN_OSPEED_HIGH(GPIOC_OSC32_IN) | \
519 PIN_OSPEED_HIGH(GPIOC_OSC32_OUT))
520#define VAL_GPIOC_PUPDR (PIN_PUPDR_PULLUP(GPIOC_PIN0) | \
521 PIN_PUPDR_PULLUP(GPIOC_PIN1) | \
522 PIN_PUPDR_PULLUP(GPIOC_PIN2) | \
523 PIN_PUPDR_PULLUP(GPIOC_PIN3) | \
524 PIN_PUPDR_PULLUP(GPIOC_PIN4) | \
525 PIN_PUPDR_PULLUP(GPIOC_PIN5) | \
526 PIN_PUPDR_PULLUP(GPIOC_PIN6) | \
527 PIN_PUPDR_PULLUP(GPIOC_PIN7) | \
528 PIN_PUPDR_PULLUP(GPIOC_PIN8) | \
529 PIN_PUPDR_PULLUP(GPIOC_PIN9) | \
530 PIN_PUPDR_PULLUP(GPIOC_PIN10) | \
531 PIN_PUPDR_PULLUP(GPIOC_PIN11) | \
532 PIN_PUPDR_PULLUP(GPIOC_PIN12) | \
533 PIN_PUPDR_PULLUP(GPIOC_PIN13) | \
534 PIN_PUPDR_FLOATING(GPIOC_OSC32_IN) | \
535 PIN_PUPDR_FLOATING(GPIOC_OSC32_OUT))
536#define VAL_GPIOC_ODR (PIN_ODR_HIGH(GPIOC_PIN0) | \
537 PIN_ODR_HIGH(GPIOC_PIN1) | \
538 PIN_ODR_HIGH(GPIOC_PIN2) | \
539 PIN_ODR_HIGH(GPIOC_PIN3) | \
540 PIN_ODR_HIGH(GPIOC_PIN4) | \
541 PIN_ODR_HIGH(GPIOC_PIN5) | \
542 PIN_ODR_HIGH(GPIOC_PIN6) | \
543 PIN_ODR_HIGH(GPIOC_PIN7) | \
544 PIN_ODR_HIGH(GPIOC_PIN8) | \
545 PIN_ODR_HIGH(GPIOC_PIN9) | \
546 PIN_ODR_HIGH(GPIOC_PIN10) | \
547 PIN_ODR_HIGH(GPIOC_PIN11) | \
548 PIN_ODR_HIGH(GPIOC_PIN12) | \
549 PIN_ODR_HIGH(GPIOC_PIN13) | \
550 PIN_ODR_HIGH(GPIOC_OSC32_IN) | \
551 PIN_ODR_HIGH(GPIOC_OSC32_OUT))
552#define VAL_GPIOC_AFRL (PIN_AFIO_AF(GPIOC_PIN0, 0U) | \
553 PIN_AFIO_AF(GPIOC_PIN1, 0U) | \
554 PIN_AFIO_AF(GPIOC_PIN2, 0U) | \
555 PIN_AFIO_AF(GPIOC_PIN3, 0U) | \
556 PIN_AFIO_AF(GPIOC_PIN4, 0U) | \
557 PIN_AFIO_AF(GPIOC_PIN5, 0U) | \
558 PIN_AFIO_AF(GPIOC_PIN6, 0U) | \
559 PIN_AFIO_AF(GPIOC_PIN7, 0U))
560#define VAL_GPIOC_AFRH (PIN_AFIO_AF(GPIOC_PIN8, 0U) | \
561 PIN_AFIO_AF(GPIOC_PIN9, 0U) | \
562 PIN_AFIO_AF(GPIOC_PIN10, 0U) | \
563 PIN_AFIO_AF(GPIOC_PIN11, 0U) | \
564 PIN_AFIO_AF(GPIOC_PIN12, 0U) | \
565 PIN_AFIO_AF(GPIOC_PIN13, 0U) | \
566 PIN_AFIO_AF(GPIOC_OSC32_IN, 0U) | \
567 PIN_AFIO_AF(GPIOC_OSC32_OUT, 0U))
568
569/*
570 * GPIOD setup:
571 *
572 * PD0 - PIN0 (input pullup).
573 * PD1 - PIN1 (input pullup).
574 * PD2 - PIN2 (input pullup).
575 * PD3 - PIN3 (input pullup).
576 * PD4 - PIN4 (input pullup).
577 * PD5 - PIN5 (input pullup).
578 * PD6 - PIN6 (input pullup).
579 * PD7 - PIN7 (input pullup).
580 * PD8 - PIN8 (input pullup).
581 * PD9 - PIN9 (input pullup).
582 * PD10 - PIN10 (input pullup).
583 * PD11 - PIN11 (input pullup).
584 * PD12 - PIN12 (input pullup).
585 * PD13 - PIN13 (input pullup).
586 * PD14 - PIN14 (input pullup).
587 * PD15 - PIN15 (input pullup).
588 */
589#define VAL_GPIOD_MODER (PIN_MODE_INPUT(GPIOD_PIN0) | \
590 PIN_MODE_INPUT(GPIOD_PIN1) | \
591 PIN_MODE_INPUT(GPIOD_PIN2) | \
592 PIN_MODE_INPUT(GPIOD_PIN3) | \
593 PIN_MODE_INPUT(GPIOD_PIN4) | \
594 PIN_MODE_INPUT(GPIOD_PIN5) | \
595 PIN_MODE_INPUT(GPIOD_PIN6) | \
596 PIN_MODE_INPUT(GPIOD_PIN7) | \
597 PIN_MODE_INPUT(GPIOD_PIN8) | \
598 PIN_MODE_INPUT(GPIOD_PIN9) | \
599 PIN_MODE_INPUT(GPIOD_PIN10) | \
600 PIN_MODE_INPUT(GPIOD_PIN11) | \
601 PIN_MODE_INPUT(GPIOD_PIN12) | \
602 PIN_MODE_INPUT(GPIOD_PIN13) | \
603 PIN_MODE_INPUT(GPIOD_PIN14) | \
604 PIN_MODE_INPUT(GPIOD_PIN15))
605#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL(GPIOD_PIN0) | \
606 PIN_OTYPE_PUSHPULL(GPIOD_PIN1) | \
607 PIN_OTYPE_PUSHPULL(GPIOD_PIN2) | \
608 PIN_OTYPE_PUSHPULL(GPIOD_PIN3) | \
609 PIN_OTYPE_PUSHPULL(GPIOD_PIN4) | \
610 PIN_OTYPE_PUSHPULL(GPIOD_PIN5) | \
611 PIN_OTYPE_PUSHPULL(GPIOD_PIN6) | \
612 PIN_OTYPE_PUSHPULL(GPIOD_PIN7) | \
613 PIN_OTYPE_PUSHPULL(GPIOD_PIN8) | \
614 PIN_OTYPE_PUSHPULL(GPIOD_PIN9) | \
615 PIN_OTYPE_PUSHPULL(GPIOD_PIN10) | \
616 PIN_OTYPE_PUSHPULL(GPIOD_PIN11) | \
617 PIN_OTYPE_PUSHPULL(GPIOD_PIN12) | \
618 PIN_OTYPE_PUSHPULL(GPIOD_PIN13) | \
619 PIN_OTYPE_PUSHPULL(GPIOD_PIN14) | \
620 PIN_OTYPE_PUSHPULL(GPIOD_PIN15))
621#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOD_PIN0) | \
622 PIN_OSPEED_VERYLOW(GPIOD_PIN1) | \
623 PIN_OSPEED_VERYLOW(GPIOD_PIN2) | \
624 PIN_OSPEED_VERYLOW(GPIOD_PIN3) | \
625 PIN_OSPEED_VERYLOW(GPIOD_PIN4) | \
626 PIN_OSPEED_VERYLOW(GPIOD_PIN5) | \
627 PIN_OSPEED_VERYLOW(GPIOD_PIN6) | \
628 PIN_OSPEED_VERYLOW(GPIOD_PIN7) | \
629 PIN_OSPEED_VERYLOW(GPIOD_PIN8) | \
630 PIN_OSPEED_VERYLOW(GPIOD_PIN9) | \
631 PIN_OSPEED_VERYLOW(GPIOD_PIN10) | \
632 PIN_OSPEED_VERYLOW(GPIOD_PIN11) | \
633 PIN_OSPEED_VERYLOW(GPIOD_PIN12) | \
634 PIN_OSPEED_VERYLOW(GPIOD_PIN13) | \
635 PIN_OSPEED_VERYLOW(GPIOD_PIN14) | \
636 PIN_OSPEED_VERYLOW(GPIOD_PIN15))
637#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLUP(GPIOD_PIN0) | \
638 PIN_PUPDR_PULLUP(GPIOD_PIN1) | \
639 PIN_PUPDR_PULLUP(GPIOD_PIN2) | \
640 PIN_PUPDR_PULLUP(GPIOD_PIN3) | \
641 PIN_PUPDR_PULLUP(GPIOD_PIN4) | \
642 PIN_PUPDR_PULLUP(GPIOD_PIN5) | \
643 PIN_PUPDR_PULLUP(GPIOD_PIN6) | \
644 PIN_PUPDR_PULLUP(GPIOD_PIN7) | \
645 PIN_PUPDR_PULLUP(GPIOD_PIN8) | \
646 PIN_PUPDR_PULLUP(GPIOD_PIN9) | \
647 PIN_PUPDR_PULLUP(GPIOD_PIN10) | \
648 PIN_PUPDR_PULLUP(GPIOD_PIN11) | \
649 PIN_PUPDR_PULLUP(GPIOD_PIN12) | \
650 PIN_PUPDR_PULLUP(GPIOD_PIN13) | \
651 PIN_PUPDR_PULLUP(GPIOD_PIN14) | \
652 PIN_PUPDR_PULLUP(GPIOD_PIN15))
653#define VAL_GPIOD_ODR (PIN_ODR_HIGH(GPIOD_PIN0) | \
654 PIN_ODR_HIGH(GPIOD_PIN1) | \
655 PIN_ODR_HIGH(GPIOD_PIN2) | \
656 PIN_ODR_HIGH(GPIOD_PIN3) | \
657 PIN_ODR_HIGH(GPIOD_PIN4) | \
658 PIN_ODR_HIGH(GPIOD_PIN5) | \
659 PIN_ODR_HIGH(GPIOD_PIN6) | \
660 PIN_ODR_HIGH(GPIOD_PIN7) | \
661 PIN_ODR_HIGH(GPIOD_PIN8) | \
662 PIN_ODR_HIGH(GPIOD_PIN9) | \
663 PIN_ODR_HIGH(GPIOD_PIN10) | \
664 PIN_ODR_HIGH(GPIOD_PIN11) | \
665 PIN_ODR_HIGH(GPIOD_PIN12) | \
666 PIN_ODR_HIGH(GPIOD_PIN13) | \
667 PIN_ODR_HIGH(GPIOD_PIN14) | \
668 PIN_ODR_HIGH(GPIOD_PIN15))
669#define VAL_GPIOD_AFRL (PIN_AFIO_AF(GPIOD_PIN0, 0U) | \
670 PIN_AFIO_AF(GPIOD_PIN1, 0U) | \
671 PIN_AFIO_AF(GPIOD_PIN2, 0U) | \
672 PIN_AFIO_AF(GPIOD_PIN3, 0U) | \
673 PIN_AFIO_AF(GPIOD_PIN4, 0U) | \
674 PIN_AFIO_AF(GPIOD_PIN5, 0U) | \
675 PIN_AFIO_AF(GPIOD_PIN6, 0U) | \
676 PIN_AFIO_AF(GPIOD_PIN7, 0U))
677#define VAL_GPIOD_AFRH (PIN_AFIO_AF(GPIOD_PIN8, 0U) | \
678 PIN_AFIO_AF(GPIOD_PIN9, 0U) | \
679 PIN_AFIO_AF(GPIOD_PIN10, 0U) | \
680 PIN_AFIO_AF(GPIOD_PIN11, 0U) | \
681 PIN_AFIO_AF(GPIOD_PIN12, 0U) | \
682 PIN_AFIO_AF(GPIOD_PIN13, 0U) | \
683 PIN_AFIO_AF(GPIOD_PIN14, 0U) | \
684 PIN_AFIO_AF(GPIOD_PIN15, 0U))
685
686/*
687 * GPIOE setup:
688 *
689 * PE0 - PIN0 (input pullup).
690 * PE1 - PIN1 (input pullup).
691 * PE2 - PIN2 (input pullup).
692 * PE3 - PIN3 (input pullup).
693 * PE4 - PIN4 (input pullup).
694 * PE5 - PIN5 (input pullup).
695 * PE6 - PIN6 (input pullup).
696 * PE7 - PIN7 (input pullup).
697 * PE8 - PIN8 (input pullup).
698 * PE9 - PIN9 (input pullup).
699 * PE10 - PIN10 (input pullup).
700 * PE11 - PIN11 (input pullup).
701 * PE12 - PIN12 (input pullup).
702 * PE13 - PIN13 (input pullup).
703 * PE14 - PIN14 (input pullup).
704 * PE15 - PIN15 (input pullup).
705 */
706#define VAL_GPIOE_MODER (PIN_MODE_INPUT(GPIOE_PIN0) | \
707 PIN_MODE_INPUT(GPIOE_PIN1) | \
708 PIN_MODE_INPUT(GPIOE_PIN2) | \
709 PIN_MODE_INPUT(GPIOE_PIN3) | \
710 PIN_MODE_INPUT(GPIOE_PIN4) | \
711 PIN_MODE_INPUT(GPIOE_PIN5) | \
712 PIN_MODE_INPUT(GPIOE_PIN6) | \
713 PIN_MODE_INPUT(GPIOE_PIN7) | \
714 PIN_MODE_INPUT(GPIOE_PIN8) | \
715 PIN_MODE_INPUT(GPIOE_PIN9) | \
716 PIN_MODE_INPUT(GPIOE_PIN10) | \
717 PIN_MODE_INPUT(GPIOE_PIN11) | \
718 PIN_MODE_INPUT(GPIOE_PIN12) | \
719 PIN_MODE_INPUT(GPIOE_PIN13) | \
720 PIN_MODE_INPUT(GPIOE_PIN14) | \
721 PIN_MODE_INPUT(GPIOE_PIN15))
722#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(GPIOE_PIN0) | \
723 PIN_OTYPE_PUSHPULL(GPIOE_PIN1) | \
724 PIN_OTYPE_PUSHPULL(GPIOE_PIN2) | \
725 PIN_OTYPE_PUSHPULL(GPIOE_PIN3) | \
726 PIN_OTYPE_PUSHPULL(GPIOE_PIN4) | \
727 PIN_OTYPE_PUSHPULL(GPIOE_PIN5) | \
728 PIN_OTYPE_PUSHPULL(GPIOE_PIN6) | \
729 PIN_OTYPE_PUSHPULL(GPIOE_PIN7) | \
730 PIN_OTYPE_PUSHPULL(GPIOE_PIN8) | \
731 PIN_OTYPE_PUSHPULL(GPIOE_PIN9) | \
732 PIN_OTYPE_PUSHPULL(GPIOE_PIN10) | \
733 PIN_OTYPE_PUSHPULL(GPIOE_PIN11) | \
734 PIN_OTYPE_PUSHPULL(GPIOE_PIN12) | \
735 PIN_OTYPE_PUSHPULL(GPIOE_PIN13) | \
736 PIN_OTYPE_PUSHPULL(GPIOE_PIN14) | \
737 PIN_OTYPE_PUSHPULL(GPIOE_PIN15))
738#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOE_PIN0) | \
739 PIN_OSPEED_VERYLOW(GPIOE_PIN1) | \
740 PIN_OSPEED_VERYLOW(GPIOE_PIN2) | \
741 PIN_OSPEED_VERYLOW(GPIOE_PIN3) | \
742 PIN_OSPEED_VERYLOW(GPIOE_PIN4) | \
743 PIN_OSPEED_VERYLOW(GPIOE_PIN5) | \
744 PIN_OSPEED_VERYLOW(GPIOE_PIN6) | \
745 PIN_OSPEED_VERYLOW(GPIOE_PIN7) | \
746 PIN_OSPEED_VERYLOW(GPIOE_PIN8) | \
747 PIN_OSPEED_VERYLOW(GPIOE_PIN9) | \
748 PIN_OSPEED_VERYLOW(GPIOE_PIN10) | \
749 PIN_OSPEED_VERYLOW(GPIOE_PIN11) | \
750 PIN_OSPEED_VERYLOW(GPIOE_PIN12) | \
751 PIN_OSPEED_VERYLOW(GPIOE_PIN13) | \
752 PIN_OSPEED_VERYLOW(GPIOE_PIN14) | \
753 PIN_OSPEED_VERYLOW(GPIOE_PIN15))
754#define VAL_GPIOE_PUPDR (PIN_PUPDR_PULLUP(GPIOE_PIN0) | \
755 PIN_PUPDR_PULLUP(GPIOE_PIN1) | \
756 PIN_PUPDR_PULLUP(GPIOE_PIN2) | \
757 PIN_PUPDR_PULLUP(GPIOE_PIN3) | \
758 PIN_PUPDR_PULLUP(GPIOE_PIN4) | \
759 PIN_PUPDR_PULLUP(GPIOE_PIN5) | \
760 PIN_PUPDR_PULLUP(GPIOE_PIN6) | \
761 PIN_PUPDR_PULLUP(GPIOE_PIN7) | \
762 PIN_PUPDR_PULLUP(GPIOE_PIN8) | \
763 PIN_PUPDR_PULLUP(GPIOE_PIN9) | \
764 PIN_PUPDR_PULLUP(GPIOE_PIN10) | \
765 PIN_PUPDR_PULLUP(GPIOE_PIN11) | \
766 PIN_PUPDR_PULLUP(GPIOE_PIN12) | \
767 PIN_PUPDR_PULLUP(GPIOE_PIN13) | \
768 PIN_PUPDR_PULLUP(GPIOE_PIN14) | \
769 PIN_PUPDR_PULLUP(GPIOE_PIN15))
770#define VAL_GPIOE_ODR (PIN_ODR_HIGH(GPIOE_PIN0) | \
771 PIN_ODR_HIGH(GPIOE_PIN1) | \
772 PIN_ODR_HIGH(GPIOE_PIN2) | \
773 PIN_ODR_HIGH(GPIOE_PIN3) | \
774 PIN_ODR_HIGH(GPIOE_PIN4) | \
775 PIN_ODR_HIGH(GPIOE_PIN5) | \
776 PIN_ODR_HIGH(GPIOE_PIN6) | \
777 PIN_ODR_HIGH(GPIOE_PIN7) | \
778 PIN_ODR_HIGH(GPIOE_PIN8) | \
779 PIN_ODR_HIGH(GPIOE_PIN9) | \
780 PIN_ODR_HIGH(GPIOE_PIN10) | \
781 PIN_ODR_HIGH(GPIOE_PIN11) | \
782 PIN_ODR_HIGH(GPIOE_PIN12) | \
783 PIN_ODR_HIGH(GPIOE_PIN13) | \
784 PIN_ODR_HIGH(GPIOE_PIN14) | \
785 PIN_ODR_HIGH(GPIOE_PIN15))
786#define VAL_GPIOE_AFRL (PIN_AFIO_AF(GPIOE_PIN0, 0U) | \
787 PIN_AFIO_AF(GPIOE_PIN1, 0U) | \
788 PIN_AFIO_AF(GPIOE_PIN2, 0U) | \
789 PIN_AFIO_AF(GPIOE_PIN3, 0U) | \
790 PIN_AFIO_AF(GPIOE_PIN4, 0U) | \
791 PIN_AFIO_AF(GPIOE_PIN5, 0U) | \
792 PIN_AFIO_AF(GPIOE_PIN6, 0U) | \
793 PIN_AFIO_AF(GPIOE_PIN7, 0U))
794#define VAL_GPIOE_AFRH (PIN_AFIO_AF(GPIOE_PIN8, 0U) | \
795 PIN_AFIO_AF(GPIOE_PIN9, 0U) | \
796 PIN_AFIO_AF(GPIOE_PIN10, 0U) | \
797 PIN_AFIO_AF(GPIOE_PIN11, 0U) | \
798 PIN_AFIO_AF(GPIOE_PIN12, 0U) | \
799 PIN_AFIO_AF(GPIOE_PIN13, 0U) | \
800 PIN_AFIO_AF(GPIOE_PIN14, 0U) | \
801 PIN_AFIO_AF(GPIOE_PIN15, 0U))
802
803/*
804 * GPIOH setup:
805 *
806 * PH0 - OSC_IN (input floating).
807 * PH1 - OSC_OUT (input floating).
808 * PH2 - PIN2 (input pullup).
809 * PH3 - PIN3 (input pullup).
810 * PH4 - PIN4 (input pullup).
811 * PH5 - PIN5 (input pullup).
812 * PH6 - PIN6 (input pullup).
813 * PH7 - PIN7 (input pullup).
814 * PH8 - PIN8 (input pullup).
815 * PH9 - PIN9 (input pullup).
816 * PH10 - PIN10 (input pullup).
817 * PH11 - PIN11 (input pullup).
818 * PH12 - PIN12 (input pullup).
819 * PH13 - PIN13 (input pullup).
820 * PH14 - PIN14 (input pullup).
821 * PH15 - PIN15 (input pullup).
822 */
823#define VAL_GPIOH_MODER (PIN_MODE_INPUT(GPIOH_OSC_IN) | \
824 PIN_MODE_INPUT(GPIOH_OSC_OUT) | \
825 PIN_MODE_INPUT(GPIOH_PIN2) | \
826 PIN_MODE_INPUT(GPIOH_PIN3) | \
827 PIN_MODE_INPUT(GPIOH_PIN4) | \
828 PIN_MODE_INPUT(GPIOH_PIN5) | \
829 PIN_MODE_INPUT(GPIOH_PIN6) | \
830 PIN_MODE_INPUT(GPIOH_PIN7) | \
831 PIN_MODE_INPUT(GPIOH_PIN8) | \
832 PIN_MODE_INPUT(GPIOH_PIN9) | \
833 PIN_MODE_INPUT(GPIOH_PIN10) | \
834 PIN_MODE_INPUT(GPIOH_PIN11) | \
835 PIN_MODE_INPUT(GPIOH_PIN12) | \
836 PIN_MODE_INPUT(GPIOH_PIN13) | \
837 PIN_MODE_INPUT(GPIOH_PIN14) | \
838 PIN_MODE_INPUT(GPIOH_PIN15))
839#define VAL_GPIOH_OTYPER (PIN_OTYPE_PUSHPULL(GPIOH_OSC_IN) | \
840 PIN_OTYPE_PUSHPULL(GPIOH_OSC_OUT) | \
841 PIN_OTYPE_PUSHPULL(GPIOH_PIN2) | \
842 PIN_OTYPE_PUSHPULL(GPIOH_PIN3) | \
843 PIN_OTYPE_PUSHPULL(GPIOH_PIN4) | \
844 PIN_OTYPE_PUSHPULL(GPIOH_PIN5) | \
845 PIN_OTYPE_PUSHPULL(GPIOH_PIN6) | \
846 PIN_OTYPE_PUSHPULL(GPIOH_PIN7) | \
847 PIN_OTYPE_PUSHPULL(GPIOH_PIN8) | \
848 PIN_OTYPE_PUSHPULL(GPIOH_PIN9) | \
849 PIN_OTYPE_PUSHPULL(GPIOH_PIN10) | \
850 PIN_OTYPE_PUSHPULL(GPIOH_PIN11) | \
851 PIN_OTYPE_PUSHPULL(GPIOH_PIN12) | \
852 PIN_OTYPE_PUSHPULL(GPIOH_PIN13) | \
853 PIN_OTYPE_PUSHPULL(GPIOH_PIN14) | \
854 PIN_OTYPE_PUSHPULL(GPIOH_PIN15))
855#define VAL_GPIOH_OSPEEDR (PIN_OSPEED_HIGH(GPIOH_OSC_IN) | \
856 PIN_OSPEED_HIGH(GPIOH_OSC_OUT) | \
857 PIN_OSPEED_VERYLOW(GPIOH_PIN2) | \
858 PIN_OSPEED_VERYLOW(GPIOH_PIN3) | \
859 PIN_OSPEED_VERYLOW(GPIOH_PIN4) | \
860 PIN_OSPEED_VERYLOW(GPIOH_PIN5) | \
861 PIN_OSPEED_VERYLOW(GPIOH_PIN6) | \
862 PIN_OSPEED_VERYLOW(GPIOH_PIN7) | \
863 PIN_OSPEED_VERYLOW(GPIOH_PIN8) | \
864 PIN_OSPEED_VERYLOW(GPIOH_PIN9) | \
865 PIN_OSPEED_VERYLOW(GPIOH_PIN10) | \
866 PIN_OSPEED_VERYLOW(GPIOH_PIN11) | \
867 PIN_OSPEED_VERYLOW(GPIOH_PIN12) | \
868 PIN_OSPEED_VERYLOW(GPIOH_PIN13) | \
869 PIN_OSPEED_VERYLOW(GPIOH_PIN14) | \
870 PIN_OSPEED_VERYLOW(GPIOH_PIN15))
871#define VAL_GPIOH_PUPDR (PIN_PUPDR_FLOATING(GPIOH_OSC_IN) | \
872 PIN_PUPDR_FLOATING(GPIOH_OSC_OUT) | \
873 PIN_PUPDR_PULLUP(GPIOH_PIN2) | \
874 PIN_PUPDR_PULLUP(GPIOH_PIN3) | \
875 PIN_PUPDR_PULLUP(GPIOH_PIN4) | \
876 PIN_PUPDR_PULLUP(GPIOH_PIN5) | \
877 PIN_PUPDR_PULLUP(GPIOH_PIN6) | \
878 PIN_PUPDR_PULLUP(GPIOH_PIN7) | \
879 PIN_PUPDR_PULLUP(GPIOH_PIN8) | \
880 PIN_PUPDR_PULLUP(GPIOH_PIN9) | \
881 PIN_PUPDR_PULLUP(GPIOH_PIN10) | \
882 PIN_PUPDR_PULLUP(GPIOH_PIN11) | \
883 PIN_PUPDR_PULLUP(GPIOH_PIN12) | \
884 PIN_PUPDR_PULLUP(GPIOH_PIN13) | \
885 PIN_PUPDR_PULLUP(GPIOH_PIN14) | \
886 PIN_PUPDR_PULLUP(GPIOH_PIN15))
887#define VAL_GPIOH_ODR (PIN_ODR_HIGH(GPIOH_OSC_IN) | \
888 PIN_ODR_HIGH(GPIOH_OSC_OUT) | \
889 PIN_ODR_HIGH(GPIOH_PIN2) | \
890 PIN_ODR_HIGH(GPIOH_PIN3) | \
891 PIN_ODR_HIGH(GPIOH_PIN4) | \
892 PIN_ODR_HIGH(GPIOH_PIN5) | \
893 PIN_ODR_HIGH(GPIOH_PIN6) | \
894 PIN_ODR_HIGH(GPIOH_PIN7) | \
895 PIN_ODR_HIGH(GPIOH_PIN8) | \
896 PIN_ODR_HIGH(GPIOH_PIN9) | \
897 PIN_ODR_HIGH(GPIOH_PIN10) | \
898 PIN_ODR_HIGH(GPIOH_PIN11) | \
899 PIN_ODR_HIGH(GPIOH_PIN12) | \
900 PIN_ODR_HIGH(GPIOH_PIN13) | \
901 PIN_ODR_HIGH(GPIOH_PIN14) | \
902 PIN_ODR_HIGH(GPIOH_PIN15))
903#define VAL_GPIOH_AFRL (PIN_AFIO_AF(GPIOH_OSC_IN, 0U) | \
904 PIN_AFIO_AF(GPIOH_OSC_OUT, 0U) | \
905 PIN_AFIO_AF(GPIOH_PIN2, 0U) | \
906 PIN_AFIO_AF(GPIOH_PIN3, 0U) | \
907 PIN_AFIO_AF(GPIOH_PIN4, 0U) | \
908 PIN_AFIO_AF(GPIOH_PIN5, 0U) | \
909 PIN_AFIO_AF(GPIOH_PIN6, 0U) | \
910 PIN_AFIO_AF(GPIOH_PIN7, 0U))
911#define VAL_GPIOH_AFRH (PIN_AFIO_AF(GPIOH_PIN8, 0U) | \
912 PIN_AFIO_AF(GPIOH_PIN9, 0U) | \
913 PIN_AFIO_AF(GPIOH_PIN10, 0U) | \
914 PIN_AFIO_AF(GPIOH_PIN11, 0U) | \
915 PIN_AFIO_AF(GPIOH_PIN12, 0U) | \
916 PIN_AFIO_AF(GPIOH_PIN13, 0U) | \
917 PIN_AFIO_AF(GPIOH_PIN14, 0U) | \
918 PIN_AFIO_AF(GPIOH_PIN15, 0U))
919
920/*===========================================================================*/
921/* External declarations. */
922/*===========================================================================*/
923
924#if !defined(_FROM_ASM_)
925#ifdef __cplusplus
926extern "C" {
927#endif
928 void boardInit(void);
929#ifdef __cplusplus
930}
931#endif
932#endif /* _FROM_ASM_ */
933
934#endif /* BOARD_H */