drivers: pinmux: stm32: Complete STM32F0 series
Fix some wrong assignments for SPI2 and add all other alternative functions for USART, I2C, SPI and CAN according to STM32F091VC datasheet, which is at the top end of this series. https://www.st.com/resource/en/datasheet/stm32f091vc.pdf Signed-off-by: Martin Jäger <martin@libre.solar>
This commit is contained in:
parent
14d55bcad8
commit
e55483495e
1 changed files with 165 additions and 10 deletions
|
@ -1,6 +1,7 @@
|
|||
/*
|
||||
* Copyright (c) 2017 RnDity Sp. z o.o.
|
||||
* Copyright (c) 2019 Centaur Analytics, Inc
|
||||
* Copyright (c) 2020 Libre Solar Technologies GmbH
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
@ -19,16 +20,18 @@
|
|||
* sheets).
|
||||
*/
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PB6_USART1_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PB7_USART1_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
/* USART1 */
|
||||
#define STM32F0_PINMUX_FUNC_PA9_USART1_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PA10_USART1_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PB6_USART1_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PB7_USART1_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
/* USART2 */
|
||||
#define STM32F0_PINMUX_FUNC_PA2_USART2_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PA3_USART2_RX \
|
||||
|
@ -44,11 +47,129 @@
|
|||
#define STM32F0_PINMUX_FUNC_PD6_USART2_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
/* USART3 */
|
||||
#define STM32F0_PINMUX_FUNC_PB10_USART3_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_4 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PB11_USART3_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_4 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PC4_USART3_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PC5_USART3_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PC10_USART3_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PC11_USART3_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PD8_USART3_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PD9_USART3_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
/* USART4 */
|
||||
#define STM32F0_PINMUX_FUNC_PA0_USART4_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_4 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PA1_USART4_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_4 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PC10_USART4_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PC11_USART4_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PE8_USART4_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PE9_USART4_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
/* USART5 */
|
||||
#define STM32F0_PINMUX_FUNC_PB3_USART5_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_4 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PB4_USART5_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_4 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PC12_USART5_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_2 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PD2_USART5_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_2 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PE10_USART5_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PE11_USART5_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
/* USART6 */
|
||||
#define STM32F0_PINMUX_FUNC_PA4_USART6_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_5 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PA5_USART6_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_5 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PC0_USART6_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_2 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PC1_USART6_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_2 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PF9_USART6_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PF10_USART6_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
/* USART7 */
|
||||
#define STM32F0_PINMUX_FUNC_PC0_USART7_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PC1_USART7_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PC6_USART7_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PC7_USART7_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PF2_USART7_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PF3_USART7_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
/* USART8 */
|
||||
#define STM32F0_PINMUX_FUNC_PC2_USART8_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_2 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PC3_USART8_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_2 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PC8_USART8_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PC9_USART8_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PD13_USART8_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PD14_USART8_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUPDR_NO_PULL)
|
||||
|
||||
/* I2C1 */
|
||||
#define STM32F0_PINMUX_FUNC_PA9_I2C1_SCL \
|
||||
(STM32_PINMUX_ALT_FUNC_4 | STM32_OPENDRAIN_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PA10_I2C1_SDA \
|
||||
(STM32_PINMUX_ALT_FUNC_4 | STM32_OPENDRAIN_PULLUP)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PB6_I2C1_SCL \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_OPENDRAIN_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PB7_I2C1_SDA \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_OPENDRAIN_PULLUP)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PB8_I2C1_SCL \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_OPENDRAIN_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PB9_I2C1_SDA \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_OPENDRAIN_PULLUP)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PF0_I2C1_SCL \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_OPENDRAIN_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PF1_I2C1_SDA \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_OPENDRAIN_PULLUP)
|
||||
|
||||
/* I2C2 */
|
||||
#define STM32F0_PINMUX_FUNC_PA11_I2C2_SCL \
|
||||
(STM32_PINMUX_ALT_FUNC_5 | STM32_OPENDRAIN_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PA12_I2C2_SDA \
|
||||
|
@ -59,6 +180,12 @@
|
|||
#define STM32F0_PINMUX_FUNC_PB11_I2C2_SDA \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_OPENDRAIN_PULLUP)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PB13_I2C2_SCL \
|
||||
(STM32_PINMUX_ALT_FUNC_5 | STM32_OPENDRAIN_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PB14_I2C2_SDA \
|
||||
(STM32_PINMUX_ALT_FUNC_5 | STM32_OPENDRAIN_PULLUP)
|
||||
|
||||
/* SPI1 */
|
||||
#define STM32F0_PINMUX_FUNC_PA4_SPI1_NSS \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PA5_SPI1_SCK \
|
||||
|
@ -79,6 +206,17 @@
|
|||
#define STM32F0_PINMUX_FUNC_PB5_SPI1_MOSI \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUPDR_PULL_DOWN)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PE12_SPI1_NSS \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PE13_SPI1_SCK \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_NOPULL | \
|
||||
STM32_OSPEEDR_VERY_HIGH_SPEED)
|
||||
#define STM32F0_PINMUX_FUNC_PE14_SPI1_MISO \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_PULL_DOWN)
|
||||
#define STM32F0_PINMUX_FUNC_PE15_SPI1_MOSI \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_PULL_DOWN)
|
||||
|
||||
/* SPI2 */
|
||||
#define STM32F0_PINMUX_FUNC_PB12_SPI2_NSS \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PB13_SPI2_SCK \
|
||||
|
@ -89,26 +227,43 @@
|
|||
#define STM32F0_PINMUX_FUNC_PB15_SPI2_MOSI \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUPDR_PULL_DOWN)
|
||||
|
||||
/* Available on STM32F030xC devices only. */
|
||||
#define STM32F0_PINMUX_FUNC_PB9_SPI2_NSS \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUSHPULL_PULLUP)
|
||||
(STM32_PINMUX_ALT_FUNC_5 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PB10_SPI2_SCK \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUSHPULL_NOPULL | \
|
||||
(STM32_PINMUX_ALT_FUNC_5 | STM32_PUSHPULL_NOPULL | \
|
||||
STM32_OSPEEDR_VERY_HIGH_SPEED)
|
||||
#define STM32F0_PINMUX_FUNC_PC2_SPI2_MISO \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUPDR_PULL_DOWN)
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_PULL_DOWN)
|
||||
#define STM32F0_PINMUX_FUNC_PC3_SPI2_MOSI \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUPDR_PULL_DOWN)
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_PULL_DOWN)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PD0_SPI2_NSS \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_PULLUP)
|
||||
#define STM32F0_PINMUX_FUNC_PD1_SPI2_SCK \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUSHPULL_NOPULL | \
|
||||
STM32_OSPEEDR_VERY_HIGH_SPEED)
|
||||
#define STM32F0_PINMUX_FUNC_PD3_SPI2_MISO \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_PULL_DOWN)
|
||||
#define STM32F0_PINMUX_FUNC_PD4_SPI2_MOSI \
|
||||
(STM32_PINMUX_ALT_FUNC_1 | STM32_PUPDR_PULL_DOWN)
|
||||
|
||||
/* CAN */
|
||||
#define STM32F0_PINMUX_FUNC_PA11_CAN_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_4 | STM32_PUSHPULL_NOPULL)
|
||||
#define STM32F0_PINMUX_FUNC_PA12_CAN_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_4 | STM32_PUSHPULL_NOPULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PB8_CAN_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_4 | STM32_PUSHPULL_NOPULL)
|
||||
#define STM32F0_PINMUX_FUNC_PB9_CAN_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_4 | STM32_PUSHPULL_NOPULL)
|
||||
|
||||
#define STM32F0_PINMUX_FUNC_PD0_CAN_RX \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUPDR_PULL_UP)
|
||||
#define STM32F0_PINMUX_FUNC_PD1_CAN_TX \
|
||||
(STM32_PINMUX_ALT_FUNC_0 | STM32_PUSHPULL_NOPULL)
|
||||
|
||||
/* ADC */
|
||||
#define STM32F0_PINMUX_FUNC_PA0_ADC_IN0 \
|
||||
STM32_MODER_ANALOG_MODE
|
||||
#define STM32F0_PINMUX_FUNC_PA1_ADC_IN1 \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue