chip select initialization - mbx860
Alex Zeffertt
ajz at cambridgebroadband.com
Wed Nov 12 22:46:17 EST 2003
On Tue, 2003-11-11 at 15:35, Amit.Lubovsky at infineon.com wrote:
> Hi,
> I try to set up the qspan bridge on the mbx860 board and from my
> understanding
> I have to initialize chip select 2 to an address that will be used later by
> the cpu.
> Any idea how this should be done ?
> I use kernel 2.4 from www.denx.de
> Thanks,
> Amit.
>
Amit,
Here's some example code. At the end reg is a pointer containing a
kernel virtual address, and it points at 0x100 bytes starting at
physical address PHYSADDR. You will need to choose a PHYSADDR, and
modify the OR2 and BR2 settings (these registers are covered in the
MPC860UM.)
Alex
// Get a usable virtual address corresponding to PHYSADDR
if ((result = check_mem_region(PHYSADDR,0x100))) {
printk(KERN_ERR "Error: memory already in use\n");
return result;
}
request_mem_region(PHYSADDR,0x100,__FUNCTION__);
// These are very relaxed timings - but who cares ;-|
immap->im_memctl.memc_or2 = 0xff000ff4; barrier();
immap->im_memctl.memc_br2 = PHYSADDR | 0x00000401; barrier();
if ((regs = ioremap_nocache(PHYSADDR,0x100)) == NULL) {
printk(KERN_ERR "Error: ioremap failed\n");
return -EFAULT;
}
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list