> 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