Commit Graph

7411 Commits

Author SHA1 Message Date
Shell 7528645f59 feat: libcpu/risc-v: unify context on c906, virt64
Changes:
- added config for NEW_CTX_SWITCH
- used new context on c906 sched switch routine
- update _rt_hw_stack_init to fit into NEW_CTX_SWITCH
- separated vector ctx from the generic

Signed-off-by: Shell <smokewood@qq.com>
2024-09-11 18:06:51 -04:00
Shell adbbd24ad7 feat: bsp: qemu risc-v64: fit into common64 2024-09-11 18:06:51 -04:00
zms123456 08221b54d0
[kernel][mutex] fix bug of thread exit without releasing mutex & add error check log 2024-09-11 18:03:43 -04:00
Rbb666 0df9a9f0cc [bsp][hpmicro]添加utest相关段信息,修复scons编译问题 2024-09-10 23:59:59 -04:00
liangzohar 240172609c [bsp/n32] 修复每次上电都初始化RTC导致上电时间被重置的问题 2024-09-10 19:53:01 -04:00
Chen Wang 6fc1fc72b7 bsp: cvitek: clean up useless variable assignments in SConstruct
CV18xx RISC-V C906L.

Configuration value for CPU and ARCH are already defined in rtconfig.py.
Remove these duplication from SConstruct.

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2024-09-05 23:39:06 -04:00
zhangyan 5181857148
[bsp/phytium]默认配置修改 2024-09-05 18:18:27 -04:00
yandld 1cc0fb87df fix README typo 2024-09-05 13:04:16 +08:00
yandld ba7e469772 [bsp][mcxc444] update README and keil project 2024-09-05 13:04:16 +08:00
Yilin Sun b4165288fc bsp: nxp/mcx/mcxc: FRDM-MCXC444: Kconfig: Add I2C support. 2024-09-04 23:34:40 +08:00
Yilin Sun b76fd6ba0a bsp: nxp/mcx/mcxc: Add I2C driver support. 2024-09-04 23:34:40 +08:00
Z8MAN8 cea7670e7f bsp: cvitek: fix cvitek uart driver can not repeat configure
After first called from uart open, the dw8250_uart_configure
API cannot be called again. Otherwise, this will mess up the
device, and uart will not act properly to interrupt again.

Analysis: Configure uart device will close recive interrupte,
causing uart device to malfunction.

Solution: After configure uart device, enable the device's
recive interrupte.

Signed-off-by: Shicheng Chu <1468559561@qq.com>
Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
2024-09-03 20:50:50 -04:00
flyingcys 2e224b30ad [bsp/cvitek] eth driver support phy link detect
Signed-off-by: flyingcys <flyingcys@163.com>
2024-09-03 18:17:30 -04:00
yandld cf56227000 [bsp][mcxc] add rtc/wdog/uart driver 2024-09-03 18:15:17 -04:00
Yilin Sun ad256db2c0 bsp: nxp/mcx/mcxc: FRDM-MCXC444: Fix GCC build suport.
This patch fixes GCC build support for FRDM-MCXC444.

