ST意法半导体
直播中

李雪

8年用户 1006经验值
私信 关注
[问答]

STM32MP135DAF7添加PWM,板卡无设备是怎么回事?

芯片型号:STM32MP135DAF7
内核版本:5.15.67
需要使用引脚 PA11:

内核驱动加载:

设备树配置:


构建内核和设备树,更新到板后, 板卡无PWM节点

请帮忙排查一下是哪里的问题,希望得到修改建议。
谢谢。

回帖(1)

张静

2025-3-10 16:32:36

在STM32MP135DAF7上添加PWM功能时,如果板卡上没有出现PWM节点,可能是由于以下几个原因导致的。我们可以从设备树配置、内核驱动加载、引脚复用等方面进行排查和修改。


1. 确认PWM控制器驱动是否加载


首先,确保内核中已经加载了PWM控制器驱动。STM32MP135DAF7使用的是STM32的PWM控制器,对应的驱动模块是pwm-stm32。你可以通过以下命令检查驱动是否加载:


lsmod | grep pwm_stm32

如果没有看到pwm_stm32,说明驱动没有加载。你可以尝试手动加载驱动:


modprobe pwm_stm32

如果驱动加载成功,但仍然没有PWM节点,继续排查设备树配置。


2. 设备树配置


设备树配置是PWM功能正常工作的关键。你需要在设备树中正确配置PWM控制器和引脚复用。


2.1 配置PWM控制器


在设备树中,确保PWM控制器节点被正确启用。以下是一个示例配置:


&timers1 {
    status = "okay";
    pwm1: pwm {
        pinctrl-names = "default";
        pinctrl-0 = <&pwm1_pins_a>;
        status = "okay";
    };
};

2.2 配置引脚复用


确保PA11引脚被正确复用为PWM功能。以下是一个示例配置:


&pinctrl {
    pwm1_pins_a: pwm1-0 {
        pins {
            pinmux = ; // PA11复用为AF1 (TIM1_CH4)
            bias-disable;
            drive-push-pull;
            slew-rate = <0>;
        };
    };
};

2.3 检查设备树编译


确保设备树已经正确编译并更新到板卡上。你可以使用以下命令编译设备树:


make dtbs

然后将生成的设备树二进制文件(.dtb)更新到板卡上。


3. 检查内核日志


在板卡启动时,检查内核日志,查看是否有与PWM相关的错误信息。你可以使用以下命令查看内核日志:


dmesg | grep pwm

如果有错误信息,根据错误信息进一步排查问题。


4. 确认硬件连接


确保PA11引脚在硬件上正确连接到PWM输出设备,并且没有其他硬件问题。


5. 检查PWM节点


在板卡上,使用以下命令检查PWM节点是否存在:


ls /sys/class/pwm/

如果没有看到PWM节点,说明设备树或驱动配置可能有问题。


6. 其他注意事项



  • 确保内核版本支持PWM功能。

  • 确保设备树中的status属性设置为"okay"

  • 确保引脚复用配置正确,且没有与其他功能冲突。


总结


通过以上步骤,你应该能够排查出PWM节点不存在的原因。如果问题仍然存在,建议仔细检查设备树配置和内核日志,确保所有配置都正确无误。如果仍然无法解决问题,可以考虑参考STM32MP135的官方文档或联系ST支持团队获取进一步帮助。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分