summaryrefslogtreecommitdiff
path: root/components/drivers
AgeCommit message (Collapse)Author
2024-09-06[DM/Feature] Basic PCI/PCIe (Peripheral Component Interconnect Express) busGuEe-GUI
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 <[email protected]>
2024-09-06[DM] Extended drivers MISC interfaceGuEe-GUI
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 <[email protected]>
2024-09-03Fixup platform not free device in OFWGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2024-09-03Fixup bus remove device optionGuEe-GUI
The bus should call driver's `remove` callback not instead of `shutdown` in rt_bus_remove_device. Signed-off-by: GuEe-GUI <[email protected]>
2024-09-03[fix][device] ↵Yaochenger
修正使用rt_device_create创建设备,使用rt_device_destroy删除失败的问题
2024-09-02fix(cherryusb): fix build errorsakumisu
2024-09-02update(cherryusb): fix dfs mem leak, add check for lwip stack size, select ↵sakumisu
elmfat when use msc
2024-08-27[BSP][Phytium] add support for mainbranch cherryusb (xhci host + pusb2 ↵zhugengyu
device/host)
2024-08-27update(cherryusb): update to v1.4.0sakumisu
2024-08-23[device] add dev_ prefix for file namesCXSforHPU
2024-08-19feat: add ISR safe completion APIShell
Since the completion is used to sync with ISR mostly, we should set the default semantic to ISR-safe. So most user will be happy and don't see any weird behavior in their codes. Changes: - Added `rt_completion_wait_noisr` and `rt_completion_wait_flags_noisr` functions in `completion.h`, `completion_comm.c`, `completion_mp.c`, and `completion_up.c`. - The new APIs allow waiting for completions in non-ISR contexts while ensuring thread context safety. - Existing documentation and comments were updated to clarify usage contexts and emphasize restrictions on ISR usage. Signed-off-by: Shell <[email protected]>
2024-08-12[components][drivers][sdio][sd] Fix wrong max data rate calculation logicFan YANG
- corrected the default value for max_data_rate variable Signed-off-by: Fan YANG <[email protected]>
2024-08-09fix rt_atomic_dec_and_testzhao maosheng
2024-07-24Synchronizing sensor_v1 changeskurisaw
2024-07-24[sensor_v2] Repair an error occurs when sensor v2 probes a sensor device for ↵kurisaw
the first time
2024-07-19[compoents][hwtimer]Add a user control interfacewdfk-prog
2024-07-19[compoents][pm]The device is registered and uninstalled by linked listwdfk-prog
2024-07-18Fix potential return value discrepancy when writing to urandomzhao maosheng
2024-07-15[libcpu/rv64] feat: unify tick.cShell
The changes unify the tick.c implementations for all risc-v64 architectures, leveraging the CPUTIME feature. This refactoring was necessary to streamline the codebase, and ensure consistent timer handling across different platforms. Changes: - Updated `Kconfig` in `bsp/cvitek/cv18xx_risc-v` to fix formatting issues. - Updated .config for BSPs to update `CPUTIME_TIMER_FREQ` - Updated header of for API `riscv_cputime_init` - Initialized riscv timer on `rt_hw_tick_init` - Refactored `tick.c` and `tick.h` in `libcpu/risc-v/t-head/c906` and `libcpu/risc-v/virt64`: - Replaced direct use of `rdtime` with `clock_cpu_gettime`. - Removed redundant timer frequency definitions. - Added static assertions to check the value of `CPUTIME_TIMER_FREQ`. - Initialized `tick_cycles` based on `CPUTIME_TIMER_FREQ`. - Integrated `ktime` support for tick initialization. Signed-off-by: Shell <[email protected]> Reviewed-on: https://github.com/RT-Thread/rt-thread/pull/9164 Reviewed-by: Chen Wang <[email protected]>
2024-07-13[driver][virtio]fix virtio net rx error (#9170)zms123456
fix virtio net rx error
2024-07-12fix(cherryusb): fix typosakumisu
2024-07-12[components][SPI][spi-bit-ops]修复可能的异常操作wdfk-prog
* 移除初始化时未进行引脚初始化就进行引脚设置可能导致的异常 * CS引脚配置判断完善 * xfer返回值优化
2024-07-09[components][driver][can]Fix possible memory overflow caused by RXwdfk-prog
修复RX可能导致的内存溢出情况 #8634
2024-07-09[smart/tty] skip configure of rt_serial on tty open (#9152)Shell
Skip configure on open since all configs are copied from the current configuration on device. So we don't bother to set it back to device again. Changes: - test and skip configuration on open() of tty device Signed-off-by: Shell <[email protected]>
2024-07-09[fixed]serial_v2.c兼容DFS_V2接口 (#9153)LaterComer
2024-07-05fix a bug that read members in non-existent functionsEvlers
2024-07-05fix an issue where repeated remove of card resulted in assertionsEvlers
2024-07-04fix initrd scan errzhao maosheng
2024-06-30Update cherryusb to v1.3.1 (#9122)sakumisu
* fix(hpmicro): remove duplicate usb variable * update(cherryusb): update to v1.3.1
2024-06-28[ktime] quality: remove recursion on hrtimer (#9110)Shell
[ktime] feat: remove recursion on hrtimer Replace recursive algorithm with a loop in hrtimer when determining next timeout event and setup hr timer. Signed-off-by: Shell <[email protected]>
2024-06-27[drivers][serial V1]poll tx 增加异常退出机制wdfk-prog
2024-06-26fix Compilation error in "driver.c", "completion_up.c", "syslog.c" and ↵Rui
"dlmodule.c". (#9093)
2024-06-26[bsp][stm32]Optimize ADCs and fix some bugsyiyi
2024-06-26[libcpu][aarch64]memory setup using memblock (#9092)zms123456
* memory setup using memblock * map pages later
2024-06-24[components][ringbuffer]修复编译错误wdfk-prog
2024-06-23[components][ktime]support period ktime timeout and multiple ktimer_hrtimer ↵zms123456
(#8972) * support period time * enable multiple ktimer * mv set delay_cnt to hrtimer_start * add ktime debug info * change current_irq_begin to local var * fix bug: setting current timer and setting timeout in driver aren't atomicly * create->init * refactoring ktime
2024-06-20[timer]add all soft timer config (#9048)zms123456
* add all soft timer * update wq * add timer test * shield LOG_D
2024-06-19[components][drivers]legacy fdt (#9062)zms123456
* legacy fdt * update fdt
2024-06-18add cromfs start with bootargs cmdzhujiale
2024-06-16[components] [drivers ] [Kconfig] 整理 components/drivers 的 Kconfig (#9054)sp-cai
整理 components/drivers 的 Kconfig
2024-06-13[fix] 修复ART-PI smart在sd/emmc读取不到分区的问题 (#9058)zhuzhuzhu
Update sd.c
2024-06-12[workqueue] add comment (#9046)wdfk-prog
2024-06-12【修复】修复ART-PI samrt上读取不到emmc/sd分区问题 (#9051)zhuzhuzhu
Update sd.c
2024-06-06[ipc]修复pipe创建失败时的资源异常释放yangpeng
2024-06-03[fix][misc][adc] 修复 ADC 电压转换的计算错误sp-cai
2024-06-02refactor(drivers/usb):replace rtt usb stack with cherryusb (#8799)sakumisu
2024-05-31[DM/feature] Implement PIC irq state { get; set } (#9006)GUI
* [DM/feature] Implement PIC irq state { get; set } There are some common state for irq: 1. Pending: IRQ was triggered, but software not ACK. 2. Active: IRQ was ACK, but not EOI. 3. Masked: IRQ was masked or umasked. Signed-off-by: GuEe-GUI <[email protected]> * [DM/pic] Support IRQ state { get; set } for ARM GICv2/v3 Signed-off-by: GuEe-GUI <[email protected]> --------- Signed-off-by: GuEe-GUI <[email protected]>
2024-05-31[fix]fix compile err in pic-gic (#9015)zms123456
fix compile err in pic-gic
2024-05-30dev: random should copy size bytes of data to buffer (#9012)Shell
2024-05-30[Feature] Support simple power domain API (#9005)GUI
* [Feature] Power domain for device 1.Support device power on/off. 2.Support attach/detach device. 3.Support power domain driver api. Signed-off-by: GuEe-GUI <[email protected]> * [DM/platform] Enhanced platform bus 1.Add power domain for device. 2.Support `remove` and `shutdown` bus interface. Signed-off-by: GuEe-GUI <[email protected]> --------- Signed-off-by: GuEe-GUI <[email protected]>