18128 Commits
Author SHA1 Message Date
GuEe-GUI d890866143 [bsp/rockchip] Extend platform and peripheral support
Add support for audio, display, Ethernet, PCIe, PHY, SDIO, UFS,
hardware crypto and multimedia accelerators. Update the RK3300 and
RK3500 configurations and validation applications accordingly.

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-16 19:57:29 +08:00
GuEe-GUI f7258a6bb8 [bsp/raspberry-pi] update DM support
- 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 <2991707448@qq.com>
2026-08-16 19:56:03 +08:00
GuEe-GUI 2bcc47d418 [bsp/zynqmp-a53-dfzu2eg] Port to the MACB for QEMU
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-14 16:45:29 +08:00
hanzhijian 0c1a9a429a [bsp][loongson] Clamp CAN receive DLC 2026-08-14 13:02:20 +08:00
GUI 7bf01ae18d [DM/OFW][PCI] Fix address translation and PCI resource enumeration (#11677)
* [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 <2991707448@qq.com>

* 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 <2991707448@qq.com>
2026-08-14 12:42:32 +08:00
GUI f2c05253d1 [dm][dma] Update DMA (#11678)
* [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 <2991707448@qq.com>

* [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 <2991707448@qq.com>

* 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 <2991707448@qq.com>
2026-08-14 12:42:01 +08:00
GUI c1418dbd2e [DM/Input] Add ADC joystick, keyboard, and touchscreen drivers (#11679)
* [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 <2991707448@qq.com>

* style: format code with clang-format

* drivers: input: address review feedback

* style: format input changes for current master

---------

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-14 12:41:00 +08:00
GUI 4cf70e176c [dm][sdio] Update for SDHCI- #11684 #11684 2026-08-14 12:39:11 +08:00
rcitach 76b0267361 fix(ra6w1): two “board.h” files are in conflict 2026-08-13 15:51:17 +08:00
CYFS dad92df985 [bsp]: select RT_USING_SERIAL for UART configurations 2026-08-13 09:40:54 +08:00
CYFS 82a2fd64b1 [bsp][nxp]:Minimize bsp and switch to ci-attach for mcxa366 2026-08-13 09:39:12 +08:00
chen13587 0a5a829004 [bsp][nxp] Add RTduino support for FRDM-MCXA366 (#11594)
* 在FRDM-MCXA366工程内 修改main函数 添加uart_int_sample程序,实现串口的交互。在BOARD_InitPins函数内添加串口3的引脚初始化代码

* 根据 FRDM-MCXA366 的 Arduino 接口定义(J1/J2),完成了 RTduino 引脚映射表的编写。完成RTduino的D13(对应板子的P3_10)引脚控制测试,串口测试

* 已删除 RTE 文件夹,已恢复原始 main.c 的 LED 闪烁功能

* 完成ci

* remove RTE folder from tracking
2026-08-12 17:36:27 +08:00
Onlyou_tzZ b71a16830a [bsp/n32]上传Nsing LCDC和SDRAM的驱动#11682 2026-08-12 15:37:21 +08:00
Rbb666 46fdeefb32 refactor(pic): dispatch NVIC IRQs through traps 2026-08-12 12:54:50 +08:00
Rbb666 1f23e3f270 fix(dm): route Cortex-M resets through power core 2026-08-12 12:54:50 +08:00
Rbb666 f05fb1c076 fix(mm): exclude no-MMU ioremap from MMU builds 2026-08-12 12:54:50 +08:00
Rbb666 abce28f15c feat(renesas): add RA8P1 GPIO and external IRQ DM drivers
Add M85 device-tree GPIO and external-interrupt controllers, IRQ20 FSP integration, built-in DTB support, and BSP usage documentation.
2026-08-12 12:54:50 +08:00
Rbb666 655aea948e feat(stm32): add GPIO and EXTI device model drivers
Add device-tree GPIO/EXTI controllers, built-in DTB support for GCC and ArmClang, and BSP integration for STM32F407 RT-Spark and STM32H750 ART-Pi. Document how BSP users enable the DM drivers.
2026-08-12 12:54:50 +08:00
Rbb666 6b4f34204e feat(dm): support OFW on Cortex-M targets
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-12 12:54:50 +08:00
CYFS 9a12b2a7b9 [ci][issue] Fix external contributor assignment 2026-08-12 11:52:50 +08:00
CYFS e59103373e ci: improve PR format workflow 2026-08-12 11:37:28 +08:00
hanzhijian c00f13005b [lwip-dhcpd] Fix pbuf leak for oversized requests 2026-08-12 10:55:20 +08:00
rcitach 5c76c21f32 完善ra6w1的基础BSP驱动 2026-08-11 09:56:34 +08:00
nxp-ran bdd050fb5b [BSP][NXP] Add new features of multicore, hyperram, cherryUSB, NETC and etherCAT (#11672)
* updated template files, conifg files and script files to support hypperram, multicore kickoff, rpmsg-lite, netc, cherryusb and ethercat.

* updated different link files of GCC, IAR and KEIL, for supporting multicore kick-off and different loading methods

* Updated .ini files to support debugging in keil. And updeated .mac files to support deugging in iar.

* Updated template files, conifg files and script files of CM7 to support hypperram, multicore kickoff, rpmsg-lite, netc, cherryusb and ethercat.

* Updated different link files of GCC, IAR and KEIL of CM7 project, for supporting multicore kick-off and different loading methods.

* Modify LittleFS to use the last 1 MB of flash and update CM7 support for LittleFS on QSPI flash.

* Updated different link files of loading to hyperram.

* Updated .ini files of CM7 to support debugging in keil. And updeated .mac files of CM7 to support deugging in iar.

* Remove Keil projects and keep templates only.

* Remove RAMFUNC due to IAR compilation issues, and use linker configuration to place all flash operation code in RAM.

* Add related code to support kick-offing CM7 and rpmsg-lite.

* Add codes to support cherryUSB for CM33 and CM7.

* Add mnt.c to support littleFS for CM7.

* Add codes to support etherCAT for CM7.

* Add codes to support USART12 for RT1180.

* Modify the drv_uart_v2.c to fix some bug to make it can work in CM33, but still cannot work in CM7. Will continue to update in next version.

* Updated README with both Chinese and English versions.

* Move the EtherCAT code into the packages\nxp-imxrt-sdk-latest.

* Remove EtherCAT-related sources, keep only SConscript.

* updated ci.attachconfig.yml for cm33 and cm7 projects.

* Fixed BSP_ROOT path error in rtconfig.py.

* Added drv_netc.c and updated SConscript for netc.

* Updated cherryusb_port.c to avoid worning.

* Updated sconscript to locate multicore directory in packages for header inclusion.

* Updated cm33/board/board.c to avoid worning when enable cm33_kickoff_cm7.

* Deleted peripheral.ethercat, because the related protocol stack has not been uploaded. And added CONFIG_BSP_USING_GPIO=y for Peripheral.netc.:

* Removed the SConscript of multicore and ethercat to packages.

* Added CONFIG_BSP_USING_GPIO=y to Peripheral.hyperflash_dma.

* Added CONFIG_BSP_USING_GPIO=y for Peripheral.hyperflash.

* Reformat code according to coding standards.

* Reformat code according to coding standards.
2026-08-10 14:44:37 +08:00
GUI 9d04b6baab [dm][clk] fixup the work flow of CLK (#11673)
* [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 <2991707448@qq.com>

* style: format code with clang-format

* style: format complete changed files with clang-format

---------

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-08 18:25:02 +08:00
GUI a2c196d643 [dm][phye] Add Mode/State and MIPI D-PHY timing helper (#11675)
* [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 <2991707448@qq.com>

* style: format code with clang-format

* style: format complete changed files with clang-format

---------

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-07 21:31:43 +08:00
GUI c19fe2c823 [dm][regulator] Update Regulator (#11674)
* [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 <2991707448@qq.com>

* [dm][regulator] add PWM regulator support

Signed-off-by: GuEe-GUI <2991707448@qq.com>

* style: format code with clang-format

* style: format complete changed files with clang-format

---------

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-07 21:29:33 +08:00
GUI 19e9be8779 [dm][ufs] fixup the ufs supported (#11646)
* [dm][block] add 4K support for EFI partion

Signed-off-by: GuEe-GUI <2991707448@qq.com>

* [dm][ufs] fixup the linkup flow

Signed-off-by: GuEe-GUI <2991707448@qq.com>

* style: format code with clang-format

* style: format complete changed files with clang-format

* drivers: address UFS review feedback

---------

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-07 16:54:29 +08:00
GuEe-GUI abc2c59e57 style: format code with clang-format 2026-08-07 09:26:42 +08:00
GuEe-GUI 871d9f5922 [dm][graphic] update graphic
1. Add FB_ACTIVATE_* cmd
2. Fixup the vsync
3. Update the graphic test

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-07 09:26:42 +08:00
GuEe-GUI 621a074a41 style: format code with clang-format 2026-08-07 09:25:45 +08:00
GuEe-GUI 83b703c6b6 [dm][ata] support DW AHCI
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-07 09:25:45 +08:00
GuEe-GUI 955fb76bb0 [dm][ivshmem] Add Inter-VM shared memory for virtualization
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-06 18:19:52 +08:00
angryproton 2f7a2299f6 [fix][dfs] 增加文件系统操作的类型检查,防止类型不匹配导致数据结构不一致引发的异常 2026-08-06 11:18:51 +08:00
GuEe-GUI 395dff4e2e [dm][misc] make RT_BITS_PER_LONG custom mode
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-06 11:14:28 +08:00
GuEe-GUI 96cf830d89 [dm][thermal] update the thermal cooling
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 <2991707448@qq.com>
2026-08-06 11:09:50 +08:00
GuEe-GUI 73614c8684 [dm][nvmem] fixup the DT parse for bits
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-06 11:09:43 +08:00
GuEe-GUI 69dfbf86fd [dm][nvme] replace the CPU physical address to DMA address
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-06 10:51:46 +08:00
GuEe-GUI c3e1dd7946 [dm][ethernet] add MACB and DWMAC ethernet support
They support PTP, too.

Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-06 09:43:10 +08:00
GuEe-GUI 84da9b9393 [dm][phy] improve PHY v2 support and add RTL8211F driver
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-06 09:43:10 +08:00
GuEe-GUI fae3992d14 [dm][ethernet] Add ethernet for DM
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-08-06 09:43:10 +08:00
rcitach 71fd997662 RA6W1基础BSP内容 2026-08-05 14:52:20 +08:00
CYFS cbf75f07a8 [tools]:Adjust clang-format parameters 2026-08-04 11:30:38 +08:00
GuEe-GUI 9915dc66c1 ipc: fix recursive data queue locking on SMP
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 <2991707448@qq.com>
2026-08-03 09:43:57 +08:00
GuEe-GUI fe751c1521 [dm][core] Add rt_bus_probe_device API
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 <2991707448@qq.com>
2026-08-03 09:36:21 +08:00
Bernard Xiong 2b01936f11 components/dfs: unify vnode lock names 2026-07-31 15:13:53 +08:00
GuEe-GUI 36f52133ec [dm][i2c] port to the pinctrl for EP
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-07-29 11:11:10 +08:00
CYFS 1edc46af3e [ci][issue] Add issue automation workflows#11661 2026-07-28 13:14:17 +08:00
GuEe-GUI a7b0182817 [dm][tee] support Trusted Execution Environment (TEE)
Signed-off-by: GuEe-GUI <2991707448@qq.com>
2026-07-27 17:53:20 +08:00
Old-Ding b26ae7d8d9 bsp: Use raw regex strings in upgrade tools
Python warns about invalid escape sequences in the heap update regex patterns. Mark the patterns as raw strings so the regex values stay unchanged without relying on invalid Python escapes.

Generated-by: OpenAI Codex
Signed-off-by: Old-Ding <35417409+Old-Ding@users.noreply.github.com>
2026-07-27 17:52:19 +08:00