我的omap4460 pandaboard加载了linux内核3.4。我使用echo -n omap_uart.3 > /sys/bus/platform/drivers/omap_uart/unbind
从uart4实例解除了绑定驱动程序。
我使用简单的struct file_operations
现在,在我进行软件复位并等待其完成后,在pad配置之后,循环不会出现循环。
l = ioread32(io_map + 0x54);
printk(KERN_ALERT "SYSC value before = %x\n", l);
iowrite32(0x2,io_map + 0x54);
l = ioread32(io_map + 0x54);
printk(KERN_ALERT "SYSC value after = %x\n", l);
readval = ioread32(io_map + 0x58);
printk(KERN_ALERT "SYSS read value = %x\n", readval);
while((readval & 0x1)== 0);
printk(KERN_ALERT "software reset completed\n");
io_map是从呼叫
获得的地址io_map = ioremap(UART4_BASE,UART_SIZE);
其中UART_SIZE为0x83,UART4_BASE为0x4806eooo。 第1和第2个printk语句给出相同的值0。