RTEMS 6.1-rc1
stm32h7xx_hal_gpio_ex.h
Go to the documentation of this file.
1
19/* Define to prevent recursive inclusion -------------------------------------*/
20#ifndef STM32H7xx_HAL_GPIO_EX_H
21#define STM32H7xx_HAL_GPIO_EX_H
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27/* Includes ------------------------------------------------------------------*/
28#include "stm32h7xx_hal_def.h"
29
38/* Exported types ------------------------------------------------------------*/
39
40/* Exported constants --------------------------------------------------------*/
54#define GPIO_AF0_RTC_50Hz ((uint8_t)0x00) /* RTC_50Hz Alternate Function mapping */
55#define GPIO_AF0_MCO ((uint8_t)0x00) /* MCO (MCO1 and MCO2) Alternate Function mapping */
56#define GPIO_AF0_SWJ ((uint8_t)0x00) /* SWJ (SWD and JTAG) Alternate Function mapping */
57#define GPIO_AF0_LCDBIAS ((uint8_t)0x00) /* LCDBIAS Alternate Function mapping */
58#define GPIO_AF0_TRACE ((uint8_t)0x00) /* TRACE Alternate Function mapping */
59#if defined (PWR_CPUCR_PDDS_D2) /* PWR D1 and D2 domains exists */
60#define GPIO_AF0_C1DSLEEP ((uint8_t)0x00) /* Cortex-M7 Deep Sleep Alternate Function mapping : available on STM32H7 Rev.B and above */
61#define GPIO_AF0_C1SLEEP ((uint8_t)0x00) /* Cortex-M7 Sleep Alternate Function mapping : available on STM32H7 Rev.B and above */
62#define GPIO_AF0_D1PWREN ((uint8_t)0x00) /* Domain 1 PWR enable Alternate Function mapping : available on STM32H7 Rev.B and above */
63#define GPIO_AF0_D2PWREN ((uint8_t)0x00) /* Domain 2 PWR enable Alternate Function mapping : available on STM32H7 Rev.B and above */
64#if defined(DUAL_CORE)
65#define GPIO_AF0_C2DSLEEP ((uint8_t)0x00) /* Cortex-M4 Deep Sleep Alternate Function mapping : available on STM32H7 Rev.B and above */
66#define GPIO_AF0_C2SLEEP ((uint8_t)0x00) /* Cortex-M4 Sleep Alternate Function mapping : available on STM32H7 Rev.B and above */
67#endif /* DUAL_CORE */
68#endif /* PWR_CPUCR_PDDS_D2 */
69
73#define GPIO_AF1_TIM1 ((uint8_t)0x01) /* TIM1 Alternate Function mapping */
74#define GPIO_AF1_TIM2 ((uint8_t)0x01) /* TIM2 Alternate Function mapping */
75#define GPIO_AF1_TIM16 ((uint8_t)0x01) /* TIM16 Alternate Function mapping */
76#define GPIO_AF1_TIM17 ((uint8_t)0x01) /* TIM17 Alternate Function mapping */
77#define GPIO_AF1_LPTIM1 ((uint8_t)0x01) /* LPTIM1 Alternate Function mapping */
78#if defined(HRTIM1)
79#define GPIO_AF1_HRTIM1 ((uint8_t)0x01) /* HRTIM1 Alternate Function mapping */
80#endif /* HRTIM1 */
81#if defined(SAI4)
82#define GPIO_AF1_SAI4 ((uint8_t)0x01) /* SAI4 Alternate Function mapping : available on STM32H72xxx/STM32H73xxx */
83#endif /* SAI4 */
84#define GPIO_AF1_FMC ((uint8_t)0x01) /* FMC Alternate Function mapping : available on STM32H72xxx/STM32H73xxx */
85
86
90#define GPIO_AF2_TIM3 ((uint8_t)0x02) /* TIM3 Alternate Function mapping */
91#define GPIO_AF2_TIM4 ((uint8_t)0x02) /* TIM4 Alternate Function mapping */
92#define GPIO_AF2_TIM5 ((uint8_t)0x02) /* TIM5 Alternate Function mapping */
93#define GPIO_AF2_TIM12 ((uint8_t)0x02) /* TIM12 Alternate Function mapping */
94#define GPIO_AF2_SAI1 ((uint8_t)0x02) /* SAI1 Alternate Function mapping */
95#if defined(HRTIM1)
96#define GPIO_AF2_HRTIM1 ((uint8_t)0x02) /* HRTIM1 Alternate Function mapping */
97#endif /* HRTIM1 */
98#define GPIO_AF2_TIM15 ((uint8_t)0x02) /* TIM15 Alternate Function mapping : available on STM32H7A3xxx/STM32H7B3xxx/STM32H7B0xxx and STM32H72xxx/STM32H73xxx */
99#if defined(FDCAN3)
100#define GPIO_AF2_FDCAN3 ((uint8_t)0x02) /* FDCAN3 Alternate Function mapping */
101#endif /*FDCAN3*/
102
106#define GPIO_AF3_TIM8 ((uint8_t)0x03) /* TIM8 Alternate Function mapping */
107#define GPIO_AF3_LPTIM2 ((uint8_t)0x03) /* LPTIM2 Alternate Function mapping */
108#define GPIO_AF3_DFSDM1 ((uint8_t)0x03) /* DFSDM Alternate Function mapping */
109#define GPIO_AF3_LPTIM3 ((uint8_t)0x03) /* LPTIM3 Alternate Function mapping */
110#define GPIO_AF3_LPTIM4 ((uint8_t)0x03) /* LPTIM4 Alternate Function mapping */
111#define GPIO_AF3_LPTIM5 ((uint8_t)0x03) /* LPTIM5 Alternate Function mapping */
112#define GPIO_AF3_LPUART ((uint8_t)0x03) /* LPUART Alternate Function mapping */
113#if defined(OCTOSPIM)
114#define GPIO_AF3_OCTOSPIM_P1 ((uint8_t)0x03) /* OCTOSPI Manager Port 1 Alternate Function mapping */
115#define GPIO_AF3_OCTOSPIM_P2 ((uint8_t)0x03) /* OCTOSPI Manager Port 2 Alternate Function mapping */
116#endif /* OCTOSPIM */
117#if defined(HRTIM1)
118#define GPIO_AF3_HRTIM1 ((uint8_t)0x03) /* HRTIM1 Alternate Function mapping */
119#endif /* HRTIM1 */
120#define GPIO_AF3_LTDC ((uint8_t)0x03) /* LTDC Alternate Function mapping : available on STM32H72xxx/STM32H73xxx */
121
125#define GPIO_AF4_I2C1 ((uint8_t)0x04) /* I2C1 Alternate Function mapping */
126#define GPIO_AF4_I2C2 ((uint8_t)0x04) /* I2C2 Alternate Function mapping */
127#define GPIO_AF4_I2C3 ((uint8_t)0x04) /* I2C3 Alternate Function mapping */
128#define GPIO_AF4_I2C4 ((uint8_t)0x04) /* I2C4 Alternate Function mapping */
129#if defined(I2C5)
130#define GPIO_AF4_I2C5 ((uint8_t)0x04) /* I2C5 Alternate Function mapping */
131#endif /* I2C5*/
132#define GPIO_AF4_TIM15 ((uint8_t)0x04) /* TIM15 Alternate Function mapping */
133#define GPIO_AF4_CEC ((uint8_t)0x04) /* CEC Alternate Function mapping */
134#define GPIO_AF4_LPTIM2 ((uint8_t)0x04) /* LPTIM2 Alternate Function mapping */
135#define GPIO_AF4_USART1 ((uint8_t)0x04) /* USART1 Alternate Function mapping */
136#if defined(USART10)
137#define GPIO_AF4_USART10 ((uint8_t)0x04) /* USART10 Alternate Function mapping : available on STM32H72xxx/STM32H73xxx */
138#endif /*USART10*/
139#define GPIO_AF4_DFSDM1 ((uint8_t)0x04) /* DFSDM Alternate Function mapping */
140#if defined(DFSDM2_BASE)
141#define GPIO_AF4_DFSDM2 ((uint8_t)0x04) /* DFSDM2 Alternate Function mapping */
142#endif /* DFSDM2_BASE */
143#define GPIO_AF4_DCMI ((uint8_t)0x04) /* DCMI Alternate Function mapping : available on STM32H7A3xxx/STM32H7B3xxx/STM32H7B0xxx and STM32H72xxx/STM32H73xxx */
144#if defined(PSSI)
145#define GPIO_AF4_PSSI ((uint8_t)0x04) /* PSSI Alternate Function mapping */
146#endif /* PSSI */
147#if defined(OCTOSPIM)
148#define GPIO_AF4_OCTOSPIM_P1 ((uint8_t)0x04) /* OCTOSPI Manager Port 1 Alternate Function mapping : available on STM32H72xxx/STM32H73xxx */
149#endif /* OCTOSPIM */
150
154#define GPIO_AF5_SPI1 ((uint8_t)0x05) /* SPI1 Alternate Function mapping */
155#define GPIO_AF5_SPI2 ((uint8_t)0x05) /* SPI2 Alternate Function mapping */
156#define GPIO_AF5_SPI3 ((uint8_t)0x05) /* SPI3 Alternate Function mapping */
157#define GPIO_AF5_SPI4 ((uint8_t)0x05) /* SPI4 Alternate Function mapping */
158#define GPIO_AF5_SPI5 ((uint8_t)0x05) /* SPI5 Alternate Function mapping */
159#define GPIO_AF5_SPI6 ((uint8_t)0x05) /* SPI6 Alternate Function mapping */
160#define GPIO_AF5_CEC ((uint8_t)0x05) /* CEC Alternate Function mapping */
161#if defined(FDCAN3)
162#define GPIO_AF5_FDCAN3 ((uint8_t)0x05) /* FDCAN3 Alternate Function mapping */
163#endif /*FDCAN3*/
164
168#define GPIO_AF6_SPI2 ((uint8_t)0x06) /* SPI2 Alternate Function mapping */
169#define GPIO_AF6_SPI3 ((uint8_t)0x06) /* SPI3 Alternate Function mapping */
170#define GPIO_AF6_SAI1 ((uint8_t)0x06) /* SAI1 Alternate Function mapping */
171#define GPIO_AF6_I2C4 ((uint8_t)0x06) /* I2C4 Alternate Function mapping */
172#if defined(I2C5)
173#define GPIO_AF6_I2C5 ((uint8_t)0x06) /* I2C5 Alternate Function mapping */
174#endif /* I2C5*/
175#define GPIO_AF6_DFSDM1 ((uint8_t)0x06) /* DFSDM Alternate Function mapping */
176#define GPIO_AF6_UART4 ((uint8_t)0x06) /* UART4 Alternate Function mapping */
177#if defined(DFSDM2_BASE)
178#define GPIO_AF6_DFSDM2 ((uint8_t)0x06) /* DFSDM2 Alternate Function mapping */
179#endif /* DFSDM2_BASE */
180#if defined(SAI3)
181#define GPIO_AF6_SAI3 ((uint8_t)0x06) /* SAI3 Alternate Function mapping */
182#endif /* SAI3 */
183#if defined(OCTOSPIM)
184#define GPIO_AF6_OCTOSPIM_P1 ((uint8_t)0x06) /* OCTOSPI Manager Port 1 Alternate Function mapping */
185#endif /* OCTOSPIM */
186
190#define GPIO_AF7_SPI2 ((uint8_t)0x07) /* SPI2 Alternate Function mapping */
191#define GPIO_AF7_SPI3 ((uint8_t)0x07) /* SPI3 Alternate Function mapping */
192#define GPIO_AF7_SPI6 ((uint8_t)0x07) /* SPI6 Alternate Function mapping */
193#define GPIO_AF7_USART1 ((uint8_t)0x07) /* USART1 Alternate Function mapping */
194#define GPIO_AF7_USART2 ((uint8_t)0x07) /* USART2 Alternate Function mapping */
195#define GPIO_AF7_USART3 ((uint8_t)0x07) /* USART3 Alternate Function mapping */
196#define GPIO_AF7_USART6 ((uint8_t)0x07) /* USART6 Alternate Function mapping */
197#define GPIO_AF7_UART7 ((uint8_t)0x07) /* UART7 Alternate Function mapping */
198#define GPIO_AF7_SDMMC1 ((uint8_t)0x07) /* SDMMC1 Alternate Function mapping */
199
203#define GPIO_AF8_SPI6 ((uint8_t)0x08) /* SPI6 Alternate Function mapping */
204#if defined(SAI2)
205#define GPIO_AF8_SAI2 ((uint8_t)0x08) /* SAI2 Alternate Function mapping */
206#endif /*SAI2*/
207#define GPIO_AF8_UART4 ((uint8_t)0x08) /* UART4 Alternate Function mapping */
208#define GPIO_AF8_UART5 ((uint8_t)0x08) /* UART5 Alternate Function mapping */
209#define GPIO_AF8_UART8 ((uint8_t)0x08) /* UART8 Alternate Function mapping */
210#define GPIO_AF8_SPDIF ((uint8_t)0x08) /* SPDIF Alternate Function mapping */
211#define GPIO_AF8_LPUART ((uint8_t)0x08) /* LPUART Alternate Function mapping */
212#define GPIO_AF8_SDMMC1 ((uint8_t)0x08) /* SDMMC1 Alternate Function mapping */
213#if defined(SAI4)
214#define GPIO_AF8_SAI4 ((uint8_t)0x08) /* SAI4 Alternate Function mapping */
215#endif /* SAI4 */
216
220#define GPIO_AF9_FDCAN1 ((uint8_t)0x09) /* FDCAN1 Alternate Function mapping */
221#define GPIO_AF9_FDCAN2 ((uint8_t)0x09) /* FDCAN2 Alternate Function mapping */
222#define GPIO_AF9_TIM13 ((uint8_t)0x09) /* TIM13 Alternate Function mapping */
223#define GPIO_AF9_TIM14 ((uint8_t)0x09) /* TIM14 Alternate Function mapping */
224#define GPIO_AF9_SDMMC2 ((uint8_t)0x09) /* SDMMC2 Alternate Function mapping */
225#define GPIO_AF9_LTDC ((uint8_t)0x09) /* LTDC Alternate Function mapping */
226#define GPIO_AF9_SPDIF ((uint8_t)0x09) /* SPDIF Alternate Function mapping */
227#define GPIO_AF9_FMC ((uint8_t)0x09) /* FMC Alternate Function mapping */
228#if defined(QUADSPI)
229#define GPIO_AF9_QUADSPI ((uint8_t)0x09) /* QUADSPI Alternate Function mapping */
230#endif /* QUADSPI */
231#if defined(SAI4)
232#define GPIO_AF9_SAI4 ((uint8_t)0x09) /* SAI4 Alternate Function mapping */
233#endif /* SAI4 */
234#if defined(OCTOSPIM)
235#define GPIO_AF9_OCTOSPIM_P1 ((uint8_t)0x09) /* OCTOSPI Manager Port 1 Alternate Function mapping */
236#define GPIO_AF9_OCTOSPIM_P2 ((uint8_t)0x09) /* OCTOSPI Manager Port 2 Alternate Function mapping */
237#endif /* OCTOSPIM */
238
242#if defined(SAI2)
243#define GPIO_AF10_SAI2 ((uint8_t)0x0A) /* SAI2 Alternate Function mapping */
244#endif /*SAI2*/
245#define GPIO_AF10_SDMMC2 ((uint8_t)0x0A) /* SDMMC2 Alternate Function mapping */
246#if defined(USB2_OTG_FS)
247#define GPIO_AF10_OTG2_FS ((uint8_t)0x0A) /* OTG2_FS Alternate Function mapping */
248#endif /*USB2_OTG_FS*/
249#define GPIO_AF10_COMP1 ((uint8_t)0x0A) /* COMP1 Alternate Function mapping */
250#define GPIO_AF10_COMP2 ((uint8_t)0x0A) /* COMP2 Alternate Function mapping */
251#if defined(LTDC)
252#define GPIO_AF10_LTDC ((uint8_t)0x0A) /* LTDC Alternate Function mapping */
253#endif /*LTDC*/
254#define GPIO_AF10_CRS_SYNC ((uint8_t)0x0A) /* CRS Sync Alternate Function mapping : available on STM32H7 Rev.B and above */
255#if defined(QUADSPI)
256#define GPIO_AF10_QUADSPI ((uint8_t)0x0A) /* QUADSPI Alternate Function mapping */
257#endif /* QUADSPI */
258#if defined(SAI4)
259#define GPIO_AF10_SAI4 ((uint8_t)0x0A) /* SAI4 Alternate Function mapping */
260#endif /* SAI4 */
261#if !defined(USB2_OTG_FS)
262#define GPIO_AF10_OTG1_FS ((uint8_t)0x0A) /* OTG1_FS Alternate Function mapping : available on STM32H7A3xxx/STM32H7B3xxx/STM32H7B0xxx and STM32H72xxx/STM32H73xxx */
263#endif /* !USB2_OTG_FS */
264#define GPIO_AF10_OTG1_HS ((uint8_t)0x0A) /* OTG1_HS Alternate Function mapping */
265#if defined(OCTOSPIM)
266#define GPIO_AF10_OCTOSPIM_P1 ((uint8_t)0x0A) /* OCTOSPI Manager Port 1 Alternate Function mapping */
267#endif /* OCTOSPIM */
268#define GPIO_AF10_TIM8 ((uint8_t)0x0A) /* TIM8 Alternate Function mapping */
269#define GPIO_AF10_FMC ((uint8_t)0x0A) /* FMC Alternate Function mapping : available on STM32H7A3xxx/STM32H7B3xxx/STM32H7B0xxx and STM32H72xxx/STM32H73xxx */
270
274#define GPIO_AF11_SWP ((uint8_t)0x0B) /* SWP Alternate Function mapping */
275#define GPIO_AF11_MDIOS ((uint8_t)0x0B) /* MDIOS Alternate Function mapping */
276#define GPIO_AF11_UART7 ((uint8_t)0x0B) /* UART7 Alternate Function mapping */
277#define GPIO_AF11_SDMMC2 ((uint8_t)0x0B) /* SDMMC2 Alternate Function mapping */
278#define GPIO_AF11_DFSDM1 ((uint8_t)0x0B) /* DFSDM1 Alternate Function mapping */
279#define GPIO_AF11_COMP1 ((uint8_t)0x0B) /* COMP1 Alternate Function mapping */
280#define GPIO_AF11_COMP2 ((uint8_t)0x0B) /* COMP2 Alternate Function mapping */
281#define GPIO_AF11_TIM1 ((uint8_t)0x0B) /* TIM1 Alternate Function mapping */
282#define GPIO_AF11_TIM8 ((uint8_t)0x0B) /* TIM8 Alternate Function mapping */
283#define GPIO_AF11_I2C4 ((uint8_t)0x0B) /* I2C4 Alternate Function mapping */
284#if defined(DFSDM2_BASE)
285#define GPIO_AF11_DFSDM2 ((uint8_t)0x0B) /* DFSDM2 Alternate Function mapping */
286#endif /* DFSDM2_BASE */
287#if defined(USART10)
288#define GPIO_AF11_USART10 ((uint8_t)0x0B) /* USART10 Alternate Function mapping */
289#endif /* USART10 */
290#if defined(UART9)
291#define GPIO_AF11_UART9 ((uint8_t)0x0B) /* UART9 Alternate Function mapping */
292#endif /* UART9 */
293#if defined(ETH)
294#define GPIO_AF11_ETH ((uint8_t)0x0B) /* ETH Alternate Function mapping */
295#endif /* ETH */
296#if defined(LTDC)
297#define GPIO_AF11_LTDC ((uint8_t)0x0B) /* LTDC Alternate Function mapping : available on STM32H7A3xxx/STM32H7B3xxx/STM32H7B0xxx and STM32H72xxx/STM32H73xxx */
298#endif /*LTDC*/
299#if defined(OCTOSPIM)
300#define GPIO_AF11_OCTOSPIM_P1 ((uint8_t)0x0B) /* OCTOSPI Manager Port 1 Alternate Function mapping */
301#endif /* OCTOSPIM */
302
306#define GPIO_AF12_FMC ((uint8_t)0x0C) /* FMC Alternate Function mapping */
307#define GPIO_AF12_SDMMC1 ((uint8_t)0x0C) /* SDMMC1 Alternate Function mapping */
308#define GPIO_AF12_MDIOS ((uint8_t)0x0C) /* MDIOS Alternate Function mapping */
309#define GPIO_AF12_COMP1 ((uint8_t)0x0C) /* COMP1 Alternate Function mapping */
310#define GPIO_AF12_COMP2 ((uint8_t)0x0C) /* COMP2 Alternate Function mapping */
311#define GPIO_AF12_TIM1 ((uint8_t)0x0C) /* TIM1 Alternate Function mapping */
312#define GPIO_AF12_TIM8 ((uint8_t)0x0C) /* TIM8 Alternate Function mapping */
313#if defined(LTDC)
314#define GPIO_AF12_LTDC ((uint8_t)0x0C) /* LTDC Alternate Function mapping */
315#endif /*LTDC*/
316#if defined(USB2_OTG_FS)
317#define GPIO_AF12_OTG1_FS ((uint8_t)0x0C) /* OTG1_FS Alternate Function mapping */
318#endif /* USB2_OTG_FS */
319#if defined(OCTOSPIM)
320#define GPIO_AF12_OCTOSPIM_P1 ((uint8_t)0x0C) /* OCTOSPI Manager Port 1 Alternate Function mapping */
321#endif /* OCTOSPIM */
322
326#define GPIO_AF13_DCMI ((uint8_t)0x0D) /* DCMI Alternate Function mapping */
327#define GPIO_AF13_COMP1 ((uint8_t)0x0D) /* COMP1 Alternate Function mapping */
328#define GPIO_AF13_COMP2 ((uint8_t)0x0D) /* COMP2 Alternate Function mapping */
329#if defined(LTDC)
330#define GPIO_AF13_LTDC ((uint8_t)0x0D) /* LTDC Alternate Function mapping */
331#endif /*LTDC*/
332#if defined(DSI)
333#define GPIO_AF13_DSI ((uint8_t)0x0D) /* DSI Alternate Function mapping */
334#endif /* DSI */
335#if defined(PSSI)
336#define GPIO_AF13_PSSI ((uint8_t)0x0D) /* PSSI Alternate Function mapping */
337#endif /* PSSI */
338#define GPIO_AF13_TIM1 ((uint8_t)0x0D) /* TIM1 Alternate Function mapping */
339#if defined(TIM23)
340#define GPIO_AF13_TIM23 ((uint8_t)0x0D) /* TIM23 Alternate Function mapping */
341#endif /*TIM23*/
342
346#define GPIO_AF14_LTDC ((uint8_t)0x0E) /* LTDC Alternate Function mapping */
347#define GPIO_AF14_UART5 ((uint8_t)0x0E) /* UART5 Alternate Function mapping */
348#if defined(TIM24)
349#define GPIO_AF14_TIM24 ((uint8_t)0x0E) /* TIM24 Alternate Function mapping */
350#endif /*TIM24*/
351
355#define GPIO_AF15_EVENTOUT ((uint8_t)0x0F) /* EVENTOUT Alternate Function mapping */
356
357#define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x0F)
358
359
360
369/* Exported macro ------------------------------------------------------------*/
378/* Exported functions --------------------------------------------------------*/
386/* Private types -------------------------------------------------------------*/
387/* Private variables ---------------------------------------------------------*/
388/* Private constants ---------------------------------------------------------*/
397/* Defines the available pins per GPIOs */
398#define GPIOA_PIN_AVAILABLE GPIO_PIN_All
399#define GPIOB_PIN_AVAILABLE GPIO_PIN_All
400#define GPIOC_PIN_AVAILABLE GPIO_PIN_All
401#define GPIOD_PIN_AVAILABLE GPIO_PIN_All
402#define GPIOE_PIN_AVAILABLE GPIO_PIN_All
403#define GPIOF_PIN_AVAILABLE GPIO_PIN_All
404#define GPIOG_PIN_AVAILABLE GPIO_PIN_All
405#if defined(GPIOI)
406#define GPIOI_PIN_AVAILABLE GPIO_PIN_All
407#endif /*GPIOI*/
408#if defined(GPIOI)
409#define GPIOJ_PIN_AVAILABLE GPIO_PIN_All
410#else
411#define GPIOJ_PIN_AVAILABLE (GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 )
412#endif /* GPIOI */
413#define GPIOH_PIN_AVAILABLE GPIO_PIN_All
414#if defined(GPIOI)
415#define GPIOK_PIN_AVAILABLE (GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | \
416 GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7)
417#else
418#define GPIOK_PIN_AVAILABLE (GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 )
419#endif /* GPIOI */
420
425/* Private macros ------------------------------------------------------------*/
434#if defined(GPIOI)
435#define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0UL :\
436 ((__GPIOx__) == (GPIOB))? 1UL :\
437 ((__GPIOx__) == (GPIOC))? 2UL :\
438 ((__GPIOx__) == (GPIOD))? 3UL :\
439 ((__GPIOx__) == (GPIOE))? 4UL :\
440 ((__GPIOx__) == (GPIOF))? 5UL :\
441 ((__GPIOx__) == (GPIOG))? 6UL :\
442 ((__GPIOx__) == (GPIOH))? 7UL :\
443 ((__GPIOx__) == (GPIOI))? 8UL :\
444 ((__GPIOx__) == (GPIOJ))? 9UL : 10UL)
445#else
446#define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0UL :\
447 ((__GPIOx__) == (GPIOB))? 1UL :\
448 ((__GPIOx__) == (GPIOC))? 2UL :\
449 ((__GPIOx__) == (GPIOD))? 3UL :\
450 ((__GPIOx__) == (GPIOE))? 4UL :\
451 ((__GPIOx__) == (GPIOF))? 5UL :\
452 ((__GPIOx__) == (GPIOG))? 6UL :\
453 ((__GPIOx__) == (GPIOH))? 7UL :\
454 ((__GPIOx__) == (GPIOJ))? 9UL : 10UL)
455#endif /* GPIOI */
456
473/* Private functions ---------------------------------------------------------*/
491#ifdef __cplusplus
492}
493#endif
494
495#endif /* STM32H7xx_HAL_GPIO_EX_H */
496
This file contains HAL common defines, enumeration, macros and structures definitions.