Stijn Devriendt wrote:
I'm trying to read out the DDR2 control registers
to obtain information about the DDR2 configuration.
I currently did something like
base = ioremap(0x2000000, PAGE_SIZE);
result = davinci_readl(0x20000008);
Don't use davinci_readl() for for the regstees that were subject to
ioremap() call. Use readl() or __raw_readl().
iounmap(base);
but this results on kernel Oopses.
I also tried to read base+8 which returns
correct results for some (within the cfg
address space) but impossible results
for the DDR2 registers.
I'm using the MV2.6.10 kernel and the
io.h file for the davinci contains:
IO_PHYS 0x01C00000
IO_VIRT 0xe1000000
for the phys<->virtual calculations.
This led me to the phys/virtual address
mappings in the davinci specific io.c.
0x2000000 is out of range for those and so for davinci_{read|write}*().
WBR, Sergei
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source