boards: arm: Add support for WeAct Studio MiniSTM32H743 Core board
Adds the device trees, Kconfig, and documentation files. The following features have been confirmed working on hardware: * LED * Button * ST7735 TFT-LCD * External QuadSPI NOR Flash memory * External SPI NOR Flash memory * USB CDC ACM * microSD card Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
This commit is contained in:
parent
50fb272f94
commit
14015db4ab
10 changed files with 558 additions and 0 deletions
35
boards/weact/mini_stm32h743/Kconfig.defconfig
Normal file
35
boards/weact/mini_stm32h743/Kconfig.defconfig
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
# WeAct Studio MiniSTM32H7 board configuration
|
||||||
|
|
||||||
|
# Copyright (c) Charles Dias <charlesdias.cd@outlook.com>
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
if BOARD_MINI_STM32H743
|
||||||
|
|
||||||
|
if DISPLAY
|
||||||
|
|
||||||
|
config INPUT
|
||||||
|
default y
|
||||||
|
|
||||||
|
if LVGL
|
||||||
|
|
||||||
|
config 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_STM32H743
|
5
boards/weact/mini_stm32h743/Kconfig.mini_stm32h743
Normal file
5
boards/weact/mini_stm32h743/Kconfig.mini_stm32h743
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Copyright (c) 2024 Charles Dias <charlesdias.cd@outlook.com>
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
config BOARD_MINI_STM32H743
|
||||||
|
select SOC_STM32H743XX
|
7
boards/weact/mini_stm32h743/board.cmake
Normal file
7
boards/weact/mini_stm32h743/board.cmake
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
board_runner_args(dfu-util "--pid=0483:df11" "--alt=0" "--dfuse")
|
||||||
|
board_runner_args(jlink "--device=STM32H743VI" "--speed=4000")
|
||||||
|
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/dfu-util.board.cmake)
|
||||||
|
include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)
|
5
boards/weact/mini_stm32h743/board.yml
Normal file
5
boards/weact/mini_stm32h743/board.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
board:
|
||||||
|
name: mini_stm32h743
|
||||||
|
vendor: weact
|
||||||
|
socs:
|
||||||
|
- name: stm32h743xx
|
BIN
boards/weact/mini_stm32h743/doc/img/stm32h7xx.webp
Normal file
BIN
boards/weact/mini_stm32h743/doc/img/stm32h7xx.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
242
boards/weact/mini_stm32h743/doc/index.rst
Normal file
242
boards/weact/mini_stm32h743/doc/index.rst
Normal file
|
@ -0,0 +1,242 @@
|
||||||
|
.. mini_stm32h743:
|
||||||
|
|
||||||
|
WeAct Studio MiniSTM32H743 Core Board
|
||||||
|
#####################################
|
||||||
|
|
||||||
|
Overview
|
||||||
|
********
|
||||||
|
|
||||||
|
The MiniSTM32H743 Core board is a compact development board equipped with
|
||||||
|
an STM32H743VIT6 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
|
||||||
|
|
||||||
|
.. figure:: img/stm32h7xx.webp
|
||||||
|
:align: center
|
||||||
|
:alt: MiniSTM32H743 Core Board
|
||||||
|
|
||||||
|
MiniSTM32H743 Core Board (Credit: WeAct Studio)
|
||||||
|
|
||||||
|
More information about the board can be found on the `Mini_STM32H743 website`_.
|
||||||
|
|
||||||
|
Hardware
|
||||||
|
********
|
||||||
|
|
||||||
|
The MiniSTM32H743 Core board provides the following hardware components:
|
||||||
|
|
||||||
|
- STM32H743VIT6 in LQFP100 package
|
||||||
|
- ARM 32-bit Cortex-M7 CPU with FPU
|
||||||
|
- Chrom-ART Accelerator
|
||||||
|
- Hardware JPEG Codec
|
||||||
|
- 480 MHz max CPU frequency
|
||||||
|
- VDD from 1.62 V to 3.6 V
|
||||||
|
- 2 MB Flash
|
||||||
|
- ~1 MB SRAM
|
||||||
|
- High-resolution timer (2.1 ns)
|
||||||
|
- 32-bit timers(2)
|
||||||
|
- 16-bit timers(10)
|
||||||
|
- SPI(6)
|
||||||
|
- I2C(4)
|
||||||
|
- I2S (3)
|
||||||
|
- USART(4)
|
||||||
|
- UART(4)
|
||||||
|
- USB OTG Full Speed and High Speed(1)
|
||||||
|
- USB OTG Full Speed(1)
|
||||||
|
- CAN FD(2)
|
||||||
|
- SAI(4)
|
||||||
|
- SPDIF_Rx(4)
|
||||||
|
- HDMI_CEC(1)
|
||||||
|
- Dual Mode Quad SPI(1)
|
||||||
|
- Camera Interface
|
||||||
|
- GPIO (up to 82) with external interrupt capability
|
||||||
|
- 16-bit ADC(3) 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 STM32H743 can be found here:
|
||||||
|
|
||||||
|
- `STM32H743VI on www.st.com`_
|
||||||
|
- `STM32H743/753 reference manual`_
|
||||||
|
- `STM32H743VI datasheet`_
|
||||||
|
|
||||||
|
Supported Features
|
||||||
|
==================
|
||||||
|
|
||||||
|
The mini_stm32h743 board configuration 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:
|
||||||
|
``boards/weact/mini_stm32h743/mini_stm32h743_defconfig``
|
||||||
|
|
||||||
|
Pin Mapping
|
||||||
|
===========
|
||||||
|
|
||||||
|
MiniSTM32H743 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_STM32H743 website`_.
|
||||||
|
|
||||||
|
Default Zephyr Peripheral Mapping:
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
The MiniSTM32H743 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 STM32H743VI 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 240MHz. 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 MiniSTM32H743 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 MiniSTM32H743
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
Here is an example for the :ref:`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_stm32h743
|
||||||
|
: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_stm32h743
|
||||||
|
|
||||||
|
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 MiniSTM32H743
|
||||||
|
*************************************
|
||||||
|
|
||||||
|
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_stm32h743
|
||||||
|
: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_stm32h743/mini_stm32h743.dts`.
|
||||||
|
|
||||||
|
Testing shell over USB in the MiniSTM32H743
|
||||||
|
*******************************************
|
||||||
|
|
||||||
|
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_stm32h743
|
||||||
|
:goals: build flash
|
||||||
|
:gen-args: -DCONFIG_BOOT_DELAY=5000
|
||||||
|
|
||||||
|
.. _Mini_STM32H743 website:
|
||||||
|
https://github.com/WeActStudio/MiniSTM32H7xx
|
||||||
|
|
||||||
|
.. _STM32H743VI on www.st.com:
|
||||||
|
https://www.st.com/en/microcontrollers-microprocessors/stm32h743vi.html#overview
|
||||||
|
|
||||||
|
.. _STM32H743/753 reference manual:
|
||||||
|
https://www.st.com/resource/en/reference_manual/rm0433-stm32h742-stm32h743753-and-stm32h750-value-line-advanced-armbased-32bit-mcus-stmicroelectronics.pdf
|
||||||
|
|
||||||
|
.. _STM32H743VI datasheet:
|
||||||
|
https://www.st.com/resource/en/datasheet/stm32h743vi.pdf
|
210
boards/weact/mini_stm32h743/mini_stm32h743.dts
Normal file
210
boards/weact/mini_stm32h743/mini_stm32h743.dts
Normal file
|
@ -0,0 +1,210 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2024 Charles Dias <charlesdias.cd@outlook.com>
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/dts-v1/;
|
||||||
|
#include <st/h7/stm32h743Xi.dtsi>
|
||||||
|
#include <st/h7/stm32h743vitx-pinctrl.dtsi>
|
||||||
|
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
model = "WeAct Studio MiniSTM32H743 Core Board";
|
||||||
|
compatible = "weact,mini-stm32h743";
|
||||||
|
|
||||||
|
chosen {
|
||||||
|
zephyr,console = &usb_cdc_acm_uart;
|
||||||
|
zephyr,shell-uart = &usb_cdc_acm_uart;
|
||||||
|
zephyr,sram = &sram0;
|
||||||
|
zephyr,flash = &flash0;
|
||||||
|
zephyr,display = &st7735r_tft;
|
||||||
|
};
|
||||||
|
|
||||||
|
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>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
aliases {
|
||||||
|
led0 = &user_led;
|
||||||
|
sw0 = &user_button;
|
||||||
|
spi-flash0 = &w25q64_spi;
|
||||||
|
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 = <96>;
|
||||||
|
div-p = <2>;
|
||||||
|
div-q = <10>;
|
||||||
|
div-r = <2>;
|
||||||
|
clocks = <&clk_hse>;
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&rcc {
|
||||||
|
clocks = <&pll>;
|
||||||
|
clock-frequency = <DT_FREQ_M(240)>;
|
||||||
|
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";
|
||||||
|
|
||||||
|
sdmmc {
|
||||||
|
compatible = "zephyr,sdmmc-disk";
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
zephyr_udc0: &usbotg_fs {
|
||||||
|
pinctrl-0 = <&usb_otg_fs_dm_pa11 &usb_otg_fs_dp_pa12>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
usb_cdc_acm_uart: cdc_acm_uart {
|
||||||
|
compatible = "zephyr,cdc-acm-uart";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&quadspi {
|
||||||
|
pinctrl-names = "default";
|
||||||
|
pinctrl-0 = <&quadspi_clk_pb2 &quadspi_bk1_ncs_pb6
|
||||||
|
&quadspi_bk1_io0_pd11 &quadspi_bk1_io1_pd12
|
||||||
|
&quadspi_bk1_io2_pe2 &quadspi_bk1_io3_pd13>;
|
||||||
|
flash-id = <1>;
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
w25q64_qspi: qspi-nor-flash@90000000 {
|
||||||
|
compatible = "st,stm32-qspi-nor";
|
||||||
|
reg = <0x90000000 DT_SIZE_M(64)>; /* 64 Mbits */
|
||||||
|
qspi-max-frequency = <40000000>;
|
||||||
|
status = "okay";
|
||||||
|
spi-bus-width = <4>;
|
||||||
|
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)>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&spi4 {
|
||||||
|
pinctrl-0 = <&spi4_sck_pe12 &spi4_mosi_pe14>;
|
||||||
|
cs-gpios = <&gpioe 11 GPIO_ACTIVE_LOW>;
|
||||||
|
pinctrl-names = "default";
|
||||||
|
status = "okay";
|
||||||
|
|
||||||
|
st7735r_tft: st7735r@0 {
|
||||||
|
compatible = "sitronix,st7735r";
|
||||||
|
spi-max-frequency = <20000000>;
|
||||||
|
reg = <0>;
|
||||||
|
cmd-data-gpios = <&gpioe 13 GPIO_ACTIVE_LOW>;
|
||||||
|
reset-gpios = <&gpioe 10 GPIO_ACTIVE_HIGH>;
|
||||||
|
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 in Kconfig */
|
||||||
|
madctl = <120>; /* Set to <184> to rotate the image 180 degrees. */
|
||||||
|
caset = [00 01 00 a0];
|
||||||
|
raset = [00 1a 00 69];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
&rng {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&backup_sram {
|
||||||
|
status = "okay";
|
||||||
|
};
|
||||||
|
|
||||||
|
&iwdg1 {
|
||||||
|
status = "okay";
|
||||||
|
};
|
20
boards/weact/mini_stm32h743/mini_stm32h743.yaml
Normal file
20
boards/weact/mini_stm32h743/mini_stm32h743.yaml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
identifier: mini_stm32h743
|
||||||
|
name: WeAct Studio MiniSTM32H743 Core Board
|
||||||
|
type: mcu
|
||||||
|
arch: arm
|
||||||
|
toolchain:
|
||||||
|
- zephyr
|
||||||
|
- gnuarmemb
|
||||||
|
- xtools
|
||||||
|
ram: 512
|
||||||
|
flash: 2048
|
||||||
|
supported:
|
||||||
|
- gpio
|
||||||
|
- counter
|
||||||
|
- spi
|
||||||
|
- backup_sram
|
||||||
|
- watchdog
|
||||||
|
- usb
|
||||||
|
- sdhc
|
||||||
|
- qspi
|
||||||
|
vendor: weact
|
29
boards/weact/mini_stm32h743/mini_stm32h743_defconfig
Normal file
29
boards/weact/mini_stm32h743/mini_stm32h743_defconfig
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
# Copyright (c) Charles Dias <charlesdias.cd@outlook.com>
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Enable clocks
|
||||||
|
CONFIG_CLOCK_CONTROL=y
|
||||||
|
|
||||||
|
# Enable pin controller
|
||||||
|
CONFIG_PINCTRL=y
|
||||||
|
|
||||||
|
# Logger cannot use itself to log
|
||||||
|
CONFIG_USB_CDC_ACM_LOG_LEVEL_OFF=y
|
||||||
|
|
||||||
|
# Enable USB
|
||||||
|
CONFIG_USB_DEVICE_STACK=y
|
5
samples/subsys/display/lvgl/boards/mini_stm32h743.conf
Normal file
5
samples/subsys/display/lvgl/boards/mini_stm32h743.conf
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# Copyright (c) Charles Dias <charlesdias.cd@outlook.com>
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
# Enable SPI driver for ST7735R
|
||||||
|
CONFIG_ST7735R=y
|
Loading…
Add table
Add a link
Reference in a new issue