From 3f503e87ccaa25ce4ae5d5fdc2b7196867229727 Mon Sep 17 00:00:00 2001 From: Erwan Gouriou Date: Mon, 24 Jan 2022 16:37:47 +0100 Subject: [PATCH] boards: nucleo_h723zg: Enable SPI Enable SPI on nucleo_h723zg board Signed-off-by: Erwan Gouriou --- .../nucleo_h723zg/arduino_r3_connector.dtsi | 2 +- boards/arm/nucleo_h723zg/doc/index.rst | 3 +++ boards/arm/nucleo_h723zg/nucleo_h723zg.dts | 7 +++++++ boards/arm/nucleo_h723zg/nucleo_h723zg.yaml | 2 ++ .../spi_loopback/boards/nucleo_h723zg.overlay | 19 +++++++++++++++++++ 5 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 tests/drivers/spi/spi_loopback/boards/nucleo_h723zg.overlay diff --git a/boards/arm/nucleo_h723zg/arduino_r3_connector.dtsi b/boards/arm/nucleo_h723zg/arduino_r3_connector.dtsi index 172fadfabee..6d5288633d2 100644 --- a/boards/arm/nucleo_h723zg/arduino_r3_connector.dtsi +++ b/boards/arm/nucleo_h723zg/arduino_r3_connector.dtsi @@ -35,5 +35,5 @@ }; arduino_i2c: &i2c1 {}; - +arduino_spi: &spi1 {}; arduino_serial: &uart8 {}; diff --git a/boards/arm/nucleo_h723zg/doc/index.rst b/boards/arm/nucleo_h723zg/doc/index.rst index 3df5540abff..4bf531006b8 100644 --- a/boards/arm/nucleo_h723zg/doc/index.rst +++ b/boards/arm/nucleo_h723zg/doc/index.rst @@ -107,6 +107,8 @@ features: +-------------+------------+-------------------------------------+ | I2C | on-chip | i2c | +-------------+------------+-------------------------------------+ +| SPI | on-chip | spi | ++-------------+------------+-------------------------------------+ | PWM | on-chip | pwm | +-------------+------------+-------------------------------------+ | ETHERNET | on-chip | ethernet | @@ -135,6 +137,7 @@ and a ST morpho connector. Board is configured as follows: - LD2 : PB7 - LD3 : PB14 - I2C : PB8, PB9 +- SPI1 NSS/SCK/MISO/MOSI : PD14PA5/PA6/PB5 (Arduino SPI) System Clock ------------ diff --git a/boards/arm/nucleo_h723zg/nucleo_h723zg.dts b/boards/arm/nucleo_h723zg/nucleo_h723zg.dts index 02e1ed590f2..171b825f943 100644 --- a/boards/arm/nucleo_h723zg/nucleo_h723zg.dts +++ b/boards/arm/nucleo_h723zg/nucleo_h723zg.dts @@ -115,6 +115,13 @@ status = "okay"; }; +&spi1 { + status = "okay"; + pinctrl-0 = <&spi1_sck_pa5 &spi1_miso_pa6 &spi1_mosi_pb5>; + pinctrl-names = "default"; + cs-gpios = <&gpiod 14 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; +}; + &i2c1 { pinctrl-0 = <&i2c1_scl_pb8 &i2c1_sda_pb9>; pinctrl-names = "default"; diff --git a/boards/arm/nucleo_h723zg/nucleo_h723zg.yaml b/boards/arm/nucleo_h723zg/nucleo_h723zg.yaml index 0539a8926fb..98a6a0efcf5 100644 --- a/boards/arm/nucleo_h723zg/nucleo_h723zg.yaml +++ b/boards/arm/nucleo_h723zg/nucleo_h723zg.yaml @@ -11,10 +11,12 @@ flash: 1024 supported: - arduino_gpio - arduino_i2c + - arduino_spi - uart - gpio - counter - i2c - pwm + - spi - netif:eth - backup_sram diff --git a/tests/drivers/spi/spi_loopback/boards/nucleo_h723zg.overlay b/tests/drivers/spi/spi_loopback/boards/nucleo_h723zg.overlay new file mode 100644 index 00000000000..acfb504ab4a --- /dev/null +++ b/tests/drivers/spi/spi_loopback/boards/nucleo_h723zg.overlay @@ -0,0 +1,19 @@ +/* + * Copyright (c) 2021 STMicroelectronics + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/* Set div-q to get test clk freq into acceptable SPI freq range */ +&pll { + /delete-property/ div-q; + div-q = <8>; +}; + +/* Define PLL1_Q as SPI1 kernel clock source */ +&spi1 { + /delete-property/ clocks; + clocks = <&rcc STM32_CLOCK_BUS_APB2 0x00001000>, + <&rcc STM32_SRC_PLL1_Q SPI123_SEL(0)>; + clock-names = "reg", "kernel"; +};