Skip to content

Commit d69ffca

Browse files
authored
Merge branch 'RT-Thread:master' into master
2 parents 95589a7 + c39e92f commit d69ffca

File tree

825 files changed

+533291
-3887
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

825 files changed

+533291
-3887
lines changed

.github/ALL_BSP_COMPILE.json

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@
248248
"nxp/mcx/mcxc/frdm-mcxc444",
249249
"nxp/mcx/mcxa/frdm-mcxa153",
250250
"nxp/mcx/mcxa/frdm-mcxa156",
251-
"nxp/mcx/mcxa/frdm-mcxa346",
251+
"nxp/mcx/mcxa/frdm-mcxa346",
252252
"nxp/mcx/mcxe/frdm-mcxe247",
253253
"renesas/ebf_qi_min_6m5",
254254
"renesas/ra6m4-cpk",
@@ -258,12 +258,13 @@
258258
"renesas/ra6e2-ek",
259259
"renesas/ra6e2-fpb",
260260
"renesas/ra4e2-eco",
261-
"renesas/ra4m1-ek",
261+
"renesas/ra4m1-ek",
262262
"renesas/ra4m2-eco",
263263
"renesas/ra2l1-cpk",
264264
"renesas/ra8m1-ek",
265265
"renesas/ra8d1-ek",
266266
"renesas/ra8d1-vision-board",
267+
"renesas/ra8p1-titan-board",
267268
"renesas/rzt2m_rsk",
268269
"renesas/rzn2l_rsk",
269270
"renesas/rzn2l_etherkit",
@@ -386,7 +387,8 @@
386387
"SUB_RTT_BSP": [
387388
"qemu-virt64-aarch64",
388389
"raspberry-pi/raspi3-64",
389-
"raspberry-pi/raspi4-64"
390+
"raspberry-pi/raspi4-64",
391+
"nxp/imx/imx91"
390392
]
391393
},
392394
{
@@ -396,7 +398,8 @@
396398
"k210",
397399
"wch/risc-v/ch32v208w-r0",
398400
"wch/risc-v/ch32v307v-r1",
399-
"wch/risc-v/yd-ch32v307vct6"
401+
"wch/risc-v/yd-ch32v307vct6",
402+
"gd32/risc-v/gd32vw553h-eval"
400403
]
401404
},
402405
{

.github/workflows/utest_auto_run.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,12 @@ jobs:
4848

4949
- { UTEST: "RISCV", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "standard", "SMP_RUN":"" }
5050
- { UTEST: "RISCV-rtsmart", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "rtsmart", "SMP_RUN":"" }
51-
# - { UTEST: "RISCV-smp", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "standard", "SMP_RUN":"smp" }
52-
- { UTEST: "XUANTIE-rtsmart", RTT_BSP: "bsp/xuantie/virt64/c906", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" }
51+
- { UTEST: "RISCV-smp", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "standard", "SMP_RUN":"smp" }
52+
- { UTEST: "XUANTIE-rtsmart", RTT_BSP: "bsp/xuantie/virt64/c906", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" }
5353

5454
- { UTEST: "AARCH64", RTT_BSP: "bsp/qemu-virt64-aarch64", QEMU_ARCH: "aarch64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"" }
5555
- { UTEST: "AARCH64-rtsmart", RTT_BSP: "bsp/qemu-virt64-aarch64", QEMU_ARCH: "aarch64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" }
56-
# - { UTEST: "AARCH64-smp", RTT_BSP: "bsp/qemu-virt64-aarch64", QEMU_ARCH: "aarch64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"smp" }
56+
- { UTEST: "AARCH64-smp", RTT_BSP: "bsp/qemu-virt64-aarch64", QEMU_ARCH: "aarch64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"smp" }
5757

5858
config_file:
5959
- "default.cfg"

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
*.pyc
2+
**/Cargo.lock
3+
**/target/
24
*.map
35
*.dblite
46
*.elf

bsp/Copyright_Notice.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,17 @@ Path:
325325

326326
- bsp/imx6ul/platform
327327

328+
### imx91
329+
330+
License: bsd-new
331+
332+
Copyright: Copyright 2014-2016 Freescale Semiconductor, Inc.
333+
Copyright 2016-2025 NXP
334+
335+
Path:
336+
337+
- bsp/nxp/imx/imx91/drivers/sdk
338+
328339
### imxrt
329340

330341
License: clear-bsd

bsp/README.md

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -33,28 +33,29 @@ This document is based on the RT-Thread mainline repository and categorizes the
3333

3434
#### 🟢 Renesas
3535

36-
| BSP Name | GPIO | UART | ADC | CAN | CANFD | DAC | Ethernet | HWTimer | I2C | PWM | RTC | SPI | Soft SPI | Flash | SDHI | SCI | SDRAM | LCD | Other |
37-
|----------|------|------|-----|-----|-------|-----|----------|---------|-----|-----|-----|-----|----------|-------|------|-----|-------|-----|-------|
38-
| [ebf_qi_min_6m5](renesas/ebf_qi_min_6m5) |||| - | - || - | - ||| - || - | - | - || - | - | - |
39-
| [ra2a1-ek](renesas/ra2a1-ek) |||| - | - || - | - ||| - || - | - | - || - | - | - |
40-
| [ra2e2-ek](renesas/ra2e2-ek) |||| - | - | - | - | - ||| - || - | - | - | - | - | - | - |
41-
| [ra2l1-cpk](renesas/ra2l1-cpk) ||||| - || - | - ||| - || - | - | - || - | - ||
42-
| [ra4e2-eco](renesas/ra4e2-eco) ||| - | - | - | - | - | - || - | - || - | - | - | - | - | - | - |
43-
| [ra4e2-ek](renesas/ra4e2-ek) | - || - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
44-
| [ra4m1-ek](renesas/ra4m1-ek) ||||| - || - |||| - || - | - | - | - | - | - | - |
45-
| [ra4m2-eco](renesas/ra4m2-eco) ||| - | - | - | - | - | - | - | - | - || - | - | - || - | - | - |
46-
| [ra6e2-ek](renesas/ra6e2-ek) ||| - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
47-
| [ra6e2-fpb](renesas/ra6e2-fpb) ||| - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
48-
| [ra6m3-ek](renesas/ra6m3-ek) ||| - | - | - | - ||||| - || - | - | - || - || - |
49-
| [ra6m3-hmi-board](renesas/ra6m3-hmi-board) ||||| - ||| - ||| - || - | - ||| - |||
50-
| [ra6m4-cpk](renesas/ra6m4-cpk) ||||| - || - | - ||| - || - | - ||| - | - ||
51-
| [ra6m4-iot](renesas/ra6m4-iot) ||||| - || - | - ||| - || - | - ||| - | - | - |
52-
| [ra8d1-ek](renesas/ra8d1-ek) ||||| - ||| - ||| - || - | - ||||||
53-
| [ra8d1-vision-board](renesas/ra8d1-vision-board) ||||| - || - | - ||| - || - | - ||||||
54-
| [ra8m1-ek](renesas/ra8m1-ek) |||| - | - || - | - ||| - || - | - | - || - | - ||
55-
| [rzn2l_etherkit](renesas/rzn2l_etherkit) |||| - || - ||||| - || - | - | - || - | - ||
56-
| [rzn2l_rsk](renesas/rzn2l_rsk) |||| - || - |||| - | - || - | - | - || - | - ||
57-
| [rzt2m_rsk](renesas/rzt2m_rsk) |||| - | - | - | - ||| - | - || - | - | - || - | - ||
36+
| BSP Name | GPIO | UART | ADC | CAN | CANFD | DAC | Ethernet | HWTimer | I2C | PWM | RTC | SPI | Soft SPI | Flash | SDHI | SCI | SDRAM | LCD | **RS485** | Other |
37+
|----------|------|------|-----|-----|-------|-----|----------|---------|-----|-----|-----|-----|----------|-------|------|-----|-------|-----|-------|-------|
38+
| [ebf_qi_min_6m5](renesas/ebf_qi_min_6m5) |||| - | - || - | - ||| - || - | - | - || - | - | - | - |
39+
| [ra2a1-ek](renesas/ra2a1-ek) |||| - | - || - | - ||| - || - | - | - || - | - | - | - |
40+
| [ra2e2-ek](renesas/ra2e2-ek) |||| - | - | - | - | - ||| - || - | - | - | - | - | - | - | - |
41+
| [ra2l1-cpk](renesas/ra2l1-cpk) ||||| - || - | - ||| - || - | - | - || - | - | - ||
42+
| [ra4e2-eco](renesas/ra4e2-eco) ||| - | - | - | - | - | - || - | - || - | - | - | - | - | - | - | - |
43+
| [ra4e2-ek](renesas/ra4e2-ek) | - || - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
44+
| [ra4m1-ek](renesas/ra4m1-ek) ||||| - || - |||| - || - | - | - | - | - | - | - | - |
45+
| [ra4m2-eco](renesas/ra4m2-eco) ||| - | - | - | - | - | - | - | - | - || - | - | - || - | - | - | - |
46+
| [ra6e2-ek](renesas/ra6e2-ek) ||| - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
47+
| [ra6e2-fpb](renesas/ra6e2-fpb) ||| - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
48+
| [ra6m3-ek](renesas/ra6m3-ek) ||| - | - | - | - ||||| - || - | - | - || - || - | - |
49+
| [ra6m3-hmi-board](renesas/ra6m3-hmi-board) ||||| - ||| - ||| - || - | - ||| - || - ||
50+
| [ra6m4-cpk](renesas/ra6m4-cpk) ||||| - || - | - ||| - || - | - ||| - | - | - ||
51+
| [ra6m4-iot](renesas/ra6m4-iot) ||||| - || - | - ||| - || - | - ||| - | - | - | - |
52+
| [ra8d1-ek](renesas/ra8d1-ek) ||||| - ||| - ||| - || - | - ||||| - ||
53+
| [ra8d1-vision-board](renesas/ra8d1-vision-board) ||||| - || - | - ||| - || - | - ||||| - ||
54+
| [ra8p1-titan-board](renesas/ra8p1-titan-board) ||||||||||||| - |||| - ||||
55+
| [ra8m1-ek](renesas/ra8m1-ek) |||| - | - || - | - ||| - || - | - | - || - | - | - ||
56+
| [rzn2l_etherkit](renesas/rzn2l_etherkit) |||| - || - ||||| - || - | - | - || - | - | - ||
57+
| [rzn2l_rsk](renesas/rzn2l_rsk) |||| - || - |||| - | - || - | - | - || - | - | - ||
58+
| [rzt2m_rsk](renesas/rzt2m_rsk) |||| - | - | - | - ||| - | - || - | - | - || - | - | - ||
5859

5960
#### 🟢 STM32
6061

@@ -88,6 +89,7 @@ This document is based on the RT-Thread mainline repository and categorizes the
8889
| [stm32f407-atk-explorer](stm32/stm32f407-atk-explorer) |||||| - ||||||| - | - || - ||| - || - | - | - | - || - ||
8990
| [stm32f407-fk407m2-zgt6](stm32/stm32f407-fk407m2-zgt6) |||| - || - | - |||||| - ||| - || - | - || - | - | - | - || - ||
9091
| [stm32f407-lckfb-skystar](stm32/stm32f407-lckfb-skystar) |||| - || - | - |||||| - ||| - || - | - || - | - | - ||| - | - |
92+
| [stm32f407-micu](stm32/stm32f407-micu) ||| - | - | - | - | - |||||| - ||| - | - | - | - | - |
9193
| [stm32f407-robomaster-c](stm32/stm32f407-robomaster-c) ||||| - | - | - | - ||| - || - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
9294
| [stm32f407-rt-spark](stm32/stm32f407-rt-spark) |||||| - | - |||||| - ||| - ||| - || - | - | - ||| - ||
9395
| [stm32f407-st-discovery](stm32/stm32f407-st-discovery) ||| - | - | - | - | - | - || - | - || - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
@@ -760,9 +762,9 @@ This document is based on the RT-Thread mainline repository and categorizes the
760762

761763
#### 🟢 K230 (RT-Smart)
762764

763-
| BSP Name | GPIO | UART | I2C | RTC | ADC | PWM | SDIO | HWTimer | WDT | SPI |
764-
|----------|------|------|-----|-----|-----|-----|------|---------|-----|-----|
765-
| [k230](k230) |||||||||||
765+
| BSP Name | GPIO | UART | I2C | RTC | ADC | PWM | SDIO | HWTimer | WDT | SPI | GNNE |
766+
|----------|------|------|-----|-----|-----|-----|------|---------|-----|-----|------|
767+
| [k230](k230) ||||||||||||
766768

767769
#### 🟢 Xuantie (RT-Smart)
768770

bsp/gd32/arm/gd32470z-lckfb/.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1447,7 +1447,7 @@ CONFIG_BSP_USING_SERIAL_V1=y
14471447
CONFIG_BSP_USING_UART0=y
14481448
CONFIG_BSP_UART0_TX_PIN="PA9"
14491449
CONFIG_BSP_UART0_RX_PIN="PA10"
1450-
CONFIG_BSP_UART0_AFIO="AF1"
1450+
CONFIG_BSP_UART0_AFIO="AF7"
14511451
# CONFIG_BSP_USING_UART1 is not set
14521452
# CONFIG_BSP_USING_UART2 is not set
14531453
# CONFIG_BSP_USING_UART3 is not set

bsp/gd32/arm/gd32470z-lckfb/board/Kconfig

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ menu "On-chip Peripheral Drivers"
5353

5454
config BSP_UART0_AFIO
5555
string "UART0 alternate function, such as AF7"
56-
default "AF1"
56+
default "AF7"
5757

5858
if BSP_USING_SERIAL_V2
5959
config BSP_UART0_RX_USING_DMA
@@ -254,6 +254,61 @@ menu "On-chip Peripheral Drivers"
254254
depends on BSP_USING_SPI4
255255
select BSP_SPI4_TX_USING_DMA
256256
default n
257+
258+
menuconfig BSP_USING_SPI_FLASH
259+
bool "Enable SPI Flash auto initialization"
260+
depends on RT_USING_SPI
261+
default n
262+
help
263+
Enable automatic SPI Flash initialization on selected SPI buses.
264+
Note: Only enable this for SPI buses that are actually connected to SPI Flash.
265+
If a SPI bus is used for other devices (e.g., OLED, WIFI), do not enable flash initialization for it.
266+
Note: This feature can work with or without SFUD. If you want to use SFUD, enable it in SPI driver menu.
267+
268+
if BSP_USING_SPI_FLASH
269+
270+
config BSP_USING_SPI0_FLASH
271+
bool "Enable SPI Flash on SPI0"
272+
depends on BSP_USING_SPI0
273+
default n
274+
help
275+
Enable SPI Flash initialization on SPI0 bus.
276+
277+
config BSP_USING_SPI1_FLASH
278+
bool "Enable SPI Flash on SPI1"
279+
depends on BSP_USING_SPI1
280+
default n
281+
help
282+
Enable SPI Flash initialization on SPI1 bus.
283+
284+
config BSP_USING_SPI2_FLASH
285+
bool "Enable SPI Flash on SPI2"
286+
depends on BSP_USING_SPI2
287+
default n
288+
help
289+
Enable SPI Flash initialization on SPI2 bus.
290+
291+
config BSP_USING_SPI3_FLASH
292+
bool "Enable SPI Flash on SPI3"
293+
depends on BSP_USING_SPI3
294+
default n
295+
help
296+
Enable SPI Flash initialization on SPI3 bus.
297+
298+
config BSP_USING_SPI4_FLASH
299+
bool "Enable SPI Flash on SPI4"
300+
depends on BSP_USING_SPI4
301+
default n
302+
help
303+
Enable SPI Flash initialization on SPI4 bus.
304+
305+
config BSP_USING_SPI5_FLASH
306+
bool "Enable SPI Flash on SPI5"
307+
depends on BSP_USING_SPI5
308+
default n
309+
help
310+
Enable SPI Flash initialization on SPI5 bus.
311+
endif
257312
endif
258313

259314
menuconfig BSP_USING_ADC

bsp/gd32/arm/gd32470z-lckfb/rtconfig.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@
428428
#define BSP_USING_UART0
429429
#define BSP_UART0_TX_PIN "PA9"
430430
#define BSP_UART0_RX_PIN "PA10"
431-
#define BSP_UART0_AFIO "AF1"
431+
#define BSP_UART0_AFIO "AF7"
432432
#define BSP_USING_GD_DBG
433433
/* end of On-chip Peripheral Drivers */
434434

bsp/gd32/arm/libraries/gd32_drivers/drv_spi_flash.c

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
88
* 2021-12-31 BruceOu first implementation
99
* 2023-06-03 CX fixed sf probe error bug
1010
* 2024-05-30 godmial refactor driver for multi-SPI bus auto-mount
11+
* 2025-11-28 godmial add configurable SPI Flash initialization
12+
* Only initialize flash on SPI buses explicitly configured
13+
* via BSP_USING_SPIx_FLASH options to avoid conflicts
14+
* with other SPI devices (e.g., OLED, WIFI)
1115
*/
1216
#include <board.h>
1317
#include "drv_spi.h"
@@ -34,7 +38,7 @@ struct spi_flash_config
3438

3539
static const struct spi_flash_config flash_configs[] =
3640
{
37-
#ifdef BSP_USING_SPI0
41+
#if defined(BSP_USING_SPI0) && defined(BSP_USING_SPI0_FLASH)
3842
{
3943
.bus_name = "spi0",
4044
.device_name = "spi00",
@@ -43,7 +47,7 @@ static const struct spi_flash_config flash_configs[] =
4347
},
4448
#endif
4549

46-
#ifdef BSP_USING_SPI1
50+
#if defined(BSP_USING_SPI1) && defined(BSP_USING_SPI1_FLASH)
4751
{
4852
.bus_name = "spi1",
4953
.device_name = "spi10",
@@ -52,7 +56,7 @@ static const struct spi_flash_config flash_configs[] =
5256
},
5357
#endif
5458

55-
#ifdef BSP_USING_SPI2
59+
#if defined(BSP_USING_SPI2) && defined(BSP_USING_SPI2_FLASH)
5660
{
5761
.bus_name = "spi2",
5862
.device_name = "spi20",
@@ -61,7 +65,7 @@ static const struct spi_flash_config flash_configs[] =
6165
},
6266
#endif
6367

64-
#ifdef BSP_USING_SPI3
68+
#if defined(BSP_USING_SPI3) && defined(BSP_USING_SPI3_FLASH)
6569
{
6670
.bus_name = "spi3",
6771
.device_name = "spi30",
@@ -70,19 +74,29 @@ static const struct spi_flash_config flash_configs[] =
7074
},
7175
#endif
7276

73-
#ifdef BSP_USING_SPI4
77+
#if defined(BSP_USING_SPI4) && defined(BSP_USING_SPI4_FLASH)
7478
{
7579
.bus_name = "spi4",
7680
.device_name = "spi40",
7781
.flash_name = "gd25q_spi4",
7882
.cs_pin = GET_PIN(F, 6),
7983
},
8084
#endif
85+
86+
#if defined(BSP_USING_SPI5) && defined(BSP_USING_SPI5_FLASH)
87+
{
88+
.bus_name = "spi5",
89+
.device_name = "spi50",
90+
.flash_name = "gd25q_spi5",
91+
.cs_pin = GET_PIN(F, 6), /* Note: Update CS pin according to actual hardware */
92+
},
93+
#endif
8194
};
8295

8396

8497
static int spi_flash_init(void)
8598
{
99+
#ifdef BSP_USING_SPI_FLASH
86100
int result = RT_EOK;
87101

88102
for (size_t i = 0; i < sizeof(flash_configs) / sizeof(flash_configs[0]); i++)
@@ -106,5 +120,9 @@ static int spi_flash_init(void)
106120
}
107121

108122
return result;
123+
#else
124+
/* SPI Flash auto-initialization is disabled. User should initialize SPI Flash manually in board code. */
125+
return RT_EOK;
126+
#endif
109127
}
110128
INIT_COMPONENT_EXPORT(spi_flash_init);

0 commit comments

Comments
 (0)