> 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.
 



      
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to