MPC8555CDS & CCSRBAR
Clemens Koller
clemens.koller at anagramm.de
Wed Aug 10 01:53:42 EST 2005
Hi!
You might want to try that:
#include <asm/mpc85xx.h>
#include <immap_85xx.h> /* see mail archives for complete mpc8540 version */
...
void foo(void)
{
volatile ccsr_t *immap;
phys_addr_t ccsrbar;
ccsrbar=get_ccsrbar();
immap=ioremap(ccsrbar,sizeof(ccsr_t)); /* is ioremap_nochache() the same on mpc85xx? */
if (!immap) {
printk(KERN_ALERT "Failed to ioremap CCSRBAR!\n");
err = -EIO;
goto out;
}
/* examples */
printk(KERN_INFO "CCSRBAR addr %.8lx\n",ccsrbar);
printk(KERN_INFO "IMMAP addr %p\n",immap);
printk(KERN_INFO "BR0 %.8x\n",immap->im_lbc.br0);
printk(KERN_INFO "OR0 %.8x\n",immap->im_lbc.or0);
/* unmap the ccsr*/
iounmap(immap);
out:
}
I hope that's all current code.
Comments are welcome.
Greets,
Clemens Koller
_______________________________
R&D Imaging Devices
Anagramm GmbH
Rupert-Mayer-Str. 45/1
81379 Muenchen
Germany
http://www.anagramm.de
Phone: +49-89-741518-50
Fax: +49-89-741518-19
Gerhard Jaeger wrote:
> On Tuesday 09 August 2005 16:04, Eric Kampman wrote:
>
>>Trying to port an SEC driver to Linux/PPC8555. Reading
>>the default CCSRBAR @ 0xFF700000 I read 0xFFFFFFFF
>>which is wrong. Looking at Metrowerks init files and
>>uboot code (1.1.2) I see it's likely been moved to
>>0xE0000000, but I get a seg fault when I try to read
>>there.
>>
>>So, what am I doing wrong, and even better, how do I
>>at runtime find out where CCSRBAR is? Thanks in
>>advance, and please forgive the likely ignorance,
>>
>>Eric
>>
>
>
> use the get_ccsrbar() function to get the address, then ioremap()
> will be your friend ;)
>
> HTH
> Gerhard
More information about the Linuxppc-embedded
mailing list