summaryrefslogtreecommitdiff
path: root/components/drivers
AgeCommit message (Collapse)Author
4 days[bsp][spacemit/k1] first version #11132GUI
5 daysdrivers/misc: register rt_null at BOARD init for default console (#11472)seteiro
rt_console_set_device() is typically called in rt_hw_board_init() right after rt_components_board_init(). null was INIT_DEVICE (level 3), so it was not registered yet and could not be RT_CONSOLE_DEVICE_NAME. Raise to INIT_BOARD_EXPORT; null is a pure software sink with no HW deps. Co-Authored-By: Grok <[email protected]>
7 days[drivers][touch] Remove redundant path from global CPPPATHzhangyuyang
The touch framework has no private headers in its source directory, so adding the directory to CPPPATH is unnecessary. Remove it to avoid polluting the global header search path, as discussed in #10980.
7 days[ARCH/RISC-V] Next RISC-V (#10320)GUI
* [libcpu][risc-v] Refactor the RISC-V architecture port Introduce an opt-in unified RISC-V common layer for RV32 and RV64 while keeping existing BSPs on the legacy implementation during migration. - use ARCH_RISCV and ARCH_CPU_64BIT for architecture and XLEN selection - unify context, trap, MMU, cache, timer, SBI, SMP and ISA handling - add PLIC, CLIC, ACLINT, APLIC and IMSIC support - map physical hart IDs to contiguous logical CPU IDs - add T-Head vendor overrides while preserving legacy ports - migrate qemu-virt64-riscv with RV32 and RV64 support - update clock_time, MM, LWP, OFW, PCI and Rust integration Existing BSPs continue using legacy_common or common64 unless they select RT_USING_RISCV_NEW_COMMON. Signed-off-by: GuEe-GUI <[email protected]> * [libcpu][risc-v] skip disabled CPU nodes in early FDT walk Rbb666 noted that rt_hw_fdt_install_early() walked every /cpus child without checking status, so disabled cores still joined hart registration and MMU capability probing. Skip nodes that are not okay/ok via rt_fdt_device_is_available() before reading reg or mmu-type. Signed-off-by: seteiro <[email protected]> * [libcpu][risc-v] Fix per-CPU page table mapping - reuse existing non-leaf page table entries when mapping per-CPU areas - reject leaf entry conflicts instead of overwriting mappings Signed-off-by: GuEe-GUI <[email protected]> --------- Signed-off-by: GuEe-GUI <[email protected]> Signed-off-by: seteiro <[email protected]> Co-authored-by: seteiro <[email protected]>
9 days[drivers][ofw] Fix phandle hash buffer overflowHuoyanlifusu
9 days[wlan] synchronize AP lifecycle and direct RX handlingrcitach
10 days[components/drivers] reset: Fix build error when reset and ulog are both ↵Jiang Yu
enabled. The '#define assert ASSERT' in ulog_def.h conflicts with the 'assert' used in reset.c (rstc->rstcer->ops->assert), causing unintended macro expansion. Signed-off-by: Jiang Yu <[email protected]>
2026-09-27[drivers][ipc] 移除 SConscript 中冗余的 __RT_IPC_SOURCE__ 宏定义蒙蒙plus
2026-09-21[cherryusb][fsdev] add N32H4x USBFS device support #11764Onlyou_tzZ
2026-09-21[components][sdio] Fix CIS tuple memory leakzhangyuyang
2026-09-21[components][sdio] fix possible memory leak of sdio driver unregistrationzhangyuyang
2026-09-21feat[drivers][block]: fix printf format type mismatcheswdfk-prog
Fix format specifier mismatches in blk_partition.c by using the appropriate integer formats and explicit casts. This removes -Wformat warnings on platforms where rt_uint32_t and rt_size_t are represented as unsigned long.
2026-09-07[device][mmcsd] Fix Arm Compiler 5 build compatibility #11690CYFS
2026-09-01[utest][rtc] Add RTC time and alarm testsCYFS
2026-09-01[utest][pwm] Fix matrix test cleanup and timeoutCYFS
2026-09-01[utest][pwm] Add configurable PWM matrix testCYFS
2026-08-30[components][serial] Format termios staging declarationbernard
2026-08-30[components][serial] Address review findings for ioctl hardeningbernard
2026-08-30[components][serial] Harden RT-Smart serial ioctl argumentsbernard
在 v1/v2 串口文件边界复制已知用户参数,补齐 v2 unread count 和 termios 缓冲区保护。 在 imx6ull UART 编程前校验波特率,并在硬件配置成功后提交串口状态。
2026-08-30[drivers][virtio] Depend VirtIO net on LWIPbernard
将 VirtIO Net 的依赖从 RT_USING_ETHERNET 调整为 RT_USING_LWIP。 避免 SMART QEMU 在未启用以太网抽象时无法选择网卡。
2026-08-26[finsh] Remove deprecated FINSH_FUNCTION_EXPORT_ALIAS#11734Bernard Xiong
2026-08-17wlan: fix silent failure of wifi cmd when device mode not bound#11696Kai
2026-08-17wlan: add WPA3/enterprise/WAPI/OWE/DPP security modesKai
2026-08-16[bsp/raspberry-pi] update DM supportGuEe-GUI
- reorganize common Raspberry Pi drivers under the device framework - add the Raspberry Pi 5 BSP, configuration and documentation - add BCM2712 and DesignWare AXI DMA controller support - distinguish BCM2712 DMA32 and DMA40 channels by channel mask - restore DesignWare AXI DMA enable bits after controller reset - support a shared AXI maximum burst length across DMA channels Signed-off-by: GuEe-GUI <[email protected]>
2026-08-14[DM/OFW][PCI] Fix address translation and PCI resource enumeration (#11677)GUI
* [DM/OFW][PCI] Fix address translation and PCI resource enumeration Rework OFW address translation to walk nested bus ranges in the correct direction and cache "ranges" and "dma-ranges" independently. Handle PCI three-cell addresses without treating the PCI flags cell as part of the address, and fix CPU-to-DMA and DMA-to-CPU translation across nested buses. Fix PCI BAR sizing and assignment by disabling address decoding during probing, preserving BAR attribute bits, and programming 64-bit BARs correctly. Add device enable and disable helpers so resources and bus mastering are enabled before driver probe. Program bridge memory and prefetch windows while scanning downstream buses, correctly link child buses into the PCI bus hierarchy, and avoid unnecessary PCIe link retraining when the link is already active. Allow host bridges without a device-tree pci-domain property by allocating unique domains dynamically, while preserving explicit domain assignments. Fix MSI and MSI-X IRQ setup, rollback, vector addressing, and affinity selection. Add the Raspberry Pi PCI vendor ID for RP1 and other downstream devices. Signed-off-by: GuEe-GUI <[email protected]> * style: format code with clang-format * style: format complete changed files with clang-format * drivers: pci: address OFW review feedback * style: format PCI and OFW changes for current master --------- Signed-off-by: GuEe-GUI <[email protected]>
2026-08-14[dm][dma] Update DMA (#11678)GUI
* [dm][dma] update DMA interface Extend DMA mapping to honor OFW dma-ranges even when no reserved memory pool is present, and add PCI host-bridge DMA-region translation for PCI devices. Prefer 32-bit-addressable allocations for translated devices, improve pool allocation fallbacks and synchronization, and establish a linear mapping for installed DMA pools when possible. Signed-off-by: GuEe-GUI <[email protected]> * [dm][dma] fixup PL330 work flow Fix PL330 channel allocation so device-tree cells select peripheral request lines rather than execution channels. Generate proper peripheral DMA microcode using DMAWFP, DMALDP, DMASTP, and DMAFLUSHP, encode burst lengths correctly, honor transfer direction and non-secure attributes, and allocate microcode from DMA-coherent memory. Signed-off-by: GuEe-GUI <[email protected]> * style: format code with clang-format * style: format complete changed files with clang-format * drivers: dma: fix diagnostic format types * style: format DMA changes for current master --------- Signed-off-by: GuEe-GUI <[email protected]>
2026-08-14[DM/Input] Add ADC joystick, keyboard, and touchscreen drivers (#11679)GUI
* [DM/Input] Add ADC joystick, keyboard, and touchscreen drivers Add polling input drivers for ADC-connected joysticks and resistor- ladder keys. Parse Linux-compatible device-tree bindings, acquire ADC channels through the IIO framework, and report absolute-axis and key events. Add an SPI touchscreen driver for ADS7843, ADS7845, ADS7846, ADS7873, TSC2046, and XPT2046-compatible controllers. Support pen interrupts, coordinate and pressure reporting, sample filtering, regulator control, power management, and common touchscreen properties. Add an I2C touchscreen driver for Goodix GT9xx controllers with multi-touch reporting, GPIO-based reset and address selection, interrupt handling with polling fallback, regulator control, panel configuration, and alternate-address recovery. Adapt the drivers to the RT-Thread device model and input framework, following the corresponding Linux input drivers and device-tree bindings. Signed-off-by: GuEe-GUI <[email protected]> * style: format code with clang-format * drivers: input: address review feedback * style: format input changes for current master --------- Signed-off-by: GuEe-GUI <[email protected]>
2026-08-14[dm][sdio] Update for SDHCI- #11684 #11684GUI
2026-08-12refactor(pic): dispatch NVIC IRQs through trapsRbb666
2026-08-12fix(dm): route Cortex-M resets through power coreRbb666
2026-08-12feat(dm): support OFW on Cortex-M targetsRbb666
Add the ARM NVIC PIC driver, no-MMU I/O mapping, built-in FDT support, and Cortex-M CPU hooks required by the native RT-Thread device model.
2026-08-08[dm][clk] fixup the work flow of CLK (#11673)GUI
* [dm][clk] fixup the work flow of CLK Add RT_CLK_F_SET_RATE_NO_REPARENT so clock providers can preserv the currently selected parent during rate changes. Round and re-read the effective clock rate after parent handling, skip redundant gate toggles and hardware programming when the target is already active, and fix error handling for parent-clock allocation failures. Signed-off-by: GuEe-GUI <[email protected]> * style: format code with clang-format * style: format complete changed files with clang-format --------- Signed-off-by: GuEe-GUI <[email protected]>
2026-08-07[dm][phye] Add Mode/State and MIPI D-PHY timing helper (#11675)GUI
* [dm][phye] Add Mode/State and MIPI D-PHY timing helper Extend the generic PHY framework with cached mode and submode state, avoiding redundant hardware mode changes. Add MIPI D-PHY default timing calculation helpers based on pixel clock or lane high-speed clock, and expose the new API through rtdevice.h. Signed-off-by: GuEe-GUI <[email protected]> * style: format code with clang-format * style: format complete changed files with clang-format --------- Signed-off-by: GuEe-GUI <[email protected]>
2026-08-07[dm][regulator] Update Regulator (#11674)GUI
* [dm][regulator] update regulator Replace the regulator framework spinlock with a mutex because regulator operations may sleep. Move always-on policy into the regulator core, keep an initial enable reference for always-on supplies, prevent the last disable from turning them off, and let fixed/GPIO providers report and control their actual hardware state. Signed-off-by: GuEe-GUI <[email protected]> * [dm][regulator] add PWM regulator support Signed-off-by: GuEe-GUI <[email protected]> * style: format code with clang-format * style: format complete changed files with clang-format --------- Signed-off-by: GuEe-GUI <[email protected]>
2026-08-07[dm][ufs] fixup the ufs supported (#11646)GUI
* [dm][block] add 4K support for EFI partion Signed-off-by: GuEe-GUI <[email protected]> * [dm][ufs] fixup the linkup flow Signed-off-by: GuEe-GUI <[email protected]> * style: format code with clang-format * style: format complete changed files with clang-format * drivers: address UFS review feedback --------- Signed-off-by: GuEe-GUI <[email protected]>
2026-08-07style: format code with clang-formatGuEe-GUI
2026-08-07[dm][graphic] update graphicGuEe-GUI
1. Add FB_ACTIVATE_* cmd 2. Fixup the vsync 3. Update the graphic test Signed-off-by: GuEe-GUI <[email protected]>
2026-08-07style: format code with clang-formatGuEe-GUI
2026-08-07[dm][ata] support DW AHCIGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[dm][ivshmem] Add Inter-VM shared memory for virtualizationGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[dm][misc] make RT_BITS_PER_LONG custom modeGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[dm][thermal] update the thermal coolingGuEe-GUI
1. Fixup the cooling control flow. 2. Replace the spinlock to mutex. 3. Fixup the PWM args for PWM-FAN. 4. Add GPIO-FAN Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[dm][nvmem] fixup the DT parse for bitsGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[dm][nvme] replace the CPU physical address to DMA addressGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[dm][ethernet] add MACB and DWMAC ethernet supportGuEe-GUI
They support PTP, too. Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[dm][phy] improve PHY v2 support and add RTL8211F driverGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-08-06[dm][ethernet] Add ethernet for DMGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2026-08-03ipc: fix recursive data queue locking on SMPGuEe-GUI
rt_data_queue_pop() holds the data queue spinlock while updating the ring state, then calls rt_data_queue_len(). The length function tries to acquire the same non-recursive spinlock again, causing an SMP deadlock when a pop leaves the queue non-empty. Add a private _data_queue_len_nolock() helper for callers which already hold the queue lock. Keep the public rt_data_queue_len() protected by one spinlock acquisition. This does not change the public API, ABI, queue state transitions, low-water mark wakeups, or event callback behavior. Tested on a four-core Spacemit K1 with cyclic HDMI playback and by building the SMP QEMU Virt64 RISC-V BSP with generic audio, Intel HDA and VirtIO Sound. Signed-off-by: GuEe-GUI <[email protected]>
2026-08-03[dm][core] Add rt_bus_probe_device APIGuEe-GUI
Add rt_bus_probe_device() to retry driver matching for a registered but unbound device. Use it when an OFW-created platform device is requested again, while preserving native-bus ownership for I2C, SPI, and other non-platform devices. Also instantiate eligible child platform devices after a parent node is registered. Signed-off-by: GuEe-GUI <[email protected]>
2026-07-29[dm][i2c] port to the pinctrl for EPGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>