如题,pwm3申请失败,wiki上面的教程里边提供的命令 cat /sys/kernel/debug/pwm 使用后,打印的信息如下
platform/ff420020.pwm, 1 PWM device
pwm-0 (vdd-log ): requested enabled period: 24997 ns duty: 8243 ns polarity: inverse
platform/ff420010.pwm, 1 PWM device
pwm-0 ((null) ): period: 0 ns duty: 0 ns polarity: inverse
platform/ff420000.pwm, 1 PWM device
pwm-0 (backlight ): requested enabled period: 24997 ns duty: 10003 ns polarity: normal
ff420020 ff420010 ff420000对应的pwm2 pwm1 pwm0 ,申请的信息确实有了,比如占空比,周期,驱动名称等信息,
但是 没有pwm3,如果有,应该是ff420030 ,没错,事实上没有,让后申请的错误代码 -517
struct pwm_device *pwm_request(int pwm, const char *label)
{
struct pwm_device *dev;
int err;
if (pwm < 0 || pwm >= MAX_PWMS)
return ERR_PTR(-EINVAL);
mutex_lock(&pwm_lock);
dev = pwm_to_device(pwm);
if (!dev) {
dev = ERR_PTR(-EPROBE_DEFER); //错误代码出处
goto out;
}
err = pwm_device_request(dev, label);
if (err < 0)
dev = ERR_PTR(err);
out:
mutex_unlock(&pwm_lock);
return dev;
}
猜测内核里边没有像pwm0~2那样去支持,现在想问的问题如下:
1.pwm3是否支持输出pwm波(应该能)
2.如果能,是否只能通过寄存器的形式
3.有没有pwm3的demo程序,麻烦提供一下,或者关于pwm
配置寄存器的详细说明,不要芯片手册,看过了,感觉不详细
|