boards: arm: nucleo_f756zg: Added SPI support
Added support for SPI 1 available from the arduino connector (plus an extra gpio). Tested against samples/sensor/bme280. Added warnings in documentation, pinmux and dts highlighting a potential conflict if using SPI_1 and on-board ethernet at the same time. Signed-off-by: AJ Palmer <ajpcode@hotmail.com>
This commit is contained in:
parent
98d551039e
commit
a8ce329cc9
5 changed files with 36 additions and 1 deletions
|
@ -51,4 +51,11 @@ config PWM_STM32_1
|
||||||
|
|
||||||
endif # PWM
|
endif # PWM
|
||||||
|
|
||||||
|
if SPI
|
||||||
|
|
||||||
|
config SPI_1
|
||||||
|
default y
|
||||||
|
|
||||||
|
endif # SPI
|
||||||
|
|
||||||
endif # BOARD_NUCLEO_F756ZG
|
endif # BOARD_NUCLEO_F756ZG
|
||||||
|
|
|
@ -112,6 +112,8 @@ features:
|
||||||
+-----------+------------+-------------------------------------+
|
+-----------+------------+-------------------------------------+
|
||||||
| PWM | on-chip | pwm |
|
| PWM | on-chip | pwm |
|
||||||
+-----------+------------+-------------------------------------+
|
+-----------+------------+-------------------------------------+
|
||||||
|
| SPI | on-chip | spi |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
|
||||||
Other hardware features are not yet supported on this Zephyr port.
|
Other hardware features are not yet supported on this Zephyr port.
|
||||||
|
|
||||||
|
@ -138,6 +140,10 @@ and a ST morpho connector. Board is configured as follows:
|
||||||
- USB DP : PA12
|
- USB DP : PA12
|
||||||
- I2C : PB8, PB9
|
- I2C : PB8, PB9
|
||||||
- PWM : PE13
|
- PWM : PE13
|
||||||
|
- SPI : PA4, PA5, PA6, PA7
|
||||||
|
|
||||||
|
Note. The Arduino Uno v3 specified SPI device conflicts with the on-board ETH
|
||||||
|
device on pin PA7.
|
||||||
|
|
||||||
System Clock
|
System Clock
|
||||||
------------
|
------------
|
||||||
|
|
|
@ -52,6 +52,7 @@
|
||||||
|
|
||||||
arduino_serial: &usart6 {};
|
arduino_serial: &usart6 {};
|
||||||
arduino_i2c: &i2c1 {};
|
arduino_i2c: &i2c1 {};
|
||||||
|
arduino_spi: &spi1 {};
|
||||||
|
|
||||||
&usart2 {
|
&usart2 {
|
||||||
current-speed = <115200>;
|
current-speed = <115200>;
|
||||||
|
@ -90,3 +91,11 @@ arduino_i2c: &i2c1 {};
|
||||||
status = "ok";
|
status = "ok";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
&spi1 {
|
||||||
|
/*
|
||||||
|
* WARNING: The pin PA7 will conflict on selection of SPI_1 and
|
||||||
|
* ETH_STM32_HAL. See pinmux.c for further details.
|
||||||
|
*/
|
||||||
|
status = "ok";
|
||||||
|
};
|
||||||
|
|
|
@ -14,3 +14,4 @@ supported:
|
||||||
- usb_device
|
- usb_device
|
||||||
- i2c
|
- i2c
|
||||||
- pwm
|
- pwm
|
||||||
|
- spi
|
||||||
|
|
|
@ -12,7 +12,13 @@
|
||||||
|
|
||||||
#include <pinmux/stm32/pinmux_stm32.h>
|
#include <pinmux/stm32/pinmux_stm32.h>
|
||||||
|
|
||||||
/* NUCLEO-F756ZG pin configurations */
|
/* NUCLEO-F756ZG pin configurations
|
||||||
|
*
|
||||||
|
* WARNING: The pin PA7 will conflict on selection of SPI_1 and ETH_STM32_HAL.
|
||||||
|
* If you require both peripherals, and you do not need Arduino Uno v3
|
||||||
|
* comaptability, the pin PB5 (also on ST Zio connector) can be used
|
||||||
|
* for the SPI_1 MOSI signal.
|
||||||
|
*/
|
||||||
static const struct pin_config pinconf[] = {
|
static const struct pin_config pinconf[] = {
|
||||||
#ifdef CONFIG_UART_2
|
#ifdef CONFIG_UART_2
|
||||||
{ STM32_PIN_PD5, STM32F7_PINMUX_FUNC_PD5_USART2_TX },
|
{ STM32_PIN_PD5, STM32F7_PINMUX_FUNC_PD5_USART2_TX },
|
||||||
|
@ -50,6 +56,12 @@ static const struct pin_config pinconf[] = {
|
||||||
#ifdef CONFIG_PWM_STM32_1
|
#ifdef CONFIG_PWM_STM32_1
|
||||||
{ STM32_PIN_PE13, STM32F7_PINMUX_FUNC_PE13_PWM1_CH3 },
|
{ STM32_PIN_PE13, STM32F7_PINMUX_FUNC_PE13_PWM1_CH3 },
|
||||||
#endif /* CONFIG_PWM_STM32_1 */
|
#endif /* CONFIG_PWM_STM32_1 */
|
||||||
|
#ifdef CONFIG_SPI_1
|
||||||
|
{ STM32_PIN_PA4, STM32F7_PINMUX_FUNC_PA4_SPI1_NSS },
|
||||||
|
{ STM32_PIN_PA5, STM32F7_PINMUX_FUNC_PA5_SPI1_SCK },
|
||||||
|
{ STM32_PIN_PA6, STM32F7_PINMUX_FUNC_PA6_SPI1_MISO },
|
||||||
|
{ STM32_PIN_PA7, STM32F7_PINMUX_FUNC_PA7_SPI1_MOSI },
|
||||||
|
#endif /* CONFIG_SPI_1 */
|
||||||
};
|
};
|
||||||
|
|
||||||
static int pinmux_stm32_init(struct device *port)
|
static int pinmux_stm32_init(struct device *port)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue