[英]How do I use pwm-beeper module in Linux Kernel?
我已经按照Linux设备树文档设置了PWM驱动的蜂鸣器。 我看到这会在/ sys / class / input中产生一个额外的输入设备:
root:/sys/class/input/input0# ls
capabilities device event0 id modalias name phys power properties subsystem uevent uniq
root:/sys/class/input/input0# cat name
pwm-beeper
但是,我看不到任何与占空比,极性等相关的信息可以实际控制蜂鸣器。 也许我很误解pwm-beeper,因为它显然是作为输入设备创建的。 请帮忙!
[更新]
我的dts
变化:
pwm15: dmtimer-pwm@15 {
compatible = "ti,omap-dmtimer-pwm";
ti,timers = <&timer15>;
#pwm-cells = <3>;
};
beeper: pwm-beeper {
compatible = "pwm-beeper";
pwms = <&pwm15 0 5000>;
volume-levels = <0 8 20 40 500>;
default-volume-level = <4>;
};
相关dmesg
:
[6.716560] OF:/ pwm-beeper:参数长于属性
[6.716566] of_pwm_get():无法解析“ pwms”属性
[6.716574] pwm-beeper pwm-beeper:无法请求PWM设备:-22
[6.716590] pwm-beeper:pwm-beeper的探测失败,错误为-22
我完全感到困惑,因为关于在Linux中主流化的该设备驱动程序的信息很少!
您可以发布已添加的DT代码段的代码段吗? 试试这个块
pwm-beeper {
compatible = "pwm-beeper";
pwms = <&pwm4 0 5000>;
volume-levels = <0 8 20 40 500>;
default-volume-level = <4>;
};
TLDR; 或者将您的#pwm-cells减少为2,或者再添加一个字段,即将第三个字段添加到列表,例如pwms = <&pwm4 0 5000 1>;
phandle1: node1 {
#list-cells = <2>;
}
phandle2: node2 {
#list-cells = <1>;
}
node3 {
list = <&phandle1 1 2 &phandle2 3>;
}
这里的通知列表具有#list-cells不同
phadle1有2
phadle2有1
因此,列表具有条目。
这将适用于您的Linux版本吗? 您可以在最新的稳定器上对其进行测试吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.