aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios/os/hal/boards/ST_NUCLEO144_F722ZE/board.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios/os/hal/boards/ST_NUCLEO144_F722ZE/board.h')
-rw-r--r--lib/chibios/os/hal/boards/ST_NUCLEO144_F722ZE/board.h1856
1 files changed, 1856 insertions, 0 deletions
diff --git a/lib/chibios/os/hal/boards/ST_NUCLEO144_F722ZE/board.h b/lib/chibios/os/hal/boards/ST_NUCLEO144_F722ZE/board.h
new file mode 100644
index 000000000..7103711f5
--- /dev/null
+++ b/lib/chibios/os/hal/boards/ST_NUCLEO144_F722ZE/board.h
@@ -0,0 +1,1856 @@
1/*
2 ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio
3
4 Licensed under the Apache License, Version 2.0 (the "License");
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15*/
16
17/*
18 * This file has been automatically generated using ChibiStudio board
19 * generator plugin. Do not edit manually.
20 */
21
22#ifndef BOARD_H
23#define BOARD_H
24
25/*===========================================================================*/
26/* Driver constants. */
27/*===========================================================================*/
28
29/*
30 * Setup for STMicroelectronics STM32 Nucleo144-F722ZE board.
31 */
32
33/*
34 * Board identifier.
35 */
36#define BOARD_ST_NUCLEO144_F722ZE
37#define BOARD_NAME "STMicroelectronics STM32 Nucleo144-F722ZE"
38
39/*
40 * Board oscillators-related settings.
41 */
42#if !defined(STM32_LSECLK)
43#define STM32_LSECLK 32768U
44#endif
45
46#define STM32_LSEDRV (3U << 3U)
47
48#if !defined(STM32_HSECLK)
49#define STM32_HSECLK 8000000U
50#endif
51
52#define STM32_HSE_BYPASS
53
54/*
55 * Board voltages.
56 * Required for performance limits calculation.
57 */
58#define STM32_VDD 300U
59
60/*
61 * MCU type as defined in the ST header.
62 */
63#define STM32F722xx
64
65/*
66 * IO pins assignments.
67 */
68#define GPIOA_ZIO_D32 0U
69#define GPIOA_TIM2_CH1 0U
70#define GPIOA_RMII_REF_CLK 1U
71#define GPIOA_RMII_MDIO 2U
72#define GPIOA_ARD_A0 3U
73#define GPIOA_ADC123_IN3 3U
74#define GPIOA_ZIO_D24 4U
75#define GPIOA_SPI3_NSS 4U
76#define GPIOA_ARD_D13 5U
77#define GPIOA_SPI1_SCK 5U
78#define GPIOA_ARD_D12 6U
79#define GPIOA_SPI1_MISO 6U
80#define GPIOA_ARD_D11 7U
81#define GPIOA_SPI1_MOSI 7U
82#define GPIOA_ZIO_D71 7U
83#define GPIOA_RMII_RX_DV 7U
84#define GPIOA_USB_SOF 8U
85#define GPIOA_USB_VBUS 9U
86#define GPIOA_USB_ID 10U
87#define GPIOA_USB_DM 11U
88#define GPIOA_USB_DP 12U
89#define GPIOA_SWDIO 13U
90#define GPIOA_SWCLK 14U
91#define GPIOA_ZIO_D20 15U
92#define GPIOA_I2S3_WS 15U
93
94#define GPIOB_ZIO_D33 0U
95#define GPIOB_TIM3_CH3 0U
96#define GPIOB_LED1 0U
97#define GPIOB_ZIO_A6 1U
98#define GPIOB_ADC12_IN9 1U
99#define GPIOB_ZIO_D27 2U
100#define GPIOB_QSPI_CLK 2U
101#define GPIOB_ZIO_D23 3U
102#define GPIOB_I2S3_CK 3U
103#define GPIOB_ZIO_D25 4U
104#define GPIOB_SPI3_MISO 4U
105#define GPIOB_ZIO_D22 5U
106#define GPIOB_I2S3_SD 5U
107#define GPIOB_ZIO_D26 6U
108#define GPIOB_QSPI_BK1_NCS 6U
109#define GPIOB_LED2 7U
110#define GPIOB_ARD_D15 8U
111#define GPIOB_I2C1_SCL 8U
112#define GPIOB_ARD_D14 9U
113#define GPIOB_I2C1_SDA 9U
114#define GPIOB_ZIO_D36 10U
115#define GPIOB_TIM2_CH3 10U
116#define GPIOB_ZIO_D35 11U
117#define GPIOB_TIM2_CH4 11U
118#define GPIOB_ZIO_D19 12U
119#define GPIOB_I2S2_WS 12U
120#define GPIOB_ZIO_D18 13U
121#define GPIOB_I2S2_CK 13U
122#define GPIOB_RMII_TXD1 13U
123#define GPIOB_LED3 14U
124#define GPIOB_ZIO_D17 15U
125#define GPIOB_I2S2_SD 15U
126
127#define GPIOC_ARD_A1 0U
128#define GPIOC_ADC123_IN10 0U
129#define GPIOC_RMII_MDC 1U
130#define GPIOC_ZIO_A7 2U
131#define GPIOC_ADC123_IN12 2U
132#define GPIOC_ARD_A2 3U
133#define GPIOC_ADC123_IN13 3U
134#define GPIOC_RMII_RXD0 4U
135#define GPIOC_RMII_RXD1 5U
136#define GPIOC_ZIO_D16 6U
137#define GPIOC_I2S2_MCK 6U
138#define GPIOC_ZIO_D21 7U
139#define GPIOC_I2S3_MCK 7U
140#define GPIOC_ZIO_D43 8U
141#define GPIOC_SDMMC_D0 8U
142#define GPIOC_ZIO_D44 9U
143#define GPIOC_SDMMC_D1 9U
144#define GPIOC_ZIO_D45 10U
145#define GPIOC_SDMMC_D2 10U
146#define GPIOC_ZIO_D46 11U
147#define GPIOC_SDMMC_D3 11U
148#define GPIOC_ZIO_D47 12U
149#define GPIOC_SDMMC_CK 12U
150#define GPIOC_BUTTON 13U
151#define GPIOC_OSC32_IN 14U
152#define GPIOC_OSC32_OUT 15U
153
154#define GPIOD_ZIO_D67 0U
155#define GPIOD_CAN1_RX 0U
156#define GPIOD_ZIO_D66 1U
157#define GPIOD_CAN1_TX 1U
158#define GPIOD_ZIO_D48 2U
159#define GPIOD_SDMMC_CMD 2U
160#define GPIOD_ZIO_D55 3U
161#define GPIOD_USART2_CTS 3U
162#define GPIOD_ZIO_D54 4U
163#define GPIOD_USART2_RTS 4U
164#define GPIOD_ZIO_D53 5U
165#define GPIOD_USART2_TX 5U
166#define GPIOD_ZIO_D52 6U
167#define GPIOD_USART2_RX 6U
168#define GPIOD_ZIO_D51 7U
169#define GPIOD_USART2_SCLK 7U
170#define GPIOD_USART3_RX 8U
171#define GPIOD_STLK_RX 8U
172#define GPIOD_USART3_TX 9U
173#define GPIOD_STLK_TX 9U
174#define GPIOD_PIN10 10U
175#define GPIOD_ZIO_D30 11U
176#define GPIOD_QSPI_BK1_IO0 11U
177#define GPIOD_ZIO_D29 12U
178#define GPIOD_QSPI_BK1_IO1 12U
179#define GPIOD_ZIO_D28 13U
180#define GPIOD_QSPI_BK1_IO3 13U
181#define GPIOD_ARD_D10 14U
182#define GPIOD_SPI1_NSS 14U
183#define GPIOD_ARD_D9 15U
184#define GPIOD_TIM4_CH4 15U
185
186#define GPIOE_ZIO_D34 0U
187#define GPIOE_TIM4_ETR 0U
188#define GPIOE_PIN1 1U
189#define GPIOE_ZIO_D31 2U
190#define GPIOE_ZIO_D56 2U
191#define GPIOE_SAI1_MCLK_A 2U
192#define GPIOE_ZIO_D60 3U
193#define GPIOE_SAI1_SD_B 3U
194#define GPIOE_ZIO_D57 4U
195#define GPIOE_SAI1_FS_A 4U
196#define GPIOE_ZIO_D58 5U
197#define GPIOE_SAI1_SCK_A 5U
198#define GPIOE_ZIO_D59 6U
199#define GPIOE_SAI1_SD_A 6U
200#define GPIOE_ZIO_D41 7U
201#define GPIOE_TIM1_ETR 7U
202#define GPIOE_ZIO_D42 8U
203#define GPIOE_TIM1_CH1N 8U
204#define GPIOE_ARD_D6 9U
205#define GPIOE_TIM1_CH1 9U
206#define GPIOE_ZIO_D40 10U
207#define GPIOE_TIM1_CH2N 10U
208#define GPIOE_ARD_D5 11U
209#define GPIOE_TIM1_CH2 11U
210#define GPIOE_ZIO_D39 12U
211#define GPIOE_TIM1_CH3N 12U
212#define GPIOE_ARD_D3 13U
213#define GPIOE_TIM1_CH3 13U
214#define GPIOE_ZIO_D38 14U
215#define GPIOE_ZIO_D37 15U
216#define GPIOE_TIM1_BKIN1 15U
217
218#define GPIOF_ZIO_D68 0U
219#define GPIOF_I2C2_SDA 0U
220#define GPIOF_ZIO_D69 1U
221#define GPIOF_I2C2_SCL 1U
222#define GPIOF_ZIO_D70 2U
223#define GPIOF_I2C2_SMBA 2U
224#define GPIOF_ARD_A3 3U
225#define GPIOF_ADC3_IN9 3U
226#define GPIOF_ZIO_A8 4U
227#define GPIOF_ADC3_IN14 4U
228#define GPIOF_ARD_A4 5U
229#define GPIOF_ADC3_IN15 5U
230#define GPIOF_PIN6 6U
231#define GPIOF_ZIO_D62 7U
232#define GPIOF_SAI1_MCLK_B 7U
233#define GPIOF_ZIO_D61 8U
234#define GPIOF_SAI1_SCK_B 8U
235#define GPIOF_ZIO_D63 9U
236#define GPIOF_SAI1_FS_B 9U
237#define GPIOF_ARD_A5 10U
238#define GPIOF_ADC3_IN8 10U
239#define GPIOF_PIN11 11U
240#define GPIOF_ARD_D8 12U
241#define GPIOF_ARD_D7 13U
242#define GPIOF_ARD_D4 14U
243#define GPIOF_ARD_D2 15U
244
245#define GPIOG_ZIO_D65 0U
246#define GPIOG_ZIO_D64 1U
247#define GPIOG_ZIO_D49 2U
248#define GPIOG_ZIO_D50 3U
249#define GPIOG_PIN4 4U
250#define GPIOG_PIN5 5U
251#define GPIOG_USB_GPIO_OUT 6U
252#define GPIOG_USB_GPIO_IN 7U
253#define GPIOG_PIN8 8U
254#define GPIOG_ARD_D0 9U
255#define GPIOG_USART6_RX 9U
256#define GPIOG_PIN10 10U
257#define GPIOG_RMII_TX_EN 11U
258#define GPIOG_PIN12 12U
259#define GPIOG_RMII_TXD0 13U
260#define GPIOG_ARD_D1 14U
261#define GPIOG_USART6_TX 14U
262#define GPIOG_PIN15 15U
263
264#define GPIOH_OSC_IN 0U
265#define GPIOH_OSC_OUT 1U
266#define GPIOH_PIN2 2U
267#define GPIOH_PIN3 3U
268#define GPIOH_PIN4 4U
269#define GPIOH_PIN5 5U
270#define GPIOH_PIN6 6U
271#define GPIOH_PIN7 7U
272#define GPIOH_PIN8 8U
273#define GPIOH_PIN9 9U
274#define GPIOH_PIN10 10U
275#define GPIOH_PIN11 11U
276#define GPIOH_PIN12 12U
277#define GPIOH_PIN13 13U
278#define GPIOH_PIN14 14U
279#define GPIOH_PIN15 15U
280
281#define GPIOI_PIN0 0U
282#define GPIOI_PIN1 1U
283#define GPIOI_PIN2 2U
284#define GPIOI_PIN3 3U
285#define GPIOI_PIN4 4U
286#define GPIOI_PIN5 5U
287#define GPIOI_PIN6 6U
288#define GPIOI_PIN7 7U
289#define GPIOI_PIN8 8U
290#define GPIOI_PIN9 9U
291#define GPIOI_PIN10 10U
292#define GPIOI_PIN11 11U
293#define GPIOI_PIN12 12U
294#define GPIOI_PIN13 13U
295#define GPIOI_PIN14 14U
296#define GPIOI_PIN15 15U
297
298#define GPIOJ_PIN0 0U
299#define GPIOJ_PIN1 1U
300#define GPIOJ_PIN2 2U
301#define GPIOJ_PIN3 3U
302#define GPIOJ_PIN4 4U
303#define GPIOJ_PIN5 5U
304#define GPIOJ_PIN6 6U
305#define GPIOJ_PIN7 7U
306#define GPIOJ_PIN8 8U
307#define GPIOJ_PIN9 9U
308#define GPIOJ_PIN10 10U
309#define GPIOJ_PIN11 11U
310#define GPIOJ_PIN12 12U
311#define GPIOJ_PIN13 13U
312#define GPIOJ_PIN14 14U
313#define GPIOJ_PIN15 15U
314
315#define GPIOK_PIN0 0U
316#define GPIOK_PIN1 1U
317#define GPIOK_PIN2 2U
318#define GPIOK_PIN3 3U
319#define GPIOK_PIN4 4U
320#define GPIOK_PIN5 5U
321#define GPIOK_PIN6 6U
322#define GPIOK_PIN7 7U
323#define GPIOK_PIN8 8U
324#define GPIOK_PIN9 9U
325#define GPIOK_PIN10 10U
326#define GPIOK_PIN11 11U
327#define GPIOK_PIN12 12U
328#define GPIOK_PIN13 13U
329#define GPIOK_PIN14 14U
330#define GPIOK_PIN15 15U
331
332/*
333 * IO lines assignments.
334 */
335#define LINE_ZIO_D32 PAL_LINE(GPIOA, 0U)
336#define LINE_TIM2_CH1 PAL_LINE(GPIOA, 0U)
337#define LINE_RMII_REF_CLK PAL_LINE(GPIOA, 1U)
338#define LINE_RMII_MDIO PAL_LINE(GPIOA, 2U)
339#define LINE_ARD_A0 PAL_LINE(GPIOA, 3U)
340#define LINE_ADC123_IN3 PAL_LINE(GPIOA, 3U)
341#define LINE_ZIO_D24 PAL_LINE(GPIOA, 4U)
342#define LINE_SPI3_NSS PAL_LINE(GPIOA, 4U)
343#define LINE_ARD_D13 PAL_LINE(GPIOA, 5U)
344#define LINE_SPI1_SCK PAL_LINE(GPIOA, 5U)
345#define LINE_ARD_D12 PAL_LINE(GPIOA, 6U)
346#define LINE_SPI1_MISO PAL_LINE(GPIOA, 6U)
347#define LINE_ARD_D11 PAL_LINE(GPIOA, 7U)
348#define LINE_SPI1_MOSI PAL_LINE(GPIOA, 7U)
349#define LINE_ZIO_D71 PAL_LINE(GPIOA, 7U)
350#define LINE_RMII_RX_DV PAL_LINE(GPIOA, 7U)
351#define LINE_USB_SOF PAL_LINE(GPIOA, 8U)
352#define LINE_USB_VBUS PAL_LINE(GPIOA, 9U)
353#define LINE_USB_ID PAL_LINE(GPIOA, 10U)
354#define LINE_USB_DM PAL_LINE(GPIOA, 11U)
355#define LINE_USB_DP PAL_LINE(GPIOA, 12U)
356#define LINE_SWDIO PAL_LINE(GPIOA, 13U)
357#define LINE_SWCLK PAL_LINE(GPIOA, 14U)
358#define LINE_ZIO_D20 PAL_LINE(GPIOA, 15U)
359#define LINE_I2S3_WS PAL_LINE(GPIOA, 15U)
360#define LINE_ZIO_D33 PAL_LINE(GPIOB, 0U)
361#define LINE_TIM3_CH3 PAL_LINE(GPIOB, 0U)
362#define LINE_LED1 PAL_LINE(GPIOB, 0U)
363#define LINE_ZIO_A6 PAL_LINE(GPIOB, 1U)
364#define LINE_ADC12_IN9 PAL_LINE(GPIOB, 1U)
365#define LINE_ZIO_D27 PAL_LINE(GPIOB, 2U)
366#define LINE_QSPI_CLK PAL_LINE(GPIOB, 2U)
367#define LINE_ZIO_D23 PAL_LINE(GPIOB, 3U)
368#define LINE_I2S3_CK PAL_LINE(GPIOB, 3U)
369#define LINE_ZIO_D25 PAL_LINE(GPIOB, 4U)
370#define LINE_SPI3_MISO PAL_LINE(GPIOB, 4U)
371#define LINE_ZIO_D22 PAL_LINE(GPIOB, 5U)
372#define LINE_I2S3_SD PAL_LINE(GPIOB, 5U)
373#define LINE_ZIO_D26 PAL_LINE(GPIOB, 6U)
374#define LINE_QSPI_BK1_NCS PAL_LINE(GPIOB, 6U)
375#define LINE_LED2 PAL_LINE(GPIOB, 7U)
376#define LINE_ARD_D15 PAL_LINE(GPIOB, 8U)
377#define LINE_I2C1_SCL PAL_LINE(GPIOB, 8U)
378#define LINE_ARD_D14 PAL_LINE(GPIOB, 9U)
379#define LINE_I2C1_SDA PAL_LINE(GPIOB, 9U)
380#define LINE_ZIO_D36 PAL_LINE(GPIOB, 10U)
381#define LINE_TIM2_CH3 PAL_LINE(GPIOB, 10U)
382#define LINE_ZIO_D35 PAL_LINE(GPIOB, 11U)
383#define LINE_TIM2_CH4 PAL_LINE(GPIOB, 11U)
384#define LINE_ZIO_D19 PAL_LINE(GPIOB, 12U)
385#define LINE_I2S2_WS PAL_LINE(GPIOB, 12U)
386#define LINE_ZIO_D18 PAL_LINE(GPIOB, 13U)
387#define LINE_I2S2_CK PAL_LINE(GPIOB, 13U)
388#define LINE_RMII_TXD1 PAL_LINE(GPIOB, 13U)
389#define LINE_LED3 PAL_LINE(GPIOB, 14U)
390#define LINE_ZIO_D17 PAL_LINE(GPIOB, 15U)
391#define LINE_I2S2_SD PAL_LINE(GPIOB, 15U)
392#define LINE_ARD_A1 PAL_LINE(GPIOC, 0U)
393#define LINE_ADC123_IN10 PAL_LINE(GPIOC, 0U)
394#define LINE_RMII_MDC PAL_LINE(GPIOC, 1U)
395#define LINE_ZIO_A7 PAL_LINE(GPIOC, 2U)
396#define LINE_ADC123_IN12 PAL_LINE(GPIOC, 2U)
397#define LINE_ARD_A2 PAL_LINE(GPIOC, 3U)
398#define LINE_ADC123_IN13 PAL_LINE(GPIOC, 3U)
399#define LINE_RMII_RXD0 PAL_LINE(GPIOC, 4U)
400#define LINE_RMII_RXD1 PAL_LINE(GPIOC, 5U)
401#define LINE_ZIO_D16 PAL_LINE(GPIOC, 6U)
402#define LINE_I2S2_MCK PAL_LINE(GPIOC, 6U)
403#define LINE_ZIO_D21 PAL_LINE(GPIOC, 7U)
404#define LINE_I2S3_MCK PAL_LINE(GPIOC, 7U)
405#define LINE_ZIO_D43 PAL_LINE(GPIOC, 8U)
406#define LINE_SDMMC_D0 PAL_LINE(GPIOC, 8U)
407#define LINE_ZIO_D44 PAL_LINE(GPIOC, 9U)
408#define LINE_SDMMC_D1 PAL_LINE(GPIOC, 9U)
409#define LINE_ZIO_D45 PAL_LINE(GPIOC, 10U)
410#define LINE_SDMMC_D2 PAL_LINE(GPIOC, 10U)
411#define LINE_ZIO_D46 PAL_LINE(GPIOC, 11U)
412#define LINE_SDMMC_D3 PAL_LINE(GPIOC, 11U)
413#define LINE_ZIO_D47 PAL_LINE(GPIOC, 12U)
414#define LINE_SDMMC_CK PAL_LINE(GPIOC, 12U)
415#define LINE_BUTTON PAL_LINE(GPIOC, 13U)
416#define LINE_OSC32_IN PAL_LINE(GPIOC, 14U)
417#define LINE_OSC32_OUT PAL_LINE(GPIOC, 15U)
418#define LINE_ZIO_D67 PAL_LINE(GPIOD, 0U)
419#define LINE_CAN1_RX PAL_LINE(GPIOD, 0U)
420#define LINE_ZIO_D66 PAL_LINE(GPIOD, 1U)
421#define LINE_CAN1_TX PAL_LINE(GPIOD, 1U)
422#define LINE_ZIO_D48 PAL_LINE(GPIOD, 2U)
423#define LINE_SDMMC_CMD PAL_LINE(GPIOD, 2U)
424#define LINE_ZIO_D55 PAL_LINE(GPIOD, 3U)
425#define LINE_USART2_CTS PAL_LINE(GPIOD, 3U)
426#define LINE_ZIO_D54 PAL_LINE(GPIOD, 4U)
427#define LINE_USART2_RTS PAL_LINE(GPIOD, 4U)
428#define LINE_ZIO_D53 PAL_LINE(GPIOD, 5U)
429#define LINE_USART2_TX PAL_LINE(GPIOD, 5U)
430#define LINE_ZIO_D52 PAL_LINE(GPIOD, 6U)
431#define LINE_USART2_RX PAL_LINE(GPIOD, 6U)
432#define LINE_ZIO_D51 PAL_LINE(GPIOD, 7U)
433#define LINE_USART2_SCLK PAL_LINE(GPIOD, 7U)
434#define LINE_USART3_RX PAL_LINE(GPIOD, 8U)
435#define LINE_STLK_RX PAL_LINE(GPIOD, 8U)
436#define LINE_USART3_TX PAL_LINE(GPIOD, 9U)
437#define LINE_STLK_TX PAL_LINE(GPIOD, 9U)
438#define LINE_ZIO_D30 PAL_LINE(GPIOD, 11U)
439#define LINE_QSPI_BK1_IO0 PAL_LINE(GPIOD, 11U)
440#define LINE_ZIO_D29 PAL_LINE(GPIOD, 12U)
441#define LINE_QSPI_BK1_IO1 PAL_LINE(GPIOD, 12U)
442#define LINE_ZIO_D28 PAL_LINE(GPIOD, 13U)
443#define LINE_QSPI_BK1_IO3 PAL_LINE(GPIOD, 13U)
444#define LINE_ARD_D10 PAL_LINE(GPIOD, 14U)
445#define LINE_SPI1_NSS PAL_LINE(GPIOD, 14U)
446#define LINE_ARD_D9 PAL_LINE(GPIOD, 15U)
447#define LINE_TIM4_CH4 PAL_LINE(GPIOD, 15U)
448#define LINE_ZIO_D34 PAL_LINE(GPIOE, 0U)
449#define LINE_TIM4_ETR PAL_LINE(GPIOE, 0U)
450#define LINE_ZIO_D31 PAL_LINE(GPIOE, 2U)
451#define LINE_ZIO_D56 PAL_LINE(GPIOE, 2U)
452#define LINE_SAI1_MCLK_A PAL_LINE(GPIOE, 2U)
453#define LINE_ZIO_D60 PAL_LINE(GPIOE, 3U)
454#define LINE_SAI1_SD_B PAL_LINE(GPIOE, 3U)
455#define LINE_ZIO_D57 PAL_LINE(GPIOE, 4U)
456#define LINE_SAI1_FS_A PAL_LINE(GPIOE, 4U)
457#define LINE_ZIO_D58 PAL_LINE(GPIOE, 5U)
458#define LINE_SAI1_SCK_A PAL_LINE(GPIOE, 5U)
459#define LINE_ZIO_D59 PAL_LINE(GPIOE, 6U)
460#define LINE_SAI1_SD_A PAL_LINE(GPIOE, 6U)
461#define LINE_ZIO_D41 PAL_LINE(GPIOE, 7U)
462#define LINE_TIM1_ETR PAL_LINE(GPIOE, 7U)
463#define LINE_ZIO_D42 PAL_LINE(GPIOE, 8U)
464#define LINE_TIM1_CH1N PAL_LINE(GPIOE, 8U)
465#define LINE_ARD_D6 PAL_LINE(GPIOE, 9U)
466#define LINE_TIM1_CH1 PAL_LINE(GPIOE, 9U)
467#define LINE_ZIO_D40 PAL_LINE(GPIOE, 10U)
468#define LINE_TIM1_CH2N PAL_LINE(GPIOE, 10U)
469#define LINE_ARD_D5 PAL_LINE(GPIOE, 11U)
470#define LINE_TIM1_CH2 PAL_LINE(GPIOE, 11U)
471#define LINE_ZIO_D39 PAL_LINE(GPIOE, 12U)
472#define LINE_TIM1_CH3N PAL_LINE(GPIOE, 12U)
473#define LINE_ARD_D3 PAL_LINE(GPIOE, 13U)
474#define LINE_TIM1_CH3 PAL_LINE(GPIOE, 13U)
475#define LINE_ZIO_D38 PAL_LINE(GPIOE, 14U)
476#define LINE_ZIO_D37 PAL_LINE(GPIOE, 15U)
477#define LINE_TIM1_BKIN1 PAL_LINE(GPIOE, 15U)
478#define LINE_ZIO_D68 PAL_LINE(GPIOF, 0U)
479#define LINE_I2C2_SDA PAL_LINE(GPIOF, 0U)
480#define LINE_ZIO_D69 PAL_LINE(GPIOF, 1U)
481#define LINE_I2C2_SCL PAL_LINE(GPIOF, 1U)
482#define LINE_ZIO_D70 PAL_LINE(GPIOF, 2U)
483#define LINE_I2C2_SMBA PAL_LINE(GPIOF, 2U)
484#define LINE_ARD_A3 PAL_LINE(GPIOF, 3U)
485#define LINE_ADC3_IN9 PAL_LINE(GPIOF, 3U)
486#define LINE_ZIO_A8 PAL_LINE(GPIOF, 4U)
487#define LINE_ADC3_IN14 PAL_LINE(GPIOF, 4U)
488#define LINE_ARD_A4 PAL_LINE(GPIOF, 5U)
489#define LINE_ADC3_IN15 PAL_LINE(GPIOF, 5U)
490#define LINE_ZIO_D62 PAL_LINE(GPIOF, 7U)
491#define LINE_SAI1_MCLK_B PAL_LINE(GPIOF, 7U)
492#define LINE_ZIO_D61 PAL_LINE(GPIOF, 8U)
493#define LINE_SAI1_SCK_B PAL_LINE(GPIOF, 8U)
494#define LINE_ZIO_D63 PAL_LINE(GPIOF, 9U)
495#define LINE_SAI1_FS_B PAL_LINE(GPIOF, 9U)
496#define LINE_ARD_A5 PAL_LINE(GPIOF, 10U)
497#define LINE_ADC3_IN8 PAL_LINE(GPIOF, 10U)
498#define LINE_ARD_D8 PAL_LINE(GPIOF, 12U)
499#define LINE_ARD_D7 PAL_LINE(GPIOF, 13U)
500#define LINE_ARD_D4 PAL_LINE(GPIOF, 14U)
501#define LINE_ARD_D2 PAL_LINE(GPIOF, 15U)
502#define LINE_ZIO_D65 PAL_LINE(GPIOG, 0U)
503#define LINE_ZIO_D64 PAL_LINE(GPIOG, 1U)
504#define LINE_ZIO_D49 PAL_LINE(GPIOG, 2U)
505#define LINE_ZIO_D50 PAL_LINE(GPIOG, 3U)
506#define LINE_USB_GPIO_OUT PAL_LINE(GPIOG, 6U)
507#define LINE_USB_GPIO_IN PAL_LINE(GPIOG, 7U)
508#define LINE_ARD_D0 PAL_LINE(GPIOG, 9U)
509#define LINE_USART6_RX PAL_LINE(GPIOG, 9U)
510#define LINE_RMII_TX_EN PAL_LINE(GPIOG, 11U)
511#define LINE_RMII_TXD0 PAL_LINE(GPIOG, 13U)
512#define LINE_ARD_D1 PAL_LINE(GPIOG, 14U)
513#define LINE_USART6_TX PAL_LINE(GPIOG, 14U)
514#define LINE_OSC_IN PAL_LINE(GPIOH, 0U)
515#define LINE_OSC_OUT PAL_LINE(GPIOH, 1U)
516
517/*===========================================================================*/
518/* Driver pre-compile time settings. */
519/*===========================================================================*/
520
521/*===========================================================================*/
522/* Derived constants and error checks. */
523/*===========================================================================*/
524
525/*===========================================================================*/
526/* Driver data structures and types. */
527/*===========================================================================*/
528
529/*===========================================================================*/
530/* Driver macros. */
531/*===========================================================================*/
532
533/*
534 * I/O ports initial setup, this configuration is established soon after reset
535 * in the initialization code.
536 * Please refer to the STM32 Reference Manual for details.
537 */
538#define PIN_MODE_INPUT(n) (0U << ((n) * 2U))
539#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U))
540#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U))
541#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U))
542#define PIN_ODR_LOW(n) (0U << (n))
543#define PIN_ODR_HIGH(n) (1U << (n))
544#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
545#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
546#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U))
547#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U))
548#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U))
549#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U))
550#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U))
551#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U))
552#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U))
553#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U))
554
555/*
556 * GPIOA setup:
557 *
558 * PA0 - ZIO_D32 TIM2_CH1 (input pullup).
559 * PA1 - RMII_REF_CLK (alternate 11).
560 * PA2 - RMII_MDIO (alternate 11).
561 * PA3 - ARD_A0 ADC123_IN3 (input pullup).
562 * PA4 - ZIO_D24 SPI3_NSS (input pullup).
563 * PA5 - ARD_D13 SPI1_SCK (input pullup).
564 * PA6 - ARD_D12 SPI1_MISO (input pullup).
565 * PA7 - ARD_D11 SPI1_MOSI ZIO_D71 RMII_RX_DV(alternate 11).
566 * PA8 - USB_SOF (alternate 10).
567 * PA9 - USB_VBUS (analog).
568 * PA10 - USB_ID (alternate 10).
569 * PA11 - USB_DM (alternate 10).
570 * PA12 - USB_DP (alternate 10).
571 * PA13 - SWDIO (alternate 0).
572 * PA14 - SWCLK (alternate 0).
573 * PA15 - ZIO_D20 I2S3_WS (input pullup).
574 */
575#define VAL_GPIOA_MODER (PIN_MODE_INPUT(GPIOA_ZIO_D32) | \
576 PIN_MODE_ALTERNATE(GPIOA_RMII_REF_CLK) |\
577 PIN_MODE_ALTERNATE(GPIOA_RMII_MDIO) | \
578 PIN_MODE_INPUT(GPIOA_ARD_A0) | \
579 PIN_MODE_INPUT(GPIOA_ZIO_D24) | \
580 PIN_MODE_INPUT(GPIOA_ARD_D13) | \
581 PIN_MODE_INPUT(GPIOA_ARD_D12) | \
582 PIN_MODE_ALTERNATE(GPIOA_ARD_D11) | \
583 PIN_MODE_ALTERNATE(GPIOA_USB_SOF) | \
584 PIN_MODE_ANALOG(GPIOA_USB_VBUS) | \
585 PIN_MODE_ALTERNATE(GPIOA_USB_ID) | \
586 PIN_MODE_ALTERNATE(GPIOA_USB_DM) | \
587 PIN_MODE_ALTERNATE(GPIOA_USB_DP) | \
588 PIN_MODE_ALTERNATE(GPIOA_SWDIO) | \
589 PIN_MODE_ALTERNATE(GPIOA_SWCLK) | \
590 PIN_MODE_INPUT(GPIOA_ZIO_D20))
591#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(GPIOA_ZIO_D32) | \
592 PIN_OTYPE_PUSHPULL(GPIOA_RMII_REF_CLK) |\
593 PIN_OTYPE_PUSHPULL(GPIOA_RMII_MDIO) | \
594 PIN_OTYPE_PUSHPULL(GPIOA_ARD_A0) | \
595 PIN_OTYPE_PUSHPULL(GPIOA_ZIO_D24) | \
596 PIN_OTYPE_PUSHPULL(GPIOA_ARD_D13) | \
597 PIN_OTYPE_PUSHPULL(GPIOA_ARD_D12) | \
598 PIN_OTYPE_PUSHPULL(GPIOA_ARD_D11) | \
599 PIN_OTYPE_PUSHPULL(GPIOA_USB_SOF) | \
600 PIN_OTYPE_PUSHPULL(GPIOA_USB_VBUS) | \
601 PIN_OTYPE_PUSHPULL(GPIOA_USB_ID) | \
602 PIN_OTYPE_PUSHPULL(GPIOA_USB_DM) | \
603 PIN_OTYPE_PUSHPULL(GPIOA_USB_DP) | \
604 PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) | \
605 PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) | \
606 PIN_OTYPE_PUSHPULL(GPIOA_ZIO_D20))
607#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_HIGH(GPIOA_ZIO_D32) | \
608 PIN_OSPEED_HIGH(GPIOA_RMII_REF_CLK) | \
609 PIN_OSPEED_HIGH(GPIOA_RMII_MDIO) | \
610 PIN_OSPEED_HIGH(GPIOA_ARD_A0) | \
611 PIN_OSPEED_HIGH(GPIOA_ZIO_D24) | \
612 PIN_OSPEED_HIGH(GPIOA_ARD_D13) | \
613 PIN_OSPEED_HIGH(GPIOA_ARD_D12) | \
614 PIN_OSPEED_HIGH(GPIOA_ARD_D11) | \
615 PIN_OSPEED_HIGH(GPIOA_USB_SOF) | \
616 PIN_OSPEED_HIGH(GPIOA_USB_VBUS) | \
617 PIN_OSPEED_HIGH(GPIOA_USB_ID) | \
618 PIN_OSPEED_HIGH(GPIOA_USB_DM) | \
619 PIN_OSPEED_HIGH(GPIOA_USB_DP) | \
620 PIN_OSPEED_HIGH(GPIOA_SWDIO) | \
621 PIN_OSPEED_HIGH(GPIOA_SWCLK) | \
622 PIN_OSPEED_HIGH(GPIOA_ZIO_D20))
623#define VAL_GPIOA_PUPDR (PIN_PUPDR_PULLUP(GPIOA_ZIO_D32) | \
624 PIN_PUPDR_FLOATING(GPIOA_RMII_REF_CLK) |\
625 PIN_PUPDR_PULLUP(GPIOA_RMII_MDIO) | \
626 PIN_PUPDR_PULLUP(GPIOA_ARD_A0) | \
627 PIN_PUPDR_PULLUP(GPIOA_ZIO_D24) | \
628 PIN_PUPDR_PULLUP(GPIOA_ARD_D13) | \
629 PIN_PUPDR_PULLUP(GPIOA_ARD_D12) | \
630 PIN_PUPDR_PULLUP(GPIOA_ARD_D11) | \
631 PIN_PUPDR_FLOATING(GPIOA_USB_SOF) | \
632 PIN_PUPDR_FLOATING(GPIOA_USB_VBUS) | \
633 PIN_PUPDR_FLOATING(GPIOA_USB_ID) | \
634 PIN_PUPDR_FLOATING(GPIOA_USB_DM) | \
635 PIN_PUPDR_FLOATING(GPIOA_USB_DP) | \
636 PIN_PUPDR_FLOATING(GPIOA_SWDIO) | \
637 PIN_PUPDR_FLOATING(GPIOA_SWCLK) | \
638 PIN_PUPDR_PULLUP(GPIOA_ZIO_D20))
639#define VAL_GPIOA_ODR (PIN_ODR_HIGH(GPIOA_ZIO_D32) | \
640 PIN_ODR_HIGH(GPIOA_RMII_REF_CLK) | \
641 PIN_ODR_HIGH(GPIOA_RMII_MDIO) | \
642 PIN_ODR_HIGH(GPIOA_ARD_A0) | \
643 PIN_ODR_HIGH(GPIOA_ZIO_D24) | \
644 PIN_ODR_HIGH(GPIOA_ARD_D13) | \
645 PIN_ODR_HIGH(GPIOA_ARD_D12) | \
646 PIN_ODR_HIGH(GPIOA_ARD_D11) | \
647 PIN_ODR_HIGH(GPIOA_USB_SOF) | \
648 PIN_ODR_HIGH(GPIOA_USB_VBUS) | \
649 PIN_ODR_HIGH(GPIOA_USB_ID) | \
650 PIN_ODR_HIGH(GPIOA_USB_DM) | \
651 PIN_ODR_HIGH(GPIOA_USB_DP) | \
652 PIN_ODR_HIGH(GPIOA_SWDIO) | \
653 PIN_ODR_HIGH(GPIOA_SWCLK) | \
654 PIN_ODR_HIGH(GPIOA_ZIO_D20))
655#define VAL_GPIOA_AFRL (PIN_AFIO_AF(GPIOA_ZIO_D32, 0U) | \
656 PIN_AFIO_AF(GPIOA_RMII_REF_CLK, 11U) | \
657 PIN_AFIO_AF(GPIOA_RMII_MDIO, 11U) | \
658 PIN_AFIO_AF(GPIOA_ARD_A0, 0U) | \
659 PIN_AFIO_AF(GPIOA_ZIO_D24, 0U) | \
660 PIN_AFIO_AF(GPIOA_ARD_D13, 0U) | \
661 PIN_AFIO_AF(GPIOA_ARD_D12, 0U) | \
662 PIN_AFIO_AF(GPIOA_ARD_D11, 11U))
663#define VAL_GPIOA_AFRH (PIN_AFIO_AF(GPIOA_USB_SOF, 10U) | \
664 PIN_AFIO_AF(GPIOA_USB_VBUS, 0U) | \
665 PIN_AFIO_AF(GPIOA_USB_ID, 10U) | \
666 PIN_AFIO_AF(GPIOA_USB_DM, 10U) | \
667 PIN_AFIO_AF(GPIOA_USB_DP, 10U) | \
668 PIN_AFIO_AF(GPIOA_SWDIO, 0U) | \
669 PIN_AFIO_AF(GPIOA_SWCLK, 0U) | \
670 PIN_AFIO_AF(GPIOA_ZIO_D20, 0U))
671
672/*
673 * GPIOB setup:
674 *
675 * PB0 - ZIO_D33 TIM3_CH3 LED1 (output pushpull maximum).
676 * PB1 - ZIO_A6 ADC12_IN9 (input pullup).
677 * PB2 - ZIO_D27 QSPI_CLK (input pullup).
678 * PB3 - ZIO_D23 I2S3_CK (input pullup).
679 * PB4 - ZIO_D25 SPI3_MISO (input pullup).
680 * PB5 - ZIO_D22 I2S3_SD (input pullup).
681 * PB6 - ZIO_D26 QSPI_BK1_NCS (input pullup).
682 * PB7 - LED2 (output pushpull maximum).
683 * PB8 - ARD_D15 I2C1_SCL (input pullup).
684 * PB9 - ARD_D14 I2C1_SDA (input pullup).
685 * PB10 - ZIO_D36 TIM2_CH3 (input pullup).
686 * PB11 - ZIO_D35 TIM2_CH4 (input pullup).
687 * PB12 - ZIO_D19 I2S2_WS (input pullup).
688 * PB13 - ZIO_D18 I2S2_CK RMII_TXD1 (alternate 11).
689 * PB14 - LED3 (output pushpull maximum).
690 * PB15 - ZIO_D17 I2S2_SD (input pullup).
691 */
692#define VAL_GPIOB_MODER (PIN_MODE_OUTPUT(GPIOB_ZIO_D33) | \
693 PIN_MODE_INPUT(GPIOB_ZIO_A6) | \
694 PIN_MODE_INPUT(GPIOB_ZIO_D27) | \
695 PIN_MODE_INPUT(GPIOB_ZIO_D23) | \
696 PIN_MODE_INPUT(GPIOB_ZIO_D25) | \
697 PIN_MODE_INPUT(GPIOB_ZIO_D22) | \
698 PIN_MODE_INPUT(GPIOB_ZIO_D26) | \
699 PIN_MODE_OUTPUT(GPIOB_LED2) | \
700 PIN_MODE_INPUT(GPIOB_ARD_D15) | \
701 PIN_MODE_INPUT(GPIOB_ARD_D14) | \
702 PIN_MODE_INPUT(GPIOB_ZIO_D36) | \
703 PIN_MODE_INPUT(GPIOB_ZIO_D35) | \
704 PIN_MODE_INPUT(GPIOB_ZIO_D19) | \
705 PIN_MODE_ALTERNATE(GPIOB_ZIO_D18) | \
706 PIN_MODE_OUTPUT(GPIOB_LED3) | \
707 PIN_MODE_INPUT(GPIOB_ZIO_D17))
708#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(GPIOB_ZIO_D33) | \
709 PIN_OTYPE_PUSHPULL(GPIOB_ZIO_A6) | \
710 PIN_OTYPE_PUSHPULL(GPIOB_ZIO_D27) | \
711 PIN_OTYPE_PUSHPULL(GPIOB_ZIO_D23) | \
712 PIN_OTYPE_PUSHPULL(GPIOB_ZIO_D25) | \
713 PIN_OTYPE_PUSHPULL(GPIOB_ZIO_D22) | \
714 PIN_OTYPE_PUSHPULL(GPIOB_ZIO_D26) | \
715 PIN_OTYPE_PUSHPULL(GPIOB_LED2) | \
716 PIN_OTYPE_PUSHPULL(GPIOB_ARD_D15) | \
717 PIN_OTYPE_PUSHPULL(GPIOB_ARD_D14) | \
718 PIN_OTYPE_PUSHPULL(GPIOB_ZIO_D36) | \
719 PIN_OTYPE_PUSHPULL(GPIOB_ZIO_D35) | \
720 PIN_OTYPE_PUSHPULL(GPIOB_ZIO_D19) | \
721 PIN_OTYPE_PUSHPULL(GPIOB_ZIO_D18) | \
722 PIN_OTYPE_PUSHPULL(GPIOB_LED3) | \
723 PIN_OTYPE_PUSHPULL(GPIOB_ZIO_D17))
724#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_HIGH(GPIOB_ZIO_D33) | \
725 PIN_OSPEED_HIGH(GPIOB_ZIO_A6) | \
726 PIN_OSPEED_HIGH(GPIOB_ZIO_D27) | \
727 PIN_OSPEED_HIGH(GPIOB_ZIO_D23) | \
728 PIN_OSPEED_HIGH(GPIOB_ZIO_D25) | \
729 PIN_OSPEED_HIGH(GPIOB_ZIO_D22) | \
730 PIN_OSPEED_HIGH(GPIOB_ZIO_D26) | \
731 PIN_OSPEED_HIGH(GPIOB_LED2) | \
732 PIN_OSPEED_HIGH(GPIOB_ARD_D15) | \
733 PIN_OSPEED_HIGH(GPIOB_ARD_D14) | \
734 PIN_OSPEED_HIGH(GPIOB_ZIO_D36) | \
735 PIN_OSPEED_HIGH(GPIOB_ZIO_D35) | \
736 PIN_OSPEED_HIGH(GPIOB_ZIO_D19) | \
737 PIN_OSPEED_HIGH(GPIOB_ZIO_D18) | \
738 PIN_OSPEED_HIGH(GPIOB_LED3) | \
739 PIN_OSPEED_HIGH(GPIOB_ZIO_D17))
740#define VAL_GPIOB_PUPDR (PIN_PUPDR_FLOATING(GPIOB_ZIO_D33) | \
741 PIN_PUPDR_PULLUP(GPIOB_ZIO_A6) | \
742 PIN_PUPDR_PULLUP(GPIOB_ZIO_D27) | \
743 PIN_PUPDR_PULLUP(GPIOB_ZIO_D23) | \
744 PIN_PUPDR_PULLUP(GPIOB_ZIO_D25) | \
745 PIN_PUPDR_PULLUP(GPIOB_ZIO_D22) | \
746 PIN_PUPDR_PULLUP(GPIOB_ZIO_D26) | \
747 PIN_PUPDR_FLOATING(GPIOB_LED2) | \
748 PIN_PUPDR_PULLUP(GPIOB_ARD_D15) | \
749 PIN_PUPDR_PULLUP(GPIOB_ARD_D14) | \
750 PIN_PUPDR_PULLUP(GPIOB_ZIO_D36) | \
751 PIN_PUPDR_PULLUP(GPIOB_ZIO_D35) | \
752 PIN_PUPDR_PULLUP(GPIOB_ZIO_D19) | \
753 PIN_PUPDR_PULLUP(GPIOB_ZIO_D18) | \
754 PIN_PUPDR_FLOATING(GPIOB_LED3) | \
755 PIN_PUPDR_PULLUP(GPIOB_ZIO_D17))
756#define VAL_GPIOB_ODR (PIN_ODR_LOW(GPIOB_ZIO_D33) | \
757 PIN_ODR_HIGH(GPIOB_ZIO_A6) | \
758 PIN_ODR_HIGH(GPIOB_ZIO_D27) | \
759 PIN_ODR_HIGH(GPIOB_ZIO_D23) | \
760 PIN_ODR_HIGH(GPIOB_ZIO_D25) | \
761 PIN_ODR_HIGH(GPIOB_ZIO_D22) | \
762 PIN_ODR_HIGH(GPIOB_ZIO_D26) | \
763 PIN_ODR_LOW(GPIOB_LED2) | \
764 PIN_ODR_HIGH(GPIOB_ARD_D15) | \
765 PIN_ODR_HIGH(GPIOB_ARD_D14) | \
766 PIN_ODR_HIGH(GPIOB_ZIO_D36) | \
767 PIN_ODR_HIGH(GPIOB_ZIO_D35) | \
768 PIN_ODR_HIGH(GPIOB_ZIO_D19) | \
769 PIN_ODR_HIGH(GPIOB_ZIO_D18) | \
770 PIN_ODR_LOW(GPIOB_LED3) | \
771 PIN_ODR_HIGH(GPIOB_ZIO_D17))
772#define VAL_GPIOB_AFRL (PIN_AFIO_AF(GPIOB_ZIO_D33, 0U) | \
773 PIN_AFIO_AF(GPIOB_ZIO_A6, 0U) | \
774 PIN_AFIO_AF(GPIOB_ZIO_D27, 0U) | \
775 PIN_AFIO_AF(GPIOB_ZIO_D23, 0U) | \
776 PIN_AFIO_AF(GPIOB_ZIO_D25, 0U) | \
777 PIN_AFIO_AF(GPIOB_ZIO_D22, 0U) | \
778 PIN_AFIO_AF(GPIOB_ZIO_D26, 0U) | \
779 PIN_AFIO_AF(GPIOB_LED2, 0U))
780#define VAL_GPIOB_AFRH (PIN_AFIO_AF(GPIOB_ARD_D15, 0U) | \
781 PIN_AFIO_AF(GPIOB_ARD_D14, 0U) | \
782 PIN_AFIO_AF(GPIOB_ZIO_D36, 0U) | \
783 PIN_AFIO_AF(GPIOB_ZIO_D35, 0U) | \
784 PIN_AFIO_AF(GPIOB_ZIO_D19, 0U) | \
785 PIN_AFIO_AF(GPIOB_ZIO_D18, 11U) | \
786 PIN_AFIO_AF(GPIOB_LED3, 0U) | \
787 PIN_AFIO_AF(GPIOB_ZIO_D17, 0U))
788
789/*
790 * GPIOC setup:
791 *
792 * PC0 - ARD_A1 ADC123_IN10 (input pullup).
793 * PC1 - RMII_MDC (alternate 11).
794 * PC2 - ZIO_A7 ADC123_IN12 (input pullup).
795 * PC3 - ARD_A2 ADC123_IN13 (input pullup).
796 * PC4 - RMII_RXD0 (alternate 11).
797 * PC5 - RMII_RXD1 (alternate 11).
798 * PC6 - ZIO_D16 I2S2_MCK (input pullup).
799 * PC7 - ZIO_D21 I2S3_MCK (input pullup).
800 * PC8 - ZIO_D43 SDMMC_D0 (input pullup).
801 * PC9 - ZIO_D44 SDMMC_D1 (input pullup).
802 * PC10 - ZIO_D45 SDMMC_D2 (input pullup).
803 * PC11 - ZIO_D46 SDMMC_D3 (input pullup).
804 * PC12 - ZIO_D47 SDMMC_CK (input pullup).
805 * PC13 - BUTTON (input floating).
806 * PC14 - OSC32_IN (input floating).
807 * PC15 - OSC32_OUT (input floating).
808 */
809#define VAL_GPIOC_MODER (PIN_MODE_INPUT(GPIOC_ARD_A1) | \
810 PIN_MODE_ALTERNATE(GPIOC_RMII_MDC) | \
811 PIN_MODE_INPUT(GPIOC_ZIO_A7) | \
812 PIN_MODE_INPUT(GPIOC_ARD_A2) | \
813 PIN_MODE_ALTERNATE(GPIOC_RMII_RXD0) | \
814 PIN_MODE_ALTERNATE(GPIOC_RMII_RXD1) | \
815 PIN_MODE_INPUT(GPIOC_ZIO_D16) | \
816 PIN_MODE_INPUT(GPIOC_ZIO_D21) | \
817 PIN_MODE_INPUT(GPIOC_ZIO_D43) | \
818 PIN_MODE_INPUT(GPIOC_ZIO_D44) | \
819 PIN_MODE_INPUT(GPIOC_ZIO_D45) | \
820 PIN_MODE_INPUT(GPIOC_ZIO_D46) | \
821 PIN_MODE_INPUT(GPIOC_ZIO_D47) | \
822 PIN_MODE_INPUT(GPIOC_BUTTON) | \
823 PIN_MODE_INPUT(GPIOC_OSC32_IN) | \
824 PIN_MODE_INPUT(GPIOC_OSC32_OUT))
825#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(GPIOC_ARD_A1) | \
826 PIN_OTYPE_PUSHPULL(GPIOC_RMII_MDC) | \
827 PIN_OTYPE_PUSHPULL(GPIOC_ZIO_A7) | \
828 PIN_OTYPE_PUSHPULL(GPIOC_ARD_A2) | \
829 PIN_OTYPE_PUSHPULL(GPIOC_RMII_RXD0) | \
830 PIN_OTYPE_PUSHPULL(GPIOC_RMII_RXD1) | \
831 PIN_OTYPE_PUSHPULL(GPIOC_ZIO_D16) | \
832 PIN_OTYPE_PUSHPULL(GPIOC_ZIO_D21) | \
833 PIN_OTYPE_PUSHPULL(GPIOC_ZIO_D43) | \
834 PIN_OTYPE_PUSHPULL(GPIOC_ZIO_D44) | \
835 PIN_OTYPE_PUSHPULL(GPIOC_ZIO_D45) | \
836 PIN_OTYPE_PUSHPULL(GPIOC_ZIO_D46) | \
837 PIN_OTYPE_PUSHPULL(GPIOC_ZIO_D47) | \
838 PIN_OTYPE_PUSHPULL(GPIOC_BUTTON) | \
839 PIN_OTYPE_PUSHPULL(GPIOC_OSC32_IN) | \
840 PIN_OTYPE_PUSHPULL(GPIOC_OSC32_OUT))
841#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_HIGH(GPIOC_ARD_A1) | \
842 PIN_OSPEED_HIGH(GPIOC_RMII_MDC) | \
843 PIN_OSPEED_HIGH(GPIOC_ZIO_A7) | \
844 PIN_OSPEED_HIGH(GPIOC_ARD_A2) | \
845 PIN_OSPEED_HIGH(GPIOC_RMII_RXD0) | \
846 PIN_OSPEED_HIGH(GPIOC_RMII_RXD1) | \
847 PIN_OSPEED_HIGH(GPIOC_ZIO_D16) | \
848 PIN_OSPEED_HIGH(GPIOC_ZIO_D21) | \
849 PIN_OSPEED_HIGH(GPIOC_ZIO_D43) | \
850 PIN_OSPEED_HIGH(GPIOC_ZIO_D44) | \
851 PIN_OSPEED_HIGH(GPIOC_ZIO_D45) | \
852 PIN_OSPEED_HIGH(GPIOC_ZIO_D46) | \
853 PIN_OSPEED_HIGH(GPIOC_ZIO_D47) | \
854 PIN_OSPEED_HIGH(GPIOC_BUTTON) | \
855 PIN_OSPEED_VERYLOW(GPIOC_OSC32_IN) | \
856 PIN_OSPEED_VERYLOW(GPIOC_OSC32_OUT))
857#define VAL_GPIOC_PUPDR (PIN_PUPDR_PULLUP(GPIOC_ARD_A1) | \
858 PIN_PUPDR_FLOATING(GPIOC_RMII_MDC) | \
859 PIN_PUPDR_PULLUP(GPIOC_ZIO_A7) | \
860 PIN_PUPDR_PULLUP(GPIOC_ARD_A2) | \
861 PIN_PUPDR_FLOATING(GPIOC_RMII_RXD0) | \
862 PIN_PUPDR_FLOATING(GPIOC_RMII_RXD1) | \
863 PIN_PUPDR_PULLUP(GPIOC_ZIO_D16) | \
864 PIN_PUPDR_PULLUP(GPIOC_ZIO_D21) | \
865 PIN_PUPDR_PULLUP(GPIOC_ZIO_D43) | \
866 PIN_PUPDR_PULLUP(GPIOC_ZIO_D44) | \
867 PIN_PUPDR_PULLUP(GPIOC_ZIO_D45) | \
868 PIN_PUPDR_PULLUP(GPIOC_ZIO_D46) | \
869 PIN_PUPDR_PULLUP(GPIOC_ZIO_D47) | \
870 PIN_PUPDR_FLOATING(GPIOC_BUTTON) | \
871 PIN_PUPDR_FLOATING(GPIOC_OSC32_IN) | \
872 PIN_PUPDR_FLOATING(GPIOC_OSC32_OUT))
873#define VAL_GPIOC_ODR (PIN_ODR_HIGH(GPIOC_ARD_A1) | \
874 PIN_ODR_HIGH(GPIOC_RMII_MDC) | \
875 PIN_ODR_HIGH(GPIOC_ZIO_A7) | \
876 PIN_ODR_HIGH(GPIOC_ARD_A2) | \
877 PIN_ODR_HIGH(GPIOC_RMII_RXD0) | \
878 PIN_ODR_HIGH(GPIOC_RMII_RXD1) | \
879 PIN_ODR_HIGH(GPIOC_ZIO_D16) | \
880 PIN_ODR_HIGH(GPIOC_ZIO_D21) | \
881 PIN_ODR_HIGH(GPIOC_ZIO_D43) | \
882 PIN_ODR_HIGH(GPIOC_ZIO_D44) | \
883 PIN_ODR_HIGH(GPIOC_ZIO_D45) | \
884 PIN_ODR_HIGH(GPIOC_ZIO_D46) | \
885 PIN_ODR_HIGH(GPIOC_ZIO_D47) | \
886 PIN_ODR_HIGH(GPIOC_BUTTON) | \
887 PIN_ODR_HIGH(GPIOC_OSC32_IN) | \
888 PIN_ODR_HIGH(GPIOC_OSC32_OUT))
889#define VAL_GPIOC_AFRL (PIN_AFIO_AF(GPIOC_ARD_A1, 0U) | \
890 PIN_AFIO_AF(GPIOC_RMII_MDC, 11U) | \
891 PIN_AFIO_AF(GPIOC_ZIO_A7, 0U) | \
892 PIN_AFIO_AF(GPIOC_ARD_A2, 0U) | \
893 PIN_AFIO_AF(GPIOC_RMII_RXD0, 11U) | \
894 PIN_AFIO_AF(GPIOC_RMII_RXD1, 11U) | \
895 PIN_AFIO_AF(GPIOC_ZIO_D16, 0U) | \
896 PIN_AFIO_AF(GPIOC_ZIO_D21, 0U))
897#define VAL_GPIOC_AFRH (PIN_AFIO_AF(GPIOC_ZIO_D43, 0U) | \
898 PIN_AFIO_AF(GPIOC_ZIO_D44, 0U) | \
899 PIN_AFIO_AF(GPIOC_ZIO_D45, 0U) | \
900 PIN_AFIO_AF(GPIOC_ZIO_D46, 0U) | \
901 PIN_AFIO_AF(GPIOC_ZIO_D47, 0U) | \
902 PIN_AFIO_AF(GPIOC_BUTTON, 0U) | \
903 PIN_AFIO_AF(GPIOC_OSC32_IN, 0U) | \
904 PIN_AFIO_AF(GPIOC_OSC32_OUT, 0U))
905
906/*
907 * GPIOD setup:
908 *
909 * PD0 - ZIO_D67 CAN1_RX (input pullup).
910 * PD1 - ZIO_D66 CAN1_TX (input pullup).
911 * PD2 - ZIO_D48 SDMMC_CMD (input pullup).
912 * PD3 - ZIO_D55 USART2_CTS (input pullup).
913 * PD4 - ZIO_D54 USART2_RTS (input pullup).
914 * PD5 - ZIO_D53 USART2_TX (input pullup).
915 * PD6 - ZIO_D52 USART2_RX (input pullup).
916 * PD7 - ZIO_D51 USART2_SCLK (input pullup).
917 * PD8 - USART3_RX STLK_RX (alternate 7).
918 * PD9 - USART3_TX STLK_TX (alternate 7).
919 * PD10 - PIN10 (input pullup).
920 * PD11 - ZIO_D30 QSPI_BK1_IO0 (input pullup).
921 * PD12 - ZIO_D29 QSPI_BK1_IO1 (input pullup).
922 * PD13 - ZIO_D28 QSPI_BK1_IO3 (input pullup).
923 * PD14 - ARD_D10 SPI1_NSS (input pullup).
924 * PD15 - ARD_D9 TIM4_CH4 (input pullup).
925 */
926#define VAL_GPIOD_MODER (PIN_MODE_INPUT(GPIOD_ZIO_D67) | \
927 PIN_MODE_INPUT(GPIOD_ZIO_D66) | \
928 PIN_MODE_INPUT(GPIOD_ZIO_D48) | \
929 PIN_MODE_INPUT(GPIOD_ZIO_D55) | \
930 PIN_MODE_INPUT(GPIOD_ZIO_D54) | \
931 PIN_MODE_INPUT(GPIOD_ZIO_D53) | \
932 PIN_MODE_INPUT(GPIOD_ZIO_D52) | \
933 PIN_MODE_INPUT(GPIOD_ZIO_D51) | \
934 PIN_MODE_ALTERNATE(GPIOD_USART3_RX) | \
935 PIN_MODE_ALTERNATE(GPIOD_USART3_TX) | \
936 PIN_MODE_INPUT(GPIOD_PIN10) | \
937 PIN_MODE_INPUT(GPIOD_ZIO_D30) | \
938 PIN_MODE_INPUT(GPIOD_ZIO_D29) | \
939 PIN_MODE_INPUT(GPIOD_ZIO_D28) | \
940 PIN_MODE_INPUT(GPIOD_ARD_D10) | \
941 PIN_MODE_INPUT(GPIOD_ARD_D9))
942#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL(GPIOD_ZIO_D67) | \
943 PIN_OTYPE_PUSHPULL(GPIOD_ZIO_D66) | \
944 PIN_OTYPE_PUSHPULL(GPIOD_ZIO_D48) | \
945 PIN_OTYPE_PUSHPULL(GPIOD_ZIO_D55) | \
946 PIN_OTYPE_PUSHPULL(GPIOD_ZIO_D54) | \
947 PIN_OTYPE_PUSHPULL(GPIOD_ZIO_D53) | \
948 PIN_OTYPE_PUSHPULL(GPIOD_ZIO_D52) | \
949 PIN_OTYPE_PUSHPULL(GPIOD_ZIO_D51) | \
950 PIN_OTYPE_PUSHPULL(GPIOD_USART3_RX) | \
951 PIN_OTYPE_PUSHPULL(GPIOD_USART3_TX) | \
952 PIN_OTYPE_PUSHPULL(GPIOD_PIN10) | \
953 PIN_OTYPE_PUSHPULL(GPIOD_ZIO_D30) | \
954 PIN_OTYPE_PUSHPULL(GPIOD_ZIO_D29) | \
955 PIN_OTYPE_PUSHPULL(GPIOD_ZIO_D28) | \
956 PIN_OTYPE_PUSHPULL(GPIOD_ARD_D10) | \
957 PIN_OTYPE_PUSHPULL(GPIOD_ARD_D9))
958#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_HIGH(GPIOD_ZIO_D67) | \
959 PIN_OSPEED_HIGH(GPIOD_ZIO_D66) | \
960 PIN_OSPEED_HIGH(GPIOD_ZIO_D48) | \
961 PIN_OSPEED_HIGH(GPIOD_ZIO_D55) | \
962 PIN_OSPEED_HIGH(GPIOD_ZIO_D54) | \
963 PIN_OSPEED_HIGH(GPIOD_ZIO_D53) | \
964 PIN_OSPEED_HIGH(GPIOD_ZIO_D52) | \
965 PIN_OSPEED_HIGH(GPIOD_ZIO_D51) | \
966 PIN_OSPEED_HIGH(GPIOD_USART3_RX) | \
967 PIN_OSPEED_HIGH(GPIOD_USART3_TX) | \
968 PIN_OSPEED_VERYLOW(GPIOD_PIN10) | \
969 PIN_OSPEED_HIGH(GPIOD_ZIO_D30) | \
970 PIN_OSPEED_HIGH(GPIOD_ZIO_D29) | \
971 PIN_OSPEED_HIGH(GPIOD_ZIO_D28) | \
972 PIN_OSPEED_HIGH(GPIOD_ARD_D10) | \
973 PIN_OSPEED_HIGH(GPIOD_ARD_D9))
974#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLUP(GPIOD_ZIO_D67) | \
975 PIN_PUPDR_PULLUP(GPIOD_ZIO_D66) | \
976 PIN_PUPDR_PULLUP(GPIOD_ZIO_D48) | \
977 PIN_PUPDR_PULLUP(GPIOD_ZIO_D55) | \
978 PIN_PUPDR_PULLUP(GPIOD_ZIO_D54) | \
979 PIN_PUPDR_PULLUP(GPIOD_ZIO_D53) | \
980 PIN_PUPDR_PULLUP(GPIOD_ZIO_D52) | \
981 PIN_PUPDR_PULLUP(GPIOD_ZIO_D51) | \
982 PIN_PUPDR_FLOATING(GPIOD_USART3_RX) | \
983 PIN_PUPDR_FLOATING(GPIOD_USART3_TX) | \
984 PIN_PUPDR_PULLUP(GPIOD_PIN10) | \
985 PIN_PUPDR_PULLUP(GPIOD_ZIO_D30) | \
986 PIN_PUPDR_PULLUP(GPIOD_ZIO_D29) | \
987 PIN_PUPDR_PULLUP(GPIOD_ZIO_D28) | \
988 PIN_PUPDR_PULLUP(GPIOD_ARD_D10) | \
989 PIN_PUPDR_PULLUP(GPIOD_ARD_D9))
990#define VAL_GPIOD_ODR (PIN_ODR_HIGH(GPIOD_ZIO_D67) | \
991 PIN_ODR_HIGH(GPIOD_ZIO_D66) | \
992 PIN_ODR_HIGH(GPIOD_ZIO_D48) | \
993 PIN_ODR_HIGH(GPIOD_ZIO_D55) | \
994 PIN_ODR_HIGH(GPIOD_ZIO_D54) | \
995 PIN_ODR_HIGH(GPIOD_ZIO_D53) | \
996 PIN_ODR_HIGH(GPIOD_ZIO_D52) | \
997 PIN_ODR_HIGH(GPIOD_ZIO_D51) | \
998 PIN_ODR_HIGH(GPIOD_USART3_RX) | \
999 PIN_ODR_HIGH(GPIOD_USART3_TX) | \
1000 PIN_ODR_HIGH(GPIOD_PIN10) | \
1001 PIN_ODR_HIGH(GPIOD_ZIO_D30) | \
1002 PIN_ODR_HIGH(GPIOD_ZIO_D29) | \
1003 PIN_ODR_HIGH(GPIOD_ZIO_D28) | \
1004 PIN_ODR_HIGH(GPIOD_ARD_D10) | \
1005 PIN_ODR_HIGH(GPIOD_ARD_D9))
1006#define VAL_GPIOD_AFRL (PIN_AFIO_AF(GPIOD_ZIO_D67, 0U) | \
1007 PIN_AFIO_AF(GPIOD_ZIO_D66, 0U) | \
1008 PIN_AFIO_AF(GPIOD_ZIO_D48, 0U) | \
1009 PIN_AFIO_AF(GPIOD_ZIO_D55, 0U) | \
1010 PIN_AFIO_AF(GPIOD_ZIO_D54, 0U) | \
1011 PIN_AFIO_AF(GPIOD_ZIO_D53, 0U) | \
1012 PIN_AFIO_AF(GPIOD_ZIO_D52, 0U) | \
1013 PIN_AFIO_AF(GPIOD_ZIO_D51, 0U))
1014#define VAL_GPIOD_AFRH (PIN_AFIO_AF(GPIOD_USART3_RX, 7U) | \
1015 PIN_AFIO_AF(GPIOD_USART3_TX, 7U) | \
1016 PIN_AFIO_AF(GPIOD_PIN10, 0U) | \
1017 PIN_AFIO_AF(GPIOD_ZIO_D30, 0U) | \
1018 PIN_AFIO_AF(GPIOD_ZIO_D29, 0U) | \
1019 PIN_AFIO_AF(GPIOD_ZIO_D28, 0U) | \
1020 PIN_AFIO_AF(GPIOD_ARD_D10, 0U) | \
1021 PIN_AFIO_AF(GPIOD_ARD_D9, 0U))
1022
1023/*
1024 * GPIOE setup:
1025 *
1026 * PE0 - ZIO_D34 TIM4_ETR (input pullup).
1027 * PE1 - PIN1 (input pullup).
1028 * PE2 - ZIO_D31 ZIO_D56 SAI1_MCLK_A(input pullup).
1029 * PE3 - ZIO_D60 SAI1_SD_B (input pullup).
1030 * PE4 - ZIO_D57 SAI1_FS_A (input pullup).
1031 * PE5 - ZIO_D58 SAI1_SCK_A (input pullup).
1032 * PE6 - ZIO_D59 SAI1_SD_A (input pullup).
1033 * PE7 - ZIO_D41 TIM1_ETR (input pullup).
1034 * PE8 - ZIO_D42 TIM1_CH1N (input pullup).
1035 * PE9 - ARD_D6 TIM1_CH1 (input pullup).
1036 * PE10 - ZIO_D40 TIM1_CH2N (input pullup).
1037 * PE11 - ARD_D5 TIM1_CH2 (input pullup).
1038 * PE12 - ZIO_D39 TIM1_CH3N (input pullup).
1039 * PE13 - ARD_D3 TIM1_CH3 (input pullup).
1040 * PE14 - ZIO_D38 (input pullup).
1041 * PE15 - ZIO_D37 TIM1_BKIN1 (input pullup).
1042 */
1043#define VAL_GPIOE_MODER (PIN_MODE_INPUT(GPIOE_ZIO_D34) | \
1044 PIN_MODE_INPUT(GPIOE_PIN1) | \
1045 PIN_MODE_INPUT(GPIOE_ZIO_D31) | \
1046 PIN_MODE_INPUT(GPIOE_ZIO_D60) | \
1047 PIN_MODE_INPUT(GPIOE_ZIO_D57) | \
1048 PIN_MODE_INPUT(GPIOE_ZIO_D58) | \
1049 PIN_MODE_INPUT(GPIOE_ZIO_D59) | \
1050 PIN_MODE_INPUT(GPIOE_ZIO_D41) | \
1051 PIN_MODE_INPUT(GPIOE_ZIO_D42) | \
1052 PIN_MODE_INPUT(GPIOE_ARD_D6) | \
1053 PIN_MODE_INPUT(GPIOE_ZIO_D40) | \
1054 PIN_MODE_INPUT(GPIOE_ARD_D5) | \
1055 PIN_MODE_INPUT(GPIOE_ZIO_D39) | \
1056 PIN_MODE_INPUT(GPIOE_ARD_D3) | \
1057 PIN_MODE_INPUT(GPIOE_ZIO_D38) | \
1058 PIN_MODE_INPUT(GPIOE_ZIO_D37))
1059#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D34) | \
1060 PIN_OTYPE_PUSHPULL(GPIOE_PIN1) | \
1061 PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D31) | \
1062 PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D60) | \
1063 PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D57) | \
1064 PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D58) | \
1065 PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D59) | \
1066 PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D41) | \
1067 PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D42) | \
1068 PIN_OTYPE_PUSHPULL(GPIOE_ARD_D6) | \
1069 PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D40) | \
1070 PIN_OTYPE_PUSHPULL(GPIOE_ARD_D5) | \
1071 PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D39) | \
1072 PIN_OTYPE_PUSHPULL(GPIOE_ARD_D3) | \
1073 PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D38) | \
1074 PIN_OTYPE_PUSHPULL(GPIOE_ZIO_D37))
1075#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_HIGH(GPIOE_ZIO_D34) | \
1076 PIN_OSPEED_VERYLOW(GPIOE_PIN1) | \
1077 PIN_OSPEED_HIGH(GPIOE_ZIO_D31) | \
1078 PIN_OSPEED_HIGH(GPIOE_ZIO_D60) | \
1079 PIN_OSPEED_HIGH(GPIOE_ZIO_D57) | \
1080 PIN_OSPEED_HIGH(GPIOE_ZIO_D58) | \
1081 PIN_OSPEED_HIGH(GPIOE_ZIO_D59) | \
1082 PIN_OSPEED_HIGH(GPIOE_ZIO_D41) | \
1083 PIN_OSPEED_HIGH(GPIOE_ZIO_D42) | \
1084 PIN_OSPEED_HIGH(GPIOE_ARD_D6) | \
1085 PIN_OSPEED_HIGH(GPIOE_ZIO_D40) | \
1086 PIN_OSPEED_HIGH(GPIOE_ARD_D5) | \
1087 PIN_OSPEED_HIGH(GPIOE_ZIO_D39) | \
1088 PIN_OSPEED_HIGH(GPIOE_ARD_D3) | \
1089 PIN_OSPEED_VERYLOW(GPIOE_ZIO_D38) | \
1090 PIN_OSPEED_HIGH(GPIOE_ZIO_D37))
1091#define VAL_GPIOE_PUPDR (PIN_PUPDR_PULLUP(GPIOE_ZIO_D34) | \
1092 PIN_PUPDR_PULLUP(GPIOE_PIN1) | \
1093 PIN_PUPDR_PULLUP(GPIOE_ZIO_D31) | \
1094 PIN_PUPDR_PULLUP(GPIOE_ZIO_D60) | \
1095 PIN_PUPDR_PULLUP(GPIOE_ZIO_D57) | \
1096 PIN_PUPDR_PULLUP(GPIOE_ZIO_D58) | \
1097 PIN_PUPDR_PULLUP(GPIOE_ZIO_D59) | \
1098 PIN_PUPDR_PULLUP(GPIOE_ZIO_D41) | \
1099 PIN_PUPDR_PULLUP(GPIOE_ZIO_D42) | \
1100 PIN_PUPDR_PULLUP(GPIOE_ARD_D6) | \
1101 PIN_PUPDR_PULLUP(GPIOE_ZIO_D40) | \
1102 PIN_PUPDR_PULLUP(GPIOE_ARD_D5) | \
1103 PIN_PUPDR_PULLUP(GPIOE_ZIO_D39) | \
1104 PIN_PUPDR_PULLUP(GPIOE_ARD_D3) | \
1105 PIN_PUPDR_PULLUP(GPIOE_ZIO_D38) | \
1106 PIN_PUPDR_PULLUP(GPIOE_ZIO_D37))
1107#define VAL_GPIOE_ODR (PIN_ODR_HIGH(GPIOE_ZIO_D34) | \
1108 PIN_ODR_HIGH(GPIOE_PIN1) | \
1109 PIN_ODR_HIGH(GPIOE_ZIO_D31) | \
1110 PIN_ODR_HIGH(GPIOE_ZIO_D60) | \
1111 PIN_ODR_HIGH(GPIOE_ZIO_D57) | \
1112 PIN_ODR_HIGH(GPIOE_ZIO_D58) | \
1113 PIN_ODR_HIGH(GPIOE_ZIO_D59) | \
1114 PIN_ODR_HIGH(GPIOE_ZIO_D41) | \
1115 PIN_ODR_HIGH(GPIOE_ZIO_D42) | \
1116 PIN_ODR_HIGH(GPIOE_ARD_D6) | \
1117 PIN_ODR_HIGH(GPIOE_ZIO_D40) | \
1118 PIN_ODR_HIGH(GPIOE_ARD_D5) | \
1119 PIN_ODR_HIGH(GPIOE_ZIO_D39) | \
1120 PIN_ODR_HIGH(GPIOE_ARD_D3) | \
1121 PIN_ODR_HIGH(GPIOE_ZIO_D38) | \
1122 PIN_ODR_HIGH(GPIOE_ZIO_D37))
1123#define VAL_GPIOE_AFRL (PIN_AFIO_AF(GPIOE_ZIO_D34, 0U) | \
1124 PIN_AFIO_AF(GPIOE_PIN1, 0U) | \
1125 PIN_AFIO_AF(GPIOE_ZIO_D31, 0U) | \
1126 PIN_AFIO_AF(GPIOE_ZIO_D60, 0U) | \
1127 PIN_AFIO_AF(GPIOE_ZIO_D57, 0U) | \
1128 PIN_AFIO_AF(GPIOE_ZIO_D58, 0U) | \
1129 PIN_AFIO_AF(GPIOE_ZIO_D59, 0U) | \
1130 PIN_AFIO_AF(GPIOE_ZIO_D41, 0U))
1131#define VAL_GPIOE_AFRH (PIN_AFIO_AF(GPIOE_ZIO_D42, 0U) | \
1132 PIN_AFIO_AF(GPIOE_ARD_D6, 0U) | \
1133 PIN_AFIO_AF(GPIOE_ZIO_D40, 0U) | \
1134 PIN_AFIO_AF(GPIOE_ARD_D5, 0U) | \
1135 PIN_AFIO_AF(GPIOE_ZIO_D39, 0U) | \
1136 PIN_AFIO_AF(GPIOE_ARD_D3, 0U) | \
1137 PIN_AFIO_AF(GPIOE_ZIO_D38, 0U) | \
1138 PIN_AFIO_AF(GPIOE_ZIO_D37, 0U))
1139
1140/*
1141 * GPIOF setup:
1142 *
1143 * PF0 - ZIO_D68 I2C2_SDA (input pullup).
1144 * PF1 - ZIO_D69 I2C2_SCL (input pullup).
1145 * PF2 - ZIO_D70 I2C2_SMBA (input pullup).
1146 * PF3 - ARD_A3 ADC3_IN9 (input pullup).
1147 * PF4 - ZIO_A8 ADC3_IN14 (input pullup).
1148 * PF5 - ARD_A4 ADC3_IN15 (input pullup).
1149 * PF6 - PIN6 (input pullup).
1150 * PF7 - ZIO_D62 SAI1_MCLK_B (input pullup).
1151 * PF8 - ZIO_D61 SAI1_SCK_B (input pullup).
1152 * PF9 - ZIO_D63 SAI1_FS_B (input pullup).
1153 * PF10 - ARD_A5 ADC3_IN8 (input pullup).
1154 * PF11 - PIN11 (input pullup).
1155 * PF12 - ARD_D8 (input pullup).
1156 * PF13 - ARD_D7 (input pullup).
1157 * PF14 - ARD_D4 (input pullup).
1158 * PF15 - ARD_D2 (input pullup).
1159 */
1160#define VAL_GPIOF_MODER (PIN_MODE_INPUT(GPIOF_ZIO_D68) | \
1161 PIN_MODE_INPUT(GPIOF_ZIO_D69) | \
1162 PIN_MODE_INPUT(GPIOF_ZIO_D70) | \
1163 PIN_MODE_INPUT(GPIOF_ARD_A3) | \
1164 PIN_MODE_INPUT(GPIOF_ZIO_A8) | \
1165 PIN_MODE_INPUT(GPIOF_ARD_A4) | \
1166 PIN_MODE_INPUT(GPIOF_PIN6) | \
1167 PIN_MODE_INPUT(GPIOF_ZIO_D62) | \
1168 PIN_MODE_INPUT(GPIOF_ZIO_D61) | \
1169 PIN_MODE_INPUT(GPIOF_ZIO_D63) | \
1170 PIN_MODE_INPUT(GPIOF_ARD_A5) | \
1171 PIN_MODE_INPUT(GPIOF_PIN11) | \
1172 PIN_MODE_INPUT(GPIOF_ARD_D8) | \
1173 PIN_MODE_INPUT(GPIOF_ARD_D7) | \
1174 PIN_MODE_INPUT(GPIOF_ARD_D4) | \
1175 PIN_MODE_INPUT(GPIOF_ARD_D2))
1176#define VAL_GPIOF_OTYPER (PIN_OTYPE_PUSHPULL(GPIOF_ZIO_D68) | \
1177 PIN_OTYPE_PUSHPULL(GPIOF_ZIO_D69) | \
1178 PIN_OTYPE_PUSHPULL(GPIOF_ZIO_D70) | \
1179 PIN_OTYPE_PUSHPULL(GPIOF_ARD_A3) | \
1180 PIN_OTYPE_PUSHPULL(GPIOF_ZIO_A8) | \
1181 PIN_OTYPE_PUSHPULL(GPIOF_ARD_A4) | \
1182 PIN_OTYPE_PUSHPULL(GPIOF_PIN6) | \
1183 PIN_OTYPE_PUSHPULL(GPIOF_ZIO_D62) | \
1184 PIN_OTYPE_PUSHPULL(GPIOF_ZIO_D61) | \
1185 PIN_OTYPE_PUSHPULL(GPIOF_ZIO_D63) | \
1186 PIN_OTYPE_PUSHPULL(GPIOF_ARD_A5) | \
1187 PIN_OTYPE_PUSHPULL(GPIOF_PIN11) | \
1188 PIN_OTYPE_PUSHPULL(GPIOF_ARD_D8) | \
1189 PIN_OTYPE_PUSHPULL(GPIOF_ARD_D7) | \
1190 PIN_OTYPE_PUSHPULL(GPIOF_ARD_D4) | \
1191 PIN_OTYPE_PUSHPULL(GPIOF_ARD_D2))
1192#define VAL_GPIOF_OSPEEDR (PIN_OSPEED_HIGH(GPIOF_ZIO_D68) | \
1193 PIN_OSPEED_HIGH(GPIOF_ZIO_D69) | \
1194 PIN_OSPEED_HIGH(GPIOF_ZIO_D70) | \
1195 PIN_OSPEED_HIGH(GPIOF_ARD_A3) | \
1196 PIN_OSPEED_HIGH(GPIOF_ZIO_A8) | \
1197 PIN_OSPEED_HIGH(GPIOF_ARD_A4) | \
1198 PIN_OSPEED_VERYLOW(GPIOF_PIN6) | \
1199 PIN_OSPEED_HIGH(GPIOF_ZIO_D62) | \
1200 PIN_OSPEED_HIGH(GPIOF_ZIO_D61) | \
1201 PIN_OSPEED_HIGH(GPIOF_ZIO_D63) | \
1202 PIN_OSPEED_HIGH(GPIOF_ARD_A5) | \
1203 PIN_OSPEED_VERYLOW(GPIOF_PIN11) | \
1204 PIN_OSPEED_VERYLOW(GPIOF_ARD_D8) | \
1205 PIN_OSPEED_VERYLOW(GPIOF_ARD_D7) | \
1206 PIN_OSPEED_VERYLOW(GPIOF_ARD_D4) | \
1207 PIN_OSPEED_VERYLOW(GPIOF_ARD_D2))
1208#define VAL_GPIOF_PUPDR (PIN_PUPDR_PULLUP(GPIOF_ZIO_D68) | \
1209 PIN_PUPDR_PULLUP(GPIOF_ZIO_D69) | \
1210 PIN_PUPDR_PULLUP(GPIOF_ZIO_D70) | \
1211 PIN_PUPDR_PULLUP(GPIOF_ARD_A3) | \
1212 PIN_PUPDR_PULLUP(GPIOF_ZIO_A8) | \
1213 PIN_PUPDR_PULLUP(GPIOF_ARD_A4) | \
1214 PIN_PUPDR_PULLUP(GPIOF_PIN6) | \
1215 PIN_PUPDR_PULLUP(GPIOF_ZIO_D62) | \
1216 PIN_PUPDR_PULLUP(GPIOF_ZIO_D61) | \
1217 PIN_PUPDR_PULLUP(GPIOF_ZIO_D63) | \
1218 PIN_PUPDR_PULLUP(GPIOF_ARD_A5) | \
1219 PIN_PUPDR_PULLUP(GPIOF_PIN11) | \
1220 PIN_PUPDR_PULLUP(GPIOF_ARD_D8) | \
1221 PIN_PUPDR_PULLUP(GPIOF_ARD_D7) | \
1222 PIN_PUPDR_PULLUP(GPIOF_ARD_D4) | \
1223 PIN_PUPDR_PULLUP(GPIOF_ARD_D2))
1224#define VAL_GPIOF_ODR (PIN_ODR_HIGH(GPIOF_ZIO_D68) | \
1225 PIN_ODR_HIGH(GPIOF_ZIO_D69) | \
1226 PIN_ODR_HIGH(GPIOF_ZIO_D70) | \
1227 PIN_ODR_HIGH(GPIOF_ARD_A3) | \
1228 PIN_ODR_HIGH(GPIOF_ZIO_A8) | \
1229 PIN_ODR_HIGH(GPIOF_ARD_A4) | \
1230 PIN_ODR_HIGH(GPIOF_PIN6) | \
1231 PIN_ODR_HIGH(GPIOF_ZIO_D62) | \
1232 PIN_ODR_HIGH(GPIOF_ZIO_D61) | \
1233 PIN_ODR_HIGH(GPIOF_ZIO_D63) | \
1234 PIN_ODR_HIGH(GPIOF_ARD_A5) | \
1235 PIN_ODR_HIGH(GPIOF_PIN11) | \
1236 PIN_ODR_HIGH(GPIOF_ARD_D8) | \
1237 PIN_ODR_HIGH(GPIOF_ARD_D7) | \
1238 PIN_ODR_HIGH(GPIOF_ARD_D4) | \
1239 PIN_ODR_HIGH(GPIOF_ARD_D2))
1240#define VAL_GPIOF_AFRL (PIN_AFIO_AF(GPIOF_ZIO_D68, 0U) | \
1241 PIN_AFIO_AF(GPIOF_ZIO_D69, 0U) | \
1242 PIN_AFIO_AF(GPIOF_ZIO_D70, 0U) | \
1243 PIN_AFIO_AF(GPIOF_ARD_A3, 0U) | \
1244 PIN_AFIO_AF(GPIOF_ZIO_A8, 0U) | \
1245 PIN_AFIO_AF(GPIOF_ARD_A4, 0U) | \
1246 PIN_AFIO_AF(GPIOF_PIN6, 0U) | \
1247 PIN_AFIO_AF(GPIOF_ZIO_D62, 0U))
1248#define VAL_GPIOF_AFRH (PIN_AFIO_AF(GPIOF_ZIO_D61, 0U) | \
1249 PIN_AFIO_AF(GPIOF_ZIO_D63, 0U) | \
1250 PIN_AFIO_AF(GPIOF_ARD_A5, 0U) | \
1251 PIN_AFIO_AF(GPIOF_PIN11, 0U) | \
1252 PIN_AFIO_AF(GPIOF_ARD_D8, 0U) | \
1253 PIN_AFIO_AF(GPIOF_ARD_D7, 0U) | \
1254 PIN_AFIO_AF(GPIOF_ARD_D4, 0U) | \
1255 PIN_AFIO_AF(GPIOF_ARD_D2, 0U))
1256
1257/*
1258 * GPIOG setup:
1259 *
1260 * PG0 - ZIO_D65 (input pullup).
1261 * PG1 - ZIO_D64 (input pullup).
1262 * PG2 - ZIO_D49 (input pullup).
1263 * PG3 - ZIO_D50 (input pullup).
1264 * PG4 - PIN4 (input pullup).
1265 * PG5 - PIN5 (input pullup).
1266 * PG6 - USB_GPIO_OUT (input pullup).
1267 * PG7 - USB_GPIO_IN (input pullup).
1268 * PG8 - PIN8 (input pullup).
1269 * PG9 - ARD_D0 USART6_RX (input pullup).
1270 * PG10 - PIN10 (input pullup).
1271 * PG11 - RMII_TX_EN (alternate 11).
1272 * PG12 - PIN12 (input pullup).
1273 * PG13 - RMII_TXD0 (alternate 11).
1274 * PG14 - ARD_D1 USART6_TX (input pullup).
1275 * PG15 - PIN15 (input pullup).
1276 */
1277#define VAL_GPIOG_MODER (PIN_MODE_INPUT(GPIOG_ZIO_D65) | \
1278 PIN_MODE_INPUT(GPIOG_ZIO_D64) | \
1279 PIN_MODE_INPUT(GPIOG_ZIO_D49) | \
1280 PIN_MODE_INPUT(GPIOG_ZIO_D50) | \
1281 PIN_MODE_INPUT(GPIOG_PIN4) | \
1282 PIN_MODE_INPUT(GPIOG_PIN5) | \
1283 PIN_MODE_INPUT(GPIOG_USB_GPIO_OUT) | \
1284 PIN_MODE_INPUT(GPIOG_USB_GPIO_IN) | \
1285 PIN_MODE_INPUT(GPIOG_PIN8) | \
1286 PIN_MODE_INPUT(GPIOG_ARD_D0) | \
1287 PIN_MODE_INPUT(GPIOG_PIN10) | \
1288 PIN_MODE_ALTERNATE(GPIOG_RMII_TX_EN) | \
1289 PIN_MODE_INPUT(GPIOG_PIN12) | \
1290 PIN_MODE_ALTERNATE(GPIOG_RMII_TXD0) | \
1291 PIN_MODE_INPUT(GPIOG_ARD_D1) | \
1292 PIN_MODE_INPUT(GPIOG_PIN15))
1293#define VAL_GPIOG_OTYPER (PIN_OTYPE_PUSHPULL(GPIOG_ZIO_D65) | \
1294 PIN_OTYPE_PUSHPULL(GPIOG_ZIO_D64) | \
1295 PIN_OTYPE_PUSHPULL(GPIOG_ZIO_D49) | \
1296 PIN_OTYPE_PUSHPULL(GPIOG_ZIO_D50) | \
1297 PIN_OTYPE_PUSHPULL(GPIOG_PIN4) | \
1298 PIN_OTYPE_PUSHPULL(GPIOG_PIN5) | \
1299 PIN_OTYPE_PUSHPULL(GPIOG_USB_GPIO_OUT) |\
1300 PIN_OTYPE_PUSHPULL(GPIOG_USB_GPIO_IN) |\
1301 PIN_OTYPE_PUSHPULL(GPIOG_PIN8) | \
1302 PIN_OTYPE_PUSHPULL(GPIOG_ARD_D0) | \
1303 PIN_OTYPE_PUSHPULL(GPIOG_PIN10) | \
1304 PIN_OTYPE_PUSHPULL(GPIOG_RMII_TX_EN) | \
1305 PIN_OTYPE_PUSHPULL(GPIOG_PIN12) | \
1306 PIN_OTYPE_PUSHPULL(GPIOG_RMII_TXD0) | \
1307 PIN_OTYPE_PUSHPULL(GPIOG_ARD_D1) | \
1308 PIN_OTYPE_PUSHPULL(GPIOG_PIN15))
1309#define VAL_GPIOG_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOG_ZIO_D65) | \
1310 PIN_OSPEED_VERYLOW(GPIOG_ZIO_D64) | \
1311 PIN_OSPEED_VERYLOW(GPIOG_ZIO_D49) | \
1312 PIN_OSPEED_VERYLOW(GPIOG_ZIO_D50) | \
1313 PIN_OSPEED_VERYLOW(GPIOG_PIN4) | \
1314 PIN_OSPEED_VERYLOW(GPIOG_PIN5) | \
1315 PIN_OSPEED_HIGH(GPIOG_USB_GPIO_OUT) | \
1316 PIN_OSPEED_HIGH(GPIOG_USB_GPIO_IN) | \
1317 PIN_OSPEED_VERYLOW(GPIOG_PIN8) | \
1318 PIN_OSPEED_HIGH(GPIOG_ARD_D0) | \
1319 PIN_OSPEED_VERYLOW(GPIOG_PIN10) | \
1320 PIN_OSPEED_HIGH(GPIOG_RMII_TX_EN) | \
1321 PIN_OSPEED_VERYLOW(GPIOG_PIN12) | \
1322 PIN_OSPEED_HIGH(GPIOG_RMII_TXD0) | \
1323 PIN_OSPEED_HIGH(GPIOG_ARD_D1) | \
1324 PIN_OSPEED_VERYLOW(GPIOG_PIN15))
1325#define VAL_GPIOG_PUPDR (PIN_PUPDR_PULLUP(GPIOG_ZIO_D65) | \
1326 PIN_PUPDR_PULLUP(GPIOG_ZIO_D64) | \
1327 PIN_PUPDR_PULLUP(GPIOG_ZIO_D49) | \
1328 PIN_PUPDR_PULLUP(GPIOG_ZIO_D50) | \
1329 PIN_PUPDR_PULLUP(GPIOG_PIN4) | \
1330 PIN_PUPDR_PULLUP(GPIOG_PIN5) | \
1331 PIN_PUPDR_PULLUP(GPIOG_USB_GPIO_OUT) | \
1332 PIN_PUPDR_PULLUP(GPIOG_USB_GPIO_IN) | \
1333 PIN_PUPDR_PULLUP(GPIOG_PIN8) | \
1334 PIN_PUPDR_PULLUP(GPIOG_ARD_D0) | \
1335 PIN_PUPDR_PULLUP(GPIOG_PIN10) | \
1336 PIN_PUPDR_FLOATING(GPIOG_RMII_TX_EN) | \
1337 PIN_PUPDR_PULLUP(GPIOG_PIN12) | \
1338 PIN_PUPDR_FLOATING(GPIOG_RMII_TXD0) | \
1339 PIN_PUPDR_PULLUP(GPIOG_ARD_D1) | \
1340 PIN_PUPDR_PULLUP(GPIOG_PIN15))
1341#define VAL_GPIOG_ODR (PIN_ODR_HIGH(GPIOG_ZIO_D65) | \
1342 PIN_ODR_HIGH(GPIOG_ZIO_D64) | \
1343 PIN_ODR_HIGH(GPIOG_ZIO_D49) | \
1344 PIN_ODR_HIGH(GPIOG_ZIO_D50) | \
1345 PIN_ODR_HIGH(GPIOG_PIN4) | \
1346 PIN_ODR_HIGH(GPIOG_PIN5) | \
1347 PIN_ODR_HIGH(GPIOG_USB_GPIO_OUT) | \
1348 PIN_ODR_HIGH(GPIOG_USB_GPIO_IN) | \
1349 PIN_ODR_HIGH(GPIOG_PIN8) | \
1350 PIN_ODR_HIGH(GPIOG_ARD_D0) | \
1351 PIN_ODR_HIGH(GPIOG_PIN10) | \
1352 PIN_ODR_HIGH(GPIOG_RMII_TX_EN) | \
1353 PIN_ODR_HIGH(GPIOG_PIN12) | \
1354 PIN_ODR_HIGH(GPIOG_RMII_TXD0) | \
1355 PIN_ODR_HIGH(GPIOG_ARD_D1) | \
1356 PIN_ODR_HIGH(GPIOG_PIN15))
1357#define VAL_GPIOG_AFRL (PIN_AFIO_AF(GPIOG_ZIO_D65, 0U) | \
1358 PIN_AFIO_AF(GPIOG_ZIO_D64, 0U) | \
1359 PIN_AFIO_AF(GPIOG_ZIO_D49, 0U) | \
1360 PIN_AFIO_AF(GPIOG_ZIO_D50, 0U) | \
1361 PIN_AFIO_AF(GPIOG_PIN4, 0U) | \
1362 PIN_AFIO_AF(GPIOG_PIN5, 0U) | \
1363 PIN_AFIO_AF(GPIOG_USB_GPIO_OUT, 0U) | \
1364 PIN_AFIO_AF(GPIOG_USB_GPIO_IN, 0U))
1365#define VAL_GPIOG_AFRH (PIN_AFIO_AF(GPIOG_PIN8, 0U) | \
1366 PIN_AFIO_AF(GPIOG_ARD_D0, 0U) | \
1367 PIN_AFIO_AF(GPIOG_PIN10, 0U) | \
1368 PIN_AFIO_AF(GPIOG_RMII_TX_EN, 11U) | \
1369 PIN_AFIO_AF(GPIOG_PIN12, 0U) | \
1370 PIN_AFIO_AF(GPIOG_RMII_TXD0, 11U) | \
1371 PIN_AFIO_AF(GPIOG_ARD_D1, 0U) | \
1372 PIN_AFIO_AF(GPIOG_PIN15, 0U))
1373
1374/*
1375 * GPIOH setup:
1376 *
1377 * PH0 - OSC_IN (input floating).
1378 * PH1 - OSC_OUT (input floating).
1379 * PH2 - PIN2 (input pullup).
1380 * PH3 - PIN3 (input pullup).
1381 * PH4 - PIN4 (input pullup).
1382 * PH5 - PIN5 (input pullup).
1383 * PH6 - PIN6 (input pullup).
1384 * PH7 - PIN7 (input pullup).
1385 * PH8 - PIN8 (input pullup).
1386 * PH9 - PIN9 (input pullup).
1387 * PH10 - PIN10 (input pullup).
1388 * PH11 - PIN11 (input pullup).
1389 * PH12 - PIN12 (input pullup).
1390 * PH13 - PIN13 (input pullup).
1391 * PH14 - PIN14 (input pullup).
1392 * PH15 - PIN15 (input pullup).
1393 */
1394#define VAL_GPIOH_MODER (PIN_MODE_INPUT(GPIOH_OSC_IN) | \
1395 PIN_MODE_INPUT(GPIOH_OSC_OUT) | \
1396 PIN_MODE_INPUT(GPIOH_PIN2) | \
1397 PIN_MODE_INPUT(GPIOH_PIN3) | \
1398 PIN_MODE_INPUT(GPIOH_PIN4) | \
1399 PIN_MODE_INPUT(GPIOH_PIN5) | \
1400 PIN_MODE_INPUT(GPIOH_PIN6) | \
1401 PIN_MODE_INPUT(GPIOH_PIN7) | \
1402 PIN_MODE_INPUT(GPIOH_PIN8) | \
1403 PIN_MODE_INPUT(GPIOH_PIN9) | \
1404 PIN_MODE_INPUT(GPIOH_PIN10) | \
1405 PIN_MODE_INPUT(GPIOH_PIN11) | \
1406 PIN_MODE_INPUT(GPIOH_PIN12) | \
1407 PIN_MODE_INPUT(GPIOH_PIN13) | \
1408 PIN_MODE_INPUT(GPIOH_PIN14) | \
1409 PIN_MODE_INPUT(GPIOH_PIN15))
1410#define VAL_GPIOH_OTYPER (PIN_OTYPE_PUSHPULL(GPIOH_OSC_IN) | \
1411 PIN_OTYPE_PUSHPULL(GPIOH_OSC_OUT) | \
1412 PIN_OTYPE_PUSHPULL(GPIOH_PIN2) | \
1413 PIN_OTYPE_PUSHPULL(GPIOH_PIN3) | \
1414 PIN_OTYPE_PUSHPULL(GPIOH_PIN4) | \
1415 PIN_OTYPE_PUSHPULL(GPIOH_PIN5) | \
1416 PIN_OTYPE_PUSHPULL(GPIOH_PIN6) | \
1417 PIN_OTYPE_PUSHPULL(GPIOH_PIN7) | \
1418 PIN_OTYPE_PUSHPULL(GPIOH_PIN8) | \
1419 PIN_OTYPE_PUSHPULL(GPIOH_PIN9) | \
1420 PIN_OTYPE_PUSHPULL(GPIOH_PIN10) | \
1421 PIN_OTYPE_PUSHPULL(GPIOH_PIN11) | \
1422 PIN_OTYPE_PUSHPULL(GPIOH_PIN12) | \
1423 PIN_OTYPE_PUSHPULL(GPIOH_PIN13) | \
1424 PIN_OTYPE_PUSHPULL(GPIOH_PIN14) | \
1425 PIN_OTYPE_PUSHPULL(GPIOH_PIN15))
1426#define VAL_GPIOH_OSPEEDR (PIN_OSPEED_HIGH(GPIOH_OSC_IN) | \
1427 PIN_OSPEED_HIGH(GPIOH_OSC_OUT) | \
1428 PIN_OSPEED_VERYLOW(GPIOH_PIN2) | \
1429 PIN_OSPEED_VERYLOW(GPIOH_PIN3) | \
1430 PIN_OSPEED_VERYLOW(GPIOH_PIN4) | \
1431 PIN_OSPEED_VERYLOW(GPIOH_PIN5) | \
1432 PIN_OSPEED_VERYLOW(GPIOH_PIN6) | \
1433 PIN_OSPEED_VERYLOW(GPIOH_PIN7) | \
1434 PIN_OSPEED_VERYLOW(GPIOH_PIN8) | \
1435 PIN_OSPEED_VERYLOW(GPIOH_PIN9) | \
1436 PIN_OSPEED_VERYLOW(GPIOH_PIN10) | \
1437 PIN_OSPEED_VERYLOW(GPIOH_PIN11) | \
1438 PIN_OSPEED_VERYLOW(GPIOH_PIN12) | \
1439 PIN_OSPEED_VERYLOW(GPIOH_PIN13) | \
1440 PIN_OSPEED_VERYLOW(GPIOH_PIN14) | \
1441 PIN_OSPEED_VERYLOW(GPIOH_PIN15))
1442#define VAL_GPIOH_PUPDR (PIN_PUPDR_FLOATING(GPIOH_OSC_IN) | \
1443 PIN_PUPDR_FLOATING(GPIOH_OSC_OUT) | \
1444 PIN_PUPDR_PULLUP(GPIOH_PIN2) | \
1445 PIN_PUPDR_PULLUP(GPIOH_PIN3) | \
1446 PIN_PUPDR_PULLUP(GPIOH_PIN4) | \
1447 PIN_PUPDR_PULLUP(GPIOH_PIN5) | \
1448 PIN_PUPDR_PULLUP(GPIOH_PIN6) | \
1449 PIN_PUPDR_PULLUP(GPIOH_PIN7) | \
1450 PIN_PUPDR_PULLUP(GPIOH_PIN8) | \
1451 PIN_PUPDR_PULLUP(GPIOH_PIN9) | \
1452 PIN_PUPDR_PULLUP(GPIOH_PIN10) | \
1453 PIN_PUPDR_PULLUP(GPIOH_PIN11) | \
1454 PIN_PUPDR_PULLUP(GPIOH_PIN12) | \
1455 PIN_PUPDR_PULLUP(GPIOH_PIN13) | \
1456 PIN_PUPDR_PULLUP(GPIOH_PIN14) | \
1457 PIN_PUPDR_PULLUP(GPIOH_PIN15))
1458#define VAL_GPIOH_ODR (PIN_ODR_HIGH(GPIOH_OSC_IN) | \
1459 PIN_ODR_HIGH(GPIOH_OSC_OUT) | \
1460 PIN_ODR_HIGH(GPIOH_PIN2) | \
1461 PIN_ODR_HIGH(GPIOH_PIN3) | \
1462 PIN_ODR_HIGH(GPIOH_PIN4) | \
1463 PIN_ODR_HIGH(GPIOH_PIN5) | \
1464 PIN_ODR_HIGH(GPIOH_PIN6) | \
1465 PIN_ODR_HIGH(GPIOH_PIN7) | \
1466 PIN_ODR_HIGH(GPIOH_PIN8) | \
1467 PIN_ODR_HIGH(GPIOH_PIN9) | \
1468 PIN_ODR_HIGH(GPIOH_PIN10) | \
1469 PIN_ODR_HIGH(GPIOH_PIN11) | \
1470 PIN_ODR_HIGH(GPIOH_PIN12) | \
1471 PIN_ODR_HIGH(GPIOH_PIN13) | \
1472 PIN_ODR_HIGH(GPIOH_PIN14) | \
1473 PIN_ODR_HIGH(GPIOH_PIN15))
1474#define VAL_GPIOH_AFRL (PIN_AFIO_AF(GPIOH_OSC_IN, 0U) | \
1475 PIN_AFIO_AF(GPIOH_OSC_OUT, 0U) | \
1476 PIN_AFIO_AF(GPIOH_PIN2, 0U) | \
1477 PIN_AFIO_AF(GPIOH_PIN3, 0U) | \
1478 PIN_AFIO_AF(GPIOH_PIN4, 0U) | \
1479 PIN_AFIO_AF(GPIOH_PIN5, 0U) | \
1480 PIN_AFIO_AF(GPIOH_PIN6, 0U) | \
1481 PIN_AFIO_AF(GPIOH_PIN7, 0U))
1482#define VAL_GPIOH_AFRH (PIN_AFIO_AF(GPIOH_PIN8, 0U) | \
1483 PIN_AFIO_AF(GPIOH_PIN9, 0U) | \
1484 PIN_AFIO_AF(GPIOH_PIN10, 0U) | \
1485 PIN_AFIO_AF(GPIOH_PIN11, 0U) | \
1486 PIN_AFIO_AF(GPIOH_PIN12, 0U) | \
1487 PIN_AFIO_AF(GPIOH_PIN13, 0U) | \
1488 PIN_AFIO_AF(GPIOH_PIN14, 0U) | \
1489 PIN_AFIO_AF(GPIOH_PIN15, 0U))
1490
1491/*
1492 * GPIOI setup:
1493 *
1494 * PI0 - PIN0 (input pullup).
1495 * PI1 - PIN1 (input pullup).
1496 * PI2 - PIN2 (input pullup).
1497 * PI3 - PIN3 (input pullup).
1498 * PI4 - PIN4 (input pullup).
1499 * PI5 - PIN5 (input pullup).
1500 * PI6 - PIN6 (input pullup).
1501 * PI7 - PIN7 (input pullup).
1502 * PI8 - PIN8 (input pullup).
1503 * PI9 - PIN9 (input pullup).
1504 * PI10 - PIN10 (input pullup).
1505 * PI11 - PIN11 (input pullup).
1506 * PI12 - PIN12 (input pullup).
1507 * PI13 - PIN13 (input pullup).
1508 * PI14 - PIN14 (input pullup).
1509 * PI15 - PIN15 (input pullup).
1510 */
1511#define VAL_GPIOI_MODER (PIN_MODE_INPUT(GPIOI_PIN0) | \
1512 PIN_MODE_INPUT(GPIOI_PIN1) | \
1513 PIN_MODE_INPUT(GPIOI_PIN2) | \
1514 PIN_MODE_INPUT(GPIOI_PIN3) | \
1515 PIN_MODE_INPUT(GPIOI_PIN4) | \
1516 PIN_MODE_INPUT(GPIOI_PIN5) | \
1517 PIN_MODE_INPUT(GPIOI_PIN6) | \
1518 PIN_MODE_INPUT(GPIOI_PIN7) | \
1519 PIN_MODE_INPUT(GPIOI_PIN8) | \
1520 PIN_MODE_INPUT(GPIOI_PIN9) | \
1521 PIN_MODE_INPUT(GPIOI_PIN10) | \
1522 PIN_MODE_INPUT(GPIOI_PIN11) | \
1523 PIN_MODE_INPUT(GPIOI_PIN12) | \
1524 PIN_MODE_INPUT(GPIOI_PIN13) | \
1525 PIN_MODE_INPUT(GPIOI_PIN14) | \
1526 PIN_MODE_INPUT(GPIOI_PIN15))
1527#define VAL_GPIOI_OTYPER (PIN_OTYPE_PUSHPULL(GPIOI_PIN0) | \
1528 PIN_OTYPE_PUSHPULL(GPIOI_PIN1) | \
1529 PIN_OTYPE_PUSHPULL(GPIOI_PIN2) | \
1530 PIN_OTYPE_PUSHPULL(GPIOI_PIN3) | \
1531 PIN_OTYPE_PUSHPULL(GPIOI_PIN4) | \
1532 PIN_OTYPE_PUSHPULL(GPIOI_PIN5) | \
1533 PIN_OTYPE_PUSHPULL(GPIOI_PIN6) | \
1534 PIN_OTYPE_PUSHPULL(GPIOI_PIN7) | \
1535 PIN_OTYPE_PUSHPULL(GPIOI_PIN8) | \
1536 PIN_OTYPE_PUSHPULL(GPIOI_PIN9) | \
1537 PIN_OTYPE_PUSHPULL(GPIOI_PIN10) | \
1538 PIN_OTYPE_PUSHPULL(GPIOI_PIN11) | \
1539 PIN_OTYPE_PUSHPULL(GPIOI_PIN12) | \
1540 PIN_OTYPE_PUSHPULL(GPIOI_PIN13) | \
1541 PIN_OTYPE_PUSHPULL(GPIOI_PIN14) | \
1542 PIN_OTYPE_PUSHPULL(GPIOI_PIN15))
1543#define VAL_GPIOI_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOI_PIN0) | \
1544 PIN_OSPEED_VERYLOW(GPIOI_PIN1) | \
1545 PIN_OSPEED_VERYLOW(GPIOI_PIN2) | \
1546 PIN_OSPEED_VERYLOW(GPIOI_PIN3) | \
1547 PIN_OSPEED_VERYLOW(GPIOI_PIN4) | \
1548 PIN_OSPEED_VERYLOW(GPIOI_PIN5) | \
1549 PIN_OSPEED_VERYLOW(GPIOI_PIN6) | \
1550 PIN_OSPEED_VERYLOW(GPIOI_PIN7) | \
1551 PIN_OSPEED_VERYLOW(GPIOI_PIN8) | \
1552 PIN_OSPEED_VERYLOW(GPIOI_PIN9) | \
1553 PIN_OSPEED_VERYLOW(GPIOI_PIN10) | \
1554 PIN_OSPEED_VERYLOW(GPIOI_PIN11) | \
1555 PIN_OSPEED_VERYLOW(GPIOI_PIN12) | \
1556 PIN_OSPEED_VERYLOW(GPIOI_PIN13) | \
1557 PIN_OSPEED_VERYLOW(GPIOI_PIN14) | \
1558 PIN_OSPEED_VERYLOW(GPIOI_PIN15))
1559#define VAL_GPIOI_PUPDR (PIN_PUPDR_PULLUP(GPIOI_PIN0) | \
1560 PIN_PUPDR_PULLUP(GPIOI_PIN1) | \
1561 PIN_PUPDR_PULLUP(GPIOI_PIN2) | \
1562 PIN_PUPDR_PULLUP(GPIOI_PIN3) | \
1563 PIN_PUPDR_PULLUP(GPIOI_PIN4) | \
1564 PIN_PUPDR_PULLUP(GPIOI_PIN5) | \
1565 PIN_PUPDR_PULLUP(GPIOI_PIN6) | \
1566 PIN_PUPDR_PULLUP(GPIOI_PIN7) | \
1567 PIN_PUPDR_PULLUP(GPIOI_PIN8) | \
1568 PIN_PUPDR_PULLUP(GPIOI_PIN9) | \
1569 PIN_PUPDR_PULLUP(GPIOI_PIN10) | \
1570 PIN_PUPDR_PULLUP(GPIOI_PIN11) | \
1571 PIN_PUPDR_PULLUP(GPIOI_PIN12) | \
1572 PIN_PUPDR_PULLUP(GPIOI_PIN13) | \
1573 PIN_PUPDR_PULLUP(GPIOI_PIN14) | \
1574 PIN_PUPDR_PULLUP(GPIOI_PIN15))
1575#define VAL_GPIOI_ODR (PIN_ODR_HIGH(GPIOI_PIN0) | \
1576 PIN_ODR_HIGH(GPIOI_PIN1) | \
1577 PIN_ODR_HIGH(GPIOI_PIN2) | \
1578 PIN_ODR_HIGH(GPIOI_PIN3) | \
1579 PIN_ODR_HIGH(GPIOI_PIN4) | \
1580 PIN_ODR_HIGH(GPIOI_PIN5) | \
1581 PIN_ODR_HIGH(GPIOI_PIN6) | \
1582 PIN_ODR_HIGH(GPIOI_PIN7) | \
1583 PIN_ODR_HIGH(GPIOI_PIN8) | \
1584 PIN_ODR_HIGH(GPIOI_PIN9) | \
1585 PIN_ODR_HIGH(GPIOI_PIN10) | \
1586 PIN_ODR_HIGH(GPIOI_PIN11) | \
1587 PIN_ODR_HIGH(GPIOI_PIN12) | \
1588 PIN_ODR_HIGH(GPIOI_PIN13) | \
1589 PIN_ODR_HIGH(GPIOI_PIN14) | \
1590 PIN_ODR_HIGH(GPIOI_PIN15))
1591#define VAL_GPIOI_AFRL (PIN_AFIO_AF(GPIOI_PIN0, 0U) | \
1592 PIN_AFIO_AF(GPIOI_PIN1, 0U) | \
1593 PIN_AFIO_AF(GPIOI_PIN2, 0U) | \
1594 PIN_AFIO_AF(GPIOI_PIN3, 0U) | \
1595 PIN_AFIO_AF(GPIOI_PIN4, 0U) | \
1596 PIN_AFIO_AF(GPIOI_PIN5, 0U) | \
1597 PIN_AFIO_AF(GPIOI_PIN6, 0U) | \
1598 PIN_AFIO_AF(GPIOI_PIN7, 0U))
1599#define VAL_GPIOI_AFRH (PIN_AFIO_AF(GPIOI_PIN8, 0U) | \
1600 PIN_AFIO_AF(GPIOI_PIN9, 0U) | \
1601 PIN_AFIO_AF(GPIOI_PIN10, 0U) | \
1602 PIN_AFIO_AF(GPIOI_PIN11, 0U) | \
1603 PIN_AFIO_AF(GPIOI_PIN12, 0U) | \
1604 PIN_AFIO_AF(GPIOI_PIN13, 0U) | \
1605 PIN_AFIO_AF(GPIOI_PIN14, 0U) | \
1606 PIN_AFIO_AF(GPIOI_PIN15, 0U))
1607
1608/*
1609 * GPIOJ setup:
1610 *
1611 * PJ0 - PIN0 (input pullup).
1612 * PJ1 - PIN1 (input pullup).
1613 * PJ2 - PIN2 (input pullup).
1614 * PJ3 - PIN3 (input pullup).
1615 * PJ4 - PIN4 (input pullup).
1616 * PJ5 - PIN5 (input pullup).
1617 * PJ6 - PIN6 (input pullup).
1618 * PJ7 - PIN7 (input pullup).
1619 * PJ8 - PIN8 (input pullup).
1620 * PJ9 - PIN9 (input pullup).
1621 * PJ10 - PIN10 (input pullup).
1622 * PJ11 - PIN11 (input pullup).
1623 * PJ12 - PIN12 (input pullup).
1624 * PJ13 - PIN13 (input pullup).
1625 * PJ14 - PIN14 (input pullup).
1626 * PJ15 - PIN15 (input pullup).
1627 */
1628#define VAL_GPIOJ_MODER (PIN_MODE_INPUT(GPIOJ_PIN0) | \
1629 PIN_MODE_INPUT(GPIOJ_PIN1) | \
1630 PIN_MODE_INPUT(GPIOJ_PIN2) | \
1631 PIN_MODE_INPUT(GPIOJ_PIN3) | \
1632 PIN_MODE_INPUT(GPIOJ_PIN4) | \
1633 PIN_MODE_INPUT(GPIOJ_PIN5) | \
1634 PIN_MODE_INPUT(GPIOJ_PIN6) | \
1635 PIN_MODE_INPUT(GPIOJ_PIN7) | \
1636 PIN_MODE_INPUT(GPIOJ_PIN8) | \
1637 PIN_MODE_INPUT(GPIOJ_PIN9) | \
1638 PIN_MODE_INPUT(GPIOJ_PIN10) | \
1639 PIN_MODE_INPUT(GPIOJ_PIN11) | \
1640 PIN_MODE_INPUT(GPIOJ_PIN12) | \
1641 PIN_MODE_INPUT(GPIOJ_PIN13) | \
1642 PIN_MODE_INPUT(GPIOJ_PIN14) | \
1643 PIN_MODE_INPUT(GPIOJ_PIN15))
1644#define VAL_GPIOJ_OTYPER (PIN_OTYPE_PUSHPULL(GPIOJ_PIN0) | \
1645 PIN_OTYPE_PUSHPULL(GPIOJ_PIN1) | \
1646 PIN_OTYPE_PUSHPULL(GPIOJ_PIN2) | \
1647 PIN_OTYPE_PUSHPULL(GPIOJ_PIN3) | \
1648 PIN_OTYPE_PUSHPULL(GPIOJ_PIN4) | \
1649 PIN_OTYPE_PUSHPULL(GPIOJ_PIN5) | \
1650 PIN_OTYPE_PUSHPULL(GPIOJ_PIN6) | \
1651 PIN_OTYPE_PUSHPULL(GPIOJ_PIN7) | \
1652 PIN_OTYPE_PUSHPULL(GPIOJ_PIN8) | \
1653 PIN_OTYPE_PUSHPULL(GPIOJ_PIN9) | \
1654 PIN_OTYPE_PUSHPULL(GPIOJ_PIN10) | \
1655 PIN_OTYPE_PUSHPULL(GPIOJ_PIN11) | \
1656 PIN_OTYPE_PUSHPULL(GPIOJ_PIN12) | \
1657 PIN_OTYPE_PUSHPULL(GPIOJ_PIN13) | \
1658 PIN_OTYPE_PUSHPULL(GPIOJ_PIN14) | \
1659 PIN_OTYPE_PUSHPULL(GPIOJ_PIN15))
1660#define VAL_GPIOJ_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOJ_PIN0) | \
1661 PIN_OSPEED_VERYLOW(GPIOJ_PIN1) | \
1662 PIN_OSPEED_VERYLOW(GPIOJ_PIN2) | \
1663 PIN_OSPEED_VERYLOW(GPIOJ_PIN3) | \
1664 PIN_OSPEED_VERYLOW(GPIOJ_PIN4) | \
1665 PIN_OSPEED_VERYLOW(GPIOJ_PIN5) | \
1666 PIN_OSPEED_VERYLOW(GPIOJ_PIN6) | \
1667 PIN_OSPEED_VERYLOW(GPIOJ_PIN7) | \
1668 PIN_OSPEED_VERYLOW(GPIOJ_PIN8) | \
1669 PIN_OSPEED_VERYLOW(GPIOJ_PIN9) | \
1670 PIN_OSPEED_VERYLOW(GPIOJ_PIN10) | \
1671 PIN_OSPEED_VERYLOW(GPIOJ_PIN11) | \
1672 PIN_OSPEED_VERYLOW(GPIOJ_PIN12) | \
1673 PIN_OSPEED_VERYLOW(GPIOJ_PIN13) | \
1674 PIN_OSPEED_VERYLOW(GPIOJ_PIN14) | \
1675 PIN_OSPEED_VERYLOW(GPIOJ_PIN15))
1676#define VAL_GPIOJ_PUPDR (PIN_PUPDR_PULLUP(GPIOJ_PIN0) | \
1677 PIN_PUPDR_PULLUP(GPIOJ_PIN1) | \
1678 PIN_PUPDR_PULLUP(GPIOJ_PIN2) | \
1679 PIN_PUPDR_PULLUP(GPIOJ_PIN3) | \
1680 PIN_PUPDR_PULLUP(GPIOJ_PIN4) | \
1681 PIN_PUPDR_PULLUP(GPIOJ_PIN5) | \
1682 PIN_PUPDR_PULLUP(GPIOJ_PIN6) | \
1683 PIN_PUPDR_PULLUP(GPIOJ_PIN7) | \
1684 PIN_PUPDR_PULLUP(GPIOJ_PIN8) | \
1685 PIN_PUPDR_PULLUP(GPIOJ_PIN9) | \
1686 PIN_PUPDR_PULLUP(GPIOJ_PIN10) | \
1687 PIN_PUPDR_PULLUP(GPIOJ_PIN11) | \
1688 PIN_PUPDR_PULLUP(GPIOJ_PIN12) | \
1689 PIN_PUPDR_PULLUP(GPIOJ_PIN13) | \
1690 PIN_PUPDR_PULLUP(GPIOJ_PIN14) | \
1691 PIN_PUPDR_PULLUP(GPIOJ_PIN15))
1692#define VAL_GPIOJ_ODR (PIN_ODR_HIGH(GPIOJ_PIN0) | \
1693 PIN_ODR_HIGH(GPIOJ_PIN1) | \
1694 PIN_ODR_HIGH(GPIOJ_PIN2) | \
1695 PIN_ODR_HIGH(GPIOJ_PIN3) | \
1696 PIN_ODR_HIGH(GPIOJ_PIN4) | \
1697 PIN_ODR_HIGH(GPIOJ_PIN5) | \
1698 PIN_ODR_HIGH(GPIOJ_PIN6) | \
1699 PIN_ODR_HIGH(GPIOJ_PIN7) | \
1700 PIN_ODR_HIGH(GPIOJ_PIN8) | \
1701 PIN_ODR_HIGH(GPIOJ_PIN9) | \
1702 PIN_ODR_HIGH(GPIOJ_PIN10) | \
1703 PIN_ODR_HIGH(GPIOJ_PIN11) | \
1704 PIN_ODR_HIGH(GPIOJ_PIN12) | \
1705 PIN_ODR_HIGH(GPIOJ_PIN13) | \
1706 PIN_ODR_HIGH(GPIOJ_PIN14) | \
1707 PIN_ODR_HIGH(GPIOJ_PIN15))
1708#define VAL_GPIOJ_AFRL (PIN_AFIO_AF(GPIOJ_PIN0, 0U) | \
1709 PIN_AFIO_AF(GPIOJ_PIN1, 0U) | \
1710 PIN_AFIO_AF(GPIOJ_PIN2, 0U) | \
1711 PIN_AFIO_AF(GPIOJ_PIN3, 0U) | \
1712 PIN_AFIO_AF(GPIOJ_PIN4, 0U) | \
1713 PIN_AFIO_AF(GPIOJ_PIN5, 0U) | \
1714 PIN_AFIO_AF(GPIOJ_PIN6, 0U) | \
1715 PIN_AFIO_AF(GPIOJ_PIN7, 0U))
1716#define VAL_GPIOJ_AFRH (PIN_AFIO_AF(GPIOJ_PIN8, 0U) | \
1717 PIN_AFIO_AF(GPIOJ_PIN9, 0U) | \
1718 PIN_AFIO_AF(GPIOJ_PIN10, 0U) | \
1719 PIN_AFIO_AF(GPIOJ_PIN11, 0U) | \
1720 PIN_AFIO_AF(GPIOJ_PIN12, 0U) | \
1721 PIN_AFIO_AF(GPIOJ_PIN13, 0U) | \
1722 PIN_AFIO_AF(GPIOJ_PIN14, 0U) | \
1723 PIN_AFIO_AF(GPIOJ_PIN15, 0U))
1724
1725/*
1726 * GPIOK setup:
1727 *
1728 * PK0 - PIN0 (input pullup).
1729 * PK1 - PIN1 (input pullup).
1730 * PK2 - PIN2 (input pullup).
1731 * PK3 - PIN3 (input pullup).
1732 * PK4 - PIN4 (input pullup).
1733 * PK5 - PIN5 (input pullup).
1734 * PK6 - PIN6 (input pullup).
1735 * PK7 - PIN7 (input pullup).
1736 * PK8 - PIN8 (input pullup).
1737 * PK9 - PIN9 (input pullup).
1738 * PK10 - PIN10 (input pullup).
1739 * PK11 - PIN11 (input pullup).
1740 * PK12 - PIN12 (input pullup).
1741 * PK13 - PIN13 (input pullup).
1742 * PK14 - PIN14 (input pullup).
1743 * PK15 - PIN15 (input pullup).
1744 */
1745#define VAL_GPIOK_MODER (PIN_MODE_INPUT(GPIOK_PIN0) | \
1746 PIN_MODE_INPUT(GPIOK_PIN1) | \
1747 PIN_MODE_INPUT(GPIOK_PIN2) | \
1748 PIN_MODE_INPUT(GPIOK_PIN3) | \
1749 PIN_MODE_INPUT(GPIOK_PIN4) | \
1750 PIN_MODE_INPUT(GPIOK_PIN5) | \
1751 PIN_MODE_INPUT(GPIOK_PIN6) | \
1752 PIN_MODE_INPUT(GPIOK_PIN7) | \
1753 PIN_MODE_INPUT(GPIOK_PIN8) | \
1754 PIN_MODE_INPUT(GPIOK_PIN9) | \
1755 PIN_MODE_INPUT(GPIOK_PIN10) | \
1756 PIN_MODE_INPUT(GPIOK_PIN11) | \
1757 PIN_MODE_INPUT(GPIOK_PIN12) | \
1758 PIN_MODE_INPUT(GPIOK_PIN13) | \
1759 PIN_MODE_INPUT(GPIOK_PIN14) | \
1760 PIN_MODE_INPUT(GPIOK_PIN15))
1761#define VAL_GPIOK_OTYPER (PIN_OTYPE_PUSHPULL(GPIOK_PIN0) | \
1762 PIN_OTYPE_PUSHPULL(GPIOK_PIN1) | \
1763 PIN_OTYPE_PUSHPULL(GPIOK_PIN2) | \
1764 PIN_OTYPE_PUSHPULL(GPIOK_PIN3) | \
1765 PIN_OTYPE_PUSHPULL(GPIOK_PIN4) | \
1766 PIN_OTYPE_PUSHPULL(GPIOK_PIN5) | \
1767 PIN_OTYPE_PUSHPULL(GPIOK_PIN6) | \
1768 PIN_OTYPE_PUSHPULL(GPIOK_PIN7) | \
1769 PIN_OTYPE_PUSHPULL(GPIOK_PIN8) | \
1770 PIN_OTYPE_PUSHPULL(GPIOK_PIN9) | \
1771 PIN_OTYPE_PUSHPULL(GPIOK_PIN10) | \
1772 PIN_OTYPE_PUSHPULL(GPIOK_PIN11) | \
1773 PIN_OTYPE_PUSHPULL(GPIOK_PIN12) | \
1774 PIN_OTYPE_PUSHPULL(GPIOK_PIN13) | \
1775 PIN_OTYPE_PUSHPULL(GPIOK_PIN14) | \
1776 PIN_OTYPE_PUSHPULL(GPIOK_PIN15))
1777#define VAL_GPIOK_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOK_PIN0) | \
1778 PIN_OSPEED_VERYLOW(GPIOK_PIN1) | \
1779 PIN_OSPEED_VERYLOW(GPIOK_PIN2) | \
1780 PIN_OSPEED_VERYLOW(GPIOK_PIN3) | \
1781 PIN_OSPEED_VERYLOW(GPIOK_PIN4) | \
1782 PIN_OSPEED_VERYLOW(GPIOK_PIN5) | \
1783 PIN_OSPEED_VERYLOW(GPIOK_PIN6) | \
1784 PIN_OSPEED_VERYLOW(GPIOK_PIN7) | \
1785 PIN_OSPEED_VERYLOW(GPIOK_PIN8) | \
1786 PIN_OSPEED_VERYLOW(GPIOK_PIN9) | \
1787 PIN_OSPEED_VERYLOW(GPIOK_PIN10) | \
1788 PIN_OSPEED_VERYLOW(GPIOK_PIN11) | \
1789 PIN_OSPEED_VERYLOW(GPIOK_PIN12) | \
1790 PIN_OSPEED_VERYLOW(GPIOK_PIN13) | \
1791 PIN_OSPEED_VERYLOW(GPIOK_PIN14) | \
1792 PIN_OSPEED_VERYLOW(GPIOK_PIN15))
1793#define VAL_GPIOK_PUPDR (PIN_PUPDR_PULLUP(GPIOK_PIN0) | \
1794 PIN_PUPDR_PULLUP(GPIOK_PIN1) | \
1795 PIN_PUPDR_PULLUP(GPIOK_PIN2) | \
1796 PIN_PUPDR_PULLUP(GPIOK_PIN3) | \
1797 PIN_PUPDR_PULLUP(GPIOK_PIN4) | \
1798 PIN_PUPDR_PULLUP(GPIOK_PIN5) | \
1799 PIN_PUPDR_PULLUP(GPIOK_PIN6) | \
1800 PIN_PUPDR_PULLUP(GPIOK_PIN7) | \
1801 PIN_PUPDR_PULLUP(GPIOK_PIN8) | \
1802 PIN_PUPDR_PULLUP(GPIOK_PIN9) | \
1803 PIN_PUPDR_PULLUP(GPIOK_PIN10) | \
1804 PIN_PUPDR_PULLUP(GPIOK_PIN11) | \
1805 PIN_PUPDR_PULLUP(GPIOK_PIN12) | \
1806 PIN_PUPDR_PULLUP(GPIOK_PIN13) | \
1807 PIN_PUPDR_PULLUP(GPIOK_PIN14) | \
1808 PIN_PUPDR_PULLUP(GPIOK_PIN15))
1809#define VAL_GPIOK_ODR (PIN_ODR_HIGH(GPIOK_PIN0) | \
1810 PIN_ODR_HIGH(GPIOK_PIN1) | \
1811 PIN_ODR_HIGH(GPIOK_PIN2) | \
1812 PIN_ODR_HIGH(GPIOK_PIN3) | \
1813 PIN_ODR_HIGH(GPIOK_PIN4) | \
1814 PIN_ODR_HIGH(GPIOK_PIN5) | \
1815 PIN_ODR_HIGH(GPIOK_PIN6) | \
1816 PIN_ODR_HIGH(GPIOK_PIN7) | \
1817 PIN_ODR_HIGH(GPIOK_PIN8) | \
1818 PIN_ODR_HIGH(GPIOK_PIN9) | \
1819 PIN_ODR_HIGH(GPIOK_PIN10) | \
1820 PIN_ODR_HIGH(GPIOK_PIN11) | \
1821 PIN_ODR_HIGH(GPIOK_PIN12) | \
1822 PIN_ODR_HIGH(GPIOK_PIN13) | \
1823 PIN_ODR_HIGH(GPIOK_PIN14) | \
1824 PIN_ODR_HIGH(GPIOK_PIN15))
1825#define VAL_GPIOK_AFRL (PIN_AFIO_AF(GPIOK_PIN0, 0U) | \
1826 PIN_AFIO_AF(GPIOK_PIN1, 0U) | \
1827 PIN_AFIO_AF(GPIOK_PIN2, 0U) | \
1828 PIN_AFIO_AF(GPIOK_PIN3, 0U) | \
1829 PIN_AFIO_AF(GPIOK_PIN4, 0U) | \
1830 PIN_AFIO_AF(GPIOK_PIN5, 0U) | \
1831 PIN_AFIO_AF(GPIOK_PIN6, 0U) | \
1832 PIN_AFIO_AF(GPIOK_PIN7, 0U))
1833#define VAL_GPIOK_AFRH (PIN_AFIO_AF(GPIOK_PIN8, 0U) | \
1834 PIN_AFIO_AF(GPIOK_PIN9, 0U) | \
1835 PIN_AFIO_AF(GPIOK_PIN10, 0U) | \
1836 PIN_AFIO_AF(GPIOK_PIN11, 0U) | \
1837 PIN_AFIO_AF(GPIOK_PIN12, 0U) | \
1838 PIN_AFIO_AF(GPIOK_PIN13, 0U) | \
1839 PIN_AFIO_AF(GPIOK_PIN14, 0U) | \
1840 PIN_AFIO_AF(GPIOK_PIN15, 0U))
1841
1842/*===========================================================================*/
1843/* External declarations. */
1844/*===========================================================================*/
1845
1846#if !defined(_FROM_ASM_)
1847#ifdef __cplusplus
1848extern "C" {
1849#endif
1850 void boardInit(void);
1851#ifdef __cplusplus
1852}
1853#endif
1854#endif /* _FROM_ASM_ */
1855
1856#endif /* BOARD_H */