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