免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 995 | 回复: 0
打印 上一主题 下一主题

2410触摸屏和ADC共用的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-10 22:27 |只看该作者 |倒序浏览
      没编过驱动,最近用到AD,想把板子的AD用起来,偷懒在网上载了个AD驱动,编译就遇到了一些问题(见[color="#295200"]移植AD驱动遇到的错误及解决)。
     目前,又出现了新的问题。就是AD驱动ioremap后的ADCCON,一直不能用iowrite32修改,ioread32读出来的始终是默认值3FC4。折腾了好几天,也没找到原因,发现触摸屏驱动里的正常。索性,编译了一个没有触摸屏的内核,问题依然存在。
     今天,再次尝试,我将触摸屏驱动中的ioreamp函数注销掉。编译了一个带触摸屏驱动的内核,竟然可以修改,不知所以然。
     本以为程序可以用了,但发现中断中wake_up(
[color="#295200"]&adcdev.wait[color="#295200"])函数不能正常工作,不可以唤醒interruptible_sleep_on(&adcdev.wait)。
总结下遇到的两个问题,希望有人可以指点。

[color="#295200"]什么情况下寄存器的值不可以用iowrite32()修改?
[color="#295200"] 1. 刚才自己已经排除了一种情况,两次ioremap(),虽然得到两个ADCCON映射的虚拟地址,但iowrite32写两个虚拟地址,都可以成功修改ADCCON.[color="#295200"]      
      grep了内核,发现只有static struct resource s3c_adc_resource[] 中出现了ADCCON的地址。不清楚板子初始化什么时候用到了这个结构,有可能是这个结构的问题。
2. wake_up()的问题,目前一点思路没有。

[color="#295200"]

[color="#295200"]

               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93262/showart_2049975.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP