summaryrefslogtreecommitdiff
path: root/components/drivers/core
AgeCommit message (Collapse)Author
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-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-04-07[dm][pmdomain] fixup the child register layoutGuEe-GUI
Link: https://github.com/RT-Thread/rt-thread/issues/11308 Signed-off-by: GuEe-GUI <[email protected]>
2026-01-20[drivers] Fix OFW bus conflict and prevent duplicate device creationlhxj
Problem: When enumerating device tree nodes, platform bus and native buses (I2C/SPI) may create duplicate devices for the same OFW node, causing cross-bus conflicts. This triggers assertion failure '(dev->bus != new_bus)' in rt_bus_reload_driver_device() during boot on minimal DM-enabled systems. Root Cause: 1. Platform bus tries to reload devices that already belong to other buses by calling rt_bus_reload_driver_device(dev->bus, dev), which violates the API contract (requires dev->bus != new_bus). 2. Native buses (I2C/SPI) do not mark OFW nodes as occupied, so platform bus creates duplicate platform devices for I2C/SPI client nodes. Solution: 1. components/drivers/core/platform_ofw.c: Return RT_EOK when np->dev exists, letting the native bus handle device lifecycle instead of cross-bus reload. 2. components/drivers/i2c/dev_i2c_bus.c: Mark i2c_client_np->dev during scan to prevent platform bus from duplicating I2C client devices. 3. components/drivers/spi/dev_spi_bus.c: Mark spi_dev_np->dev during scan to prevent platform bus from duplicating SPI devices. Tested on Spacemit K1 RISC-V platform with minimal DM configuration. Signed-off-by: lhxj <[email protected]>
2025-12-16[dm][core] add common machine power interfaceGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2025-12-13[dm][core] Update the OFW CLk init flowGuEe-GUI
The clock should init before common platform devices. Signed-off-by: GuEe-GUI <[email protected]>
2025-12-13[dm][pinctrl] Set pinctrl default auto in platform bus. (#11052)GUI
Signed-off-by: GuEe-GUI <[email protected]>
2025-12-12[dm][core] Set default CLK config for platform device probeGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2025-12-09[dm][core] add new API for DMGuEe-GUI
1. rt_dm_dev_is_big_endian 2. rt_dm_dev_get_prop_fuzzy_name Signed-off-by: GuEe-GUI <[email protected]>
2025-12-09[dm][core] fixup the `rt_dm_dev_prop_read_u8_array_index` OFW checkGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2025-12-09[dm][core] cleanup formatGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2025-11-16docs(utest):Add standardized documentation for Drivers Core TestChuan
Signed-off-by: ChuanN-sudo <[email protected]>
2025-10-16utest: Improve the strings displayed in the menuChen Wang
Use "Test" instead of "Unit Testcases" to make string shorter. Use uppercase to make it look more eye-catching. Signed-off-by: Chen Wang <[email protected]>
2025-09-26utest: move driver related case under to driversChen Wang
src/utest/device_tc.c is testing API: rt_device_find(), which is a function defined in components/drivers/core/device.c. So it should be a testcase for drivers core, not for core. Move it to under components/drivers/core. Signed-off-by: Chen Wang <[email protected]>
2025-05-20[dfs] enable procfs and tempfs in default when using smart; fix LWIP_ROUTE ↵Bernard Xiong
warning issue.
2025-03-19[DM/Platform] Fixup the node will probe more than onceGUI
If a node request a new node or it's parent node. the request's node will probe a double time. So we check the device object of node in ofw probe entry and ofw probe child exit.
2025-02-11[DM] Replace spinlock static init by RT_DEFINE_SPINLOCKGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2025-01-01修复编译过程中的 DFS_V2报错、FAL警告yuqingli05
2024-11-18[DM/FEATURE] Support clock subprobe in OFWGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2024-11-18[DM/FEATURE] Support driver depends fix autoGuEe-GUI
We need a API to fix the driver load auto when a second driver get it in probe process that we can not be careful of the driver-to-driver's depends in different SoC. Signed-off-by: GuEe-GUI <[email protected]>
2024-11-18[DM/FIXUP] remove OFW switch macrosGuEe-GUI
The drivers will support OFW and name probe both. We should make build OK when OFW is disable. Signed-off-by: GuEe-GUI <[email protected]>
2024-11-18[DM/FEATURE] DM Device IDA managementGuEe-GUI
Drivers can manage their own IDs without having to concern themselves with the register/unregister in system Link: https://github.com/RT-Thread/rt-thread/issues/9534 Signed-off-by: GuEe-GUI <[email protected]>
2024-09-19[fix]:fix log format and reopen with a different oflag issue (#9452)milo
fix log format and reopen with a different oflag issue
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-08-09fix rt_atomic_dec_and_testzhao maosheng
2024-06-26fix Compilation error in "driver.c", "completion_up.c", "syslog.c" and ↵Rui
"dlmodule.c". (#9093)
2024-06-26[libcpu][aarch64]memory setup using memblock (#9092)zms123456
* memory setup using memblock * map pages later
2024-06-16[components] [drivers ] [Kconfig] 整理 components/drivers 的 Kconfig (#9054)sp-cai
整理 components/drivers 的 Kconfig
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]>
2024-05-28[DM/feature] Simple NUMA (Non-Uniform Memory Access) (#9000)GUI
For some CPU memory access devices, that the drivers will find memory and CPU affinity to config device. Signed-off-by: GuEe-GUI <[email protected]>
2024-05-28[Feature] DFS mount auto by kernel parameters (#8989)GUI
DFS mount auto by kernel parameters 1.Mount the rootfs options by parameters: - root=: root device, like vda1, sda1, sd0p1, nvme0n0p1... - rootfstype=: root file system type, like elm, ext, crom... - rw/ro: root is readonly or all enable, if not have 'rw' flag, the 'ro' flag is default. - rootwait: always wait for root device status is OK. - rootdelay=: mount rootfs delay amount of time (millisecond). 2.Mount the other fs options by `fstab.sh`, it will read the script after root mount is OK, it's format is a list of mount cmds in MSH: mount vda2 /mnt elm mount 192.168.1.1:/ /mnt/remote nfs Signed-off-by: GuEe-GUI <[email protected]>
2024-03-28sync smart & dfs (#8672)Shell
Signed-off-by: xqyjlj <[email protected]> Signed-off-by: Shell <[email protected]> Co-authored-by: xqyjlj <[email protected]>
2024-03-25fixup d1s (#8671)Shell
Signed-off-by: Shell <[email protected]>
2024-02-29[components][drivers]add pic-gic (#8388)zms123456
2024-01-09[drivers][core] 完善设备模型 (#8384)fangjianzhou
2023-11-10[debug] rename RT_DEBUGING_INIT as RT_DEBUGING_AUTO_INITMeco Man
2023-10-18[kernel][dm]适配新的设备驱动模型 (#8075)zms123456
2023-07-22[debug] 整理debug宏并增加RT_DEBUGING_CONTEXT (#7805)Man, Jianting (Meco)
2023-07-13【dd2.0】Support the Core API for dd2.0 (#7791)ErikChanHub
2023-07-04Components/drivers: support DM device id managementwusongjie
We add the device name and id set api in DM, now driver could set name like sprintf without know how many devices it is. The misc.h and byteorder.h add some macros to developers that they always use in drivers. Signed-off-by: GuEe-GUI <[email protected]>
2023-06-29[include][dbg]update: no longer use RT_DEBUG_LOG in rtdebug.h (#7750)Shicheng Chu
2023-06-22[DeviceDrivers] prepare for device driver v2.0 (#7697)Bernard Xiong