关于6410的AD采集问题
环境:linux2.6.28.6内核
硬件:s3c6410开发板
功能:8路AD采集
重新定制了内核,把内核中的触摸屏驱动去掉了。自己设计AD采集配置功能。
设置AD的控制寄存器如下:
m &= (~(1<<2));
__raw_writel(m,s3c_adcbase+S3C6410_ADCTSC);
m = __raw_readl(s3c_adcbase+S3C6410_ADCTSC);
PRINTK_TEST(KERN_INFO " read S3C6410_ADCTSC 0x%x\n",m);
m = ((1<<14) |(49<<6) | (i<<3) |(0<2)|(0<1)| (1<0));
__raw_writel(m,s3c_adcbase+S3C6410_ADCCON); //转换
m = __raw_readl(s3c_adcbase+S3C6410_ADCCON);
PRINTK_TEST(KERN_INFO " read adccon 0x%x\n",m);
发现不管怎么配置,寄存器的值都没有变,读出来的时候还是初始值:
S3C6410_ADCTSC:0x58
S3C6410_ADCCON:0x3FC4
一直配置不了,为什么呢