You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STM32MP157CAA SPI6测试:/dev无SPI节点的排查求助

STM32MP157 SPI6 spidev节点不生成问题排查

1. 修正设备树compatible属性

STM32MP157的SPI控制器节点兼容属性应为"st,stm32mp15-spi",而非你当前使用的"st,stm32h7-spi"。错误的兼容属性会导致驱动匹配异常,内核日志显示的spi1.0注册大概率是误匹配到了SPI1控制器,而非目标SPI6。

修改设备树spi6节点的示例如下:

&spi6 {
    pinctrl-names = "default";
    pinctrl-0 = <&spi6_pins_a>;
    status = "okay";

    spidev@0 {
        compatible = "linux,spidev";
        reg = <0>;
        spi-max-frequency = <1000000>;
    };
};

2. 验证SPI6驱动匹配状态

重新编译设备树并烧录后,通过内核日志确认SPI6驱动是否正确绑定:

dmesg | grep -i spi6

正常输出应包含spi spi6: stm32mp15-spi probed这类信息,而非之前的spi1.0相关内容。

3. 检查spidev模块与节点

  • 确认spidev模块已加载:
lsmod | grep spidev

若未加载,手动执行modprobe spidev加载模块。

  • 查看/dev目录下的SPI节点:
ls /dev/spidev*

正常情况下应出现/dev/spidev6.0。

4. 排查设备树其他配置问题

  • 确保spi6节点的status属性设置为"okay",且pinctrl-0指向正确的引脚配置组(如spi6_pins_a)。
  • 检查spidev子节点的reg属性对应正确的片选(CS0对应<0>,若硬件用其他片选需调整数值)。
  • 确认内核配置CONFIG_SPI_SPIDEV已开启:执行grep CONFIG_SPI_SPIDEV .config,结果应为=y(内置)或=m(模块)。

5. 验证SPI控制器硬件状态

若以上步骤均无问题,通过sysfs查看SPI6控制器状态:

cat /sys/class/spi_master/spi6/device/uevent

确认设备绑定状态正常,若仍无节点,可能需要联系硬件团队排查硬件连接问题。

内容的提问来源于stack exchange,提问作者thecdoctor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 20:19:57