Hi- I am working on developing cs8900a driver under linux 2.4. The system configuration is: arm9+linux(kernel 2.4), the cs8900a is working on IO mode and its bus address is 0x1001_0000, its default IO base is 0x300. Problem is, cs8900a always returning 0x5555 when I read like this:
..
static unsigned int virt_base; if(check_mem_region(0x10010000, 0x1000)){ printk(KERN_INFO "CS8900A: memory already in use\n"); } else request_mem_region(0x10010000, 0x1000, "CS8900A");
virt_base = (unsigned int)ioremap(0x10010000, 0x1000); // 4k bytes
//read the product id writew(0x0000, virt_base+0x30a); printk(KERN_INFO "CS8900A : 0x%lx\n", readw(iov6+0x30c));
...
I ' m now struggling with this problem for weeks and would really apreciate any help on this.