summaryrefslogtreecommitdiff
path: root/components/drivers/spi
AgeCommit message (Collapse)Author
2026-02-13chore: fix typo in components and libcputheqengineer
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]>
2026-01-04[fix] drivers: spi: refactor SPI bit operations into independent configurationRuncheng Lu
- Add RT_USING_SPI_BITOPS as a separate configurable option - Make RT_USING_SOFT_SPI depend on RT_USING_SPI_BITOPS - Adjust build order in SConscript for proper com Signed-off-by: Runcheng Lu <[email protected]>
2025-12-02[DM][SPI] Support SFUD for DMGuEe-GUI
DM need > c99 Signed-off-by: GuEe-GUI <[email protected]>
2025-12-02[Driver][SPI] Add 'W25Q128JWPIM' for SFUDGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2025-11-13feat[spi]: enable interrupt-safe operations using spinlockswdfk-prog
2025-11-13fix[components]: 修复日志输出的gcc编译警告wdfk-prog
2025-09-25feat[SPI]: Add SPI device detach functionwdfk-prog
2025-07-10[SPI]Update and fixup the SPIGUI
* Make a priv data read API for probed SPI device * Fixup the SPI device pre-alloc
2025-03-05[components][drivers][spi]: fix: set message.parent.next to NULL for ↵Runcheng Lu
rt_qspi_send_then_recv API and rt_qspi_send API - Ensure correct QSPI message chaining by setting next pointer to NULL, preventing unintended data transmission issues. Signed-off-by: Runcheng Lu <[email protected]>
2025-03-05[components][drivers][spi] dev_spi_flash_sfud: fix: set message.parent.next ↵Runcheng Lu
to NULL for qspi_read API - Ensure correct QSPI message chaining by setting next pointer to NULL, preventing unintended data transmission issues Signed-off-by: Runcheng Lu <[email protected]>
2025-03-01Fixup device rename by chip_selectGUI
`chip_select` is array now, should use index of value.
2025-02-11[DM/SPI] Make CS pin config fixed in system (#9977)GUI
Make a max CS pin value (16) for SPI, that will not alloc `*cs_pins` by malloc, because drivers call `rt_device_unregister` may not free item. Fixup the QSPI init configure member in DM mode. Make SoC Kconfig import easy. Signed-off-by: GuEe-GUI <[email protected]>
2025-02-11[drivers/spi]修复spi configure会执行两次的问题 (#9972)Rbb666
* [drivers/spi]修复spi configure会执行两次的问题
2025-02-09[drivers/spi]统一软件SPI配置Rbb666
2025-01-27[components][drivers]:fix spi bug and add software spi (#9944)CYFS
* fix:spi bus issue * [components][drivers]add software SPI bus support
2024-11-27[DM/SPI] Support DM mode in SPIGuEe-GUI
Signed-off-by: GuEe-GUI <[email protected]>
2024-10-24add missing extern "C" in header to support cppKai
2024-10-09[drivers][spi] Fixed an issue that caused spi bus deadlock in the spi ↵Yuqiang Wang
configuration
2024-10-06feat:[drivers][spi] rt_spi_configure 添加互斥保护Meco Man
2024-10-06feat:[drivers][spi] rt_spi_bus_configure 添加 -RT_EBUSY ↵wdfk-prog
返回值,并增加说明注释
2024-09-13[drivers] Specifies the name of the drivers driver fileCXSforHPU
https://github.com/RT-Thread/rt-thread/pull/9420
2024-07-12[components][SPI][spi-bit-ops]修复可能的异常操作wdfk-prog
* 移除初始化时未进行引脚初始化就进行引脚设置可能导致的异常 * CS引脚配置判断完善 * xfer返回值优化
2024-06-16[components] [drivers ] [Kconfig] 整理 components/drivers 的 Kconfig (#9054)sp-cai
整理 components/drivers 的 Kconfig
2024-04-09[driver][soft-spi] spi device driver framework adds pin init function functionYuqiang Wang
为什么提交这份PR (why to submit this PR) ps:在设备初始化阶段不应该存在对硬件的操作 你的解决方案是什么 (what is your solution) ps:添加一个pin_init函数,在spi设备使用时调用该函数来完成硬件引脚的状态初始化,而不是在设备初始化阶段对硬件进行操作,已经在瑞萨HMI上通过验证
2024-03-04[spi]修复spi总线挂载多设备通信可能失败问题yangpeng
2024-02-17[qspi]修复qspi配置未生效问题yangpeng
2023-10-18[kernel][dm]适配新的设备驱动模型 (#8075)zms123456
2023-08-21[tools] add GetGCCLikePLATFORMMeco Man
GCC like means the toolchains which are compatible with GCC
2023-06-10[spi] optimize the spi transfer speed.Meco Man
If the configurations are the same, we don't need to set again.
2023-05-22[device][spi] 修复 rt_spi_sendrecv8/16 收发不同时的问题Meco Man
rt_spi_send_then_recv是先发再等待一个独立的消息接收 rt_spi_transfer是收发同时进行 rt_spi_sendrecv8/16应使用rt_spi_transfer而不是rt_spi_send_then_recv
2023-05-17support llvm-arm 16.0guozhanxin
2023-05-12[components/drivers] add result check for configure in `rt_spi_configure` ↵a1012112796
(#7474) Signed-off-by: a1012112796 <[email protected]> Co-authored-by: Man, Jianting (Meco) <[email protected]>
2023-04-24[HUST CSE] [readme] fix invalid URLSseven731
2023-04-17[HUST CSE] Fix many abnormal symbols in annotations and format code7YZ7
2023-03-22[errno code][-RT_ETIMEOUT] fix that use RT_ETIMEOUT without -Meco Man
2023-03-20[errno code][-RT_ERROR] fix that use RT_ERROR without -Meco Man
2023-03-16[error code][-RT_EIO] fix that use RT_EIO without -Meco Man
2023-02-26[spi][5.0.0] ↵liYangYang
修正SPI设备框架中,对函数返回值类型使用不恰当的情况 (#6937)
2023-02-22[spi] rt_spi_configure 增加对cs_pin处理liYony
2023-02-16[spi]优化挂载函数对cs_pin的处理liYony
2023-02-12[devicedrivers] Fix typo in sfud error messagesMoss
2023-02-11[spi]添加rt_spi_bus_attach_device_cspin 函数 (#6916)liYangYang
这个函数实现了原先的挂载功能,并且调用pin框架,初始化cs引脚,是一个功能相对完善的挂载函数。用户也能更简单的使用。 该函数取代rt_spi_bus_attach_device,后续rt_spi_bus_attach_device会被逐渐淘汰掉。新的BSP以及软件包应当使用rt_spi_bus_attach_device_cspin新函数。 STM32L475潘多拉测试通过。
2023-02-07rt_device_write/read return data type as rt_ssize_tMeco Man
rt_ssize_t can give negative error code, which follows the unix style correctly
2023-01-29fix typo https://github.com/armink/SFUD/pull/79soym
2023-01-18[stm32][softspi]soft spi attach函数问题解决方案 (#6868)liYangYang
* [softspi]soft spi attach函数问题解决方案 * 更改函数名
2023-01-18[stm32][spi] spi attach函数问题解决方案 (#6864)liYangYang
attach #6819
2023-01-07[STM32][SPI]解决挂载函数里面不同bsp对uaer_data的滥用 (#6819)liYangYang
* [spi]attach 片选引脚依赖pin框架 * 修改attach函数
2022-12-15fix:三字节读命令0x03,四字节读命令0x13,当命令为0x03需要 ↵joechenchen
加上0x10
2022-12-11[rtdef] use lower-case to define attributes (#6728)Man, Jianting (Meco)
* [rtdef] rename RT_WEAK attribute as rt_weak * [rtdef] rename RT_USED attribute as rt_used * [rtdef] rename RT_SECTION attribute as rt_section * [rtdef] rename ALIGN attribute as rt_align * [legacy] add RT_USED ALIGN RT_SECTION RT_WEAK as legacy support