From 44a5198a99e2ae2ada1a832c7600810f050986a4 Mon Sep 17 00:00:00 2001 From: IBEN EL HADJ MESSAOUD Marwa Date: Sat, 1 Jun 2024 01:01:53 +0200 Subject: [PATCH] boards: st: add stm32h533re board support Add board support for stm32h533re Signed-off-by: IBEN EL HADJ MESSAOUD Marwa --- boards/st/nucleo_h533re/Kconfig.nucleo_h533re | 5 + .../nucleo_h533re/arduino_r3_connector.dtsi | 38 +++ boards/st/nucleo_h533re/board.cmake | 11 + boards/st/nucleo_h533re/board.yml | 5 + .../nucleo_h533re/doc/img/nucleo_h533re.jpg | Bin 0 -> 90356 bytes boards/st/nucleo_h533re/doc/index.rst | 306 ++++++++++++++++++ boards/st/nucleo_h533re/nucleo_h533re.dts | 137 ++++++++ boards/st/nucleo_h533re/nucleo_h533re.yaml | 17 + .../st/nucleo_h533re/nucleo_h533re_defconfig | 16 + .../st/nucleo_h533re/st_morpho_connector.dtsi | 65 ++++ 10 files changed, 600 insertions(+) create mode 100644 boards/st/nucleo_h533re/Kconfig.nucleo_h533re create mode 100644 boards/st/nucleo_h533re/arduino_r3_connector.dtsi create mode 100644 boards/st/nucleo_h533re/board.cmake create mode 100644 boards/st/nucleo_h533re/board.yml create mode 100644 boards/st/nucleo_h533re/doc/img/nucleo_h533re.jpg create mode 100644 boards/st/nucleo_h533re/doc/index.rst create mode 100644 boards/st/nucleo_h533re/nucleo_h533re.dts create mode 100644 boards/st/nucleo_h533re/nucleo_h533re.yaml create mode 100644 boards/st/nucleo_h533re/nucleo_h533re_defconfig create mode 100644 boards/st/nucleo_h533re/st_morpho_connector.dtsi diff --git a/boards/st/nucleo_h533re/Kconfig.nucleo_h533re b/boards/st/nucleo_h533re/Kconfig.nucleo_h533re new file mode 100644 index 00000000000..3d48952fb58 --- /dev/null +++ b/boards/st/nucleo_h533re/Kconfig.nucleo_h533re @@ -0,0 +1,5 @@ +# Copyright (c) 2024 STMicroelectronics +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_NUCLEO_H533RE + select SOC_STM32H533XX diff --git a/boards/st/nucleo_h533re/arduino_r3_connector.dtsi b/boards/st/nucleo_h533re/arduino_r3_connector.dtsi new file mode 100644 index 00000000000..15bb1aab0bf --- /dev/null +++ b/boards/st/nucleo_h533re/arduino_r3_connector.dtsi @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2024 STMicroelectronics + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + arduino_header: connector { + compatible = "arduino-header-r3"; + #gpio-cells = <2>; + gpio-map-mask = <0xffffffff 0xffffffc0>; + gpio-map-pass-thru = <0 0x3f>; + gpio-map = <0 0 &gpioa 0 0>, /* A0 */ + <1 0 &gpioa 1 0>, /* A1 */ + <2 0 &gpiob 1 0>, /* A2 */ + <3 0 &gpiob 0 0>, /* A3 */ + <4 0 &gpioc 1 0>, /* A4 */ + <5 0 &gpioc 0 0>, /* A5 */ + <6 0 &gpiob 15 0>, /* D0 */ + <7 0 &gpiob 14 0>, /* D1 */ + <8 0 &gpioc 8 0>, /* D2 */ + <9 0 &gpiob 3 0>, /* D3 */ + <10 0 &gpiob 5 0>, /* D4 */ + <11 0 &gpiob 4 0>, /* D5 */ + <12 0 &gpiob 10 0>, /* D6 */ + <13 0 &gpioa 8 0>, /* D7 */ + <14 0 &gpioc 7 0>, /* D8 */ + <15 0 &gpioc 6 0>, /* D9 */ + <16 0 &gpioc 9 0>, /* D10 */ + <17 0 &gpioa 7 0>, /* D11 */ + <18 0 &gpioa 6 0>, /* D12 */ + <19 0 &gpioa 5 0>, /* D13 */ + <20 0 &gpiob 7 0>, /* D14 */ + <21 0 &gpiob 6 0>; /* D15 */ + }; +}; + +arduino_serial: &usart1 {}; diff --git a/boards/st/nucleo_h533re/board.cmake b/boards/st/nucleo_h533re/board.cmake new file mode 100644 index 00000000000..cec3a36c403 --- /dev/null +++ b/boards/st/nucleo_h533re/board.cmake @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: Apache-2.0 + +board_runner_args(stm32cubeprogrammer "--erase" "--port=swd" "--reset-mode=hw") + +board_runner_args(pyocd "--target=stm32h533retx") + +board_runner_args(jlink "--device=STM32H533RE" "--reset-after-load") + +include(${ZEPHYR_BASE}/boards/common/stm32cubeprogrammer.board.cmake) +include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake) +include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake) diff --git a/boards/st/nucleo_h533re/board.yml b/boards/st/nucleo_h533re/board.yml new file mode 100644 index 00000000000..4b633011b71 --- /dev/null +++ b/boards/st/nucleo_h533re/board.yml @@ -0,0 +1,5 @@ +board: + name: nucleo_h533re + vendor: st + socs: + - name: stm32h533xx diff --git a/boards/st/nucleo_h533re/doc/img/nucleo_h533re.jpg b/boards/st/nucleo_h533re/doc/img/nucleo_h533re.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aed4a9752f909c8ad9d88c29de883c7c159e7e37 GIT binary patch literal 90356 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

