PS:
for II/s and II/f cores, you may want to use bit-31 cache bypass, i.e. :
0x00940000 - 0x0097FFFF ==> 0x80940000 - 0x8097FFFF
Also, if you plan on using ioremap_nocache() in your driver, you might
want to check it's implementation. In the kernel version I'm using,
ioremap_nocache() simply returns the physical pointer that's passed
in -- which really isn't what you want (or expect) for II/s & II/f. I'm not
sure if this was updated in the latest version.
I patched ioremap_nocache to return the pointer with bit-31 set after
invalidating the dcache region.
--Scott