blob: 1942732d68269355f94463e81fc956a034a4c0e2 [file] [log] [blame]
/****************************************************************************
* boards/arm/stm32/stm32f411-minimum/src/stm32f411-minimum-gpio.h
*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership. The
* ASF licenses this file to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
****************************************************************************/
#ifndef __BOARDS_ARM_STM32_STM32F411_MINIMUM_SRC_STM32F411_MINIMUM_GPIO_H
#define __BOARDS_ARM_STM32_STM32F411_MINIMUM_SRC_STM32F411_MINIMUM_GPIO_H
/* GPIO A0 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A0_OUT)
# define GPIO_A0_USED_OUT 1
# define GPIO_A0_USED_INT 0
# define GPIO_A0_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A0_INT)
# define GPIO_A0_USED_OUT 0
# define GPIO_A0_USED_INT 1
# define GPIO_A0_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A0_IN)
# define GPIO_A0_USED_OUT 0
# define GPIO_A0_USED_INT 0
# define GPIO_A0_USED_IN 1
#else
# define GPIO_A0_USED_OUT 0
# define GPIO_A0_USED_INT 0
# define GPIO_A0_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A0_OUT_PP)
# define GPIO_A0_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_A0_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A0_OUT_CLEAR)
# define GPIO_A0_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_A0_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A0_PULL_DOWN)
# define GPIO_A0_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A0_PULL_FLOAT)
# define GPIO_A0_PULL GPIO_FLOAT
#else
# define GPIO_A0_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A0_SPEED_2MHz)
# define GPIO_A0_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A0_SPEED_25MHz)
# define GPIO_A0_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_A0_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO A1 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A1_OUT)
# define GPIO_A1_USED_OUT 1
# define GPIO_A1_USED_INT 0
# define GPIO_A1_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A1_INT)
# define GPIO_A1_USED_OUT 0
# define GPIO_A1_USED_INT 1
# define GPIO_A1_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A1_IN)
# define GPIO_A1_USED_OUT 0
# define GPIO_A1_USED_INT 0
# define GPIO_A1_USED_IN 1
#else
# define GPIO_A1_USED_OUT 0
# define GPIO_A1_USED_INT 0
# define GPIO_A1_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A1_OUT_PP)
# define GPIO_A1_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_A1_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A1_OUT_CLEAR)
# define GPIO_A1_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_A1_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A1_PULL_DOWN)
# define GPIO_A1_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A1_PULL_FLOAT)
# define GPIO_A1_PULL GPIO_FLOAT
#else
# define GPIO_A1_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A1_SPEED_2MHz)
# define GPIO_A1_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A1_SPEED_25MHz)
# define GPIO_A1_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_A1_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO A2 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A2_OUT)
# define GPIO_A2_USED_OUT 1
# define GPIO_A2_USED_INT 0
# define GPIO_A2_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A2_INT)
# define GPIO_A2_USED_OUT 0
# define GPIO_A2_USED_INT 1
# define GPIO_A2_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A2_IN)
# define GPIO_A2_USED_OUT 0
# define GPIO_A2_USED_INT 0
# define GPIO_A2_USED_IN 1
#else
# define GPIO_A2_USED_OUT 0
# define GPIO_A2_USED_INT 0
# define GPIO_A2_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A2_OUT_PP)
# define GPIO_A2_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_A2_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A2_OUT_CLEAR)
# define GPIO_A2_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_A2_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A2_PULL_DOWN)
# define GPIO_A2_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A2_PULL_FLOAT)
# define GPIO_A2_PULL GPIO_FLOAT
#else
# define GPIO_A2_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A2_SPEED_2MHz)
# define GPIO_A2_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A2_SPEED_25MHz)
# define GPIO_A2_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_A2_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO A3 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A3_OUT)
# define GPIO_A3_USED_OUT 1
# define GPIO_A3_USED_INT 0
# define GPIO_A3_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A3_INT)
# define GPIO_A3_USED_OUT 0
# define GPIO_A3_USED_INT 1
# define GPIO_A3_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A3_IN)
# define GPIO_A3_USED_OUT 0
# define GPIO_A3_USED_INT 0
# define GPIO_A3_USED_IN 1
#else
# define GPIO_A3_USED_OUT 0
# define GPIO_A3_USED_INT 0
# define GPIO_A3_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A3_OUT_PP)
# define GPIO_A3_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_A3_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A3_OUT_CLEAR)
# define GPIO_A3_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_A3_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A3_PULL_DOWN)
# define GPIO_A3_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A3_PULL_FLOAT)
# define GPIO_A3_PULL GPIO_FLOAT
#else
# define GPIO_A3_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A3_SPEED_2MHz)
# define GPIO_A3_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A3_SPEED_25MHz)
# define GPIO_A3_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_A3_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO A4 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A4_OUT)
# define GPIO_A4_USED_OUT 1
# define GPIO_A4_USED_INT 0
# define GPIO_A4_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A4_INT)
# define GPIO_A4_USED_OUT 0
# define GPIO_A4_USED_INT 1
# define GPIO_A4_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A4_IN)
# define GPIO_A4_USED_OUT 0
# define GPIO_A4_USED_INT 0
# define GPIO_A4_USED_IN 1
#else
# define GPIO_A4_USED_OUT 0
# define GPIO_A4_USED_INT 0
# define GPIO_A4_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A4_OUT_PP)
# define GPIO_A4_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_A4_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A4_OUT_CLEAR)
# define GPIO_A4_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_A4_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A4_PULL_DOWN)
# define GPIO_A4_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A4_PULL_FLOAT)
# define GPIO_A4_PULL GPIO_FLOAT
#else
# define GPIO_A4_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A4_SPEED_2MHz)
# define GPIO_A4_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A4_SPEED_25MHz)
# define GPIO_A4_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_A4_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO A5 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A5_OUT)
# define GPIO_A5_USED_OUT 1
# define GPIO_A5_USED_INT 0
# define GPIO_A5_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A5_INT)
# define GPIO_A5_USED_OUT 0
# define GPIO_A5_USED_INT 1
# define GPIO_A5_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A5_IN)
# define GPIO_A5_USED_OUT 0
# define GPIO_A5_USED_INT 0
# define GPIO_A5_USED_IN 1
#else
# define GPIO_A5_USED_OUT 0
# define GPIO_A5_USED_INT 0
# define GPIO_A5_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A5_OUT_PP)
# define GPIO_A5_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_A5_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A5_OUT_CLEAR)
# define GPIO_A5_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_A5_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A5_PULL_DOWN)
# define GPIO_A5_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A5_PULL_FLOAT)
# define GPIO_A5_PULL GPIO_FLOAT
#else
# define GPIO_A5_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A5_SPEED_2MHz)
# define GPIO_A5_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A5_SPEED_25MHz)
# define GPIO_A5_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_A5_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO A6 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A6_OUT)
# define GPIO_A6_USED_OUT 1
# define GPIO_A6_USED_INT 0
# define GPIO_A6_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A6_INT)
# define GPIO_A6_USED_OUT 0
# define GPIO_A6_USED_INT 1
# define GPIO_A6_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A6_IN)
# define GPIO_A6_USED_OUT 0
# define GPIO_A6_USED_INT 0
# define GPIO_A6_USED_IN 1
#else
# define GPIO_A6_USED_OUT 0
# define GPIO_A6_USED_INT 0
# define GPIO_A6_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A6_OUT_PP)
# define GPIO_A6_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_A6_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A6_OUT_CLEAR)
# define GPIO_A6_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_A6_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A6_PULL_DOWN)
# define GPIO_A6_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A6_PULL_FLOAT)
# define GPIO_A6_PULL GPIO_FLOAT
#else
# define GPIO_A6_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A6_SPEED_2MHz)
# define GPIO_A6_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A6_SPEED_25MHz)
# define GPIO_A6_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_A6_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO A7 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A7_OUT)
# define GPIO_A7_USED_OUT 1
# define GPIO_A7_USED_INT 0
# define GPIO_A7_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A7_INT)
# define GPIO_A7_USED_OUT 0
# define GPIO_A7_USED_INT 1
# define GPIO_A7_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A7_IN)
# define GPIO_A7_USED_OUT 0
# define GPIO_A7_USED_INT 0
# define GPIO_A7_USED_IN 1
#else
# define GPIO_A7_USED_OUT 0
# define GPIO_A7_USED_INT 0
# define GPIO_A7_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A7_OUT_PP)
# define GPIO_A7_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_A7_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A7_OUT_CLEAR)
# define GPIO_A7_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_A7_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A7_PULL_DOWN)
# define GPIO_A7_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A7_PULL_FLOAT)
# define GPIO_A7_PULL GPIO_FLOAT
#else
# define GPIO_A7_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A7_SPEED_2MHz)
# define GPIO_A7_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A7_SPEED_25MHz)
# define GPIO_A7_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_A7_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO A8 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A8_OUT)
# define GPIO_A8_USED_OUT 1
# define GPIO_A8_USED_INT 0
# define GPIO_A8_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A8_INT)
# define GPIO_A8_USED_OUT 0
# define GPIO_A8_USED_INT 1
# define GPIO_A8_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A8_IN)
# define GPIO_A8_USED_OUT 0
# define GPIO_A8_USED_INT 0
# define GPIO_A8_USED_IN 1
#else
# define GPIO_A8_USED_OUT 0
# define GPIO_A8_USED_INT 0
# define GPIO_A8_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A8_OUT_PP)
# define GPIO_A8_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_A8_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A8_OUT_CLEAR)
# define GPIO_A8_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_A8_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A8_PULL_DOWN)
# define GPIO_A8_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A8_PULL_FLOAT)
# define GPIO_A8_PULL GPIO_FLOAT
#else
# define GPIO_A8_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A8_SPEED_2MHz)
# define GPIO_A8_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A8_SPEED_25MHz)
# define GPIO_A8_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_A8_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO A9 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A9_OUT)
# define GPIO_A9_USED_OUT 1
# define GPIO_A9_USED_INT 0
# define GPIO_A9_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A9_INT)
# define GPIO_A9_USED_OUT 0
# define GPIO_A9_USED_INT 1
# define GPIO_A9_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A9_IN)
# define GPIO_A9_USED_OUT 0
# define GPIO_A9_USED_INT 0
# define GPIO_A9_USED_IN 1
#else
# define GPIO_A9_USED_OUT 0
# define GPIO_A9_USED_INT 0
# define GPIO_A9_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A9_OUT_PP)
# define GPIO_A9_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_A9_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A9_OUT_CLEAR)
# define GPIO_A9_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_A9_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A9_PULL_DOWN)
# define GPIO_A9_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A9_PULL_FLOAT)
# define GPIO_A9_PULL GPIO_FLOAT
#else
# define GPIO_A9_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A9_SPEED_2MHz)
# define GPIO_A9_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A9_SPEED_25MHz)
# define GPIO_A9_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_A9_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO A10 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A10_OUT)
# define GPIO_A10_USED_OUT 1
# define GPIO_A10_USED_INT 0
# define GPIO_A10_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A10_INT)
# define GPIO_A10_USED_OUT 0
# define GPIO_A10_USED_INT 1
# define GPIO_A10_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A10_IN)
# define GPIO_A10_USED_OUT 0
# define GPIO_A10_USED_INT 0
# define GPIO_A10_USED_IN 1
#else
# define GPIO_A10_USED_OUT 0
# define GPIO_A10_USED_INT 0
# define GPIO_A10_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A10_OUT_PP)
# define GPIO_A10_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_A10_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A10_OUT_CLEAR)
# define GPIO_A10_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_A10_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A10_PULL_DOWN)
# define GPIO_A10_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A10_PULL_FLOAT)
# define GPIO_A10_PULL GPIO_FLOAT
#else
# define GPIO_A10_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A10_SPEED_2MHz)
# define GPIO_A10_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A10_SPEED_25MHz)
# define GPIO_A10_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_A10_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO A11 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A11_OUT)
# define GPIO_A11_USED_OUT 1
# define GPIO_A11_USED_INT 0
# define GPIO_A11_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A11_INT)
# define GPIO_A11_USED_OUT 0
# define GPIO_A11_USED_INT 1
# define GPIO_A11_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A11_IN)
# define GPIO_A11_USED_OUT 0
# define GPIO_A11_USED_INT 0
# define GPIO_A11_USED_IN 1
#else
# define GPIO_A11_USED_OUT 0
# define GPIO_A11_USED_INT 0
# define GPIO_A11_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A11_OUT_PP)
# define GPIO_A11_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_A11_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A11_OUT_CLEAR)
# define GPIO_A11_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_A11_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A11_PULL_DOWN)
# define GPIO_A11_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A11_PULL_FLOAT)
# define GPIO_A11_PULL GPIO_FLOAT
#else
# define GPIO_A11_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A11_SPEED_2MHz)
# define GPIO_A11_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A11_SPEED_25MHz)
# define GPIO_A11_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_A11_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO A12 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A12_OUT)
# define GPIO_A12_USED_OUT 1
# define GPIO_A12_USED_INT 0
# define GPIO_A12_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A12_INT)
# define GPIO_A12_USED_OUT 0
# define GPIO_A12_USED_INT 1
# define GPIO_A12_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A12_IN)
# define GPIO_A12_USED_OUT 0
# define GPIO_A12_USED_INT 0
# define GPIO_A12_USED_IN 1
#else
# define GPIO_A12_USED_OUT 0
# define GPIO_A12_USED_INT 0
# define GPIO_A12_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A12_OUT_PP)
# define GPIO_A12_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_A12_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A12_OUT_CLEAR)
# define GPIO_A12_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_A12_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A12_PULL_DOWN)
# define GPIO_A12_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A12_PULL_FLOAT)
# define GPIO_A12_PULL GPIO_FLOAT
#else
# define GPIO_A12_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A12_SPEED_2MHz)
# define GPIO_A12_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A12_SPEED_25MHz)
# define GPIO_A12_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_A12_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO A15 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A15_OUT)
# define GPIO_A15_USED_OUT 1
# define GPIO_A15_USED_INT 0
# define GPIO_A15_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A15_INT)
# define GPIO_A15_USED_OUT 0
# define GPIO_A15_USED_INT 1
# define GPIO_A15_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A15_IN)
# define GPIO_A15_USED_OUT 0
# define GPIO_A15_USED_INT 0
# define GPIO_A15_USED_IN 1
#else
# define GPIO_A15_USED_OUT 0
# define GPIO_A15_USED_INT 0
# define GPIO_A15_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A15_OUT_PP)
# define GPIO_A15_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_A15_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A15_OUT_CLEAR)
# define GPIO_A15_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_A15_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A15_PULL_DOWN)
# define GPIO_A15_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A15_PULL_FLOAT)
# define GPIO_A15_PULL GPIO_FLOAT
#else
# define GPIO_A15_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_A15_SPEED_2MHz)
# define GPIO_A15_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_A15_SPEED_25MHz)
# define GPIO_A15_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_A15_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO B0 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B0_OUT)
# define GPIO_B0_USED_OUT 1
# define GPIO_B0_USED_INT 0
# define GPIO_B0_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B0_INT)
# define GPIO_B0_USED_OUT 0
# define GPIO_B0_USED_INT 1
# define GPIO_B0_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B0_IN)
# define GPIO_B0_USED_OUT 0
# define GPIO_B0_USED_INT 0
# define GPIO_B0_USED_IN 1
#else
# define GPIO_B0_USED_OUT 0
# define GPIO_B0_USED_INT 0
# define GPIO_B0_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B0_OUT_PP)
# define GPIO_B0_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_B0_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B0_OUT_CLEAR)
# define GPIO_B0_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_B0_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B0_PULL_DOWN)
# define GPIO_B0_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B0_PULL_FLOAT)
# define GPIO_B0_PULL GPIO_FLOAT
#else
# define GPIO_B0_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B0_SPEED_2MHz)
# define GPIO_B0_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B0_SPEED_25MHz)
# define GPIO_B0_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_B0_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO B1 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B1_OUT)
# define GPIO_B1_USED_OUT 1
# define GPIO_B1_USED_INT 0
# define GPIO_B1_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B1_INT)
# define GPIO_B1_USED_OUT 0
# define GPIO_B1_USED_INT 1
# define GPIO_B1_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B1_IN)
# define GPIO_B1_USED_OUT 0
# define GPIO_B1_USED_INT 0
# define GPIO_B1_USED_IN 1
#else
# define GPIO_B1_USED_OUT 0
# define GPIO_B1_USED_INT 0
# define GPIO_B1_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B1_OUT_PP)
# define GPIO_B1_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_B1_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B1_OUT_CLEAR)
# define GPIO_B1_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_B1_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B1_PULL_DOWN)
# define GPIO_B1_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B1_PULL_FLOAT)
# define GPIO_B1_PULL GPIO_FLOAT
#else
# define GPIO_B1_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B1_SPEED_2MHz)
# define GPIO_B1_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B1_SPEED_25MHz)
# define GPIO_B1_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_B1_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO B2 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B2_OUT)
# define GPIO_B2_USED_OUT 1
# define GPIO_B2_USED_INT 0
# define GPIO_B2_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B2_INT)
# define GPIO_B2_USED_OUT 0
# define GPIO_B2_USED_INT 1
# define GPIO_B2_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B2_IN)
# define GPIO_B2_USED_OUT 0
# define GPIO_B2_USED_INT 0
# define GPIO_B2_USED_IN 1
#else
# define GPIO_B2_USED_OUT 0
# define GPIO_B2_USED_INT 0
# define GPIO_B2_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B2_OUT_PP)
# define GPIO_B2_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_B2_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B2_OUT_CLEAR)
# define GPIO_B2_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_B2_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B2_PULL_DOWN)
# define GPIO_B2_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B2_PULL_FLOAT)
# define GPIO_B2_PULL GPIO_FLOAT
#else
# define GPIO_B2_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B2_SPEED_2MHz)
# define GPIO_B2_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B2_SPEED_25MHz)
# define GPIO_B2_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_B2_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO B3 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B3_OUT)
# define GPIO_B3_USED_OUT 1
# define GPIO_B3_USED_INT 0
# define GPIO_B3_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B3_INT)
# define GPIO_B3_USED_OUT 0
# define GPIO_B3_USED_INT 1
# define GPIO_B3_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B3_IN)
# define GPIO_B3_USED_OUT 0
# define GPIO_B3_USED_INT 0
# define GPIO_B3_USED_IN 1
#else
# define GPIO_B3_USED_OUT 0
# define GPIO_B3_USED_INT 0
# define GPIO_B3_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B3_OUT_PP)
# define GPIO_B3_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_B3_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B3_OUT_CLEAR)
# define GPIO_B3_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_B3_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B3_PULL_DOWN)
# define GPIO_B3_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B3_PULL_FLOAT)
# define GPIO_B3_PULL GPIO_FLOAT
#else
# define GPIO_B3_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B3_SPEED_2MHz)
# define GPIO_B3_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B3_SPEED_25MHz)
# define GPIO_B3_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_B3_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO B4 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B4_OUT)
# define GPIO_B4_USED_OUT 1
# define GPIO_B4_USED_INT 0
# define GPIO_B4_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B4_INT)
# define GPIO_B4_USED_OUT 0
# define GPIO_B4_USED_INT 1
# define GPIO_B4_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B4_IN)
# define GPIO_B4_USED_OUT 0
# define GPIO_B4_USED_INT 0
# define GPIO_B4_USED_IN 1
#else
# define GPIO_B4_USED_OUT 0
# define GPIO_B4_USED_INT 0
# define GPIO_B4_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B4_OUT_PP)
# define GPIO_B4_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_B4_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B4_OUT_CLEAR)
# define GPIO_B4_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_B4_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B4_PULL_DOWN)
# define GPIO_B4_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B4_PULL_FLOAT)
# define GPIO_B4_PULL GPIO_FLOAT
#else
# define GPIO_B4_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B4_SPEED_2MHz)
# define GPIO_B4_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B4_SPEED_25MHz)
# define GPIO_B4_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_B4_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO B5 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B5_OUT)
# define GPIO_B5_USED_OUT 1
# define GPIO_B5_USED_INT 0
# define GPIO_B5_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B5_INT)
# define GPIO_B5_USED_OUT 0
# define GPIO_B5_USED_INT 1
# define GPIO_B5_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B5_IN)
# define GPIO_B5_USED_OUT 0
# define GPIO_B5_USED_INT 0
# define GPIO_B5_USED_IN 1
#else
# define GPIO_B5_USED_OUT 0
# define GPIO_B5_USED_INT 0
# define GPIO_B5_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B5_OUT_PP)
# define GPIO_B5_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_B5_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B5_OUT_CLEAR)
# define GPIO_B5_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_B5_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B5_PULL_DOWN)
# define GPIO_B5_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B5_PULL_FLOAT)
# define GPIO_B5_PULL GPIO_FLOAT
#else
# define GPIO_B5_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B5_SPEED_2MHz)
# define GPIO_B5_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B5_SPEED_25MHz)
# define GPIO_B5_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_B5_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO B6 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B6_OUT)
# define GPIO_B6_USED_OUT 1
# define GPIO_B6_USED_INT 0
# define GPIO_B6_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B6_INT)
# define GPIO_B6_USED_OUT 0
# define GPIO_B6_USED_INT 1
# define GPIO_B6_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B6_IN)
# define GPIO_B6_USED_OUT 0
# define GPIO_B6_USED_INT 0
# define GPIO_B6_USED_IN 1
#else
# define GPIO_B6_USED_OUT 0
# define GPIO_B6_USED_INT 0
# define GPIO_B6_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B6_OUT_PP)
# define GPIO_B6_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_B6_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B6_OUT_CLEAR)
# define GPIO_B6_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_B6_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B6_PULL_DOWN)
# define GPIO_B6_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B6_PULL_FLOAT)
# define GPIO_B6_PULL GPIO_FLOAT
#else
# define GPIO_B6_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B6_SPEED_2MHz)
# define GPIO_B6_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B6_SPEED_25MHz)
# define GPIO_B6_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_B6_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO B7 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B7_OUT)
# define GPIO_B7_USED_OUT 1
# define GPIO_B7_USED_INT 0
# define GPIO_B7_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B7_INT)
# define GPIO_B7_USED_OUT 0
# define GPIO_B7_USED_INT 1
# define GPIO_B7_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B7_IN)
# define GPIO_B7_USED_OUT 0
# define GPIO_B7_USED_INT 0
# define GPIO_B7_USED_IN 1
#else
# define GPIO_B7_USED_OUT 0
# define GPIO_B7_USED_INT 0
# define GPIO_B7_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B7_OUT_PP)
# define GPIO_B7_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_B7_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B7_OUT_CLEAR)
# define GPIO_B7_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_B7_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B7_PULL_DOWN)
# define GPIO_B7_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B7_PULL_FLOAT)
# define GPIO_B7_PULL GPIO_FLOAT
#else
# define GPIO_B7_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B7_SPEED_2MHz)
# define GPIO_B7_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B7_SPEED_25MHz)
# define GPIO_B7_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_B7_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO B8 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B8_OUT)
# define GPIO_B8_USED_OUT 1
# define GPIO_B8_USED_INT 0
# define GPIO_B8_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B8_INT)
# define GPIO_B8_USED_OUT 0
# define GPIO_B8_USED_INT 1
# define GPIO_B8_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B8_IN)
# define GPIO_B8_USED_OUT 0
# define GPIO_B8_USED_INT 0
# define GPIO_B8_USED_IN 1
#else
# define GPIO_B8_USED_OUT 0
# define GPIO_B8_USED_INT 0
# define GPIO_B8_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B8_OUT_PP)
# define GPIO_B8_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_B8_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B8_OUT_CLEAR)
# define GPIO_B8_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_B8_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B8_PULL_DOWN)
# define GPIO_B8_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B8_PULL_FLOAT)
# define GPIO_B8_PULL GPIO_FLOAT
#else
# define GPIO_B8_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B8_SPEED_2MHz)
# define GPIO_B8_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B8_SPEED_25MHz)
# define GPIO_B8_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_B8_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO B9 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B9_OUT)
# define GPIO_B9_USED_OUT 1
# define GPIO_B9_USED_INT 0
# define GPIO_B9_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B9_INT)
# define GPIO_B9_USED_OUT 0
# define GPIO_B9_USED_INT 1
# define GPIO_B9_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B9_IN)
# define GPIO_B9_USED_OUT 0
# define GPIO_B9_USED_INT 0
# define GPIO_B9_USED_IN 1
#else
# define GPIO_B9_USED_OUT 0
# define GPIO_B9_USED_INT 0
# define GPIO_B9_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B9_OUT_PP)
# define GPIO_B9_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_B9_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B9_OUT_CLEAR)
# define GPIO_B9_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_B9_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B9_PULL_DOWN)
# define GPIO_B9_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B9_PULL_FLOAT)
# define GPIO_B9_PULL GPIO_FLOAT
#else
# define GPIO_B9_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B9_SPEED_2MHz)
# define GPIO_B9_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B9_SPEED_25MHz)
# define GPIO_B9_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_B9_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO B10 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B10_OUT)
# define GPIO_B10_USED_OUT 1
# define GPIO_B10_USED_INT 0
# define GPIO_B10_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B10_INT)
# define GPIO_B10_USED_OUT 0
# define GPIO_B10_USED_INT 1
# define GPIO_B10_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B10_IN)
# define GPIO_B10_USED_OUT 0
# define GPIO_B10_USED_INT 0
# define GPIO_B10_USED_IN 1
#else
# define GPIO_B10_USED_OUT 0
# define GPIO_B10_USED_INT 0
# define GPIO_B10_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B10_OUT_PP)
# define GPIO_B10_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_B10_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B10_OUT_CLEAR)
# define GPIO_B10_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_B10_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B10_PULL_DOWN)
# define GPIO_B10_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B10_PULL_FLOAT)
# define GPIO_B10_PULL GPIO_FLOAT
#else
# define GPIO_B10_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B10_SPEED_2MHz)
# define GPIO_B10_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B10_SPEED_25MHz)
# define GPIO_B10_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_B10_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO B12 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B12_OUT)
# define GPIO_B12_USED_OUT 1
# define GPIO_B12_USED_INT 0
# define GPIO_B12_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B12_INT)
# define GPIO_B12_USED_OUT 0
# define GPIO_B12_USED_INT 1
# define GPIO_B12_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B12_IN)
# define GPIO_B12_USED_OUT 0
# define GPIO_B12_USED_INT 0
# define GPIO_B12_USED_IN 1
#else
# define GPIO_B12_USED_OUT 0
# define GPIO_B12_USED_INT 0
# define GPIO_B12_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B12_OUT_PP)
# define GPIO_B12_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_B12_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B12_OUT_CLEAR)
# define GPIO_B12_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_B12_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B12_PULL_DOWN)
# define GPIO_B12_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B12_PULL_FLOAT)
# define GPIO_B12_PULL GPIO_FLOAT
#else
# define GPIO_B12_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B12_SPEED_2MHz)
# define GPIO_B12_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B12_SPEED_25MHz)
# define GPIO_B12_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_B12_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO B13 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B13_OUT)
# define GPIO_B13_USED_OUT 1
# define GPIO_B13_USED_INT 0
# define GPIO_B13_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B13_INT)
# define GPIO_B13_USED_OUT 0
# define GPIO_B13_USED_INT 1
# define GPIO_B13_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B13_IN)
# define GPIO_B13_USED_OUT 0
# define GPIO_B13_USED_INT 0
# define GPIO_B13_USED_IN 1
#else
# define GPIO_B13_USED_OUT 0
# define GPIO_B13_USED_INT 0
# define GPIO_B13_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B13_OUT_PP)
# define GPIO_B13_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_B13_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B13_OUT_CLEAR)
# define GPIO_B13_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_B13_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B13_PULL_DOWN)
# define GPIO_B13_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B13_PULL_FLOAT)
# define GPIO_B13_PULL GPIO_FLOAT
#else
# define GPIO_B13_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B13_SPEED_2MHz)
# define GPIO_B13_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B13_SPEED_25MHz)
# define GPIO_B13_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_B13_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO B14 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B14_OUT)
# define GPIO_B14_USED_OUT 1
# define GPIO_B14_USED_INT 0
# define GPIO_B14_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B14_INT)
# define GPIO_B14_USED_OUT 0
# define GPIO_B14_USED_INT 1
# define GPIO_B14_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B14_IN)
# define GPIO_B14_USED_OUT 0
# define GPIO_B14_USED_INT 0
# define GPIO_B14_USED_IN 1
#else
# define GPIO_B14_USED_OUT 0
# define GPIO_B14_USED_INT 0
# define GPIO_B14_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B14_OUT_PP)
# define GPIO_B14_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_B14_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B14_OUT_CLEAR)
# define GPIO_B14_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_B14_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B14_PULL_DOWN)
# define GPIO_B14_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B14_PULL_FLOAT)
# define GPIO_B14_PULL GPIO_FLOAT
#else
# define GPIO_B14_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B14_SPEED_2MHz)
# define GPIO_B14_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B14_SPEED_25MHz)
# define GPIO_B14_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_B14_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO B15 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B15_OUT)
# define GPIO_B15_USED_OUT 1
# define GPIO_B15_USED_INT 0
# define GPIO_B15_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B15_INT)
# define GPIO_B15_USED_OUT 0
# define GPIO_B15_USED_INT 1
# define GPIO_B15_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B15_IN)
# define GPIO_B15_USED_OUT 0
# define GPIO_B15_USED_INT 0
# define GPIO_B15_USED_IN 1
#else
# define GPIO_B15_USED_OUT 0
# define GPIO_B15_USED_INT 0
# define GPIO_B15_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B15_OUT_PP)
# define GPIO_B15_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_B15_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B15_OUT_CLEAR)
# define GPIO_B15_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_B15_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B15_PULL_DOWN)
# define GPIO_B15_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B15_PULL_FLOAT)
# define GPIO_B15_PULL GPIO_FLOAT
#else
# define GPIO_B15_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_B15_SPEED_2MHz)
# define GPIO_B15_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_B15_SPEED_25MHz)
# define GPIO_B15_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_B15_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO C13 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_C13_OUT)
# define GPIO_C13_USED_OUT 1
# define GPIO_C13_USED_INT 0
# define GPIO_C13_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_C13_INT)
# define GPIO_C13_USED_OUT 0
# define GPIO_C13_USED_INT 1
# define GPIO_C13_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_C13_IN)
# define GPIO_C13_USED_OUT 0
# define GPIO_C13_USED_INT 0
# define GPIO_C13_USED_IN 1
#else
# define GPIO_C13_USED_OUT 0
# define GPIO_C13_USED_INT 0
# define GPIO_C13_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_C13_OUT_PP)
# define GPIO_C13_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_C13_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_C13_OUT_CLEAR)
# define GPIO_C13_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_C13_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_C13_PULL_DOWN)
# define GPIO_C13_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_C13_PULL_FLOAT)
# define GPIO_C13_PULL GPIO_FLOAT
#else
# define GPIO_C13_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_C13_SPEED_2MHz)
# define GPIO_C13_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_C13_SPEED_25MHz)
# define GPIO_C13_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_C13_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO C14 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_C14_OUT)
# define GPIO_C14_USED_OUT 1
# define GPIO_C14_USED_INT 0
# define GPIO_C14_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_C14_INT)
# define GPIO_C14_USED_OUT 0
# define GPIO_C14_USED_INT 1
# define GPIO_C14_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_C14_IN)
# define GPIO_C14_USED_OUT 0
# define GPIO_C14_USED_INT 0
# define GPIO_C14_USED_IN 1
#else
# define GPIO_C14_USED_OUT 0
# define GPIO_C14_USED_INT 0
# define GPIO_C14_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_C14_OUT_PP)
# define GPIO_C14_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_C14_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_C14_OUT_CLEAR)
# define GPIO_C14_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_C14_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_C14_PULL_DOWN)
# define GPIO_C14_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_C14_PULL_FLOAT)
# define GPIO_C14_PULL GPIO_FLOAT
#else
# define GPIO_C14_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_C14_SPEED_2MHz)
# define GPIO_C14_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_C14_SPEED_25MHz)
# define GPIO_C14_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_C14_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO C15 Kconfig Mapping */
#if defined(CONFIG_STM32F411MINIMUM_GPIO_C15_OUT)
# define GPIO_C15_USED_OUT 1
# define GPIO_C15_USED_INT 0
# define GPIO_C15_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_C15_INT)
# define GPIO_C15_USED_OUT 0
# define GPIO_C15_USED_INT 1
# define GPIO_C15_USED_IN 0
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_C15_IN)
# define GPIO_C15_USED_OUT 0
# define GPIO_C15_USED_INT 0
# define GPIO_C15_USED_IN 1
#else
# define GPIO_C15_USED_OUT 0
# define GPIO_C15_USED_INT 0
# define GPIO_C15_USED_IN 0
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_C15_OUT_PP)
# define GPIO_C15_OUTTYPE GPIO_PUSHPULL
#else
# define GPIO_C15_OUTTYPE GPIO_OPENDRAIN
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_C15_OUT_CLEAR)
# define GPIO_C15_OUT_DEFAULT GPIO_OUTPUT_CLEAR
#else
# define GPIO_C15_OUT_DEFAULT GPIO_OUTPUT_SET
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_C15_PULL_DOWN)
# define GPIO_C15_PULL GPIO_PULLDOWN
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_C15_PULL_FLOAT)
# define GPIO_C15_PULL GPIO_FLOAT
#else
# define GPIO_C15_PULL GPIO_PULLUP
#endif
#if defined(CONFIG_STM32F411MINIMUM_GPIO_C15_SPEED_2MHz)
# define GPIO_C15_SPEED GPIO_SPEED_2MHz
#elif defined(CONFIG_STM32F411MINIMUM_GPIO_C15_SPEED_25MHz)
# define GPIO_C15_SPEED GPIO_SPEED_25MHz
#else
# define GPIO_C15_SPEED GPIO_SPEED_50MHz
#endif
/* GPIO_A0 definition */
#define GPIO_A0_OUT (GPIO_OUTPUT|GPIO_A0_OUTTYPE|GPIO_A0_OUT_DEFAULT|\
GPIO_A0_PULL|GPIO_A0_SPEED|GPIO_PORTA|GPIO_PIN0)
#define GPIO_A0_IN (GPIO_INPUT|GPIO_A0_PULL|GPIO_A0_SPEED|\
GPIO_PORTA|GPIO_PIN0)
#define GPIO_A0_INT (GPIO_A0_IN|GPIO_EXTI)
/* GPIO_A1 definition */
#define GPIO_A1_OUT (GPIO_OUTPUT|GPIO_A1_OUTTYPE|GPIO_A1_OUT_DEFAULT|\
GPIO_A1_PULL|GPIO_A1_SPEED|GPIO_PORTA|GPIO_PIN1)
#define GPIO_A1_IN (GPIO_INPUT|GPIO_A1_PULL|GPIO_A1_SPEED|\
GPIO_PORTA|GPIO_PIN1)
#define GPIO_A1_INT (GPIO_A1_IN|GPIO_EXTI)
/* GPIO_A2 definition */
#define GPIO_A2_OUT (GPIO_OUTPUT|GPIO_A2_OUTTYPE|GPIO_A2_OUT_DEFAULT|\
GPIO_A2_PULL|GPIO_A2_SPEED|GPIO_PORTA|GPIO_PIN2)
#define GPIO_A2_IN (GPIO_INPUT|GPIO_A2_PULL|GPIO_A2_SPEED|\
GPIO_PORTA|GPIO_PIN2)
#define GPIO_A2_INT (GPIO_A2_IN|GPIO_EXTI)
/* GPIO_A3 definition */
#define GPIO_A3_OUT (GPIO_OUTPUT|GPIO_A3_OUTTYPE|GPIO_A3_OUT_DEFAULT|\
GPIO_A3_PULL|GPIO_A3_SPEED|GPIO_PORTA|GPIO_PIN3)
#define GPIO_A3_IN (GPIO_INPUT|GPIO_A3_PULL|GPIO_A3_SPEED|\
GPIO_PORTA|GPIO_PIN3)
#define GPIO_A3_INT (GPIO_A3_IN|GPIO_EXTI)
/* GPIO_A4 definition */
#define GPIO_A4_OUT (GPIO_OUTPUT|GPIO_A4_OUTTYPE|GPIO_A4_OUT_DEFAULT|\
GPIO_A4_PULL|GPIO_A4_SPEED|GPIO_PORTA|GPIO_PIN4)
#define GPIO_A4_IN (GPIO_INPUT|GPIO_A4_PULL|GPIO_A4_SPEED|\
GPIO_PORTA|GPIO_PIN4)
#define GPIO_A4_INT (GPIO_A4_IN|GPIO_EXTI)
/* GPIO_A5 definition */
#define GPIO_A5_OUT (GPIO_OUTPUT|GPIO_A5_OUTTYPE|GPIO_A5_OUT_DEFAULT|\
GPIO_A5_PULL|GPIO_A5_SPEED|GPIO_PORTA|GPIO_PIN5)
#define GPIO_A5_IN (GPIO_INPUT|GPIO_A5_PULL|GPIO_A5_SPEED|\
GPIO_PORTA|GPIO_PIN5)
#define GPIO_A5_INT (GPIO_A5_IN|GPIO_EXTI)
/* GPIO_A6 definition */
#define GPIO_A6_OUT (GPIO_OUTPUT|GPIO_A6_OUTTYPE|GPIO_A6_OUT_DEFAULT|\
GPIO_A6_PULL|GPIO_A6_SPEED|GPIO_PORTA|GPIO_PIN6)
#define GPIO_A6_IN (GPIO_INPUT|GPIO_A6_PULL|GPIO_A6_SPEED|\
GPIO_PORTA|GPIO_PIN6)
#define GPIO_A6_INT (GPIO_A6_IN|GPIO_EXTI)
/* GPIO_A7 definition */
#define GPIO_A7_OUT (GPIO_OUTPUT|GPIO_A7_OUTTYPE|GPIO_A7_OUT_DEFAULT|\
GPIO_A7_PULL|GPIO_A7_SPEED|GPIO_PORTA|GPIO_PIN7)
#define GPIO_A7_IN (GPIO_INPUT|GPIO_A7_PULL|GPIO_A7_SPEED|\
GPIO_PORTA|GPIO_PIN7)
#define GPIO_A7_INT (GPIO_A7_IN|GPIO_EXTI)
/* GPIO_A8 definition */
#define GPIO_A8_OUT (GPIO_OUTPUT|GPIO_A8_OUTTYPE|GPIO_A8_OUT_DEFAULT|\
GPIO_A8_PULL|GPIO_A8_SPEED|GPIO_PORTA|GPIO_PIN8)
#define GPIO_A8_IN (GPIO_INPUT|GPIO_A8_PULL|GPIO_A8_SPEED|\
GPIO_PORTA|GPIO_PIN8)
#define GPIO_A8_INT (GPIO_A8_IN|GPIO_EXTI)
/* GPIO_A9 definition */
#define GPIO_A9_OUT (GPIO_OUTPUT|GPIO_A9_OUTTYPE|GPIO_A9_OUT_DEFAULT|\
GPIO_A9_PULL|GPIO_A9_SPEED|GPIO_PORTA|GPIO_PIN9)
#define GPIO_A9_IN (GPIO_INPUT|GPIO_A9_PULL|GPIO_A9_SPEED|\
GPIO_PORTA|GPIO_PIN9)
#define GPIO_A9_INT (GPIO_A9_IN|GPIO_EXTI)
/* GPIO_A10 definition */
#define GPIO_A10_OUT (GPIO_OUTPUT|GPIO_A10_OUTTYPE|GPIO_A10_OUT_DEFAULT|\
GPIO_A10_PULL|GPIO_A10_SPEED|GPIO_PORTA|GPIO_PIN10)
#define GPIO_A10_IN (GPIO_INPUT|GPIO_A10_PULL|GPIO_A10_SPEED|\
GPIO_PORTA|GPIO_PIN10)
#define GPIO_A10_INT (GPIO_A10_IN|GPIO_EXTI)
/* GPIO_A11 definition */
#define GPIO_A11_OUT (GPIO_OUTPUT|GPIO_A11_OUTTYPE|GPIO_A11_OUT_DEFAULT|\
GPIO_A11_PULL|GPIO_A11_SPEED|GPIO_PORTA|GPIO_PIN11)
#define GPIO_A11_IN (GPIO_INPUT|GPIO_A11_PULL|GPIO_A11_SPEED|\
GPIO_PORTA|GPIO_PIN11)
#define GPIO_A11_INT (GPIO_A11_IN|GPIO_EXTI)
/* GPIO_A12 definition */
#define GPIO_A12_OUT (GPIO_OUTPUT|GPIO_A12_OUTTYPE|GPIO_A12_OUT_DEFAULT|\
GPIO_A12_PULL|GPIO_A12_SPEED|GPIO_PORTA|GPIO_PIN12)
#define GPIO_A12_IN (GPIO_INPUT|GPIO_A12_PULL|GPIO_A12_SPEED|\
GPIO_PORTA|GPIO_PIN12)
#define GPIO_A12_INT (GPIO_A12_IN|GPIO_EXTI)
/* GPIO_A15 definition */
#define GPIO_A15_OUT (GPIO_OUTPUT|GPIO_A15_OUTTYPE|GPIO_A15_OUT_DEFAULT|\
GPIO_A15_PULL|GPIO_A15_SPEED|GPIO_PORTA|GPIO_PIN15)
#define GPIO_A15_IN (GPIO_INPUT|GPIO_A15_PULL|GPIO_A15_SPEED|\
GPIO_PORTA|GPIO_PIN15)
#define GPIO_A15_INT (GPIO_A15_IN|GPIO_EXTI)
/* GPIO_B0 definition */
#define GPIO_B0_OUT (GPIO_OUTPUT|GPIO_B0_OUTTYPE|GPIO_B0_OUT_DEFAULT|\
GPIO_B0_PULL|GPIO_B0_SPEED|GPIO_PORTB|GPIO_PIN0)
#define GPIO_B0_IN (GPIO_INPUT|GPIO_B0_PULL|GPIO_B0_SPEED|\
GPIO_PORTB|GPIO_PIN0)
#define GPIO_B0_INT (GPIO_B0_IN|GPIO_EXTI)
/* GPIO_B1 definition */
#define GPIO_B1_OUT (GPIO_OUTPUT|GPIO_B1_OUTTYPE|GPIO_B1_OUT_DEFAULT|\
GPIO_B1_PULL|GPIO_B1_SPEED|GPIO_PORTB|GPIO_PIN1)
#define GPIO_B1_IN (GPIO_INPUT|GPIO_B1_PULL|GPIO_B1_SPEED|\
GPIO_PORTB|GPIO_PIN1)
#define GPIO_B1_INT (GPIO_B1_IN|GPIO_EXTI)
/* GPIO_B2 definition */
#define GPIO_B2_OUT (GPIO_OUTPUT|GPIO_B2_OUTTYPE|GPIO_B2_OUT_DEFAULT|\
GPIO_B2_PULL|GPIO_B2_SPEED|GPIO_PORTB|GPIO_PIN2)
#define GPIO_B2_IN (GPIO_INPUT|GPIO_B2_PULL|GPIO_B2_SPEED|\
GPIO_PORTB|GPIO_PIN2)
#define GPIO_B2_INT (GPIO_B2_IN|GPIO_EXTI)
/* GPIO_B3 definition */
#define GPIO_B3_OUT (GPIO_OUTPUT|GPIO_B3_OUTTYPE|GPIO_B3_OUT_DEFAULT|\
GPIO_B3_PULL|GPIO_B3_SPEED|GPIO_PORTB|GPIO_PIN3)
#define GPIO_B3_IN (GPIO_INPUT|GPIO_B3_PULL|GPIO_B3_SPEED|\
GPIO_PORTB|GPIO_PIN3)
#define GPIO_B3_INT (GPIO_B3_IN|GPIO_EXTI)
/* GPIO_B4 definition */
#define GPIO_B4_OUT (GPIO_OUTPUT|GPIO_B4_OUTTYPE|GPIO_B4_OUT_DEFAULT|\
GPIO_B4_PULL|GPIO_B4_SPEED|GPIO_PORTB|GPIO_PIN4)
#define GPIO_B4_IN (GPIO_INPUT|GPIO_B4_PULL|GPIO_B4_SPEED|\
GPIO_PORTB|GPIO_PIN4)
#define GPIO_B4_INT (GPIO_B4_IN|GPIO_EXTI)
/* GPIO_B5 definition */
#define GPIO_B5_OUT (GPIO_OUTPUT|GPIO_B5_OUTTYPE|GPIO_B5_OUT_DEFAULT|\
GPIO_B5_PULL|GPIO_B5_SPEED|GPIO_PORTB|GPIO_PIN5)
#define GPIO_B5_IN (GPIO_INPUT|GPIO_B5_PULL|GPIO_B5_SPEED|\
GPIO_PORTB|GPIO_PIN5)
#define GPIO_B5_INT (GPIO_B5_IN|GPIO_EXTI)
/* GPIO_B6 definition */
#define GPIO_B6_OUT (GPIO_OUTPUT|GPIO_B6_OUTTYPE|GPIO_B6_OUT_DEFAULT|\
GPIO_B6_PULL|GPIO_B6_SPEED|GPIO_PORTB|GPIO_PIN6)
#define GPIO_B6_IN (GPIO_INPUT|GPIO_B6_PULL|GPIO_B6_SPEED|\
GPIO_PORTB|GPIO_PIN6)
#define GPIO_B6_INT (GPIO_B6_IN|GPIO_EXTI)
/* GPIO_B7 definition */
#define GPIO_B7_OUT (GPIO_OUTPUT|GPIO_B7_OUTTYPE|GPIO_B7_OUT_DEFAULT|\
GPIO_B7_PULL|GPIO_B7_SPEED|GPIO_PORTB|GPIO_PIN7)
#define GPIO_B7_IN (GPIO_INPUT|GPIO_B7_PULL|GPIO_B7_SPEED|\
GPIO_PORTB|GPIO_PIN7)
#define GPIO_B7_INT (GPIO_B7_IN|GPIO_EXTI)
/* GPIO_B8 definition */
#define GPIO_B8_OUT (GPIO_OUTPUT|GPIO_B8_OUTTYPE|GPIO_B8_OUT_DEFAULT|\
GPIO_B8_PULL|GPIO_B8_SPEED|GPIO_PORTB|GPIO_PIN8)
#define GPIO_B8_IN (GPIO_INPUT|GPIO_B8_PULL|GPIO_B8_SPEED|\
GPIO_PORTB|GPIO_PIN8)
#define GPIO_B8_INT (GPIO_B8_IN|GPIO_EXTI)
/* GPIO_B9 definition */
#define GPIO_B9_OUT (GPIO_OUTPUT|GPIO_B9_OUTTYPE|GPIO_B9_OUT_DEFAULT|\
GPIO_B9_PULL|GPIO_B9_SPEED|GPIO_PORTB|GPIO_PIN9)
#define GPIO_B9_IN (GPIO_INPUT|GPIO_B9_PULL|GPIO_B9_SPEED|\
GPIO_PORTB|GPIO_PIN9)
#define GPIO_B9_INT (GPIO_B9_IN|GPIO_EXTI)
/* GPIO_B10 definition */
#define GPIO_B10_OUT (GPIO_OUTPUT|GPIO_B10_OUTTYPE|GPIO_B10_OUT_DEFAULT|\
GPIO_B10_PULL|GPIO_B10_SPEED|GPIO_PORTB|GPIO_PIN10)
#define GPIO_B10_IN (GPIO_INPUT|GPIO_B10_PULL|GPIO_B10_SPEED|\
GPIO_PORTB|GPIO_PIN10)
#define GPIO_B10_INT (GPIO_B10_IN|GPIO_EXTI)
/* GPIO_B12 definition */
#define GPIO_B12_OUT (GPIO_OUTPUT|GPIO_B12_OUTTYPE|GPIO_B12_OUT_DEFAULT|\
GPIO_B12_PULL|GPIO_B12_SPEED|GPIO_PORTB|GPIO_PIN12)
#define GPIO_B12_IN (GPIO_INPUT|GPIO_B12_PULL|GPIO_B12_SPEED|\
GPIO_PORTB|GPIO_PIN12)
#define GPIO_B12_INT (GPIO_B12_IN|GPIO_EXTI)
/* GPIO_B13 definition */
#define GPIO_B13_OUT (GPIO_OUTPUT|GPIO_B13_OUTTYPE|GPIO_B13_OUT_DEFAULT|\
GPIO_B13_PULL|GPIO_B13_SPEED|GPIO_PORTB|GPIO_PIN13)
#define GPIO_B13_IN (GPIO_INPUT|GPIO_B13_PULL|GPIO_B13_SPEED|\
GPIO_PORTB|GPIO_PIN13)
#define GPIO_B13_INT (GPIO_B13_IN|GPIO_EXTI)
/* GPIO_B14 definition */
#define GPIO_B14_OUT (GPIO_OUTPUT|GPIO_B14_OUTTYPE|GPIO_B14_OUT_DEFAULT|\
GPIO_B14_PULL|GPIO_B14_SPEED|GPIO_PORTB|GPIO_PIN14)
#define GPIO_B14_IN (GPIO_INPUT|GPIO_B14_PULL|GPIO_B14_SPEED|\
GPIO_PORTB|GPIO_PIN14)
#define GPIO_B14_INT (GPIO_B14_IN|GPIO_EXTI)
/* GPIO_B15 definition */
#define GPIO_B15_OUT (GPIO_OUTPUT|GPIO_B15_OUTTYPE|GPIO_B15_OUT_DEFAULT|\
GPIO_B15_PULL|GPIO_B15_SPEED|GPIO_PORTB|GPIO_PIN15)
#define GPIO_B15_IN (GPIO_INPUT|GPIO_B15_PULL|GPIO_B15_SPEED|\
GPIO_PORTB|GPIO_PIN15)
#define GPIO_B15_INT (GPIO_B15_IN|GPIO_EXTI)
/* GPIO_C13 definition */
#define GPIO_C13_OUT (GPIO_OUTPUT|GPIO_C13_OUTTYPE|GPIO_C13_OUT_DEFAULT|\
GPIO_C13_PULL|GPIO_C13_SPEED|GPIO_PORTC|GPIO_PIN13)
#define GPIO_C13_IN (GPIO_INPUT|GPIO_C13_PULL|GPIO_C13_SPEED|\
GPIO_PORTC|GPIO_PIN13)
#define GPIO_C13_INT (GPIO_C13_IN|GPIO_EXTI)
/* GPIO_C14 definition */
#define GPIO_C14_OUT (GPIO_OUTPUT|GPIO_C14_OUTTYPE|GPIO_C14_OUT_DEFAULT|\
GPIO_C14_PULL|GPIO_C14_SPEED|GPIO_PORTC|GPIO_PIN14)
#define GPIO_C14_IN (GPIO_INPUT|GPIO_C14_PULL|GPIO_C14_SPEED|\
GPIO_PORTC|GPIO_PIN14)
#define GPIO_C14_INT (GPIO_C14_IN|GPIO_EXTI)
/* GPIO_C15 definition */
#define GPIO_C15_OUT (GPIO_OUTPUT|GPIO_C15_OUTTYPE|GPIO_C15_OUT_DEFAULT|\
GPIO_C15_PULL|GPIO_C15_SPEED|GPIO_PORTC|GPIO_PIN15)
#define GPIO_C15_IN (GPIO_INPUT|GPIO_C15_PULL|GPIO_C15_SPEED|\
GPIO_PORTC|GPIO_PIN15)
#define GPIO_C15_INT (GPIO_C15_IN|GPIO_EXTI)
#define BOARD_NGPIO_OUT \
GPIO_A0_USED_OUT + \
GPIO_A1_USED_OUT + \
GPIO_A2_USED_OUT + \
GPIO_A3_USED_OUT + \
GPIO_A4_USED_OUT + \
GPIO_A5_USED_OUT + \
GPIO_A6_USED_OUT + \
GPIO_A7_USED_OUT + \
GPIO_A8_USED_OUT + \
GPIO_A9_USED_OUT + \
GPIO_A10_USED_OUT + \
GPIO_A11_USED_OUT + \
GPIO_A12_USED_OUT + \
GPIO_A15_USED_OUT + \
GPIO_B0_USED_OUT + \
GPIO_B1_USED_OUT + \
GPIO_B2_USED_OUT + \
GPIO_B3_USED_OUT + \
GPIO_B4_USED_OUT + \
GPIO_B5_USED_OUT + \
GPIO_B6_USED_OUT + \
GPIO_B7_USED_OUT + \
GPIO_B8_USED_OUT + \
GPIO_B9_USED_OUT + \
GPIO_B10_USED_OUT + \
GPIO_B12_USED_OUT + \
GPIO_B13_USED_OUT + \
GPIO_B14_USED_OUT + \
GPIO_B15_USED_OUT + \
GPIO_C13_USED_OUT + \
GPIO_C14_USED_OUT + \
GPIO_C15_USED_OUT
#define BOARD_NGPIO_IN \
GPIO_A0_USED_IN + \
GPIO_A1_USED_IN + \
GPIO_A2_USED_IN + \
GPIO_A3_USED_IN + \
GPIO_A4_USED_IN + \
GPIO_A5_USED_IN + \
GPIO_A6_USED_IN + \
GPIO_A7_USED_IN + \
GPIO_A8_USED_IN + \
GPIO_A9_USED_IN + \
GPIO_A10_USED_IN + \
GPIO_A11_USED_IN + \
GPIO_A12_USED_IN + \
GPIO_A15_USED_IN + \
GPIO_B0_USED_IN + \
GPIO_B1_USED_IN + \
GPIO_B2_USED_IN + \
GPIO_B3_USED_IN + \
GPIO_B4_USED_IN + \
GPIO_B5_USED_IN + \
GPIO_B6_USED_IN + \
GPIO_B7_USED_IN + \
GPIO_B8_USED_IN + \
GPIO_B9_USED_IN + \
GPIO_B10_USED_IN + \
GPIO_B12_USED_IN + \
GPIO_B13_USED_IN + \
GPIO_B14_USED_IN + \
GPIO_B15_USED_IN + \
GPIO_C13_USED_IN + \
GPIO_C14_USED_IN + \
GPIO_C15_USED_IN
#define BOARD_NGPIO_INT \
GPIO_A0_USED_INT + \
GPIO_A1_USED_INT + \
GPIO_A2_USED_INT + \
GPIO_A3_USED_INT + \
GPIO_A4_USED_INT + \
GPIO_A5_USED_INT + \
GPIO_A6_USED_INT + \
GPIO_A7_USED_INT + \
GPIO_A8_USED_INT + \
GPIO_A9_USED_INT + \
GPIO_A10_USED_INT + \
GPIO_A11_USED_INT + \
GPIO_A12_USED_INT + \
GPIO_A15_USED_INT + \
GPIO_B0_USED_INT + \
GPIO_B1_USED_INT + \
GPIO_B2_USED_INT + \
GPIO_B3_USED_INT + \
GPIO_B4_USED_INT + \
GPIO_B5_USED_INT + \
GPIO_B6_USED_INT + \
GPIO_B7_USED_INT + \
GPIO_B8_USED_INT + \
GPIO_B9_USED_INT + \
GPIO_B10_USED_INT + \
GPIO_B12_USED_INT + \
GPIO_B13_USED_INT + \
GPIO_B14_USED_INT + \
GPIO_B15_USED_INT + \
GPIO_C13_USED_INT + \
GPIO_C14_USED_INT + \
GPIO_C15_USED_INT
#if BOARD_NGPIO_INT > CONFIG_DEV_GPIO_NSIGNALS
# error You have enabled more interrupts than supported, adjust CONFIG_DEV_GPIO_NSIGNALS to support them all
#endif
#endif /* __BOARDS_ARM_STM32_STM32F411_MINIMUM_SRC_STM32F411_MINIMUM_GPIO_H */