* Updated compiler flags to Cortex-M0 without FPU.
* Updated linker script to add RT-Thread const tables.
2024-09-03 15:22:05 +08:00
sakumisu 0d87b028ed
update(cherryusb): add config for bl616 usbdev and usbhost 2024-09-02 22:27:04 -04:00
sheltonyu 6a30ec2625
[bsp/at32] ethernet support phy lan8720 and yt8512 2024-09-02 12:51:06 -04:00
sheltonyu a40f2a62ef
[bsp/at32] 1.add support m412/416 series, 2.add drv_can_v2 driver (support canfd) 2024-09-02 00:41:18 -04:00
sakumisu f7de9de7dd update(cherryusb): add config for hpm6750 usbdev and usbhost 2024-09-02 00:40:29 -04:00
sakumisu b462daf57e update(cherryusb): add config for mcxn947 usbdev and usbhost 2024-09-02 10:15:43 +08:00
Shell b6f1b16d7a feat: bsp: qemu-riscv64: using klibc API for printf 2024-09-01 15:12:34 -04:00
Shell a5042f5bb5 feat: bsp: qemu-riscv64: updates of building & docs
- using generic command instead of abs path
- update BSP configurations
- update README
2024-09-01 15:12:34 -04:00
Shell 1c5340ce3a feat: bsp: qemu-riscv64: remove useless configs 2024-09-01 15:12:34 -04:00
下里巴人 9e690694c7
[bsp][nxp][mcxa153] add spi1 driver entry 2024-08-28 21:07:05 -04:00
heyuanjie87 b3fbddda80
[bsp/cvitek]修正sdhci发送命令超时后触发两次信号量的问题
修正命令超时后触发两次信号量的问题

详解:
中断状态寄存器的BIT0仅表示sdhci处理命令完成,完成结果由其它位指示,当出错时
BIT0也会值1产生中断

Signed-off-by: heyuanjie87 <943313837@qq.com>
2024-08-28 18:33:50 -04:00
CYFS 4f10d05a5b
[bsp][ht32] 修复编译问题
修复scons编译问题并添加ci
2024-08-28 18:31:59 -04:00
zhugengyu b9f4daa97a
[BSP][Phytium] add support for mainbranch cherryusb (xhci host + pusb2 device/host) 2024-08-27 22:06:13 -04:00
Shicheng Chu 66738d71da bsp: cvitek: Add support for duos_sd
Supports both big and little cores of RISC-V C906,
but does not support ARM cores. Currently, only UART
drivers are supported on the peripherals.

