Linux Audio
Check our new training course
Embedded Linux Audio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
/* * Copyright (c) 2017 RnDity Sp. z o.o. * * SPDX-License-Identifier: Apache-2.0 */ #ifndef ZEPHYR_DRIVERS_PINMUX_STM32_PINMUX_STM32F3_H_ #define ZEPHYR_DRIVERS_PINMUX_STM32_PINMUX_STM32F3_H_ /** * @file Header for STM32F3 pin multiplexing helper */ /* * Note: * The SPIx_SCK pin speed must be set to HIGH ('11') to avoid last data bit * corruption which is a known issue of STM32F3 SPI peripheral (see errata * sheets). */ #define STM32F3_PINMUX_FUNC_PA9_USART1_TX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP) #define STM32F3_PINMUX_FUNC_PA10_USART1_RX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL) #define STM32F3_PINMUX_FUNC_PC4_USART1_TX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP) #define STM32F3_PINMUX_FUNC_PC5_USART1_RX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL) #define STM32F3_PINMUX_FUNC_PA2_USART2_TX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP) #define STM32F3_PINMUX_FUNC_PA3_USART2_RX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL) #ifdef CONFIG_SOC_STM32F302X8 #define STM32F3_PINMUX_FUNC_PA0_PWM2_CH1 \ (STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_NOPULL) #endif #ifndef CONFIG_SOC_STM32F334X8 #define STM32F3_PINMUX_FUNC_PD5_USART2_TX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP) #define STM32F3_PINMUX_FUNC_PD6_USART2_RX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL) #endif #if CONFIG_SOC_STM32F302X8 || CONFIG_SOC_STM32F303XC #define STM32F3_PINMUX_FUNC_PA9_I2C2_SCL \ (STM32_PINMUX_ALT_FUNC_4 | STM32_OPENDRAIN_PULLUP) #define STM32F3_PINMUX_FUNC_PA10_I2C2_SDA \ (STM32_PINMUX_ALT_FUNC_4 | STM32_OPENDRAIN_PULLUP) #define STM32F3_PINMUX_FUNC_PB6_I2C1_SCL \ (STM32_PINMUX_ALT_FUNC_4 | STM32_OPENDRAIN_PULLUP) #define STM32F3_PINMUX_FUNC_PB7_I2C1_SDA \ (STM32_PINMUX_ALT_FUNC_4 | STM32_OPENDRAIN_PULLUP) #define STM32F3_PINMUX_FUNC_PB10_USART3_TX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP) #define STM32F3_PINMUX_FUNC_PB11_USART3_RX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL) #define STM32F3_PINMUX_FUNC_PC10_USART3_TX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP) #define STM32F3_PINMUX_FUNC_PC11_USART3_RX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL) #define STM32F3_PINMUX_FUNC_PF0_I2C2_SDA \ (STM32_PINMUX_ALT_FUNC_4 | STM32_OPENDRAIN_PULLUP) #define STM32F3_PINMUX_FUNC_PF1_I2C2_SCL \ (STM32_PINMUX_ALT_FUNC_4 | STM32_OPENDRAIN_PULLUP) #elif CONFIG_SOC_STM32F334X8 #define STM32F3_PINMUX_FUNC_PB8_USART3_RX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL) #define STM32F3_PINMUX_FUNC_PB9_USART3_TX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP) #define STM32F3_PINMUX_FUNC_PB10_USART3_TX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP) #define STM32F3_PINMUX_FUNC_PB11_USART3_RX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL) #elif CONFIG_SOC_STM32F373XC #define STM32F3_PINMUX_FUNC_PB8_USART3_TX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP) #define STM32F3_PINMUX_FUNC_PB9_USART3_RX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_NOPULL) #define STM32F3_PINMUX_FUNC_PB10_USART3_TX \ (STM32_PINMUX_ALT_FUNC_7 | STM32_PUSHPULL_PULLUP) #endif #define STM32F3_PINMUX_FUNC_PA4_SPI1_NSS \ (STM32_PINMUX_ALT_FUNC_5 | STM32_PUSHPULL_NOPULL) #define STM32F3_PINMUX_FUNC_PA5_SPI1_SCK \ (STM32_PINMUX_ALT_FUNC_5 | STM32_PUSHPULL_NOPULL | \ STM32_OSPEEDR_VERY_HIGH_SPEED) #define STM32F3_PINMUX_FUNC_PA6_SPI1_MISO \ (STM32_PINMUX_ALT_FUNC_5 | STM32_PUSHPULL_NOPULL) #define STM32F3_PINMUX_FUNC_PA7_SPI1_MOSI \ (STM32_PINMUX_ALT_FUNC_5 | STM32_PUSHPULL_NOPULL) #define STM32F3_PINMUX_FUNC_PA8_PWM1_CH1 \ (STM32_PINMUX_ALT_FUNC_6 | STM32_PUSHPULL_NOPULL) #define STM32F3_PINMUX_FUNC_PA11_USB_DM \ (STM32_PINMUX_ALT_FUNC_14 | STM32_PUSHPULL_NOPULL) #define STM32F3_PINMUX_FUNC_PA12_USB_DP \ (STM32_PINMUX_ALT_FUNC_14 | STM32_PUSHPULL_NOPULL) #define STM32F3_PINMUX_FUNC_PB8_I2C1_SCL \ (STM32_PINMUX_ALT_FUNC_4 | STM32_OPENDRAIN_PULLUP) #define STM32F3_PINMUX_FUNC_PB9_I2C1_SDA \ (STM32_PINMUX_ALT_FUNC_4 | STM32_OPENDRAIN_PULLUP) #define STM32F3_PINMUX_FUNC_PB12_SPI2_NSS \ (STM32_PINMUX_ALT_FUNC_5 | STM32_PUSHPULL_NOPULL) #define STM32F3_PINMUX_FUNC_PB13_SPI2_SCK \ (STM32_PINMUX_ALT_FUNC_5 | STM32_PUSHPULL_NOPULL | \ STM32_OSPEEDR_VERY_HIGH_SPEED) #define STM32F3_PINMUX_FUNC_PB14_SPI2_MISO \ (STM32_PINMUX_ALT_FUNC_5 | STM32_PUSHPULL_NOPULL) #define STM32F3_PINMUX_FUNC_PB15_SPI2_MOSI \ (STM32_PINMUX_ALT_FUNC_5 | STM32_PUSHPULL_NOPULL) #endif /* ZEPHYR_DRIVERS_PINMUX_STM32_PINMUX_STM32F3_H_ */