Commit Graph

16412 Commits

Author SHA1 Message Date
SeliverWang 66dd03f6c2 修复audio_pipe中函数在开启POSIX IPC时与 POSIX PIPE冲突问题 2024-09-06 23:18:09 -04:00
GuEe-GUI 2168ed8e7d [DM/Feature] Basic PCI/PCIe (Peripheral Component Interconnect Express) bus
PCI/PCIe have better performance and more devices support, such as
NVMe, GPU, Powerful NIC (Like RDMA). PCI/PCIe can access control by
IOMMU that the virtualiztion and userspace driver will more safety.
PCI/PCIe device could hot plugging, no design modifications SoC required,
PCI/PCIe on Embedded SoC is popular now.
We make a simple framework to support them.

Feature Lists:
1.PCI INTx: the INT[A-D] pin IRQ for legacy PCI, work with platform PIC.
2.MSI/MSI-X: the message write IRQ for PCIe, work with platform's PIC.
3.PME: we only support the D0, D1, D2, D3HOT, D3COLD init by framework.
4.Endpoint: a simple EP framework for PCI FPGA or NTB function.
5.OFW: we only support work on OFW SoC, ACPI support in the future maybe.

Host controller:
1. Common PCI host controller on ECAM.
2. Generic PCI host controller on ECAM.

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-09-06 17:45:03 -04:00
GuEe-GUI 802a6ed2ca [DM] Extended drivers MISC interface
1. RT_FIELD_PREP: prepare a bitfield element.
2. RT_FIELD_GET: extract a bitfield element.
3. rt_offsetof: member offset of a struct
4. rt_upper_32_bits: high 32 bits of value.
5. rt_lower_32_bits: lower 32 bits of value.
6. rt_upper_16_bits: high 16 bits of value.
7. rt_lower_16_bits: lower 16 bits of value.
8. rt_max_t: fix type of max(...).
9. rt_ilog2: integer logarithm base 2.

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-09-06 17:45:03 -04:00
zms123456 9631f04abe
[utest]add mutex_pi_tc
* add mutex_pi
* fix assertion error when thread wakeup while waiting mutex
2024-09-06 17:44:02 -04:00
Supper Thomas 0c16568387 [action] add cppcheck project and action debug 2024-09-05 23:39:30 -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
RyanCW 188b87f4d8
[components][at_socket] 添加errno设置 2024-09-05 17:54:50 -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
Supper Thomas 580f3146eb fix the cfg path 2024-09-04 23:35:27 +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
Shell d2160d352c
fixup: ipc: protect taken_list on shared lock
为什么提交这份PR (why to submit this PR)
Issue: using iperf server with sshd together and the kernel will get stuck occasionally.

taken_list is accessed from other mutex when updating priority.

你的解决方案是什么 (what is your solution)
protect taken_list on shared lock, but not on mutex local spinlock.

Signed-off-by: Shell <smokewood@qq.com>
2024-09-03 22:06:16 -04: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
Supper Thomas 3174fcd77b [action] update cppcheck version 2024-09-03 20:50:31 -04:00
GuEe-GUI 175a2ff954 Fixup platform not free device in OFW
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-09-03 19:49:47 -04:00
GuEe-GUI 2ec69c3ce4 Fixup bus remove device option
The bus should call driver's `remove` callback not
instead of `shutdown` in rt_bus_remove_device.

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2024-09-03 19:49:47 -04:00
Yaochenger 7469edd165 [fix][device] 修正使用rt_device_create创建设备,使用rt_device_destroy删除失败的问题 2024-09-03 18:24:45 -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
zhangyan a4882e1d40
[libcpu/aarch64]修改atomic实现 2024-09-03 18:14:06 -04:00
yandld 635e16a8d5 [libc] 修复 ctime()死机问题 2024-09-03 18:13:09 -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
Yaochenger 5d4f8193aa [add] 修改线程栈大小为UTEST_THR_STACK_SIZE 2024-09-03 14:03:21 +08:00
Yaochenger f33312abe0 [utest] add smp testcases 2024-09-03 14:03:21 +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
sakumisu 2d266742e0 fix(cherryusb): fix build error 2024-09-02 21:27:47 +08: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 9511e4bd19 update(cherryusb): fix dfs mem leak, add check for lwip stack size, select elmfat when use msc 2024-09-02 00:37:35 -04:00
sakumisu b462daf57e update(cherryusb): add config for mcxn947 usbdev and usbhost 2024-09-02 10:15:43 +08:00
Shell 679761983d fixup: ptyfs: CI reported snprintf type issues 2024-09-01 15:12:34 -04:00
Shell dfd8ccf262 feat: kernel/libcpu: fit into ilp32d 2024-09-01 15:12:34 -04: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
Evlers 8249e71bcc add readme files 2024-08-29 11:58:52 +08:00
Evlers 8c0f689452 [libcpu][arm][cortex-m4] allows rewrite to interrupt enable/disable api to support independent interrupts management 2024-08-29 11:58:52 +08:00
下里巴人 9e690694c7
[bsp][nxp][mcxa153] add spi1 driver entry 2024-08-28 21:07:05 -04:00
Supper Thomas 8b4fb52905
[script] add install.sh for rt-thread (#9355)
* [script] add install.sh for rt-thread

* [install] add gitee chevk
2024-08-29 07:44:35 +08: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
bernard 53b894c46c [tools] fix the SDK path issue in env script. 2024-08-28 18:31:22 -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
sakumisu 669a6822e7 update(cherryusb): update to v1.4.0 2024-08-27 00:48:40 -04:00
Shell cbf6b641c2 feat: add memset zero for rt_thread_init
`rt_object_allocate()` will clear memory after new rt_thread allocate in
`rt_thread_create()`. However, in `rt_thread_init()` the same behavior
is missing, which corrupt the consistence of the API.

Changes:
- Added `memset()` zero for `rt_thread_init()` in the entry

Signed-off-by: Shell <smokewood@qq.com>
2024-08-27 00:48:06 -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