new file mode 100644
@@ -0,0 +1,12 @@
+#ifndef _DT_BINDINGS_PINCTRL_STM32_H
+#define _DT_BINDINGS_PINCTRL_STM32_H
+
+#define STM32_PIN_NO(x) ((x) << 8)
+#define STM32_GET_PIN_NO(x) ((x) >> 8)
+#define STM32_GET_PIN_FUNC(x) ((x) & 0xff)
+
+#define STM32_PIN_GPIO 0
+#define STM32_PIN_AF(x) ((x) + 1)
+#define STM32_PIN_ANALOG (STM32_PIN_AF(15) + 1)
+
+#endif /* _DT_BINDINGS_PINCTRL_STM32_H */
new file mode 100644
@@ -0,0 +1,1241 @@
+#ifndef _DT_BINDINGS_STM32F429_PINFUNC_H
+#define _DT_BINDINGS_STM32F429_PINFUNC_H
+
+#include <dt-bindings/pinctrl/pinctrl-stm32.h>
+
+#define STM32F429_PA0_FUNC_GPIO (STM32_PIN_NO(0) | STM32_PIN_GPIO)
+#define STM32F429_PA0_FUNC_TIM2_CH1 TIM2_ETR (STM32_PIN_NO(0) | STM32_PIN_AF(1))
+#define STM32F429_PA0_FUNC_TIM5_CH1 (STM32_PIN_NO(0) | STM32_PIN_AF(2))
+#define STM32F429_PA0_FUNC_TIM8_ETR (STM32_PIN_NO(0) | STM32_PIN_AF(3))
+#define STM32F429_PA0_FUNC_USART2_CTS (STM32_PIN_NO(0) | STM32_PIN_AF(7))
+#define STM32F429_PA0_FUNC_UART4_TX (STM32_PIN_NO(0) | STM32_PIN_AF(8))
+#define STM32F429_PA0_FUNC_ETH_MII_CRS (STM32_PIN_NO(0) | STM32_PIN_AF(11))
+#define STM32F429_PA0_FUNC_EVENTOUT (STM32_PIN_NO(0) | STM32_PIN_AF(15))
+#define STM32F429_PA0_FUNC_ANALOG (STM32_PIN_NO(0) | STM32_PIN_ANALOG)
+
+#define STM32F429_PA1_FUNC_GPIO (STM32_PIN_NO(1) | STM32_PIN_GPIO)
+#define STM32F429_PA1_FUNC_TIM2_CH2 (STM32_PIN_NO(1) | STM32_PIN_AF(1))
+#define STM32F429_PA1_FUNC_TIM5_CH2 (STM32_PIN_NO(1) | STM32_PIN_AF(2))
+#define STM32F429_PA1_FUNC_USART2_RTS (STM32_PIN_NO(1) | STM32_PIN_AF(7))
+#define STM32F429_PA1_FUNC_UART4_RX (STM32_PIN_NO(1) | STM32_PIN_AF(8))
+#define STM32F429_PA1_FUNC_ETH_MII_RX_CLK ETH_RMII_REF_CLK (STM32_PIN_NO(1) | STM32_PIN_AF(11))
+#define STM32F429_PA1_FUNC_EVENTOUT (STM32_PIN_NO(1) | STM32_PIN_AF(15))
+#define STM32F429_PA1_FUNC_ANALOG (STM32_PIN_NO(1) | STM32_PIN_ANALOG)
+
+#define STM32F429_PA2_FUNC_GPIO (STM32_PIN_NO(2) | STM32_PIN_GPIO)
+#define STM32F429_PA2_FUNC_TIM2_CH3 (STM32_PIN_NO(2) | STM32_PIN_AF(1))
+#define STM32F429_PA2_FUNC_TIM5_CH3 (STM32_PIN_NO(2) | STM32_PIN_AF(2))
+#define STM32F429_PA2_FUNC_TIM9_CH1 (STM32_PIN_NO(2) | STM32_PIN_AF(3))
+#define STM32F429_PA2_FUNC_USART2_TX (STM32_PIN_NO(2) | STM32_PIN_AF(7))
+#define STM32F429_PA2_FUNC_ETH_MDIO (STM32_PIN_NO(2) | STM32_PIN_AF(11))
+#define STM32F429_PA2_FUNC_EVENTOUT (STM32_PIN_NO(2) | STM32_PIN_AF(15))
+#define STM32F429_PA2_FUNC_ANALOG (STM32_PIN_NO(2) | STM32_PIN_ANALOG)
+
+#define STM32F429_PA3_FUNC_GPIO (STM32_PIN_NO(3) | STM32_PIN_GPIO)
+#define STM32F429_PA3_FUNC_TIM2_CH4 (STM32_PIN_NO(3) | STM32_PIN_AF(1))
+#define STM32F429_PA3_FUNC_TIM5_CH4 (STM32_PIN_NO(3) | STM32_PIN_AF(2))
+#define STM32F429_PA3_FUNC_TIM9_CH2 (STM32_PIN_NO(3) | STM32_PIN_AF(3))
+#define STM32F429_PA3_FUNC_USART2_RX (STM32_PIN_NO(3) | STM32_PIN_AF(7))
+#define STM32F429_PA3_FUNC_OTG_HS_ULPI_D0 (STM32_PIN_NO(3) | STM32_PIN_AF(10))
+#define STM32F429_PA3_FUNC_ETH_MII_COL (STM32_PIN_NO(3) | STM32_PIN_AF(11))
+#define STM32F429_PA3_FUNC_LCD_B5 (STM32_PIN_NO(3) | STM32_PIN_AF(14))
+#define STM32F429_PA3_FUNC_EVENTOUT (STM32_PIN_NO(3) | STM32_PIN_AF(15))
+#define STM32F429_PA3_FUNC_ANALOG (STM32_PIN_NO(3) | STM32_PIN_ANALOG)
+
+#define STM32F429_PA4_FUNC_GPIO (STM32_PIN_NO(4) | STM32_PIN_GPIO)
+#define STM32F429_PA4_FUNC_SPI1_NSS (STM32_PIN_NO(4) | STM32_PIN_AF(5))
+#define STM32F429_PA4_FUNC_SPI3_NSS I2S3_WS (STM32_PIN_NO(4) | STM32_PIN_AF(6))
+#define STM32F429_PA4_FUNC_USART2_CK (STM32_PIN_NO(4) | STM32_PIN_AF(7))
+#define STM32F429_PA4_FUNC_OTG_HS_SOF (STM32_PIN_NO(4) | STM32_PIN_AF(12))
+#define STM32F429_PA4_FUNC_DCMI_HSYNC (STM32_PIN_NO(4) | STM32_PIN_AF(13))
+#define STM32F429_PA4_FUNC_LCD_VSYNC (STM32_PIN_NO(4) | STM32_PIN_AF(14))
+#define STM32F429_PA4_FUNC_EVENTOUT (STM32_PIN_NO(4) | STM32_PIN_AF(15))
+#define STM32F429_PA4_FUNC_ANALOG (STM32_PIN_NO(4) | STM32_PIN_ANALOG)
+
+#define STM32F429_PA5_FUNC_GPIO (STM32_PIN_NO(5) | STM32_PIN_GPIO)
+#define STM32F429_PA5_FUNC_TIM2_CH1 TIM2_ETR (STM32_PIN_NO(5) | STM32_PIN_AF(1))
+#define STM32F429_PA5_FUNC_TIM8_CH1N (STM32_PIN_NO(5) | STM32_PIN_AF(3))
+#define STM32F429_PA5_FUNC_SPI1_SCK (STM32_PIN_NO(5) | STM32_PIN_AF(5))
+#define STM32F429_PA5_FUNC_OTG_HS_ULPI_CK (STM32_PIN_NO(5) | STM32_PIN_AF(10))
+#define STM32F429_PA5_FUNC_EVENTOUT (STM32_PIN_NO(5) | STM32_PIN_AF(15))
+#define STM32F429_PA5_FUNC_ANALOG (STM32_PIN_NO(5) | STM32_PIN_ANALOG)
+
+#define STM32F429_PA6_FUNC_GPIO (STM32_PIN_NO(6) | STM32_PIN_GPIO)
+#define STM32F429_PA6_FUNC_TIM1_BKIN (STM32_PIN_NO(6) | STM32_PIN_AF(1))
+#define STM32F429_PA6_FUNC_TIM3_CH1 (STM32_PIN_NO(6) | STM32_PIN_AF(2))
+#define STM32F429_PA6_FUNC_TIM8_BKIN (STM32_PIN_NO(6) | STM32_PIN_AF(3))
+#define STM32F429_PA6_FUNC_SPI1_MISO (STM32_PIN_NO(6) | STM32_PIN_AF(5))
+#define STM32F429_PA6_FUNC_TIM13_CH1 (STM32_PIN_NO(6) | STM32_PIN_AF(9))
+#define STM32F429_PA6_FUNC_DCMI_PIXCLK (STM32_PIN_NO(6) | STM32_PIN_AF(13))
+#define STM32F429_PA6_FUNC_LCD_G2 (STM32_PIN_NO(6) | STM32_PIN_AF(14))
+#define STM32F429_PA6_FUNC_EVENTOUT (STM32_PIN_NO(6) | STM32_PIN_AF(15))
+#define STM32F429_PA6_FUNC_ANALOG (STM32_PIN_NO(6) | STM32_PIN_ANALOG)
+
+#define STM32F429_PA7_FUNC_GPIO (STM32_PIN_NO(7) | STM32_PIN_GPIO)
+#define STM32F429_PA7_FUNC_TIM1_CH1N (STM32_PIN_NO(7) | STM32_PIN_AF(1))
+#define STM32F429_PA7_FUNC_TIM3_CH2 (STM32_PIN_NO(7) | STM32_PIN_AF(2))
+#define STM32F429_PA7_FUNC_TIM8_CH1N (STM32_PIN_NO(7) | STM32_PIN_AF(3))
+#define STM32F429_PA7_FUNC_SPI1_MOSI (STM32_PIN_NO(7) | STM32_PIN_AF(5))
+#define STM32F429_PA7_FUNC_TIM14_CH1 (STM32_PIN_NO(7) | STM32_PIN_AF(9))
+#define STM32F429_PA7_FUNC_ETH_MII_RX_DV ETH_RMII_CRS_DV (STM32_PIN_NO(7) | STM32_PIN_AF(11))
+#define STM32F429_PA7_FUNC_EVENTOUT (STM32_PIN_NO(7) | STM32_PIN_AF(15))
+#define STM32F429_PA7_FUNC_ANALOG (STM32_PIN_NO(7) | STM32_PIN_ANALOG)
+
+#define STM32F429_PA8_FUNC_GPIO (STM32_PIN_NO(8) | STM32_PIN_GPIO)
+#define STM32F429_PA8_FUNC_MCO1 (STM32_PIN_NO(8) | STM32_PIN_AF(0))
+#define STM32F429_PA8_FUNC_TIM1_CH1 (STM32_PIN_NO(8) | STM32_PIN_AF(1))
+#define STM32F429_PA8_FUNC_I2C3_SCL (STM32_PIN_NO(8) | STM32_PIN_AF(4))
+#define STM32F429_PA8_FUNC_USART1_CK (STM32_PIN_NO(8) | STM32_PIN_AF(7))
+#define STM32F429_PA8_FUNC_OTG_FS_SOF (STM32_PIN_NO(8) | STM32_PIN_AF(10))
+#define STM32F429_PA8_FUNC_LCD_R6 (STM32_PIN_NO(8) | STM32_PIN_AF(14))
+#define STM32F429_PA8_FUNC_EVENTOUT (STM32_PIN_NO(8) | STM32_PIN_AF(15))
+#define STM32F429_PA8_FUNC_ANALOG (STM32_PIN_NO(8) | STM32_PIN_ANALOG)
+
+#define STM32F429_PA9_FUNC_GPIO (STM32_PIN_NO(9) | STM32_PIN_GPIO)
+#define STM32F429_PA9_FUNC_TIM1_CH2 (STM32_PIN_NO(9) | STM32_PIN_AF(1))
+#define STM32F429_PA9_FUNC_I2C3_SMBA (STM32_PIN_NO(9) | STM32_PIN_AF(4))
+#define STM32F429_PA9_FUNC_USART1_TX (STM32_PIN_NO(9) | STM32_PIN_AF(7))
+#define STM32F429_PA9_FUNC_DCMI_D0 (STM32_PIN_NO(9) | STM32_PIN_AF(13))
+#define STM32F429_PA9_FUNC_EVENTOUT (STM32_PIN_NO(9) | STM32_PIN_AF(15))
+#define STM32F429_PA9_FUNC_ANALOG (STM32_PIN_NO(9) | STM32_PIN_ANALOG)
+
+#define STM32F429_PA10_FUNC_GPIO (STM32_PIN_NO(10) | STM32_PIN_GPIO)
+#define STM32F429_PA10_FUNC_TIM1_CH3 (STM32_PIN_NO(10) | STM32_PIN_AF(1))
+#define STM32F429_PA10_FUNC_USART1_RX (STM32_PIN_NO(10) | STM32_PIN_AF(7))
+#define STM32F429_PA10_FUNC_OTG_FS_ID (STM32_PIN_NO(10) | STM32_PIN_AF(10))
+#define STM32F429_PA10_FUNC_DCMI_D1 (STM32_PIN_NO(10) | STM32_PIN_AF(13))
+#define STM32F429_PA10_FUNC_EVENTOUT (STM32_PIN_NO(10) | STM32_PIN_AF(15))
+#define STM32F429_PA10_FUNC_ANALOG (STM32_PIN_NO(10) | STM32_PIN_ANALOG)
+
+#define STM32F429_PA11_FUNC_GPIO (STM32_PIN_NO(11) | STM32_PIN_GPIO)
+#define STM32F429_PA11_FUNC_TIM1_CH4 (STM32_PIN_NO(11) | STM32_PIN_AF(1))
+#define STM32F429_PA11_FUNC_USART1_CTS (STM32_PIN_NO(11) | STM32_PIN_AF(7))
+#define STM32F429_PA11_FUNC_CAN1_RX (STM32_PIN_NO(11) | STM32_PIN_AF(9))
+#define STM32F429_PA11_FUNC_OTG_FS_DM (STM32_PIN_NO(11) | STM32_PIN_AF(10))
+#define STM32F429_PA11_FUNC_LCD_R4 (STM32_PIN_NO(11) | STM32_PIN_AF(14))
+#define STM32F429_PA11_FUNC_EVENTOUT (STM32_PIN_NO(11) | STM32_PIN_AF(15))
+#define STM32F429_PA11_FUNC_ANALOG (STM32_PIN_NO(11) | STM32_PIN_ANALOG)
+
+#define STM32F429_PA12_FUNC_GPIO (STM32_PIN_NO(12) | STM32_PIN_GPIO)
+#define STM32F429_PA12_FUNC_TIM1_ETR (STM32_PIN_NO(12) | STM32_PIN_AF(1))
+#define STM32F429_PA12_FUNC_USART1_RTS (STM32_PIN_NO(12) | STM32_PIN_AF(7))
+#define STM32F429_PA12_FUNC_CAN1_TX (STM32_PIN_NO(12) | STM32_PIN_AF(9))
+#define STM32F429_PA12_FUNC_OTG_FS_DP (STM32_PIN_NO(12) | STM32_PIN_AF(10))
+#define STM32F429_PA12_FUNC_LCD_R5 (STM32_PIN_NO(12) | STM32_PIN_AF(14))
+#define STM32F429_PA12_FUNC_EVENTOUT (STM32_PIN_NO(12) | STM32_PIN_AF(15))
+#define STM32F429_PA12_FUNC_ANALOG (STM32_PIN_NO(12) | STM32_PIN_ANALOG)
+
+#define STM32F429_PA13_FUNC_GPIO (STM32_PIN_NO(13) | STM32_PIN_GPIO)
+#define STM32F429_PA13_FUNC_JTMS SWDIO (STM32_PIN_NO(13) | STM32_PIN_AF(0))
+#define STM32F429_PA13_FUNC_EVENTOUT (STM32_PIN_NO(13) | STM32_PIN_AF(15))
+#define STM32F429_PA13_FUNC_ANALOG (STM32_PIN_NO(13) | STM32_PIN_ANALOG)
+
+#define STM32F429_PA14_FUNC_GPIO (STM32_PIN_NO(14) | STM32_PIN_GPIO)
+#define STM32F429_PA14_FUNC_JTCK SWCLK (STM32_PIN_NO(14) | STM32_PIN_AF(0))
+#define STM32F429_PA14_FUNC_EVENTOUT (STM32_PIN_NO(14) | STM32_PIN_AF(15))
+#define STM32F429_PA14_FUNC_ANALOG (STM32_PIN_NO(14) | STM32_PIN_ANALOG)
+
+#define STM32F429_PA15_FUNC_GPIO (STM32_PIN_NO(15) | STM32_PIN_GPIO)
+#define STM32F429_PA15_FUNC_JTDI (STM32_PIN_NO(15) | STM32_PIN_AF(0))
+#define STM32F429_PA15_FUNC_TIM2_CH1 TIM2_ETR (STM32_PIN_NO(15) | STM32_PIN_AF(1))
+#define STM32F429_PA15_FUNC_SPI1_NSS (STM32_PIN_NO(15) | STM32_PIN_AF(5))
+#define STM32F429_PA15_FUNC_SPI3_NSS I2S3_WS (STM32_PIN_NO(15) | STM32_PIN_AF(6))
+#define STM32F429_PA15_FUNC_EVENTOUT (STM32_PIN_NO(15) | STM32_PIN_AF(15))
+#define STM32F429_PA15_FUNC_ANALOG (STM32_PIN_NO(15) | STM32_PIN_ANALOG)
+
+
+
+#define STM32F429_PB0_FUNC_GPIO (STM32_PIN_NO(16) | STM32_PIN_GPIO)
+#define STM32F429_PB0_FUNC_TIM1_CH2N (STM32_PIN_NO(16) | STM32_PIN_AF(1))
+#define STM32F429_PB0_FUNC_TIM3_CH3 (STM32_PIN_NO(16) | STM32_PIN_AF(2))
+#define STM32F429_PB0_FUNC_TIM8_CH2N (STM32_PIN_NO(16) | STM32_PIN_AF(3))
+#define STM32F429_PB0_FUNC_LCD_R3 (STM32_PIN_NO(16) | STM32_PIN_AF(9))
+#define STM32F429_PB0_FUNC_OTG_HS_ULPI_D1 (STM32_PIN_NO(16) | STM32_PIN_AF(10))
+#define STM32F429_PB0_FUNC_ETH_MII_RXD2 (STM32_PIN_NO(16) | STM32_PIN_AF(11))
+#define STM32F429_PB0_FUNC_EVENTOUT (STM32_PIN_NO(16) | STM32_PIN_AF(15))
+#define STM32F429_PB0_FUNC_ANALOG (STM32_PIN_NO(16) | STM32_PIN_ANALOG)
+
+#define STM32F429_PB1_FUNC_GPIO (STM32_PIN_NO(17) | STM32_PIN_GPIO)
+#define STM32F429_PB1_FUNC_TIM1_CH3N (STM32_PIN_NO(17) | STM32_PIN_AF(1))
+#define STM32F429_PB1_FUNC_TIM3_CH4 (STM32_PIN_NO(17) | STM32_PIN_AF(2))
+#define STM32F429_PB1_FUNC_TIM8_CH3N (STM32_PIN_NO(17) | STM32_PIN_AF(3))
+#define STM32F429_PB1_FUNC_LCD_R6 (STM32_PIN_NO(17) | STM32_PIN_AF(9))
+#define STM32F429_PB1_FUNC_OTG_HS_ULPI_D2 (STM32_PIN_NO(17) | STM32_PIN_AF(10))
+#define STM32F429_PB1_FUNC_ETH_MII_RXD3 (STM32_PIN_NO(17) | STM32_PIN_AF(11))
+#define STM32F429_PB1_FUNC_EVENTOUT (STM32_PIN_NO(17) | STM32_PIN_AF(15))
+#define STM32F429_PB1_FUNC_ANALOG (STM32_PIN_NO(17) | STM32_PIN_ANALOG)
+
+#define STM32F429_PB2_FUNC_GPIO (STM32_PIN_NO(18) | STM32_PIN_GPIO)
+#define STM32F429_PB2_FUNC_EVENTOUT (STM32_PIN_NO(18) | STM32_PIN_AF(15))
+#define STM32F429_PB2_FUNC_ANALOG (STM32_PIN_NO(18) | STM32_PIN_ANALOG)
+
+#define STM32F429_PB3_FUNC_GPIO (STM32_PIN_NO(19) | STM32_PIN_GPIO)
+#define STM32F429_PB3_FUNC_JTDO TRACESWO (STM32_PIN_NO(19) | STM32_PIN_AF(0))
+#define STM32F429_PB3_FUNC_TIM2_CH2 (STM32_PIN_NO(19) | STM32_PIN_AF(1))
+#define STM32F429_PB3_FUNC_SPI1_SCK (STM32_PIN_NO(19) | STM32_PIN_AF(5))
+#define STM32F429_PB3_FUNC_SPI3_SCK I2S3_CK (STM32_PIN_NO(19) | STM32_PIN_AF(6))
+#define STM32F429_PB3_FUNC_EVENTOUT (STM32_PIN_NO(19) | STM32_PIN_AF(15))
+#define STM32F429_PB3_FUNC_ANALOG (STM32_PIN_NO(19) | STM32_PIN_ANALOG)
+
+#define STM32F429_PB4_FUNC_GPIO (STM32_PIN_NO(20) | STM32_PIN_GPIO)
+#define STM32F429_PB4_FUNC_NJTRST (STM32_PIN_NO(20) | STM32_PIN_AF(0))
+#define STM32F429_PB4_FUNC_TIM3_CH1 (STM32_PIN_NO(20) | STM32_PIN_AF(2))
+#define STM32F429_PB4_FUNC_SPI1_MISO (STM32_PIN_NO(20) | STM32_PIN_AF(5))
+#define STM32F429_PB4_FUNC_SPI3_MISO (STM32_PIN_NO(20) | STM32_PIN_AF(6))
+#define STM32F429_PB4_FUNC_I2S3EXT_SD (STM32_PIN_NO(20) | STM32_PIN_AF(7))
+#define STM32F429_PB4_FUNC_EVENTOUT (STM32_PIN_NO(20) | STM32_PIN_AF(15))
+#define STM32F429_PB4_FUNC_ANALOG (STM32_PIN_NO(20) | STM32_PIN_ANALOG)
+
+#define STM32F429_PB5_FUNC_GPIO (STM32_PIN_NO(21) | STM32_PIN_GPIO)
+#define STM32F429_PB5_FUNC_TIM3_CH2 (STM32_PIN_NO(21) | STM32_PIN_AF(2))
+#define STM32F429_PB5_FUNC_I2C1_SMBA (STM32_PIN_NO(21) | STM32_PIN_AF(4))
+#define STM32F429_PB5_FUNC_SPI1_MOSI (STM32_PIN_NO(21) | STM32_PIN_AF(5))
+#define STM32F429_PB5_FUNC_SPI3_MOSI I2S3_SD (STM32_PIN_NO(21) | STM32_PIN_AF(6))
+#define STM32F429_PB5_FUNC_CAN2_RX (STM32_PIN_NO(21) | STM32_PIN_AF(9))
+#define STM32F429_PB5_FUNC_OTG_HS_ULPI_D7 (STM32_PIN_NO(21) | STM32_PIN_AF(10))
+#define STM32F429_PB5_FUNC_ETH_PPS_OUT (STM32_PIN_NO(21) | STM32_PIN_AF(11))
+#define STM32F429_PB5_FUNC_FMC_SDCKE1 (STM32_PIN_NO(21) | STM32_PIN_AF(12))
+#define STM32F429_PB5_FUNC_DCMI_D10 (STM32_PIN_NO(21) | STM32_PIN_AF(13))
+#define STM32F429_PB5_FUNC_EVENTOUT (STM32_PIN_NO(21) | STM32_PIN_AF(15))
+#define STM32F429_PB5_FUNC_ANALOG (STM32_PIN_NO(21) | STM32_PIN_ANALOG)
+
+#define STM32F429_PB6_FUNC_GPIO (STM32_PIN_NO(22) | STM32_PIN_GPIO)
+#define STM32F429_PB6_FUNC_TIM4_CH1 (STM32_PIN_NO(22) | STM32_PIN_AF(2))
+#define STM32F429_PB6_FUNC_I2C1_SCL (STM32_PIN_NO(22) | STM32_PIN_AF(4))
+#define STM32F429_PB6_FUNC_USART1_TX (STM32_PIN_NO(22) | STM32_PIN_AF(7))
+#define STM32F429_PB6_FUNC_CAN2_TX (STM32_PIN_NO(22) | STM32_PIN_AF(9))
+#define STM32F429_PB6_FUNC_FMC_SDNE1 (STM32_PIN_NO(22) | STM32_PIN_AF(12))
+#define STM32F429_PB6_FUNC_DCMI_D5 (STM32_PIN_NO(22) | STM32_PIN_AF(13))
+#define STM32F429_PB6_FUNC_EVENTOUT (STM32_PIN_NO(22) | STM32_PIN_AF(15))
+#define STM32F429_PB6_FUNC_ANALOG (STM32_PIN_NO(22) | STM32_PIN_ANALOG)
+
+#define STM32F429_PB7_FUNC_GPIO (STM32_PIN_NO(23) | STM32_PIN_GPIO)
+#define STM32F429_PB7_FUNC_TIM4_CH2 (STM32_PIN_NO(23) | STM32_PIN_AF(2))
+#define STM32F429_PB7_FUNC_I2C1_SDA (STM32_PIN_NO(23) | STM32_PIN_AF(4))
+#define STM32F429_PB7_FUNC_USART1_RX (STM32_PIN_NO(23) | STM32_PIN_AF(7))
+#define STM32F429_PB7_FUNC_FMC_NL (STM32_PIN_NO(23) | STM32_PIN_AF(12))
+#define STM32F429_PB7_FUNC_DCMI_VSYNC (STM32_PIN_NO(23) | STM32_PIN_AF(13))
+#define STM32F429_PB7_FUNC_EVENTOUT (STM32_PIN_NO(23) | STM32_PIN_AF(15))
+#define STM32F429_PB7_FUNC_ANALOG (STM32_PIN_NO(23) | STM32_PIN_ANALOG)
+
+#define STM32F429_PB8_FUNC_GPIO (STM32_PIN_NO(24) | STM32_PIN_GPIO)
+#define STM32F429_PB8_FUNC_TIM4_CH3 (STM32_PIN_NO(24) | STM32_PIN_AF(2))
+#define STM32F429_PB8_FUNC_TIM10_CH1 (STM32_PIN_NO(24) | STM32_PIN_AF(3))
+#define STM32F429_PB8_FUNC_I2C1_SCL (STM32_PIN_NO(24) | STM32_PIN_AF(4))
+#define STM32F429_PB8_FUNC_CAN1_RX (STM32_PIN_NO(24) | STM32_PIN_AF(9))
+#define STM32F429_PB8_FUNC_ETH_MII_TXD3 (STM32_PIN_NO(24) | STM32_PIN_AF(11))
+#define STM32F429_PB8_FUNC_SDIO_D4 (STM32_PIN_NO(24) | STM32_PIN_AF(12))
+#define STM32F429_PB8_FUNC_DCMI_D6 (STM32_PIN_NO(24) | STM32_PIN_AF(13))
+#define STM32F429_PB8_FUNC_LCD_B6 (STM32_PIN_NO(24) | STM32_PIN_AF(14))
+#define STM32F429_PB8_FUNC_EVENTOUT (STM32_PIN_NO(24) | STM32_PIN_AF(15))
+#define STM32F429_PB8_FUNC_ANALOG (STM32_PIN_NO(24) | STM32_PIN_ANALOG)
+
+#define STM32F429_PB9_FUNC_GPIO (STM32_PIN_NO(25) | STM32_PIN_GPIO)
+#define STM32F429_PB9_FUNC_TIM4_CH4 (STM32_PIN_NO(25) | STM32_PIN_AF(2))
+#define STM32F429_PB9_FUNC_TIM11_CH1 (STM32_PIN_NO(25) | STM32_PIN_AF(3))
+#define STM32F429_PB9_FUNC_I2C1_SDA (STM32_PIN_NO(25) | STM32_PIN_AF(4))
+#define STM32F429_PB9_FUNC_SPI2_NSS I2S2_WS (STM32_PIN_NO(25) | STM32_PIN_AF(5))
+#define STM32F429_PB9_FUNC_CAN1_TX (STM32_PIN_NO(25) | STM32_PIN_AF(9))
+#define STM32F429_PB9_FUNC_SDIO_D5 (STM32_PIN_NO(25) | STM32_PIN_AF(12))
+#define STM32F429_PB9_FUNC_DCMI_D7 (STM32_PIN_NO(25) | STM32_PIN_AF(13))
+#define STM32F429_PB9_FUNC_LCD_B7 (STM32_PIN_NO(25) | STM32_PIN_AF(14))
+#define STM32F429_PB9_FUNC_EVENTOUT (STM32_PIN_NO(25) | STM32_PIN_AF(15))
+#define STM32F429_PB9_FUNC_ANALOG (STM32_PIN_NO(25) | STM32_PIN_ANALOG)
+
+#define STM32F429_PB10_FUNC_GPIO (STM32_PIN_NO(26) | STM32_PIN_GPIO)
+#define STM32F429_PB10_FUNC_TIM2_CH3 (STM32_PIN_NO(26) | STM32_PIN_AF(1))
+#define STM32F429_PB10_FUNC_I2C2_SCL (STM32_PIN_NO(26) | STM32_PIN_AF(4))
+#define STM32F429_PB10_FUNC_SPI2_SCK I2S2_CK (STM32_PIN_NO(26) | STM32_PIN_AF(5))
+#define STM32F429_PB10_FUNC_USART3_TX (STM32_PIN_NO(26) | STM32_PIN_AF(7))
+#define STM32F429_PB10_FUNC_OTG_HS_ULPI_D3 (STM32_PIN_NO(26) | STM32_PIN_AF(10))
+#define STM32F429_PB10_FUNC_ETH_MII_RX_ER (STM32_PIN_NO(26) | STM32_PIN_AF(11))
+#define STM32F429_PB10_FUNC_LCD_G4 (STM32_PIN_NO(26) | STM32_PIN_AF(14))
+#define STM32F429_PB10_FUNC_EVENTOUT (STM32_PIN_NO(26) | STM32_PIN_AF(15))
+#define STM32F429_PB10_FUNC_ANALOG (STM32_PIN_NO(26) | STM32_PIN_ANALOG)
+
+#define STM32F429_PB11_FUNC_GPIO (STM32_PIN_NO(27) | STM32_PIN_GPIO)
+#define STM32F429_PB11_FUNC_TIM2_CH4 (STM32_PIN_NO(27) | STM32_PIN_AF(1))
+#define STM32F429_PB11_FUNC_I2C2_SDA (STM32_PIN_NO(27) | STM32_PIN_AF(4))
+#define STM32F429_PB11_FUNC_USART3_RX (STM32_PIN_NO(27) | STM32_PIN_AF(7))
+#define STM32F429_PB11_FUNC_OTG_HS_ULPI_D4 (STM32_PIN_NO(27) | STM32_PIN_AF(10))
+#define STM32F429_PB11_FUNC_ETH_MII_TX_EN ETH_RMII_TX_EN (STM32_PIN_NO(27) | STM32_PIN_AF(11))
+#define STM32F429_PB11_FUNC_LCD_G5 (STM32_PIN_NO(27) | STM32_PIN_AF(14))
+#define STM32F429_PB11_FUNC_EVENTOUT (STM32_PIN_NO(27) | STM32_PIN_AF(15))
+#define STM32F429_PB11_FUNC_ANALOG (STM32_PIN_NO(27) | STM32_PIN_ANALOG)
+
+#define STM32F429_PB12_FUNC_GPIO (STM32_PIN_NO(28) | STM32_PIN_GPIO)
+#define STM32F429_PB12_FUNC_TIM1_BKIN (STM32_PIN_NO(28) | STM32_PIN_AF(1))
+#define STM32F429_PB12_FUNC_I2C2_SMBA (STM32_PIN_NO(28) | STM32_PIN_AF(4))
+#define STM32F429_PB12_FUNC_SPI2_NSS I2S2_WS (STM32_PIN_NO(28) | STM32_PIN_AF(5))
+#define STM32F429_PB12_FUNC_USART3_CK (STM32_PIN_NO(28) | STM32_PIN_AF(7))
+#define STM32F429_PB12_FUNC_CAN2_RX (STM32_PIN_NO(28) | STM32_PIN_AF(9))
+#define STM32F429_PB12_FUNC_OTG_HS_ULPI_D5 (STM32_PIN_NO(28) | STM32_PIN_AF(10))
+#define STM32F429_PB12_FUNC_ETH_MII_TXD0 ETH_RMII_TXD0 (STM32_PIN_NO(28) | STM32_PIN_AF(11))
+#define STM32F429_PB12_FUNC_OTG_HS_ID (STM32_PIN_NO(28) | STM32_PIN_AF(12))
+#define STM32F429_PB12_FUNC_EVENTOUT (STM32_PIN_NO(28) | STM32_PIN_AF(15))
+#define STM32F429_PB12_FUNC_ANALOG (STM32_PIN_NO(28) | STM32_PIN_ANALOG)
+
+#define STM32F429_PB13_FUNC_GPIO (STM32_PIN_NO(29) | STM32_PIN_GPIO)
+#define STM32F429_PB13_FUNC_TIM1_CH1N (STM32_PIN_NO(29) | STM32_PIN_AF(1))
+#define STM32F429_PB13_FUNC_SPI2_SCK I2S2_CK (STM32_PIN_NO(29) | STM32_PIN_AF(5))
+#define STM32F429_PB13_FUNC_USART3_CTS (STM32_PIN_NO(29) | STM32_PIN_AF(7))
+#define STM32F429_PB13_FUNC_CAN2_TX (STM32_PIN_NO(29) | STM32_PIN_AF(9))
+#define STM32F429_PB13_FUNC_OTG_HS_ULPI_D6 (STM32_PIN_NO(29) | STM32_PIN_AF(10))
+#define STM32F429_PB13_FUNC_ETH_MII_TXD1 ETH_RMII_TXD1 (STM32_PIN_NO(29) | STM32_PIN_AF(11))
+#define STM32F429_PB13_FUNC_EVENTOUT (STM32_PIN_NO(29) | STM32_PIN_AF(15))
+#define STM32F429_PB13_FUNC_ANALOG (STM32_PIN_NO(29) | STM32_PIN_ANALOG)
+
+#define STM32F429_PB14_FUNC_GPIO (STM32_PIN_NO(30) | STM32_PIN_GPIO)
+#define STM32F429_PB14_FUNC_TIM1_CH2N (STM32_PIN_NO(30) | STM32_PIN_AF(1))
+#define STM32F429_PB14_FUNC_TIM8_CH2N (STM32_PIN_NO(30) | STM32_PIN_AF(3))
+#define STM32F429_PB14_FUNC_SPI2_MISO (STM32_PIN_NO(30) | STM32_PIN_AF(5))
+#define STM32F429_PB14_FUNC_I2S2EXT_SD (STM32_PIN_NO(30) | STM32_PIN_AF(6))
+#define STM32F429_PB14_FUNC_USART3_RTS (STM32_PIN_NO(30) | STM32_PIN_AF(7))
+#define STM32F429_PB14_FUNC_TIM12_CH1 (STM32_PIN_NO(30) | STM32_PIN_AF(9))
+#define STM32F429_PB14_FUNC_OTG_HS_DM (STM32_PIN_NO(30) | STM32_PIN_AF(12))
+#define STM32F429_PB14_FUNC_EVENTOUT (STM32_PIN_NO(30) | STM32_PIN_AF(15))
+#define STM32F429_PB14_FUNC_ANALOG (STM32_PIN_NO(30) | STM32_PIN_ANALOG)
+
+#define STM32F429_PB15_FUNC_GPIO (STM32_PIN_NO(31) | STM32_PIN_GPIO)
+#define STM32F429_PB15_FUNC_RTC_REFIN (STM32_PIN_NO(31) | STM32_PIN_AF(0))
+#define STM32F429_PB15_FUNC_TIM1_CH3N (STM32_PIN_NO(31) | STM32_PIN_AF(1))
+#define STM32F429_PB15_FUNC_TIM8_CH3N (STM32_PIN_NO(31) | STM32_PIN_AF(3))
+#define STM32F429_PB15_FUNC_SPI2_MOSI I2S2_SD (STM32_PIN_NO(31) | STM32_PIN_AF(5))
+#define STM32F429_PB15_FUNC_TIM12_CH2 (STM32_PIN_NO(31) | STM32_PIN_AF(9))
+#define STM32F429_PB15_FUNC_OTG_HS_DP (STM32_PIN_NO(31) | STM32_PIN_AF(12))
+#define STM32F429_PB15_FUNC_EVENTOUT (STM32_PIN_NO(31) | STM32_PIN_AF(15))
+#define STM32F429_PB15_FUNC_ANALOG (STM32_PIN_NO(31) | STM32_PIN_ANALOG)
+
+
+
+#define STM32F429_PC0_FUNC_GPIO (STM32_PIN_NO(32) | STM32_PIN_GPIO)
+#define STM32F429_PC0_FUNC_OTG_HS_ULPI_STP (STM32_PIN_NO(32) | STM32_PIN_AF(10))
+#define STM32F429_PC0_FUNC_FMC_SDNWE (STM32_PIN_NO(32) | STM32_PIN_AF(12))
+#define STM32F429_PC0_FUNC_EVENTOUT (STM32_PIN_NO(32) | STM32_PIN_AF(15))
+#define STM32F429_PC0_FUNC_ANALOG (STM32_PIN_NO(32) | STM32_PIN_ANALOG)
+
+#define STM32F429_PC1_FUNC_GPIO (STM32_PIN_NO(33) | STM32_PIN_GPIO)
+#define STM32F429_PC1_FUNC_ETH_MDC (STM32_PIN_NO(33) | STM32_PIN_AF(11))
+#define STM32F429_PC1_FUNC_EVENTOUT (STM32_PIN_NO(33) | STM32_PIN_AF(15))
+#define STM32F429_PC1_FUNC_ANALOG (STM32_PIN_NO(33) | STM32_PIN_ANALOG)
+
+#define STM32F429_PC2_FUNC_GPIO (STM32_PIN_NO(34) | STM32_PIN_GPIO)
+#define STM32F429_PC2_FUNC_SPI2_MISO (STM32_PIN_NO(34) | STM32_PIN_AF(5))
+#define STM32F429_PC2_FUNC_I2S2EXT_SD (STM32_PIN_NO(34) | STM32_PIN_AF(6))
+#define STM32F429_PC2_FUNC_OTG_HS_ULPI_DIR (STM32_PIN_NO(34) | STM32_PIN_AF(10))
+#define STM32F429_PC2_FUNC_ETH_MII_TXD2 (STM32_PIN_NO(34) | STM32_PIN_AF(11))
+#define STM32F429_PC2_FUNC_FMC_SDNE0 (STM32_PIN_NO(34) | STM32_PIN_AF(12))
+#define STM32F429_PC2_FUNC_EVENTOUT (STM32_PIN_NO(34) | STM32_PIN_AF(15))
+#define STM32F429_PC2_FUNC_ANALOG (STM32_PIN_NO(34) | STM32_PIN_ANALOG)
+
+#define STM32F429_PC3_FUNC_GPIO (STM32_PIN_NO(35) | STM32_PIN_GPIO)
+#define STM32F429_PC3_FUNC_SPI2_MOSI I2S2_SD (STM32_PIN_NO(35) | STM32_PIN_AF(5))
+#define STM32F429_PC3_FUNC_OTG_HS_ULPI_NXT (STM32_PIN_NO(35) | STM32_PIN_AF(10))
+#define STM32F429_PC3_FUNC_ETH_MII_TX_CLK (STM32_PIN_NO(35) | STM32_PIN_AF(11))
+#define STM32F429_PC3_FUNC_FMC_SDCKE0 (STM32_PIN_NO(35) | STM32_PIN_AF(12))
+#define STM32F429_PC3_FUNC_EVENTOUT (STM32_PIN_NO(35) | STM32_PIN_AF(15))
+#define STM32F429_PC3_FUNC_ANALOG (STM32_PIN_NO(35) | STM32_PIN_ANALOG)
+
+#define STM32F429_PC4_FUNC_GPIO (STM32_PIN_NO(36) | STM32_PIN_GPIO)
+#define STM32F429_PC4_FUNC_ETH_MII_RXD0 ETH_RMII_RXD0 (STM32_PIN_NO(36) | STM32_PIN_AF(11))
+#define STM32F429_PC4_FUNC_EVENTOUT (STM32_PIN_NO(36) | STM32_PIN_AF(15))
+#define STM32F429_PC4_FUNC_ANALOG (STM32_PIN_NO(36) | STM32_PIN_ANALOG)
+
+#define STM32F429_PC5_FUNC_GPIO (STM32_PIN_NO(37) | STM32_PIN_GPIO)
+#define STM32F429_PC5_FUNC_ETH_MII_RXD1 ETH_RMII_RXD1 (STM32_PIN_NO(37) | STM32_PIN_AF(11))
+#define STM32F429_PC5_FUNC_EVENTOUT (STM32_PIN_NO(37) | STM32_PIN_AF(15))
+#define STM32F429_PC5_FUNC_ANALOG (STM32_PIN_NO(37) | STM32_PIN_ANALOG)
+
+#define STM32F429_PC6_FUNC_GPIO (STM32_PIN_NO(38) | STM32_PIN_GPIO)
+#define STM32F429_PC6_FUNC_TIM3_CH1 (STM32_PIN_NO(38) | STM32_PIN_AF(2))
+#define STM32F429_PC6_FUNC_TIM8_CH1 (STM32_PIN_NO(38) | STM32_PIN_AF(3))
+#define STM32F429_PC6_FUNC_I2S2_MCK (STM32_PIN_NO(38) | STM32_PIN_AF(5))
+#define STM32F429_PC6_FUNC_USART6_TX (STM32_PIN_NO(38) | STM32_PIN_AF(8))
+#define STM32F429_PC6_FUNC_SDIO_D6 (STM32_PIN_NO(38) | STM32_PIN_AF(12))
+#define STM32F429_PC6_FUNC_DCMI_D0 (STM32_PIN_NO(38) | STM32_PIN_AF(13))
+#define STM32F429_PC6_FUNC_LCD_HSYNC (STM32_PIN_NO(38) | STM32_PIN_AF(14))
+#define STM32F429_PC6_FUNC_EVENTOUT (STM32_PIN_NO(38) | STM32_PIN_AF(15))
+#define STM32F429_PC6_FUNC_ANALOG (STM32_PIN_NO(38) | STM32_PIN_ANALOG)
+
+#define STM32F429_PC7_FUNC_GPIO (STM32_PIN_NO(39) | STM32_PIN_GPIO)
+#define STM32F429_PC7_FUNC_TIM3_CH2 (STM32_PIN_NO(39) | STM32_PIN_AF(2))
+#define STM32F429_PC7_FUNC_TIM8_CH2 (STM32_PIN_NO(39) | STM32_PIN_AF(3))
+#define STM32F429_PC7_FUNC_I2S3_MCK (STM32_PIN_NO(39) | STM32_PIN_AF(6))
+#define STM32F429_PC7_FUNC_USART6_RX (STM32_PIN_NO(39) | STM32_PIN_AF(8))
+#define STM32F429_PC7_FUNC_SDIO_D7 (STM32_PIN_NO(39) | STM32_PIN_AF(12))
+#define STM32F429_PC7_FUNC_DCMI_D1 (STM32_PIN_NO(39) | STM32_PIN_AF(13))
+#define STM32F429_PC7_FUNC_LCD_G6 (STM32_PIN_NO(39) | STM32_PIN_AF(14))
+#define STM32F429_PC7_FUNC_EVENTOUT (STM32_PIN_NO(39) | STM32_PIN_AF(15))
+#define STM32F429_PC7_FUNC_ANALOG (STM32_PIN_NO(39) | STM32_PIN_ANALOG)
+
+#define STM32F429_PC8_FUNC_GPIO (STM32_PIN_NO(40) | STM32_PIN_GPIO)
+#define STM32F429_PC8_FUNC_TIM3_CH3 (STM32_PIN_NO(40) | STM32_PIN_AF(2))
+#define STM32F429_PC8_FUNC_TIM8_CH3 (STM32_PIN_NO(40) | STM32_PIN_AF(3))
+#define STM32F429_PC8_FUNC_USART6_CK (STM32_PIN_NO(40) | STM32_PIN_AF(8))
+#define STM32F429_PC8_FUNC_SDIO_D0 (STM32_PIN_NO(40) | STM32_PIN_AF(12))
+#define STM32F429_PC8_FUNC_DCMI_D2 (STM32_PIN_NO(40) | STM32_PIN_AF(13))
+#define STM32F429_PC8_FUNC_EVENTOUT (STM32_PIN_NO(40) | STM32_PIN_AF(15))
+#define STM32F429_PC8_FUNC_ANALOG (STM32_PIN_NO(40) | STM32_PIN_ANALOG)
+
+#define STM32F429_PC9_FUNC_GPIO (STM32_PIN_NO(41) | STM32_PIN_GPIO)
+#define STM32F429_PC9_FUNC_MCO2 (STM32_PIN_NO(41) | STM32_PIN_AF(0))
+#define STM32F429_PC9_FUNC_TIM3_CH4 (STM32_PIN_NO(41) | STM32_PIN_AF(2))
+#define STM32F429_PC9_FUNC_TIM8_CH4 (STM32_PIN_NO(41) | STM32_PIN_AF(3))
+#define STM32F429_PC9_FUNC_I2C3_SDA (STM32_PIN_NO(41) | STM32_PIN_AF(4))
+#define STM32F429_PC9_FUNC_I2S_CKIN (STM32_PIN_NO(41) | STM32_PIN_AF(5))
+#define STM32F429_PC9_FUNC_SDIO_D1 (STM32_PIN_NO(41) | STM32_PIN_AF(12))
+#define STM32F429_PC9_FUNC_DCMI_D3 (STM32_PIN_NO(41) | STM32_PIN_AF(13))
+#define STM32F429_PC9_FUNC_EVENTOUT (STM32_PIN_NO(41) | STM32_PIN_AF(15))
+#define STM32F429_PC9_FUNC_ANALOG (STM32_PIN_NO(41) | STM32_PIN_ANALOG)
+
+#define STM32F429_PC10_FUNC_GPIO (STM32_PIN_NO(42) | STM32_PIN_GPIO)
+#define STM32F429_PC10_FUNC_SPI3_SCK I2S3_CK (STM32_PIN_NO(42) | STM32_PIN_AF(6))
+#define STM32F429_PC10_FUNC_USART3_TX (STM32_PIN_NO(42) | STM32_PIN_AF(7))
+#define STM32F429_PC10_FUNC_UART4_TX (STM32_PIN_NO(42) | STM32_PIN_AF(8))
+#define STM32F429_PC10_FUNC_SDIO_D2 (STM32_PIN_NO(42) | STM32_PIN_AF(12))
+#define STM32F429_PC10_FUNC_DCMI_D8 (STM32_PIN_NO(42) | STM32_PIN_AF(13))
+#define STM32F429_PC10_FUNC_LCD_R2 (STM32_PIN_NO(42) | STM32_PIN_AF(14))
+#define STM32F429_PC10_FUNC_EVENTOUT (STM32_PIN_NO(42) | STM32_PIN_AF(15))
+#define STM32F429_PC10_FUNC_ANALOG (STM32_PIN_NO(42) | STM32_PIN_ANALOG)
+
+#define STM32F429_PC11_FUNC_GPIO (STM32_PIN_NO(43) | STM32_PIN_GPIO)
+#define STM32F429_PC11_FUNC_I2S3EXT_SD (STM32_PIN_NO(43) | STM32_PIN_AF(5))
+#define STM32F429_PC11_FUNC_SPI3_MISO (STM32_PIN_NO(43) | STM32_PIN_AF(6))
+#define STM32F429_PC11_FUNC_USART3_RX (STM32_PIN_NO(43) | STM32_PIN_AF(7))
+#define STM32F429_PC11_FUNC_UART4_RX (STM32_PIN_NO(43) | STM32_PIN_AF(8))
+#define STM32F429_PC11_FUNC_SDIO_D3 (STM32_PIN_NO(43) | STM32_PIN_AF(12))
+#define STM32F429_PC11_FUNC_DCMI_D4 (STM32_PIN_NO(43) | STM32_PIN_AF(13))
+#define STM32F429_PC11_FUNC_EVENTOUT (STM32_PIN_NO(43) | STM32_PIN_AF(15))
+#define STM32F429_PC11_FUNC_ANALOG (STM32_PIN_NO(43) | STM32_PIN_ANALOG)
+
+#define STM32F429_PC12_FUNC_GPIO (STM32_PIN_NO(44) | STM32_PIN_GPIO)
+#define STM32F429_PC12_FUNC_SPI3_MOSI I2S3_SD (STM32_PIN_NO(44) | STM32_PIN_AF(6))
+#define STM32F429_PC12_FUNC_USART3_CK (STM32_PIN_NO(44) | STM32_PIN_AF(7))
+#define STM32F429_PC12_FUNC_UART5_TX (STM32_PIN_NO(44) | STM32_PIN_AF(8))
+#define STM32F429_PC12_FUNC_SDIO_CK (STM32_PIN_NO(44) | STM32_PIN_AF(12))
+#define STM32F429_PC12_FUNC_DCMI_D9 (STM32_PIN_NO(44) | STM32_PIN_AF(13))
+#define STM32F429_PC12_FUNC_EVENTOUT (STM32_PIN_NO(44) | STM32_PIN_AF(15))
+#define STM32F429_PC12_FUNC_ANALOG (STM32_PIN_NO(44) | STM32_PIN_ANALOG)
+
+#define STM32F429_PC13_FUNC_GPIO (STM32_PIN_NO(45) | STM32_PIN_GPIO)
+#define STM32F429_PC13_FUNC_EVENTOUT (STM32_PIN_NO(45) | STM32_PIN_AF(15))
+#define STM32F429_PC13_FUNC_ANALOG (STM32_PIN_NO(45) | STM32_PIN_ANALOG)
+
+#define STM32F429_PC14_FUNC_GPIO (STM32_PIN_NO(46) | STM32_PIN_GPIO)
+#define STM32F429_PC14_FUNC_EVENTOUT (STM32_PIN_NO(46) | STM32_PIN_AF(15))
+#define STM32F429_PC14_FUNC_ANALOG (STM32_PIN_NO(46) | STM32_PIN_ANALOG)
+
+#define STM32F429_PC15_FUNC_GPIO (STM32_PIN_NO(47) | STM32_PIN_GPIO)
+#define STM32F429_PC15_FUNC_EVENTOUT (STM32_PIN_NO(47) | STM32_PIN_AF(15))
+#define STM32F429_PC15_FUNC_ANALOG (STM32_PIN_NO(47) | STM32_PIN_ANALOG)
+
+
+
+#define STM32F429_PD0_FUNC_GPIO (STM32_PIN_NO(48) | STM32_PIN_GPIO)
+#define STM32F429_PD0_FUNC_CAN1_RX (STM32_PIN_NO(48) | STM32_PIN_AF(9))
+#define STM32F429_PD0_FUNC_FMC_D2 (STM32_PIN_NO(48) | STM32_PIN_AF(12))
+#define STM32F429_PD0_FUNC_EVENTOUT (STM32_PIN_NO(48) | STM32_PIN_AF(15))
+#define STM32F429_PD0_FUNC_ANALOG (STM32_PIN_NO(48) | STM32_PIN_ANALOG)
+
+#define STM32F429_PD1_FUNC_GPIO (STM32_PIN_NO(49) | STM32_PIN_GPIO)
+#define STM32F429_PD1_FUNC_CAN1_TX (STM32_PIN_NO(49) | STM32_PIN_AF(9))
+#define STM32F429_PD1_FUNC_FMC_D3 (STM32_PIN_NO(49) | STM32_PIN_AF(12))
+#define STM32F429_PD1_FUNC_EVENTOUT (STM32_PIN_NO(49) | STM32_PIN_AF(15))
+#define STM32F429_PD1_FUNC_ANALOG (STM32_PIN_NO(49) | STM32_PIN_ANALOG)
+
+#define STM32F429_PD2_FUNC_GPIO (STM32_PIN_NO(50) | STM32_PIN_GPIO)
+#define STM32F429_PD2_FUNC_TIM3_ETR (STM32_PIN_NO(50) | STM32_PIN_AF(2))
+#define STM32F429_PD2_FUNC_UART5_RX (STM32_PIN_NO(50) | STM32_PIN_AF(8))
+#define STM32F429_PD2_FUNC_SDIO_CMD (STM32_PIN_NO(50) | STM32_PIN_AF(12))
+#define STM32F429_PD2_FUNC_DCMI_D11 (STM32_PIN_NO(50) | STM32_PIN_AF(13))
+#define STM32F429_PD2_FUNC_EVENTOUT (STM32_PIN_NO(50) | STM32_PIN_AF(15))
+#define STM32F429_PD2_FUNC_ANALOG (STM32_PIN_NO(50) | STM32_PIN_ANALOG)
+
+#define STM32F429_PD3_FUNC_GPIO (STM32_PIN_NO(51) | STM32_PIN_GPIO)
+#define STM32F429_PD3_FUNC_SPI2_SCK I2S2_CK (STM32_PIN_NO(51) | STM32_PIN_AF(5))
+#define STM32F429_PD3_FUNC_USART2_CTS (STM32_PIN_NO(51) | STM32_PIN_AF(7))
+#define STM32F429_PD3_FUNC_FMC_CLK (STM32_PIN_NO(51) | STM32_PIN_AF(12))
+#define STM32F429_PD3_FUNC_DCMI_D5 (STM32_PIN_NO(51) | STM32_PIN_AF(13))
+#define STM32F429_PD3_FUNC_LCD_G7 (STM32_PIN_NO(51) | STM32_PIN_AF(14))
+#define STM32F429_PD3_FUNC_EVENTOUT (STM32_PIN_NO(51) | STM32_PIN_AF(15))
+#define STM32F429_PD3_FUNC_ANALOG (STM32_PIN_NO(51) | STM32_PIN_ANALOG)
+
+#define STM32F429_PD4_FUNC_GPIO (STM32_PIN_NO(52) | STM32_PIN_GPIO)
+#define STM32F429_PD4_FUNC_USART2_RTS (STM32_PIN_NO(52) | STM32_PIN_AF(7))
+#define STM32F429_PD4_FUNC_FMC_NOE (STM32_PIN_NO(52) | STM32_PIN_AF(12))
+#define STM32F429_PD4_FUNC_EVENTOUT (STM32_PIN_NO(52) | STM32_PIN_AF(15))
+#define STM32F429_PD4_FUNC_ANALOG (STM32_PIN_NO(52) | STM32_PIN_ANALOG)
+
+#define STM32F429_PD5_FUNC_GPIO (STM32_PIN_NO(53) | STM32_PIN_GPIO)
+#define STM32F429_PD5_FUNC_USART2_TX (STM32_PIN_NO(53) | STM32_PIN_AF(7))
+#define STM32F429_PD5_FUNC_FMC_NWE (STM32_PIN_NO(53) | STM32_PIN_AF(12))
+#define STM32F429_PD5_FUNC_EVENTOUT (STM32_PIN_NO(53) | STM32_PIN_AF(15))
+#define STM32F429_PD5_FUNC_ANALOG (STM32_PIN_NO(53) | STM32_PIN_ANALOG)
+
+#define STM32F429_PD6_FUNC_GPIO (STM32_PIN_NO(54) | STM32_PIN_GPIO)
+#define STM32F429_PD6_FUNC_SPI3_MOSI I2S3_SD (STM32_PIN_NO(54) | STM32_PIN_AF(5))
+#define STM32F429_PD6_FUNC_SAI1_SD_A (STM32_PIN_NO(54) | STM32_PIN_AF(6))
+#define STM32F429_PD6_FUNC_USART2_RX (STM32_PIN_NO(54) | STM32_PIN_AF(7))
+#define STM32F429_PD6_FUNC_FMC_NWAIT (STM32_PIN_NO(54) | STM32_PIN_AF(12))
+#define STM32F429_PD6_FUNC_DCMI_D10 (STM32_PIN_NO(54) | STM32_PIN_AF(13))
+#define STM32F429_PD6_FUNC_LCD_B2 (STM32_PIN_NO(54) | STM32_PIN_AF(14))
+#define STM32F429_PD6_FUNC_EVENTOUT (STM32_PIN_NO(54) | STM32_PIN_AF(15))
+#define STM32F429_PD6_FUNC_ANALOG (STM32_PIN_NO(54) | STM32_PIN_ANALOG)
+
+#define STM32F429_PD7_FUNC_GPIO (STM32_PIN_NO(55) | STM32_PIN_GPIO)
+#define STM32F429_PD7_FUNC_USART2_CK (STM32_PIN_NO(55) | STM32_PIN_AF(7))
+#define STM32F429_PD7_FUNC_FMC_NE1 FMC_NCE2 (STM32_PIN_NO(55) | STM32_PIN_AF(12))
+#define STM32F429_PD7_FUNC_EVENTOUT (STM32_PIN_NO(55) | STM32_PIN_AF(15))
+#define STM32F429_PD7_FUNC_ANALOG (STM32_PIN_NO(55) | STM32_PIN_ANALOG)
+
+#define STM32F429_PD8_FUNC_GPIO (STM32_PIN_NO(56) | STM32_PIN_GPIO)
+#define STM32F429_PD8_FUNC_USART3_TX (STM32_PIN_NO(56) | STM32_PIN_AF(7))
+#define STM32F429_PD8_FUNC_FMC_D13 (STM32_PIN_NO(56) | STM32_PIN_AF(12))
+#define STM32F429_PD8_FUNC_EVENTOUT (STM32_PIN_NO(56) | STM32_PIN_AF(15))
+#define STM32F429_PD8_FUNC_ANALOG (STM32_PIN_NO(56) | STM32_PIN_ANALOG)
+
+#define STM32F429_PD9_FUNC_GPIO (STM32_PIN_NO(57) | STM32_PIN_GPIO)
+#define STM32F429_PD9_FUNC_USART3_RX (STM32_PIN_NO(57) | STM32_PIN_AF(7))
+#define STM32F429_PD9_FUNC_FMC_D14 (STM32_PIN_NO(57) | STM32_PIN_AF(12))
+#define STM32F429_PD9_FUNC_EVENTOUT (STM32_PIN_NO(57) | STM32_PIN_AF(15))
+#define STM32F429_PD9_FUNC_ANALOG (STM32_PIN_NO(57) | STM32_PIN_ANALOG)
+
+#define STM32F429_PD10_FUNC_GPIO (STM32_PIN_NO(58) | STM32_PIN_GPIO)
+#define STM32F429_PD10_FUNC_USART3_CK (STM32_PIN_NO(58) | STM32_PIN_AF(7))
+#define STM32F429_PD10_FUNC_FMC_D15 (STM32_PIN_NO(58) | STM32_PIN_AF(12))
+#define STM32F429_PD10_FUNC_LCD_B3 (STM32_PIN_NO(58) | STM32_PIN_AF(14))
+#define STM32F429_PD10_FUNC_EVENTOUT (STM32_PIN_NO(58) | STM32_PIN_AF(15))
+#define STM32F429_PD10_FUNC_ANALOG (STM32_PIN_NO(58) | STM32_PIN_ANALOG)
+
+#define STM32F429_PD11_FUNC_GPIO (STM32_PIN_NO(59) | STM32_PIN_GPIO)
+#define STM32F429_PD11_FUNC_USART3_CTS (STM32_PIN_NO(59) | STM32_PIN_AF(7))
+#define STM32F429_PD11_FUNC_FMC_A16 (STM32_PIN_NO(59) | STM32_PIN_AF(12))
+#define STM32F429_PD11_FUNC_EVENTOUT (STM32_PIN_NO(59) | STM32_PIN_AF(15))
+#define STM32F429_PD11_FUNC_ANALOG (STM32_PIN_NO(59) | STM32_PIN_ANALOG)
+
+#define STM32F429_PD12_FUNC_GPIO (STM32_PIN_NO(60) | STM32_PIN_GPIO)
+#define STM32F429_PD12_FUNC_TIM4_CH1 (STM32_PIN_NO(60) | STM32_PIN_AF(2))
+#define STM32F429_PD12_FUNC_USART3_RTS (STM32_PIN_NO(60) | STM32_PIN_AF(7))
+#define STM32F429_PD12_FUNC_FMC_A17 (STM32_PIN_NO(60) | STM32_PIN_AF(12))
+#define STM32F429_PD12_FUNC_EVENTOUT (STM32_PIN_NO(60) | STM32_PIN_AF(15))
+#define STM32F429_PD12_FUNC_ANALOG (STM32_PIN_NO(60) | STM32_PIN_ANALOG)
+
+#define STM32F429_PD13_FUNC_GPIO (STM32_PIN_NO(61) | STM32_PIN_GPIO)
+#define STM32F429_PD13_FUNC_TIM4_CH2 (STM32_PIN_NO(61) | STM32_PIN_AF(2))
+#define STM32F429_PD13_FUNC_FMC_A18 (STM32_PIN_NO(61) | STM32_PIN_AF(12))
+#define STM32F429_PD13_FUNC_EVENTOUT (STM32_PIN_NO(61) | STM32_PIN_AF(15))
+#define STM32F429_PD13_FUNC_ANALOG (STM32_PIN_NO(61) | STM32_PIN_ANALOG)
+
+#define STM32F429_PD14_FUNC_GPIO (STM32_PIN_NO(62) | STM32_PIN_GPIO)
+#define STM32F429_PD14_FUNC_TIM4_CH3 (STM32_PIN_NO(62) | STM32_PIN_AF(2))
+#define STM32F429_PD14_FUNC_FMC_D0 (STM32_PIN_NO(62) | STM32_PIN_AF(12))
+#define STM32F429_PD14_FUNC_EVENTOUT (STM32_PIN_NO(62) | STM32_PIN_AF(15))
+#define STM32F429_PD14_FUNC_ANALOG (STM32_PIN_NO(62) | STM32_PIN_ANALOG)
+
+#define STM32F429_PD15_FUNC_GPIO (STM32_PIN_NO(63) | STM32_PIN_GPIO)
+#define STM32F429_PD15_FUNC_TIM4_CH4 (STM32_PIN_NO(63) | STM32_PIN_AF(2))
+#define STM32F429_PD15_FUNC_FMC_D1 (STM32_PIN_NO(63) | STM32_PIN_AF(12))
+#define STM32F429_PD15_FUNC_EVENTOUT (STM32_PIN_NO(63) | STM32_PIN_AF(15))
+#define STM32F429_PD15_FUNC_ANALOG (STM32_PIN_NO(63) | STM32_PIN_ANALOG)
+
+
+
+#define STM32F429_PE0_FUNC_GPIO (STM32_PIN_NO(64) | STM32_PIN_GPIO)
+#define STM32F429_PE0_FUNC_TIM4_ETR (STM32_PIN_NO(64) | STM32_PIN_AF(2))
+#define STM32F429_PE0_FUNC_UART8_RX (STM32_PIN_NO(64) | STM32_PIN_AF(8))
+#define STM32F429_PE0_FUNC_FMC_NBL0 (STM32_PIN_NO(64) | STM32_PIN_AF(12))
+#define STM32F429_PE0_FUNC_DCMI_D2 (STM32_PIN_NO(64) | STM32_PIN_AF(13))
+#define STM32F429_PE0_FUNC_EVENTOUT (STM32_PIN_NO(64) | STM32_PIN_AF(15))
+#define STM32F429_PE0_FUNC_ANALOG (STM32_PIN_NO(64) | STM32_PIN_ANALOG)
+
+#define STM32F429_PE1_FUNC_GPIO (STM32_PIN_NO(65) | STM32_PIN_GPIO)
+#define STM32F429_PE1_FUNC_UART8_TX (STM32_PIN_NO(65) | STM32_PIN_AF(8))
+#define STM32F429_PE1_FUNC_FMC_NBL1 (STM32_PIN_NO(65) | STM32_PIN_AF(12))
+#define STM32F429_PE1_FUNC_DCMI_D3 (STM32_PIN_NO(65) | STM32_PIN_AF(13))
+#define STM32F429_PE1_FUNC_EVENTOUT (STM32_PIN_NO(65) | STM32_PIN_AF(15))
+#define STM32F429_PE1_FUNC_ANALOG (STM32_PIN_NO(65) | STM32_PIN_ANALOG)
+
+#define STM32F429_PE2_FUNC_GPIO (STM32_PIN_NO(66) | STM32_PIN_GPIO)
+#define STM32F429_PE2_FUNC_TRACECLK (STM32_PIN_NO(66) | STM32_PIN_AF(0))
+#define STM32F429_PE2_FUNC_SPI4_SCK (STM32_PIN_NO(66) | STM32_PIN_AF(5))
+#define STM32F429_PE2_FUNC_SAI1_MCLK_A (STM32_PIN_NO(66) | STM32_PIN_AF(6))
+#define STM32F429_PE2_FUNC_ETH_MII_TXD3 (STM32_PIN_NO(66) | STM32_PIN_AF(11))
+#define STM32F429_PE2_FUNC_FMC_A23 (STM32_PIN_NO(66) | STM32_PIN_AF(12))
+#define STM32F429_PE2_FUNC_EVENTOUT (STM32_PIN_NO(66) | STM32_PIN_AF(15))
+#define STM32F429_PE2_FUNC_ANALOG (STM32_PIN_NO(66) | STM32_PIN_ANALOG)
+
+#define STM32F429_PE3_FUNC_GPIO (STM32_PIN_NO(67) | STM32_PIN_GPIO)
+#define STM32F429_PE3_FUNC_TRACED0 (STM32_PIN_NO(67) | STM32_PIN_AF(0))
+#define STM32F429_PE3_FUNC_SAI1_SD_B (STM32_PIN_NO(67) | STM32_PIN_AF(6))
+#define STM32F429_PE3_FUNC_FMC_A19 (STM32_PIN_NO(67) | STM32_PIN_AF(12))
+#define STM32F429_PE3_FUNC_EVENTOUT (STM32_PIN_NO(67) | STM32_PIN_AF(15))
+#define STM32F429_PE3_FUNC_ANALOG (STM32_PIN_NO(67) | STM32_PIN_ANALOG)
+
+#define STM32F429_PE4_FUNC_GPIO (STM32_PIN_NO(68) | STM32_PIN_GPIO)
+#define STM32F429_PE4_FUNC_TRACED1 (STM32_PIN_NO(68) | STM32_PIN_AF(0))
+#define STM32F429_PE4_FUNC_SPI4_NSS (STM32_PIN_NO(68) | STM32_PIN_AF(5))
+#define STM32F429_PE4_FUNC_SAI1_FS_A (STM32_PIN_NO(68) | STM32_PIN_AF(6))
+#define STM32F429_PE4_FUNC_FMC_A20 (STM32_PIN_NO(68) | STM32_PIN_AF(12))
+#define STM32F429_PE4_FUNC_DCMI_D4 (STM32_PIN_NO(68) | STM32_PIN_AF(13))
+#define STM32F429_PE4_FUNC_LCD_B0 (STM32_PIN_NO(68) | STM32_PIN_AF(14))
+#define STM32F429_PE4_FUNC_EVENTOUT (STM32_PIN_NO(68) | STM32_PIN_AF(15))
+#define STM32F429_PE4_FUNC_ANALOG (STM32_PIN_NO(68) | STM32_PIN_ANALOG)
+
+#define STM32F429_PE5_FUNC_GPIO (STM32_PIN_NO(69) | STM32_PIN_GPIO)
+#define STM32F429_PE5_FUNC_TRACED2 (STM32_PIN_NO(69) | STM32_PIN_AF(0))
+#define STM32F429_PE5_FUNC_TIM9_CH1 (STM32_PIN_NO(69) | STM32_PIN_AF(3))
+#define STM32F429_PE5_FUNC_SPI4_MISO (STM32_PIN_NO(69) | STM32_PIN_AF(5))
+#define STM32F429_PE5_FUNC_SAI1_SCK_A (STM32_PIN_NO(69) | STM32_PIN_AF(6))
+#define STM32F429_PE5_FUNC_FMC_A21 (STM32_PIN_NO(69) | STM32_PIN_AF(12))
+#define STM32F429_PE5_FUNC_DCMI_D6 (STM32_PIN_NO(69) | STM32_PIN_AF(13))
+#define STM32F429_PE5_FUNC_LCD_G0 (STM32_PIN_NO(69) | STM32_PIN_AF(14))
+#define STM32F429_PE5_FUNC_EVENTOUT (STM32_PIN_NO(69) | STM32_PIN_AF(15))
+#define STM32F429_PE5_FUNC_ANALOG (STM32_PIN_NO(69) | STM32_PIN_ANALOG)
+
+#define STM32F429_PE6_FUNC_GPIO (STM32_PIN_NO(70) | STM32_PIN_GPIO)
+#define STM32F429_PE6_FUNC_TRACED3 (STM32_PIN_NO(70) | STM32_PIN_AF(0))
+#define STM32F429_PE6_FUNC_TIM9_CH2 (STM32_PIN_NO(70) | STM32_PIN_AF(3))
+#define STM32F429_PE6_FUNC_SPI4_MOSI (STM32_PIN_NO(70) | STM32_PIN_AF(5))
+#define STM32F429_PE6_FUNC_SAI1_SD_A (STM32_PIN_NO(70) | STM32_PIN_AF(6))
+#define STM32F429_PE6_FUNC_FMC_A22 (STM32_PIN_NO(70) | STM32_PIN_AF(12))
+#define STM32F429_PE6_FUNC_DCMI_D7 (STM32_PIN_NO(70) | STM32_PIN_AF(13))
+#define STM32F429_PE6_FUNC_LCD_G1 (STM32_PIN_NO(70) | STM32_PIN_AF(14))
+#define STM32F429_PE6_FUNC_EVENTOUT (STM32_PIN_NO(70) | STM32_PIN_AF(15))
+#define STM32F429_PE6_FUNC_ANALOG (STM32_PIN_NO(70) | STM32_PIN_ANALOG)
+
+#define STM32F429_PE7_FUNC_GPIO (STM32_PIN_NO(71) | STM32_PIN_GPIO)
+#define STM32F429_PE7_FUNC_TIM1_ETR (STM32_PIN_NO(71) | STM32_PIN_AF(1))
+#define STM32F429_PE7_FUNC_UART7_RX (STM32_PIN_NO(71) | STM32_PIN_AF(8))
+#define STM32F429_PE7_FUNC_FMC_D4 (STM32_PIN_NO(71) | STM32_PIN_AF(12))
+#define STM32F429_PE7_FUNC_EVENTOUT (STM32_PIN_NO(71) | STM32_PIN_AF(15))
+#define STM32F429_PE7_FUNC_ANALOG (STM32_PIN_NO(71) | STM32_PIN_ANALOG)
+
+#define STM32F429_PE8_FUNC_GPIO (STM32_PIN_NO(72) | STM32_PIN_GPIO)
+#define STM32F429_PE8_FUNC_TIM1_CH1N (STM32_PIN_NO(72) | STM32_PIN_AF(1))
+#define STM32F429_PE8_FUNC_UART7_TX (STM32_PIN_NO(72) | STM32_PIN_AF(8))
+#define STM32F429_PE8_FUNC_FMC_D5 (STM32_PIN_NO(72) | STM32_PIN_AF(12))
+#define STM32F429_PE8_FUNC_EVENTOUT (STM32_PIN_NO(72) | STM32_PIN_AF(15))
+#define STM32F429_PE8_FUNC_ANALOG (STM32_PIN_NO(72) | STM32_PIN_ANALOG)
+
+#define STM32F429_PE9_FUNC_GPIO (STM32_PIN_NO(73) | STM32_PIN_GPIO)
+#define STM32F429_PE9_FUNC_TIM1_CH1 (STM32_PIN_NO(73) | STM32_PIN_AF(1))
+#define STM32F429_PE9_FUNC_FMC_D6 (STM32_PIN_NO(73) | STM32_PIN_AF(12))
+#define STM32F429_PE9_FUNC_EVENTOUT (STM32_PIN_NO(73) | STM32_PIN_AF(15))
+#define STM32F429_PE9_FUNC_ANALOG (STM32_PIN_NO(73) | STM32_PIN_ANALOG)
+
+#define STM32F429_PE10_FUNC_GPIO (STM32_PIN_NO(74) | STM32_PIN_GPIO)
+#define STM32F429_PE10_FUNC_TIM1_CH2N (STM32_PIN_NO(74) | STM32_PIN_AF(1))
+#define STM32F429_PE10_FUNC_FMC_D7 (STM32_PIN_NO(74) | STM32_PIN_AF(12))
+#define STM32F429_PE10_FUNC_EVENTOUT (STM32_PIN_NO(74) | STM32_PIN_AF(15))
+#define STM32F429_PE10_FUNC_ANALOG (STM32_PIN_NO(74) | STM32_PIN_ANALOG)
+
+#define STM32F429_PE11_FUNC_GPIO (STM32_PIN_NO(75) | STM32_PIN_GPIO)
+#define STM32F429_PE11_FUNC_TIM1_CH2 (STM32_PIN_NO(75) | STM32_PIN_AF(1))
+#define STM32F429_PE11_FUNC_SPI4_NSS (STM32_PIN_NO(75) | STM32_PIN_AF(5))
+#define STM32F429_PE11_FUNC_FMC_D8 (STM32_PIN_NO(75) | STM32_PIN_AF(12))
+#define STM32F429_PE11_FUNC_LCD_G3 (STM32_PIN_NO(75) | STM32_PIN_AF(14))
+#define STM32F429_PE11_FUNC_EVENTOUT (STM32_PIN_NO(75) | STM32_PIN_AF(15))
+#define STM32F429_PE11_FUNC_ANALOG (STM32_PIN_NO(75) | STM32_PIN_ANALOG)
+
+#define STM32F429_PE12_FUNC_GPIO (STM32_PIN_NO(76) | STM32_PIN_GPIO)
+#define STM32F429_PE12_FUNC_TIM1_CH3N (STM32_PIN_NO(76) | STM32_PIN_AF(1))
+#define STM32F429_PE12_FUNC_SPI4_SCK (STM32_PIN_NO(76) | STM32_PIN_AF(5))
+#define STM32F429_PE12_FUNC_FMC_D9 (STM32_PIN_NO(76) | STM32_PIN_AF(12))
+#define STM32F429_PE12_FUNC_LCD_B4 (STM32_PIN_NO(76) | STM32_PIN_AF(14))
+#define STM32F429_PE12_FUNC_EVENTOUT (STM32_PIN_NO(76) | STM32_PIN_AF(15))
+#define STM32F429_PE12_FUNC_ANALOG (STM32_PIN_NO(76) | STM32_PIN_ANALOG)
+
+#define STM32F429_PE13_FUNC_GPIO (STM32_PIN_NO(77) | STM32_PIN_GPIO)
+#define STM32F429_PE13_FUNC_TIM1_CH3 (STM32_PIN_NO(77) | STM32_PIN_AF(1))
+#define STM32F429_PE13_FUNC_SPI4_MISO (STM32_PIN_NO(77) | STM32_PIN_AF(5))
+#define STM32F429_PE13_FUNC_FMC_D10 (STM32_PIN_NO(77) | STM32_PIN_AF(12))
+#define STM32F429_PE13_FUNC_LCD_DE (STM32_PIN_NO(77) | STM32_PIN_AF(14))
+#define STM32F429_PE13_FUNC_EVENTOUT (STM32_PIN_NO(77) | STM32_PIN_AF(15))
+#define STM32F429_PE13_FUNC_ANALOG (STM32_PIN_NO(77) | STM32_PIN_ANALOG)
+
+#define STM32F429_PE14_FUNC_GPIO (STM32_PIN_NO(78) | STM32_PIN_GPIO)
+#define STM32F429_PE14_FUNC_TIM1_CH4 (STM32_PIN_NO(78) | STM32_PIN_AF(1))
+#define STM32F429_PE14_FUNC_SPI4_MOSI (STM32_PIN_NO(78) | STM32_PIN_AF(5))
+#define STM32F429_PE14_FUNC_FMC_D11 (STM32_PIN_NO(78) | STM32_PIN_AF(12))
+#define STM32F429_PE14_FUNC_LCD_CLK (STM32_PIN_NO(78) | STM32_PIN_AF(14))
+#define STM32F429_PE14_FUNC_EVENTOUT (STM32_PIN_NO(78) | STM32_PIN_AF(15))
+#define STM32F429_PE14_FUNC_ANALOG (STM32_PIN_NO(78) | STM32_PIN_ANALOG)
+
+#define STM32F429_PE15_FUNC_GPIO (STM32_PIN_NO(79) | STM32_PIN_GPIO)
+#define STM32F429_PE15_FUNC_TIM1_BKIN (STM32_PIN_NO(79) | STM32_PIN_AF(1))
+#define STM32F429_PE15_FUNC_FMC_D12 (STM32_PIN_NO(79) | STM32_PIN_AF(12))
+#define STM32F429_PE15_FUNC_LCD_R7 (STM32_PIN_NO(79) | STM32_PIN_AF(14))
+#define STM32F429_PE15_FUNC_EVENTOUT (STM32_PIN_NO(79) | STM32_PIN_AF(15))
+#define STM32F429_PE15_FUNC_ANALOG (STM32_PIN_NO(79) | STM32_PIN_ANALOG)
+
+
+
+#define STM32F429_PF0_FUNC_GPIO (STM32_PIN_NO(80) | STM32_PIN_GPIO)
+#define STM32F429_PF0_FUNC_I2C2_SDA (STM32_PIN_NO(80) | STM32_PIN_AF(4))
+#define STM32F429_PF0_FUNC_FMC_A0 (STM32_PIN_NO(80) | STM32_PIN_AF(12))
+#define STM32F429_PF0_FUNC_EVENTOUT (STM32_PIN_NO(80) | STM32_PIN_AF(15))
+#define STM32F429_PF0_FUNC_ANALOG (STM32_PIN_NO(80) | STM32_PIN_ANALOG)
+
+#define STM32F429_PF1_FUNC_GPIO (STM32_PIN_NO(81) | STM32_PIN_GPIO)
+#define STM32F429_PF1_FUNC_I2C2_SCL (STM32_PIN_NO(81) | STM32_PIN_AF(4))
+#define STM32F429_PF1_FUNC_FMC_A1 (STM32_PIN_NO(81) | STM32_PIN_AF(12))
+#define STM32F429_PF1_FUNC_EVENTOUT (STM32_PIN_NO(81) | STM32_PIN_AF(15))
+#define STM32F429_PF1_FUNC_ANALOG (STM32_PIN_NO(81) | STM32_PIN_ANALOG)
+
+#define STM32F429_PF2_FUNC_GPIO (STM32_PIN_NO(82) | STM32_PIN_GPIO)
+#define STM32F429_PF2_FUNC_I2C2_SMBA (STM32_PIN_NO(82) | STM32_PIN_AF(4))
+#define STM32F429_PF2_FUNC_FMC_A2 (STM32_PIN_NO(82) | STM32_PIN_AF(12))
+#define STM32F429_PF2_FUNC_EVENTOUT (STM32_PIN_NO(82) | STM32_PIN_AF(15))
+#define STM32F429_PF2_FUNC_ANALOG (STM32_PIN_NO(82) | STM32_PIN_ANALOG)
+
+#define STM32F429_PF3_FUNC_GPIO (STM32_PIN_NO(83) | STM32_PIN_GPIO)
+#define STM32F429_PF3_FUNC_FMC_A3 (STM32_PIN_NO(83) | STM32_PIN_AF(12))
+#define STM32F429_PF3_FUNC_EVENTOUT (STM32_PIN_NO(83) | STM32_PIN_AF(15))
+#define STM32F429_PF3_FUNC_ANALOG (STM32_PIN_NO(83) | STM32_PIN_ANALOG)
+
+#define STM32F429_PF4_FUNC_GPIO (STM32_PIN_NO(84) | STM32_PIN_GPIO)
+#define STM32F429_PF4_FUNC_FMC_A4 (STM32_PIN_NO(84) | STM32_PIN_AF(12))
+#define STM32F429_PF4_FUNC_EVENTOUT (STM32_PIN_NO(84) | STM32_PIN_AF(15))
+#define STM32F429_PF4_FUNC_ANALOG (STM32_PIN_NO(84) | STM32_PIN_ANALOG)
+
+#define STM32F429_PF5_FUNC_GPIO (STM32_PIN_NO(85) | STM32_PIN_GPIO)
+#define STM32F429_PF5_FUNC_FMC_A5 (STM32_PIN_NO(85) | STM32_PIN_AF(12))
+#define STM32F429_PF5_FUNC_EVENTOUT (STM32_PIN_NO(85) | STM32_PIN_AF(15))
+#define STM32F429_PF5_FUNC_ANALOG (STM32_PIN_NO(85) | STM32_PIN_ANALOG)
+
+#define STM32F429_PF6_FUNC_GPIO (STM32_PIN_NO(86) | STM32_PIN_GPIO)
+#define STM32F429_PF6_FUNC_TIM10_CH1 (STM32_PIN_NO(86) | STM32_PIN_AF(3))
+#define STM32F429_PF6_FUNC_SPI5_NSS (STM32_PIN_NO(86) | STM32_PIN_AF(5))
+#define STM32F429_PF6_FUNC_SAI1_SD_B (STM32_PIN_NO(86) | STM32_PIN_AF(6))
+#define STM32F429_PF6_FUNC_UART7_RX (STM32_PIN_NO(86) | STM32_PIN_AF(8))
+#define STM32F429_PF6_FUNC_FMC_NIORD (STM32_PIN_NO(86) | STM32_PIN_AF(12))
+#define STM32F429_PF6_FUNC_EVENTOUT (STM32_PIN_NO(86) | STM32_PIN_AF(15))
+#define STM32F429_PF6_FUNC_ANALOG (STM32_PIN_NO(86) | STM32_PIN_ANALOG)
+
+#define STM32F429_PF7_FUNC_GPIO (STM32_PIN_NO(87) | STM32_PIN_GPIO)
+#define STM32F429_PF7_FUNC_TIM11_CH1 (STM32_PIN_NO(87) | STM32_PIN_AF(3))
+#define STM32F429_PF7_FUNC_SPI5_SCK (STM32_PIN_NO(87) | STM32_PIN_AF(5))
+#define STM32F429_PF7_FUNC_SAI1_MCLK_B (STM32_PIN_NO(87) | STM32_PIN_AF(6))
+#define STM32F429_PF7_FUNC_UART7_TX (STM32_PIN_NO(87) | STM32_PIN_AF(8))
+#define STM32F429_PF7_FUNC_FMC_NREG (STM32_PIN_NO(87) | STM32_PIN_AF(12))
+#define STM32F429_PF7_FUNC_EVENTOUT (STM32_PIN_NO(87) | STM32_PIN_AF(15))
+#define STM32F429_PF7_FUNC_ANALOG (STM32_PIN_NO(87) | STM32_PIN_ANALOG)
+
+#define STM32F429_PF8_FUNC_GPIO (STM32_PIN_NO(88) | STM32_PIN_GPIO)
+#define STM32F429_PF8_FUNC_SPI5_MISO (STM32_PIN_NO(88) | STM32_PIN_AF(5))
+#define STM32F429_PF8_FUNC_SAI1_SCK_B (STM32_PIN_NO(88) | STM32_PIN_AF(6))
+#define STM32F429_PF8_FUNC_TIM13_CH1 (STM32_PIN_NO(88) | STM32_PIN_AF(9))
+#define STM32F429_PF8_FUNC_FMC_NIOWR (STM32_PIN_NO(88) | STM32_PIN_AF(12))
+#define STM32F429_PF8_FUNC_EVENTOUT (STM32_PIN_NO(88) | STM32_PIN_AF(15))
+#define STM32F429_PF8_FUNC_ANALOG (STM32_PIN_NO(88) | STM32_PIN_ANALOG)
+
+#define STM32F429_PF9_FUNC_GPIO (STM32_PIN_NO(89) | STM32_PIN_GPIO)
+#define STM32F429_PF9_FUNC_SPI5_MOSI (STM32_PIN_NO(89) | STM32_PIN_AF(5))
+#define STM32F429_PF9_FUNC_SAI1_FS_B (STM32_PIN_NO(89) | STM32_PIN_AF(6))
+#define STM32F429_PF9_FUNC_TIM14_CH1 (STM32_PIN_NO(89) | STM32_PIN_AF(9))
+#define STM32F429_PF9_FUNC_FMC_CD (STM32_PIN_NO(89) | STM32_PIN_AF(12))
+#define STM32F429_PF9_FUNC_EVENTOUT (STM32_PIN_NO(89) | STM32_PIN_AF(15))
+#define STM32F429_PF9_FUNC_ANALOG (STM32_PIN_NO(89) | STM32_PIN_ANALOG)
+
+#define STM32F429_PF10_FUNC_GPIO (STM32_PIN_NO(90) | STM32_PIN_GPIO)
+#define STM32F429_PF10_FUNC_FMC_INTR (STM32_PIN_NO(90) | STM32_PIN_AF(12))
+#define STM32F429_PF10_FUNC_DCMI_D11 (STM32_PIN_NO(90) | STM32_PIN_AF(13))
+#define STM32F429_PF10_FUNC_LCD_DE (STM32_PIN_NO(90) | STM32_PIN_AF(14))
+#define STM32F429_PF10_FUNC_EVENTOUT (STM32_PIN_NO(90) | STM32_PIN_AF(15))
+#define STM32F429_PF10_FUNC_ANALOG (STM32_PIN_NO(90) | STM32_PIN_ANALOG)
+
+#define STM32F429_PF11_FUNC_GPIO (STM32_PIN_NO(91) | STM32_PIN_GPIO)
+#define STM32F429_PF11_FUNC_SPI5_MOSI (STM32_PIN_NO(91) | STM32_PIN_AF(5))
+#define STM32F429_PF11_FUNC_FMC_SDNRAS (STM32_PIN_NO(91) | STM32_PIN_AF(12))
+#define STM32F429_PF11_FUNC_DCMI_D12 (STM32_PIN_NO(91) | STM32_PIN_AF(13))
+#define STM32F429_PF11_FUNC_EVENTOUT (STM32_PIN_NO(91) | STM32_PIN_AF(15))
+#define STM32F429_PF11_FUNC_ANALOG (STM32_PIN_NO(91) | STM32_PIN_ANALOG)
+
+#define STM32F429_PF12_FUNC_GPIO (STM32_PIN_NO(92) | STM32_PIN_GPIO)
+#define STM32F429_PF12_FUNC_FMC_A6 (STM32_PIN_NO(92) | STM32_PIN_AF(12))
+#define STM32F429_PF12_FUNC_EVENTOUT (STM32_PIN_NO(92) | STM32_PIN_AF(15))
+#define STM32F429_PF12_FUNC_ANALOG (STM32_PIN_NO(92) | STM32_PIN_ANALOG)
+
+#define STM32F429_PF13_FUNC_GPIO (STM32_PIN_NO(93) | STM32_PIN_GPIO)
+#define STM32F429_PF13_FUNC_FMC_A7 (STM32_PIN_NO(93) | STM32_PIN_AF(12))
+#define STM32F429_PF13_FUNC_EVENTOUT (STM32_PIN_NO(93) | STM32_PIN_AF(15))
+#define STM32F429_PF13_FUNC_ANALOG (STM32_PIN_NO(93) | STM32_PIN_ANALOG)
+
+#define STM32F429_PF14_FUNC_GPIO (STM32_PIN_NO(94) | STM32_PIN_GPIO)
+#define STM32F429_PF14_FUNC_FMC_A8 (STM32_PIN_NO(94) | STM32_PIN_AF(12))
+#define STM32F429_PF14_FUNC_EVENTOUT (STM32_PIN_NO(94) | STM32_PIN_AF(15))
+#define STM32F429_PF14_FUNC_ANALOG (STM32_PIN_NO(94) | STM32_PIN_ANALOG)
+
+#define STM32F429_PF15_FUNC_GPIO (STM32_PIN_NO(95) | STM32_PIN_GPIO)
+#define STM32F429_PF15_FUNC_FMC_A9 (STM32_PIN_NO(95) | STM32_PIN_AF(12))
+#define STM32F429_PF15_FUNC_EVENTOUT (STM32_PIN_NO(95) | STM32_PIN_AF(15))
+#define STM32F429_PF15_FUNC_ANALOG (STM32_PIN_NO(95) | STM32_PIN_ANALOG)
+
+
+
+#define STM32F429_PG0_FUNC_GPIO (STM32_PIN_NO(96) | STM32_PIN_GPIO)
+#define STM32F429_PG0_FUNC_FMC_A10 (STM32_PIN_NO(96) | STM32_PIN_AF(12))
+#define STM32F429_PG0_FUNC_EVENTOUT (STM32_PIN_NO(96) | STM32_PIN_AF(15))
+#define STM32F429_PG0_FUNC_ANALOG (STM32_PIN_NO(96) | STM32_PIN_ANALOG)
+
+#define STM32F429_PG1_FUNC_GPIO (STM32_PIN_NO(97) | STM32_PIN_GPIO)
+#define STM32F429_PG1_FUNC_FMC_A11 (STM32_PIN_NO(97) | STM32_PIN_AF(12))
+#define STM32F429_PG1_FUNC_EVENTOUT (STM32_PIN_NO(97) | STM32_PIN_AF(15))
+#define STM32F429_PG1_FUNC_ANALOG (STM32_PIN_NO(97) | STM32_PIN_ANALOG)
+
+#define STM32F429_PG2_FUNC_GPIO (STM32_PIN_NO(98) | STM32_PIN_GPIO)
+#define STM32F429_PG2_FUNC_FMC_A12 (STM32_PIN_NO(98) | STM32_PIN_AF(12))
+#define STM32F429_PG2_FUNC_EVENTOUT (STM32_PIN_NO(98) | STM32_PIN_AF(15))
+#define STM32F429_PG2_FUNC_ANALOG (STM32_PIN_NO(98) | STM32_PIN_ANALOG)
+
+#define STM32F429_PG3_FUNC_GPIO (STM32_PIN_NO(99) | STM32_PIN_GPIO)
+#define STM32F429_PG3_FUNC_FMC_A13 (STM32_PIN_NO(99) | STM32_PIN_AF(12))
+#define STM32F429_PG3_FUNC_EVENTOUT (STM32_PIN_NO(99) | STM32_PIN_AF(15))
+#define STM32F429_PG3_FUNC_ANALOG (STM32_PIN_NO(99) | STM32_PIN_ANALOG)
+
+#define STM32F429_PG4_FUNC_GPIO (STM32_PIN_NO(100) | STM32_PIN_GPIO)
+#define STM32F429_PG4_FUNC_FMC_A14 FMC_BA0 (STM32_PIN_NO(100) | STM32_PIN_AF(12))
+#define STM32F429_PG4_FUNC_EVENTOUT (STM32_PIN_NO(100) | STM32_PIN_AF(15))
+#define STM32F429_PG4_FUNC_ANALOG (STM32_PIN_NO(100) | STM32_PIN_ANALOG)
+
+#define STM32F429_PG5_FUNC_GPIO (STM32_PIN_NO(101) | STM32_PIN_GPIO)
+#define STM32F429_PG5_FUNC_FMC_A15 FMC_BA1 (STM32_PIN_NO(101) | STM32_PIN_AF(12))
+#define STM32F429_PG5_FUNC_EVENTOUT (STM32_PIN_NO(101) | STM32_PIN_AF(15))
+#define STM32F429_PG5_FUNC_ANALOG (STM32_PIN_NO(101) | STM32_PIN_ANALOG)
+
+#define STM32F429_PG6_FUNC_GPIO (STM32_PIN_NO(102) | STM32_PIN_GPIO)
+#define STM32F429_PG6_FUNC_FMC_INT2 (STM32_PIN_NO(102) | STM32_PIN_AF(12))
+#define STM32F429_PG6_FUNC_DCMI_D12 (STM32_PIN_NO(102) | STM32_PIN_AF(13))
+#define STM32F429_PG6_FUNC_LCD_R7 (STM32_PIN_NO(102) | STM32_PIN_AF(14))
+#define STM32F429_PG6_FUNC_EVENTOUT (STM32_PIN_NO(102) | STM32_PIN_AF(15))
+#define STM32F429_PG6_FUNC_ANALOG (STM32_PIN_NO(102) | STM32_PIN_ANALOG)
+
+#define STM32F429_PG7_FUNC_GPIO (STM32_PIN_NO(103) | STM32_PIN_GPIO)
+#define STM32F429_PG7_FUNC_USART6_CK (STM32_PIN_NO(103) | STM32_PIN_AF(8))
+#define STM32F429_PG7_FUNC_FMC_INT3 (STM32_PIN_NO(103) | STM32_PIN_AF(12))
+#define STM32F429_PG7_FUNC_DCMI_D13 (STM32_PIN_NO(103) | STM32_PIN_AF(13))
+#define STM32F429_PG7_FUNC_LCD_CLK (STM32_PIN_NO(103) | STM32_PIN_AF(14))
+#define STM32F429_PG7_FUNC_EVENTOUT (STM32_PIN_NO(103) | STM32_PIN_AF(15))
+#define STM32F429_PG7_FUNC_ANALOG (STM32_PIN_NO(103) | STM32_PIN_ANALOG)
+
+#define STM32F429_PG8_FUNC_GPIO (STM32_PIN_NO(104) | STM32_PIN_GPIO)
+#define STM32F429_PG8_FUNC_SPI6_NSS (STM32_PIN_NO(104) | STM32_PIN_AF(5))
+#define STM32F429_PG8_FUNC_USART6_RTS (STM32_PIN_NO(104) | STM32_PIN_AF(8))
+#define STM32F429_PG8_FUNC_ETH_PPS_OUT (STM32_PIN_NO(104) | STM32_PIN_AF(11))
+#define STM32F429_PG8_FUNC_FMC_SDCLK (STM32_PIN_NO(104) | STM32_PIN_AF(12))
+#define STM32F429_PG8_FUNC_EVENTOUT (STM32_PIN_NO(104) | STM32_PIN_AF(15))
+#define STM32F429_PG8_FUNC_ANALOG (STM32_PIN_NO(104) | STM32_PIN_ANALOG)
+
+#define STM32F429_PG9_FUNC_GPIO (STM32_PIN_NO(105) | STM32_PIN_GPIO)
+#define STM32F429_PG9_FUNC_USART6_RX (STM32_PIN_NO(105) | STM32_PIN_AF(8))
+#define STM32F429_PG9_FUNC_FMC_NE2 FMC_NCE3 (STM32_PIN_NO(105) | STM32_PIN_AF(12))
+#define STM32F429_PG9_FUNC_DCMI_VSYNC (STM32_PIN_NO(105) | STM32_PIN_AF(13))
+#define STM32F429_PG9_FUNC_EVENTOUT (STM32_PIN_NO(105) | STM32_PIN_AF(15))
+#define STM32F429_PG9_FUNC_ANALOG (STM32_PIN_NO(105) | STM32_PIN_ANALOG)
+
+#define STM32F429_PG10_FUNC_GPIO (STM32_PIN_NO(106) | STM32_PIN_GPIO)
+#define STM32F429_PG10_FUNC_LCD_G3 (STM32_PIN_NO(106) | STM32_PIN_AF(9))
+#define STM32F429_PG10_FUNC_FMC_NCE4_1 FMC_NE3 (STM32_PIN_NO(106) | STM32_PIN_AF(12))
+#define STM32F429_PG10_FUNC_DCMI_D2 (STM32_PIN_NO(106) | STM32_PIN_AF(13))
+#define STM32F429_PG10_FUNC_LCD_B2 (STM32_PIN_NO(106) | STM32_PIN_AF(14))
+#define STM32F429_PG10_FUNC_EVENTOUT (STM32_PIN_NO(106) | STM32_PIN_AF(15))
+#define STM32F429_PG10_FUNC_ANALOG (STM32_PIN_NO(106) | STM32_PIN_ANALOG)
+
+#define STM32F429_PG11_FUNC_GPIO (STM32_PIN_NO(107) | STM32_PIN_GPIO)
+#define STM32F429_PG11_FUNC_ETH_MII_TX_EN ETH_RMII_TX_EN (STM32_PIN_NO(107) | STM32_PIN_AF(11))
+#define STM32F429_PG11_FUNC_FMC_NCE4_2 (STM32_PIN_NO(107) | STM32_PIN_AF(12))
+#define STM32F429_PG11_FUNC_DCMI_D3 (STM32_PIN_NO(107) | STM32_PIN_AF(13))
+#define STM32F429_PG11_FUNC_LCD_B3 (STM32_PIN_NO(107) | STM32_PIN_AF(14))
+#define STM32F429_PG11_FUNC_EVENTOUT (STM32_PIN_NO(107) | STM32_PIN_AF(15))
+#define STM32F429_PG11_FUNC_ANALOG (STM32_PIN_NO(107) | STM32_PIN_ANALOG)
+
+#define STM32F429_PG12_FUNC_GPIO (STM32_PIN_NO(108) | STM32_PIN_GPIO)
+#define STM32F429_PG12_FUNC_SPI6_MISO (STM32_PIN_NO(108) | STM32_PIN_AF(5))
+#define STM32F429_PG12_FUNC_USART6_RTS (STM32_PIN_NO(108) | STM32_PIN_AF(8))
+#define STM32F429_PG12_FUNC_LCD_B4 (STM32_PIN_NO(108) | STM32_PIN_AF(9))
+#define STM32F429_PG12_FUNC_FMC_NE4 (STM32_PIN_NO(108) | STM32_PIN_AF(12))
+#define STM32F429_PG12_FUNC_LCD_B1 (STM32_PIN_NO(108) | STM32_PIN_AF(14))
+#define STM32F429_PG12_FUNC_EVENTOUT (STM32_PIN_NO(108) | STM32_PIN_AF(15))
+#define STM32F429_PG12_FUNC_ANALOG (STM32_PIN_NO(108) | STM32_PIN_ANALOG)
+
+#define STM32F429_PG13_FUNC_GPIO (STM32_PIN_NO(109) | STM32_PIN_GPIO)
+#define STM32F429_PG13_FUNC_SPI6_SCK (STM32_PIN_NO(109) | STM32_PIN_AF(5))
+#define STM32F429_PG13_FUNC_USART6_CTS (STM32_PIN_NO(109) | STM32_PIN_AF(8))
+#define STM32F429_PG13_FUNC_ETH_MII_TXD0 ETH_RMII_TXD0 (STM32_PIN_NO(109) | STM32_PIN_AF(11))
+#define STM32F429_PG13_FUNC_FMC_A24 (STM32_PIN_NO(109) | STM32_PIN_AF(12))
+#define STM32F429_PG13_FUNC_EVENTOUT (STM32_PIN_NO(109) | STM32_PIN_AF(15))
+#define STM32F429_PG13_FUNC_ANALOG (STM32_PIN_NO(109) | STM32_PIN_ANALOG)
+
+#define STM32F429_PG14_FUNC_GPIO (STM32_PIN_NO(110) | STM32_PIN_GPIO)
+#define STM32F429_PG14_FUNC_SPI6_MOSI (STM32_PIN_NO(110) | STM32_PIN_AF(5))
+#define STM32F429_PG14_FUNC_USART6_TX (STM32_PIN_NO(110) | STM32_PIN_AF(8))
+#define STM32F429_PG14_FUNC_ETH_MII_TXD1 ETH_RMII_TXD1 (STM32_PIN_NO(110) | STM32_PIN_AF(11))
+#define STM32F429_PG14_FUNC_FMC_A25 (STM32_PIN_NO(110) | STM32_PIN_AF(12))
+#define STM32F429_PG14_FUNC_EVENTOUT (STM32_PIN_NO(110) | STM32_PIN_AF(15))
+#define STM32F429_PG14_FUNC_ANALOG (STM32_PIN_NO(110) | STM32_PIN_ANALOG)
+
+#define STM32F429_PG15_FUNC_GPIO (STM32_PIN_NO(111) | STM32_PIN_GPIO)
+#define STM32F429_PG15_FUNC_USART6_CTS (STM32_PIN_NO(111) | STM32_PIN_AF(8))
+#define STM32F429_PG15_FUNC_FMC_SDNCAS (STM32_PIN_NO(111) | STM32_PIN_AF(12))
+#define STM32F429_PG15_FUNC_DCMI_D13 (STM32_PIN_NO(111) | STM32_PIN_AF(13))
+#define STM32F429_PG15_FUNC_EVENTOUT (STM32_PIN_NO(111) | STM32_PIN_AF(15))
+#define STM32F429_PG15_FUNC_ANALOG (STM32_PIN_NO(111) | STM32_PIN_ANALOG)
+
+
+
+#define STM32F429_PH0_FUNC_GPIO (STM32_PIN_NO(112) | STM32_PIN_GPIO)
+#define STM32F429_PH0_FUNC_EVENTOUT (STM32_PIN_NO(112) | STM32_PIN_AF(15))
+#define STM32F429_PH0_FUNC_ANALOG (STM32_PIN_NO(112) | STM32_PIN_ANALOG)
+
+#define STM32F429_PH1_FUNC_GPIO (STM32_PIN_NO(113) | STM32_PIN_GPIO)
+#define STM32F429_PH1_FUNC_EVENTOUT (STM32_PIN_NO(113) | STM32_PIN_AF(15))
+#define STM32F429_PH1_FUNC_ANALOG (STM32_PIN_NO(113) | STM32_PIN_ANALOG)
+
+#define STM32F429_PH2_FUNC_GPIO (STM32_PIN_NO(114) | STM32_PIN_GPIO)
+#define STM32F429_PH2_FUNC_ETH_MII_CRS (STM32_PIN_NO(114) | STM32_PIN_AF(11))
+#define STM32F429_PH2_FUNC_FMC_SDCKE0 (STM32_PIN_NO(114) | STM32_PIN_AF(12))
+#define STM32F429_PH2_FUNC_LCD_R0 (STM32_PIN_NO(114) | STM32_PIN_AF(14))
+#define STM32F429_PH2_FUNC_EVENTOUT (STM32_PIN_NO(114) | STM32_PIN_AF(15))
+#define STM32F429_PH2_FUNC_ANALOG (STM32_PIN_NO(114) | STM32_PIN_ANALOG)
+
+#define STM32F429_PH3_FUNC_GPIO (STM32_PIN_NO(115) | STM32_PIN_GPIO)
+#define STM32F429_PH3_FUNC_ETH_MII_COL (STM32_PIN_NO(115) | STM32_PIN_AF(11))
+#define STM32F429_PH3_FUNC_FMC_SDNE0 (STM32_PIN_NO(115) | STM32_PIN_AF(12))
+#define STM32F429_PH3_FUNC_LCD_R1 (STM32_PIN_NO(115) | STM32_PIN_AF(14))
+#define STM32F429_PH3_FUNC_EVENTOUT (STM32_PIN_NO(115) | STM32_PIN_AF(15))
+#define STM32F429_PH3_FUNC_ANALOG (STM32_PIN_NO(115) | STM32_PIN_ANALOG)
+
+#define STM32F429_PH4_FUNC_GPIO (STM32_PIN_NO(116) | STM32_PIN_GPIO)
+#define STM32F429_PH4_FUNC_I2C2_SCL (STM32_PIN_NO(116) | STM32_PIN_AF(4))
+#define STM32F429_PH4_FUNC_OTG_HS_ULPI_NXT (STM32_PIN_NO(116) | STM32_PIN_AF(10))
+#define STM32F429_PH4_FUNC_EVENTOUT (STM32_PIN_NO(116) | STM32_PIN_AF(15))
+#define STM32F429_PH4_FUNC_ANALOG (STM32_PIN_NO(116) | STM32_PIN_ANALOG)
+
+#define STM32F429_PH5_FUNC_GPIO (STM32_PIN_NO(117) | STM32_PIN_GPIO)
+#define STM32F429_PH5_FUNC_I2C2_SDA (STM32_PIN_NO(117) | STM32_PIN_AF(4))
+#define STM32F429_PH5_FUNC_SPI5_NSS (STM32_PIN_NO(117) | STM32_PIN_AF(5))
+#define STM32F429_PH5_FUNC_FMC_SDNWE (STM32_PIN_NO(117) | STM32_PIN_AF(12))
+#define STM32F429_PH5_FUNC_EVENTOUT (STM32_PIN_NO(117) | STM32_PIN_AF(15))
+#define STM32F429_PH5_FUNC_ANALOG (STM32_PIN_NO(117) | STM32_PIN_ANALOG)
+
+#define STM32F429_PH6_FUNC_GPIO (STM32_PIN_NO(118) | STM32_PIN_GPIO)
+#define STM32F429_PH6_FUNC_I2C2_SMBA (STM32_PIN_NO(118) | STM32_PIN_AF(4))
+#define STM32F429_PH6_FUNC_SPI5_SCK (STM32_PIN_NO(118) | STM32_PIN_AF(5))
+#define STM32F429_PH6_FUNC_TIM12_CH1 (STM32_PIN_NO(118) | STM32_PIN_AF(9))
+#define STM32F429_PH6_FUNC_ETH_MII_RXD2 (STM32_PIN_NO(118) | STM32_PIN_AF(11))
+#define STM32F429_PH6_FUNC_FMC_SDNE1 (STM32_PIN_NO(118) | STM32_PIN_AF(12))
+#define STM32F429_PH6_FUNC_DCMI_D8 (STM32_PIN_NO(118) | STM32_PIN_AF(13))
+#define STM32F429_PH6_FUNC_EVENTOUT (STM32_PIN_NO(118) | STM32_PIN_AF(15))
+#define STM32F429_PH6_FUNC_ANALOG (STM32_PIN_NO(118) | STM32_PIN_ANALOG)
+
+#define STM32F429_PH7_FUNC_GPIO (STM32_PIN_NO(119) | STM32_PIN_GPIO)
+#define STM32F429_PH7_FUNC_I2C3_SCL (STM32_PIN_NO(119) | STM32_PIN_AF(4))
+#define STM32F429_PH7_FUNC_SPI5_MISO (STM32_PIN_NO(119) | STM32_PIN_AF(5))
+#define STM32F429_PH7_FUNC_ETH_MII_RXD3 (STM32_PIN_NO(119) | STM32_PIN_AF(11))
+#define STM32F429_PH7_FUNC_FMC_SDCKE1 (STM32_PIN_NO(119) | STM32_PIN_AF(12))
+#define STM32F429_PH7_FUNC_DCMI_D9 (STM32_PIN_NO(119) | STM32_PIN_AF(13))
+#define STM32F429_PH7_FUNC_EVENTOUT (STM32_PIN_NO(119) | STM32_PIN_AF(15))
+#define STM32F429_PH7_FUNC_ANALOG (STM32_PIN_NO(119) | STM32_PIN_ANALOG)
+
+#define STM32F429_PH8_FUNC_GPIO (STM32_PIN_NO(120) | STM32_PIN_GPIO)
+#define STM32F429_PH8_FUNC_I2C3_SDA (STM32_PIN_NO(120) | STM32_PIN_AF(4))
+#define STM32F429_PH8_FUNC_FMC_D16 (STM32_PIN_NO(120) | STM32_PIN_AF(12))
+#define STM32F429_PH8_FUNC_DCMI_HSYNC (STM32_PIN_NO(120) | STM32_PIN_AF(13))
+#define STM32F429_PH8_FUNC_LCD_R2 (STM32_PIN_NO(120) | STM32_PIN_AF(14))
+#define STM32F429_PH8_FUNC_EVENTOUT (STM32_PIN_NO(120) | STM32_PIN_AF(15))
+#define STM32F429_PH8_FUNC_ANALOG (STM32_PIN_NO(120) | STM32_PIN_ANALOG)
+
+#define STM32F429_PH9_FUNC_GPIO (STM32_PIN_NO(121) | STM32_PIN_GPIO)
+#define STM32F429_PH9_FUNC_I2C3_SMBA (STM32_PIN_NO(121) | STM32_PIN_AF(4))
+#define STM32F429_PH9_FUNC_TIM12_CH2 (STM32_PIN_NO(121) | STM32_PIN_AF(9))
+#define STM32F429_PH9_FUNC_FMC_D17 (STM32_PIN_NO(121) | STM32_PIN_AF(12))
+#define STM32F429_PH9_FUNC_DCMI_D0 (STM32_PIN_NO(121) | STM32_PIN_AF(13))
+#define STM32F429_PH9_FUNC_LCD_R3 (STM32_PIN_NO(121) | STM32_PIN_AF(14))
+#define STM32F429_PH9_FUNC_EVENTOUT (STM32_PIN_NO(121) | STM32_PIN_AF(15))
+#define STM32F429_PH9_FUNC_ANALOG (STM32_PIN_NO(121) | STM32_PIN_ANALOG)
+
+#define STM32F429_PH10_FUNC_GPIO (STM32_PIN_NO(122) | STM32_PIN_GPIO)
+#define STM32F429_PH10_FUNC_TIM5_CH1 (STM32_PIN_NO(122) | STM32_PIN_AF(2))
+#define STM32F429_PH10_FUNC_FMC_D18 (STM32_PIN_NO(122) | STM32_PIN_AF(12))
+#define STM32F429_PH10_FUNC_DCMI_D1 (STM32_PIN_NO(122) | STM32_PIN_AF(13))
+#define STM32F429_PH10_FUNC_LCD_R4 (STM32_PIN_NO(122) | STM32_PIN_AF(14))
+#define STM32F429_PH10_FUNC_EVENTOUT (STM32_PIN_NO(122) | STM32_PIN_AF(15))
+#define STM32F429_PH10_FUNC_ANALOG (STM32_PIN_NO(122) | STM32_PIN_ANALOG)
+
+#define STM32F429_PH11_FUNC_GPIO (STM32_PIN_NO(123) | STM32_PIN_GPIO)
+#define STM32F429_PH11_FUNC_TIM5_CH2 (STM32_PIN_NO(123) | STM32_PIN_AF(2))
+#define STM32F429_PH11_FUNC_FMC_D19 (STM32_PIN_NO(123) | STM32_PIN_AF(12))
+#define STM32F429_PH11_FUNC_DCMI_D2 (STM32_PIN_NO(123) | STM32_PIN_AF(13))
+#define STM32F429_PH11_FUNC_LCD_R5 (STM32_PIN_NO(123) | STM32_PIN_AF(14))
+#define STM32F429_PH11_FUNC_EVENTOUT (STM32_PIN_NO(123) | STM32_PIN_AF(15))
+#define STM32F429_PH11_FUNC_ANALOG (STM32_PIN_NO(123) | STM32_PIN_ANALOG)
+
+#define STM32F429_PH12_FUNC_GPIO (STM32_PIN_NO(124) | STM32_PIN_GPIO)
+#define STM32F429_PH12_FUNC_TIM5_CH3 (STM32_PIN_NO(124) | STM32_PIN_AF(2))
+#define STM32F429_PH12_FUNC_FMC_D20 (STM32_PIN_NO(124) | STM32_PIN_AF(12))
+#define STM32F429_PH12_FUNC_DCMI_D3 (STM32_PIN_NO(124) | STM32_PIN_AF(13))
+#define STM32F429_PH12_FUNC_LCD_R6 (STM32_PIN_NO(124) | STM32_PIN_AF(14))
+#define STM32F429_PH12_FUNC_EVENTOUT (STM32_PIN_NO(124) | STM32_PIN_AF(15))
+#define STM32F429_PH12_FUNC_ANALOG (STM32_PIN_NO(124) | STM32_PIN_ANALOG)
+
+#define STM32F429_PH13_FUNC_GPIO (STM32_PIN_NO(125) | STM32_PIN_GPIO)
+#define STM32F429_PH13_FUNC_TIM8_CH1N (STM32_PIN_NO(125) | STM32_PIN_AF(3))
+#define STM32F429_PH13_FUNC_CAN1_TX (STM32_PIN_NO(125) | STM32_PIN_AF(9))
+#define STM32F429_PH13_FUNC_FMC_D21 (STM32_PIN_NO(125) | STM32_PIN_AF(12))
+#define STM32F429_PH13_FUNC_LCD_G2 (STM32_PIN_NO(125) | STM32_PIN_AF(14))
+#define STM32F429_PH13_FUNC_EVENTOUT (STM32_PIN_NO(125) | STM32_PIN_AF(15))
+#define STM32F429_PH13_FUNC_ANALOG (STM32_PIN_NO(125) | STM32_PIN_ANALOG)
+
+#define STM32F429_PH14_FUNC_GPIO (STM32_PIN_NO(126) | STM32_PIN_GPIO)
+#define STM32F429_PH14_FUNC_TIM8_CH2N (STM32_PIN_NO(126) | STM32_PIN_AF(3))
+#define STM32F429_PH14_FUNC_FMC_D22 (STM32_PIN_NO(126) | STM32_PIN_AF(12))
+#define STM32F429_PH14_FUNC_DCMI_D4 (STM32_PIN_NO(126) | STM32_PIN_AF(13))
+#define STM32F429_PH14_FUNC_LCD_G3 (STM32_PIN_NO(126) | STM32_PIN_AF(14))
+#define STM32F429_PH14_FUNC_EVENTOUT (STM32_PIN_NO(126) | STM32_PIN_AF(15))
+#define STM32F429_PH14_FUNC_ANALOG (STM32_PIN_NO(126) | STM32_PIN_ANALOG)
+
+#define STM32F429_PH15_FUNC_GPIO (STM32_PIN_NO(127) | STM32_PIN_GPIO)
+#define STM32F429_PH15_FUNC_TIM8_CH3N (STM32_PIN_NO(127) | STM32_PIN_AF(3))
+#define STM32F429_PH15_FUNC_FMC_D23 (STM32_PIN_NO(127) | STM32_PIN_AF(12))
+#define STM32F429_PH15_FUNC_DCMI_D11 (STM32_PIN_NO(127) | STM32_PIN_AF(13))
+#define STM32F429_PH15_FUNC_LCD_G4 (STM32_PIN_NO(127) | STM32_PIN_AF(14))
+#define STM32F429_PH15_FUNC_EVENTOUT (STM32_PIN_NO(127) | STM32_PIN_AF(15))
+#define STM32F429_PH15_FUNC_ANALOG (STM32_PIN_NO(127) | STM32_PIN_ANALOG)
+
+
+
+#define STM32F429_PI0_FUNC_GPIO (STM32_PIN_NO(128) | STM32_PIN_GPIO)
+#define STM32F429_PI0_FUNC_TIM5_CH4 (STM32_PIN_NO(128) | STM32_PIN_AF(2))
+#define STM32F429_PI0_FUNC_SPI2_NSS I2S2_WS (STM32_PIN_NO(128) | STM32_PIN_AF(5))
+#define STM32F429_PI0_FUNC_FMC_D24 (STM32_PIN_NO(128) | STM32_PIN_AF(12))
+#define STM32F429_PI0_FUNC_DCMI_D13 (STM32_PIN_NO(128) | STM32_PIN_AF(13))
+#define STM32F429_PI0_FUNC_LCD_G5 (STM32_PIN_NO(128) | STM32_PIN_AF(14))
+#define STM32F429_PI0_FUNC_EVENTOUT (STM32_PIN_NO(128) | STM32_PIN_AF(15))
+#define STM32F429_PI0_FUNC_ANALOG (STM32_PIN_NO(128) | STM32_PIN_ANALOG)
+
+#define STM32F429_PI1_FUNC_GPIO (STM32_PIN_NO(129) | STM32_PIN_GPIO)
+#define STM32F429_PI1_FUNC_SPI2_SCK I2S2_CK (STM32_PIN_NO(129) | STM32_PIN_AF(5))
+#define STM32F429_PI1_FUNC_FMC_D25 (STM32_PIN_NO(129) | STM32_PIN_AF(12))
+#define STM32F429_PI1_FUNC_DCMI_D8 (STM32_PIN_NO(129) | STM32_PIN_AF(13))
+#define STM32F429_PI1_FUNC_LCD_G6 (STM32_PIN_NO(129) | STM32_PIN_AF(14))
+#define STM32F429_PI1_FUNC_EVENTOUT (STM32_PIN_NO(129) | STM32_PIN_AF(15))
+#define STM32F429_PI1_FUNC_ANALOG (STM32_PIN_NO(129) | STM32_PIN_ANALOG)
+
+#define STM32F429_PI2_FUNC_GPIO (STM32_PIN_NO(130) | STM32_PIN_GPIO)
+#define STM32F429_PI2_FUNC_TIM8_CH4 (STM32_PIN_NO(130) | STM32_PIN_AF(3))
+#define STM32F429_PI2_FUNC_SPI2_MISO (STM32_PIN_NO(130) | STM32_PIN_AF(5))
+#define STM32F429_PI2_FUNC_I2S2EXT_SD (STM32_PIN_NO(130) | STM32_PIN_AF(6))
+#define STM32F429_PI2_FUNC_FMC_D26 (STM32_PIN_NO(130) | STM32_PIN_AF(12))
+#define STM32F429_PI2_FUNC_DCMI_D9 (STM32_PIN_NO(130) | STM32_PIN_AF(13))
+#define STM32F429_PI2_FUNC_LCD_G7 (STM32_PIN_NO(130) | STM32_PIN_AF(14))
+#define STM32F429_PI2_FUNC_EVENTOUT (STM32_PIN_NO(130) | STM32_PIN_AF(15))
+#define STM32F429_PI2_FUNC_ANALOG (STM32_PIN_NO(130) | STM32_PIN_ANALOG)
+
+#define STM32F429_PI3_FUNC_GPIO (STM32_PIN_NO(131) | STM32_PIN_GPIO)
+#define STM32F429_PI3_FUNC_TIM8_ETR (STM32_PIN_NO(131) | STM32_PIN_AF(3))
+#define STM32F429_PI3_FUNC_SPI2_MOSI I2S2_SD (STM32_PIN_NO(131) | STM32_PIN_AF(5))
+#define STM32F429_PI3_FUNC_FMC_D27 (STM32_PIN_NO(131) | STM32_PIN_AF(12))
+#define STM32F429_PI3_FUNC_DCMI_D10 (STM32_PIN_NO(131) | STM32_PIN_AF(13))
+#define STM32F429_PI3_FUNC_EVENTOUT (STM32_PIN_NO(131) | STM32_PIN_AF(15))
+#define STM32F429_PI3_FUNC_ANALOG (STM32_PIN_NO(131) | STM32_PIN_ANALOG)
+
+#define STM32F429_PI4_FUNC_GPIO (STM32_PIN_NO(132) | STM32_PIN_GPIO)
+#define STM32F429_PI4_FUNC_TIM8_BKIN (STM32_PIN_NO(132) | STM32_PIN_AF(3))
+#define STM32F429_PI4_FUNC_FMC_NBL2 (STM32_PIN_NO(132) | STM32_PIN_AF(12))
+#define STM32F429_PI4_FUNC_DCMI_D5 (STM32_PIN_NO(132) | STM32_PIN_AF(13))
+#define STM32F429_PI4_FUNC_LCD_B4 (STM32_PIN_NO(132) | STM32_PIN_AF(14))
+#define STM32F429_PI4_FUNC_EVENTOUT (STM32_PIN_NO(132) | STM32_PIN_AF(15))
+#define STM32F429_PI4_FUNC_ANALOG (STM32_PIN_NO(132) | STM32_PIN_ANALOG)
+
+#define STM32F429_PI5_FUNC_GPIO (STM32_PIN_NO(133) | STM32_PIN_GPIO)
+#define STM32F429_PI5_FUNC_TIM8_CH1 (STM32_PIN_NO(133) | STM32_PIN_AF(3))
+#define STM32F429_PI5_FUNC_FMC_NBL3 (STM32_PIN_NO(133) | STM32_PIN_AF(12))
+#define STM32F429_PI5_FUNC_DCMI_VSYNC (STM32_PIN_NO(133) | STM32_PIN_AF(13))
+#define STM32F429_PI5_FUNC_LCD_B5 (STM32_PIN_NO(133) | STM32_PIN_AF(14))
+#define STM32F429_PI5_FUNC_EVENTOUT (STM32_PIN_NO(133) | STM32_PIN_AF(15))
+#define STM32F429_PI5_FUNC_ANALOG (STM32_PIN_NO(133) | STM32_PIN_ANALOG)
+
+#define STM32F429_PI6_FUNC_GPIO (STM32_PIN_NO(134) | STM32_PIN_GPIO)
+#define STM32F429_PI6_FUNC_TIM8_CH2 (STM32_PIN_NO(134) | STM32_PIN_AF(3))
+#define STM32F429_PI6_FUNC_FMC_D28 (STM32_PIN_NO(134) | STM32_PIN_AF(12))
+#define STM32F429_PI6_FUNC_DCMI_D6 (STM32_PIN_NO(134) | STM32_PIN_AF(13))
+#define STM32F429_PI6_FUNC_LCD_B6 (STM32_PIN_NO(134) | STM32_PIN_AF(14))
+#define STM32F429_PI6_FUNC_EVENTOUT (STM32_PIN_NO(134) | STM32_PIN_AF(15))
+#define STM32F429_PI6_FUNC_ANALOG (STM32_PIN_NO(134) | STM32_PIN_ANALOG)
+
+#define STM32F429_PI7_FUNC_GPIO (STM32_PIN_NO(135) | STM32_PIN_GPIO)
+#define STM32F429_PI7_FUNC_TIM8_CH3 (STM32_PIN_NO(135) | STM32_PIN_AF(3))
+#define STM32F429_PI7_FUNC_FMC_D29 (STM32_PIN_NO(135) | STM32_PIN_AF(12))
+#define STM32F429_PI7_FUNC_DCMI_D7 (STM32_PIN_NO(135) | STM32_PIN_AF(13))
+#define STM32F429_PI7_FUNC_LCD_B7 (STM32_PIN_NO(135) | STM32_PIN_AF(14))
+#define STM32F429_PI7_FUNC_EVENTOUT (STM32_PIN_NO(135) | STM32_PIN_AF(15))
+#define STM32F429_PI7_FUNC_ANALOG (STM32_PIN_NO(135) | STM32_PIN_ANALOG)
+
+#define STM32F429_PI8_FUNC_GPIO (STM32_PIN_NO(136) | STM32_PIN_GPIO)
+#define STM32F429_PI8_FUNC_EVENTOUT (STM32_PIN_NO(136) | STM32_PIN_AF(15))
+#define STM32F429_PI8_FUNC_ANALOG (STM32_PIN_NO(136) | STM32_PIN_ANALOG)
+
+#define STM32F429_PI9_FUNC_GPIO (STM32_PIN_NO(137) | STM32_PIN_GPIO)
+#define STM32F429_PI9_FUNC_CAN1_RX (STM32_PIN_NO(137) | STM32_PIN_AF(9))
+#define STM32F429_PI9_FUNC_FMC_D30 (STM32_PIN_NO(137) | STM32_PIN_AF(12))
+#define STM32F429_PI9_FUNC_LCD_VSYNC (STM32_PIN_NO(137) | STM32_PIN_AF(14))
+#define STM32F429_PI9_FUNC_EVENTOUT (STM32_PIN_NO(137) | STM32_PIN_AF(15))
+#define STM32F429_PI9_FUNC_ANALOG (STM32_PIN_NO(137) | STM32_PIN_ANALOG)
+
+#define STM32F429_PI10_FUNC_GPIO (STM32_PIN_NO(138) | STM32_PIN_GPIO)
+#define STM32F429_PI10_FUNC_ETH_MII_RX_ER (STM32_PIN_NO(138) | STM32_PIN_AF(11))
+#define STM32F429_PI10_FUNC_FMC_D31 (STM32_PIN_NO(138) | STM32_PIN_AF(12))
+#define STM32F429_PI10_FUNC_LCD_HSYNC (STM32_PIN_NO(138) | STM32_PIN_AF(14))
+#define STM32F429_PI10_FUNC_EVENTOUT (STM32_PIN_NO(138) | STM32_PIN_AF(15))
+#define STM32F429_PI10_FUNC_ANALOG (STM32_PIN_NO(138) | STM32_PIN_ANALOG)
+
+#define STM32F429_PI11_FUNC_GPIO (STM32_PIN_NO(139) | STM32_PIN_GPIO)
+#define STM32F429_PI11_FUNC_OTG_HS_ULPI_DIR (STM32_PIN_NO(139) | STM32_PIN_AF(10))
+#define STM32F429_PI11_FUNC_EVENTOUT (STM32_PIN_NO(139) | STM32_PIN_AF(15))
+#define STM32F429_PI11_FUNC_ANALOG (STM32_PIN_NO(139) | STM32_PIN_ANALOG)
+
+#define STM32F429_PI12_FUNC_GPIO (STM32_PIN_NO(140) | STM32_PIN_GPIO)
+#define STM32F429_PI12_FUNC_LCD_HSYNC (STM32_PIN_NO(140) | STM32_PIN_AF(14))
+#define STM32F429_PI12_FUNC_EVENTOUT (STM32_PIN_NO(140) | STM32_PIN_AF(15))
+#define STM32F429_PI12_FUNC_ANALOG (STM32_PIN_NO(140) | STM32_PIN_ANALOG)
+
+#define STM32F429_PI13_FUNC_GPIO (STM32_PIN_NO(141) | STM32_PIN_GPIO)
+#define STM32F429_PI13_FUNC_LCD_VSYNC (STM32_PIN_NO(141) | STM32_PIN_AF(14))
+#define STM32F429_PI13_FUNC_EVENTOUT (STM32_PIN_NO(141) | STM32_PIN_AF(15))
+#define STM32F429_PI13_FUNC_ANALOG (STM32_PIN_NO(141) | STM32_PIN_ANALOG)
+
+#define STM32F429_PI14_FUNC_GPIO (STM32_PIN_NO(142) | STM32_PIN_GPIO)
+#define STM32F429_PI14_FUNC_LCD_CLK (STM32_PIN_NO(142) | STM32_PIN_AF(14))
+#define STM32F429_PI14_FUNC_EVENTOUT (STM32_PIN_NO(142) | STM32_PIN_AF(15))
+#define STM32F429_PI14_FUNC_ANALOG (STM32_PIN_NO(142) | STM32_PIN_ANALOG)
+
+#define STM32F429_PI15_FUNC_GPIO (STM32_PIN_NO(143) | STM32_PIN_GPIO)
+#define STM32F429_PI15_FUNC_LCD_R0 (STM32_PIN_NO(143) | STM32_PIN_AF(14))
+#define STM32F429_PI15_FUNC_EVENTOUT (STM32_PIN_NO(143) | STM32_PIN_AF(15))
+#define STM32F429_PI15_FUNC_ANALOG (STM32_PIN_NO(143) | STM32_PIN_ANALOG)
+
+
+
+#define STM32F429_PJ0_FUNC_GPIO (STM32_PIN_NO(144) | STM32_PIN_GPIO)
+#define STM32F429_PJ0_FUNC_LCD_R1 (STM32_PIN_NO(144) | STM32_PIN_AF(14))
+#define STM32F429_PJ0_FUNC_EVENTOUT (STM32_PIN_NO(144) | STM32_PIN_AF(15))
+#define STM32F429_PJ0_FUNC_ANALOG (STM32_PIN_NO(144) | STM32_PIN_ANALOG)
+
+#define STM32F429_PJ1_FUNC_GPIO (STM32_PIN_NO(145) | STM32_PIN_GPIO)
+#define STM32F429_PJ1_FUNC_LCD_R2 (STM32_PIN_NO(145) | STM32_PIN_AF(14))
+#define STM32F429_PJ1_FUNC_EVENTOUT (STM32_PIN_NO(145) | STM32_PIN_AF(15))
+#define STM32F429_PJ1_FUNC_ANALOG (STM32_PIN_NO(145) | STM32_PIN_ANALOG)
+
+#define STM32F429_PJ2_FUNC_GPIO (STM32_PIN_NO(146) | STM32_PIN_GPIO)
+#define STM32F429_PJ2_FUNC_LCD_R3 (STM32_PIN_NO(146) | STM32_PIN_AF(14))
+#define STM32F429_PJ2_FUNC_EVENTOUT (STM32_PIN_NO(146) | STM32_PIN_AF(15))
+#define STM32F429_PJ2_FUNC_ANALOG (STM32_PIN_NO(146) | STM32_PIN_ANALOG)
+
+#define STM32F429_PJ3_FUNC_GPIO (STM32_PIN_NO(147) | STM32_PIN_GPIO)
+#define STM32F429_PJ3_FUNC_LCD_R4 (STM32_PIN_NO(147) | STM32_PIN_AF(14))
+#define STM32F429_PJ3_FUNC_EVENTOUT (STM32_PIN_NO(147) | STM32_PIN_AF(15))
+#define STM32F429_PJ3_FUNC_ANALOG (STM32_PIN_NO(147) | STM32_PIN_ANALOG)
+
+#define STM32F429_PJ4_FUNC_GPIO (STM32_PIN_NO(148) | STM32_PIN_GPIO)
+#define STM32F429_PJ4_FUNC_LCD_R5 (STM32_PIN_NO(148) | STM32_PIN_AF(14))
+#define STM32F429_PJ4_FUNC_EVENTOUT (STM32_PIN_NO(148) | STM32_PIN_AF(15))
+#define STM32F429_PJ4_FUNC_ANALOG (STM32_PIN_NO(148) | STM32_PIN_ANALOG)
+
+#define STM32F429_PJ5_FUNC_GPIO (STM32_PIN_NO(149) | STM32_PIN_GPIO)
+#define STM32F429_PJ5_FUNC_LCD_R6 (STM32_PIN_NO(149) | STM32_PIN_AF(14))
+#define STM32F429_PJ5_FUNC_EVENTOUT (STM32_PIN_NO(149) | STM32_PIN_AF(15))
+#define STM32F429_PJ5_FUNC_ANALOG (STM32_PIN_NO(149) | STM32_PIN_ANALOG)
+
+#define STM32F429_PJ6_FUNC_GPIO (STM32_PIN_NO(150) | STM32_PIN_GPIO)
+#define STM32F429_PJ6_FUNC_LCD_R7 (STM32_PIN_NO(150) | STM32_PIN_AF(14))
+#define STM32F429_PJ6_FUNC_EVENTOUT (STM32_PIN_NO(150) | STM32_PIN_AF(15))
+#define STM32F429_PJ6_FUNC_ANALOG (STM32_PIN_NO(150) | STM32_PIN_ANALOG)
+
+#define STM32F429_PJ7_FUNC_GPIO (STM32_PIN_NO(151) | STM32_PIN_GPIO)
+#define STM32F429_PJ7_FUNC_LCD_G0 (STM32_PIN_NO(151) | STM32_PIN_AF(14))
+#define STM32F429_PJ7_FUNC_EVENTOUT (STM32_PIN_NO(151) | STM32_PIN_AF(15))
+#define STM32F429_PJ7_FUNC_ANALOG (STM32_PIN_NO(151) | STM32_PIN_ANALOG)
+
+#define STM32F429_PJ8_FUNC_GPIO (STM32_PIN_NO(152) | STM32_PIN_GPIO)
+#define STM32F429_PJ8_FUNC_LCD_G1 (STM32_PIN_NO(152) | STM32_PIN_AF(14))
+#define STM32F429_PJ8_FUNC_EVENTOUT (STM32_PIN_NO(152) | STM32_PIN_AF(15))
+#define STM32F429_PJ8_FUNC_ANALOG (STM32_PIN_NO(152) | STM32_PIN_ANALOG)
+
+#define STM32F429_PJ9_FUNC_GPIO (STM32_PIN_NO(153) | STM32_PIN_GPIO)
+#define STM32F429_PJ9_FUNC_LCD_G2 (STM32_PIN_NO(153) | STM32_PIN_AF(14))
+#define STM32F429_PJ9_FUNC_EVENTOUT (STM32_PIN_NO(153) | STM32_PIN_AF(15))
+#define STM32F429_PJ9_FUNC_ANALOG (STM32_PIN_NO(153) | STM32_PIN_ANALOG)
+
+#define STM32F429_PJ10_FUNC_GPIO (STM32_PIN_NO(154) | STM32_PIN_GPIO)
+#define STM32F429_PJ10_FUNC_LCD_G3 (STM32_PIN_NO(154) | STM32_PIN_AF(14))
+#define STM32F429_PJ10_FUNC_EVENTOUT (STM32_PIN_NO(154) | STM32_PIN_AF(15))
+#define STM32F429_PJ10_FUNC_ANALOG (STM32_PIN_NO(154) | STM32_PIN_ANALOG)
+
+#define STM32F429_PJ11_FUNC_GPIO (STM32_PIN_NO(155) | STM32_PIN_GPIO)
+#define STM32F429_PJ11_FUNC_LCD_G4 (STM32_PIN_NO(155) | STM32_PIN_AF(14))
+#define STM32F429_PJ11_FUNC_EVENTOUT (STM32_PIN_NO(155) | STM32_PIN_AF(15))
+#define STM32F429_PJ11_FUNC_ANALOG (STM32_PIN_NO(155) | STM32_PIN_ANALOG)
+
+#define STM32F429_PJ12_FUNC_GPIO (STM32_PIN_NO(156) | STM32_PIN_GPIO)
+#define STM32F429_PJ12_FUNC_LCD_B0 (STM32_PIN_NO(156) | STM32_PIN_AF(14))
+#define STM32F429_PJ12_FUNC_EVENTOUT (STM32_PIN_NO(156) | STM32_PIN_AF(15))
+#define STM32F429_PJ12_FUNC_ANALOG (STM32_PIN_NO(156) | STM32_PIN_ANALOG)
+
+#define STM32F429_PJ13_FUNC_GPIO (STM32_PIN_NO(157) | STM32_PIN_GPIO)
+#define STM32F429_PJ13_FUNC_LCD_B1 (STM32_PIN_NO(157) | STM32_PIN_AF(14))
+#define STM32F429_PJ13_FUNC_EVENTOUT (STM32_PIN_NO(157) | STM32_PIN_AF(15))
+#define STM32F429_PJ13_FUNC_ANALOG (STM32_PIN_NO(157) | STM32_PIN_ANALOG)
+
+#define STM32F429_PJ14_FUNC_GPIO (STM32_PIN_NO(158) | STM32_PIN_GPIO)
+#define STM32F429_PJ14_FUNC_LCD_B2 (STM32_PIN_NO(158) | STM32_PIN_AF(14))
+#define STM32F429_PJ14_FUNC_EVENTOUT (STM32_PIN_NO(158) | STM32_PIN_AF(15))
+#define STM32F429_PJ14_FUNC_ANALOG (STM32_PIN_NO(158) | STM32_PIN_ANALOG)
+
+#define STM32F429_PJ15_FUNC_GPIO (STM32_PIN_NO(159) | STM32_PIN_GPIO)
+#define STM32F429_PJ15_FUNC_LCD_B3 (STM32_PIN_NO(159) | STM32_PIN_AF(14))
+#define STM32F429_PJ15_FUNC_EVENTOUT (STM32_PIN_NO(159) | STM32_PIN_AF(15))
+#define STM32F429_PJ15_FUNC_ANALOG (STM32_PIN_NO(159) | STM32_PIN_ANALOG)
+
+
+
+#define STM32F429_PK0_FUNC_GPIO (STM32_PIN_NO(160) | STM32_PIN_GPIO)
+#define STM32F429_PK0_FUNC_LCD_G5 (STM32_PIN_NO(160) | STM32_PIN_AF(14))
+#define STM32F429_PK0_FUNC_EVENTOUT (STM32_PIN_NO(160) | STM32_PIN_AF(15))
+#define STM32F429_PK0_FUNC_ANALOG (STM32_PIN_NO(160) | STM32_PIN_ANALOG)
+
+#define STM32F429_PK1_FUNC_GPIO (STM32_PIN_NO(161) | STM32_PIN_GPIO)
+#define STM32F429_PK1_FUNC_LCD_G6 (STM32_PIN_NO(161) | STM32_PIN_AF(14))
+#define STM32F429_PK1_FUNC_EVENTOUT (STM32_PIN_NO(161) | STM32_PIN_AF(15))
+#define STM32F429_PK1_FUNC_ANALOG (STM32_PIN_NO(161) | STM32_PIN_ANALOG)
+
+#define STM32F429_PK2_FUNC_GPIO (STM32_PIN_NO(162) | STM32_PIN_GPIO)
+#define STM32F429_PK2_FUNC_LCD_G7 (STM32_PIN_NO(162) | STM32_PIN_AF(14))
+#define STM32F429_PK2_FUNC_EVENTOUT (STM32_PIN_NO(162) | STM32_PIN_AF(15))
+#define STM32F429_PK2_FUNC_ANALOG (STM32_PIN_NO(162) | STM32_PIN_ANALOG)
+
+#define STM32F429_PK3_FUNC_GPIO (STM32_PIN_NO(163) | STM32_PIN_GPIO)
+#define STM32F429_PK3_FUNC_LCD_B4 (STM32_PIN_NO(163) | STM32_PIN_AF(14))
+#define STM32F429_PK3_FUNC_EVENTOUT (STM32_PIN_NO(163) | STM32_PIN_AF(15))
+#define STM32F429_PK3_FUNC_ANALOG (STM32_PIN_NO(163) | STM32_PIN_ANALOG)
+
+#define STM32F429_PK4_FUNC_GPIO (STM32_PIN_NO(164) | STM32_PIN_GPIO)
+#define STM32F429_PK4_FUNC_LCD_B5 (STM32_PIN_NO(164) | STM32_PIN_AF(14))
+#define STM32F429_PK4_FUNC_EVENTOUT (STM32_PIN_NO(164) | STM32_PIN_AF(15))
+#define STM32F429_PK4_FUNC_ANALOG (STM32_PIN_NO(164) | STM32_PIN_ANALOG)
+
+#define STM32F429_PK5_FUNC_GPIO (STM32_PIN_NO(165) | STM32_PIN_GPIO)
+#define STM32F429_PK5_FUNC_LCD_B6 (STM32_PIN_NO(165) | STM32_PIN_AF(14))
+#define STM32F429_PK5_FUNC_EVENTOUT (STM32_PIN_NO(165) | STM32_PIN_AF(15))
+#define STM32F429_PK5_FUNC_ANALOG (STM32_PIN_NO(165) | STM32_PIN_ANALOG)
+
+#define STM32F429_PK6_FUNC_GPIO (STM32_PIN_NO(166) | STM32_PIN_GPIO)
+#define STM32F429_PK6_FUNC_LCD_B7 (STM32_PIN_NO(166) | STM32_PIN_AF(14))
+#define STM32F429_PK6_FUNC_EVENTOUT (STM32_PIN_NO(166) | STM32_PIN_AF(15))
+#define STM32F429_PK6_FUNC_ANALOG (STM32_PIN_NO(166) | STM32_PIN_ANALOG)
+
+#define STM32F429_PK7_FUNC_GPIO (STM32_PIN_NO(167) | STM32_PIN_GPIO)
+#define STM32F429_PK7_FUNC_LCD_DE (STM32_PIN_NO(167) | STM32_PIN_AF(14))
+#define STM32F429_PK7_FUNC_EVENTOUT (STM32_PIN_NO(167) | STM32_PIN_AF(15))
+#define STM32F429_PK7_FUNC_ANALOG (STM32_PIN_NO(167) | STM32_PIN_ANALOG)
+
+#endif /* _DT_BINDINGS_STM32F429_PINFUNC_H */
Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com> --- include/dt-bindings/pinctrl/pinctrl-stm32.h | 12 + include/dt-bindings/pinctrl/stm32f429-pinfunc.h | 1241 +++++++++++++++++++++++ 2 files changed, 1253 insertions(+) create mode 100644 include/dt-bindings/pinctrl/pinctrl-stm32.h create mode 100644 include/dt-bindings/pinctrl/stm32f429-pinfunc.h