Signed-off-by: Shicheng Chu <1468559561@qq.com>
2024-08-27 00:53:15 -04:00
flyingcys 82f30aa54f
rename c906 FPU macro (#9290)
1. 修改 ENABLE_FPU 为 ARCH_RISCV_FPU,与libcpu/common 保持统一
2. 对 bsp/cvitek/cv18xx_risc-v 中增加使能 ARCH_RISCV_FPU 的动作。解决了 issue #9075
2024-08-27 00:46:41 -04:00
yandld 32635bb53a fix formmating issue 2024-08-27 00:44:34 -04:00
yandld 0179d7427a frdm-mcxn236
add uart5
add can support
add wdog support
2024-08-27 00:44:34 -04:00
yandld 6ef77d7d32 add wdog driver and refine default project 2024-08-27 00:44:34 -04:00
Fan YANG 0b1ba0f612 [bsp][hpmicro] add missing fence apis
- added missing fence apis

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
2024-08-26 10:41:15 +08:00
Fan YANG 6c085218a3 [bsp][hpmicro][hpm6e00evk] add hpm6e00evk support
- added hpm6e00evk support

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
2024-08-26 10:41:15 +08:00
Fan YANG e19b63e5fb [bsp][hpmicro] upgrade hpm_sdk to v1.6.0
- upgraded hpm_sdk to v1.6.0

Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
2024-08-26 10:41:15 +08:00
Z8MAN8 742dae7220 bsp: cvitek: Add timer driver
Signed-off-by: Shicheng Chu <1468559561@qq.com>
2024-08-25 12:11:57 -04:00
Supper Thomas 077e6889e8 [bsp/nxp] Add fixed lds 2024-08-25 22:57:52 +08:00
yandld 8ba75bddc3 [bsp][mcxc] initial commit for frdm-mcxc444 2024-08-25 10:55:17 -04:00
CXSforHPU 416ec66380
[device] add dev_ prefix for file names 2024-08-23 18:15:09 -04:00
Koen De Vleeschauwer edfc7d6201 [bsp/at32] static dma_isr() in hard_i2c and spi 2024-08-23 17:45:56 -04:00
LZerro e5382cb733 [bsp][Infineon][psoc6-evk-062s2]Adapt to RTduino 2024-08-22 22:58:49 -04:00
hywing d3b9480658 [bsp][nxp][mcxa153] add i2c driver 2024-08-21 17:35:19 -04:00
Z8MAN8 f5156774b2 bsp: cvitek: Canonically rename some macro definitions
Analysis: Some macro definition names are not standardized
and lack prefixes.

Solution: Add BSP_ prefix to GPIO_IRQ_BASE SYS_GPIO_IRQ_BASE
PLIC_PHY_ADDR TIMER_CLK_FREQ UART_IRQ_BASE I2C_IRQ_BASE.

Signed-off-by: Shicheng Chu <1468559561@qq.com>
2024-08-20 09:52:18 +08:00
Yilin Sun fea231407b bsp: nxp/mcx/mcxn/mcxn236: Remove invalid SPI8 entry.
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-08-19 16:04:28 +08:00
Yilin Sun 42239863cf bsp: nxp/mcx/mcxn/mcxn947: Remove invalid SPI8 entry.
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-08-19 16:04:28 +08:00
Yilin Sun a5780a341c bsp: nxp/mcx/mcxn: SPI: Use updated DMA mux enum.
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-08-19 16:04:28 +08:00
Yilin Sun fd3f603b27 bsp: nxp/frdm-mcxn947: FS: use generic SPI API.
This patch replaces SPI flash mount procedure with generic SPI API. This
patch also try to format the external flash on the first mount failure,
in case of empty or invalid flash content is present on the external SPI
flash.

Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-08-16 20:20:34 -04:00
Yilin Sun 12214dc18c bsp: nxp/frdm-mcxn947: WiFi: use generic SPI API.
This patch changed SPI initialization API to standard RT-Thread SPI API.
The current code contains a minor bug which does not wait for WiFi
module ready before stack initialization, this is also fixed.

Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-08-16 20:20:34 -04:00
Yilin Sun e6cf0bc97d bsp: nxp/mcxn947: Updated SDK to release v2.16.000
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-08-16 20:20:13 -04:00
Yilin Sun 0864456947
bsp: nxp/mcx: Use standard SPI CS pin. (#9312)
* bsp: nxp/mcx/mcxn: SPI: Added missing bracket and re-format code.

The closing bracket is missing from SPI6 struct.
Introduced since commit fc1cfd6d36 .

Use standard rt_spi_device->cs_pin instead of user_data pointer.

---------

Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-08-16 16:47:16 +08:00
沐枫 9822b46291
[BSP][stm32]add BSP for FK407M2-ZGT6 2024-08-15 04:10:16 -04:00
Meco Man c90179beb5 删除rt_thread_sleep遗留 2024-08-15 04:08:33 -04:00
Shell a6c38c5c44 bsp: fit into c11 atomic 2024-08-13 04:13:51 -04:00
yekai e418b959d7 modify startup to call entry after start 2024-08-12 19:19:59 +08:00
yekai ce9e6209ab modify heap to zero
as mysterywolf do in commit 698569c3ca
2024-08-12 19:19:59 +08:00
yekai 145c6e2b51 update `STM32Cube MCU Package for STM32H7 Series` to 1.11.2 2024-08-12 19:19:59 +08:00
Rbb666 fd111e7af4 [bsp][nxp/mcxa153]添加spi缺失的文件路径 2024-08-12 17:23:40 +08:00
hywing 836865f404 [bsp][nxp][mcxa153] driver code formatted 2024-08-12 17:23:40 +08:00
hywing 6d000573b6 [bsp][nxp][mcxa153] fix compiling problem 2024-08-12 17:23:40 +08:00
hywing 187ce18695 [bsp][nxp][mcxa153] add spi driver 2024-08-12 17:23:40 +08:00
hywing 61a2bf6154 [bsp][nxp][mcxa153] add pwm driver 2024-08-12 17:23:40 +08:00
luchenxu 40610fbd5d [BSP][airm2m/air32f103] fix build errors when using arm gnu toolchain 2024-08-12 17:00:33 +08:00
Chen Wang deb35d3fb3 bsp: cvitek: SConstruct: optimize drivers_path_prefix
For bsp/cvitek, all drivers related files are moved to the directory
bsp/cvitek/drivers, so the drivers_path_prefix processing in the
SConstruct of the three bsp projects can be simplified.

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2024-08-12 16:43:56 +08:00
Rbb666 8c5f24469c
[ci][bsp]fix same54&same70&ls1cdev build errors. (#9282)
[ci][bsp]fix same54&same70&ls1cdev ci build errors.
2024-08-08 14:08:59 +08:00
Z8MAN8 b6c26d4537 bsp: cvitek: fix c906_little IRQ_MAX_NR error num
Analysis: The IRQ_MAX_NR value of c906_little is wrong.
interrupt.h relies on IRQ_MAX_NR defined in rtconfig.h but
does not explicitly include this header file.

Solution: Change IRQ_MAX_NR to the correct value 61 in
the datasheet. Explicitly include rtconfig.h in interrupt.h.

Signed-off-by: Shicheng Chu <1468559561@qq.com>
Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
2024-08-07 11:35:27 +08:00
Z8MAN8 bce592e949 bsp: cvitek: fix cv18xx_risc-v IRQ_MAX_NR error num
Analysis: The IRQ_MAX_NR value of cv18xx_risc-v is wrong.
The wrong IRQ_MAX_NR will cause the install of an interrupt
number larger than its value to fail.

Solution: Change IRQ_MAX_NR to the correct value 101 in
the datasheet.

Signed-off-by: Shicheng Chu <1468559561@qq.com>
Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
2024-08-07 11:35:27 +08:00
Z8MAN8 dc95efe17c bsp: cvitek: add support for RTCSYS_SARADC
Cvitek adc dirver only supports one adc controller now,
but the other adc controller RTCSYS_SARADC is missing.

Signed-off-by: Shicheng Chu <1468559561@qq.com>
Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
2024-08-07 11:15:37 +08:00
Rbb666 59f1146fae 优化mxca153 adc驱动,支持电压读取 2024-08-04 22:55:21 +08:00
Yaochenger c9d4fd5059 remove useless code 2024-08-01 17:31:52 +08:00
Yaochenger a4a5953256 [bsp][ch32] add eth driver 2024-08-01 17:31:52 +08:00
Rbb666 f4cb323919 优化flash部分驱动+完善注释+格式化部分代码 2024-08-01 09:41:04 +08:00
Rbb666 b06843b91c 更新MCXA153-SDK-V2.16.000 2024-07-31 22:34:46 +08:00
耿浩 8d15f15f16
[bsp/Infineon] 修复 SCons 中的 typo 并优化表达 (#9262)
Co-authored-by: clow1710 <gh.my1710@outlook.com>
2024-07-30 00:21:02 +08:00
Shell 0b6aa5ae0c fixup: using rt_kprintf instead of libc API for kernel source
Signed-off-by: Shell <smokewood@qq.com>
2024-07-29 20:18:19 +08:00
Shell 148e5774c9 bsp: enable KERNEL_REMAP for cvitek platform
Changes:

- board.c: add static assert for KERNEL_VADDR_START to check if it's valid
- board.h: updated deafult KERNEL_VADDR_START for standard version
- config bsp for v5.2.0 smart requirements
- kconfig: update bsp Kconfig for remap kernel

Signed-off-by: Shell <smokewood@qq.com>
Reviewed-on: https://github.com/RT-Thread/rt-thread/pull/9229
Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
2024-07-29 20:18:19 +08:00
Shell cfa3ecfa9e bsp: cvitek/c906B: feat: add config of bootfs
To support more choice on bootfs. romfs, cromfs are now supported on
risc_v_big platform.

Changes:
- added mount operations under port
- added prototypes for cromfs init APIs

Signed-off-by: Shell <smokewood@qq.com>
Reviewed-on: https://github.com/RT-Thread/rt-thread/pull/9229
Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
2024-07-29 20:16:54 +08:00
wirano d56452e662 fix: remove extra space at the end of files 2024-07-29 13:18:28 +08:00
wirano 229b2bffec uart: add support for gd32h7xx 2024-07-29 13:18:28 +08:00
wirano ab2e98aacf gpio: add gd32h7xx support 2024-07-29 13:18:28 +08:00
wirano 36dd0b74c8 add GD32H7xx library 2024-07-29 13:18:28 +08:00
wirano 8762b2e02e add gd32h759i-start bsp 2024-07-29 13:18:28 +08:00
Z8MAN8 a1b01ee865 bsp: cvitek: fix cv18xx_aarch64 mnt init blocking
The aarch64 core of duo on the master cannot enter the
console interface. It can only print the RT flag and hold it.

Analysis: The latest commit that can work is ae6a328 ("Add
psoc62, 61 config"). This phenomenon will occur after adding
754c59a ("[Feature] DFS mount auto by kernel parameters").
The specific reason is that when aarch bsp enables the device
tree, the current u-boot will pass in bootargs, which contains
"root=/dev/mmcblk0p2 rootwait rw", which means that the
kernel is required to wait until the rootfs in /dev/mmcblk0p2
loaded successfully. However, the current aarch64 bsp default
does not implement sdmmc device mounting, causing the
 kernel file system mounting module (rootfs_mnt_init() of
components/drivers/core/mnt.c) to enter an infinite loop waiting.

Solution: At present, we do not plan to modify the startup
parameters of u-boot. The temporary solution adopted is to
create a pseudo /dev/mmcblk0p2 device during the board
initialization process, and then cancel the pseudo device
after mnt is completed. This allows the kernel boot to be
completed successfully.

Signed-off-by: Shicheng Chu <1468559561@qq.com>
Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
2024-07-25 21:35:48 +08:00
Bernard Xiong bde4817b9e
Merge pull request #9228 from messigogogo/master
[BSP/Phytium]适配最新驱动
2024-07-25 19:03:37 +08:00
Bernard Xiong 30f995dfb4
Merge pull request #9221 from Z8MAN8/cvitek_arm_uart
bsp: cvitek: add missing soc type for aarch64
2024-07-25 18:58:34 +08:00
Bernard Xiong 660f3aa205
Merge pull request #9247 from Z8MAN8/cvitek_arm_board_init
bsp: cviteK: update board init for aarch64
2024-07-25 09:11:05 +08:00
sheltonyu d1c7712bfb
[bsp/at32] 1.add support hwi2c driver, 2.update all firmware libraries. (#9241)
* 1.add support hwi2c driver, 2.update all firmware libraries

* update some files and fixed errors

* add support a423 at hwi2c driver

* add .ignore_format.yml
2024-07-24 23:22:50 +08:00
Chen Wang c8914c7f2b bsp: cvitek: fixed stacksize issue
In the original Sconstruct script, `GetDepend('__STACKSIZE__')`
is placed before the call to `PrepareBuilding()`, which causes
the value of `GetDepend('__STACKSIZE__')` to always be False,
and the value of `__STACKSIZE__` in `link_stacksize.lds` will
not be updated.

Solution: move the call if `PrepareBuilding()` ahead.

Also sync and update the .config and rtconfig.h, plus the
link_stacksize.lds.

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2024-07-24 23:18:25 +08:00
Z8MAN8 84eea6c654 bsp: cviteK: update board init for aarch64
When compiling CV18xx_arch64, have a error:
can not find "rt_fdt_commit_memregion_early"

Analysis: b785ef9 ("[libcpu][aarch64]memory setup using memblock ")
no longer support  "rt_fdt_commit_memregion_early", become use
"rt_memblock_reserve_memory"

Solution: Refer to the bsp/qemu-virt64-aarch64/drivers/board.c
delete "rt_fdt_commit_memregion_early"

Signed-off-by: Shicheng Chu <1468559561@qq.com>
Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
2024-07-24 19:44:52 +08:00
Z8MAN8 4c2fe22cbe bsp: cvitek: add missing soc type for aarch64
When compiling CV18xx_arch64, there are the following errors:
1. missing soc type for aarch64
2. uart device objects defined but not used

Analysis: a63c07f ("bsp: cvitek: new design for pinmux") and
114e143("bsp:cvitek: add pinmux for uart"), CV18xx_arch64 is not
considered.

Solution: Refer to the cv18xx_riscv format to add the corresponding
chip type SOC_Type_SG2002, as well as the corresponding macro
for the serial port pins and interrupts

Signed-off-by: Shicheng Chu <1468559561@qq.com>
Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
2024-07-24 19:29:46 +08:00
Bernard Xiong 8dc166b16c
Merge pull request #9242 from heyuanjie87/hyj724
[bsp/cvitek]添加ioremap兼容定义以适应smart运行
2024-07-24 13:36:11 +08:00
heyuanjie87 5b82841748 [feat]添加ioremap兼容定义以适应smart运行 2024-07-24 12:28:50 +08:00
Chen Wang 04cad7f9c6 bsp: cvitek: improve documentation
Currently, the documents under bsp/cvitek are a bit
messy. There are currently four readme files:

- bsp/cvitek/README.md (Chinese)
- bsp/cvitek/c906_little/README.md (Chinese/English)
- bsp/cvitek/cv18xx_aarch64/README.md (Chinese)
- bsp/cvitek/cv18xx_risc-v/README.md (Chinese/English)

Regarding the working mode of the big + small cores, it
is meaningless to describe the small core alone, or the
large core alone. This can also be seen in the existing
files. The readme of the small core will also introduce
the programming of the large core, and vice versa.

Considering that the official default mode is
C906B + C906L. ARM large core can be treataed as a
special case. So the document structure is modified as
follows:
- Remove `bsp/cvitek/c906_little/README.md` and
  `bsp/cvitek/cv18xx_risc-v/README.md`, merge them all
  into `bsp/cvitek/README.md`
- Add a link to `bsp/cvitek/cv18xx_aarch64/README.md`
  in `bsp/cvitek/README.md`

FIXME: The modified document does not provide English
version. Is it really necessary?

Signed-off-by: Chen Wang <unicorn_wang@outlook.com>
2024-07-22 22:54:56 +08:00
zhangyan 1202d51bd6 format check 2024-07-22 10:42:30 +08:00
张衍 0e3c4bd26b [BSP/Phytium]适配最新裸机驱动 2024-07-22 02:33:39 +00:00
Z8MAN8 78f3ebfb33 [bsp][cvitek] 修复 cv18xx_aarch64 gpio 驱动相关宏配置 2024-07-21 17:37:56 +08:00
Z8MAN8 2a3bb2bf95 [bsp][cvitek]: 将adc wdt驱动的局部函数移至源文件 2024-07-21 17:37:09 +08:00
Rbb666 6b3ef17830 删除stm32/drv_pm.c不必要的头文件 2024-07-19 11:51:39 +08:00
Rbb666 1a596607ed 删除bsp:stm32l476的pm组件依赖 2024-07-19 11:51:39 +08:00
wdfk-prog 568356cc48 [stm32][pm]lptimer is supported 2024-07-19 11:51:39 +08:00
wdfk-prog fccd98747e [stm32][lptim]lptimer is register with hwtimer, only supports pm calls,the timer function is not supported 2024-07-19 11:51:39 +08:00