Hi i.mx experts,
I am trying create a hardware driver module for linux kernel. The hardware is connecting to the i.mx28 through UART, therefore I am trying to access the UART register directly through iowrite(). However I found that I can never write to the register address. Below is code I am using:
release_mem_region(UARTBASE_PA, 145); if(request_mem_region(UARTBASE_PA, 145, "myserial") ==NULL){ printk("iomem request refused\n"); } else UARTBASE =(u32) ioremap_nocache((u32) UARTBASE_PA, 145); iowrite32((u32) 0x100,(u32) (UARTBASE+0x20)); x=ioread32(UARTBASE+0x20); printk("%x\ \n", x);Where the ioread() output always is the default value instead of the one I write to it.
I have no idea how to solve this problem, please help, any idea will be helpful.
Thank you in advance!
James