红联Linux门户
Linux帮助

s3c2410 pwm 驱动问题HELP! HELP! HELP!

发布时间:2009-01-07 16:53:32来源:红联作者:hollis
s3c2410 pwm 驱动问题HELP! HELP! HELP!s3c2410 定时器启动不了,,PWM波不输出
我用的内核是linux2.6.14.1的


S3c2410pwm驱动初始化如下:

s3c2410_gpio_cfgpin(S3C2410_GPB2,S3C2410_GPB2_TOUT2);
s3c2410_gpio_pullup(S3C2410_GPB2,1);
s3c2410_gpio_cfgpin(S3C2410_GPB3,S3C2410_GPB3_TOUT3);
s3c2410_gpio_pullup(S3C2410_GPB3,1);

writel((readl(S3C2410_TCFG1)&(~(0xf<<20))),S3C2410_TCFG1);
writel((readl(S3C2410_TCFG0)&(~S3C2410_TCFG_PRESCALER0_MASK)),S3C2410_TCFG0);
writel((readl(S3C2410_TCFG0)|(249)),S3C2410_TCFG0);
writel((readl(S3C2410_TCFG1)|(S3C2410_TCFG1_MUX2_DIV8),S3C2410_TCFG1);
writel((readl(S3C2410_TCNTB(2))&(~0xffff)),S3C2410_TCNTB(2));

writel((readl(S3C2410_TCNTB(2))|(45000)),S3C2410_TCNTB(2));
writel((readl(S3C2410_TCMPB(2))|(15000)),S3C2410_TCMPB(2));
writel((readl(S3C2410_TCNTB(3))|(55000)),S3C2410_TCNTB(3));
writel((readl(S3C2410_TCMPB(3))|(25000)),S3C2410_TCMPB(3));

寄存器初始化后,重新读里面的值显示读出来的值也都正确。。但是中断子函数进不去,,而且TOUT2和TOUT3脚都无波形输出
唯一有反应的是
: writel((readl(S3C2410_TCFG0)&(~S3C2410_TCFG_PRESCALER1_MASK)),S3C2410_TCFG0);
writel((readl(S3C2410_TCFG0)|(20)),S3C2410_TCFG0);
使内核定时器速度加快了。液晶上的光标跑的更快了。
但是其他的定时器就是开不了,,
请高手赐教,而且request_irq 函数也能注册成功,但是中断进不去,而且在exit的时候显示free中断出现问题,
重新安装该模块就会提示中断失败,

希望大虾帮我看看。。
联系QQ : 87550691
文章评论

共有 0 条评论