[U-Boot] reinitialize peripherals

Fundu fundu_1999 at yahoo.com
Wed Aug 27 07:53:09 CEST 2008


> The problem is that the kernel needs to ioremap the areas
> you are

i'm calling ioremap from linux/driver/mtd/maps/physmap.c and  int __init init_physmap(void) 

> the
> information about the address ranges is the tricky part: it
> comes from
> the device tree, (unless you are building your kernel from
> arch/ppc).
> There are a lot of examples in arch/powerpc/boot/dts.
> 

forgot to mention i'm using u-boot-1.2.0 and kernel 2.4.20, and i think it doesn't use the device trees.

what's interesting is I can erase any of the first 64mb, its only while operating on the other 64mb that i get the error. And as mentioned earlier from u-boot i can easily erase the whole flash.

> Also, keep in mind that on ppc460  (I am not sure if 440gx
> is the
> same, but it might be) the addresses of  the peripherals
> driven by CSs
> have nonzero nibble in four MSBs of the 36 bit address, so
> phys_addr_t
> is 64 bits in size.

yeah that right. 
how do i figure what the four MSBs of the 36 bit address should be ?
I know from u-boot i can use CFG_FLASH_BASE. 
what should it be from kernel ?

thanks vb your response was informative.
 



      


More information about the U-Boot mailing list