board: arm: Add support for WeAct Mini STM31H7B0
This board is mostly the same as mini_stm32h743. Noatable diffrences for dt: - rcc config - octospi in quadspi mode - pinmux naming for USB and quadspi Signed-off-by: Sahaj Sarup <sahaj.sarup@linaro.org>
This commit is contained in:
parent
f254280f1f
commit
18a3f6f0fa
9 changed files with 553 additions and 0 deletions
35
boards/weact/mini_stm32h7b0/Kconfig.defconfig
Normal file
35
boards/weact/mini_stm32h7b0/Kconfig.defconfig
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
# Copyright (c) 2024 Linaro Limited
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
# WeAct Studio MiniSTM32H7B0 board configuration
|
||||||
|
|
||||||
|
if BOARD_MINI_STM32H7B0
|
||||||
|
|
||||||
|
if DISPLAY
|
||||||
|
|
||||||
|
config INPUT
|
||||||
|
default y
|
||||||
|
|
||||||
|
if LVGL
|
||||||
|
|
||||||
|
configdefault LV_COLOR_16_SWAP
|
||||||
|
default y
|
||||||
|
|
||||||
|
config LV_Z_BITS_PER_PIXEL
|
||||||
|
default 16
|
||||||
|
|
||||||
|
endif # LVGL
|
||||||
|
|
||||||
|
endif # DISPLAY
|
||||||
|
|
||||||
|
if USB_DEVICE_STACK
|
||||||
|
|
||||||
|
config UART_CONSOLE
|
||||||
|
default CONSOLE
|
||||||
|
|
||||||
|
config USB_DEVICE_INITIALIZE_AT_BOOT
|
||||||
|
default y
|
||||||
|
|
||||||
|
endif # USB_DEVICE_STACK
|
||||||
|
|
||||||
|
endif # BOARD_MINI_STM32H7B0
|
||||||
5
boards/weact/mini_stm32h7b0/Kconfig.mini_stm32h7b0
Normal file
5
boards/weact/mini_stm32h7b0/Kconfig.mini_stm32h7b0
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Copyright (c) 2024 Linaro Limited
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
config BOARD_MINI_STM32H7B0
|
||||||
|
select SOC_STM32H7B0XX
|
||||||
8
boards/weact/mini_stm32h7b0/board.cmake
Normal file
8
boards/weact/mini_stm32h7b0/board.cmake
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Copyright (c) 2024 Linaro Limited
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
board_runner_args(dfu-util "--pid=0483:df11" "--alt=0" "--dfuse")
|
||||||
|
board_runner_args(jlink "--device=STM32H7B0VB" "--speed=4000")
|
||||||
|
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/dfu-util.board.cmake)
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
||||||
6
boards/weact/mini_stm32h7b0/board.yml
Normal file
6
boards/weact/mini_stm32h7b0/board.yml
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
board:
|
||||||
|
name: mini_stm32h7b0
|
||||||
|
full_name: MiniSTM32H7B0 Core Board
|
||||||
|
vendor: weact
|
||||||
|
socs:
|
||||||
|
- name: stm32h7b0xx
|
||||||
BIN
boards/weact/mini_stm32h7b0/doc/img/mini_stm32h7b0.webp
Normal file
BIN
boards/weact/mini_stm32h7b0/doc/img/mini_stm32h7b0.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
234
boards/weact/mini_stm32h7b0/doc/index.rst
Normal file
234
boards/weact/mini_stm32h7b0/doc/index.rst
Normal file
|
|
@ -0,0 +1,234 @@
|
||||||
|
.. zephyr:board:: mini_stm32h7b0
|
||||||
|
|
||||||
|
Overview
|
||||||
|
********
|
||||||
|
|
||||||
|
The MiniSTM32H7B0 Core board is a compact development board equipped with
|
||||||
|
an STM32H7B0VBT6 microcontroller. It features a variety of peripherals,
|
||||||
|
including a user LED and button, a display, and external SPI and QuadSPI
|
||||||
|
NOR flash memory.
|
||||||
|
|
||||||
|
Key Features
|
||||||
|
|
||||||
|
- STM32 microcontroller in LQFP100 package
|
||||||
|
- USB OTG or full-speed device
|
||||||
|
- 1 user LED
|
||||||
|
- User, boot, and reset push-buttons
|
||||||
|
- 32.768 kHz and 25MHz HSE crystal oscillators
|
||||||
|
- External NOR Flash memories: 64-Mbit Quad-SPI and 64-Mbit SPI
|
||||||
|
- Board connectors:
|
||||||
|
|
||||||
|
- Camera (8 bit) connector
|
||||||
|
- ST7735 TFT-LCD 160 x 80 pixels (RGB565 3-SPI)
|
||||||
|
- microSD |trade| card
|
||||||
|
- USB Type-C Connector
|
||||||
|
- SWD header for external debugger
|
||||||
|
- 2x 40-pin GPIO connector
|
||||||
|
|
||||||
|
|
||||||
|
More information about the board can be found on the `Mini_STM32H7B0 website`_.
|
||||||
|
|
||||||
|
Hardware
|
||||||
|
********
|
||||||
|
|
||||||
|
The MiniSTM32H7B0 Core board provides the following hardware components:
|
||||||
|
|
||||||
|
- STM32H7B0VBT6 in LQFP100 package
|
||||||
|
- ARM 32-bit Cortex-M7 CPU with FPU
|
||||||
|
- Chrom-ART Accelerator
|
||||||
|
- Hardware JPEG Codec
|
||||||
|
- 280 MHz max CPU frequency
|
||||||
|
- VDD from 1.62 V to 3.6 V
|
||||||
|
- 128 KB Flash
|
||||||
|
- 1.4 MB SRAM
|
||||||
|
- High-resolution timer (2.1 ns)
|
||||||
|
- 32-bit timers(2)
|
||||||
|
- 16-bit timers(10)
|
||||||
|
- SPI(5)
|
||||||
|
- I2C(4)
|
||||||
|
- I2S (4)
|
||||||
|
- USART(5)
|
||||||
|
- UART(5)
|
||||||
|
- USB OTG Full Speed and High Speed(1)
|
||||||
|
- CAN FD(2)
|
||||||
|
- SAI(4)
|
||||||
|
- SPDIF_Rx(4)
|
||||||
|
- HDMI_CEC(1)
|
||||||
|
- Dual Mode Quad SPI(1)
|
||||||
|
- Camera Interface
|
||||||
|
- GPIO (up to 80) with external interrupt capability
|
||||||
|
- 16-bit ADC(2) with 16 channels
|
||||||
|
- 12-bit DAC with 2 channels(2)
|
||||||
|
- True Random Number Generator (RNG)
|
||||||
|
- 16-channel DMA
|
||||||
|
- LCD-TFT Controller with XGA resolution
|
||||||
|
|
||||||
|
More information about STM32H7BO can be found here:
|
||||||
|
|
||||||
|
- `STM32H7B0VB on www.st.com`_
|
||||||
|
- `STM32H7B0VB reference manual`_
|
||||||
|
- `STM32H7B0VB datasheet`_
|
||||||
|
|
||||||
|
Supported Features
|
||||||
|
==================
|
||||||
|
|
||||||
|
The ``mini_stm32h7b0`` board target supports the following hardware features:
|
||||||
|
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| Interface | Controller | Driver/Component |
|
||||||
|
+===========+============+=====================================+
|
||||||
|
| NVIC | on-chip | nested vector interrupt controller |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| WDT | on-chip | watchdog |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| PINMUX | on-chip | pinmux |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| FLASH | on-chip | flash memory |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| GPIO | on-chip | gpio |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| SPI | on-chip | spi |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| QSPI NOR | on-chip | off-chip flash |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| SDMMC | on-chip | disk access |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
| DISPLAY | on-chip | display |
|
||||||
|
+-----------+------------+-------------------------------------+
|
||||||
|
|
||||||
|
Other hardware features have not been enabled yet for this board.
|
||||||
|
|
||||||
|
The default configuration per core can be found in the defconfig file:
|
||||||
|
:zephyr_file:`boards/weact/mini_stm32h7b0/mini_stm32h7b0_defconfig`
|
||||||
|
|
||||||
|
Pin Mapping
|
||||||
|
===========
|
||||||
|
|
||||||
|
MiniSTM32H7B0 Core board has 5 GPIO controllers. These controllers are responsible for pin muxing,
|
||||||
|
input/output, pull-up, etc.
|
||||||
|
|
||||||
|
For more details please refer to `Mini_STM32H7B0 website`_.
|
||||||
|
|
||||||
|
Default Zephyr Peripheral Mapping:
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
The MiniSTM32H7B0 Core board is configured as follows
|
||||||
|
|
||||||
|
- USER_LED : PE3
|
||||||
|
- USER_PB : PC13
|
||||||
|
- SPI1 SCK/MISO/MOSI/NSS : PB3/PB4/PD7/PD6 (NOR Flash memory)
|
||||||
|
- SPI4 SCK/MOSI/NSS : PE12/PE14/PE11 (LCD)
|
||||||
|
- QuadSPI CLK/NCS/IO0/IO1/IO2/IO3 : PB2/PB6/PD11/PD12/PE2/PD13 (NOR Flash memory)
|
||||||
|
- SDMMC1 CLK/DCMD/CD/D0/D1/D2/D3 : PC12/PD2/PD4/PC8/PC9/PC10/PC11 (microSD card)
|
||||||
|
- USB DM/DP : PA11/PA12 (USB CDC ACM)
|
||||||
|
|
||||||
|
System Clock
|
||||||
|
============
|
||||||
|
|
||||||
|
The STM32H7B0VB System Clock can be driven by an internal or external oscillator,
|
||||||
|
as well as by the main PLL clock. By default, the System clock is driven
|
||||||
|
by the PLL clock at 280MHz. PLL clock is fed by a 25MHz high speed external clock.
|
||||||
|
|
||||||
|
Serial Port (USB CDC ACM)
|
||||||
|
=========================
|
||||||
|
|
||||||
|
The Zephyr console output is assigned to the USB CDC ACM virtual serial port.
|
||||||
|
Virtual COM port interface. Default communication settings are 115200 8N1.
|
||||||
|
|
||||||
|
Programming and Debugging
|
||||||
|
*************************
|
||||||
|
|
||||||
|
The MiniSTM32H7B0 Core board facilitates firmware flashing via the USB DFU
|
||||||
|
bootloader. This method simplifies the process of updating images, although
|
||||||
|
it doesn't provide debugging capabilities. However, the board provides header
|
||||||
|
pins for the Serial Wire Debug (SWD) interface, which can be used to connect
|
||||||
|
an external debugger, such as ST-Link.
|
||||||
|
|
||||||
|
Flashing
|
||||||
|
========
|
||||||
|
|
||||||
|
To activate the bootloader, follow these steps:
|
||||||
|
|
||||||
|
1. Press and hold the BOOT0 key.
|
||||||
|
2. While still holding the BOOT0 key, press and release the RESET key.
|
||||||
|
3. Wait for 0.5 seconds, then release the BOOT0 key.
|
||||||
|
|
||||||
|
Upon successful execution of these steps, the device will transition into
|
||||||
|
bootloader mode and present itself as a USB DFU Mode device. You can program
|
||||||
|
the device using the west tool or the STM32CubeProgrammer.
|
||||||
|
|
||||||
|
Flashing an application to MiniSTM32H7B0
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
Here is an example for the :zephyr:code-sample:`hello_world` application.
|
||||||
|
|
||||||
|
First, put the board in bootloader mode as described above. Then build and flash
|
||||||
|
the application in the usual way. Just add ``CONFIG_BOOT_DELAY=5000`` to the
|
||||||
|
configuration, so that USB CDC ACM is initialized before any text is printed,
|
||||||
|
as below:
|
||||||
|
|
||||||
|
.. zephyr-app-commands::
|
||||||
|
:zephyr-app: samples/hello_world
|
||||||
|
:board: mini_stm32h7b0
|
||||||
|
:goals: build flash
|
||||||
|
:gen-args: -DCONFIG_BOOT_DELAY=5000
|
||||||
|
|
||||||
|
Run a serial host program to connect with your board:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
$ minicom -D <tty_device> -b 115200
|
||||||
|
|
||||||
|
Then, press the RESET button, you should see the following message after few seconds:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
Hello World! mini_stm32h7b0
|
||||||
|
|
||||||
|
Replace :code:`<tty_device>` with the port where the board XIAO BLE
|
||||||
|
can be found. For example, under Linux, :code:`/dev/ttyACM0`.
|
||||||
|
|
||||||
|
Debugging
|
||||||
|
---------
|
||||||
|
|
||||||
|
This current Zephyr port does not support debugging.
|
||||||
|
|
||||||
|
Testing the LEDs in the MiniSTM32H7B0
|
||||||
|
*************************************
|
||||||
|
|
||||||
|
There is a sample that allows to test that LED on the board are working
|
||||||
|
properly with Zephyr:
|
||||||
|
|
||||||
|
.. zephyr-app-commands::
|
||||||
|
:zephyr-app: samples/basic/blinky
|
||||||
|
:board: mini_stm32h7b0
|
||||||
|
:goals: build flash
|
||||||
|
:gen-args: -DCONFIG_BOOT_DELAY=5000
|
||||||
|
|
||||||
|
You can build and flash the examples to make sure Zephyr is running correctly on
|
||||||
|
your board. The LED definitions can be found in
|
||||||
|
:zephyr_file:`boards/weact/mini_stm32h7b0/mini_stm32h7b0.dts`.
|
||||||
|
|
||||||
|
Testing shell over USB in the MiniSTM32H7B0
|
||||||
|
*******************************************
|
||||||
|
|
||||||
|
There is a sample that allows to test shell interface over USB CDC ACM interface
|
||||||
|
with Zephyr:
|
||||||
|
|
||||||
|
.. zephyr-app-commands::
|
||||||
|
:zephyr-app: samples/subsys/shell/shell_module
|
||||||
|
:board: mini_stm32h7b0
|
||||||
|
:goals: build flash
|
||||||
|
:gen-args: -DCONFIG_BOOT_DELAY=5000
|
||||||
|
|
||||||
|
.. _Mini_STM32H7B0 website:
|
||||||
|
https://github.com/WeActStudio/WeActStudio.MiniSTM32H7B0
|
||||||
|
|
||||||
|
.. _STM32H7B0VB on www.st.com:
|
||||||
|
https://www.st.com/en/microcontrollers-microprocessors/stm32h7b0vb.html
|
||||||
|
|
||||||
|
.. _STM32H7B0VB reference manual:
|
||||||
|
https://www.st.com/resource/en/reference_manual/rm0455-stm32h7a37b3-and-stm32h7b0-value-line-advanced-armbased-32bit-mcus-stmicroelectronics.pdf
|
||||||
|
|
||||||
|
.. _STM32H7B0VB datasheet:
|
||||||
|
https://www.st.com/resource/en/datasheet/stm32h7b0vb.pdf
|
||||||
223
boards/weact/mini_stm32h7b0/mini_stm32h7b0.dts
Normal file
223
boards/weact/mini_stm32h7b0/mini_stm32h7b0.dts
Normal file
|
|
@ -0,0 +1,223 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2024 Linaro Limited
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
#include <st/h7/stm32h7b0Xb.dtsi>
|
||||||
|
#include <st/h7/stm32h7b0vbtx-pinctrl.dtsi>
|
||||||
|
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
||||||
|
#include <zephyr/dt-bindings/mipi_dbi/mipi_dbi.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "WeAct Studio MiniSTM32H7B0 Core Board";
|
||||||
|
compatible = "weact,mini-stm32h7b0";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
zephyr,console = &usb_cdc_acm_uart;
|
||||||
|
zephyr,shell-uart = &usb_cdc_acm_uart;
|
||||||
|
zephyr,sram = &sram0;
|
||||||
|
zephyr,flash = &flash0;
|
||||||
|
zephyr,display = &st7735r_160x80;
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
user_led: led {
|
||||||
|
gpios = <&gpioe 3 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "User LED";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
gpio_keys {
|
||||||
|
compatible = "gpio-keys";
|
||||||
|
user_button: button {
|
||||||
|
label = "User PB";
|
||||||
|
gpios = <&gpioc 13 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>;
|
||||||
|
zephyr,code = <INPUT_KEY_0>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
mipi_dbi_st7735r_160x80 {
|
||||||
|
compatible = "zephyr,mipi-dbi-spi";
|
||||||
|
spi-dev = <&spi4>;
|
||||||
|
dc-gpios = <&gpioe 13 GPIO_ACTIVE_HIGH>;
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
st7735r_160x80: st7735r@0 {
|
||||||
|
compatible = "sitronix,st7735r";
|
||||||
|
mipi-max-frequency = <20000000>;
|
||||||
|
mipi-mode = "MIPI_DBI_MODE_SPI_4WIRE";
|
||||||
|
reg = <0>;
|
||||||
|
width = <160>;
|
||||||
|
height = <80>;
|
||||||
|
inversion-on;
|
||||||
|
rgb-is-inverted;
|
||||||
|
x-offset = <1>;
|
||||||
|
y-offset = <26>;
|
||||||
|
pwctr1 = [A2 02 84];
|
||||||
|
pwctr2 = [C5];
|
||||||
|
pwctr3 = [0A 00];
|
||||||
|
pwctr4 = [8A 2A];
|
||||||
|
pwctr5 = [8A EE];
|
||||||
|
invctr = <7>;
|
||||||
|
frmctr1 = [01 2C 2D];
|
||||||
|
frmctr2 = [01 2C 2D];
|
||||||
|
frmctr3 = [01 2C 2D 01 2C 2D];
|
||||||
|
vmctr1 = <14>;
|
||||||
|
gamctrp1 = [02 1C 07 12 37 32 29 2D 29 25 2B 39 00 01 03 10];
|
||||||
|
gamctrn1 = [03 1D 07 06 2E 2C 29 2D 2E 2E 37 3F 00 00 02 10];
|
||||||
|
colmod = <5>;
|
||||||
|
/* Set D3 (RGB) bit to 1. LV_COLOR_16_SWAP is enabled by default */
|
||||||
|
madctl = <120>; /* Set to <184> to rotate the image 180 degrees. */
|
||||||
|
caset = [00 01 00 a0];
|
||||||
|
raset = [00 1a 00 69];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
led0 = &user_led;
|
||||||
|
sw0 = &user_button;
|
||||||
|
watchdog0 = &iwdg;
|
||||||
|
sdhc0 = &sdmmc1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&clk_lsi {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&clk_hsi48 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&clk_hse {
|
||||||
|
clock-frequency = <DT_FREQ_M(25)>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&pll {
|
||||||
|
div-m = <5>;
|
||||||
|
mul-n = <112>;
|
||||||
|
div-p = <2>;
|
||||||
|
div-q = <2>;
|
||||||
|
div-r = <2>;
|
||||||
|
clocks = <&clk_hse>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&rcc {
|
||||||
|
clocks = <&pll>;
|
||||||
|
clock-frequency = <DT_FREQ_M(280)>;
|
||||||
|
d1cpre = <1>;
|
||||||
|
hpre = <2>;
|
||||||
|
d1ppre = <1>;
|
||||||
|
d2ppre1 = <1>;
|
||||||
|
d2ppre2 = <1>;
|
||||||
|
d3ppre = <1>;
|
||||||
|
};
|
||||||
|
|
||||||
|
&sdmmc1 {
|
||||||
|
pinctrl-0 = <&sdmmc1_d0_pc8 &sdmmc1_d1_pc9
|
||||||
|
&sdmmc1_d2_pc10 &sdmmc1_d3_pc11
|
||||||
|
&sdmmc1_ck_pc12 &sdmmc1_cmd_pd2>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
cd-gpios = <&gpiod 4 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
zephyr_udc0: &usbotg_hs {
|
||||||
|
pinctrl-0 = <&usb_otg_hs_dm_pa11 &usb_otg_hs_dp_pa12>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
usb_cdc_acm_uart: cdc_acm_uart {
|
||||||
|
compatible = "zephyr,cdc-acm-uart";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
&octospi1 {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&octospim_p1_clk_pb2 &octospim_p1_ncs_pb6
|
||||||
|
&octospim_p1_io0_pd11 &octospim_p1_io1_pd12
|
||||||
|
&octospim_p1_io2_pe2 &octospim_p1_io3_pd13>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
w25q64_qspi: ospi-nor-flash@90000000 {
|
||||||
|
compatible = "st,stm32-ospi-nor";
|
||||||
|
reg = <0x90000000 DT_SIZE_M(64)>; /* 64 Mbits */
|
||||||
|
ospi-max-frequency = <40000000>;
|
||||||
|
status = "okay";
|
||||||
|
spi-bus-width = <4>;
|
||||||
|
data-rate = <OSPI_STR_TRANSFER>;
|
||||||
|
writeoc = "PP_1_1_4";
|
||||||
|
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
slot0_partition: partition@0 {
|
||||||
|
reg = <0x00000000 DT_SIZE_M(64)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi1 {
|
||||||
|
pinctrl-0 = <&spi1_sck_pb3 &spi1_miso_pb4 &spi1_mosi_pd7>;
|
||||||
|
cs-gpios = <&gpiod 6 GPIO_ACTIVE_LOW>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
w25q64_spi: spi-nor-flash@0 {
|
||||||
|
compatible = "jedec,spi-nor";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <40000000>;
|
||||||
|
size = <DT_SIZE_M(64)>; /* 64 Mbits */
|
||||||
|
status = "okay";
|
||||||
|
jedec-id = [ef 40 17];
|
||||||
|
has-dpd;
|
||||||
|
t-enter-dpd = <3500>;
|
||||||
|
t-exit-dpd = <3500>;
|
||||||
|
partitions {
|
||||||
|
compatible = "fixed-partitions";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
storage_partition: partition@0 {
|
||||||
|
label = "storage";
|
||||||
|
reg = <0x00000000 DT_SIZE_M(64)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&gpioe {
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
lcd_led {
|
||||||
|
gpio-hog;
|
||||||
|
gpios = <10 GPIO_ACTIVE_LOW>;
|
||||||
|
output-high;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi4 {
|
||||||
|
pinctrl-0 = <&spi4_sck_pe12 &spi4_mosi_pe14>;
|
||||||
|
cs-gpios = <&gpioe 11 GPIO_ACTIVE_LOW>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&rng {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&backup_sram {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&iwdg1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
19
boards/weact/mini_stm32h7b0/mini_stm32h7b0.yaml
Normal file
19
boards/weact/mini_stm32h7b0/mini_stm32h7b0.yaml
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
identifier: mini_stm32h7b0
|
||||||
|
name: WeAct Studio MiniSTM32H7B0 Core Board
|
||||||
|
type: mcu
|
||||||
|
arch: arm
|
||||||
|
toolchain:
|
||||||
|
- zephyr
|
||||||
|
- gnuarmemb
|
||||||
|
- xtools
|
||||||
|
ram: 512
|
||||||
|
flash: 2048
|
||||||
|
supported:
|
||||||
|
- gpio
|
||||||
|
- counter
|
||||||
|
- spi
|
||||||
|
- backup_sram
|
||||||
|
- watchdog
|
||||||
|
- qspi
|
||||||
|
- video
|
||||||
|
vendor: weact
|
||||||
23
boards/weact/mini_stm32h7b0/mini_stm32h7b0_defconfig
Normal file
23
boards/weact/mini_stm32h7b0/mini_stm32h7b0_defconfig
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
# Copyright (c) 2024 Linaro Limited
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
# Enable MPU
|
||||||
|
CONFIG_ARM_MPU=y
|
||||||
|
|
||||||
|
# Enable HW stack protection
|
||||||
|
CONFIG_HW_STACK_PROTECTION=y
|
||||||
|
|
||||||
|
# Enable UART driver
|
||||||
|
CONFIG_SERIAL=y
|
||||||
|
|
||||||
|
# Enable console
|
||||||
|
CONFIG_CONSOLE=y
|
||||||
|
|
||||||
|
# Enable GPIO
|
||||||
|
CONFIG_GPIO=y
|
||||||
|
|
||||||
|
# Logger cannot use itself to log
|
||||||
|
CONFIG_USB_CDC_ACM_LOG_LEVEL_OFF=y
|
||||||
|
|
||||||
|
# Enable USB
|
||||||
|
CONFIG_USB_DEVICE_STACK=y
|
||||||
Loading…
Reference in a new issue