;Ur&TjRj>B|5NMt+>sp{fGZq7an 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%0AU{S|_sF}^eJP&$1c~0aWR420N+sl?1dR-MG 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 Y?{UWd8)NaWSZ4o!$N%IAiSB*=JLHnmY5)KL literal 0 HcmV?d00001 diff --git a/boards/st/nucleo_h533re/doc/index.rst b/boards/st/nucleo_h533re/doc/index.rst new file mode 100644 index 00000000000..b2ddb225e13 --- /dev/null +++ b/boards/st/nucleo_h533re/doc/index.rst @@ -0,0 +1,306 @@ +.. _nucleo_h533re_board: + +ST Nucleo H533RE +################ + +Overview +******** + +The Nucleo H533RE board is designed as an affordable development platform for +STMicroelectronics ARM |reg| Cortex |reg|-M33 core-based STM32H533RET6 +microcontroller with TrustZone |reg|. +Here are some highlights of the Nucleo H533RE board: + +- STM32H533RE microcontroller featuring 512 kbytes of Flash memory and 272 Kbytes of + SRAM in LQFP64 package + +- Board connectors: + + - USB Type-C |trade| Sink device FS + - ST Zio expansion connector including Arduino Uno V3 connectivity (CN5, CN6, CN8, CN9) + - ST morpho extension connector (CN7, CN10) + +- Flexible board power supply: + + - 5V_USB_STLK from ST-Link USB connector + - VIN (7 - 12V, 0.8) supplied via pin header CN6 pin 8 or CN7 pin 24 + - ESV on the ST morpho connector CN7 Pin 6 (5V, O.5A) + - VBUS_STLK from a USB charger via the ST-LINK USB connector + - VBUSC from the USB user connector (5V, 0.5A) + - 3V3_EXT supplied via a pin header CN6 pin 4 or CN7 pin 16 (3.3V, 1.3A) + +- On-board ST-LINK/V3EC debugger/programmer + + - mass storage + - Virtual COM port + - debug port + +- One user LED shared with ARDUINO |reg| Uno V3 +- Two push-buttons: USER and RESET +- 32.768 kHz crystal oscillator + +More information about the board can be found at the `NUCLEO_H533RE website`_. + +.. image:: img/nucleo_h533re.jpg + :align: center + :alt: NUCLEO H533RE + +Hardware +******** + +The STM32H533xx devices are high-performance microcontrollers from the STM32H5 +Series based on the high-performance Arm |reg| Cortex |reg|-M33 32-bit RISC core. +They operate at a frequency of up to 250 MHz. + +- Core: ARM |reg| 32-bit Cortex |reg| -M33 CPU with TrustZone |reg| and FPU. +- Performance benchmark: + + - 375 DMPIS/MHz (Dhrystone 2.1) + +- Security + + - Arm |reg| TrustZone |reg| with Armv8-M mainline security extension + - Up to eight configurable SAU regions + - TrustZone |reg| aware and securable peripherals + - Flexible life cycle scheme with secure debug authentication + - SESIP3 and PSA Level 3 certified assurance target + - Preconfigured immutable root of trust (ST-iROT) + - SFI (secure firmware installation) + - Root of trust thanks to unique boot entry and secure hide protection area (HDP) + - Secure data storage with hardware unique key (HUK) + - Secure firmware upgrade support with TF-M + - Two AES coprocessors including one with DPA resistance + - Public key accelerator, DPA resistant + - On-the-fly decryption of Octo-SPI external memories + - HASH hardware accelerator + - True random number generator, NIST SP800-90B compliant + - 96-bit unique ID + - Active tampers + +- Clock management: + + - 24 MHz crystal oscillator (HSE) + - 32 kHz crystal oscillator for RTC (LSE) + - Internal 64 MHz (HSI) trimmable by software + - Internal low-power 32 kHz RC (LSI)( |plusminus| 5%) + - Internal 4 MHz oscillator (CSI), trimmable by software + - Internal 48 MHz (HSI48) with recovery system + - 3 PLLs for system clock, USB, audio, ADC + +- Power management + + - Embedded regulator (LDO) with three configurable range output to supply the digital circuitry + - Embedded SMPS step-down converter + +- RTC with HW calendar, alarms and calibration +- Up to 112 fast I/Os, most 5 V-tolerant, up to 10 I/Os with independent supply down to 1.08 V +- Up to 16 timers and 2 watchdogs + + - 8x 16-bit + - 2x 32-bit timers with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input + - 2x 16-bit low-power 16-bit timers (available in Stop mode) + - 2x watchdogs + - 2x SysTick timer + +- Memories + + - Up to 512 Kbytes Flash, 2 banks read-while-write + - 1 Kbyte OTP (one-time programmable) + - 272 Kbytes of SRAM (80-Kbyte SRAM2 with ECC) + - 2 Kbytes of backup SRAM available in the lowest power modes + - Flexible external memory controller with up to 16-bit data bus: SRAM, PSRAM, FRAM, NOR/NAND memories + - 1x OCTOSPI memory interface with on-the-fly decryption and support for serial PSRAM/NAND/NOR, Hyper RAM/Flash frame formats + - 1x SD/SDIO/MMC interfaces + +- Rich analog peripherals (independent supply) + + - 2x 12-bit ADC with up to 5 MSPS in 12-bit + - 1x 12-bit DAC with 2 channels + - 1x Digital temperature sensor + - Voltage reference buffer + +- 34x communication interfaces + + - 1x USB Type-C / USB power-delivery controller + - 1x USB 2.0 full-speed host and device (crystal-less) + - 3x I2C FM+ interfaces (SMBus/PMBus) + - 2x I3C interface + - 6x U(S)ARTS (ISO7816 interface, LIN, IrDA, modem control) + - 1x LP UART + - 4x SPIs including 3 muxed with full-duplex I2S + - 4x additional SPI from 4x USART when configured in Synchronous mode + - 2x FDCAN + - 1x SDMMC interface + - 2x 16 channel DMA controllers + - 1x 8- to 14- bit camera interface + - 1x HDMI-CEC + - 1x 16-bit parallel slave synchronous-interface + +- Development support: serial wire debug (SWD), JTAG, Embedded Trace Macrocell |trade| + +More information about STM32H533RE can be found here: + +- `STM32H533re on www.st.com`_ +- `STM32H533 reference manual`_ + +Supported Features +================== + +The Zephyr nucleo_h533re board configuration supports the following hardware features: + ++-----------+------------+-------------------------------------+ +| Interface | Controller | Driver/Component | ++===========+============+=====================================+ +| CLOCK | on-chip | reset and clock control | ++-----------+------------+-------------------------------------+ +| GPIO | on-chip | gpio | ++-----------+------------+-------------------------------------+ +| NVIC | on-chip | nested vector interrupt controller | ++-----------+------------+-------------------------------------+ +| PINMUX | on-chip | pinmux | ++-----------+------------+-------------------------------------+ +| PWM | on-chip | PWM | ++-----------+------------+-------------------------------------+ +| RNG | on-chip | True Random number generator | ++-----------+------------+-------------------------------------+ +| RTC | on-chip | Real Time Clock | ++-----------+------------+-------------------------------------+ +| UART | on-chip | serial port-polling; | +| | | serial port-interrupt | ++-----------+------------+-------------------------------------+ +| WATCHDOG | on-chip | independent watchdog | ++-----------+------------+-------------------------------------+ + +Other hardware features are not yet supported on this Zephyr port. + +The default configuration can be found in the defconfig and dts files: + +- Secure target: + + - :zephyr_file:`boards/st/nucleo_h533re/nucleo_h533re_defconfig` + - :zephyr_file:`boards/st/nucleo_h533re/nucleo_h533re.dts` + +Zephyr board options +==================== + +The STM32H533 is a SoC with Cortex-M33 architecture. Zephyr provides support +for building for Secure firmware. + +The BOARD options are summarized below: + ++----------------------+-----------------------------------------------+ +| BOARD | Description | ++======================+===============================================+ +| nucleo_h533re | For building Secure firmware | ++----------------------+-----------------------------------------------+ + +Connections and IOs +=================== + +Nucleo H533RE Board has 8 GPIO controllers. These controllers are responsible for pin muxing, +input/output, pull-up, etc. + +For more details please refer to `STM32H5 Nucleo-64 board User Manual`_. + +Default Zephyr Peripheral Mapping: +---------------------------------- + +- ADC1 channel 14 input: PB1 +- USART1 TX/RX : PB14/PB15 (Arduino USART1) +- SPI1 SCK/MISO/MOSI/NSS: PA5/PA6/PA7/PC9 +- UART2 TX/RX : PA2/PA3 (VCP) +- USER_PB : PC13 + +System Clock +------------ + +Nucleo H533RE System Clock could be driven by internal or external oscillator, +as well as main PLL clock. By default System clock is driven by PLL clock at +240MHz, driven by an 24MHz high-speed external clock. + +Serial Port +----------- + +Nucleo H533RE board has up to 6 U(S)ARTs. The Zephyr console output is assigned +to USART2. Default settings are 115200 8N1. + +Programming and Debugging +************************* + +Applications for the ``nucleo_h533re`` board can be built and +flashed in the usual way (see :ref:`build_an_application` and +:ref:`application_run` for more details). + +Flashing +======== + +Nucleo H533RE board includes an ST-LINK/V3EC embedded debug tool interface. +This probe allows to flash the board using various tools. + +Board is configured to be flashed using west STM32CubeProgrammer runner. +Installation of `STM32CubeProgrammer`_ is then required to flash the board. + +Alternatively, pyocd or jlink via an external probe can also be used to flash +and debug the board if west is told to use it as runner, which can be done by +passing either or ``-r pyocd``, or ``-r jlink``. + +For pyocd additional target information needs to be installed. +This can be done by executing the following commands. + +.. code-block:: console + + $ pyocd pack --update + $ pyocd pack --install stm32h5 + + +Flashing an application to Nucleo H533RE +------------------------------------------ + +Connect the Nucleo H533RE to your host computer using the USB port. +Then build and flash an application. Here is an example for the +:ref:`hello_world` application. + +Run a serial host program to connect with your Nucleo board: + +.. code-block:: console + + $ minicom -D /dev/ttyACM0 + +Then build and flash the application. + +.. zephyr-app-commands:: + :zephyr-app: samples/hello_world + :board: nucleo_h533re + :goals: build flash + +You should see the following message on the console: + +.. code-block:: console + + Hello World! nucleo_h533re + +Debugging +========= + +You can debug an application in the usual way. Here is an example for the +:zephyr:code-sample:`blinky` application. + +.. zephyr-app-commands:: + :zephyr-app: samples/basic/blinky + :board: nucleo_h533re + :goals: debug + +.. _NUCLEO_H533RE website: + https://www.st.com/en/evaluation-tools/nucleo-h533re + +.. _STM32H5 Nucleo-64 board User Manual: + https://www.st.com/resource/en/user_manual/um3121-stm32h5-nucleo64-board-mb1814-stmicroelectronics.pdf + +.. _STM32H533RE on www.st.com: + https://www.st.com/en/microcontrollers-microprocessors/stm32h533re + +.. _STM32H533 reference manual: + https://www.st.com/resource/en/reference_manual/rm0481-stm32h533-stm32h563-stm32h573-and-stm32h562-armbased-32bit-mcus-stmicroelectronics.pdf + +.. _STM32CubeProgrammer: + https://www.st.com/en/development-tools/stm32cubeprog.html diff --git a/boards/st/nucleo_h533re/nucleo_h533re.dts b/boards/st/nucleo_h533re/nucleo_h533re.dts new file mode 100644 index 00000000000..7071a5e21a8 --- /dev/null +++ b/boards/st/nucleo_h533re/nucleo_h533re.dts @@ -0,0 +1,137 @@ +/* + * Copyright (c) 2024 STMicroelectronics + * + * SPDX-License-Identifier: Apache-2.0 + */ + +/dts-v1/; +#include +#include +#include "arduino_r3_connector.dtsi" +#include "st_morpho_connector.dtsi" +#include + +/ { + model = "STMicroelectronics STM32H533RE-NUCLEO board"; + compatible = "st,stm32h533re-nucleo"; + + chosen { + zephyr,console = &usart2; + zephyr,shell-uart = &usart2; + zephyr,sram = &sram1; + zephyr,flash = &flash0; + }; + + leds: leds { + compatible = "gpio-leds"; + green_led_2: led_42 { + gpios = <&gpioa 5 GPIO_ACTIVE_LOW>; + label = "User LD2"; + }; + }; + + + pwmleds { + compatible = "pwm-leds"; + + green_pwm_led: green_pwm_led { + pwms = <&pwm3 1 PWM_MSEC(20) PWM_POLARITY_NORMAL>; + }; + }; + + gpio_keys { + compatible = "gpio-keys"; + user_button: button { + label = "User"; + gpios = <&gpioc 13 GPIO_ACTIVE_HIGH>; + zephyr,code = ; + }; + }; + + aliases { + led0 = &green_led_2; + pwm-led0 = &green_pwm_led; + sw0 = &user_button; + watchdog0 = &iwdg; + volt-sensor0 = &vref; + }; +}; + +&clk_csi { + status = "okay"; +}; + +&clk_hsi { + status = "okay"; +}; + +&clk_hse { + clock-frequency = ; + status = "okay"; +}; + +&pll { + div-m = <2>; + mul-n = <40>; + div-p = <2>; + div-q = <2>; + div-r = <2>; + clocks = <&clk_hse>; + status = "okay"; +}; + +&rcc { + clocks = <&pll>; + clock-frequency = ; + ahb-prescaler = <1>; + apb1-prescaler = <1>; + apb2-prescaler = <1>; + apb3-prescaler = <1>; +}; + +&usart1 { + pinctrl-0 = <&usart1_tx_pb14 &usart1_rx_pb15>; + pinctrl-names = "default"; + current-speed = <115200>; + status = "okay"; +}; + +&usart2 { + pinctrl-0 = <&usart2_tx_pa2 &usart2_rx_pa3>; + pinctrl-names = "default"; + current-speed = <115200>; + status = "okay"; +}; + +&iwdg { + status = "okay"; +}; + +&timers3 { + st,prescaler = <1000>; + status = "okay"; + + pwm3: pwm { + pinctrl-0 = <&tim3_ch3_pb0>; + pinctrl-names = "default"; + status = "okay"; + }; +}; + +&vref { + status = "okay"; +}; + +&rng { + status = "okay"; +}; + +&clk_lse { + status = "okay"; +}; + +&rtc { + clocks = <&rcc STM32_CLOCK_BUS_APB3 0x00200000>, + <&rcc STM32_SRC_LSE RTC_SEL(1)>; + status = "okay"; +}; diff --git a/boards/st/nucleo_h533re/nucleo_h533re.yaml b/boards/st/nucleo_h533re/nucleo_h533re.yaml new file mode 100644 index 00000000000..8262b95a843 --- /dev/null +++ b/boards/st/nucleo_h533re/nucleo_h533re.yaml @@ -0,0 +1,17 @@ +# Copyright (c) 2024 +# SPDX-License-Identifier: Apache-2.0 + +identifier: nucleo_h533re +name: ST Nucleo H533RE +type: mcu +arch: arm +toolchain: + - zephyr +ram: 272 +flash: 512 +supported: + - gpio + - watchdog + - pwm + - rtc +vendor: st diff --git a/boards/st/nucleo_h533re/nucleo_h533re_defconfig b/boards/st/nucleo_h533re/nucleo_h533re_defconfig new file mode 100644 index 00000000000..5b88c80b24f --- /dev/null +++ b/boards/st/nucleo_h533re/nucleo_h533re_defconfig @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: Apache-2.0 + +# enable uart driver +CONFIG_SERIAL=y + +# console +CONFIG_CONSOLE=y +CONFIG_UART_CONSOLE=y + +# Enable clock +CONFIG_CLOCK_CONTROL=y + +# enable GPIO +CONFIG_GPIO=y +# enable pin controller +CONFIG_PINCTRL=y diff --git a/boards/st/nucleo_h533re/st_morpho_connector.dtsi b/boards/st/nucleo_h533re/st_morpho_connector.dtsi new file mode 100644 index 00000000000..ce3d7c84017 --- /dev/null +++ b/boards/st/nucleo_h533re/st_morpho_connector.dtsi @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2024 STMicroelectronics + * SPDX-License-Identifier: Apache-2.0 + */ + +#include +#include + +/ { + st_morpho_header: st-morpho-header { + compatible = "st-morpho-header"; + #gpio-cells = <2>; + gpio-map-mask = ; + gpio-map-pass-thru = <0x0 GPIO_DT_FLAGS_MASK>; + gpio-map = , + , + , + , + , /* SB40=ON, SB41=ON */ + , /* SB40=ON, SB41=ON */ + , + , + , + , + , + , + , + , + , + , + , + , + , + , + + , + , + , + , + , + , + , /* SB13=ON, SB17=ON */ + , + , /* SB13=ON, SB17=ON */ + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + }; +};